plugins/elements/gstqueue.*: Be smarter when calculating the current amount of data...
[platform/upstream/gstreamer.git] / ChangeLog
1 2007-05-10  Wim Taymans  <wim@fluendo.com>
2
3         * plugins/elements/gstqueue.c: (gst_queue_class_init),
4         (update_time_level), (gst_queue_locked_flush),
5         (gst_queue_handle_sink_event), (gst_queue_chain),
6         (gst_queue_push_one), (gst_queue_loop):
7         * plugins/elements/gstqueue.h:
8         Be smarter when calculating the current amount of data in the queue by
9         measuring the difference between start and end timestamps (in running
10         time) inside the queue. Fixes #432876.
11         API: GstQueue::pushing to notify elements that we are pushing data again
12         since the running signal is rather broken for this purpose.
13
14 2007-05-10  Stefan Kost  <ensonic@users.sf.net>
15
16         * plugins/elements/gstqueue.c (_do_init, gst_queue_signals,
17           gst_queue_base_init, gst_queue_init):
18           use GST_BOILERPLATE
19
20 2007-05-09  Sebastien Moutte  <sebastien@moutte.net>
21
22         * win32/common/libgstreamer.def:
23         Add new exported functions.
24         * win32/vs6/grammar.dsp:
25         Use grammar pre-generated files.
26
27 2007-05-09  Tim-Philipp Müller  <tim at centricular dot net>
28
29         Based on patch by: Peter Kjellerstedt  <pkj at axis com>
30
31         * gst/Makefile.am:
32         * gst/gstparse.c: (gst_parse_launchv), (gst_parse_launch):
33         * gst/gstparse.h:
34         * gst/gstutils.c: (gst_parse_bin_from_description):
35         * gst/gstutils.h:
36           Maintain API and ABI when --disable-parse is used. Now that
37           we have an appropriate error code, we can just return NULL and the
38           appropriate error when gst_parse_launch() is used despite it having
39           been disabled (#342564).
40
41         * tests/check/Makefile.am:
42         * tests/check/pipelines/.cvsignore:
43         * tests/check/pipelines/parse-disabled.c:
44           Make sure these functions exist and return NULL plus a GError when
45           --disable-parse is used.
46
47 2007-05-09  Tim-Philipp Müller  <tim at centricular dot net>
48
49         * tests/benchmarks/complexity.c: (main):
50         * tests/benchmarks/mass-elements.c: (main):
51           Set a good example and don't leak messages.
52
53 2007-05-06  Stefan Kost  <ensonic@users.sf.net>
54
55         * docs/gst/Makefile.am:
56         * docs/libs/Makefile.am:
57           Correct fixxrefs options.
58
59         * docs/plugins/Makefile.am:
60         * docs/plugins/gstreamer-plugins-docs.sgml:
61         * docs/plugins/gstreamer-plugins-sections.txt:
62         * plugins/elements/Makefile.am:
63         * plugins/elements/gstcapsfilter.c (gst_capsfilter_details):
64         * plugins/elements/gstcapsfilter.h (__GST_CAPSFILTER_H__,
65           GST_TYPE_CAPSFILTER, GST_CAPSFILTER, GST_CAPSFILTER_CLASS,
66           GST_IS_CAPSFILTER, GST_IS_CAPSFILTER_CLASS, GstCapsFilter,
67           GstCapsFilterClass, _GstCapsFilter, trans, filter_caps,
68           _GstCapsFilterClass, trans_class):
69         * plugins/elements/gstelements.c (name, rank, type, _elements):
70         * plugins/elements/gstidentity.c
71           (gst_identity_check_imperfect_timestamp,
72           gst_identity_check_imperfect_offset):
73           Document capsfilter and add doc-blurb to identity.
74
75 2007-05-04  Tim-Philipp Müller  <tim at centricular dot net>
76
77         * libs/gst/controller/gstcontroller.c:
78         (gst_controlled_property_set_interpolation_mode):
79         * libs/gst/controller/gstinterpolation.c:
80           Don't crash if someone tries to set an interpolation mode that
81           is invalid or that isn't supported yet. Fixes #422295.
82
83         * tests/check/libs/controller.c: (GST_START_TEST),
84         (gst_controller_suite):
85           Add a test case for the above.
86
87 2007-05-03  Edward Hervey  <edward@fluendo.com>
88
89         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
90         Properly set the last_stop position on GstSegment. This will only happen
91         if there is a buffer to push out.
92
93 2007-05-03  Wim Taymans  <wim@fluendo.com>
94
95         * libs/gst/base/gstbasetransform.c:
96         (gst_base_transform_buffer_alloc):
97         always_in_place does not mean that the sink and source caps are the
98         same! Make sure we don't blindly proxy the buffer_alloc in this case.
99
100 2007-05-03  Wim Taymans  <wim@fluendo.com>
101
102         * docs/libs/gstreamer-libs-sections.txt:
103         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
104         (gst_base_src_default_query), (gst_base_src_get_range):
105         * libs/gst/base/gstbasesrc.h:
106         API: gst_base_src_query_latency(). Added method so that subclasses can
107         easily get the latency values of the base source class.
108
109 2007-05-02  Zaheer Abbas Merali  <<zaheerabbas at merali dot org>>
110
111         * tools/gst-inspect.c (print_implementation_info):
112         Remove 0.8 cruft.
113
114 2007-05-02  Tim-Philipp Müller  <tim at centricular dot net>
115
116         * tools/Makefile.am:
117         * tools/gst-launch.1.in:
118           Don't create a customised man page based on the host architecture,
119           describe the default registry path generically. That way the man
120           page is the same for all architectures and packagers have one
121           multilib issue less to deal with. Fixes #434926.
122
123 2007-05-02  Wim Taymans  <wim@fluendo.com>
124
125         * gst/gstpad.c:
126         Fix documentation as spotted by rg on IRC. 
127
128 2007-04-29  Stefan Kost  <ensonic@users.sf.net>
129
130         * gst/gstutils.c:
131           Improve docs for gst_element_{link,unlink}.
132
133 2007-04-28  Tim-Philipp Müller  <tim at centricular dot net>
134
135         * docs/design/part-events.txt:
136         * docs/design/part-overview.txt:
137         * gst/gstevent.c:
138         * gst/gsturi.c:
139         * gst/gsturi.h:
140         * libs/gst/base/gstbasesink.c:
141           Typo fixes; minor docs addition.
142
143 2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>
144
145         * docs/gst/gstreamer-sections.txt:
146         * gst/gsturi.c: (get_element_factories_from_uri_protocol),
147         (gst_uri_protocol_is_supported), (gst_element_make_from_uri):
148         * gst/gsturi.h:
149         API: Add gst_uri_protocol_is_supported(), which checks if an sink
150         or src that supports a given URI protocol exists.
151
152 2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>
153
154         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
155         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
156         Set the location to NULL if "file://" is set as URI. Otherwise
157         some random previous URI would still be set if "file://" is
158         set on an already used filesink/filesrc.
159
160 2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>
161
162         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
163         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
164         Special case the "file://" URI as as this is used by some
165         applications to test with gst_element_make_from_uri if there's
166         an element that supports the URI protocol.
167         Also move the g_path_is_absolute() check for the location part
168         of the URI to also check this for "file://localhost/bla" URIs.
169
170 2007-04-26  Tim-Philipp Müller  <tim at centricular dot net>
171
172         * docs/gst/gstreamer-sections.txt:
173         * gst/gstbuffer.c: (gst_buffer_try_new_and_alloc):
174         * gst/gstbuffer.h:
175         * tests/check/gst/gstbuffer.c: (GST_START_TEST),
176         (gst_buffer_suite):
177           API: add gst_buffer_try_new_and_alloc() plus unit test (#431940).
178
179 2007-04-26  Stefan Kost  <ensonic@users.sf.net>
180
181         * gst/gstregistrybinary.c: (gst_registry_binary_write_cache),
182         (gst_registry_binary_load_pad_template),
183         (gst_registry_binary_load_plugin),
184         (gst_registry_binary_read_cache):
185         * gst/gstregistrybinary.h:
186           Implement no-mmap alternative for registry reading. Do code cleanups.
187           Add more comments about avoiding strdups for all text data. Comments
188           welcome.
189
190 2007-04-25  Stefan Kost  <ensonic@users.sf.net>
191
192         * gst/gstregistrybinary.h (GstBinaryPluginElement,
193           GstBinaryPluginFeature, _GstBinaryElementFactory, plugin_feature,
194           GstBinaryElementFactory, _GstBinaryTypeFindFactory, plugin_feature):
195           Comment structs and reformat to fix the build (that stuff should go
196           into a priv. header).
197
198 2007-04-25  Stefan Kost  <ensonic@users.sf.net>
199
200         * gst/gstregistrybinary.c: (gst_registry_binary_save_feature),
201         (gst_registry_binary_load_feature):
202         * gst/gstregistrybinary.h:
203           Refactor so that we can implement multiple features. Add support for
204           TypeFindFactory features.
205
206 2007-04-24  Stefan Kost  <ensonic@users.sf.net>
207
208         Patch by: Peter Kjellerstedt <Peter.Kjellerstedt@axis.com>
209
210         * configure.ac:
211           Fix AM_CONDITIONAL(GST_DISABLE_GST_DEBUG,...) and update comment.
212
213 2007-04-23  Stefan Kost  <ensonic@users.sf.net>
214
215         * gst/gstbin.c: (gst_bin_element_set_state),
216         (iterator_activate_fold_with_resync), (gst_bin_continue_func),
217         (bin_handle_async_done), (gst_bin_handle_message_func):
218           Fix build with --gst-disable-gst-debug
219
220 2007-04-21  Tim-Philipp Müller  <tim at centricular dot net>
221
222         * libs/gst/base/gstbasetransform.c: (gst_base_transform_activate):
223           Make sure streaming has finished before calling the ::stop() vfunc,
224           since that vfunc might clear state which is being used in the
225           streaming thread. This fixes a race that caused crashes in
226           audioresample when shutting down a pipeline (#420106).
227
228 2007-04-20  Stefan Kost  <ensonic@users.sf.net>
229
230         * docs/gst/gstreamer-sections.txt:
231           That was one byte missing.
232
233 2007-04-20  Stefan Kost  <ensonic@users.sf.net>
234
235         * configure.ac:
236         * docs/gst/gstreamer-sections.txt:
237         * gst/Makefile.am:
238         * gst/gstconfig.h.in:
239         * gst/gstobject.c: (gst_object_class_init),
240         (gst_signal_object_class_init):
241         * gst/gstobject.h:
242           2nd attempt to have a xml-less build as a joined effort of #413123
243           and #421480.
244
245 2007-04-20  Stefan Kost  <ensonic@users.sf.net>
246
247         * docs/design/draft-tagreading.txt:
248           Added open issues/thoughts to draft.
249
250 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
251
252         * gst/parse/grammar.tab.pre.c:
253         * gst/parse/grammar.tab.pre.h:
254         * gst/parse/lex._gst_parse_yy.pre.c:
255         Update the prebuild parser sources.
256
257 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
258
259         * gst/parse/Makefile.am:
260         And now fix the building of the flex sources. Now everything should
261         work as expected.
262
263 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
264
265         * gst/parse/Makefile.am:
266         Now hopefully fix the build failures by setting proper rule
267         dependencies and moving instead of copying.
268
269 2007-04-19  Stefan Kost  <ensonic@users.sf.net>
270
271         * tests/benchmarks/complexity.gnuplot:
272         * tests/benchmarks/complexity.scm:
273         * tests/benchmarks/mass-elements.gnuplot:
274         * tests/benchmarks/mass-elements.scm:
275           Total licensification.
276
277 2007-04-19  Stefan Kost  <ensonic@users.sf.net>
278
279         * gst/parse/Makefile.am:
280           Fix the build by correcting the rule that gave wrong files to flex.
281
282 2007-04-19  Stefan Kost  <ensonic@users.sf.net>
283
284         * tests/benchmarks/complexity.c:
285         * tests/benchmarks/mass-elements.c:
286           Change licence to LGPL as granted by Benjamin and Andy.
287
288 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
289
290         * gst/parse/Makefile.am:
291         Add correct grammar.tab.h dependency if compiling without new enough
292         flex. Fixes #431150.
293
294 2007-04-18  Sebastian Dröge  <slomo@circular-chaos.org>
295
296         * gst/parse/Makefile.am:
297         Fix typo and use outdated sources if the flex/bison sources are newer
298         than the pregenerated ones but flex is too old. Print a warning in
299         that case. This should fix the build on the build bot.
300
301 2007-04-18  Sebastian Dröge  <slomo@circular-chaos.org>
302
303         Patch by: Marc-Andre Lureau <marcandre dot lureau at gmail dot com>
304         * gst/parse/Makefile.am:
305         * gst/parse/grammar.y:
306         * gst/parse/parse.l:
307         Make the parser reentrant and recursively callable. This requires flex
308         >= 2.5.31, for older versions pregenerated sources are used as we
309         can't bump the build dependency. Finally fixes #349180.
310
311         * gst/gstparse.c: (gst_parse_launch):
312         Drop the HAVE_MT_SAVE_FLEX #ifdefs as we always use a new enough flex
313         now anyway.
314
315         * docs/gst/Makefile.am:
316         * docs/gst/Makefile.am:
317         * gst/parse/grammar.tab.pre.c: (__gst_parse_strdup),
318         (__gst_parse_strfree), (__gst_parse_link_new),
319         (__gst_parse_link_free), (__gst_parse_chain_new),
320         (__gst_parse_chain_free), (SET_ERROR), (YYPRINTF),
321         (gst_parse_element_set), (gst_parse_free_link),
322         (gst_parse_found_pad), (gst_parse_perform_delayed_link),
323         (gst_parse_perform_link), (yytnamerr), (yysyntax_error), (yyerror),
324         (_gst_parse_launch):
325         * gst/parse/grammar.tab.pre.h:
326         * gst/parse/lex._gst_parse_yy.pre.c: (PRINT), (yy_get_next_buffer),
327         (yy_get_previous_state), (yy_try_NUL_trans), (input),
328         (_gst_parse_yyrestart), (_gst_parse_yy_switch_to_buffer),
329         (_gst_parse_yy_load_buffer_state), (_gst_parse_yy_create_buffer),
330         (_gst_parse_yy_delete_buffer), (_gst_parse_yy_init_buffer),
331         (_gst_parse_yy_flush_buffer), (_gst_parse_yypush_buffer_state),
332         (_gst_parse_yypop_buffer_state),
333         (_gst_parse_yyensure_buffer_stack), (_gst_parse_yy_scan_buffer),
334         (_gst_parse_yy_scan_string), (_gst_parse_yy_scan_bytes),
335         (yy_fatal_error), (_gst_parse_yyget_extra),
336         (_gst_parse_yyget_lineno), (_gst_parse_yyget_column),
337         (_gst_parse_yyget_in), (_gst_parse_yyget_out),
338         (_gst_parse_yyget_leng), (_gst_parse_yyget_text),
339         (_gst_parse_yyset_extra), (_gst_parse_yyset_lineno),
340         (_gst_parse_yyset_column), (_gst_parse_yyset_in),
341         (_gst_parse_yyset_out), (_gst_parse_yyget_debug),
342         (_gst_parse_yyset_debug), (_gst_parse_yyget_lval),
343         (_gst_parse_yyset_lval), (_gst_parse_yylex_init),
344         (yy_init_globals), (_gst_parse_yylex_destroy), (yy_flex_strncpy),
345         (yy_flex_strlen), (_gst_parse_yyalloc), (_gst_parse_yyrealloc),
346         (_gst_parse_yyfree):
347         If the installed flex version is too old use pre-generated parser
348         sources. These pre-generated parser sources are always updated when
349         the actual flex/bison sources change but require everybody who wants
350         to change something in the parser to have flex >= 2.5.31 installed.
351
352 2007-04-18  Stefan Kost  <ensonic@users.sf.net>
353
354         * common/m4/gst-gettext.m4:
355         * gst/gst-i18n-lib.h:
356           Make --disable-nls to work
357
358 2007-04-17  Wim Taymans  <wim@fluendo.com>
359
360         * gst/gstconfig.h.in:
361         Revert previous change that broke the build.
362
363 2007-04-17  Stefan Kost  <ensonic@users.sf.net>
364
365         * configure.ac:
366         * gst/Makefile.am:
367         * gst/gstconfig.h.in:
368           Drop libxml2 dependency when building with 
369           --enable-binary-registry --disable-loadsave
370
371 2007-04-16  Tim-Philipp Müller  <tim at centricular dot net>
372
373         * gst/gstregistrybinary.c: (gst_registry_binary_write_cache),
374         (gst_registry_binary_read_cache):
375         * gst/gstregistrybinary.h:
376           Remove unnecessary <sys/mman.h> include which broke the win32 build
377           with MingW; move includes from header file to .c file, even if the
378           header file isn't installed; use g_strerror() where UTF-8 strings
379           are expected, such as in GST_DEBUG messages.
380
381 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
382
383         * docs/libs/gstreamer-libs-sections.txt:
384         Remove bogus addition for API I didn't end up keeping.
385
386         * libs/gst/base/gstbasesrc.h:
387         Mention Since: 0.10.13 in the documentation.
388
389         Add the API keyword to the previous ChangeLog entry.
390
391 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
392
393         * docs/libs/gstreamer-libs-sections.txt:
394         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
395         (gst_base_src_default_prepare_seek_segment),
396         (gst_base_src_prepare_seek_segment), (gst_base_src_perform_seek):
397         * libs/gst/base/gstbasesrc.h:
398         Allow basesrc derived classes to execute seeks in other formats
399         by providing a prepare_seek_segment vmethod. Sub-classes can choose
400         to prepare the GstSegment in any format that their perform_seek method
401         will be able to understand. The default implementation provides the
402         old behaviour of attempting to convert the seek offsets to the 
403         configured native format.
404
405         API: basesrc::prepare_seek_segment vmethod.
406
407 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
408
409         * gst/gstelement.c: (gst_element_get_state_func):
410         Don't output the same debug statement twice.
411
412         * libs/gst/base/gstadapter.c: (gst_adapter_try_to_merge_up),
413         (gst_adapter_peek), (gst_adapter_take_buffer):
414         Optimise the case where we have buffers at the head of the queue that
415         can be joined quickly (because they're contiguous sub-buffers) by
416         merging them together rather than copying data out into new memory.
417
418         * gst/parse/grammar.y:
419         * tests/check/pipelines/parse-launch.c:
420         Fix a leak in an error path for parse_launch, and add a check 
421         for it to the testsuite.
422
423 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
424
425         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_release_pad):
426           Don't deadlock when releasing a pad - gst_pad_set_active may try
427           and take the multiqueue lock too.
428
429 2007-04-12  Tim-Philipp Müller  <tim at centricular dot net>
430
431         * gst/gsterror.c: (_gst_core_errors_init):
432         * gst/gsterror.h:
433           API: add GST_CORE_ERROR_DISABLED (#392804).
434
435 2007-04-12  Thomas Vander Stichele  <thomas at apestaart dot org>
436
437         * docs/faq/gst-uninstalled:
438           don't get empty paths on the PATH variables
439         * gst/gstpad.c (gst_pad_is_active, gst_pad_set_blocked_async):
440           Don't format for the uncommon terminal width of 84 characters.
441
442 2007-04-06  Wim Taymans  <wim@fluendo.com>
443
444         * gst/gstpipeline.c: (reset_stream_time),
445         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time):
446         Only try to select a different pipeline clock when we went back to
447         PAUSED and not when we merely got flushed.
448
449 2007-04-05  Michael Smith  <msmith@fluendo.com>
450
451         * tools/gst-launch.1.in:
452           fractions are better supported in gstreamer than ractions, so
453           suggest using those.
454
455 2007-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
456
457         Submitted by: Mogens Jaeger <mogens@jaeger.tf>
458
459         * po/LINGUAS:
460         * po/da.po:
461           Added Danish translation.
462
463 2007-04-05  Wim Taymans  <wim@fluendo.com>
464
465         * libs/gst/base/gstbasesink.c:
466         (gst_base_sink_queue_object_unlocked), (gst_base_sink_event):
467         Fix leak caused when refusing newsegment after EOS.
468
469         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
470         (gst_fake_sink_init), (gst_fake_sink_set_property),
471         (gst_fake_sink_get_property), (gst_fake_sink_preroll),
472         (gst_fake_sink_render), (gst_fake_sink_change_state):
473         * plugins/elements/gstfakesink.h:
474         Add num-buffers property to make the element generate EOS after a
475         configurable amount of buffers.
476         API: fakesink::num-buffers property.
477
478         * tests/check/elements/fakesink.c: (GST_START_TEST),
479         (fakesink_suite):
480         Fix GstBus leak in test.
481         Test for fakesink num-buffers.
482
483 2007-04-05  Wim Taymans  <wim@fluendo.com>
484
485         * libs/gst/base/gstbasesink.c:
486         (gst_base_sink_queue_object_unlocked), (gst_base_sink_event),
487         (gst_base_sink_change_state):
488         Don't accept anything after an EOS, return UNEXPECTED instead.
489
490         * tests/check/elements/fakesink.c: (GST_START_TEST),
491         (fakesink_suite):
492         Unit test for new EOS behaviour.
493
494 2007-04-05  Wim Taymans  <wim@fluendo.com>
495
496         * gst/gstelement.c: (gst_element_get_request_pad):
497         Make padtemplates also work when they don't contain %s or %d.
498
499 2007-04-05  Wim Taymans  <wim@fluendo.com>
500
501         * docs/gst/gstreamer-sections.txt:
502         * gst/gstclock.c: (gst_clock_adjust_unlocked),
503         (gst_clock_unadjust_unlocked), (gst_clock_set_calibration):
504         * gst/gstclock.h:
505         Improve _adjust_unlocked() so that it overflows less.
506         Add gst_clock_unadjust_unlocked to convert from external time to
507         internal time based on calibration.
508         Add some more debug.
509         API: GstClock::gst_clock_unadjust_unlocked()
510
511 2007-04-03  Wim Taymans  <wim@fluendo.com>
512
513         Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
514
515         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_release_pad):
516         Deactivate pads and free GstSingleQueue with gst_single_queue_free()
517         when releasing sink pad. Fixes #425400.
518
519 2007-04-02  Stefan Kost  <ensonic@users.sf.net>
520
521         * docs/random/ensonic/dynlink.txt:
522           More work on proposal for new core api.
523
524         * docs/libs/gstreamer-libs-sections.txt:
525         * libs/gst/base/gstbasetransform.h:
526           API: GST_BASE_TRANSFORM_LOCK/UNLOCK added
527           
528         * libs/gst/controller/gstcontroller.c:
529         (on_object_controlled_property_changed),
530         (gst_controller_sync_values),
531         (gst_controller_set_interpolation_mode):
532         * libs/gst/controller/gstcontroller.h:
533           Less verbose logging add docs for unimplemented parts and correctly
534           return when using unavailable parts.
535
536 2007-03-29  Jan Schmidt  <thaytan@mad.scientist.com>
537
538         * gst/gstclock.c: (gst_clock_set_master), (do_linear_regression):
539         Move all the debug to the CLOCK category, and associate it with
540         the clock object.
541
542 2007-03-29  Jan Schmidt  <thaytan@mad.scientist.com>
543
544         * libs/gst/base/gstadapter.c: (gst_adapter_take_buffer):
545         Make take_buffer a bit quicker by removing redundant checks
546         caused by calling gst_adapter_take.
547
548 2007-03-28  Tim-Philipp Müller  <tim at centricular dot net>
549
550         * plugins/elements/gstmultiqueue.c: (gst_single_queue_free):
551           Don't leak GCond.
552
553         * tests/check/Makefile.am:
554         * tests/check/elements/.cvsignore:
555         * tests/check/elements/multiqueue.c: (setup_multiqueue),
556         (GST_START_TEST), (multiqueue_suite):
557           Add some dead simple unit tests for the 'multiqueue' element
558           (some bits don't work yet and are disabled for now).
559
560 2007-03-28  Tim-Philipp Müller  <tim at centricular dot net>
561
562         * gst/gstelement.c: (gst_element_get_request_pad),
563         (gst_element_class_get_request_pad_template):
564           Make gst_element_get_request_pad() create request pads only for
565           request pad templates and not for, say, sometimes pad templates.
566
567 2007-03-28  Stefan Kost  <ensonic@users.sf.net>
568
569         * docs/design/draft-klass.txt:
570           Add example that needs more thinking.
571         
572         * docs/design/draft-missing-plugins.txt:
573           More thoughts about wrapper plugins.
574         
575         * docs/random/ensonic/embedded.txt:
576         * docs/random/ensonic/profiling.txt:
577           More design work.
578
579 2007-03-25  Wim Taymans  <wim@fluendo.com>
580
581         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range),
582         (gst_base_src_loop):
583         Only push the segment events in the PLAYING state for live sources.
584
585 2007-03-23  Jan Schmidt  <thaytan@mad.scientist.com>
586
587         * gst/gstpipeline.c: (gst_pipeline_change_state):
588         Modify the clock distribution path in PAUSED->PLAYING so that we 
589         never attempt to choose a new clock unless we're actually leaving
590         the PAUSED state for the first time. This prevents choosing a
591         different clock when the state_change gets called for a 2nd time due
592         to some element doing an async state change.
593
594 2007-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
595
596         * gst/gstpad.c: (gst_pad_set_caps), (gst_pad_configure_sink),
597         (gst_pad_configure_src), (gst_pad_alloc_buffer_full),
598         (gst_pad_chain_unchecked), (gst_pad_push):
599         Revert last commit. This needs some more thoughts.
600
601 2007-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
602
603         * gst/gstpad.c: (gst_pad_set_caps), (gst_pad_alloc_buffer_full),
604         (gst_pad_chain_unchecked), (gst_pad_push):
605         Check in set_caps if the caps are compatible with the pad and remove
606         two functions that are redundant now. Fixes #421543.
607
608 2007-03-22  Wim Taymans  <wim@fluendo.com>
609
610         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
611         (mixed_thread), (mixed_async_cb), (gst_systemclock_suite):
612         Unref some more to make valgrind happy.
613
614 2007-03-22  Wim Taymans  <wim@fluendo.com>
615
616         * gst/gstsystemclock.c: (gst_system_clock_id_wait_jitter_unlocked),
617         (gst_system_clock_id_wait_jitter),
618         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
619         Fix anoying regression that survived a few releases. When adding an
620         async entry while blocking on a sync entry, the sync entry will unblock
621         but still be busy, so it should continue to wait instead of returning
622         _BUSY to the app.
623         Add some comments here and there.
624
625         * tests/check/gst/gstsystemclock.c: (mixed_thread),
626         (mixed_async_cb), (GST_START_TEST), (gst_systemclock_suite):
627         Add testcase for this.
628
629 2007-03-22  Wim Taymans  <wim@fluendo.com>
630
631         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
632         Handle errors from the clock sync better, only UNSCHEDULED indicates a
633         WRONG_STATE and can silently pause the task. All other cases should
634         error out.
635
636 2007-03-22  Wim Taymans  <wim@fluendo.com>
637
638         Patch by: <syrjala at sci dot fi>
639
640         * gst/gstpad.c: (gst_pad_alloc_buffer_full), (gst_pad_send_event):
641         Fix possible deadlock if pad eventfunc is not specified.  Fixes #421177.
642         Improve debugging.
643
644 2007-03-21  Michael Smith  <msmith@fluendo.com>
645
646         * docs/pwg/advanced-types.xml:
647           Fix some errors in the typefinding docs pointed out on irc.
648
649 2007-03-21  Jan Schmidt  <thaytan@mad.scientist.com>
650
651         * libs/gst/base/gstbasesrc.c:
652         Clarify FIXME comment in the face of having added unlock_stop()
653
654 2007-03-21  Wim Taymans  <wim@fluendo.com>
655
656         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_element_set_state):
657         Prepare for release where we warn against possible app breakage in the
658         case of live pipelines along with an env var to enable/disable live
659         preroll mode (GST_COMPAT=[no-]live-preroll).
660
661 2007-03-20  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
662
663         * plugins/elements/gstidentity.c (gst_identity_check_imperfect_offset):
664         So we should use correct constants for checking for None offset.
665
666 2007-03-20  Wim Taymans  <wim@fluendo.com>
667
668         * docs/design/part-block.txt:
669         Mention the fact that the newly switched element should be set to at
670         least PAUSED.
671
672 2007-03-20  Wim Taymans  <wim@fluendo.com>
673
674         * gst/gst.c:
675         Fix compilation with registry disabled as spotted by Saur.
676
677 2007-03-20  Wim Taymans  <wim@fluendo.com>
678
679         Patch by: Olivier Crete <tester at tester dot ca>
680
681         * gst/gstelement.c: (gst_element_sync_state_with_parent):
682         Look at the pending state too when syncing the element state to the
683         parent. Fixes #420133.
684
685 2007-03-19  Jan Schmidt  <thaytan@mad.scientist.com>
686
687         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
688         (gst_base_sink_change_state):
689         * libs/gst/base/gstbasesink.h:
690         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
691         (gst_base_src_default_event), (gst_base_src_unlock_stop),
692         (gst_base_src_deactivate):
693         * libs/gst/base/gstbasesrc.h:
694         Add ::unlock_stop to basesrc and basesink. This allows an opportunity
695         for sub-classes to correctly clear any state they set trying to
696         unlock, such as clearing out unlock commands from a command fd.
697
698         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init),
699         (gst_fd_sink_render), (gst_fd_sink_unlock),
700         (gst_fd_sink_unlock_stop):
701         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init),
702         (gst_fd_src_init), (gst_fd_src_unlock), (gst_fd_src_unlock_stop),
703         (gst_fd_src_create), (gst_fd_src_get_size), (gst_fd_src_do_seek):
704
705         Implement unlock_stop in fdsrc and fdsink.
706         Implement seeking in fdsrc when a seekable fd is passed, as in
707         gst-launch-0.10 fdsrc ! ... ! xvimagesink < /path/to/file
708
709 2007-03-19  Wim Taymans  <wim@fluendo.com>
710
711         Patch by: Evan Nemerson <evan at coeus dash group dot com>
712
713         * gst/gstelement.c: (gst_element_class_init):
714         Fix pad-added and pad-removed signal signatures so that the pad type is
715         stated as GST_TYPE_PAD instead of G_TYPE_OBJECT. Fixes #419851.
716
717 2007-03-19  Wim Taymans  <wim@fluendo.com>
718
719         * docs/gst/gstreamer-sections.txt:
720         Add new element field and method.
721
722         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
723         (bin_remove_messages), (gst_bin_add_func), (gst_bin_remove_func),
724         (gst_bin_recalc_state), (gst_bin_get_state_func),
725         (gst_bin_element_set_state), (gst_bin_change_state_func),
726         (gst_bin_continue_func), (bin_bus_handler),
727         (bin_push_state_continue), (bin_handle_async_start),
728         (bin_handle_async_done), (gst_bin_handle_message_func):
729         Make async state changes a bit smarter by using new ASYNC_START and
730         ASYNC_DONE messages. This reduces the number of times we run the state
731         recalculation thread.
732         Don't change state of element with a pending ASYNC_START message.
733         Deprecate STATE_DIRTY messages.
734         
735         * gst/gstelement.c: (gst_element_init), (gst_element_send_event),
736         (gst_element_get_state_func), (gst_element_continue_state),
737         (gst_element_lost_state), (gst_element_set_state_func),
738         (gst_element_change_state):
739         * gst/gstelement.h:
740         Keep the state that was last set by the app in a new element field.
741         Don't allow state changes when handling an element event.
742         Post ASYNC_START and ASYNC_DONE messages.
743         Change lost_state so that we go to PAUSED and wait for the parent to set
744         us to PLAYING again (so latency calculation can be performed)
745         Export gst_element_change_state() method so that subclasses can use it.
746         API: gst_element_change_state()
747         API: GST_STATE_TARGET
748
749         * gst/gstpipeline.c: (gst_pipeline_class_init),
750         (reset_stream_time), (gst_pipeline_change_state),
751         (gst_pipeline_handle_message), (gst_pipeline_set_new_stream_time):
752         Using the new ASYNC_START message we can reset the base_time when
753         needed. This can then be used to implement base_time redistribution in
754         flushing seeks so that we can remove the explicit seek handling.
755         Perform latency query and configuration when going to PLAYING.
756
757         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
758         (gst_base_sink_query), (gst_base_sink_change_state):
759         Post new ASYNC_START/ASYNC_DONE messages.
760
761         * tests/check/generic/sinks.c: (GST_START_TEST):
762         Fix test because the bin will not set the async element to PLAYING right
763         away.
764
765         * tests/check/gst/gstbin.c: (pop_async_done), (GST_START_TEST):
766         Make the message check a little stronger.
767         Handle ASYNC messages.
768
769         * tests/check/pipelines/cleanup.c: (GST_START_TEST):
770         * tests/check/pipelines/simple-launch-lines.c: (GST_START_TEST):
771         Expect ASYNC_DONE messages.
772
773 2007-03-19  Wim Taymans  <wim@fluendo.com>
774
775         * docs/gst/gstreamer-sections.txt:
776         * gst/gstmessage.c: (gst_message_new_async_start),
777         (gst_message_new_async_done), (gst_message_parse_info),
778         (gst_message_parse_async_start):
779         * gst/gstmessage.h:
780         Add ASYNC_START and ASYNC_DONE messages to prepare for latency
781         support.
782
783 2007-03-15  Tim-Philipp Müller  <tim at centricular dot net>
784
785         * tools/gst-inspect.c:
786         (print_plugin_automatic_install_info_codecs):
787           Now that we don't check for the 'Codec' keyword any longer in the
788           klass, we shouldn't spew a warning if the klass isn't a decoder or
789           encoder (since it might be a Source/Network, for example).
790
791 2007-03-14  Tim-Philipp Müller  <tim at centricular dot net>
792
793         * tools/gst-inspect.c:
794         (print_plugin_automatic_install_info_codecs):
795           Don't require decoder/demuxer/depayloader elements or
796           encoder/muxer/paylader elements to have 'Codec' as part of their
797           factory class string when introspecting a plugin's capabilities.
798           draft-klass.txt mentions that it might be removed in future, and
799           flump3dec doesn't have it as part of its class string, so chances
800           are others might also not have it.
801
802 2007-03-14  Thomas Vander Stichele  <thomas at apestaart dot org>
803
804         * po/af.po:
805         * po/az.po:
806         * po/bg.po:
807         * po/ca.po:
808         * po/cs.po:
809         * po/de.po:
810         * po/en_GB.po:
811         * po/fr.po:
812         * po/it.po:
813         * po/nb.po:
814         * po/nl.po:
815         * po/ru.po:
816         * po/sq.po:
817         * po/sr.po:
818         * po/sv.po:
819         * po/tr.po:
820         * po/uk.po:
821         * po/vi.po:
822         * po/zh_CN.po:
823         * po/zh_TW.po:
824           Update translations from translation project
825
826 2007-03-14  Stefan Kost  <ensonic@users.sf.net>
827
828         * gst/gstchildproxy.c: (gst_child_proxy_get_property),
829         (gst_child_proxy_set_property):
830           Invert precondition check to be alike the ones in the mimiced gobject
831           api.
832
833 2007-03-13  Stefan Kost  <ensonic@users.sf.net>
834
835         * docs/design/draft-tagreading.txt:
836         * docs/random/ensonic/audiobaseclasses.txt:
837           Do some Architect work.
838
839         * gst/gstobject.c: (gst_object_set_name):
840           Add a WARNING.
841
842         * gst/gstpad.c:
843           Add docs that point from gst_pad_get_range to gst_pad_pull_range
844
845 2007-03-12  Jan Schmidt  <thaytan@mad.scientist.com>
846
847         * gst/gstsystemclock.c: (gst_system_clock_init),
848         (gst_system_clock_start_async), (gst_system_clock_id_wait_async):
849         Defer starting the async system clock thread until the first async
850         wait is scheduled. Fixes #414986.
851
852 2007-03-12  Tim-Philipp Müller  <tim at centricular dot net>
853
854         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_finalize),
855         (gst_single_queue_free):
856           Fix small leak (free GstSingleQueue structure too, not only contents).
857
858 2007-03-10  Sebastien Moutte  <sebastien@moutte.net>
859
860         * gst/gstbin.c:(gst_bin_add):
861         Use GST_STR_NULL to prevent NULL pointer to be passed to GST_CAT_DEBUG.
862         * win32/common/libgstbase.def:
863         * win32/common/libgstreamer.def:
864         Add new exported functions.
865
866 2007-03-09  Wim Taymans  <wim@fluendo.com>
867
868         * docs/plugins/gstreamer-plugins-sections.txt:
869         Fix GstTee docs.
870
871 2007-03-09  Wim Taymans  <wim@fluendo.com>
872
873         * docs/gst/gstreamer-sections.txt:
874         * gst/gstbuffer.c: (gst_buffer_copy_metadata), (_gst_buffer_copy):
875         * gst/gstbuffer.h:
876         Add metadata copy functions. Fixes #393099.
877
878         * gst/gstutils.c: (gst_buffer_stamp):
879         * libs/gst/base/gstbasetransform.c:
880         (gst_base_transform_prepare_output_buffer):
881         Use new metadata copy functions.
882
883 2007-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
884
885         * plugins/elements/gstidentity.c: (gst_identity_class_init),
886         (gst_identity_init), (gst_identity_check_perfect),
887         (gst_identity_check_imperfect_timestamp),
888         (gst_identity_check_imperfect_offset), (gst_identity_transform_ip),
889         (gst_identity_set_property), (gst_identity_get_property):
890         * plugins/elements/gstidentity.h:
891         Separate out check-imperfect-timestamp and check-imperfect-offset.
892         Put back check-perfect as it was to keep compatibility.
893
894 2007-03-09  Jan Schmidt  <thaytan@mad.scientist.com>
895
896         * gst/gstelement.c: (gst_element_dispose):
897         There's no need to warn if VOID_PENDING is not NONE here, as
898         long as the state is NULL it's ok, and that's checked immediately
899         above.
900
901 2007-03-08  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
902
903         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
904         Fix check for perfect stream to ignore buffers with -1 
905         offsets/offset ends when checking data contiguity.
906
907 2007-03-08  Wim Taymans  <wim@fluendo.com>
908
909         * tools/gst-launch.c: (event_loop):
910         Print INFO messages.
911
912 2007-03-08  Wim Taymans  <wim@fluendo.com>
913
914         * libs/gst/base/gstbasetransform.c:
915         (gst_base_transform_sink_eventfunc),
916         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
917         (gst_base_transform_activate):
918         * libs/gst/base/gstbasetransform.h:
919         Add support for dropping buffers with custom GstFlowReturn.
920         Set DISCONT flags on outgoing buffers based on QoS, incomming DISCONT
921         buffers or dropped buffers.
922
923         * docs/libs/gstreamer-libs-sections.txt:
924         docs for new custom return code.
925
926         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
927         Use drop support in base class to implement drop-probability.
928
929 2007-03-07  Tim-Philipp Müller  <tim at centricular dot net>
930
931         * gst/gst.c: (load_plugin_func):
932         * gst/gstplugin.c: (gst_plugin_load_by_name), (gst_plugin_load):
933         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
934         * gst/gsttrace.c: (gst_trace_new), (gst_alloc_trace_set_flags_all):
935           Remove newlines at end of debug log strings.
936
937 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
938
939         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
940         Only post bus message at max, once per buffer received.
941
942 2007-03-07  Wim Taymans  <wim@fluendo.com>
943
944         * docs/design/Makefile.am:
945         * docs/design/part-synchronisation.txt:
946         Add doc about synchronisation
947
948         * docs/design/draft-latency.txt:
949         * docs/design/part-TODO.txt:
950         * docs/design/part-clocks.txt:
951         * docs/design/part-events.txt:
952         * docs/design/part-gstbus.txt:
953         * docs/design/part-gstpipeline.txt:
954         * docs/design/part-live-source.txt:
955         * docs/design/part-messages.txt:
956         * docs/design/part-overview.txt:
957         * docs/design/part-streams.txt:
958         * docs/design/part-trickmodes.txt:
959         Documentation updates.
960
961 2007-03-07  Jan Schmidt  <thaytan@mad.scientist.com>
962
963         * gstreamer.doap:
964         Update the doap file.
965
966 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
967
968         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
969         Rename non-perfect to imperfect for Mike and for the sanctity of the
970         language.
971         Also make sure bus message gets emitted for data-incontiguities.
972
973 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
974
975         * plugins/elements/gstidentity.c: (gst_identity_check_perfect),
976         (gst_identity_start):
977         * plugins/elements/gstidentity.h:
978         Emit bus message if check-perfect is true and we encounter a
979         non-perfect stream between 2 consecutive buffers.
980         Fixes #415394.
981
982 2007-03-07  Jan Schmidt  <thaytan@mad.scientist.com>
983
984         * configure.ac:
985         Back to CVS
986
987 === release 0.10.12 ===
988
989 2007-03-07  Jan Schmidt <thaytan@mad.scientist.com>
990
991         * configure.ac:
992           releasing 0.10.12, "Inevitable Demise"
993
994 2007-03-01  Jan Schmidt  <thaytan@mad.scientist.com>
995
996         * configure.ac:
997          Version 0.10.11.2 (0.10.12 pre-release)
998          Bump libtool versioning.
999
1000 2007-03-01  Stefan Kost  <ensonic@users.sf.net>
1001
1002         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
1003           Log flow-names and not numbers.
1004
1005 2007-02-28  Thomas Vander Stichele  <thomas at apestaart dot org>
1006
1007         * configure.ac:
1008           Convert to new AG_GST style.
1009
1010 2007-02-28  Wim Taymans  <wim@fluendo.com>
1011
1012         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency):
1013         Don't unref query twice.
1014
1015 2007-02-28  Wim Taymans  <wim@fluendo.com>
1016
1017         * gst/gstvalue.c: (gst_value_transform_object_string),
1018         (_gst_value_initialize):
1019         Implement GstObject -> string transform so we print object names
1020         when serializing GValues containing GstObjects.
1021
1022 2007-02-28  Wim Taymans  <wim@fluendo.com>
1023
1024         * docs/gst/gstreamer-sections.txt:
1025         Add new stuff to docs.
1026
1027 2007-02-28  Wim Taymans  <wim@fluendo.com>
1028
1029         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
1030         (gst_base_sink_queue_object_unlocked), (gst_base_sink_send_event),
1031         (gst_base_sink_change_state):
1032         Improve latency query code.
1033         Don't leak latency events.
1034
1035         * tests/check/gst/gstbin.c: (GST_START_TEST):
1036         Improve debugging.
1037
1038 2007-02-28  Wim Taymans  <wim@fluendo.com>
1039
1040         * gst/gstelement.c: (gst_element_message_full),
1041         (gst_element_get_state_func):
1042         * gst/gstelement.h:
1043         Improve docs a little. Added Since: for new macro.
1044
1045         * gst/gstobject.c: (gst_object_sink):
1046         * gst/gstpipeline.c: (gst_pipeline_change_state),
1047         (gst_pipeline_set_new_stream_time):
1048         * gst/gstpipeline.h:
1049         Improve debugging and docs.
1050
1051         * gst/gstutils.c: (gst_element_state_change_return_get_name):
1052         Improve debugging.
1053
1054 2007-02-28  Wim Taymans  <wim@fluendo.com>
1055
1056         * gst/gstelement.c: (gst_element_message_full),
1057         (gst_element_set_locked_state), (gst_element_get_state_func),
1058         (gst_element_change_state):
1059         Handle INFO messages from the GST_ELEMENT_INFO macro as well.
1060         Documentation updates.
1061         Small code cleanups.
1062
1063         * gst/gstmessage.c: (gst_message_new_info),
1064         (gst_message_parse_info):
1065         * gst/gstmessage.h:
1066         API: gst_message_new_info()
1067         API: gst_message_parse_info()
1068         Add INFO message create and parse code.
1069
1070 2007-02-28  Wim Taymans  <wim@fluendo.com>
1071
1072         * gst/gstbin.c: (bin_query_min_max_init), (bin_query_latency_fold),
1073         (bin_query_latency_done):
1074         Also report the live parameter of a latency query.
1075
1076 2007-02-28  Thomas Vander Stichele  <thomas at apestaart dot org>
1077
1078         * tests/check/generic/states.c: (GST_START_TEST), (states_suite):
1079           Copy the current generic/states example from -base and adapt so
1080           we can use the exact same code everywhere.
1081           Check a STATES_IGNORE_ELEMENTS env var which can be used
1082           to ignore certain element factories for this test, which is
1083           what is being done in -base
1084         * tests/check/Makefile.am:
1085           Mention this environment variable.
1086
1087 2007-02-27  Wim Taymans  <wim@fluendo.com>
1088
1089         * docs/gst/gstreamer-sections.txt:
1090         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
1091         (gst_bus_timed_pop), (gst_bus_pop):
1092         * gst/gstbus.h:
1093         API: gst_bus_timed_pop()
1094         Implement gst_bus_timed_pop() to do a blocking timed wait for a
1095         message to arrive on the bus.
1096
1097         * tests/check/gst/gstbus.c: (GST_START_TEST), (pop_thread),
1098         (gst_bus_suite):
1099         Two unit tests for new _timed_pop() function.
1100
1101 2007-02-23  Wim Taymans  <wim@fluendo.com>
1102
1103         * gst/gstpipeline.c: (gst_pipeline_change_state),
1104         (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay):
1105         Don't ref a NULL clock in _provide_clock_func().
1106         Don't allow an INVALID delay.
1107         Don't try to calculate base_time with an invalid start_time.
1108         Also distribute and notify a NULL clock when it was selected.
1109
1110         * tools/gst-launch.c: (event_loop):
1111         Don't crash when a NULL clock was selected in the pipeline.
1112
1113 2007-02-23  Tim-Philipp Müller  <tim at centricular dot net>
1114
1115         * docs/design/Makefile.am:
1116         * docs/design/draft-missing-plugins.txt:
1117         * docs/random/draft-missing-plugins.txt:
1118           Some small updates: update plugin system identifier prefix
1119           ('gstreamer.net' to 'gstreamer'), mention our new install
1120           API in libgstbaseutils rather than libgimme-codec, add
1121           reference to the online docs.
1122
1123 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
1124
1125         * win32/common/config.h:
1126           Pretty sure Bill never made a powerpc version.  Powerpc hackers,
1127           use moap cl ci to only check in what is mentioned in the ChangeLog.
1128
1129 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
1130
1131         * docs/gst/gstreamer-sections.txt:
1132         * gst/gstelement.h:
1133           Fix up documentation to link to the correct GstGError section.
1134           Add GST_ELEMENT_INFO macro since someone else added a Info message.
1135
1136 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
1137
1138         * tools/gst-launch.c: (event_loop):
1139           Make sure that we actually show the important message part of a
1140           warning message.
1141           No need to check if the gerror is not NULL to free; first of all
1142           g_free accepts NULL; and second the default error handler would
1143           segfault if gerror was NULL.
1144
1145 2007-02-21  Wim Taymans  <wim@fluendo.com>
1146
1147         * docs/gst/gstreamer-sections.txt:
1148         Removed docs as well.
1149
1150 2007-02-21  Wim Taymans  <wim@fluendo.com>
1151
1152         * gst/gstmessage.c: (gst_message_parse_duration):
1153         * gst/gstmessage.h:
1154         Remove new messages for release.
1155
1156 2007-02-20  Wim Taymans  <wim@fluendo.com>
1157
1158         * docs/design/part-gstghostpad.txt:
1159         * gst/gstghostpad.c: (gst_ghost_pad_dispose),
1160         (gst_ghost_pad_new_full):
1161         Make the ghostpad a parent of the internal pad again for better backward
1162         compatibility. Don't write code that relies on this however.
1163
1164         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
1165         (gst_pad_link_check_hierarchy):
1166         Require that parents should be GstElements in the hierarchy check.
1167
1168 2007-02-20  Wim Taymans  <wim@fluendo.com>
1169
1170         * gst/gstbin.c: (bin_replace_message), (gst_bin_add_func),
1171         (gst_bin_change_state_func), (bin_query_min_max_init),
1172         (bin_query_latency_fold), (bin_query_latency_done),
1173         (gst_bin_query):
1174         Improve debug info.
1175         Implement latency query.
1176
1177 2007-02-20  Wim Taymans  <wim@fluendo.com>
1178
1179         * docs/design/part-gstghostpad.txt:
1180         * gst/gstghostpad.c: (gst_ghost_pad_class_init),
1181         (gst_ghost_pad_internal_do_activate_push),
1182         (gst_ghost_pad_internal_do_activate_pull),
1183         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
1184         (gst_ghost_pad_do_link), (gst_ghost_pad_dispose),
1185         (gst_ghost_pad_new_full), (gst_ghost_pad_set_target):
1186         Do not set the internal pad as a parent anymore so we can avoid
1187         hierarchy linking errors when the ghostpad has no parent yet. This also
1188         fixes failed activation because of unlinked internal pads, which in
1189         turn fixes the impossible case where you have to activate a pad before
1190         you can add it to a running element.
1191         Also fix the docs.
1192
1193         * gst/gstpad.c: (pre_activate), (post_activate),
1194         (gst_pad_set_active), (gst_pad_activate_pull),
1195         (gst_pad_activate_push), (gst_pad_check_pull_range):
1196         Add some more debug info.
1197         Mark activation mode in pre_activate so that we don't try to activate in
1198         endless loops. Fixes #385084.
1199
1200 2007-02-19  Wim Taymans  <wim@fluendo.com>
1201
1202         * libs/gst/base/gstbasetransform.c: (gst_base_transform_init),
1203         (gst_base_transform_check_get_range):
1204         Implement a checkgetrange function instead of relying on the default
1205         core behaviour that assumes we can operate in pull mode if we have a
1206         getrange function. First step at fixing #385084.
1207
1208 2007-02-15  Stefan Kost  <ensonic@users.sf.net>
1209
1210         * gst/gstchildproxy.h:
1211         * libs/gst/base/gstbasesink.h:
1212         * libs/gst/base/gstbasesrc.h:
1213         * libs/gst/base/gstbasetransform.h:
1214         More docs coverage and some ChangeLog surgery (add missing names)
1215
1216 2007-02-15  Wim Taymans  <wim@fluendo.com>
1217
1218         * docs/design/part-TODO.txt:
1219         * docs/design/part-activation.txt:
1220         * docs/design/part-block.txt:
1221         * docs/design/part-buffering.txt:
1222         * docs/design/part-clocks.txt:
1223         * docs/design/part-element-source.txt:
1224         * docs/design/part-events.txt:
1225         * docs/design/part-gstbin.txt:
1226         * docs/design/part-gstbus.txt:
1227         * docs/design/part-gstpipeline.txt:
1228         * docs/design/part-live-source.txt:
1229         * docs/design/part-messages.txt:
1230         * docs/design/part-overview.txt:
1231         * docs/design/part-qos.txt:
1232         * docs/design/part-query.txt:
1233         * docs/design/part-states.txt:
1234         * docs/design/part-trickmodes.txt:
1235         Some doc updates. Start renaming from stream_time to running_time where
1236         it was used wrongly.
1237
1238 2007-02-15  Wim Taymans  <wim@fluendo.com>
1239
1240         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
1241         Answer LATENCY query.
1242
1243 2007-02-15  Wim Taymans  <wim@fluendo.com>
1244
1245         * tests/check/gst/gstevent.c: (event_probe), (test_event),
1246         (GST_START_TEST):
1247         Improve debugging.
1248
1249 2007-02-15  Wim Taymans  <wim@fluendo.com>
1250
1251         * gst/gstpad.c: (gst_pad_get_internal_links_default),
1252         (gst_pad_dispatcher):
1253         Improve debugging of default pad dispatcher and query functions.
1254
1255 2007-02-15  Wim Taymans  <wim@fluendo.com>
1256
1257         * docs/gst/gstreamer-sections.txt:
1258         Remove old unused method.
1259
1260 2007-02-13  Wim Taymans  <wim@fluendo.com>
1261
1262         * tests/check/gst/gstsegment.c: (GST_START_TEST):
1263         Fix check
1264
1265 2007-02-13  Wim Taymans  <wim@fluendo.com>
1266
1267         * docs/design/part-seeking.txt:
1268         Some small update.
1269
1270         * gst/gstsegment.c: (gst_segment_set_seek):
1271         Revert old bogus change that should make seeking work again.
1272
1273 2007-02-13  Stefan Kost  <ensonic@users.sf.net>
1274
1275         * docs/random/ensonic/dynlink.txt:
1276         * docs/random/ensonic/interfaces.txt:
1277         * docs/random/ensonic/receipies.txt:
1278           Possible dynamic reconnection api, plus some type fixes the other two
1279           docs.
1280
1281 2007-02-13  Sebastian Dröge  <slomo@circular-chaos.org>
1282
1283         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
1284         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
1285         Also check for an absolute path following file:// in the filesrc
1286         element. Remove redundant check and call g_path_is_absolute() on the
1287         unescaped location.
1288
1289 2007-02-13  Stefan Kost  <ensonic@users.sf.net>
1290
1291         * docs/design/draft-klass.txt:
1292           Add existing category analysis.
1293           
1294         * gst/gstcaps.c:
1295           Fix doc example, framerate is a fraction.
1296
1297 2007-02-12  Stefan Kost  <ensonic@users.sf.net>
1298
1299         * configure.ac:
1300         * docs/gst/Makefile.am:
1301         * docs/gst/gstreamer-sections.txt:
1302         * docs/libs/Makefile.am:
1303           Erm, forgot a bunch of --extra-dir.
1304
1305 2007-02-12  Stefan Kost  <ensonic@users.sf.net>
1306
1307         * configure.ac:
1308         * docs/gst/Makefile.am:
1309         * docs/libs/Makefile.am:
1310         * docs/plugins/Makefile.am:
1311           Add crossreferences to glib/gobject docs.
1312
1313 2007-02-12  Wim Taymans  <wim@fluendo.com>
1314
1315         * docs/design/draft-latency.txt:
1316         Small update.
1317
1318         * docs/libs/gstreamer-libs-sections.txt:
1319         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
1320         (gst_base_sink_get_latency), (gst_base_sink_query_latency),
1321         (gst_base_sink_wait_clock), (gst_base_sink_send_qos),
1322         (gst_base_sink_perform_qos), (gst_base_sink_queue_object_unlocked),
1323         (gst_base_sink_chain_unlocked), (gst_base_sink_send_event),
1324         (gst_base_sink_get_position), (gst_base_sink_query),
1325         (gst_base_sink_change_state):
1326         * libs/gst/base/gstbasesink.h:
1327         API: gst_base_sink_query_latency() to let subclasses query the upstream
1328         latency.
1329         API: gst_base_sink_get_latency() to let subclasses query the configured
1330         latency in the sink.
1331         Implement query and set latency.
1332         Update some docs.
1333         As spotted by Will Newton <will dot newton at gmail dot com>: Make sure we
1334         don't continue preroll when we are flushing. Fixes #405284.
1335
1336         * tests/check/pipelines/stress.c: (change_state_timeout),
1337         (quit_timeout), (GST_START_TEST), (stress_suite):
1338         Test for #405284.
1339
1340 2007-02-09  Tim-Philipp Müller  <tim at centricular dot net>
1341
1342         Patch by: René Stadler <mail at renestadler de>
1343
1344         * docs/gst/gstreamer-sections.txt:
1345         * gst/gsttaglist.c: (_gst_tag_initialize):
1346         * gst/gsttaglist.h:
1347           API: add GST_TAG_REFERENCE_LEVEL (#403597).
1348
1349 2007-02-11  Stefan Kost  <ensonic@users.sf.net>
1350
1351         * docs/libs/Makefile.am:
1352           Fix path to core docs.
1353
1354         * gst/gstbin.c: (gst_bin_get_by_interface),
1355         (gst_bin_iterate_all_by_interface):
1356           Refix docs by also renaming 'interface' to 'iface' in implementation.
1357
1358         * docs/gst/gstreamer-sections.txt:
1359         * gst/gstcaps.c:
1360         * gst/gstchildproxy.c: (gst_child_proxy_base_init):
1361         * gst/gstchildproxy.h:
1362         * gst/gstelementfactory.c:
1363         * gst/gstpadtemplate.h:
1364         * libs/gst/controller/gstcontroller.c:
1365         (gst_controlled_property_new):
1366           Document more.
1367
1368 2007-02-10  Sébastien Moutte  <sebastien@moutte.net>
1369
1370         * gst/gstbin.h:(gst_bin_get_by_interface),
1371         (gst_bin_iterate_all_by_interface):
1372         Replace interface parameter name by iface as interface is 
1373         a reserved keyword in Visual Studio for C++ projects so it removes
1374         a build error for application developpers using VS.
1375         * plugins/elements/gstfilesrc.c:(gst_file_src_uri_set_uri):
1376         Fix a bug on Windows in uri format check. Now the prefix checked
1377         is file:// and next we check if the path after file:// is absolute.
1378         * win32/common/libgstbase.def:
1379         * win32/common/libgstdataprotocol.def:
1380         * win32/common/libgstgstreamer.def:
1381         Add new exported functions.
1382
1383 2007-02-09  Andy Wingo  <wingo@pobox.com>
1384
1385         * tests/check/pipelines/simple-launch-lines.c
1386         (simple_launch_lines_suite, test_tee): Disable tee test until I
1387         have time to fix it :-(
1388
1389         * tests/check/Makefile.am (noinst_HEADERS): 
1390         * tests/check/libs/libsabi.c: 
1391         * tests/check/libs/struct_ppc32.h: Add ABI checks for PPC32.
1392         * tests/check/gst/gstabi.c: 
1393         * tests/check/gst/struct_ppc32.h: Add ABI checks for PPC32.
1394
1395         * tests/check/pipelines/simple-launch-lines.c (test_tee): Add
1396         tests for push and pull tee behavior.
1397
1398         * plugins/elements/gsttee.h: 
1399         * plugins/elements/gsttee.c: Describe has-sink-loop better, and
1400         mark as deprecated as well as unimplemented. It was a crack idea.
1401         Add support for tee operating in pull mode, off by default.
1402
1403         * gst/gstregistryxml.c (load_feature, load_plugin): Drop some
1404         normal-case logs down to LOG, raise errors to WARNING.
1405         (gst_registry_xml_read_cache): Don't log before calling a function
1406         that logs.
1407
1408         * gst/gstregistry.c (gst_registry_finalize): Less debug on program
1409         exit (registry finalize).
1410         (gst_registry_add_plugin, gst_registry_add_feature): No need for a
1411         DEBUG log when we emit signals that people don't even have the
1412         chance to connect to.
1413         (gst_registry_scan_path_level): Less logging in the normal case.
1414
1415 2007-02-05  Sebastian Dröge  <slomo@circular-chaos.org>
1416
1417         Patch by: Michal Benes <michal dot benes at itonis dot tv>
1418
1419         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
1420         Correctly generate EOS for non-seekable files. We don't have a total
1421         length for them and would get an unexpected end of file if we only
1422         special-cased for regular files. (Fixes: #404569)
1423
1424 2007-02-05  Sebastian Dröge  <slomo@circular-chaos.org>
1425
1426         * tests/check/elements/filesrc.c: (GST_START_TEST),
1427         (filesrc_suite):
1428         Add unit test for the GstURIHandler interface in filesrc. This also
1429         tests the newly added file://localhost/foo/bar support.
1430
1431 2007-02-04  Tim-Philipp Müller  <tim at centricular dot net>
1432
1433         * gst/gstelementfactory.h:
1434           The klass string is not a hierarchy. Add reference to the design doc
1435           for more information and common types.
1436
1437 2007-02-02  Wim Taymans  <wim@fluendo.com>
1438
1439         * gst/gstquery.c: (gst_query_new_latency):
1440         Remove old structure field.
1441
1442 2007-02-02  Stefan Kost  <ensonic@users.sf.net>
1443
1444         * tools/gst-launch.1.in:
1445           Give example for network streaming (#351998)
1446
1447 2007-02-02  Wim Taymans  <wim@fluendo.com>
1448
1449         * docs/gst/gstreamer-sections.txt:
1450         Add docs for new methods.
1451
1452         * gst/gstevent.c: (gst_event_new_latency),
1453         (gst_event_parse_latency):
1454         * gst/gstevent.h:
1455         Add new LATENCY event to configure latency in a pipeline.
1456         API: gst_event_new_latency
1457         API: gst_event_parse_latency
1458
1459         * gst/gstmessage.c: (gst_message_new_buffering),
1460         (gst_message_new_lost_preroll), (gst_message_new_prerolled),
1461         (gst_message_new_latency), (gst_message_parse_buffering),
1462         (gst_message_parse_lost_preroll):
1463         * gst/gstmessage.h:
1464         Added messages used in draft-latency.
1465         API: gst_message_new_lost_preroll
1466         API: gst_message_parse_lost_preroll
1467         API: gst_message_new_prerolled
1468         API: gst_message_new_latency
1469
1470         * gst/gstquery.c: (gst_query_new_latency), (gst_query_set_latency),
1471         (gst_query_parse_latency):
1472         * gst/gstquery.h:
1473         Implemented new latency query as in design doc.
1474         API: gst_query_new_latency
1475         API: gst_query_set_latency
1476         API: gst_query_parse_latency
1477
1478 2007-02-02  Wim Taymans  <wim@fluendo.com>
1479
1480         * docs/design/draft-latency.txt:
1481         Slight redesign to allow for dynamic latency adjustments.
1482
1483         * docs/design/part-negotiation.txt:
1484         Fix some typos.
1485
1486 2007-02-02  Sebastian Dröge  <slomo@circular-chaos.org>
1487
1488         reviewed by: Wim Taymans <wim@fluendo.com>
1489
1490         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
1491         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
1492         Allow file://localhost/foo/bar URLs and correctly fail for every other
1493         hostname that one sets. This was gnomevfssrc is linked for those if
1494         installed as it can handle it (#403172)
1495
1496 2007-02-01  Sebastian Dröge  <slomo@circular-chaos.org>
1497
1498         reviewed by: Tim-Philipp Müller <tim at centricular dot net>
1499
1500         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
1501         (unref_data), (gst_collect_pads_add_pad_full):
1502         * libs/gst/base/gstcollectpads.h:
1503         Don't put the previously added destroy notify in the GstCollectData
1504         struct as all it's padding is already used and we don't want to break
1505         ABI. Instead put in the pad's GObject data for now. This should be
1506         cleaned up for 0.11 (#402393).
1507
1508 2007-02-01  Sebastian Dröge  <slomo@circular-chaos.org>
1509
1510         reviewed by: Wim Taymans <wim@fluendo.com>
1511
1512         * docs/libs/gstreamer-libs-sections.txt:
1513         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
1514         (unref_data), (gst_collect_pads_add_pad),
1515         (gst_collect_pads_add_pad_full):
1516         * libs/gst/base/gstcollectpads.h:
1517         API: Add function to specify a destroy notification for custom
1518         GstCollectData when adding new pads in GstCollectPads (#402393).
1519
1520 2007-02-01  Tim-Philipp Müller  <tim at centricular dot net>
1521
1522         * po/sv.po:
1523           Update Swedish translation (#378255).
1524
1525 2007-01-31  Stefan Kost  <ensonic@users.sf.net>
1526
1527         * docs/design/draft-klass.txt:
1528           Fix the previous change, this is a list of categories and not a hierarchy.
1529
1530 2007-01-31  Stefan Kost  <ensonic@users.sf.net>
1531
1532         * docs/design/draft-klass.txt:
1533           Add info about how to get a list of used classes.
1534
1535 2007-01-30  Tim-Philipp Müller  <tim at centricular dot net>
1536
1537         * plugins/elements/gsttypefindelement.c:
1538         (gst_type_find_element_chain_do_typefinding),
1539         (gst_type_find_element_change_state):
1540           Don't leak found caps in chain function (no idea why that never
1541           showed up as a leak anywhere).
1542
1543 2007-01-30  Stefan Kost  <ensonic@users.sf.net>
1544
1545         * gst/gstplugin.h:
1546           Fix and expand GstPluginDesc API docs.
1547
1548 2007-01-29  Stefan Kost  <ensonic@users.sf.net>
1549
1550         * gst/gstcaps.c:
1551         * gst/gstelementfactory.c:
1552         * gst/gstpadtemplate.h:
1553           api doc fixes
1554
1555         * libs/gst/controller/gstcontroller.c:
1556         (gst_controlled_property_new):
1557         * tests/examples/controller/audio-example.c:
1558           comment fixes
1559
1560 2007-01-29  Stefan Kost  <ensonic@users.sf.net>
1561
1562         * configure.ac:
1563           comment about refining the xml deps
1564
1565         * docs/manuals.mak:
1566           comments about moving away from jade for docs
1567         
1568         * gst/gst.c:
1569           recommit the ifdefs to use the binary registry
1570         
1571         * gst/gstbin.c: (gst_bin_change_state_func):
1572           this break is obsolete
1573
1574         * gst/gstelementfactory.h:
1575           better GST_ELEMENT_DETAILS docs, add comment about translation
1576
1577         * gst/gstinfo.h:
1578           remove eol slash
1579
1580         * gst/gstobject.c: (gst_signal_object_get_type):
1581           add G_UNLIKELY as usual
1582
1583         * gst/gstpad.c: (gst_pad_event_default):
1584           add fall trhu comment
1585
1586         * gst/gstregistrybinary.c: (gst_registry_binary_write),
1587         (gst_registry_binary_initialize_magic),
1588         (gst_registry_binary_save_string),
1589         (gst_registry_binary_save_pad_template),
1590         (gst_registry_binary_save_feature),
1591         (gst_registry_binary_save_plugin),
1592         (gst_registry_binary_write_cache),
1593         (gst_registry_binary_check_magic),
1594         (gst_registry_binary_load_pad_template),
1595         (gst_registry_binary_load_feature),
1596         (gst_registry_binary_load_plugin),
1597         (gst_registry_binary_read_cache):
1598           comment typo and formatting
1599
1600         * gst/gstutils.c: (gst_element_state_get_name),
1601         (gst_element_state_change_return_get_name):
1602           remove obsolete breaks
1603
1604         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
1605           add FIXME 0.11 and remove cpp comment
1606
1607 2007-01-29  Edward Hervey  <edward@fluendo.com>
1608
1609         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
1610         Fix print statement in an even more portable way.
1611
1612 2007-01-29  Tim-Philipp Müller  <tim at centricular dot net>
1613
1614         * docs/gst/gstreamer-sections.txt:
1615         * gst/gstutils.h:
1616           API: add GST_ROUND_DOWN_* macros (#401781).
1617
1618 2007-01-27  Tim-Philipp Müller  <tim at centricular dot net>
1619
1620         * docs/gst/gstreamer.types.in:
1621         * gst/gstregistry.c: (gst_registry_class_init):
1622           Document registry signals and make gtk-doc pick them up (#401381).
1623
1624 2007-01-26  Tim-Philipp Müller  <tim at centricular dot net>
1625
1626         * docs/pwg/building-testapp.xml:
1627           Add some audioconverts and audioresample to the pipeline, and some
1628           more comments and error handling.
1629
1630 2007-01-26  Tim-Philipp Müller  <tim at centricular dot net>
1631
1632         * docs/manual/manual.xml:
1633         * docs/pwg/pwg.xml:
1634           Fix typo (#400987).
1635
1636 2007-01-26  Wim Taymans  <wim@fluendo.com>
1637
1638         * gst/gstcaps.c: (gst_static_caps_get):
1639         Init caps flags too.
1640
1641 2007-01-25  Sebastian Dröge  <slomo@circular-chaos.org>
1642
1643         Patch by: Jindrich Makovicka <jindrich.makovick at itonis dot tv>
1644
1645         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
1646         If not using mmap'ed files try to seek to the end instead of the
1647         start to determine whether we can seek at all. This fixes the case
1648         of 2GB+ files over NFS, where seeks in the first 2GB can succeed but
1649         seeks for everything afterwards fail. Fixes #400656
1650
1651 2007-01-25  Wim Taymans  <wim@fluendo.com>
1652
1653         * gst/gstcaps.c: (_gst_caps_free), (gst_static_caps_get):
1654         Add some refcount debugging.
1655         Make gst_static_caps_get threadsafe, which is needed when autoplugging
1656         in multiple streaming threads.
1657
1658 2007-01-25  Wim Taymans  <wim@fluendo.com>
1659
1660         Patch by: David Schleef <ds at schleef dot org>
1661
1662         * docs/libs/gstreamer-libs-sections.txt:
1663         * libs/gst/base/gstadapter.c: (gst_adapter_copy):
1664         * libs/gst/base/gstadapter.h:
1665         API: gst_adapter_copy() that can reduce the amount of memcpy when
1666         getting data from the adapter. Fixes #388201.
1667
1668 2007-01-25  Edward Hervey  <edward@fluendo.com>
1669
1670         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
1671         In print statements, "%x" is for guint. Fixes build on macosx.
1672
1673 2007-01-24  Edward Hervey  <edward@fluendo.com>
1674
1675         * plugins/elements/gstmultiqueue.c:
1676         (gst_multi_queue_loop):
1677         Small fix.
1678         (single_queue_overrun_cb), (single_queue_underrun_cb),
1679         (single_queue_check_full), (gst_single_queue_new):
1680         Implement single queue growth system.
1681         This uses the extra-size properties, and will grow single queues by
1682         that much if one goes full whereas there are others empty. This is
1683         called extra-mode in the code.
1684         When a single queue's levels go back below the initial max-size
1685         limits, it is no longer in extra-mode. This is to ensure we don't
1686         consume too much memory.
1687         Fixes #399875
1688
1689 2007-01-23  Tim-Philipp Müller  <tim at centricular dot net>
1690
1691         * gst/gst.c: (gst_init_get_option_group):
1692           Make warning about late g_thread_init() calls a bit more explicit,
1693           so that it's more obvious to application developers what they need
1694           to do if a user files a bug against their application.
1695
1696 2007-01-22  Edward Hervey  <edward@fluendo.com>
1697
1698         * plugins/elements/gstmultiqueue.c:
1699         (gst_multi_queue_src_activate_push), (gst_single_queue_new):
1700         Remove previous hack of unsetting the flushing flag for the source pad
1701         instead of activating it. Instead, fix the source pad activate function
1702         so that it no longer depends on having a parent set or not.
1703
1704 2007-01-22  Tim-Philipp Müller  <tim at centricular dot net>
1705
1706         Patch by: Carlos Sanmartin Dominguez <csanmartin@igalia.com>
1707
1708         * docs/manual/basics-bus.xml:
1709           Fix example code, gst_element_unref() doesn't exist any longer.
1710
1711 2007-01-21  Tim-Philipp Müller  <tim at centricular dot net>
1712
1713         Patch by: Mark Nauwelaerts <manauw at skynet be>
1714
1715         * gst/gstpad.c:
1716           Fix two docs typoes (#399094).
1717
1718 2007-01-19  Edward Hervey  <edward@fluendo.com>
1719
1720         * docs/faq/gst-uninstalled:
1721         Add gst-plugins-base/gst/utils/ to LD_LIBRARY_PATH so that plugins
1722         depending on libgstbaseutils can work in uninstalled environment.
1723
1724 2007-01-18  Stefan Kost  <ensonic@users.sf.net>
1725
1726         * gst/gsttaglist.h:
1727         * gst/gsttagsetter.c:
1728         Add more docs regarding tag merge-modes and when to send tags. Fix 'since'
1729         statement for new tag.
1730
1731 2007-01-17  Edward Hervey  <edward@fluendo.com>
1732
1733         * plugins/elements/gstmultiqueue.c: (gst_single_queue_new):
1734         When dynamically creating single queues, activate sinkpad before adding
1735         it.
1736         We should be doing the same thing for the source pad, but we can't
1737         since it would call a method which needs the parent to be set in order
1738         to work propertly. Instead of activating the source pad, we just unset
1739         the flushing flag, which is the minimal requirement for adding a pad
1740         to an element in a state greater than READY.
1741
1742 2007-01-17  Edward Hervey  <edward@fluendo.com>
1743
1744         * docs/faq/gst-uninstalled:
1745         Add DYLD_LIBRARY_PATH declarations so we can also use this script on
1746         Mac OS X.
1747
1748 2007-01-17  Tim-Philipp Müller  <tim at centricular dot net>
1749
1750         * tests/check/gst/gstabi.c:
1751         * tests/check/gst/struct_hppa.h:
1752         * tests/check/libs/libsabi.c:
1753         * tests/check/libs/struct_hppa.h:
1754           Add ABI structs for HPPA (see #393796).
1755
1756 2007-01-16  Tim-Philipp Müller  <tim at centricular dot net>
1757
1758         * libs/gst/check/gstcheck.c: (gst_check_abi_list):
1759           Actually write ABI structs to the file specified in the GST_ABI
1760           environment variable, as the message we print claims we would.
1761
1762 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
1763
1764         * tests/check/gst/gsttask.c:
1765           Fix header comment.
1766
1767 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
1768
1769         * gst/gsttaglist.c: (_gst_tag_initialize):
1770           Change tag type from STRING to DOUBLE. Apply ChangeLog surgery for my
1771           previous two entries.
1772
1773 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
1774
1775         * docs/gst/gstreamer-sections.txt:
1776         * gst/gsttaglist.c: (_gst_tag_initialize):
1777         * gst/gsttaglist.h:
1778           Add tag support for beat-per-minute.
1779
1780 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
1781
1782         * gst/gstregistrybinary.c: (gst_registry_binary_write),
1783         (gst_registry_binary_initialize_magic),
1784         (gst_registry_binary_save_string), (gst_registry_binary_make_data),
1785         (gst_registry_binary_save_pad_template),
1786         (gst_registry_binary_save_feature),
1787         (gst_registry_binary_save_plugin),
1788         (gst_registry_binary_write_cache),
1789         (gst_registry_binary_check_magic),
1790         (gst_registry_binary_load_pad_template),
1791         (gst_registry_binary_load_feature),
1792         (gst_registry_binary_load_plugin),
1793         (gst_registry_binary_read_cache):
1794         * gst/gstregistrybinary.h:
1795           Use glib types, cleanup comments, impement interfaces and uri-types.
1796
1797 2007-01-13  Andy Wingo  <wingo@pobox.com>
1798
1799         * gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Allow
1800         getrange() to return buffers with other caps, while we fix
1801         demuxers and typefind, or otherwise change part-negotiation.txt.
1802
1803 2007-01-12  Andy Wingo  <wingo@pobox.com>
1804
1805         * libs/gst/base/gstbasetransform.c (gst_base_transform_activate):
1806         Factor start/stop into this private function instead of partially
1807         in activate functions and partially in the change_state function.
1808         Fixes setup before the element has changed from READY->PAUSED, as
1809         is the case in pull-mode pipelines.
1810         (gst_base_transform_sink_activate_push)
1811         (gst_base_transform_src_activate_pull): Refactor to use
1812         gst_base_transform_activate().
1813         (gst_base_transform_change_state): Removed, not needed any more.
1814
1815         * libs/gst/base/gstbasesink.c (gst_base_sink_negotiate_pull):
1816         Truncate before fixating.
1817         
1818         * libs/gst/base/gstbasesink.c (gst_base_sink_negotiate_pull):
1819         Don't set_caps() if the result of fixating is ANY, as it's not
1820         supported, and not necessary in the case of a link with no
1821         template caps on either side. Fixes tests/check/libs/basesrc in
1822         some pull-mode tests.
1823
1824         * libs/gst/base/gstbasetransform.c (_GstBaseTransformPrivate):
1825         (gst_base_transform_init, gst_base_transform_sink_activate_push)
1826         (gst_base_transform_src_activate_pull): 
1827         Track the activation mode.
1828         (gst_base_transform_setcaps): In pull mode, when activating the
1829         src pad, after activating the sink pad, activate the sink pad's
1830         peer, as discussed in part-negotiation.txt.
1831
1832         * libs/gst/base/gstbasesrc.h: 
1833         * libs/gst/base/gstbasesrc.c (gst_base_src_fixate): Add fixate
1834         vmethod, as in basesink.
1835
1836         * libs/gst/base/gstbasesink.h: Reformat docs, add fixate vmethod.
1837
1838         * libs/gst/base/gstbasesink.c (gst_base_sink_pad_setcaps): In pull
1839         mode, first proxy the setcaps to the peer pad.
1840         (gst_base_sink_pad_fixate): Add a fixate function that calls the
1841         new fixate vmethod.
1842         (gst_base_sink_default_activate_pull): Rename from
1843         gst_base_sink_activate_pull.
1844         (gst_base_sink_negotiate_pull): New function, performs negotiation
1845         in pull mode before calling ::activate_pull().
1846         (gst_base_sink_pad_activate_pull): Actually call the activate_pull
1847         vmethod instead of the default implementation. I have no idea how
1848         this worked before. Negotiate before calling activate_pull.
1849
1850         * gst/gstpad.c (gst_pad_activate_pull): Refuse to activate unlinked
1851         sink pads in pull mode. In addition to being correct, fixes
1852         filesrc ! decodebin ! identity ! fakesink.
1853         (gst_pad_get_range, gst_pad_pull_range): Don't call
1854         gst_pad_set_caps() if the caps changes; instead error out with
1855         GST_FLOW_NOT_NEGOTIATED, as discussed in part-negotiation.txt.
1856
1857 2007-01-12  Andy Wingo  <wingo@pobox.com>
1858
1859         * docs/design/part-negotiation.txt: Update with more policy.
1860
1861 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
1862
1863         * libs/gst/check/gstbufferstraw.h:
1864         * libs/gst/check/gstcheck.h:
1865           Add G_BEGIN_DECLS and G_END_DECLS. Move GST_CHECK_MAIN where it
1866           belongs.
1867
1868 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
1869
1870         * tests/check/Makefile.am:
1871         * tests/check/gst/.cvsignore:
1872         * tests/check/gst/gsttagsetter.c: (gst_dummy_enc_add_interfaces),
1873         (gst_dummy_enc_base_init), (gst_dummy_enc_class_init),
1874         (gst_dummy_enc_init), (tag_list_foreach), (tag_setter_list_length),
1875         (GST_START_TEST), (gst_tag_setter_suite):
1876           Add minimal unit test for beforementioned GstTagSetter bug.
1877
1878 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
1879
1880         Patch by: René Stadler <mail at renestadler dot de>
1881
1882         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags):
1883           gst_tag_list_merge() returns a new list, so it's not the best idea
1884           to ingore its return value. Effectively meant that tags could only
1885           be merged on a GstTagSetter once using _merge_tags(). Fixes #395554.
1886           Also add function guard to require a non-NULL taglist as input (has
1887           always been so due to gst_tag_list_copy(), just making it explicit).
1888
1889 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
1890
1891         * docs/random/draft-missing-plugins.txt:
1892           Some additions: mention new API that is supposed to be used at the
1893           various stages; short blob about new gst-inspect introspection
1894           option; mention potential future problem with plugins that have
1895           a dynamic list of elements (such as ladspa, pitfdll, libvisual).
1896
1897 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
1898
1899         * tools/gst-inspect.c:
1900         (print_plugin_automatic_install_info_codecs),
1901         (print_plugin_automatic_install_info_protocols),
1902         (print_plugin_automatic_install_info), (main):
1903         Add --print-plugin-auto-install-info option to gst-inspect, so we can
1904         introspect plugin files and get machine-parsable output that corresponds
1905         to the last bit of the missing-plugin installer string (small gotcha:
1906         doesn't take into account ranks).
1907
1908 2007-01-11  Stefan Kost  <ensonic@users.sf.net>
1909
1910         * configure.ac:
1911         * docs/gst/gstreamer-sections.txt:
1912         * gst/Makefile.am:
1913         * gst/gstregistry.c: (gst_registry_lookup_feature_locked),
1914         (gst_registry_lookup_locked):
1915         * gst/gstregistry.h:
1916         * gst/gstregistrybinary.c: (gst_registry_binary_write),
1917         (gst_registry_binary_initialize_magic),
1918         (gst_registry_binary_save_string),
1919         (gst_registry_binary_save_pad_template),
1920         (gst_registry_binary_save_feature),
1921         (gst_registry_binary_save_plugin),
1922         (gst_registry_binary_write_cache),
1923         (gst_registry_binary_check_magic),
1924         (gst_registry_binary_load_pad_template),
1925         (gst_registry_binary_load_feature),
1926         (gst_registry_binary_load_plugin),
1927         (gst_registry_binary_read_cache):
1928         * gst/gstregistrybinary.h:
1929         * gst/gstregistryxml.c: (load_feature),
1930         (gst_registry_xml_read_cache):
1931           commit binary registry (disabled by default, see #359653)
1932
1933 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
1934
1935         * tests/check/gst/gstpad.c: (test_get_allowed_caps):
1936           Fix 'make check' too.
1937
1938 2007-01-10  Andy Wingo  <wingo@pobox.com>
1939
1940         * docs/design/part-negotiation.txt: Fix a typo, add a couple
1941         notes.
1942         
1943         * docs/design/part-negotiation.txt: Update with, um, one way that
1944         pull-mode negotiation might work?
1945
1946         * gst/gstpad.h: 
1947         * gst/gstpad.c (gst_pad_get_allowed_caps): Remove the restriction
1948         that the pad must be a src pad; makes sense to call it the other
1949         way in pull mode, and the logic is symmetric anyway.
1950
1951 2007-01-10  Tim-Philipp Müller  <tim at centricular dot net>
1952
1953         * plugins/elements/gstfilesink.c:
1954           Include <stdio.h> for fseeko().
1955
1956 2007-01-10  Wim Taymans  <wim@fluendo.com>
1957
1958         * gst/gstevent.c:
1959         * gst/gstevent.h:
1960         Reserve LATENCY event.
1961
1962 2007-01-09  Wim Taymans  <wim@fluendo.com>
1963
1964         * docs/design/draft-latency.txt:
1965         Updates.
1966
1967 2007-01-09  Wim Taymans  <wim@fluendo.com>
1968
1969         * docs/design/draft-latency.txt:
1970         Updates.
1971
1972         * gst/gstelement.h:
1973         * gst/gststructure.c:
1974         * gst/gsttrace.c:
1975         Small typo fixes.
1976
1977 2007-01-09  Tim-Philipp Müller  <tim at centricular dot net>
1978
1979         * tests/check/.cvsignore:
1980           Ignore test-registry.xml as well.
1981
1982 2007-01-09  Wim Taymans  <wim@fluendo.com>
1983
1984         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
1985         unref data at the end when we are done with the pad.
1986
1987 2007-01-08  Tim-Philipp Müller  <tim at centricular dot net>
1988
1989         * docs/gst/gstreamer-sections.txt:
1990         * gst/gst.c: (load_plugin_func), (scan_and_update_registry),
1991         (init_post), (gst_deinit), (gst_update_registry):
1992         * gst/gst.h:
1993           API: add gst_update_registry() (#391296).
1994
1995         * tests/check/Makefile.am:
1996         * tests/check/gst/gstregistry.c:
1997         * tests/check/gst/.cvsignore:
1998           Simple unit test for the above.
1999
2000 2007-01-08  Tim-Philipp Müller  <tim at centricular dot net>
2001
2002         * gst/gstregistry.c: (gst_registry_scan_path_level):
2003           Plugin extension on HP-UX is .sl, add that to the list of approved
2004           plugin extensions (see #393796).
2005
2006         * tests/check/gst/gstpad.c: (GST_START_TEST):
2007           ulong => gulong. Fixes compilation with HP-UX compiler.
2008
2009         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
2010           Fix compilation if valgrind headers are not available.
2011
2012 2007-01-07  Sébastien Moutte  <sebastien@moutte.net>
2013
2014         * win32/common/libgstreamer.def: 
2015           Add new exported function.
2016         * win32/vs6/libgstbase.dsp: 
2017           Add gstdataqueue.c to the build.
2018         * win32/vs6/libgstcoreelements.dsp:
2019           Add gstmultiqueue.c to the build.
2020         
2021 2007-01-06  Andy Wingo  <wingo@pobox.com>
2022
2023         * libs/gst/base/gstbasesink.h: New GstBaseSinkClass vmethod,
2024         activate_pull(), providing for a way to specialize the process of
2025         spawning a thread to pull on the sink pad. There is a default
2026         implementation.
2027
2028         * libs/gst/base/gstbasesink.c (gst_base_sink_pad_activate_pull)
2029         (gst_base_sink_pad_activate_push, gst_base_sink_pad_activate)
2030         (gst_base_sink_init): Renamed pad activation functions (inserting
2031         "_pad" in their names). Refactor to use the new activate_pull
2032         vmethod, as appropriate.
2033         (gst_base_sink_class_init, gst_base_sink_activate_pull): Set the
2034         default activate_pull function to start a task pulling from the
2035         sink pad, as before.
2036
2037         * gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Set caps
2038         on the pads if necessary, as in push()/chain(). Update docs.
2039         Shouldn't affect existing pull() usage as it is currently only
2040         being used on buffers without caps.
2041
2042 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
2043
2044         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
2045         (init_pre):
2046           Call g_thread_init() first thing in gst_init() / gst_check_init().
2047           When initialisation is done via gst_init_get_option_group() and
2048           GOption parsing, issue a warning if the GLib thread system has not
2049           been initialised yet by the time gst_init_get_option_group() is
2050           called, as it's quite likely other GLib functions such as
2051           g_option_context_new() have been called already then, and
2052           g_thread_init() must be called before any other GLib function. The
2053           application in question must be fixed in that case, since memory
2054           corruption might happen otherwise.
2055           We issue the warning because even if the GLib folks decide to work
2056           around the problem on their end in future, this is still an issue
2057           with all GLib versions >= 2.10.0, so we should warn until we depend
2058           on a GLib version we know to be safe.
2059           Update documentation as well.
2060           Closes bug #391278.
2061
2062 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
2063
2064         * tools/gst-inspect.c: (main):
2065         * tools/gst-launch.c: (main):
2066         * tools/gst-typefind.c: (main):
2067         * tools/gst-xmlinspect.c: (main):
2068           Call g_thread_init() really really early, before any other GLib
2069           function (see #342564 and recent discussion on gtk-devel-list).
2070
2071 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
2072
2073         Patch by: Vincent Torri  <vtorri at univ-evry dot fr>
2074
2075         * gst/gst_private.h:
2076         * gst/gstconfig.h.in:
2077         * gst/gstinfo.h:
2078           On win32, all the __declspec stuff for symbol exporting is
2079           apparently only needed with MSVC, but doesn't work with MingW.
2080           Fixes compilation with MingW and #391909.
2081
2082 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
2083
2084         * libs/gst/base/gstbasesrc.c: (gst_base_src_activate_push):
2085           Change some GST_ERROR_OBJECT that aren't really errors to
2086           GST_WARNING_OBJECT in order to reduce terminal spam.
2087
2088 2007-01-04  Stefan Kost  <ensonic@users.sf.net>
2089
2090         * tests/check/Makefile.am:
2091           disable test again, as there seem to be still race problems
2092
2093 2007-01-04  Stefan Kost  <ensonic@users.sf.net>
2094
2095         * tests/check/Makefile.am:
2096         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
2097         (GST_START_TEST), (queue_suite):
2098           enable queue test again, add tests for the leaky behaviour
2099
2100 2007-01-02  Tim-Philipp Müller  <tim at centricular dot net>
2101
2102         * configure.ac:
2103         * tests/examples/Makefile.am:
2104           Compile adapter test/example only if the required headers are
2105           available (fixes #391915).
2106
2107 2007-01-01  David Schleef  <ds@schleef.org>
2108
2109         * gst/gstplugin.c:
2110           Restore the previous signal handler for SIGSEGV instead of
2111           setting to default, since we may have stolen it away from
2112           someone.  (i.e., Mono)
2113
2114 2006-12-26  Tim-Philipp Müller  <tim at centricular dot net>
2115
2116         * docs/random/draft-missing-plugins.txt:
2117           Some small additions and clarifications.
2118
2119 2006-12-26  Tim-Philipp Müller  <tim at centricular dot net>
2120
2121         * gst/gstregistryxml.c: (gst_registry_save_escaped):
2122           Make sure we don't pass non-UTF-8 strings to g_markup_escape(),
2123           since that can lead to random memory corruptions and crashes
2124           (may or may not be related to #383244, #386711, and #386711).
2125
2126 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
2127
2128         * tests/check/.cvsignore:
2129         * tests/check/Makefile.am:
2130           sync .cvsignome and CLEANFILES
2131
2132 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
2133
2134         * tests/check/Makefile.am:
2135           fix distcheck
2136
2137 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
2138
2139         * docs/design/part-states.txt:
2140           two tiny additional comments
2141         
2142         * gst/gststructure.c:
2143           doc fixing
2144
2145         * tests/check/Makefile.am:
2146         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
2147         (GST_START_TEST):
2148           disable test for now, unless it gets fixed
2149
2150 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
2151
2152         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
2153         (GST_START_TEST):
2154           fix race in underrun test
2155
2156 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
2157
2158         * tests/check/elements/.cvsignore:
2159           ignore more
2160
2161         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
2162         (GST_START_TEST):
2163           try to narrow test failure
2164
2165 2006-12-21  David Schleef  <ds@schleef.org>
2166
2167         * plugins/elements/gstfakesrc.c:
2168           Use g_random_int_range(), since it produces better random
2169           numbers in a range than almost-correct floating point code.
2170
2171 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
2172
2173         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
2174         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
2175         (gst_check_teardown_sink_pad):
2176           do not automatically (de)activate pads
2177
2178         * tests/check/Makefile.am:
2179         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
2180         (setup_queue), (cleanup_queue), (GST_START_TEST), (queue_suite):
2181           add new, yet simple tests for queue
2182
2183         * tests/check/elements/fakesrc.c: (cleanup_fakesrc):
2184         * tests/check/elements/fdsrc.c: (cleanup_fdsrc):
2185         * tests/check/elements/filesrc.c: (cleanup_filesrc),
2186         (GST_START_TEST):
2187         * tests/check/elements/identity.c: (cleanup_identity):
2188           consistent pad (de)activation
2189
2190 2006-12-20  Tim-Philipp Müller  <tim at centricular dot net>
2191
2192         Patch by: Sebastian Dröge  <slomo ubuntu com>
2193
2194         * libs/gst/base/gstcollectpads.c:
2195           Fix two doc typos (#387866).
2196
2197 2006-12-19  Tim-Philipp Müller  <tim at centricular dot net>
2198
2199         * docs/manual/advanced-dparams.xml:
2200           Fix typo (g_object_control_properties() doesn't exist).
2201
2202 2006-12-19  Edward Hervey  <edward@fluendo.com>
2203
2204         * gst/gstsegment.c: (gst_segment_set_seek):
2205         Fine tune the cases where the segment start/stop values are really
2206         updated.
2207         * tests/check/gst/gstsegment.c: (GST_START_TEST):
2208         Add tests for the return values of gst_segment_set_seek().
2209
2210 2006-12-19  Tim-Philipp Müller  <tim at centricular dot net>
2211
2212         * gst/gst.c:
2213           Docs typo fix.
2214
2215         * plugins/elements/gstqueue.c: (gst_queue_class_init),
2216         (gst_queue_init):
2217           Fix incorrect documentation and flesh it out a bit more.
2218           Set default values for the max properties on the GParamSpec as well,
2219           so it shows up correctly in gst-inspect.
2220
2221 2006-12-18  Stefan Kost  <ensonic@users.sf.net>
2222
2223         * plugins/elements/gstqueue.c: (queue_leaky_get_type):
2224           Correct docs of queue, add more detail and crosslink it more.
2225
2226 2006-12-16  Tim-Philipp Müller  <tim at centricular dot net>
2227
2228         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
2229           Print additional debug info when the stream isn't perfectly
2230           timestamped; don't try to use invalid durations.
2231
2232 2006-12-16  Tim-Philipp Müller  <tim at centricular dot net>
2233
2234         * docs/design/Makefile.am:
2235           Dist new design docs.
2236
2237 2006-12-16  Wim Taymans  <wim@fluendo.com>
2238
2239         Patch by: Sjoerd Simons <sjoerd at luon dot net>
2240
2241         * libs/gst/base/gstcollectpads.c: (ref_data), (unref_data),
2242         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
2243         (gst_collect_pads_stop), (gst_collect_pads_event),
2244         (gst_collect_pads_chain):
2245         * libs/gst/base/gstcollectpads.h:
2246         Add refcounting to the collectpads data so we can track when it's safe
2247         to free the data. Fixes #383382.
2248
2249 2006-12-15  Wim Taymans  <wim@fluendo.com>
2250
2251         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
2252         (gst_collect_pads_remove_pad):
2253         Automatically activate/deactivate pads when they are added to a
2254         started/stoped collectpads.
2255
2256 2006-12-15  Wim Taymans  <wim@fluendo.com>
2257
2258         * gst/gstelement.c: (gst_element_add_pad):
2259         * gst/gstghostpad.c: (gst_ghost_pad_new_full):
2260         * gst/gstpad.c: (gst_pad_init):
2261         Set pads to FLUSHING when they are created. Check, warn and fix when a
2262         demuxer adds an inactive pad to itself when running. Fixes #339326.
2263
2264 2006-12-15  Wim Taymans  <wim@fluendo.com>
2265
2266         * gst/gstelement.c: (gst_element_class_init),
2267         (gst_element_default_send_event), (gst_element_send_event),
2268         (gst_element_default_query), (gst_element_query):
2269         Expose default element send_event and query handling as vmethods that
2270         subclasses can chain up to.
2271
2272 2006-12-15  Wim Taymans  <wim@fluendo.com>
2273
2274         * gst/gstelement.c: (gst_element_set_state_func):
2275         Small documentation fixes.
2276
2277 2006-12-15  Wim Taymans  <wim@fluendo.com>
2278
2279         * docs/design/draft-latency.txt:
2280         Checked in draft for handling latency in pipelines.
2281
2282 2006-12-15  Thomas Vander Stichele  <thomas at apestaart dot org>
2283
2284         * Makefile.am:
2285         * gstreamer.doap:
2286         * gstreamer.spec.in:
2287           adding .doap file
2288
2289 2006-12-14  Tim-Philipp Müller  <tim at centricular dot net>
2290
2291         * gst/gst.c: (init_pre), (init_post):
2292           init_pre() and init_post() might be called via our GOptionGroup or
2293           from gst_init(), and we should skip both of them if we've already
2294           been initialised, otherwise we will init some things twice or add
2295           two default log functions.
2296
2297 2006-12-13  Edward Hervey  <edward@fluendo.com>
2298
2299         * docs/manual/basics-bus.xml:
2300         No, gst_main_loop does not exist. Its g_main_loop.
2301         Discovered by somebody who abused the copy-paste technique of coding :)
2302
2303 2006-12-13  Tim-Philipp Müller  <tim at centricular dot net>
2304
2305         * gst/gstghostpad.c:
2306           Log ghostpad debug stuff to the GST_PADS category as well rather
2307           than just to the default category.
2308
2309 2006-12-12  Tim-Philipp Müller  <tim at centricular dot net>
2310
2311         * configure.ac:
2312         * gst/gst.c: (init_pre):
2313           Add some basic system details such as OS and architecture
2314           to the debug output if possible, courtesy of uname().
2315
2316 2006-12-11  Tim-Philipp Müller  <tim at centricular dot net>
2317
2318         * docs/gst/running.xml:
2319           Document GST_REGISTRY_FORK and GST_DEBUG_NO_COLOR
2320           environment variables.
2321
2322 2006-12-09  Jan Schmidt  <thaytan@mad.scientist.com>
2323
2324         * tests/check/gst/gstbin.c: (GST_START_TEST):
2325         It is acceptable to have a refcount of 2 or 3 at this point in the
2326         test, because the pipeline might be just posting its state_change
2327         message. The next line then waits for that message to appear using
2328         bus_poll, so that should be fine too.
2329
2330 2006-12-09  Jan Schmidt  <thaytan@mad.scientist.com>
2331
2332         * gst/gst.c: (ensure_current_registry_forking):
2333         Ignore EINTR when reading from the child registry pipe.
2334         Explicitly ignore the return value from close, since it makes no
2335         difference.
2336
2337         * gst/gstminiobject.c: (gst_mini_object_ref),
2338         (gst_mini_object_unref):
2339         When debugging refcounts, check GST_IS_MINI_OBJECT and warn.
2340
2341         * gst/gstregistry.c: (_priv_gst_registry_remove_cache_plugins):
2342         When removing cached plugins, remove their features too, so they're
2343         not visible after they've disappeared.
2344
2345         * gst/gstutils.c: (prepare_link_maybe_ghosting):
2346         In the unlikely case that we are linking pads with no parents, don't
2347         crash trying to get the non-existent parent bin.
2348
2349         * gst/parse/grammar.y:
2350         Output debug in the PIPELINE category
2351
2352 2005-03-08  Wim Taymans  <wim@fluendo.com>
2353
2354         Patch by: René Stadler <mail at renestadler dot de>
2355
2356         * gst/gstclock.c: (gst_clock_new_periodic_id):
2357         Reject invalid clock times for interval of periodic ids.
2358         Fixes ##383506.
2359
2360 2006-12-07  Jan Schmidt  <thaytan@mad.scientist.com>
2361
2362         * gst/gstelementfactory.c: (gst_element_factory_create):
2363         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
2364         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
2365         * tools/gst-inspect.c: (print_element_info):
2366         Fix refcounting of gst_plugin_feature_load to match the docs. 
2367         Fixes: #380129
2368
2369 2006-12-07  Wim Taymans  <wim@fluendo.com>
2370
2371         * libs/gst/base/gstbasesink.c: (gst_base_sink_event),
2372         (gst_base_sink_get_position):
2373         Improve debugging of events.
2374
2375 2006-12-07  Wim Taymans  <wim@fluendo.com>
2376
2377         Patch by: René Stadler <mail at renestadler dot de>
2378
2379         * gst/gstclock.c: (gst_clock_id_wait):
2380         Make period ids add the interval to the origial requested time instead
2381         of the possibly updated time which can be wrong when there are multiple
2382         waiters for the same id. Fixes #382592.
2383
2384         * gst/gstsystemclock.c: (gst_system_clock_async_thread),
2385         (gst_system_clock_id_wait_jitter_unlocked),
2386         (gst_system_clock_id_wait_jitter):
2387         Fix restart in the async notify thread when an async entry is added to
2388         the front of the list. Fixes #381492. 
2389
2390         * tests/check/gst/gstsystemclock.c: (store_callback),
2391         (notify_callback), (GST_START_TEST), (gst_systemclock_suite):
2392         Added test for multiple async waits.
2393         Added test for async wait order.
2394
2395 2006-12-07  Wim Taymans  <wim@fluendo.com>
2396
2397         * gst/gstbin.c: (gst_bin_query):
2398         Add some more docs about the POSITION query.
2399
2400 2006-12-07  Jan Schmidt  <thaytan@mad.scientist.com>
2401
2402         * configure.ac:
2403         Bump version nano - back to CVS.
2404
2405 === release 0.10.11 ===
2406
2407 2006-12-06  Jan Schmidt <thaytan@mad.scientist.com>
2408
2409         * configure.ac:
2410           releasing 0.10.11, "Love never runs on time"
2411
2412 2006-12-01  Jan Schmidt  <thaytan@mad.scientist.com>
2413
2414         * win32/common/libgstbase.def:
2415         * win32/common/libgstreamer.def:
2416         * win32/vs8/libgstbase.vcproj:
2417         * win32/vs8/libgstcoreelements.vcproj:
2418         * win32/vs8/libgstreamer.vcproj:
2419         Fix compilation on win32 under VS8
2420         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
2421         Partially fixes #381175
2422
2423 2006-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
2424
2425         * gst/gstvalue.c: (gst_value_compare_fraction):
2426         If someone is foolish enough to compare 2 fractions with denominator =
2427         0, return UNORDERED rather than aborting.
2428
2429 2006-11-28  Edward Hervey  <edward@fluendo.com>
2430
2431         * libs/gst/base/Makefile.am:
2432         * libs/gst/base/gstdataqueue.c: (gst_data_queue_get_type),
2433         (gst_data_queue_base_init), (gst_data_queue_class_init),
2434         (gst_data_queue_init), (gst_data_queue_new),
2435         (gst_data_queue_cleanup), (gst_data_queue_finalize),
2436         (gst_data_queue_locked_flush), (gst_data_queue_locked_is_empty),
2437         (gst_data_queue_locked_is_full), (gst_data_queue_flush),
2438         (gst_data_queue_is_empty), (gst_data_queue_is_full),
2439         (gst_data_queue_set_flushing), (gst_data_queue_push),
2440         (gst_data_queue_pop), (gst_data_queue_drop_head),
2441         (gst_data_queue_set_property), (gst_data_queue_get_property):
2442         * libs/gst/base/gstdataqueue.h:
2443         New GstDataQueue object for threadsafe queueing. Most useful for
2444         elements that need some queueing functionnality.
2445         * docs/libs/gstreamer-libs-docs.sgml:
2446         * docs/libs/gstreamer-libs-sections.txt:
2447         Insert documentation for GstDataQueue
2448         * plugins/elements/Makefile.am:
2449         * plugins/elements/gstelements.c:
2450         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
2451         (gst_multi_queue_class_init), (gst_multi_queue_init),
2452         (gst_multi_queue_finalize), (gst_multi_queue_set_property),
2453         (gst_multi_queue_get_property), (gst_multi_queue_request_new_pad),
2454         (gst_multi_queue_release_pad), (gst_single_queue_push_one),
2455         (gst_multi_queue_item_destroy), (gst_multi_queue_item_new),
2456         (gst_multi_queue_loop), (gst_multi_queue_chain),
2457         (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
2458         (gst_multi_queue_getcaps), (gst_multi_queue_bufferalloc),
2459         (gst_multi_queue_src_activate_push), (gst_multi_queue_acceptcaps),
2460         (gst_multi_queue_src_event), (gst_multi_queue_src_query),
2461         (wake_up_next_non_linked), (compute_next_non_linked),
2462         (single_queue_overrun_cb), (single_queue_underrun_cb),
2463         (single_queue_check_full), (gst_single_queue_new):
2464         * plugins/elements/gstmultiqueue.h:
2465         New multiqueue element, using GstDataQueue. Used for queuing multiple
2466         streams.
2467         Closes #344639 and #347785
2468
2469 2006-11-22  Stefan Kost  <ensonic@users.sf.net>
2470
2471         * docs/pwg/advanced-types.xml:
2472           add more missing type details
2473
2474         * tools/gst-run.c: (main):
2475           remove unused variable
2476
2477 2006-11-21  Stefan Kost  <ensonic@users.sf.net>
2478
2479         * docs/libs/Makefile.am:
2480         * docs/libs/gstreamer-libs.types:
2481           add types of base classes to enable gobject specific stuff in the docs
2482
2483         * docs/random/ensonic/embedded.txt:
2484           more ideas about isolating platform specific things
2485
2486 2006-11-20  Wim Taymans  <wim@fluendo.com>
2487
2488         Patch by: Sebastian Dröge <slomo at ubuntu dot com>
2489
2490         * libs/gst/check/gstcheck.h:
2491         Fix compilation and running against 0.9.4. Fixes #377332.
2492
2493 2006-11-20  Wim Taymans  <wim@fluendo.com>
2494
2495         * gst/gstsegment.c: (gst_segment_set_seek),
2496         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
2497         (gst_segment_to_running_time):
2498         Fix boundary checking in to_running_time() and to_stream_time().
2499         Fixes #377183.
2500
2501         * tests/check/gst/gstsegment.c: (GST_START_TEST):
2502         stream and running time can now be calculated for the complete
2503         clipped segment.
2504
2505 2006-11-15  Tim-Philipp Müller  <tim at centricular dot net>
2506
2507         * gst/gstpad.c: (gst_pad_push_event):
2508           Can't access event structure after giving away ownership of
2509           the event.
2510
2511 2006-11-15  Stefan Kost  <ensonic@users.sf.net>
2512
2513         * docs/random/ensonic/embedded.txt:
2514         * docs/random/ensonic/profiling.txt:
2515         * docs/random/ensonic/receipies.txt:
2516           more thinking
2517
2518 2006-11-13  Wim Taymans  <wim@fluendo.com>
2519
2520         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
2521
2522         * gst/gstpad.c:
2523         Fix documentation for gst_pad_dispatcher. Fixes #374475.
2524
2525 2006-11-13  Wim Taymans  <wim@fluendo.com>
2526
2527         Patch by: Jonathan Matthew <jonathan at kaolin dot wh9 dot net>
2528
2529         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
2530         Store new length in segment duration so we don't keep on calling the
2531         potentially expensize get_size() call. Fixes #370865.
2532
2533 2006-11-10  Tim-Philipp Müller  <tim at centricular dot net>
2534
2535         Patch by: Sergey Scobich  <sergey.scobich at gmail com>
2536
2537         * win32/common/libgstreamer.def:
2538           Add two missing symbols (#366492).
2539
2540 2006-11-10  Jan Schmidt  <thaytan@mad.scientist.com>
2541
2542         * libs/gst/base/gstadapter.c: (gst_adapter_flush),
2543         (gst_adapter_take_buffer):
2544         Fix format string to use all its arguments.
2545         Remove useless >= check on a guint
2546
2547 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
2548
2549         * tests/examples/adapter/.cvsignore:
2550         Ignore build file as commanded by the build-bot
2551
2552 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
2553
2554         * tests/examples/adapter/Makefile.am:
2555         * tests/examples/adapter/adapter_test.c: (run_test_take),
2556         (run_test_take_buffer), (run_tests), (main):
2557
2558         Add new files from the previous commit
2559
2560 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
2561
2562         * Makefile.am:
2563         * configure.ac:
2564         * libs/gst/base/gstadapter.c: (gst_adapter_clear),
2565         (gst_adapter_push), (gst_adapter_peek_into), (gst_adapter_peek),
2566         (gst_adapter_flush), (gst_adapter_take), (gst_adapter_take_buffer):
2567         * libs/gst/base/gstadapter.h:
2568         * tests/check/libs/adapter.c: (create_and_fill_adapter),
2569         (GST_START_TEST), (gst_adapter_suite):
2570         * tests/examples/Makefile.am:
2571         Do some optimisation work in GstAdapter to avoid copies in more cases.
2572         It could still do slightly better by merging buffers when
2573         gst_buffer_is_span_fast is true, but is already faster. 
2574
2575         Also, avoid traversing a single-linked list to append each incoming 
2576         buffer inside the adapter.
2577
2578         Add simple test app that times the adapter behaviour in different
2579         situations, and extend the unit test to check that bytes enter and
2580         exit the adapter in their original order.
2581
2582 2006-11-08  Tim-Philipp Müller  <tim at centricular dot net>
2583
2584         * docs/random/draft-missing-plugins.txt:
2585           Update: use element message instead of adding a new message
2586           type to the core; don't provide GStreamer API to initiate the
2587           plugin download, just provide API to compose the strings needed
2588           and let an external libgimmestuff handle the rest.
2589
2590 2006-11-08  Jan Schmidt  <thaytan@mad.scientist.com>
2591
2592         * tools/gst-inspect.c: (print_element_properties_info):
2593         Print a string instead of 'unknown type' for GValueArray properties
2594
2595 2006-11-08  Christian F.K. Schaller  <christian@fluendo.com>
2596
2597         * docs/random/draft-missing-plugins.txt:
2598         More small fixes.
2599
2600 2006-11-07  Tim-Philipp Müller  <tim at centricular dot net>
2601
2602         * tests/examples/typefind/typefind.c: (type_found), (main):
2603           Make typefind element example work again (#371894); add a
2604           license header.
2605
2606 2006-11-07  Tim-Philipp Müller  <tim at centricular dot net>
2607
2608         * docs/random/draft-missing-plugins.txt:
2609           Commit initial draft about how to deal with missing plugins,
2610           needs work (API too).
2611
2612 2006-11-07  Stefan Kost  <ensonic@users.sf.net>
2613
2614         * docs/pwg/advanced-types.xml:
2615           documents the new caps elements (see #363118)
2616
2617 2006-11-06  Tim-Philipp Müller  <tim at centricular dot net>
2618
2619         * gst/gstplugin.c: (gst_plugin_load_file):
2620         * plugins/elements/gstfilesrc.c: (gst_mmap_buffer_finalize),
2621         (gst_file_src_map_region), (gst_file_src_start):
2622         * plugins/indexers/gstfileindex.c: (gst_file_index_load),
2623         (gst_file_index_commit):
2624           Use g_strerror() instead of strerror() - we want UTF-8.
2625
2626 2006-11-06  Tim-Philipp Müller  <tim at centricular dot net>
2627
2628         Patch by: Peter Kjellerstedt <pkj at axis com>
2629
2630         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
2631           Another printf fix (#371493).
2632
2633 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
2634
2635         * tests/check/gst/gsttag.c:
2636           relicence (okay with author=company)
2637
2638 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
2639
2640         * gst/gstpad.c: (gst_pad_event_default_dispatch),
2641         (gst_pad_push_event):
2642           Enhance debug and improve docs
2643         
2644         * gst/gsturi.c:
2645           Fix docs
2646
2647 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
2648
2649         * docs/random/ensonic/distributed.txt:
2650         * docs/random/ensonic/profiling.txt:
2651           more ideas
2652
2653 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
2654
2655         * docs/gst/gstreamer-sections.txt:
2656           add new API and fix the build
2657           
2658         * gst/gstbin.c: (gst_bin_recalc_state):
2659         * gst/gstelement.c: (gst_element_message_full),
2660         (gst_element_get_state_func), (gst_element_set_state_func):
2661           use new API and improve logging
2662         
2663         * gst/gstutils.c: (gst_element_state_change_return_get_name):
2664         * gst/gstutils.h:
2665           API: add function to get StateChangereturn names to improve logs 
2666
2667 2006-11-04  Thomas Vander Stichele  <thomas at apestaart dot org>
2668
2669         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
2670           I'm considering shooting the next person to put strerror stuff
2671           in the translateable part of the message.
2672
2673 2006-11-03  Wim Taymans  <wim@fluendo.com>
2674
2675         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
2676         Get the type and printf conversion specifiers right.
2677
2678 2006-11-03  Wim Taymans  <wim@fluendo.com>
2679
2680         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
2681
2682         * gst/gstpad.c: (gst_pad_init), (pre_activate),
2683         (gst_pad_set_blocked_async), (gst_pad_acceptcaps_default),
2684         (gst_pad_accept_caps), (handle_pad_block), (gst_pad_push_event):
2685         Some small cleanups. Improve debugging.
2686         * gst/gstpad.h:
2687         Signal all waiting threads with a broadcast instead of just one.
2688         Fixes #369942.
2689
2690 2006-11-03  Wim Taymans  <wim@fluendo.com>
2691
2692         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd),
2693         (gst_fd_src_create):
2694         Add some debugging. 
2695         Only update fd when it's different from the old.
2696
2697 2006-11-02  Tim-Philipp Müller  <tim at centricular dot net>
2698
2699         * plugins/elements/gstfilesrc.c: (gst_file_src_create_mmap):
2700           Printf fixes for PPC/OSX, take two (#369366).
2701
2702 2006-11-02  Tim-Philipp Müller  <tim at centricular dot net>
2703
2704         Based on patch by: Jan David Mol  <j.j.d.mol at tudelft nl>
2705
2706         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
2707         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
2708         (gst_file_src_map_small_region), (gst_file_src_create_mmap):
2709           Printf fixes for gsize parameters on PPC/OSX (#369366). Also,
2710           don't cast to long long for portability reasons, but use
2711           GLib's types instead.
2712
2713 2006-10-30  Michael Smith  <msmith@fluendo.com>
2714
2715         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
2716           Get the arguments to lseek() the right way around.
2717           Fixes 367677.
2718
2719 2006-10-30  Wim Taymans  <wim@fluendo.com>
2720
2721         Patch by: gorshkov <gorshkov at oghma dot on dot ca>
2722
2723         * gst/gstinfo.h:
2724         _declspec should be __declspec (two underscores, not one). Fixes 366572.
2725
2726 2006-10-28  Tim-Philipp Müller  <tim at centricular dot net>
2727
2728         Patch by: Kjartan Maraas  <kmaraas at gnome org>
2729
2730         * docs/design/part-MT-refcounting.txt:
2731         * docs/random/wtay/capsnego2-docs:
2732         * gst/gstclock.c:
2733         * gst/gstxml.c:
2734           Typo fixes (#366212).
2735
2736 2006-10-28  Wim Taymans  <wim@fluendo.com>
2737
2738         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
2739
2740         * gst/gst.c:
2741         * win32/common/libgstbase.def:
2742         * win32/common/libgstreamer.def:
2743         * win32/vs8/libgstbase.vcproj:
2744         * win32/vs8/libgstcontroller.vcproj:
2745         Add needed entries in .def files.
2746         Use HAVE_UNISTD_H.
2747         Rearrange def files in vs8 solutions. Fixes #366286.
2748
2749 2006-10-28  Tim-Philipp Müller  <tim at centricular dot net>
2750
2751         * win32/common/gstconfig.h:
2752           Add GST_SEGMENT_FORMAT and GST_USING_PRINTF_EXTENSION to the
2753           hand-made win32 gstconfig.h. Fixes #366321.
2754
2755 2006-10-27  Wim Taymans  <wim@fluendo.com>
2756
2757         * gst/gstghostpad.c: (gst_proxy_pad_do_acceptcaps),
2758         (gst_ghost_pad_new_full):
2759         Make acceptcaps return TRUE when we don't have a target, just like
2760         setcaps does.
2761
2762 2006-10-27  Wim Taymans  <wim@fluendo.com>
2763
2764         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
2765         Revert previous commit, 0 sized buffers are allowed. Reopens #363095.
2766
2767 2006-10-26  Tim-Philipp Müller  <tim at centricular dot net>
2768
2769         * gst/gststructure.c: (gst_structure_id_set_value):
2770           If someone tries to set a non-UTF8 string field on a structure,
2771           don't just print a warning, but also ignore the request and do
2772           not change/add that field to the structure.
2773
2774         * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
2775           Test for the above.
2776
2777 2006-10-25  David Schleef  <ds@schleef.org>
2778
2779         * gst/gstinfo.c:
2780           g_hash_table_insert() needs a cast to a non-const pointer duh.
2781
2782 2006-10-25  David Schleef  <ds@schleef.org>
2783
2784         * gst/gstinfo.c:
2785         * gst/gstinfo.h:
2786           Change name parameter of _gst_debug_register_funcptr to const
2787           to reflect the constness of its use in the function as well
2788           as to quiet a gcc warning.
2789
2790 2006-10-25  Edward Hervey  <edward@fluendo.com>
2791
2792         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
2793         Don't push the buffer if it's empty.
2794         Closes #363095
2795
2796 2006-10-24  Wim Taymans  <wim@fluendo.com>
2797
2798         * gst/gstevent.h:
2799         Add small comment.
2800
2801         * libs/gst/base/gstbasetransform.c:
2802         (gst_base_transform_sink_eventfunc):
2803         Debug segment values *after* updating them as this is more
2804         interesting.
2805
2806 2006-10-23  Wim Taymans  <wim@fluendo.com>
2807
2808         * docs/design/part-events.txt:
2809         Update some docs.
2810
2811         * docs/design/part-block.txt:
2812         * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
2813         (gst_pad_push_event):
2814         Revert BLOCKING patch, it tries to be smart without really having a
2815         clear idea what or how. So, now we discard all FLUSHING events again on
2816         a blocking pad. Should fix gnonlin again.
2817
2818 2006-10-23  Wim Taymans  <wim@fluendo.com>
2819
2820         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
2821
2822         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
2823         (gst_base_src_start), (gst_base_src_activate_push):
2824         Make sure size is always initialized. Fixes #364388.
2825
2826 2006-10-20  Stefan Kost  <ensonic@users.sf.net>
2827
2828         * docs/random/ensonic/distributed.txt:
2829           add some ideas about doing distributed processing
2830
2831         * docs/random/ensonic/profiling.txt:
2832           get_rusage look promising
2833
2834 2006-10-18  Stefan Kost  <ensonic@users.sf.net>
2835
2836         * docs/manual/basics-helloworld.xml:
2837           Add a cast in example to fix compile warning
2838
2839 2006-10-18  Wim Taymans  <wim@fluendo.com>
2840
2841         * gst/gstsegment.c: (gst_segment_set_last_stop),
2842         (gst_segment_set_seek), (gst_segment_set_newsegment_full):
2843         Relax arg checking again, -1 is allowed.
2844
2845 2006-10-18  Wim Taymans  <wim@fluendo.com>
2846
2847         * gst/gstsegment.c: (gst_segment_set_last_stop),
2848         (gst_segment_set_seek), (gst_segment_set_newsegment_full):
2849         _set_last_stop() must be with a value != -1
2850         A _TYPE_SET to -1 means seek to 0.
2851         Calc last_stop correctly for negative rates.
2852         Make sure we work with positive durations when updating a segment.
2853
2854 2006-10-18  Wim Taymans  <wim@fluendo.com>
2855
2856         * docs/design/part-live-source.txt:
2857         * gst/gstclock.h:
2858         Small docs fixes.
2859
2860 2006-10-18  Tim-Philipp Müller  <tim at centricular dot net>
2861
2862         * gst/gstbuffer.h:
2863           Add an explicit cast to GstBuffer** to keep old code that added an
2864           explicit cast to GstMiniObject** for gst_mini_object_replace()
2865           compiling without warning.
2866
2867 2006-10-18  Stefan Kost  <ensonic@users.sf.net>
2868
2869         * gst/gstvalue.c: (gst_value_set_date), (gst_date_copy):
2870           check for validity of dates
2871
2872 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
2873
2874         * docs/gst/gstreamer-sections.txt:
2875           Forgot this one, makes gtk-doc shut up.
2876
2877 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
2878
2879         Patch by: Peter Kjellerstedt <pkj at axis com>
2880
2881         * gst/gstobject.h:
2882           Don't define xmlNodePtr to gpointer if the core was built with
2883           --disable-loadsave and --disable-registry, this will break
2884           applications that want to use libxml2 but are buildling against a
2885           core that doesn't use libxml2. Use an intermediary type GstXmlNodePtr
2886           instead so we don't have to mess with the libxml2 namespace
2887           (#361675).
2888
2889 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
2890
2891         * gst/gstbuffer.h:
2892           Fix gst_buffer_replace() macro to avoid gst_mini_object_replace()-related
2893           type-punned pointer warnings.
2894
2895 2006-10-16  Tim-Philipp Müller  <tim at centricular dot net>
2896
2897         * gst/gstelement.h:
2898           Add casts to the correct return type to state <=> state transition
2899           macros.
2900
2901 2006-10-16  Stefan Kost  <ensonic@users.sf.net>
2902
2903         * docs/design/part-live-source.txt:
2904           describe howto handle latency
2905         
2906         * docs/random/ensonic/profiling.txt:
2907           more ideas
2908
2909         * tools/gst-plot-timeline.py:
2910           fix log parsing for solaris, remove unused function
2911
2912 2006-10-16  Wim Taymans  <wim@fluendo.com>
2913
2914         * docs/design/part-trickmodes.txt:
2915         * gst/gstevent.c:
2916         Update some docs regarding reverse playback.
2917
2918 2006-10-15  Tim-Philipp Müller  <tim at centricular dot net>
2919
2920         Patch by: Marcus Granado  <mrc dot gran at gmail com>
2921
2922         * win32/vs8/grammar.vcproj:
2923           Error out with a warning if glib-genmarshal.exe is not in path,
2924           instead of creating bogus gstmarshal.[ch] files. Fixes #361720.
2925
2926 2006-10-13  Wim Taymans  <wim@fluendo.com>
2927
2928         * gst/gstsegment.c: (gst_segment_set_seek):
2929         When seeking to stop -1, set last_stop (current position) to the
2930         duration of the segment.
2931
2932 2006-10-13  Wim Taymans  <wim@fluendo.com>
2933
2934         * gst/gstelement.h:
2935         Clarify _NO_PREROLL a bit more.
2936
2937         * gst/gstevent.c:
2938         Fix docs.
2939
2940         * gst/gstpad.c: (gst_pad_link_check_hierarchy),
2941         (gst_pad_get_caps_unlocked), (gst_pad_save_thyself),
2942         (handle_pad_block), (gst_pad_push_event), (gst_pad_send_event):
2943         Patch by: Yves Lefebvre <ivanohe at abacom dot com> Fix possible deadlock
2944         due to wrong locking order. Fixes #361769.
2945         Remove some redundant/misplaced checks in pad_block.
2946
2947         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
2948         For negative rates, count backwards from the duration.
2949
2950 2006-10-13  Tim-Philipp Müller  <tim at centricular dot net>
2951
2952         * gst/gsterror.c: (_gst_library_errors_init):
2953           Fix error message for GST_LIBRARY_ERROR_SETTINGS (feel free to come
2954           up with something better).
2955
2956 2006-10-12  Tim-Philipp Müller  <tim at centricular dot net>
2957
2958         * win32/vs6/libgstreamer.dsp:
2959         * win32/vs7/libgstreamer.vcproj:
2960         * win32/vs8/libgstreamer.vcproj:
2961           Don't reference glib-compat.c which is currently not used and not
2962           disted; add gstquark.c which was recently added. Fixes #361730.
2963
2964 2006-10-12  Tim-Philipp Müller  <tim at centricular dot net>
2965
2966         * win32/common/libgstbase.def:
2967         * win32/common/libgstcontroller.def:
2968         * win32/common/libgstreamer.def:
2969           Add gst_caps_merge() and a bunch of other recently-added functions.
2970           Fixes #361732.
2971
2972 2006-10-11  Wim Taymans  <wim@fluendo.com>
2973
2974         * docs/plugins/gstreamer-plugins.args:
2975         * docs/plugins/inspect/plugin-coreelements.xml:
2976         * docs/plugins/inspect/plugin-coreindexers.xml:
2977         Update element args.
2978
2979         * gst/gstsystemclock.c:
2980         Small comment update.
2981
2982         * plugins/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
2983         (gst_tee_request_new_pad), (gst_tee_release_pad),
2984         (gst_tee_buffer_alloc), (gst_tee_sink_activate_push),
2985         (gst_tee_sink_activate_pull):
2986         * plugins/elements/gsttee.h:
2987         Some tee loving:
2988         Add default property defines.
2989         Implement release pad function.
2990         Give properties better blubs etc.
2991         Activate pads before adding them to a running tee.
2992         Do simple buffer_alloc on the first requested pad.
2993         Post error when activation fails.
2994
2995 2006-10-11  Tim-Philipp Müller  <tim at centricular dot net>
2996
2997         * gst/gst.c: (ensure_current_registry_forking):
2998           Check return value of write() to make compiler happy.
2999
3000 2006-10-11  Wim Taymans  <wim@fluendo.com>
3001
3002         Patch by: Sjoerd Simons <sjoerd at luon dot net>
3003
3004         * plugins/elements/gstqueue.c: (gst_queue_chain):
3005         Recheck queue filledness after signalling the overrun when we're about
3006         to leak downstream because we released the lock when emitting the signal
3007         and the queue could be empty again. Fixes #352345.
3008
3009 2006-10-11  Tim-Philipp Müller  <tim at centricular dot net>
3010
3011         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list):
3012           Fix refcounting here too, just like we did for _new_valist() a few
3013           days ago (#357180) (thanks to René Stadler). Also remove all those
3014           'Since: 0.9' from the gtk-doc blobs.
3015
3016         * tests/check/libs/controller.c: (controller_refcount_new_list),
3017         (gst_controller_suite):
3018           Unit test for the above.
3019
3020 2006-10-10  Wim Taymans  <wim@fluendo.com>
3021
3022         Patch by: Sebastien Cote <sebas642 at yahoo dot ca>
3023
3024         * gst/gstpad.c: (gst_pad_get_caps_unlocked),
3025         (gst_pad_save_thyself):
3026         Update some docs.
3027         Write pad direction in XML output. Fixes #345496.
3028
3029 2006-10-10  Wim Taymans  <wim@fluendo.com>
3030
3031         Patch by: René Stadler <mail at renestadler dot de>
3032
3033         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
3034         (gst_controller_new_list), (_gst_controller_dispose),
3035         (_gst_controller_finalize), (_gst_controller_class_init):
3036         Take ref to controlled object so that it cannot disappear. 
3037         Fixes #357432.
3038
3039 2006-10-10  Wim Taymans  <wim@fluendo.com>
3040
3041         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
3042         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
3043         (gst_check_teardown_sink_pad):
3044         Activate/deactivate pads in setup/teardown respectively.
3045
3046 2006-10-10  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
3047
3048         Patch by: Josep Torre Valles <josep@fluendo.com>
3049
3050         * gst/Makefile.am:
3051         Cast values when making gstenumtypes.h.  This pacifies Forte
3052         so it doesn't warn about the ~0 as GST_MESSAGE_ANY not fitting
3053         in the enumeration.
3054
3055 2006-10-09  Wim Taymans  <wim@fluendo.com>
3056
3057         * gst/gstevent.c: (gst_event_new_seek), (gst_event_parse_seek):
3058         Rename some more @cur to @start to fix docs. 
3059
3060         * gst/gstsegment.c: (gst_segment_set_seek):
3061         Fix typo.
3062         time and start must always stay in sync as defined in design doc.
3063
3064         * gst/gsttaglist.c: (gst_tag_list_is_empty):
3065         Rename param to fix docs.
3066
3067         * tests/check/gst/gstsegment.c: (GST_START_TEST):
3068         Check that start and time are in sync.
3069
3070         * tests/check/pipelines/parse-launch.c:
3071         (gst_parse_test_element_change_state):
3072         Activate pad before adding to the element.
3073
3074 2006-10-09  Wim Taymans  <wim@fluendo.com>
3075
3076         * docs/design/part-qos.txt:
3077         Fix typo.
3078
3079         * gst/gstevent.c:
3080         * gst/gstevent.h:
3081         Update seek event docs regarding negative rates.
3082         Rename @cur to @start. 
3083
3084         * gst/gstsegment.c: (gst_segment_set_seek):
3085         * gst/gstsegment.h:
3086         Update set_seek docs regarding negative rates.
3087         Correctly update last_stop to @stop when dealing with negative
3088         rates.
3089         Rename @cur to @start. 
3090
3091         * tests/check/gst/gstpad.c: (GST_START_TEST):
3092         Activate pads before trying to use them.
3093
3094         * tests/check/gst/gstsegment.c: (GST_START_TEST),
3095         (gst_segment_suite):
3096         Add simple check for segments and negative rates.
3097
3098 2006-10-09  Tim-Philipp Müller  <tim at centricular dot net>
3099
3100         * gst/gsttaglist.c: (gst_tag_list_is_empty):
3101         * gst/gsttaglist.h:
3102         * docs/gst/gstreamer-sections.txt:
3103           API: add gst_tag_list_is_empty() (#360467).
3104
3105         * tests/check/gst/gsttag.c: (GST_START_TEST):
3106           And a test case.
3107
3108 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
3109
3110         * gst/gstmessage.h:
3111         Revert change from earlier wrt GST_MESSAGE_TYPE_ANY having
3112         a value that doesn't fit on enumeration.
3113
3114 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
3115
3116         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
3117         Remove local debugging system and use Gstreamer's instead.
3118
3119 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
3120
3121         Patch by: Josep Torre Valles <josep@fluendo.com>
3122
3123         * common/m4/gst-error.m4:
3124         Disable warning of statement not reached on Forte.
3125         * gst/gstmessage.h:
3126         Fix warning on Forte (value doesn't fit on enumeration).
3127         * libs/gst/base/gstbasesink.c: (gst_base_sink_chain_unlocked):
3128         Fix warning on Forte (value doesn't fit on enumeration).
3129         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
3130         DEBUG macro says it takes minimum of 2 args and so Forte
3131         complains about the use with just 1 arg.
3132         * plugins/elements/gstfdsink.c:
3133         * plugins/elements/gstfdsrc.c:
3134         * plugins/elements/gstfilesink.c:
3135         * plugins/elements/gstfilesrc.c:
3136         Use correct return type for the uri handler implementations.
3137
3138         All these fix warnings in Forte.  Fixes bug #360860.
3139
3140 2006-10-08  Tim-Philipp Müller  <tim at centricular dot net>
3141
3142         * gst/gstelement.h:
3143           gcc versions prior to gcc 3.3 apparently complain about a NULL printf
3144           format string, so don't use G_GNUC_PRINTF for those versions.
3145
3146 2006-10-07  Tim-Philipp Müller  <tim at centricular dot net>
3147
3148         * gst/gsttaglist.c: (gst_is_tag_list):
3149         * gst/gsttaglist.h:
3150           Minor fixes to GST_IS_TAG_LIST and gst_is_tag_list().
3151
3152         * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
3153           Small test for the above.
3154
3155 2006-10-07  Tim-Philipp Müller  <tim at centricular dot net>
3156
3157         * gst/gsttaglist.h:
3158           Less tabs, more spaces.
3159
3160 2006-10-06  Tim-Philipp Müller  <tim at centricular dot net>
3161
3162         * gst/gstinfo.h:
3163           Those two function declarations do actually belong there, revert
3164           commit from yesterday that turned them intro macros.
3165
3166 2006-10-06  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
3167
3168         Patch by: Josep Torre Valles <josep@fluendo.com>
3169
3170         * gst/gst.c: (gst_init_get_option_group):
3171         Fix empty declaration and type mismatch.
3172         * gst/gstbin.c: (gst_bin_change_state_func):
3173         Fix type mismatch.
3174         * gst/gstelement.c: (gst_element_continue_state),
3175         (gst_element_set_state_func), (gst_element_change_state),
3176         (gst_element_change_state_func):
3177         Fix type mismatches.
3178         * gst/gstinfo.c: (gst_debug_compare_log_function_by_func),
3179         (gst_debug_remove_log_function), (_gst_debug_nameof_funcptr):
3180         Cast as appropriate.
3181         * gst/gstobject.c: (gst_class_signal_connect):
3182         Cast as appropriate.  The function pointer parameter really
3183         has the wrong type but would break API if we change it.
3184         * gst/gstquery.c:
3185         Fix redefinition of _FILE_OFFSET_BITS caused on Solaris wrt
3186         order of including string.h.
3187         * gst/gstutils.c: (gst_element_state_get_name):
3188         Remove unreachable line.
3189         * gst/gstxml.c: (gst_xml_parse_doc):
3190         Fix type mismatch.
3191         All these caught by Forte.
3192
3193 2006-10-06  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
3194
3195         Patch by: Josep Torre Valles <josep@fluendo.com>
3196
3197         * common/m4/gst-error.m4:
3198         Fixed bug #360151.
3199         We need to disable warnings on Forte for empty declarations
3200         due to gst-indent adding ;s to lines that just use macros
3201         where the macro actually doesn't need a ; at end to end
3202         statement.
3203
3204 2006-10-06  Wim Taymans  <wim@fluendo.com>
3205
3206         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
3207         (gst_file_sink_close_file), (gst_file_sink_event),
3208         (gst_file_sink_render):
3209         Add some FIXME for the NEWSEGMENT handling.
3210
3211 2006-10-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
3212
3213         * gst/parse/grammar.y:
3214         Remove static function gst_parse_element_lock as all it does
3215         is return.  Looks like cruft from 0.8.
3216
3217 2006-10-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
3218
3219         Patch by: Josep Torre Valles <josep@fluendo.com>
3220
3221         * common/m4/gst-error.m4:
3222         * configure.ac:
3223         * libs/gst/net/Makefile.am:
3224         Fix a compilation issue with Forte on Solaris.  inet_aton is in
3225         libresolv.
3226
3227 2006-10-05  Tim-Philipp Müller  <tim at centricular dot net>
3228
3229         * gst/gstpad.c: (pre_activate):
3230         * gst/gstregistry.c: (gst_registry_scan_path_level):
3231         * gst/gstregistryxml.c: (load_plugin):
3232         * libs/gst/controller/gstcontroller.c:
3233         (gst_controlled_property_set_interpolation_mode):
3234         * libs/gst/dataprotocol/dataprotocol.c:
3235         (gst_dp_packet_from_event_1_0):
3236         * libs/gst/net/gstnetclientclock.c:
3237         (gst_net_client_clock_observe_times):
3238         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
3239           Printf fixes.
3240
3241 2006-10-05  Tim-Philipp Müller  <tim at centricular dot net>
3242
3243         * configure.ac:
3244         * docs/gst/gstreamer-sections.txt:
3245         * gst/gstconfig.h.in:
3246         * gst/gstelement.h:
3247         * gst/gstinfo.h:
3248           Add GST_USING_PRINTF_EXTENSION to gstconfig.h so that we know
3249           whether we can use G_GNUC_PRINTF in other header files and at
3250           least check the printf format/arguments of debug messages and
3251           GST_ELEMENT_ERROR messages when the printf extension is not
3252           being used.
3253           Replace more tabs with spaces in gstinfo.h and remove two spurious
3254           function declarations in GST_DISABLE_DEBUG part with macros.
3255
3256 2006-10-03  Tim-Philipp Müller  <tim at centricular dot net>
3257
3258         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_post):
3259           More docs for the sync-message signal (mention that it is not
3260           emitted by default); log message structures of messages posted on
3261           the bus as well.
3262
3263 2006-10-03  Jan Schmidt  <thaytan@mad.scientist.com>
3264
3265         * gst/gst.c: (ensure_current_registry_forking):
3266         Use a pipe pair to receive status results from the forked child, and
3267         ignore the result from waitpid. Fixes #355499
3268
3269 2006-10-02  Wim Taymans  <wim@fluendo.com>
3270
3271         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
3272         (gst_ghost_pad_suite):
3273         Fix leak in check.
3274
3275 2006-10-02  Tim-Philipp Müller  <tim at centricular dot net>
3276
3277         * gst/gstpad.c:
3278           Add 'Since: 0.10.11' to gst_pad_is_blocking() gtk-doc blurb.
3279
3280 2006-10-02  Edward Hervey  <edward@fluendo.com>
3281
3282         * docs/design/part-block.txt:
3283         Further explain the use of flushing on blocked pads.
3284         * docs/gst/gstreamer-sections.txt:
3285         * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
3286         (gst_pad_push_event):
3287         * gst/gstpad.h:
3288         Added new GstPadFlag : GST_PAD_BLOCKING.
3289         Adds the notion of pads really blocking, which enables to properly
3290         handle FLUSH_START/FLUSH_STOP events on blocked pads.
3291         Fixes #358999
3292         API: gst_pad_is_blocking()
3293         API: GST_PAD_IS_BLOCKING() macro
3294         API: GST_PAD_BLOCKING GstPadFlag
3295         
3296 2006-10-02  Wim Taymans  <wim@fluendo.com>
3297
3298         Patch by: mrcgran <mrc.gran at gmail dot com>
3299
3300         * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps):
3301         Filter the proxied caps against the padtemplate if we have one.
3302
3303         * gst/gstquery.c: (gst_query_new_segment):
3304         Add include for gstinfo.h so that compilation with
3305         -DGST_DISABLE_GST_DEBUG works again. Fixes #358436.
3306
3307 2006-10-02  Wim Taymans  <wim@fluendo.com>
3308
3309         Patch by: Alessandro Decina  <alessandro at nnva org>
3310
3311         * plugins/elements/gstfilesink.c: (gst_file_sink_init),
3312         (gst_file_sink_set_location), (gst_file_sink_open_file),
3313         (gst_file_sink_close_file), (gst_file_sink_event),
3314         (gst_file_sink_render):
3315         Set file to NULL when closing filesink so that we can set a new filename
3316         in READY. Fixes #358613.
3317
3318 2006-10-02  Tim-Philipp Müller  <tim at centricular dot net>
3319
3320         Patch by: Alessandro Decina  <alessandro at nnva org>
3321
3322         * gst/gstevent.c: (_gst_event_copy):
3323           Fix gst_mini_object_make_writable() and gst_event_copy() for events
3324           with event structures by setting the parent refcount address of the
3325           copied structure to the address of the refcount member of the newly
3326           copied event rather than the address of the refcount member of the
3327           original event. Fixes #358737.
3328
3329         * tests/check/gst/gstevent.c: (GST_START_TEST):
3330           Unit test for the above.
3331
3332 2006-09-29  Stefan Kost  <ensonic@users.sf.net>
3333
3334         * docs/design/Makefile.am:
3335           Dist some more files.
3336
3337 2006-09-29  Tim-Philipp Müller  <tim at centricular dot net>
3338
3339         * tests/check/libs/controller.c: (GST_START_TEST),
3340         (gst_controller_suite):
3341           Add test for the previous fix; add some more tests
3342           for correct refcounting behaviour; fix a few leaks
3343           in test cases; call gst_controller_init() at start
3344           of all tests.
3345
3346 2006-09-29  Tim-Philipp Müller  <tim at centricular dot net>
3347
3348         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
3349         (gst_controller_set_from_list):
3350           Don't g_return_val_if_fail() on timed values with invalid timestamps
3351           inside a critical section without unlocking the mutex. Spotted by
3352           René Stadler. (#357617)
3353           Also, fix up refcounting properly: when returning an existing
3354           controller, we should increase the reference only once and not
3355           once per property and when trying to control a property again
3356           we should also increase the refcount.
3357
3358 2006-09-29  Wim Taymans  <wim@fluendo.com>
3359
3360         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
3361         * libs/gst/net/gstnettimeprovider.c:
3362         (gst_net_time_provider_thread):
3363         Stop reading commands when EOF as well.
3364
3365         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
3366         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
3367         * plugins/elements/gstidentity.c: (gst_identity_class_init):
3368         Unify description of the dump property.
3369
3370 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
3371
3372         * tests/examples/manual/.cvsignore:
3373         OK, so it's actually cvsignore that needs changing. Stop laughing.
3374
3375 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
3376
3377         * tests/examples/manual/Makefile.am:
3378         Gah, declare vars *before* using them
3379
3380 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
3381
3382         * gst/gst.c: (init_pre), (scan_and_update_registry),
3383         (ensure_current_registry_nonforking),
3384         (ensure_current_registry_forking), (ensure_current_registry),
3385         (init_post), (gst_debug_help), (gst_deinit):
3386         * gst/gst_private.h:
3387         * gst/gstregistry.c: (gst_registry_finalize),
3388         (gst_registry_remove_features_for_plugin_unlocked),
3389         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
3390         (gst_registry_scan_path),
3391         (_priv_gst_registry_remove_cache_plugins),
3392         (_priv_gst_registry_cleanup):
3393         * gst/gstregistry.h:
3394         Re-commit the registry changes, along with an extra fix:
3395           When a cached plugin is encountered at a different file path,
3396           update the stored path in the registry cache so that the parent
3397           process knows where it actually is now when it re-reads the registry
3398           cache. Fixes the thing that broke distcheck with the previous commit.
3399
3400         * tests/check/Makefile.am:
3401         Clean up files named 'core' too when running make clean.
3402
3403         * tests/examples/manual/Makefile.am:
3404         Set up a registry path for running these tests, and clean it properly
3405         for distcheck.
3406
3407 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
3408
3409         * configure.ac:
3410         Don't pull in gmodule-2.0.pc as a dependency in our .pc files - we
3411         want gmodule-no-export-2.0.pc instead so that we don't drag in
3412         --export-dynamic on every project that links to GStreamer.
3413
3414         Also, make our export regex only match the start of symbols, rather 
3415         than any symbol that contains '_gst' somewhere.
3416
3417         * libs/gst/check/Makefile.am:
3418         The libgstcheck we build does however need export-dynamic, as it
3419         produces some symbols that don't match our _gst... style regex.
3420         Fixes: #318031
3421
3422 2006-09-27  Jan Schmidt  <thaytan@mad.scientist.com>
3423
3424         * gst/gst.c: (init_pre), (scan_and_update_registry),
3425         (ensure_current_registry_nonforking),
3426         (ensure_current_registry_forking), (ensure_current_registry),
3427         (init_post), (gst_debug_help), (gst_deinit):
3428         * gst/gst_private.h:
3429         * gst/gstregistry.c: (gst_registry_finalize),
3430         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
3431         (gst_registry_scan_path), (_gst_registry_remove_cache_plugins),
3432         (_gst_registry_cleanup):
3433         * gst/gstregistry.h:
3434           Revert previous change until I figure out why it breaks distcheck.
3435
3436 2006-09-27  Jan Schmidt  <thaytan@mad.scientist.com>
3437
3438         * gst/gst.c: (init_pre), (scan_and_update_registry),
3439         (ensure_current_registry_nonforking),
3440         (ensure_current_registry_forking), (ensure_current_registry),
3441         (init_post), (gst_debug_help), (gst_deinit):
3442
3443           Make init_pre and init_post take the full complement of GOptionFunc
3444           args so they can return useful GErrors. Make the registry updating
3445           functions do so.
3446
3447           Call _priv_gst_registry_remove_cache_plugins after scanning files to
3448           ensure that the registry we're about to write out doesn't contain
3449           stale information about old-deleted plugin files.
3450
3451           Make _priv_gst_registry_remove_cache_plugins return a boolean so
3452           that deletion of plugin files is considered a registry change.
3453
3454         * gst/gst_private.h:
3455         * gst/gstregistry.c: (gst_registry_finalize),
3456         (gst_registry_remove_features_for_plugin_unlocked),
3457         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
3458         (gst_registry_scan_path),
3459         (_priv_gst_registry_remove_cache_plugins),
3460         (_priv_gst_registry_cleanup):
3461         * gst/gstregistry.h:
3462         Rename _gst_registry_remove_cache_plugins and _gst_registry_cleanup
3463         by adding _priv prefix, so that they won't appear in the global
3464         symbol table. They still do atm though because of #318031. Move the
3465         prototypes to gst_private.h
3466
3467         When removing a plugin, remove all features for that plugin too. 
3468         Fixes #340878.
3469
3470 2006-09-27  Wim Taymans  <wim@fluendo.com>
3471
3472         * docs/random/moving-plugins:
3473         Make it clear that the "compiled-in descriptions" really mean
3474         the element details.
3475
3476         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3477         (gst_base_sink_wait_preroll):
3478         Update docs.
3479
3480         * docs/libs/gstreamer-libs-sections.txt:
3481         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
3482         (gst_base_src_get_range), (gst_base_src_activate_push):
3483         * libs/gst/base/gstbasesrc.h:
3484         Added function to block while waiting for PLAYING, this function
3485         is used by live sources that block on the clock.
3486         API: gst_base_src_wait_playing()
3487
3488 2006-09-27  Tim-Philipp Müller  <tim at centricular dot net>
3489
3490         Patch by: Peter Kjellerstedt <pkj at axis com>
3491
3492         * Makefile.am:
3493           gst-element-check.m4 is generated and should therefore be
3494           copied from the build dir rather than the source dir (#357593).
3495           'make distcheck' hasn't noticed this because we were disting
3496           the file as well, so stop doing that.
3497
3498 2006-09-27  Tim-Philipp Müller  <tim at centricular dot net>
3499
3500         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
3501           Add some tests for gst_caps_intersect().
3502
3503         * tools/gst-launch.c: (event_loop):
3504           Print all buffering percentages we get, even the 100% one.
3505
3506 2006-09-26  Wim Taymans  <wim@fluendo.com>
3507
3508         * tools/gst-inspect.c: (print_element_properties_info),
3509         (print_signal_info):
3510         Fix printing of flags to match the look of enums.
3511
3512 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
3513
3514         * gst/gstelementfactory.c:
3515           Fix typo in docs blurb.
3516
3517 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
3518
3519         * gst/gsturi.c: (search_by_entry):
3520           Don't assert/crash here if a uri handler doesn't return any
3521           supported protocols. The list of protocols could be generated
3522           dynamically at runtime or at plugin registration, and an error
3523           in the underlying library shouldn't be fatal (#353301).
3524
3525 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
3526
3527         * gst/gstinfo.c:
3528           Fix warning if HAVE_PRINTF_EXTENSION is undefined
3529           (spotted by Peter Kjellerstedt).
3530
3531 2006-09-23  Wim Taymans  <wim@fluendo.com>
3532
3533         Based on patch by: Antoine Tremblay <hexa00 at gmail dot com>
3534
3535         * libs/gst/base/gstbasesrc.c:
3536         (gst_base_src_default_check_get_range), (gst_base_src_start),
3537         (gst_base_src_activate_push), (gst_base_src_activate_pull),
3538         (gst_base_src_change_state):
3539         Match _start/_stop calls in the activate functions. Remove redundant
3540         _stop call from the state change function. Fixes #356910.
3541         Turn failure DEBUG into ERROR. 
3542
3543 2006-09-22  Wim Taymans  <wim@fluendo.com>
3544
3545         * docs/design/part-buffering.txt:
3546         * gst/gstmessage.c: (gst_message_new_buffering),
3547         (gst_message_parse_buffering):
3548         Update docs about buffering.
3549
3550         * docs/design/part-trickmodes.txt:
3551         Fix typo.
3552
3553 2006-09-22  Stefan Kost  <ensonic@users.sf.net>
3554
3555         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
3556         (gst_controller_new_list):
3557           Ref instances when returning them again (fixes #357180)
3558
3559 2006-09-22  Tim-Philipp Müller  <tim at centricular dot net>
3560
3561         * gst/gstghostpad.c: (gst_ghost_pad_set_target):
3562           Don't forget to release proxy lock when there's an error.
3563
3564 2006-09-20  Jan Schmidt  <thaytan@mad.scientist.com>
3565
3566         * gst/gstcaps.h:
3567           Add extra initialisers for Caps things, to fix some plugin warnings
3568           when using -Wextra
3569
3570 2006-09-18  Wim Taymans  <wim@fluendo.com>
3571
3572         * gst/gstghostpad.c: (gst_ghost_pad_new_full):
3573           Also set template on the internal pad so that a getcaps from the 
3574           target pad returns the template caps.
3575
3576 2006-09-18  Wim Taymans  <wim@fluendo.com>
3577
3578         * gst/gstelement.c: (gst_element_post_message),
3579         (gst_element_dispose):
3580         Use _DEBUG_OBJECT some more.
3581
3582         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
3583         Avoid typechecks.
3584
3585         * tools/gst-launch.c: (main):
3586         If the toplevel element is not a GstPipeline, it must be put in a
3587         pipeline so that a bus and clock is selected.
3588
3589 2006-09-17  Tim-Philipp Müller  <tim at centricular dot net>
3590
3591         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
3592           JITTER, RATE, and LATENCY query should be handled by the
3593           default case and not by the CONVERT query code.
3594
3595 2006-09-17  Tim-Philipp Müller  <tim at centricular dot net>
3596
3597         * gst/gstformat.c: (gst_format_register):
3598           Fix locking order (must take lock before using n_values).
3599
3600         * gst/gstvalue.c: (gst_value_serialize_enum),
3601         (gst_value_deserialize_enum_iter_cmp),
3602         (gst_value_deserialize_enum):
3603           Fix serialisation/deserialisation of custom registered GstFormats.
3604
3605         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
3606           Unit test for custom format serialisation/deserialisation.
3607
3608 2006-09-17  Stefan Kost  <ensonic@users.sf.net>
3609
3610         * docs/pwg/building-boiler.xml:
3611         * plugins/elements/gstcapsfilter.c:
3612         More G_OBJECT macro fixing. Also Fix some details on the plugin-stamp
3613         section.
3614
3615 2006-09-16  Edward Hervey  <edward@fluendo.com>
3616
3617         * libs/gst/base/gstbasetransform.c:
3618         (gst_base_transform_buffer_alloc):
3619         Check if requested caps are the same as the sinks caps IF
3620         ->have_same_caps is TRUE. If they are not, act as if have_same_caps
3621         is FALSE.
3622         This fixes the renegotiation issues stated in #352827.
3623
3624 2006-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3625
3626         * configure.ac:
3627         * docs/manual/advanced-autoplugging.xml:
3628         * tests/examples/Makefile.am:
3629         * tests/examples/manual/.cvsignore:
3630         * tests/examples/manual/Makefile.am:
3631         * tests/examples/manual/extract.pl:
3632           Extract the manual examples again like we used to do.
3633           Fix one of them.
3634
3635 2006-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3636
3637         * win32/common/config.h:
3638           update for version
3639
3640 2006-09-16  Stefan Kost  <ensonic@users.sf.net>
3641
3642         * gst/gsterror.c:
3643           Documents how to receive errors.
3644
3645 2006-09-15  Wim Taymans  <wim@fluendo.com>
3646
3647         * tools/gst-launch.c: (sigint_handler_sighandler), (check_intr),
3648         (event_loop), (main):
3649         Added some comments here and there.
3650         Post an application message when an interrupt is caught instead of doing
3651         an uncontrolled state change.
3652         Clean up the event loop.
3653         Handle buffering messages, pause/resume the pipeline.
3654         Make shutdown because of an interrupt more reliable.
3655
3656 2006-09-15  Wim Taymans  <wim@fluendo.com>
3657
3658         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3659         (gst_base_sink_wait_preroll), (gst_base_sink_do_sync),
3660         (gst_base_sink_preroll_object):
3661         Make sure that our internal state is correct when we commit our state
3662         asynchronously. This solves a race where a state change to PLAYING
3663         could cause the sink to remain blocked in preroll in some situations.
3664
3665 2006-09-15  Wim Taymans  <wim@fluendo.com>
3666
3667         * tools/gst-inspect.c: (print_element_properties_info),
3668         (print_signal_info):
3669         List flags as hex so it's easier to deal with.
3670
3671 2006-09-15  Wim Taymans  <wim@fluendo.com>
3672
3673         * docs/libs/gstreamer-libs-sections.txt:
3674         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_preroll),
3675         (gst_base_sink_do_sync):
3676         * libs/gst/base/gstbasesink.h:
3677         Expose logic to wait for preroll so that subclasses such as audiosink
3678         can also use this method.
3679         API: gst_base_sink_wait_preroll()
3680
3681 2006-09-15  Wim Taymans  <wim@fluendo.com>
3682
3683         * gst/gstobject.c: (gst_object_set_parent):
3684         * gst/gstpipeline.c: (do_pipeline_seek):
3685         Small cleanups in docs and code.
3686
3687         * gst/gstsegment.c: (gst_segment_clip):
3688         * tests/check/gst/gstsegment.c: (GST_START_TEST):
3689         if stop == start and start is in the segment, no clipping should be
3690         done. Also add a test for this.
3691
3692 2006-09-15  Wim Taymans  <wim@fluendo.com>
3693
3694         * docs/design/part-buffering.txt:
3695         * docs/gst/gstreamer-sections.txt:
3696         * gst/gstmessage.c: (gst_message_new_buffering),
3697         (gst_message_parse_buffering):
3698         * gst/gstmessage.h:
3699         Added methods to create and parse BUFFERING messages.
3700         Added preliminary docs about buffering.
3701         API: gst_message_new_buffering
3702         API: gst_message_parse_buffering
3703
3704 2006-09-06  Wim Taymans  <wim@fluendo.com>
3705
3706         * gst/gstbin.c:
3707         Update documentation.
3708
3709         * gst/gstelement.c: (gst_element_class_init),
3710         (gst_element_release_request_pad), (gst_element_set_clock),
3711         (gst_element_get_index), (gst_element_add_pad),
3712         (gst_element_remove_pad), (gst_element_get_random_pad),
3713         (gst_element_send_event), (gst_element_get_query_types),
3714         (gst_element_query), (gst_element_post_message),
3715         (gst_element_message_full), (gst_element_continue_state),
3716         (gst_element_lost_state), (gst_element_save_thyself),
3717         (gst_element_restore_thyself):
3718         Documentation updates.
3719         Rename last bit of the new-pad -> pad-added signal rename.
3720         Fix the case where an element query would only work if the source
3721         pad was linked.
3722         Avoid some useless type checking in message handling.
3723
3724         * gst/gstevent.c:
3725         * gst/gstevent.h:
3726         * gst/gstutils.c:
3727         Documentation updates.
3728
3729 2006-09-14  Thomas Vander Stichele  <thomas at apestaart dot org>
3730
3731         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
3732           add an INFO line for when we actually update the fd
3733
3734 2006-09-14  Thomas Vander Stichele  <thomas at apestaart dot org>
3735
3736         * configure.ac:
3737           back to TRUNK
3738
3739 === release 0.10.10 ===
3740
3741 2006-09-14  Thomas Vander Stichele <thomas at apestaart dot org>
3742
3743         * configure.ac:
3744           releasing 0.10.10, "Pais"
3745
3746 2006-09-05  Tim-Philipp Müller  <tim at centricular dot net>
3747
3748         * docs/manual/advanced-position.xml:
3749           Fix typo in sample code.
3750
3751 2006-09-05  Wim Taymans  <wim@fluendo.com>
3752
3753         * libs/gst/net/gstnetclientclock.c: (inet_aton),
3754         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
3755         (gst_net_client_clock_do_select), (gst_net_client_clock_new):
3756         * libs/gst/net/gstnetclientclock.h:
3757         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
3758         * libs/gst/net/gstnettimepacket.h:
3759         * libs/gst/net/gstnettimeprovider.c: (inet_aton),
3760         (gst_net_time_provider_init), (gst_net_time_provider_finalize),
3761         (gst_net_time_provider_thread), (gst_net_time_provider_new):
3762         * libs/gst/net/gstnettimeprovider.h:
3763         Make stuff compile on windows. Fixes #345295.
3764
3765 2006-09-03  Tim-Philipp Müller  <tim at centricular dot net>
3766
3767         * gst/gst.c: (ensure_current_registry_forking):
3768           Print better details when child was terminated by signal.
3769
3770 2006-09-03  Tim-Philipp Müller  <tim at centricular dot net>
3771
3772         * gst/gstregistryxml.c: (gst_registry_xml_save_feature):
3773           Print a warning rather than g_assert() if a plugin feature
3774           is a URI handler but returns no protocols (#353976).
3775
3776 2006-09-02  Stefan Kost  <ensonic@users.sf.net>
3777
3778         * docs/random/moving-plugins:
3779         Fix two typos.         
3780
3781 2006-09-01  Tim-Philipp Müller  <tim at centricular dot net>
3782
3783         * gst/gstinfo.c: (_gst_debug_nameof_funcptr):
3784           Fix locking order, handle NULL function values properly.
3785
3786         * gst/gstinfo.h:
3787           Fix docs.
3788
3789         * gst/gstpad.c: (gst_pad_buffer_alloc_unchecked):
3790           Initialise variable before using it and fix debug statement to
3791           print the address of the function rather than the address of the
3792           variable on the stack holding the address of the function.
3793
3794 2006-09-01  Wim Taymans  <wim@fluendo.com>
3795
3796         * gst/gstghostpad.c: (gst_proxy_pad_do_event),
3797         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_chain),
3798         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
3799         (gst_proxy_pad_set_target_unlocked), (gst_ghost_pad_parent_set),
3800         (gst_ghost_pad_parent_unset),
3801         (gst_ghost_pad_internal_do_activate_push),
3802         (gst_ghost_pad_internal_do_activate_pull),
3803         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
3804         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
3805         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
3806         (gst_ghost_pad_new_full), (gst_ghost_pad_new_no_target),
3807         (gst_ghost_pad_new), (gst_ghost_pad_new_from_template),
3808         (gst_ghost_pad_new_no_target_from_template),
3809         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
3810         More cleanups.
3811         Avoid needless typechecking in macros.
3812         Since the internal pad is always present and never changes, there is
3813         no need to locking or ref when retrieving it.
3814         Improve debugging a bit.
3815         Handle link errors when setting the target. Fixes #341029.
3816
3817 2006-09-01  Wim Taymans  <wim@fluendo.com>
3818
3819         * docs/libs/gstreamer-libs-sections.txt:
3820         * docs/plugins/gstreamer-plugins-sections.txt:
3821         Fix docs some more.
3822
3823         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
3824         (gst_collect_pads_event):
3825         * libs/gst/base/gstcollectpads.h:
3826         Documentation updates.
3827         Free queued buffer when removing a pad.
3828
3829 2006-08-31  Michael Smith  <msmith@fluendo.com>
3830
3831         * gst/gstutils.c: (gst_element_link_pads),
3832         (gst_element_link_pads_filtered):
3833           Ensure that we set a capsfilter to NULL if we failed to link it
3834           when doing filtered linking, to avoid criticals.
3835
3836           No need to check for unreffing srcpad, which is explicly NULLed
3837           above (a trivial code cleanup).
3838
3839 2006-08-31  Wim Taymans  <wim@fluendo.com>
3840
3841         * docs/design/part-gstghostpad.txt:
3842         Update ascii art in documentation.
3843
3844         * gst/gstghostpad.c: (gst_proxy_pad_do_internal_link),
3845         (gst_proxy_pad_set_target_unlocked), (gst_proxy_pad_init),
3846         (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
3847         (gst_ghost_pad_internal_do_activate_push),
3848         (gst_ghost_pad_internal_do_activate_pull),
3849         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
3850         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
3851         (gst_ghost_pad_dispose), (gst_ghost_pad_new_full),
3852         (gst_ghost_pad_set_target):
3853         Small cleanups and leak fixes.
3854         Remove some checks now that the internal pad is never NULL.
3855         Fix the case where linking pads without a target would create nasty
3856         criticals. Fixes #341029.
3857         Don't assign a GstPadLinkReturn to a gboolean and mess up the return
3858         value of _set_target().
3859
3860         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
3861         (gst_ghost_pad_suite):
3862         Some more tests for creating and linking untargeted ghostpads.
3863
3864 2006-08-31  Edward Hervey  <edward@fluendo.com>
3865
3866         * docs/gst/gstreamer-sections.txt:
3867         * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps),
3868         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
3869         (gst_proxy_pad_dispose), (gst_ghost_pad_new_full),
3870         (gst_ghost_pad_new_no_target), (gst_ghost_pad_new),
3871         (gst_ghost_pad_new_from_template),
3872         (gst_ghost_pad_new_no_target_from_template):
3873         * gst/gstghostpad.h:
3874         Refactored *_new() functions.
3875         Templates are now used as a g_object_new() parameter.
3876         Use template in _do_getcaps() if we don't have a target.
3877         Small documentation cleanups.
3878         Added two new constructors:
3879         gst_ghost_pad_new_from_template()
3880         gst_ghost_pad_new_no_target_from_template()
3881         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
3882         (gst_ghost_pad_suite):
3883         Added tests for new ghostpad instanciation functions.
3884
3885         API additions: gst_ghost_pad_new_from_template,
3886         gst_ghost_pad_new_no_target_from_template
3887
3888 2006-08-30  Stefan Kost  <ensonic@users.sf.net>
3889
3890         * docs/random/ensonic/profiling.txt:
3891           Ideas about qos profiling.
3892
3893 2006-08-29  Wim Taymans  <wim@fluendo.com>
3894
3895         * gst/gstcaps.c: (gst_caps_structure_is_subset_field):
3896         Code cleanups.
3897         Fix memleak.
3898
3899 2006-08-29  Tim-Philipp Müller  <tim at centricular dot net>
3900
3901         * gst/gstxml.c:
3902           Improve and detypofy docs.
3903
3904         * tests/check/Makefile.am:
3905         * tests/check/gst/.cvsignore:
3906         * tests/check/gst/gstxml.c: (GST_START_TEST), (gst_xml_suite):
3907           Add a basic test suite for GstXML.
3908
3909 2006-08-29  Wim Taymans  <wim@fluendo.com>
3910
3911         * gst/gstelement.c: (activate_pads), (clear_caps),
3912         (iterator_activate_fold_with_resync), (gst_element_pads_activate):
3913         Clear the pad caps when the element shut down all of the pads and
3914         is not streaming data that could modify the caps. 
3915         Fixes #352958.
3916
3917 2006-08-28  Michael Smith  <msmith@fluendo.com>
3918
3919         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
3920           Revert previous change; I misunderstood single-segment mode.
3921
3922 2006-08-28  Michael Smith  <msmith@fluendo.com>
3923
3924         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
3925           Unset DISCONT on buffers when using single-segment mode.
3926
3927 2006-08-28  Wim Taymans  <wim@fluendo.com>
3928
3929         * gst/gstcaps.c: (gst_caps_merge_structure):
3930         * gst/gstcaps.h:
3931         Fix docs and indentation again.
3932
3933         * tests/check/gst/gstquery.c: (GST_START_TEST):
3934         Fix leak in tests and add some more tests.
3935
3936 2006-08-28  Edward Hervey  <edward@fluendo.com>
3937
3938         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
3939         Inform GstSegment of the last stop position in order for the current
3940         segment to have a proper duration if it doesn't have a specific stop
3941         position from which a duration could be calculated.
3942         This bug was noticeable when a non-flushing, non-update new segment was
3943         followed by another segment (all buffers from the new segment were being
3944         dropped).
3945
3946 2006-08-28  Wim Taymans  <wim@fluendo.com>
3947
3948         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
3949         Small comment update.
3950
3951         * plugins/elements/gstidentity.c: (gst_identity_class_init),
3952         (gst_identity_transform_ip):
3953         Drop-probability is broken, mention this in the code with a 
3954         FIXME and also in the property description.
3955         Make silent also be silent about the drop messages.
3956
3957 2006-08-28  Tim-Philipp Müller  <tim at centricular dot net>
3958
3959         * docs/manual/appendix-win32.xml:
3960           Remove mention of popt, we don't depend on that any
3961           longer (#353136). Add some comments pointing out that
3962           this section is slightly outdated.
3963
3964 2006-08-28  Wim Taymans  <wim@fluendo.com>
3965
3966         Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
3967
3968         * gst/gstquery.c: (gst_query_new_segment):
3969         * tests/check/gst/gstquery.c: (GST_START_TEST):
3970         Initialize variables when creating a new segment query.
3971         Fixes #353121.
3972
3973 2006-08-28  Wim Taymans  <wim@fluendo.com>
3974
3975         Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
3976
3977         * gst/gstelement.c: (gst_element_get_bus):
3978         * tests/check/gst/gstelement.c: (GST_START_TEST):
3979         Check for NULL before _reffing the bus. Fixes #353122.
3980
3981 2006-08-25  Tim-Philipp Müller  <tim at centricular dot net>
3982
3983         * docs/manual/basics-bus.xml:
3984           Docs update: fix wrong callback return value explanation; add
3985           some lines about the implicit relationship between main loop
3986           and main context; remove duplicate main loop variable declaration.
3987
3988 2006-08-24  Tim-Philipp Müller  <tim at centricular dot net>
3989
3990         * tests/check/gst/gstcaps.c: (GST_START_TEST):
3991           Don't leak caps in unit test; add a few more simple
3992           checks. 
3993
3994 2006-08-24  Stefan Kost  <ensonic@users.sf.net>
3995
3996         * docs/gst/gstreamer-sections.txt:
3997         * gst/gstcaps.c: (gst_caps_structure_is_subset_field),
3998         (gst_caps_structure_is_subset), (gst_caps_merge),
3999         (gst_caps_merge_structure):
4000         * gst/gstcaps.h:
4001         * libs/gst/base/gstbasetransform.c:
4002         (gst_base_transform_transform_caps):
4003         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
4004           implement caps merging (fixes #352580)
4005
4006 2006-08-23  Stefan Kost  <ensonic@users.sf.net>
4007
4008         * tools/Makefile.am:
4009         * tools/gst-plot-timeline.py:
4010           add debug-log plotting developer tool (#340674)
4011
4012 2006-08-23  Wim Taymans  <wim@fluendo.com>
4013
4014         * gst/gstpad.c: (gst_pad_start_task), (gst_pad_pause_task),
4015         (gst_pad_stop_task):
4016         Improve debugging for task functions.
4017
4018         * gst/gsttask.c: (gst_task_func), (gst_task_set_lock),
4019         (gst_task_start), (gst_task_pause), (gst_task_join):
4020         Make sure that the task function started and finished after a 
4021         join(). 
4022         Don't try to push the task function on the threadpool multiple
4023         times.
4024         Improve the g_warning message with some useful suggestions
4025         about how to fix the problem. 
4026
4027 2006-08-23  Wim Taymans  <wim@fluendo.com>
4028
4029         * gst/gstutils.c: (gst_pad_proxy_getcaps):
4030         Handle RESYNC correctly in _proxy_getcaps.
4031
4032 2006-08-21  Tim-Philipp Müller  <tim at centricular dot net>
4033
4034         * gst/gstxml.c: (gst_xml_dispose), (gst_xml_parse_file),
4035         (gst_xml_parse_memory), (gst_xml_get_element):
4036           Chain up to parent class in dispose function and also
4037           unref the elements in the toplevel_elements GList.
4038           Don't leak XmlDocPtr in _parse_file() and _parse_memory().
4039           Always return a reference in gst_xml_get_element() rather
4040           than only sometimes.
4041
4042         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
4043           Don't leak GstXml object.
4044
4045 2006-08-21  Stefan Kost  <ensonic@users.sf.net>
4046
4047         * docs/gst/gstreamer-sections.txt:
4048         * gst/gstcaps.c: (gst_structure_is_equal_foreach),
4049         (gst_caps_merge):
4050         * gst/gstcaps.h:
4051         * libs/gst/base/gstbasetransform.c:
4052         (gst_base_transform_transform_caps):
4053           API: Add gst_caps_merge() and use it in basetransform, fixes #345444
4054           in a better way
4055
4056 2006-08-21  Edward Hervey  <edward@fluendo.com>
4057
4058         * gst/gstxml.c: (gst_xml_class_init), (gst_xml_dispose):
4059         Implement GObject::dispose virtual method in GstXML so we can free the
4060         top_elements GList.
4061
4062 2006-08-21  Wim Taymans  <wim@fluendo.com>
4063
4064         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable),
4065         (gst_buffer_create_sub):
4066         Copy duration/offset_end/caps when creating a subbuffer of the
4067         complete parent.
4068         Make the subbuffer read-only when we make the metadata writable for
4069         now. Fixes #351768.
4070
4071         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
4072         Added check for metadata copy when creating subbuffers.
4073
4074 2006-08-21  Edward Hervey  <edward@fluendo.com>
4075
4076         * libs/gst/base/gstbasetransform.c:
4077         (gst_base_transform_buffer_alloc):
4078         Only call downstream buffer_alloc if transform element is passthrough
4079         or always_in_place. Closes #350449.
4080
4081 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
4082
4083         * ChangeLog:
4084           ChangeLog surgery to add comments to previous changes
4085
4086 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
4087
4088         * gst/gst.c:
4089           Add comments
4090
4091         * gst/gstpad.c: (gst_pad_set_active):
4092           Be more verbose in the log
4093
4094         * libs/gst/base/gstbasetransform.c:
4095         (gst_base_transform_transform_caps):
4096           Simplify caps to get rid of duplicates, fixes #345444
4097
4098 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
4099
4100         * gst/gstvalue.c:
4101         * gst/gstvalue.h:
4102           Use these optimizations only internally.
4103
4104 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
4105
4106         * gst/gstvalue.c: (gst_value_compare_list),
4107         (gst_value_compare_fraction_range),
4108         (gst_value_intersect_fraction_fraction_range),
4109         (gst_value_intersect_fraction_range_fraction_range),
4110         (gst_value_subtract_fraction_fraction_range),
4111         (gst_value_subtract_fraction_range_fraction_range),
4112         (gst_value_get_compare_func), (gst_value_compare),
4113         (gst_value_compare_with_func):
4114         * gst/gstvalue.h:
4115           Saves the expensive lookup of the compare function in many cases
4116          (#345444)
4117
4118 2006-08-18  Edward Hervey  <edward@fluendo.com>
4119
4120         * tests/check/gst/gstinfo.c: (gst_info_suite):
4121         Disable test that require gstdebug if it wasn't built in core.
4122
4123 2006-08-18  Stefan Kost  <ensonic@users.sf.net>
4124
4125         * docs/random/ensonic/logging.txt:
4126           update ideas
4127           
4128         * gst/gstinfo.c: (gst_debug_log_default):
4129           reorder fields, save some columns, add optional color codes for log
4130           levels
4131
4132 2006-08-18  Stefan Kost  <ensonic@users.sf.net>
4133
4134         * docs/random/ensonic/logging.txt:
4135           add ideas about making the logs a bit more useful
4136
4137 2006-08-17  Tim-Philipp Müller  <tim at centricular dot net>
4138
4139         * docs/pwg/advanced-events.xml:
4140         * docs/pwg/titlepage.xml:
4141           Update for 0.10 API (#340627). Add myself
4142           to authors list.
4143
4144 2006-08-17  Tim-Philipp Müller  <tim at centricular dot net>
4145
4146         * docs/libs/gstreamer-libs-docs.sgml:
4147         * docs/libs/gstreamer-libs-sections.txt:
4148         * libs/gst/check/gstbufferstraw.c:
4149           Make gstcheck stuff show up in docs (still needs to
4150           be documented properly though).
4151
4152 2006-08-16  Jan Schmidt  <thaytan@mad.scientist.com>
4153
4154         * docs/gst/gstreamer-sections.txt:
4155         * gst/Makefile.am:
4156         * gst/gst.c: (init_post):
4157         * gst/gst_private.h:
4158         * gst/gstquark.c: (_priv_gst_quarks_initialize):
4159         * gst/gstquark.h:
4160         * gst/gstquery.c: (gst_query_new_position),
4161         (gst_query_set_position), (gst_query_parse_position),
4162         (gst_query_new_duration), (gst_query_set_duration),
4163         (gst_query_parse_duration), (gst_query_new_convert),
4164         (gst_query_set_convert), (gst_query_parse_convert),
4165         (gst_query_new_segment), (gst_query_set_segment),
4166         (gst_query_parse_segment), (gst_query_new_seeking),
4167         (gst_query_set_seeking), (gst_query_parse_seeking):
4168         Add internal helpers for pre-registering quarks from static strings
4169         and using the quark values directly instead of looking them up when
4170         creating and parsing queries. Can be used for event construction too.
4171         Closes #350432.
4172
4173 2006-08-16  Wim Taymans  <wim@fluendo.com>
4174
4175         * gst/gstbin.c:
4176         Fix bogus docs.
4177
4178 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
4179
4180         * gst/gstutils.c: (gst_util_set_value_from_string):
4181           Fix memleak (#351502).
4182
4183         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
4184           Add unit test for most of gst_util_set_value_from_string()
4185           (not that one would want to encourage use of this function).
4186
4187 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
4188
4189         * libs/gst/check/gstcheck.h:
4190           Use const gchar * variables in fail_unless_equals_string
4191           macro to avoid compiler warnings (and don't use tabs for
4192           indenting).
4193
4194 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
4195
4196         * tools/gst-launch.c: (print_tag):
4197           More space on the left for the tag names, to cater
4198           for the 'extended comment' tag (not touching the
4199           string for the first line since it's translated).
4200
4201 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
4202
4203         * libs/gst/check/gstcheck.h:
4204           Fix ASSERT_CRITICAL and ASSERT_WARNING macros to actually
4205           print something when they fail.
4206
4207 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
4208
4209         * docs/gst/gstreamer-sections.txt:
4210         * gst/gsttaglist.c: (_gst_tag_initialize):
4211         * gst/gsttaglist.h:
4212           API: add GST_TAG_EXTENDED_COMMENT (#350935).
4213           Also change merge function for GST_TAG_COMMENT to
4214           use_first.
4215
4216 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
4217
4218         * gst/gstinfo.c: (gst_debug_print_object):
4219           Make GST_PTR_FORMAT print messages as well.
4220
4221         * tests/check/gst/gstinfo.c: (printf_extension_log_func),
4222         (GST_START_TEST), (gst_info_suite):
4223           More tests.
4224
4225 2006-08-14  Edward Hervey  <edward@fluendo.com>
4226
4227         * gst/gstelementfactory.c: (gst_element_register):
4228         If the GstElementClass doesn't have a GstElementDetails with all fields
4229         filled up correctly (longname, description AND author), then error out
4230         nicely instead of crashing.
4231
4232 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
4233
4234         * gst/gststructure.c:
4235           Fix typo in docs and re-wrap docs blurb to not exceed 80 chars/line.
4236
4237         * gst/gstvalue.h:
4238           Expand on the difference between arrays and lists as we use them.
4239           
4240 2006-08-14  Wim Taymans  <wim@fluendo.com>
4241
4242         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
4243         If the parent state change function failed, don't assume we can safely
4244         stop the source, this will be done when the pads are deactivated.
4245
4246 2006-08-14  Wim Taymans  <wim@fluendo.com>
4247
4248         * gst/gstbuffer.c:
4249         * gst/gsttask.c: (gst_task_join):
4250         Small doc updates.
4251
4252         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
4253         (gst_pad_stop_task):
4254         When pad (de)activation failed for some reason, restore the old
4255         activation mode and set the pad to flushing instead of assuming the
4256         pad is deactivated.
4257         If the _task_join() failed, reinstall the task on the pad so that it can
4258         be stopped later and return an error.
4259
4260 2006-08-11  Andy Wingo  <wingo@pobox.com>
4261
4262         * configure.ac:
4263         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
4264         * tests/check/libs/gdp.c: (gst_dp_suite): GST_DISABLE_DEPRECATED
4265         is only for users of API that don't want to see deprecated
4266         functions in the headers; people that want to compile out
4267         deprecated code should pass -DGST_REMOVE_DEPRECATED into the
4268         CFLAGS. Fixes the build of multifdsink, or will soon..
4269
4270 2006-08-11  Wim Taymans  <wim@fluendo.com>
4271
4272         * docs/gst/gstreamer-sections.txt:
4273         Add GstClockClass vmethod docs.
4274
4275         * gst/gstcaps.h:
4276         Mark #endif with comment for associated #if
4277
4278         * gst/gstclock.c: (gst_clock_id_wait):
4279         * gst/gstclock.h:
4280         Add vmethod wait_jitter to avoid an unneeded _get_time() for
4281         most clock implementations.
4282         Document vmethods.
4283         Flesh out docs about resolution methods.
4284         API: GstClockClass::wait_jitter
4285
4286         * gst/gstsystemclock.c: (gst_system_clock_class_init),
4287         (gst_system_clock_async_thread),
4288         (gst_system_clock_id_wait_jitter_unlocked),
4289         (gst_system_clock_id_wait_jitter):
4290         Use base class wait_jitter variant for improved performance
4291         due to less clock polling.
4292
4293 2006-08-11  Edward Hervey  <edward@fluendo.com>
4294
4295         * gst/gst.c: (gst_init_check), (init_post):
4296         Set gst as being initialized before scanning/updating the registry,
4297         since there might be my python plugin loader that calls gst_init() and
4298         we don't want to loop back in.
4299         Closes #350879
4300
4301 2006-08-11  Wim Taymans  <wim@fluendo.com>
4302
4303         * docs/design/part-qos.txt:
4304         Bring docs in line with the code. Mostly the sign of the jitter was
4305         wrong in the docs. Fixes #349943.
4306
4307         * gst/gstclock.c:
4308         Fix the docs for the jitter.
4309
4310         * gst/gstevent.c: (gst_event_new_custom), (gst_event_new_tag),
4311         (gst_event_parse_tag), (gst_event_new_buffer_size),
4312         (gst_event_parse_buffer_size), (gst_event_parse_qos),
4313         (gst_event_new_seek), (gst_event_parse_seek),
4314         (gst_event_new_navigation):
4315         Make sure the GstStructure has no parent when creating custom
4316         events.
4317         Add some more argument checking so that we avoid 0.0 rates.
4318         Flesh out the docs for the QoS event some more.
4319
4320 2006-08-11  Wim Taymans  <wim@fluendo.com>
4321
4322         * docs/gst/gstreamer-sections.txt:
4323         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
4324         (ensure_current_registry_forking), (ensure_current_registry),
4325         (parse_one_option), (parse_goption_arg), (gst_deinit),
4326         (gst_registry_fork_is_enabled), (gst_registry_fork_set_enabled):
4327         * gst/gst.h:
4328         Doc updates.
4329         Added API and command line option to disable registry forking in
4330         addition to the environment variable.
4331         Constify some static arrays.
4332         Added some more debug.
4333         Don't deinit twice.
4334         API: gst_registry_fork_is_enabled()
4335         API: gst_registry_fork_set_enabled()
4336         API: --gst-disable-registry-fork command line option
4337         Fixes #348918.
4338
4339 2006-08-11  Tim-Philipp Müller  <tim at centricular dot net>
4340
4341         * gst/gst.c: (gst_init):
4342           Fix typo in error message.
4343
4344 2006-08-10  Stefan Kost  <ensonic@users.sf.net>
4345
4346         * libs/gst/controller/gstcontroller.h:
4347           fix ABI size-correction
4348
4349         * tests/check/libs/gdp.c: (gst_dp_suite):
4350           make tests that use deprecated API conditional
4351
4352 2006-08-10  Stefan Kost  <ensonic@users.sf.net>
4353
4354         * docs/libs/gstreamer-libs-sections.txt:
4355         * libs/gst/controller/gstcontroller.c:
4356         (_gst_controller_get_property), (_gst_controller_set_property),
4357         (_gst_controller_init), (_gst_controller_class_init):
4358         * libs/gst/controller/gstcontroller.h:
4359         * libs/gst/controller/gsthelper.c: (gst_object_get_control_rate),
4360         (gst_object_set_control_rate):
4361           API: add gst_object_{s,g}et_control_rate(), add private data section,
4362           fix docs
4363
4364         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
4365         * libs/gst/dataprotocol/dataprotocol.h:
4366           add deprecation guards to make gtk-doc happy and allow disabling cruft
4367
4368 2006-08-09  Tim-Philipp Müller  <tim at centricular dot net>
4369
4370         * tests/check/Makefile.am:
4371         * tests/check/gst/.cvsignore:
4372           Let's enable the new unit test as well.
4373
4374 2006-08-08  Tim-Philipp Müller  <tim at centricular dot net>
4375
4376         * configure.ac:
4377         * docs/gst/gstreamer-sections.txt:
4378         * gst/gstconfig.h.in:
4379         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_print_segment),
4380         (_gst_info_printf_extension_ptr),
4381         (_gst_info_printf_extension_segment):
4382           API: add GST_SEGMENT_FORMAT, which is a printf extension we
4383           register that lets us easily dump GstSegments into debug
4384           logs (#350419).
4385
4386         * tests/check/gst/gstinfo.c: (segment_printf_extension_log_func),
4387         (info_segment_format_printf_extension), (gst_info_suite):
4388           Add simple unit test that logs a bunch of different segments (not
4389           valgrinded at the moment because of leaks in
4390           gst_debug_add_log_function).
4391
4392 2006-08-09  Edward Hervey  <edward@fluendo.com>
4393
4394         * libs/gst/base/gstbasetransform.c:
4395         (gst_base_transform_buffer_alloc):
4396         Even if we can't figure out the proper format to request downstream,
4397         call buffer_alloc() downstream with the input parameters without setting
4398         the caps on the srcpad. This will force negotiation in the chain
4399         function.
4400         Closes #350449
4401
4402 2006-08-08  Edward Hervey  <edward@fluendo.com>
4403
4404         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
4405         Unlinking from a pad without a target is now a perfectly valid case
4406         which should NOT raise an assertion.
4407         This case would happen if a linked ghostpad its target set to NULL after
4408         it was previously linked.
4409
4410 2006-08-08  Edward Hervey  <edward@fluendo.com>
4411
4412         * tests/check/libs/gdp.c:
4413         Also comment out the test (see below).
4414
4415 2006-08-08  Edward Hervey  <edward@fluendo.com>
4416
4417         * tests/check/libs/gdp.c: (gst_dp_suite):
4418         Use the architecture information from config.h and not gcc macros
4419         in order to properly disable a test that fails on PPC64.
4420
4421 2006-08-04  Tim-Philipp Müller  <tim at centricular dot net>
4422
4423         * gst/gstelement.c: (gst_element_remove_pad):
4424           Don't crash printing the warning if the pad has no parent.
4425
4426 2006-08-02  Wim Taymans  <wim@fluendo.com>
4427
4428         * libs/gst/dataprotocol/dataprotocol.c:
4429         (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
4430         (gst_dp_crc), (gst_dp_header_payload_length),
4431         (gst_dp_header_payload_type), (gst_dp_packet_from_event),
4432         (gst_dp_packet_from_event_1_0), (gst_dp_buffer_from_header),
4433         (gst_dp_caps_from_packet), (gst_dp_event_from_packet_0_2),
4434         (gst_dp_event_from_packet), (gst_dp_validate_header),
4435         (gst_dp_validate_payload):
4436         Make debug category static
4437         Constify the crc table.
4438         Do some more arg checking in public functions.
4439         Fix some docs and do some small cleanups.
4440
4441         * tests/check/libs/gdp.c: (GST_START_TEST), (gst_dp_suite):
4442         Add some more checks to see if GDP deals with bogus input.
4443
4444 2006-07-31  Wim Taymans  <wim@fluendo.com>
4445
4446         * gst/gstvalue.c: (gst_value_compare_list):
4447         Fix GstValueList comparison code. Fixes #347293.
4448
4449         * tests/check/gst/gstvalue.c: (GST_START_TEST):
4450         Check to test GstValueList comparison.
4451
4452 2006-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
4453
4454         * gst/gstelementfactory.c: (gst_element_factory_create):
4455         Remove unnecessary ref/unref pair
4456
4457         * gst/parse/grammar.y:
4458         Make sure to free the parse buffer on all code paths.
4459         Move a g_free up to the error handler where it's easier to see.
4460
4461         * tests/check/gst/gstevent.c: (test_event):
4462         Extending timeout for downstream travelling events to 10 seconds to
4463         hopefully avoid intermittent failure on the buildbots.
4464
4465         * tests/check/pipelines/parse-launch.c: (run_delayed_test):
4466         Don't manually set the state of the src element - it will happen as a
4467         natural consequence of the pipeline changing state, and that way it
4468         will do it in the right order too.
4469
4470 2006-07-31  Wim Taymans  <wim@fluendo.com>
4471
4472         * libs/gst/base/gstbasetransform.c:
4473         (gst_base_transform_buffer_alloc):
4474         Use OBJECT_LOCK and refcounting to get the pad caps in the
4475         buffer_alloc function because the caps could change while we are
4476         busy with them. Fixes #349105
4477
4478 2006-07-31  Wim Taymans  <wim@fluendo.com>
4479
4480         * gst/gstutils.c: (gst_pad_get_fixed_caps_func):
4481         Protect _PAD_CAPS with OBJECT_LOCK.
4482
4483 2006-07-31  Wim Taymans  <wim@fluendo.com>
4484
4485         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
4486         (gst_pad_get_property), (gst_pad_activate_pull),
4487         (gst_pad_activate_push), (gst_pad_set_blocked_async),
4488         (gst_pad_set_activate_function),
4489         (gst_pad_set_activatepull_function),
4490         (gst_pad_set_activatepush_function), (gst_pad_set_chain_function),
4491         (gst_pad_set_getrange_function),
4492         (gst_pad_set_checkgetrange_function), (gst_pad_set_event_function),
4493         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
4494         (gst_pad_set_internal_link_function), (gst_pad_set_link_function),
4495         (gst_pad_set_unlink_function), (gst_pad_set_getcaps_function),
4496         (gst_pad_set_acceptcaps_function),
4497         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
4498         (gst_pad_set_bufferalloc_function), (gst_pad_link_check_hierarchy),
4499         (gst_pad_get_caps_unlocked), (gst_pad_get_caps),
4500         (gst_pad_peer_get_caps), (gst_pad_accept_caps),
4501         (gst_pad_peer_accept_caps), (gst_pad_set_caps),
4502         (gst_pad_configure_sink), (gst_pad_configure_src),
4503         (gst_pad_get_allowed_caps), (gst_pad_get_negotiated_caps),
4504         (gst_pad_buffer_alloc_unchecked), (gst_pad_alloc_buffer_full),
4505         (gst_pad_query), (gst_pad_load_and_link), (handle_pad_block),
4506         (gst_pad_chain_unchecked), (gst_pad_push), (gst_pad_get_range),
4507         (gst_pad_send_event):
4508         Use _DEBUG_OBJECT when it makes sense.
4509         Protect GST_PAD_CAPS with the OBJECT_LOCK.
4510         Small cleanups and code reflows.
4511         Avoid caps refcounting in _accept_caps.
4512         Refactor alloc_buffer so that the code performed on the peer is in a
4513         separate function. Also if the pad does not implement a buffer alloc
4514         function, we should still check if the pad is flushing before falling
4515         back to the default allocator.
4516
4517 2006-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
4518
4519         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
4520         Make all uses of identity and fakesink have silent=true to avoid
4521         serialising every passing data structure, which is breaking tests
4522         on FC4 for some unknown reason.
4523
4524 2006-07-30  Stefan Kost  <ensonic@users.sf.net>
4525
4526         * gst/parse/Makefile.am:
4527         * gst/parse/grammar.y:
4528         * gst/parse/parse.l:
4529           Reverted previous patch as it required to bump the flex dependency to
4530           2.5.31, where fc4/5 seem to ship only the ancient 2.5.4a :(
4531
4532 2006-07-30  Stefan Kost  <ensonic@users.sf.net>
4533
4534         Patch by: Marc-Andre Lureau <marcandre.lureau@gmail.com>
4535
4536         * gst/parse/Makefile.am:
4537         * gst/parse/grammar.y:
4538         * gst/parse/parse.l:
4539           push & pop the state of the lexer for reentrant use case
4540           Fixes #349180
4541
4542 2006-07-29  Tim-Philipp Müller  <tim at centricular dot net>
4543
4544         * libs/gst/base/gstbasesrc.h:
4545           Note in the docs that the ::newsegment vfunc is not actually used by
4546           GstBaseSrc.
4547
4548 2006-07-28  Wim Taymans  <wim@fluendo.com>
4549
4550         * libs/gst/base/gstcollectpads.c:
4551         (gst_collect_pads_set_flushing_unlocked), (gst_collect_pads_pop),
4552         (gst_collect_pads_clear), (gst_collect_pads_flush),
4553         (gst_collect_pads_event), (gst_collect_pads_chain):
4554         When flushing a pad, also clear the queued buffer so that we don't
4555         accidentally use it when we shouldn't.
4556         Fix leaks by inreffing incomming buffer.
4557         Flush out queued buffers in case of errors.
4558         Fixes #347452.
4559
4560 2006-07-28  Wim Taymans  <wim@fluendo.com>
4561
4562         * docs/random/phonon-gst:
4563         Random notes about a Phonon backend.
4564
4565 2006-07-27  Jan Schmidt  <thaytan@mad.scientist.com>
4566
4567         * libs/gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
4568         Extra debug output
4569         * tests/check/libs/gdp.c: (gst_dp_suite):
4570         Take a whack at fixing the ppc compile using a different define to
4571         disable the broken test.
4572
4573         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
4574         Remove excess g_print()
4575
4576 2006-07-27  Jan Schmidt <thaytan@mad.scientist.com>
4577
4578         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
4579         Oops, meant to uncomment this line too to dampen the noise a bit.
4580
4581 2006-07-27  Jan Schmidt <thaytan@mad.scientist.com>
4582
4583         * gst/parse/grammar.y:
4584         * gst/parse/parse.l:
4585         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
4586         (GST_START_TEST), (parse_suite):
4587         Fix some of the leaks exposed by extending the parse-launch testsuite,
4588         and move the 3 I can't figure out into a separate test that won't run
4589         the pipelines unless the appropriate line is uncommented.
4590
4591 2006-07-27  Tim-Philipp Müller  <tim at centricular dot net>
4592
4593         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
4594           Requesting 0 bytes before the end of the file should result in
4595           FLOW_OK and an empty buffer, not FLOW_UNEXPECTED. Thank you
4596           unit test.
4597
4598 2006-07-27  Wim Taymans  <wim@fluendo.com>
4599
4600         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_get_structure):
4601         Fix useless assert, a uint is always positive.
4602
4603         * gst/gststructure.c: (gst_structure_nth_field_name),
4604         (gst_structure_foreach), (gst_structure_map_in_place):
4605         Check input arguments for public functions to avoid obvious crashes.
4606
4607         * plugins/elements/gstfakesink.c: (gst_fake_sink_render):
4608         * plugins/elements/gstfakesink.h:
4609         Do less useless typechecking.
4610
4611 2006-07-27  Tim-Philipp Müller  <tim at centricular dot net>
4612
4613         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
4614           Do not use mmap() by default since there are a number of error
4615           conditions that we would like to handle in a non-fatal way that
4616           will result in a SIGBUS if we use mmap(). Examples: external
4617           devices (USB harddrive, portable music player) being unplugged
4618           while in use; file on mounted CD/DVD that can't be read because
4619           the medium is partly damaged. Fixes #348455 and #348475.
4620
4621 2006-07-27  Jan Schmidt  <thaytan@mad.scientist.com>
4622
4623         * gst/gstquery.h:
4624         Delete unused and misleading define of GST_QUERY_TYPE_RATE_DEN -
4625         rates are a gdouble
4626
4627 2006-07-26  Stefan Kost  <ensonic@users.sf.net>
4628
4629         * gst/gstregistry.c:
4630           Move big documentation comment into class section header, so that it
4631           appears in the API docs.
4632
4633 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
4634
4635         * docs/gst/gstreamer-sections.txt:
4636         Oops. Commit the docs additions too for new API.
4637         Also, remove the mention of the non-existent GST_QUERY_TYPE_RATE_DEN
4638
4639 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
4640
4641         * gst/gststructure.c: (gst_structure_id_set),
4642         (gst_structure_id_set_valist):
4643         * gst/gststructure.h:
4644         Add API for setting values into structures without performing
4645         a quark lookup, if the appropriate quark is already known.
4646
4647         API: gst_structure_id_set
4648         API: gst_structure_id_set_valist
4649
4650         * gst/parse/grammar.y:
4651         * gst/parse/parse.l:
4652         Remove some dead code shown by the coverage information.
4653         Don't throw a critical g_warning when encountering a syntax error,
4654         just warn and let the normal error path handle it.
4655
4656         * plugins/elements/gstelements.c:
4657         Bump the rank of filesink up to PRIMARY so that it is preferred over
4658         gnomevfssink for file:// sink uri's
4659
4660         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
4661         (GST_START_TEST), (run_delayed_test),
4662         (gst_parse_test_element_base_init),
4663         (gst_parse_test_element_class_init), (gst_parse_test_element_init),
4664         (gst_parse_test_element_change_state),
4665         (gst_register_parse_element), (parse_suite):
4666         Beef up the tests for parse syntax to check that more error cases
4667         fail as they are supposed to. Increases the test coverage a bit.
4668
4669 2006-07-26  Tim-Philipp Müller  <tim at centricular dot net>
4670
4671         * docs/manual/basics-elements.xml:
4672           Fix gst_element_link() example.
4673
4674         * gst/gstutils.c:
4675           Mention in API docs that one should usually gst_bin_add()
4676           elements to a bin or pipeline before doing the linking.
4677           
4678 2006-07-26  Wim Taymans  <wim@fluendo.com>
4679
4680         * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_new),
4681         (gst_subbuffer_get_type), (gst_buffer_create_sub):
4682         Avoid function call for known types by keeping the buffer and
4683         subbuffer GType global.
4684
4685         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
4686         Random silly optimisations in read() path.
4687
4688 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
4689
4690         * tools/gst-launch.c: (main):
4691           If the top-level of the parse is a normal bin, it doesn't do the
4692           right logic to run as a top-level element, so place it inside a
4693           pipeline.
4694
4695 2006-07-25  Tim-Philipp Müller  <tim at centricular dot net>
4696
4697         * plugins/elements/gstfilesrc.c: (gst_file_src_set_property):
4698           Remove superfluous g_object_notify() calls, GObject does
4699           that for us automatically.
4700
4701 2006-07-25  Stefan Kost  <ensonic@users.sf.net>
4702
4703         * gst/gstinfo.h:
4704           on Win32, use dllspec to export the debug category symbols
4705
4706 2006-07-24  Tim-Philipp Müller  <tim at centricular dot net>
4707
4708         * gst/gsttaglist.c: (_gst_tag_initialize):
4709           Allow more than one GST_TAG_IMAGE per taglist.
4710
4711 2006-07-24  Thomas Vander Stichele  <thomas at apestaart dot org>
4712
4713         * gst/gstminiobject.c:
4714           update docs
4715         * plugins/elements/gstfdsrc.c: (gst_fd_src_set_property),
4716         (gst_fd_src_create):
4717           log recurring events at LOG level
4718           add more debug for when the fd gets set
4719
4720 2006-07-21  Stefan Kost  <ensonic@users.sf.net>
4721
4722         * gst/gstparse.c: (gst_parse_launch):
4723           Also remove reentrance checks if flex is MT safe (#348179)
4724          Fix my empty ChangeLog entry below
4725
4726 2006-07-21  Andy Wingo  <wingo@pobox.com>
4727
4728         * docs/libs/gstreamer-libs-sections.txt: Attempt to pacify buildbot.
4729
4730         * libs/gst/check/Makefile.am
4731         (libgstcheck_@GST_MAJORMINOR@include_HEADERS)
4732         (libgstcheck_@GST_MAJORMINOR@_la_SOURCES): 
4733         * libs/gst/check/gstbufferstraw.h:
4734         * libs/gst/check/gstbufferstraw.c: Add some new hype testing
4735         functions, thus proving I am still a GStreamer haxor. OK I wrote
4736         them a long time ago, but anyways.
4737
4738 2006-07-21  Stefan Kost  <ensonic@users.sf.net>
4739
4740         * configure.ac:
4741         * gst/gstparse.c: (gst_parse_launch):
4742           Check for flex version and omit mutex if we have a MT save flex
4743           (fixes #348179)
4744
4745 2006-07-21  Wim Taymans  <wim@fluendo.com>
4746
4747         * gst/gstparse.c: (gst_parse_launch):
4748         Protect recursive calls to _parse with a recursive mutex
4749         and busy flag.
4750
4751 2006-07-21  Wim Taymans  <wim@fluendo.com>
4752
4753         * tests/check/gst/gstpad.c: (GST_START_TEST):
4754         Fix leak in test.
4755
4756 2006-07-20  Stefan Kost  <ensonic@users.sf.net>
4757
4758         * gst/gstparse.c: (gst_parse_launch):
4759           Do not hang on recursive usage of gst_parse_launch()
4760
4761 2006-07-20  Tim-Philipp Müller  <tim at centricular dot net>
4762
4763         * gst/gsttaglist.c:
4764           Add some more docs, comments and FIXME 0.11s here and there
4765           and also fix some typos.
4766
4767 2006-07-20  Tim-Philipp Müller  <tim at centricular dot net>
4768
4769         * gst/gstsegment.h:
4770           Convert tabs to spaces for better readability. 
4771
4772 2006-07-20  Edward Hervey  <edward@fluendo.com>
4773
4774         * tests/check/libs/gdp.c: (gst_dp_suite):
4775         the test_buffer test fails at line 140 on ppc64 at the following
4776         check:
4777         fail_unless (GST_BUFFER_FLAG_IS_SET (newbuffer,
4778                 GST_BUFFER_FLAG_IN_CAPS),
4779                 "GST_BUFFER_IN_CAPS flag should have been copied !");
4780         See bug #348114 for more details.
4781
4782 2006-07-19  Tim-Philipp Müller  <tim at centricular dot net>
4783
4784         * docs/pwg/advanced-scheduling.xml:
4785         * gst/gstpad.c:
4786           Fix typos (#348000).
4787
4788 2006-07-18  Tim-Philipp Müller  <tim at centricular dot net>
4789
4790         * docs/pwg/intro-basics.xml:
4791           Fix wrong links (#347927).
4792
4793 2006-07-18  Stefan Kost  <ensonic@users.sf.net>
4794
4795         * gst/gstregistry.h:
4796         * gst/gstregistryxml.c: (load_feature),
4797         (gst_registry_xml_read_cache), (gst_registry_xml_save_feature):
4798         * win32/common/config.h:
4799           make --disable-index work (#342564)
4800
4801 2006-07-18  Wim Taymans  <wim@fluendo.com>
4802
4803         Patch by: Peter Kjellerstedt <pkj at axis dot com>
4804
4805         * gst/Makefile.am:
4806         * gst/gsttrace.h:
4807         The attached patch adds two missing defines to gsttrace.h when tracing
4808         is disabled.  It also corrects one existing define.
4809         Fixes #347756.
4810
4811 2006-07-17  Wim Taymans  <wim@fluendo.com>
4812
4813         * docs/gst/gstreamer-sections.txt:
4814         * gst/gst.c: (gst_segtrap_is_enabled), (gst_segtrap_set_enabled):
4815         * gst/gst.h:
4816         * gst/gstplugin.c: (_gst_plugin_fault_handler_restore):
4817         Add two functions to check and change the SIGSEGV behaviour
4818         when loading plugins.
4819         Don't mess with the SIGSEGV handler when we were told not to.
4820         Fixes #347794.
4821         API: gst_segtrap_is_enabled
4822         API: gst_segtrap_set_enabled
4823
4824 2006-07-14  Wim Taymans  <wim@fluendo.com>
4825
4826         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
4827         * tests/check/elements/filesrc.c: (GST_START_TEST):
4828         Revert fix for regression in #347408 after release.
4829
4830 2006-07-14  Tim-Philipp Müller  <tim at centricular dot net>
4831
4832         Patch by: Antoine Tremblay <hexa00 at gmail com>
4833
4834         * gst/gstutils.c: (gst_element_unlink):
4835           Free iterator when done (#347311).
4836
4837         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
4838           And add a test case for this.
4839
4840 2006-07-14  Jan Schmidt  <thaytan@mad.scientist.com>
4841
4842         * configure.ac:
4843         Bump nano back to CVS
4844
4845 === release 0.10.9 ===
4846
4847 2006-07-13  Jan Schmidt <thaytan@mad.scientist.com>
4848
4849         * configure.ac:
4850           releasing 0.10.9, "On the road again"
4851
4852 2006-07-13  Wim Taymans  <wim@fluendo.com>
4853
4854         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
4855         * tests/check/elements/filesrc.c: (GST_START_TEST):
4856         Revert pull-0 fix for release. Disable check. Fixes #347408.
4857
4858 2006-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4859
4860         * libs/gst/dataprotocol/dataprotocol.c:
4861         (gst_dp_event_from_packet_1_0):
4862           Fixes #347337: failure to deserialize event packets with
4863           empty payload (only event type)
4864
4865 2006-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4866
4867         * gst/Makefile.am:
4868           do not install a .c file in the header directory
4869
4870 2006-07-13  Edward Hervey  <edward@fluendo.com>
4871
4872         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
4873         GhostPad no longer implicitely use the padtemplates of the targets.
4874         Fixes #347384
4875
4876 2006-07-11  Jan Schmidt  <thaytan@mad.scientist.com>
4877
4878         * gst/gstvalue.c: (gst_value_compare_list),
4879         (gst_value_compare_array), (_gst_value_initialize):
4880         * tests/check/gst/gstvalue.c: (GST_START_TEST):
4881         Make GstValueArray comparison be order dependent as designed.
4882         Add checks for value lists and value array comparisons.
4883         Fixes #347221
4884
4885 2006-07-11  Edward Hervey  <edward@fluendo.com>
4886
4887         * gst/gstbin.c: (activate_pads),
4888         (iterator_activate_fold_with_resync), (gst_bin_src_pads_activate),
4889         (gst_bin_change_state_func):
4890         (de)activate src pads before calling state_change on the childs.
4891         This is to avoid the case where a src ghostpad is blocked (holding the
4892         stream lock), which would block the deactivation of the ghostpad's
4893         target pad.
4894         * gst/gstghostpad.c: (gst_proxy_pad_do_query_type),
4895         (gst_proxy_pad_do_event), (gst_proxy_pad_do_query),
4896         (gst_proxy_pad_do_internal_link), (gst_proxy_pad_do_bufferalloc),
4897         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
4898         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
4899         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
4900         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
4901         (gst_proxy_pad_set_target), (gst_proxy_pad_get_internal),
4902         (gst_proxy_pad_dispose), (gst_proxy_pad_init),
4903         (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
4904         (gst_ghost_pad_class_init),
4905         (gst_ghost_pad_internal_do_activate_push),
4906         (gst_ghost_pad_internal_do_activate_pull),
4907         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
4908         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
4909         (gst_ghost_pad_dispose), (gst_ghost_pad_new_no_target),
4910         (gst_ghost_pad_new), (gst_ghost_pad_set_target):
4911         GhostPads now create their internal GstProxyPad at creation (and not
4912         when they're linked, as it was being done previously).
4913         The internal and target pads are linked straight away.
4914         The data will also travel through the other pad in order to make
4915         pad blocking and probes non-hackish (the probe/block now really happens
4916         on the GhostPad and not on the target).
4917         * gst/gstpad.c: (gst_pad_set_blocked_async),
4918         (gst_pad_link_prepare), (gst_pad_push_event):
4919         Remove previous ghostpad cruft.
4920         * gst/gstutils.c: (gst_pad_add_data_probe),
4921         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
4922         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
4923         (gst_pad_remove_buffer_probe):
4924         Remove previous ghost pad cruft.
4925         Added more detailed debug statements.
4926         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
4927         Fix the testsuite for refcounting changes.
4928         The comments about who has references were correct, but the refcount
4929         being checked wasn't the same (!?!).
4930
4931         Fixes #341029
4932
4933 2006-07-10  Stefan Kost  <ensonic@users.sf.net>
4934
4935         * docs/gst/gstreamer-sections.txt:
4936         * gst/gstconfig.h.in:
4937         More docs for configuration options, add docs to gtk-doc.
4938
4939 2006-07-10  Stefan Kost  <ensonic@users.sf.net>
4940
4941         * gst/Makefile.am:
4942         * gst/gstconfig.h.in:
4943         * win32/common/config.h:
4944         Fix build when disabling tracing (fixes #344016). Also start to document
4945         the defines that disable the sub-systems.
4946
4947 2006-07-10  Edward Hervey  <edward@fluendo.com>
4948
4949         * gst/gst.c: (ensure_current_registry_forking):
4950         let's make valgrind happy...
4951
4952 2006-07-09  Wim Taymans  <wim@fluendo.com>
4953
4954         * gst/gstelement.c: (activate_pads),
4955         (iterator_activate_fold_with_resync), (gst_element_pads_activate):
4956         Better pad activation code: Reset the collect value too on resync.
4957         Add some comments.
4958
4959 2006-07-09  Wim Taymans  <wim@fluendo.com>
4960
4961         * gst/gstpad.c: (gst_pad_init), (gst_pad_activate_pull),
4962         (gst_pad_activate_push):
4963         Use some more macros where it makes sense.
4964         Allow pad mode switching instead of asserting. When a pad
4965         is activated in one mode and we activate it in another, 
4966         deactivate it first before activating it in a different mode.
4967         Fixes #329198.
4968
4969 2006-07-08  Andy Wingo  <wingo@pobox.com>
4970
4971         * tools/gst-launch.c (main): Handle err == NULL.
4972
4973         * gst/gst.c (init_post, ensure_current_registry)
4974         (ensure_current_registry_forking)
4975         (ensure_current_registry_nonforking): Reduce #ifdef ratnest by
4976         factoring out the registry scanning into separate functions. Don't
4977         fork for the rescan is GST_REGISTRY_FORK=no; useful in debugging.
4978         Better environment var name/interface suggestions accepted.
4979
4980 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
4981
4982         * gst/gstobject.c: (gst_object_set_name_default),
4983         (gst_object_set_name):
4984           Random micro-optimisation: don't use a hash table
4985           with strings as keys and the usual strdup/strcmp
4986           involved, but rather just use the GQuark of the
4987           type name as key, since it needs to be looked up
4988           anyway to get the type name string.
4989
4990         * tests/check/gst/gstobject.c: (GST_START_TEST):
4991           Fix various leaks.
4992
4993 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
4994
4995         * gst/gstbin.c: (compare_interface), (gst_bin_get_by_interface),
4996         (gst_bin_iterate_all_by_interface):
4997           Can't use GPOINTER_TO_INT and GINT_TO_POINTER with GTypes.
4998           GTypes are gulongs and thus the top 4 bytes might be cut
4999           off on some platforms when doing GPOINTER_TO_INT, leading
5000           to invalid GTypes and bad things happening (see RH bug #179654).
5001           Also add a check to make sure the type passed in is really
5002           an interface type.
5003
5004 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
5005
5006         * .cvsignore:
5007           Ignore more.
5008
5009 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
5010
5011         * Makefile.am:
5012         * configure.ac:
5013         * gst-element-check.m4:
5014         * gst-element-check.m4.in:
5015           Make gst-element-check-$VERSION.m4 call gst-inspect-$VERSION
5016           instead of the unversioned gst-inspect (#324176, #168659).
5017
5018 2006-07-06  Wim Taymans  <wim@fluendo.com>
5019
5020         * gst/gstmessage.h:
5021         Use a valid int for the _MESSAGE_ANY enum value to avoid compiler
5022         warnings.
5023
5024 2006-07-06  Wim Taymans  <wim@fluendo.com>
5025
5026         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
5027         (gst_base_src_wait), (gst_base_src_update_length),
5028         (gst_base_src_get_range), (gst_base_src_default_check_get_range),
5029         (gst_base_src_check_get_range), (gst_base_src_pad_check_get_range),
5030         (gst_base_src_loop), (gst_base_src_start),
5031         (gst_base_src_activate_pull):
5032         Update docs.
5033         blocksize == 0 now means the default blocksize when working in push
5034         based mode.
5035         Remove some pointless asserts in _wait function.
5036         Fix offset/length calculations and EOS handling. We can now pull 0
5037         bytes as well, which is allowed.
5038         use _check_get_range() to decide if we can operate in _pull based
5039         mode.
5040         Fix refcounting leak when check_get_range function was not 
5041         implemented.
5042         API GstBaseSrc::blocksize range can be 0 too now (default)
5043
5044         * tests/check/elements/filesrc.c: (GST_START_TEST),
5045         (filesrc_suite):
5046         Added check to test _get_range() behaviour.
5047
5048 2006-07-06  Wim Taymans  <wim@fluendo.com>
5049
5050         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
5051         (gst_pad_push), (gst_pad_check_pull_range), (gst_pad_get_range),
5052         (gst_pad_pull_range):
5053         * gst/gstpad.h:
5054         Lots of comments and docs added to the pad functions.
5055         Flesh out the expected behaviour of the get_range() functions.
5056
5057 2006-07-06  Wim Taymans  <wim@fluendo.com>
5058
5059         * gst/gstbus.h:
5060         * gst/gstclock.h:
5061         * gst/gstevent.h:
5062         * gst/gstiterator.h:
5063         * gst/gstpad.h:
5064         * gst/gstplugin.h:
5065         * gst/gsttask.h:
5066         Remove comma at end of enumerator list. 
5067
5068 2006-07-05  Sebastien Moutte  <sebastien@moutte.net>
5069
5070         * win32/common/libgstbase.def:
5071         * win32/common/libgstdataprotocol.def:
5072         * win32/common/libsgtreamer.def:
5073         Add new exported functions.
5074
5075 2006-07-05  Wim Taymans  <wim@fluendo.com>
5076
5077         * libs/gst/base/gstpushsrc.c: (gst_push_src_check_get_range):
5078         Add some more docs here and there.
5079
5080 2006-07-05  Wim Taymans  <wim@fluendo.com>
5081
5082         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_object),
5083         (gst_base_sink_loop), (gst_base_sink_get_position):
5084         When operating in pull mode update the offset so that we
5085         read sequentially.
5086
5087 2006-07-05  Wim Taymans  <wim@fluendo.com>
5088
5089         * gst/gstregistryxml.c: (read_string):
5090         Avoid strdup. (will happen in libxml, but hey!)
5091
5092         * gst/gsturi.c:
5093         Add some more docs.
5094
5095 2006-07-05  Wim Taymans  <wim@fluendo.com>
5096
5097         * gst/gstbuffer.c: (_gst_buffer_copy), (gst_buffer_create_sub):
5098         * tests/check/gst/gstbuffer.c: (GST_START_TEST),
5099         (gst_buffer_suite):
5100         No point in checking if the size of the subbuffer > 0, the
5101         code handles it correclty as demonstrated by unit test.
5102         Also add a unit test for the zero sized _new_and_alloc and
5103         _copy. Fixes #346663.
5104
5105 2006-07-05  Wim Taymans  <wim@fluendo.com>
5106
5107         * libs/gst/base/gstbasetransform.c:
5108         (gst_base_transform_prepare_output_buffer),
5109         (gst_base_transform_buffer_alloc),
5110         (gst_base_transform_handle_buffer):
5111         Make sure the buffer we pass to transform_ip has a refcount of
5112         1 and thus is writable. Fixes #343196
5113
5114 2006-07-04  Jan Schmidt  <thaytan@mad.scientist.com>
5115
5116         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
5117         (gst_file_src_init), (gst_file_src_set_property),
5118         (gst_file_src_get_property), (gst_file_src_map_region):
5119         * plugins/elements/gstfilesrc.h:
5120         Add "sequential" property, off by default, to use madvise and hint
5121         to the kernel that sequential access is desired.
5122         Touch all retrieved pages by default to ensure they are pulled
5123         into memory. (Closes #345720)
5124
5125 2006-07-03  Wim Taymans  <wim@fluendo.com>
5126
5127         * docs/design/part-block.txt:
5128         * docs/design/part-dynamic.txt:
5129         Small docs updates.
5130
5131 2006-07-03  Wim Taymans  <wim@fluendo.com>
5132
5133         * gst/gstcaps.c: (gst_caps_new_empty), (_gst_caps_free),
5134         (gst_caps_unref), (gst_static_caps_get),
5135         (gst_caps_append_structure):
5136         * gst/gstclock.c: (gst_clock_entry_new), (_gst_clock_id_free):
5137         Use GSlice when the glib we build against is >= 2.10
5138
5139 2006-07-03  Wim Taymans  <wim@fluendo.com>
5140
5141         * gst/gstelement.c: (gst_element_pads_activate):
5142         Small cleanup in pad activation code.
5143
5144 2006-07-03  Wim Taymans  <wim@fluendo.com>
5145
5146         Patch by: Peter Kjellerstedt <pkj at axis dot com>
5147
5148         * gst/gst-i18n-app.h:
5149         * gst/gst-i18n-lib.h:
5150         * tools/gst-inspect.c: (print_signal_info):
5151         The attached patch will make the inclusion of gettext.h unconditional in
5152         gst/gst-i18n-app.h and gst/gst-i18n-lib.h, and it will remove the inclusion of
5153         libintl.h in tools/gst-inspect.c.
5154         This allows use of --disable-nls again and fixes #344642.
5155
5156 2006-07-03  Edward Hervey  <edward@fluendo.com>
5157
5158         * gst/gstpad.c: (handle_pad_block), (gst_pad_push_event):
5159         Implement pad blocking on events according to part-block.txt.
5160         More comments on behaviour.
5161         * tests/check/gst/gstevent.c: (test_event):
5162         Send event to peer pad of blocked pad (else it will block).
5163
5164 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
5165
5166         * libs/gst/check/gstcheck.c: (gst_check_message_error),
5167         (gst_check_run_suite):
5168           if we get the wrong message, give us the types as string
5169         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
5170           Fix a translatable
5171         * tests/check/elements/filesrc.c: (GST_START_TEST):
5172           add a test for trying to open a non-existing file
5173
5174 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
5175
5176         * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
5177           add a test for adding self
5178
5179 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
5180
5181         * libs/gst/check/gstcheck.h:
5182           add some assert_ as alias for fail_unless_*
5183         * tests/check/gst/gst.c: (GST_START_TEST), (gst_suite):
5184           increase test coverage
5185
5186 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5187
5188         * Makefile.am:
5189           include lcov.mak for lcov coverage generation
5190         * tools/Makefile.am:
5191           add to CLEANFILES
5192
5193 2006-07-02  Edward Hervey  <edward@fluendo.com>
5194
5195         * tests/check/elements/.cvsignore:
5196         moaping
5197
5198 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5199
5200         * configure.ac:
5201           don't set CFLAGS and friends for gcov, done from GST_GCOV now
5202         * tests/check/Makefile.am:
5203           clean up gcov files
5204
5205 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5206
5207         * gst/gstcaps.c: (gst_caps_remove_and_get_structure):
5208           remove gst_caps_simplify; it was not declared and not used
5209           and deprecated in 0.8
5210
5211 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5212
5213         * docs/faq/gst-uninstalled:
5214           don't put empty paths on PYTHONPATH
5215         * docs/gst/gstreamer-sections.txt:
5216           remove some symbols that are not there
5217
5218 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5219
5220         * gst/gstcaps.c: (gst_caps_compare_structures):
5221           whitespace fixes
5222         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
5223         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
5224           add more tests
5225
5226 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5227
5228         * libs/gst/dataprotocol/Makefile.am:
5229           build dataprotocol test by linking to the lib, instead of
5230           compiling the source, so we get coverage
5231         * tests/check/Makefile.am:
5232         * tests/check/elements/filesrc.c: (event_func), (setup_filesrc),
5233         (cleanup_filesrc), (GST_START_TEST), (filesrc_suite):
5234           add a test for filesrc
5235
5236 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5237
5238         * tests/check/gst/gststructure.c: (GST_START_TEST),
5239         (gst_structure_suite):
5240           Push coverage from 59.04% to 70.00%
5241
5242 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5243
5244         * tests/check/Makefile.am:
5245           gst-inspect every element; this makes sure that we also get
5246           coverage on element's get/set functions
5247
5248 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5249
5250         * configure.ac:
5251           set CFLAGS and friends to -O0 if gcov is being used
5252           add GCOV LIBS
5253         * gst/Makefile.am:
5254         * libs/gst/base/Makefile.am:
5255         * libs/gst/check/Makefile.am:
5256         * libs/gst/controller/Makefile.am:
5257         * libs/gst/dataprotocol/Makefile.am:
5258         * libs/gst/net/Makefile.am:
5259         * plugins/elements/Makefile.am:
5260         * plugins/indexers/Makefile.am:
5261           add makefile rules to generate gcov data and clean up
5262         * tests/check/Makefile.am:
5263           add a coverage target that generates an html overview
5264           of coverage data
5265
5266 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
5267
5268         * tests/check/elements/fakesink.c:
5269         * tests/check/elements/fakesrc.c:
5270         * tests/check/elements/fdsrc.c:
5271         * tests/check/elements/identity.c:
5272         * tests/check/generic/sinks.c: (gst_sinks_suite):
5273         * tests/check/generic/states.c:
5274         * tests/check/gst/gst.c:
5275         * tests/check/gst/gstabi.c:
5276         * tests/check/gst/gstbin.c:
5277         * tests/check/gst/gstbuffer.c: (gst_buffer_suite):
5278         * tests/check/gst/gstbus.c: (gst_bus_suite):
5279         * tests/check/gst/gstcaps.c: (GST_START_TEST):
5280         * tests/check/gst/gstelement.c:
5281         * tests/check/gst/gstevent.c: (gst_event_suite):
5282         * tests/check/gst/gstghostpad.c:
5283         * tests/check/gst/gstiterator.c: (gst_iterator_suite):
5284         * tests/check/gst/gstmessage.c: (gst_message_suite):
5285         * tests/check/gst/gstminiobject.c:
5286         * tests/check/gst/gstobject.c:
5287         * tests/check/gst/gstpad.c:
5288         * tests/check/gst/gstpipeline.c:
5289         * tests/check/gst/gstplugin.c:
5290         * tests/check/gst/gstquery.c: (gst_query_suite):
5291         * tests/check/gst/gstsegment.c: (gst_segment_suite):
5292         * tests/check/gst/gststructure.c:
5293         * tests/check/gst/gstsystemclock.c:
5294         * tests/check/gst/gsttag.c:
5295         * tests/check/gst/gsttask.c: (gst_task_suite):
5296         * tests/check/gst/gstutils.c:
5297         * tests/check/gst/gstvalue.c:
5298         * tests/check/libs/adapter.c:
5299         * tests/check/libs/basesrc.c:
5300         * tests/check/libs/collectpads.c:
5301         * tests/check/libs/controller.c:
5302         * tests/check/libs/gdp.c: (gst_dp_suite):
5303         * tests/check/libs/gstnetclientclock.c:
5304         * tests/check/libs/gstnettimeprovider.c:
5305         * tests/check/libs/libsabi.c: (libsabi_suite):
5306         * tests/check/libs/typefindhelper.c:
5307         * tests/check/pipelines/cleanup.c:
5308         * tests/check/pipelines/parse-launch.c:
5309         * tests/check/pipelines/simple-launch-lines.c:
5310         * tests/check/pipelines/stress.c: (stress_suite):
5311           use the new macro
5312
5313 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
5314
5315         * libs/gst/check/gstcheck.c: (gst_check_run_suite):
5316         * libs/gst/check/gstcheck.h:
5317           create a macro and function so that the simple unit test
5318           case can be just one macro to create main()
5319
5320 2006-06-30  Tim-Philipp Müller  <tim at centricular dot net>
5321
5322         * gst/gstbin.c: (gst_bin_restore_thyself):
5323         * gst/gstxml.c: (gst_xml_make_element):
5324           Fix deserialisation from XML. Set parent manually
5325           instead of using gst_bin_add(), since gst_bin_add()
5326           will unlink all pads of the element being added.
5327           Fixes #341667.
5328
5329 2006-06-28  Tim-Philipp Müller  <tim at centricular dot net>
5330
5331         Patch by: Peter Kjellerstedt <pkj at axis com>
5332
5333         * gst/gst.c: (prepare_for_load_plugin_func), (split_and_iterate):
5334           Fix missing g_strdup() and double free when using the
5335           --gst-plugin-load command line option (#346097).
5336
5337 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
5338
5339         * gst/gstinfo.c:
5340           Promote GST_DEBUG_CATEGORY_STATIC in example in docs.
5341
5342         * libs/gst/net/gstnetclientclock.c:
5343         * libs/gst/net/gstnettimeprovider.c:
5344           Use GST_DEBUG_CATEGORY_STATIC here too (#342503).
5345
5346 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
5347
5348         * docs/manual/advanced-dataaccess.xml:
5349           Fix buffer probe example compilation in
5350           ADM (#345708).
5351         
5352 2006-06-22  Edward Hervey  <edward@fluendo.com>
5353
5354         * gst/gstelement.c: (gst_element_pads_activate):
5355         We need to deactivate src pads first and then sink pads.
5356         The reason is the src pads might be blocking while holding the streaming
5357         lock, so we need to deactivate them first so that deactivating the sink
5358         pads doesn't block (since it will require the streaming lock).
5359
5360 2006-06-22  Wim Taymans  <wim@fluendo.com>
5361
5362         * libs/gst/base/gstbasetransform.c:
5363         (gst_base_transform_buffer_alloc):
5364         Forgot to remove two unneeded unrefs.
5365         Simplify a check _is_equal allready checks the obvious case.
5366
5367 2006-06-22  Wim Taymans  <wim@fluendo.com>
5368
5369         * docs/design/part-block.txt:
5370         Some docs about what pad_block should do.
5371
5372 2006-06-22  Wim Taymans  <wim@fluendo.com>
5373
5374         * gst/gstcaps.c: (gst_caps_replace):
5375         Fix crasher when passed NULL. Doc clarification.
5376         Optimize for the trivial case.
5377
5378         * gst/gstpipeline.c: (gst_pipeline_change_state):
5379         Small cleanups.
5380
5381         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
5382         Small documentation cleanup.
5383
5384         * libs/gst/base/gstbasetransform.c:
5385         (gst_base_transform_buffer_alloc):
5386         Don't use silly gst_pad_get_negotiated_caps, GST_PAD_CAPS
5387         is what we need and it avoids a whole lot of redundant 
5388         refcount operations.
5389
5390 2006-06-22  Tim-Philipp Müller  <tim at centricular dot net>
5391
5392         Patch by: Philip Jägenstedt  <philip at lysator liu se>
5393
5394         * docs/manual/advanced-dataaccess.xml:
5395           Fix 'Embedding static elements' section to use
5396           GST_PLUGIN_DEFINE_STATIC (#345607).
5397
5398 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
5399
5400         * tests/check/pipelines/simple-launch-lines.c: (test_stop_from_app):
5401           Attempt to 'fix' spuriously failing test case: it seems like the
5402           timeout of half a second is simply too small when the system is under
5403           load otherwise, and the timeout doesn't really seem to serve any
5404           particular purpose here. Give the pipeline a few seconds to preroll
5405           first, and then give it another half a second to go from PAUSED to
5406           PLAYING and marshal the message into the main thread.
5407
5408 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
5409
5410         * tools/gst-feedback-m.m:
5411           Don't only use unversioned tools, try versioned tools as well
5412           (#345086).
5413
5414 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
5415
5416         * gst/gstbus.c: (gst_bus_class_init):
5417           Fix some typos, make docs more explicit.
5418
5419 2006-06-20  Wim Taymans  <wim@fluendo.com>
5420
5421         * tests/check/gst/gstghostpad.c: (block_callback),
5422         (GST_START_TEST), (gst_ghost_pad_suite):
5423         Added some more ghostpad tests, mainly blocking
5424         and probes.
5425
5426 2006-06-16  Wim Taymans  <wim@fluendo.com>
5427
5428         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
5429         (gst_file_sink_close_file), (gst_file_sink_do_seek),
5430         (gst_file_sink_event), (gst_file_sink_render):
5431         * plugins/elements/gstfilesink.h:
5432         Check if we can seek in the file instead of assuming
5433         we always can. Post an error when we are asked to seek in a
5434         non-seekable file (like a fifo). Fixes #343312.
5435         Some cleanups.
5436
5437 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
5438
5439         * tools/gst-launch.1.in:
5440           Un-garble (fourcc) bit in filtered caps section.
5441
5442 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
5443
5444         * docs/manual/advanced-autoplugging.xml:
5445         * docs/manual/basics-helloworld.xml:
5446         * docs/manual/highlevel-components.xml:
5447           Don't leak bus reference in sample code.
5448
5449 2006-06-15  Tim-Philipp Müller  <tim at centricular dot net>
5450
5451         * autogen.sh:
5452           Add default for new --enable-plugin-docs switch.
5453
5454         * configure.ac:
5455           Use new GST_PLUGIN_DOCS macro to check for pyxml etc.
5456           Fixes #344039.
5457
5458         * docs/Makefile.am:
5459           Use new ENABLE_PLUGIN_DOCS conditional.
5460
5461 2006-06-14  Wim Taymans  <wim@fluendo.com>
5462
5463         * gst/gstbin.c: (bin_query_duration_done), (gst_bin_query):
5464         Make it clear with a FIXME and a real define what the #if 0
5465         previously disabled.
5466
5467 2006-06-14  Wim Taymans  <wim@fluendo.com>
5468
5469         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
5470         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
5471         * libs/gst/base/gstbasetransform.c:
5472         (gst_base_transform_sink_eventfunc):
5473         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
5474         Don't randomly and silently reset a segment when the format 
5475         changes as this is a bug somewhere upstream. Fixes #330379.
5476
5477 2006-06-14  Tim-Philipp Müller  <tim at centricular dot net>
5478
5479         Patch by: Wouter Paesen  <wouter at kangaroot net>
5480
5481         * libs/gst/controller/gstcontroller.c:
5482         (gst_controlled_property_new):
5483           Fix controlling of float properties (#344849).
5484
5485         * tests/check/libs/controller.c:
5486         (gst_test_mono_source_get_property),
5487         (gst_test_mono_source_set_property),
5488         (gst_test_mono_source_class_init), (GST_START_TEST):
5489           While we're at it, add some float stuff to unit test.
5490
5491 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
5492
5493         * docs/README:
5494         * docs/images/gdp-header.svg:
5495           add a gdp image
5496         * docs/libs/Makefile.am:
5497         * docs/libs/gdp-header.png:
5498         * libs/gst/dataprotocol/dataprotocol.c:
5499           add it to the API docs
5500         * docs/manual/intro-motivation.xml:
5501           fix typo
5502
5503 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
5504
5505         * gst/gst.c: (scan_and_update_registry), (init_post):
5506           If the fork()'ed child process can't write the updated registry cache
5507           file to disk for some reason, make it exit with a failure exit code,
5508           so that the parent can then re-scan the plugins itself and update the
5509           registry structures in memory and work with that (rather than failing
5510           when creating elements because seemingly no plugins are available).
5511           Refactor registry scanning code into separate function for this and
5512           also separate fork() and non-fork() code paths. Fixes #344748.
5513
5514 2006-06-13  Wim Taymans  <wim@fluendo.com>
5515
5516         * docs/manual/advanced-dataaccess.xml:
5517         Fix wrong PluginDesc. Fixes #344755.
5518
5519 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
5520
5521         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
5522           Fix silly bug that prevented us from creating
5523           ~/.gstreamer-0.10 and writing the registry in one
5524           go (the first call to g_mkstemp() would overwrite the
5525           placeholder in the template string, so the second call
5526           to g_mkstemp() after creating the missing directory
5527           would then error out with 'invalid argument').
5528
5529 2006-06-13  Edward Hervey  <edward@fluendo.com>
5530
5531         * gst/gst.c: (init_post):
5532         Free string.
5533
5534 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
5535
5536         * gst/glib-compat-private.h:
5537         * gst/glib-compat.c:
5538         * gst/glib-compat.h:
5539         * gst/gstvalue.c: (gst_value_serialize_flags):
5540           remove GLib 2.6 compatibility code
5541
5542 2006-06-12  Tim-Philipp Müller  <tim at centricular dot net>
5543
5544         * gst/parse/Makefile.am:
5545           Fix build with 'make -j N' even more (#340016).
5546
5547 2006-06-12  Wim Taymans  <wim@fluendo.com>
5548
5549         * docs/gst/gstreamer-sections.txt:
5550         Fix docs.
5551
5552 2006-06-12  Wim Taymans  <wim@fluendo.com>
5553
5554         * gst/gstsegment.c: (gst_segment_set_duration),
5555         (gst_segment_set_last_stop), (gst_segment_set_seek),
5556         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
5557         (gst_segment_to_running_time), (gst_segment_clip):
5558         Use G_UNLIKELY to help the compiler a bit.
5559
5560 2006-06-12  Wim Taymans  <wim@fluendo.com>
5561
5562         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
5563
5564         * gst/gstevent.c: (gst_event_get_type):
5565         * gst/gstmessage.c:
5566         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
5567         (gst_pad_push):
5568         constify quark registration strings. Fixes #344115
5569         Avoid unneeded type checking is _pad_push() by internally
5570         calling gst_pad_chain_unchecked().
5571
5572 2006-06-12  Wim Taymans  <wim@fluendo.com>
5573
5574         * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_finalize),
5575         (_gst_buffer_copy), (gst_buffer_is_metadata_writable),
5576         (gst_subbuffer_finalize), (gst_buffer_create_sub),
5577         (gst_buffer_is_span_fast), (gst_buffer_span):
5578         Init _type for consistency.
5579         Use _FLAGS macro to avoid type check.
5580         Avoid unneeded type checks in subbufer code.
5581
5582 2006-06-12  Wim Taymans  <wim@fluendo.com>
5583
5584         * gst/gst.c: (gst_debug_help):
5585         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_list_free):
5586         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
5587         (gst_plugin_feature_list_free):
5588         * gst/gstregistry.c: (gst_registry_add_plugin),
5589         (gst_registry_add_feature), (gst_registry_plugin_filter),
5590         (gst_registry_feature_filter), (gst_registry_find_plugin),
5591         (gst_registry_find_feature), (gst_registry_get_plugin_list),
5592         (gst_registry_lookup_feature_locked), (gst_registry_lookup_locked):
5593         * gst/gstregistryxml.c: (load_feature),
5594         (gst_registry_xml_read_cache), (gst_registry_xml_write_cache):
5595         * gst/gstminiobject.c: (gst_mini_object_unref),
5596         (gst_mini_object_replace), (gst_value_mini_object_free),
5597         (gst_value_mini_object_copy):
5598         Use _CAST macros to avoid unneeded type checking.
5599         Added some more G_UNLIKELY.
5600
5601 2006-06-12  Wim Taymans  <wim@fluendo.com>
5602
5603         * gst/gstbuffer.h:
5604         Avoid unneeded type checking.
5605         API: GST_BUFFER_IS_DISCONT
5606
5607         * gst/gstminiobject.h:
5608         Avoid type check in flag accessor.
5609
5610         * gst/gstelementfactory.h:
5611         * gst/gstplugin.h:
5612         * gst/gstpluginfeature.h:
5613         Add _CAST macros.
5614         API: GST_ELEMENT_FACTORY_CAST
5615         API: GST_PLUGIN_CAST
5616         API: GST_PLUGIN_FEATURE_CAST
5617
5618 2006-06-12  Wim Taymans  <wim@fluendo.com>
5619
5620         * gst/gstobject.c: (gst_object_get_type), (gst_object_ref),
5621         (gst_object_unref):
5622         Add G_UNLIKELY in type registration.
5623         Avoid type check in _ref/_unref since that is also
5624         done in glib.
5625
5626 2006-06-12  Wim Taymans  <wim@fluendo.com>
5627
5628         * gst/gsterror.c: (gst_g_error_get_type):
5629         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
5630         (gst_static_pad_template_get_type):
5631         * gst/gsttaglist.c: (gst_tag_list_get_type):
5632         * gst/gsttagsetter.c: (gst_tag_setter_get_type):
5633         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type):
5634         * gst/gsturi.c: (gst_uri_handler_get_type):
5635         * gst/gstvalue.c: (gst_date_get_type):
5636         * gst/gstxml.c: (gst_xml_get_type):
5637         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
5638         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
5639         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type):
5640         Add G_UNLIKELY in type registration.
5641
5642 2006-06-12  Wim Taymans  <wim@fluendo.com>
5643
5644         * tools/gst-inspect.c: (print_signal_info):
5645         Properly print enum values.
5646
5647 2006-06-12  Wim Taymans  <wim@fluendo.com>
5648
5649         * gst/gstinfo.c: (gst_debug_set_active),
5650         (gst_debug_category_set_threshold), (_gst_debug_nameof_funcptr):
5651         * gst/gstinfo.h:
5652         Add some G_[UN]LIKELY.
5653         Maintain __gst_debug_min to avoid formatting the arguments of
5654         debug messages that will be dropped anyway to avoid a lot of 
5655         overhead from the debugging system.
5656
5657 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
5658
5659         * po/POTFILES.in:
5660         * po/POTFILES.skip:
5661           add missing files containing translatable strings, tell intltool about
5662           one exception
5663
5664 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
5665
5666         * tests/check/libs/.cvsignore:
5667         add test-binary to ignore list
5668
5669 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
5670
5671         * docs/libs/gstreamer-libs-docs.sgml:
5672         reorder (put dp into a chapter) and indent
5673
5674 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5675
5676         * configure.ac:
5677           back to HEAD
5678
5679 === release 0.10.8 ===
5680
5681 2006-06-10  Thomas Vander Stichele <thomas at apestaart dot org>
5682
5683         * configure.ac:
5684           releasing 0.10.8, "Soepeke, ik zie ou nog altijd nie"
5685
5686 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5687
5688         * gst/gst.c: (init_post):
5689           move pid declaration to declaration block
5690
5691 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5692
5693         * gst/gst.c: (init_post):
5694           use _exit() instead of exit() in our forked child; this ensures
5695           that none of the registered exit handlers from whatever is using
5696           GStreamer get executed.  This fixes gnome-mixer-applet failing
5697           to load, because ORBit would shut down.
5698           Spotted by: Edward Hervey  <edward@fluendo.com>
5699           Fix suggested by: Tim-Philipp Müller  <tim at centricular dot net>
5700           Fixes #344474
5701
5702 2006-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
5703
5704         * configure.ac:
5705           back to TRUNK
5706
5707 === release 0.10.7 ===
5708
5709 2006-06-09  Thomas Vander Stichele <thomas at apestaart dot org>
5710
5711         * configure.ac:
5712           releasing 0.10.7, "Soepeke, ik zie ou"
5713
5714 2006-06-07  Thomas Vander Stichele  <thomas at apestaart dot org>
5715
5716         * configure.ac:
5717         * po/af.po:
5718         * po/az.po:
5719         * po/bg.po:
5720         * po/ca.po:
5721         * po/cs.po:
5722         * po/de.po:
5723         * po/en_GB.po:
5724         * po/fr.po:
5725         * po/it.po:
5726         * po/nb.po:
5727         * po/nl.po:
5728         * po/ru.po:
5729         * po/sq.po:
5730         * po/sr.po:
5731         * po/sv.po:
5732         * po/tr.po:
5733         * po/uk.po:
5734         * po/vi.po:
5735         * po/zh_CN.po:
5736         * po/zh_TW.po:
5737         * win32/common/config.h:
5738           0.10.6.2 prerelease
5739
5740 2006-06-07  Wim Taymans  <wim@fluendo.com>
5741
5742         * gst/gstindex.c: (gst_index_gtype_resolver):
5743         * tools/gst-xmlinspect.c: (print_plugin_info):
5744         Fix leak spotted by coverity checker. Fixes #343827
5745         Fix another other leak found by paolo borelli.
5746
5747 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5748
5749         * libs/gst/dataprotocol/dataprotocol.c:
5750         (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
5751         (gst_dp_version_get_type), (gst_dp_init),
5752         (gst_dp_header_from_buffer), (gst_dp_header_from_buffer_1_0),
5753         (gst_dp_packet_from_caps), (gst_dp_packet_from_caps_1_0),
5754         (gst_dp_packet_from_event), (gst_dp_packet_from_event_1_0),
5755         (gst_dp_event_from_packet_0_2), (gst_dp_event_from_packet_1_0),
5756         (gst_dp_event_from_packet), (gst_dp_packetizer_new),
5757         (gst_dp_packetizer_free):
5758         * libs/gst/dataprotocol/dataprotocol.h:
5759           API: add a GstDPPacketizer object, and create/free functions
5760           API: add GstDPVersion enum
5761           Add 1.0 event function that uses the string serialization
5762           Serialize more useful buffer flags
5763           Fixes #343988
5764
5765 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5766
5767         * tests/check/Makefile.am:
5768         * tests/check/gst/gstabi.c:
5769         * tests/check/gst/struct_ppc64.h:
5770         * tests/check/libs/libsabi.c:
5771         * tests/check/libs/struct_ppc64.h:
5772           add ppc64 structure sizes
5773
5774 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5775
5776         * tests/check/Makefile.am:
5777         * tests/check/gst/gstabi.c:
5778         * tests/check/gst/struct_x86_64.h:
5779         * tests/check/libs/libsabi.c:
5780         * tests/check/libs/struct_x86_64.h:
5781           generate and add structure size lists for x86_64
5782
5783 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5784
5785         * libs/gst/check/gstcheck.c: (gst_check_abi_list):
5786         * libs/gst/check/gstcheck.h:
5787           factor out the method from tests that checks size of structures,
5788           and add code to generate the header containing these sizes
5789         * tests/check/gst/gstabi.c: (GST_START_TEST):
5790         * tests/check/gst/struct_i386.h:
5791         * tests/check/libs/libsabi.c: (GST_START_TEST):
5792         * tests/check/libs/struct_i386.h:
5793           use it
5794
5795 2006-06-06  Michael Smith  <msmith@fluendo.com>
5796
5797         * gst/gstsegment.h:
5798           Don't use c++-style comments, fixes #343929
5799
5800 2006-06-05  Edward Hervey  <edward@fluendo.com>
5801
5802         * gst/gst.c:
5803         plugin_paths is not used if we build without registry support.
5804
5805         * gst/gstsegment.c: (gst_segment_copy): 
5806         _copy() was always returning NULL...
5807
5808 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5809
5810         * libs/gst/dataprotocol/dataprotocol.c:
5811         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
5812         (gst_dp_packet_from_event):
5813           factor out CRC code
5814
5815 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5816
5817         * libs/gst/check/gstcheck.c: (gst_check_teardown_src_pad):
5818           make sure we unset caps
5819
5820 2006-06-02  Michael Smith  <msmith@fluendo.com>
5821
5822         * libs/gst/check/gstcheck.c: (gst_check_init),
5823         (gst_check_chain_func):
5824         * libs/gst/check/gstcheck.h:
5825           Add a cond/mutex to the check support lib, signal this whenever we
5826           add to the buffers list. This will allow tests to not busy-wait on
5827           the buffer-list.
5828
5829 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5830
5831         * libs/gst/dataprotocol/dataprotocol.c:
5832         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
5833         (gst_dp_packet_from_event):
5834           factor out some common header init code
5835
5836 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5837
5838         * docs/libs/gstreamer-libs-sections.txt:
5839         * docs/libs/tmpl/gstdataprotocol.sgml:
5840         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
5841         * libs/gst/dataprotocol/dataprotocol.h:
5842           API: make gst_dp_crc() public
5843
5844 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
5845
5846         * plugins/indexers/gstindexers.c: (plugin_init):
5847         conditionally register fileindexer (fixes #343598)
5848
5849 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
5850
5851         * gst/gsttagsetter.h:
5852         Can't cast ifaces to a class
5853
5854         * libs/gst/net/gstnetclientclock.h:
5855         * libs/gst/net/gstnettimeprovider.h:
5856         * plugins/elements/gstfakesink.h:
5857         * plugins/elements/gstfakesrc.h:
5858         * plugins/elements/gstfdsink.h:
5859         * plugins/elements/gstfdsrc.h:
5860         * plugins/elements/gstfilesink.h:
5861         * plugins/elements/gstfilesrc.h:
5862         * plugins/elements/gstidentity.h:
5863         * plugins/elements/gstqueue.h:
5864         * plugins/elements/gsttee.h:
5865         * plugins/indexers/gstfileindex.c:
5866         * plugins/indexers/gstmemindex.c:
5867         * tests/old/examples/plugins/example.h:
5868         Fix more gobject macros: obj<->klass, GstXXX<->GstXXXClass
5869
5870 2006-06-01  Thomas Vander Stichele  <thomas at apestaart dot org>
5871
5872         * libs/gst/dataprotocol/dataprotocol.c:
5873         (gst_dp_header_from_buffer):
5874           make sure we zero the whole ABI-compatible area
5875
5876 2006-06-01  Wim Taymans  <wim@fluendo.com>
5877
5878         Patch by: Alessandro Decina <alessandro at nnva dot org>
5879
5880         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop):
5881         Make sure the EOS flag is cleared from pads after a flush
5882         or stop. Fixes #343538.
5883
5884         * tests/check/libs/collectpads.c: (GST_START_TEST),
5885         (gst_collect_pads_suite):
5886         Added test for collectpads reusage after EOS.
5887
5888 2006-05-30  Sebastien Moutte  <sebastien@moutte.net>
5889
5890         * gst/gst.c:
5891          set #include <sys/wait.h> in a #ifdef #ifdef HAVE_FORK
5892         * win32/common/libgstbase.def:
5893          export gst_collect_pads_set_flushing
5894         * win32/common/libgstreamer.def:
5895          export gst_pad_set_acceptcaps_function, gst_structure_empty_new,
5896          gst_value_fraction_multiply
5897         * win32/vs6/gst_inspect.dsp:
5898          add a link to intl.lib
5899
5900 2006-05-30  Wim Taymans  <wim@fluendo.com>
5901
5902         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
5903         (gst_collect_pads_chain):
5904         Handle the case where a pad is removed from the collection
5905         that could cause the other pads to become collectable.
5906
5907 2006-05-30  Wim Taymans  <wim@fluendo.com>
5908
5909         * gst/gstelement.c:
5910         Clarify the use of _release_request_pad() and
5911         _get_request_pad() a bit better.
5912
5913         * libs/gst/base/gstadapter.c: (gst_adapter_peek),
5914         (gst_adapter_take_buffer):
5915         Fix some doc and comment typos.
5916
5917 2006-05-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5918
5919         * docs/gst/gstreamer-sections.txt:
5920         * docs/libs/gstreamer-libs-sections.txt:
5921           add declared symbols
5922
5923 2006-05-30  Jan Schmidt  <thaytan@mad.scientist.com>
5924
5925         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
5926         Add debug that can be enabled using a #define at the top of the file,
5927         for dumping stats about how late/early we were when waking up from
5928         waiting on the clock.
5929
5930 2006-05-30  Wim Taymans  <wim@fluendo.com>
5931
5932         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_check_pads):
5933         When rebuilding the pad list, don't leak the previous list.
5934
5935 2006-05-30  Wim Taymans  <wim@fluendo.com>
5936
5937         Patch by: Lutz Mueller <lutz at topfrose dot de>
5938
5939         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
5940         (gst_base_src_get_query_types), (gst_base_src_update_length):
5941         Publish supported query types.
5942         Update last_stop field in get_range mode so the position
5943         query works. Fixes #342321.
5944
5945 2006-05-30  Tim-Philipp Müller  <tim at centricular dot net>
5946
5947         * docs/gst/gstreamer-sections.txt:
5948         * gst/gsttaglist.c: (_gst_tag_initialize):
5949         * gst/gsttaglist.h:
5950           API: add GST_TAG_PREVIEW_IMAGE (#343341).
5951
5952 2006-05-30  Wim Taymans  <wim@fluendo.com>
5953
5954         Patch by: Alessandro Decina <alessandro at nnva dot org>
5955
5956         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
5957         Unlock mutex when removing an unknown pad.
5958         Fixes #343334.
5959
5960         * tests/check/Makefile.am:
5961         * tests/check/libs/collectpads.c: (collected_cb), (push_buffer),
5962         (push_event), (setup), (teardown), (GST_START_TEST),
5963         (gst_collect_pads_suite), (main):
5964         Added collecpads check, disabled for now as check crashes for
5965         some reason.
5966
5967 2006-05-29  Wim Taymans  <wim@fluendo.com>
5968
5969         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize):
5970         Don't leak pads lists.
5971
5972 2006-05-29  Wim Taymans  <wim@fluendo.com>
5973
5974         * docs/libs/gstreamer-libs-sections.txt:
5975         * libs/gst/base/gstcollectpads.c:
5976         (gst_collect_pads_set_flushing_unlocked),
5977         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
5978         (gst_collect_pads_stop):
5979         * libs/gst/base/gstcollectpads.h:
5980         API: gst_collect_pads_set_flushing()
5981         Added api to set the pads to flushing, useful for seeking
5982         code in elements using collectpads.
5983         Clear segment when receiving a flush.
5984
5985 2006-05-29  Tim-Philipp Müller  <tim at centricular dot net>
5986
5987         * gst/gst.c: (add_path_func), (init_post):
5988           Don't scan registry paths passed via --gst-plugin-path immediately
5989           (will crash, because absolutely nothing is set up and no types are
5990           registered etc.); do this later in init_post(). Fixes #343057.
5991
5992 2006-05-28  Thomas Vander Stichele  <thomas at apestaart dot org>
5993
5994         * gst/gst.c: (init_post):
5995           if we have fork, fork while reading/rebuilding the registry
5996           so the parent doesn't take the hit of having all plugins loaded
5997           in memory.  Fixes #342777.
5998         * configure.ac:
5999           Check if we have fork()
6000         * win32/common/config.h.in:
6001           no fork() on win32
6002
6003 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
6004
6005         * plugins/elements/gstelements.c:
6006         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
6007         (gst_file_src_init), (gst_file_src_set_property),
6008         (gst_file_src_get_property), (gst_file_src_start):
6009         * plugins/elements/gstfilesrc.h:
6010           API: GstFileSrc::use-mmap
6011
6012         Add a use-mmap property to enable easier testing of all code paths.
6013         Bump rank to PRIMARY, so filesrc is the preferred file reader and used
6014         in the absence of gnomevfssrc. (Closes #340501)
6015
6016 2006-05-26  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
6017
6018         * tools/gst-inspect.c:
6019         Add missing include, removes warning of ngettext not being defined on
6020         some arches.
6021
6022 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
6023
6024         * gst/gstvalue.c: (gst_value_deserialize_fraction):
6025         Handle NULL input and output pointers silently as a failed conversion,
6026         rather than g_warnings.
6027
6028 2006-05-25  Wim Taymans  <wim@fluendo.com>
6029
6030         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_start):
6031         Initialize variable before using. Fixes #342820.
6032
6033 2006-05-24  Tim-Philipp Müller  <tim at centricular dot net>
6034
6035         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek):
6036           Fix off-by-one bug that would only allow peeks of N-1 bytes
6037           from the start even if the buffer to typefind on contains
6038           in fact N bytes of data (makes vorbis typefinding from a
6039           vorbis identification header buffer work).
6040
6041         * tests/check/Makefile.am:
6042         * tests/check/libs/.cvsignore:
6043         * tests/check/libs/typefindhelper.c: (GST_START_TEST),
6044         (gst_typefindhelper_suite), (main), (foobar_typefind),
6045         (plugin_init):
6046           Add very basic unit test for gst_type_find_helper_for_buffer()
6047           that checks for the problem fixed above.
6048
6049 2006-05-24  Thomas Vander Stichele  <thomas at apestaart dot org>
6050
6051         * tools/gst-inspect.c: (print_interfaces),
6052         (print_element_properties_info), (print_element_list), (main):
6053           add more translatable strings
6054
6055 2006-05-23  Tim-Philipp Müller  <tim at centricular dot net>
6056
6057         Patch by: Julien Moutte  <julien at moutte net>
6058
6059         * docs/gst/gstreamer-sections.txt:
6060           Make new GST_FLOW_IS_SUCCESS macro visible in docs.
6061           
6062         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
6063         (gst_fake_sink_preroll):
6064         * plugins/elements/gstfakesink.h:
6065           API: Add new GstFakeSink::preroll-handoff signal (#337100).
6066
6067 2006-05-23  Wim Taymans  <wim@fluendo.com>
6068
6069         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark):
6070         * gst/gstpad.h:
6071         Added _CUSTOM error and success GstFlowReturn that can be
6072         used be elements internally. 
6073         Added macro to check for SUCCESS flowreturns.
6074         API: GST_FLOW_CUSTOM_SUCCESS
6075         API: GST_FLOW_CUSTOM_ERROR
6076         API: GST_FLOW_IS_SUCCESS
6077
6078         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
6079         Added check for GstFlowReturn sanity.
6080
6081 2006-05-23  Wim Taymans  <wim@fluendo.com>
6082
6083         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
6084
6085         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
6086         (gst_collect_pads_event):
6087         clear/reset segment info in FLUSH_STOP.
6088         Fixes #336929.
6089
6090 2006-05-22  Stefan Kost  <ensonic@users.sf.net>
6091
6092         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop),
6093         (gst_collect_pads_check_collected):
6094         Flush queued buffer on _stop(), fixes playing again (#342454)
6095
6096 2006-05-22  Thomas Vander Stichele  <thomas at apestaart dot org>
6097
6098         * tests/check/gst/gststructure.c: (GST_START_TEST),
6099         (gst_structure_suite):
6100           add a test for a complete structure
6101
6102 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
6103
6104         * docs/faq/developing.xml:
6105         * docs/faq/faq.xml:
6106         * docs/faq/troubleshooting.xml:
6107         * docs/faq/using.xml:
6108           Some minor FAQ updates that won't change the fact that
6109           our FAQ is badly structured, full of information hardly
6110           anyone new to GStreamer needs to know and lacking lots
6111           of information people constantly ask for.
6112           
6113 2006-05-19  Jan Schmidt  <thaytan@mad.scientist.com>
6114
6115         * gst/gstpad.c: (gst_pad_set_caps):
6116           Short-circuit gst_pad_set_caps if setting the existing
6117           caps pointer again, and avoid printing debug and 
6118           reffing/unreffing the caps.
6119
6120         * plugins/elements/gstqueue.c: (gst_queue_push_one):
6121           There's actually no need to set the caps before pushing -
6122           the acceptcaps method will handle it anyway.
6123
6124 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
6125
6126         * docs/gst/gstreamer-sections.txt:
6127         * win32/common/libgstreamer.def:
6128         * gst/gstutils.c: (gst_element_seek_simple):
6129         * gst/gstutils.h:
6130           API: add gst_element_seek_simple() (#342238).
6131
6132 2006-05-18  Edward Hervey  <edward@fluendo.com>
6133
6134         * gst/gsttypefind.c: (gst_type_find_get_type):
6135         * gst/gsttypefind.h:
6136         Added GST_TYPE_TYPE_FIND and gst_type_find_get_type() so a GType gets
6137         registered for GstTypeFind pointers. This allows wrapping the structure
6138         in bindings (i.e. gst-python).
6139
6140 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
6141
6142         * gst/gsttagsetter.c:
6143           Docs additions and fixes (see #339918).
6144
6145 2006-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
6146
6147         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
6148         The caps intersection algorithm can produce multiple copies of the
6149         caps. Until that is fixed, we need to simplify the result to be
6150         sure whether the allowed caps are fixed or not.
6151
6152         * plugins/elements/gstqueue.c: (gst_queue_init),
6153         (gst_queue_bufferalloc), (gst_queue_acceptcaps),
6154         (gst_queue_push_one):
6155         Proxied buffer alloc should not set the caps on the source pad.
6156         When pushing buffers, we always accept the caps change that triggers.
6157         This prevents negotiation errors caused by caps changing mid-stream 
6158         and then being refused on our source pad (because upstream is now
6159         refusing those caps).
6160
6161 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
6162
6163         * tests/examples/helloworld/helloworld.c: (main):
6164           Must plug audioconvert and audioresample between decoder
6165           and audio sink.
6166
6167 2006-05-17  Jan Schmidt  <thaytan@mad.scientist.com>
6168
6169         * gst/gstregistryxml.c: (read_string), (load_pad_template),
6170         (load_feature), (load_plugin):
6171         Allow empty strings for some of the plugin fields so we don't 
6172         drop valid plugin entries that were written out correctly
6173         (Fixes #341479)
6174
6175 2006-05-17  Sebastien Moutte  <sebastien@moutte.net>
6176         
6177         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
6178           Use g_remove and g_rename instead of remove and rename that don't 
6179           handle utf8 characters. rename was failing for users who had specific
6180           characters in their name then the registry was built at each 
6181           gstreamer init.
6182         * win32/vs6/gst_inspect.dsp:
6183         * win32/vs6/gst_launch.dsp:
6184         * win32/vs6/libgstbase.dsp:
6185         * win32/vs6/libgstcoreelements.dsp:
6186         * win32/vs6/libgstreamer.dsp:
6187           Use a debug version of libxml2 (libxml2D.lib,libxml2D.dll) for DEBUG 
6188           build of libgstreamer and clean unused libraries in projects link 
6189           settings.
6190
6191 2006-05-17  Edward Hervey  <edward@fluendo.com>
6192
6193         * plugins/elements/gstqueue.c: (gst_queue_push_one):
6194         The queue is not responsible for pushing an EOS when receiving a fatal
6195         flow error. It's up to the real element driving the pipeline to do that.
6196
6197 2006-05-16  Edward Hervey  <edward@fluendo.com>
6198
6199         * plugins/elements/gstqueue.c: (gst_queue_push_one):
6200         The queue was posting a non-needed GST_MESSAGE_ERROR when pushing a
6201         buffer returned a fatal error. It should just send an EOS and stop
6202         its task.
6203         Upstream elements will then properly receive the GST_FLOW_UNEXPECTED
6204         when pushing buffers on the queue and will be able to handle the event.
6205
6206 2006-05-16  Tim-Philipp Müller  <tim at centricular dot net>
6207
6208         * docs/manual/basics-bins.xml:
6209         * docs/manual/basics-init.xml:
6210           Fix typos and minor errors in sample code (#341856).
6211
6212 2006-05-16  Wim Taymans  <wim@fluendo.com>
6213
6214         * docs/design/part-qos.txt:
6215         Fix indexes in formulas to make more sense.
6216
6217 2006-05-15  Wim Taymans  <wim@fluendo.com>
6218
6219         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
6220         Don't report POSITION based on clock time if sync is
6221         disabled in a sink.
6222
6223 2006-05-15  Tim-Philipp Müller  <tim at centricular dot net>
6224
6225         * gst/gstobject.h:
6226           Add cast to make compiler happy - refcount variable was a gint
6227           in GstObject but is a guint in GObject and g_atomic_int_get()
6228           wants a gint *.
6229
6230 2006-05-15  Thomas Vander Stichele  <thomas at apestaart dot org>
6231
6232         * gst/parse/Makefile.am:
6233           chain commands using &&, which also makes parallel make work
6234
6235 2006-05-14  Tim-Philipp Müller  <tim at centricular dot net>
6236
6237         * docs/gst/gstreamer-sections.txt:
6238         * gst/gstevent.c:
6239         * gst/gstevent.h:
6240         * gst/gstmessage.h:
6241           Minor docs fixes.
6242
6243 === release 0.10.6 ===
6244
6245 2006-05-14  Jan Schmidt <thaytan@mad.scientist.com>
6246
6247         * configure.ac:
6248           releasing 0.10.6, "Take the cannoli"
6249
6250 2006-05-13  Tim-Philipp Müller  <tim at centricular dot net>
6251
6252         * tools/gst-launch.c: (print_tag):
6253           Fix use of uninitialized variable in the hypothetical
6254           case that some broken plugin creates a GST_TAG_IMAGE
6255           tag containing a NULL buffer (#341667).
6256
6257 2006-05-12  Tim-Philipp Müller  <tim at centricular dot net>
6258
6259         * tools/gst-launch.c: (print_tag):
6260           Print something more intelligible for image tags when
6261           using the -t switch (#341556).
6262
6263 2006-05-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6264
6265         * Makefile.am:
6266           updates for win32
6267         * configure.ac:
6268           define GST_MAJORMINOR so we have it available in win32/common/config.h
6269           Possibly remove it from our Makefile.am files later
6270         * win32/common/config.h:
6271         * win32/common/config.h.in:
6272           added GST_MAJORMINOR
6273         * win32/common/gstenumtypes.c: (register_gst_resource_error):
6274         * win32/common/gstversion.h:
6275           updated
6276
6277 2006-05-12  Sebastien Moutte  <sebastien@moutte.net>
6278
6279         * win32/MANIFEST:
6280           Update win32 files listing.
6281         * win32/common/gstversion.h:
6282           Add GST_MAJORMINOR definition.
6283         * win32/common/libgstreamer.def:
6284           Add new exported functions.
6285           
6286 2006-05-12  Michael Smith  <msmith@fluendo.com>
6287
6288         * gst/gstplugin.c: (gst_plugin_load_file):
6289           If an so file has no plugin entry point, unload the module.
6290
6291 2006-05-11  Wim Taymans  <wim@fluendo.com>
6292
6293         * plugins/elements/gstqueue.c: (gst_queue_chain), (gst_queue_loop),
6294         (gst_queue_set_property):
6295         Don't forget to signal the _chain or _loop function 
6296         when the queue size or thresholds change since that might
6297         cause them to make progres again.
6298
6299 2006-05-11  Stefan Kost  <ensonic@users.sf.net>
6300
6301         * gst/gstclock.c: (gst_clock_class_init):
6302         * gst/gstindex.c: (gst_index_class_init):
6303         * gst/gstobject.c: (gst_object_class_init):
6304         * gst/gstpad.c: (gst_pad_class_init):
6305         * gst/gstpipeline.c: (gst_pipeline_class_init):
6306         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
6307         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
6308         * libs/gst/base/gstbasetransform.c:
6309         (gst_base_transform_class_init):
6310         * libs/gst/net/gstnetclientclock.c:
6311         (gst_net_client_clock_class_init):
6312         * libs/gst/net/gstnettimeprovider.c:
6313         (gst_net_time_provider_class_init):
6314         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
6315         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
6316         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
6317         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
6318         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
6319         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
6320         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
6321         * plugins/elements/gstidentity.c: (gst_identity_class_init):
6322         * plugins/elements/gsttee.c: (gst_tee_class_init):
6323         * tests/old/examples/plugins/example.c: (gst_example_class_init):
6324         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
6325           G_OBJECT_CLASS macro usage batch cleanup, fixes #337747 for core
6326
6327 2006-05-11  Wim Taymans  <wim@fluendo.com>
6328
6329         * gst/gstbuffer.c: (_gst_buffer_initialize):
6330         Register subbufer along with the buffer type so that
6331         it does not accidentally gets registered from N
6332         different streaming threads in a non threadsafe way.
6333
6334 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
6335
6336         * gst/gstbuffer.h:
6337         * gst/gstevent.h:
6338         * gst/gstmessage.h:
6339           Make gtk-doc generate docs for our inlined gst_buffer_ref(),
6340           gst_event_ref() and gst_message_ref() functions again
6341           (ugly hack, please do fix if there's a better way besides
6342           overrides.txt, which doesn't seem to work).
6343
6344 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
6345
6346         * libs/gst/check/gstcheck.h:
6347           add an assert for setting state to avoid lots of repetitive code
6348           in the future
6349
6350 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
6351
6352         * gst/gstvalue.c: (gst_value_serialize_flags):
6353           fix a leak if no flags are set
6354         * tests/check/gst/gstvalue.c: (GST_START_TEST):
6355           fix leak in tests
6356
6357 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
6358
6359         * docs/manual/basics-pads.xml:
6360           Expand a bit on caps and filtered links and update
6361           examples that were still using the no longer existing
6362           gst_pad_link_filtered() (#338206).
6363
6364 2006-05-10  Wim Taymans  <wim@fluendo.com>
6365
6366         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
6367         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
6368         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
6369         (gst_collect_pads_stop):
6370         * libs/gst/base/gstcollectpads.h:
6371         No need to call _stop in _finalize.
6372         Iterate the main pad list in _finalize.
6373         Added some more debug.
6374         Free lists and data in the right order.
6375         Also free data whem doing _remove_pad when stopped for
6376         backward compatibility protect ::started with PAD_LOCK as
6377         well.
6378
6379 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
6380
6381         * gst/gststructure.c: (gst_structure_gtype_from_abbr),
6382         (gst_structure_parse_value):
6383           add some comments
6384           rename a method so that it actually says what it does better
6385
6386 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
6387
6388         * gst/gstevent.c: (_gst_event_initialize):
6389         * gst/gstformat.c: (_gst_format_initialize):
6390           make sure some essential types used by events are registered
6391           as part of gst_init()
6392         * gst/gstvalue.c: (gst_value_serialize_flags):
6393           if no flags are set, serialize them to a value that represents NONE
6394           so that deserializing them works
6395         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
6396           add tests for serialization and deserialization of flags
6397
6398 2006-05-10  Wim Taymans  <wim@fluendo.com>
6399
6400         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_collect),
6401         (gst_collect_pads_collect_range), (gst_collect_pads_available),
6402         (gst_collect_pads_check_pads), (gst_collect_pads_check_collected),
6403         (gst_collect_pads_event), (gst_collect_pads_chain):
6404         Update docs.
6405         Better debug info.
6406         Catch and return errors from the collect function
6407         Refuse data on eos pads.
6408
6409 2006-05-10  Edward Hervey  <edward@fluendo.com>
6410
6411         * gst/gstinterface.h:
6412         GST_IMPLEMENTS_INTERFACE and GST_IS_IMPLEMENTS_INTERFACE use the normal
6413         GInterface type checking.
6414         They were previously using non-defined macros.
6415
6416 2006-05-09  Wim Taymans  <wim@fluendo.com>
6417
6418         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_init),
6419         (gst_collect_pads_finalize), (gst_collect_pads_add_pad),
6420         (gst_collect_pads_remove_pad), (gst_collect_pads_set_flushing),
6421         (gst_collect_pads_start), (gst_collect_pads_stop),
6422         (gst_collect_pads_peek), (gst_collect_pads_pop),
6423         (gst_collect_pads_available), (gst_collect_pads_read),
6424         (gst_collect_pads_flush), (gst_collect_pads_check_pads),
6425         (gst_collect_pads_is_collected), (gst_collect_pads_event),
6426         (gst_collect_pads_chain):
6427         * libs/gst/base/gstcollectpads.h:
6428         Clean up the mess that is collectpads, add comments and
6429         FIXMEs where needed.
6430         Maintain a separate pad list so we can add pads while
6431         collecting the other ones. For this we need a new separate 
6432         lock (see comics).
6433         Fix memory leak in finalize.
6434         Refactor some weird code to set/unset pad flushing flags, mark
6435         with comments.
6436         Don't crash in _available, _read, _flush when we're EOS.
6437
6438         * tests/check/libs/.cvsignore:
6439         Ignore adapter check binary.
6440
6441 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
6442
6443         * gst/gstindex.c: (gst_index_resolver_get_type):
6444         * plugins/elements/gstfakesink.c:
6445         (gst_fake_sink_state_error_get_type):
6446         * plugins/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
6447         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type):
6448         * plugins/elements/gstqueue.c: (queue_leaky_get_type):
6449           Const-ify GEnumValue arrays.
6450
6451 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
6452
6453         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
6454           Add test case for flags + gst_buffer_make_metadata_writable().
6455
6456 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
6457
6458         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable):
6459           gst_buffer_make_metadata_writable() should maintain the
6460           buffer flags (those that make sense at least) (see #340859).
6461
6462 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
6463
6464         * tools/gst-inspect.c:
6465         * tools/gst-launch.c:
6466         * tools/gst-typefind.c:
6467         * tools/gst-xmlinspect.c:
6468         * tools/tools.h:
6469           Fix up includes: need to include stdlib.h in tools.h for exit().
6470
6471 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
6472
6473         * gst/gsttaglist.c: (_gst_tag_initialize):
6474         * gst/gsttaglist.h:
6475           API: add GST_TAG_IMAGE tag (#340721).
6476
6477 2006-05-08  Wim Taymans  <wim@fluendo.com>
6478
6479         * gst/gstquery.c:
6480         Added some docs for the segment query.
6481
6482 2006-05-08  Wim Taymans  <wim@fluendo.com>
6483
6484         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
6485         (gst_base_src_loop), (gst_base_src_change_state):
6486         Always push non-flushing serialized events in the streaming 
6487         thread.
6488
6489 2006-05-08  Thomas Vander Stichele  <thomas at apestaart dot org>
6490
6491         * gst/gsterror.c: (_gst_stream_errors_init):
6492           Add a missing error string.
6493
6494 2006-05-08  Jan Schmidt  <thaytan@mad.scientist.com>
6495
6496         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment):
6497         Add applied_rate to the debug
6498
6499         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
6500         Copy applied_rate into the outgoing NEWSEGMENT event
6501
6502 2006-05-08  Wim Taymans  <wim@fluendo.com>
6503
6504         Patch by: Philippe Rouquier <philippero at libertysurf dot fr>
6505
6506         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
6507         (gst_base_sink_change_state):
6508         call ::unlock before taking the PREROLL_LOCK so we can safely
6509         handle elements that lock in ::render.
6510         Fixes #340174.
6511
6512 2006-05-08  Edward Hervey  <edward@fluendo.com>
6513
6514         * autogen.sh: (CONFIGURE_DEF_OPT): 
6515         Darwin's libtoolize is in fact called glibtoolize.
6516         Adding glibtoolize to the list of accepted names for libtoolize.
6517
6518 2006-05-08  Wim Taymans  <wim@fluendo.com>
6519
6520         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
6521         Unify error handling, don't post an error message
6522         when a push() returns EOS but perform our normal EOS
6523         handling code. Fixes #340772.
6524
6525 2006-05-08  Wim Taymans  <wim@fluendo.com>
6526
6527         * docs/design/part-overview.txt:
6528         Make upsteam/downstream concepts more clear.
6529         Give an example of serialized/non-serialized events.
6530
6531         * docs/design/part-events.txt:
6532         * docs/design/part-streams.txt:
6533         Mention applied_rate.
6534
6535         * docs/design/part-trickmodes.txt:
6536         Mention applied rate, flesh out some more use cases.
6537
6538         * gst/gstevent.c: (gst_event_new_new_segment),
6539         (gst_event_parse_new_segment), (gst_event_new_new_segment_full),
6540         (gst_event_parse_new_segment_full), (gst_event_new_tag),
6541         (gst_event_parse_tag), (gst_event_new_buffer_size),
6542         (gst_event_parse_buffer_size), (gst_event_new_qos),
6543         (gst_event_parse_qos), (gst_event_parse_seek),
6544         (gst_event_new_navigation):
6545         * gst/gstevent.h:
6546         Add applied_rate field to NEWSEGMENT event.
6547         API: gst_event_new_new_segment_full()
6548         API: gst_event_parse_new_segment_full()
6549
6550         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_seek),
6551         (gst_segment_set_newsegment), (gst_segment_set_newsegment_full),
6552         (gst_segment_to_stream_time), (gst_segment_to_running_time):
6553         * gst/gstsegment.h:
6554         Add applied_rate to GstSegment structure.
6555         Make calculation of stream_time and running_time more correct
6556         wrt rate/applied_rate.
6557         Add some more docs.
6558         API: GstSegment::applied_rate field
6559         API: gst_segment_set_newsegment_full();
6560
6561         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
6562         (gst_base_sink_get_sync_times), (gst_base_sink_get_position):
6563         * libs/gst/base/gstbasetransform.c:
6564         (gst_base_transform_sink_eventfunc),
6565         (gst_base_transform_handle_buffer):
6566         Parse and use applied_rate in the GstSegment field.
6567
6568         * tests/check/gst/gstevent.c: (GST_START_TEST):
6569         Add check for applied_rate field.
6570
6571         * tests/check/gst/gstsegment.c: (GST_START_TEST),
6572         (gstsegments_suite):
6573         Add more checks for various GstSegment operations.
6574
6575 2006-05-08  Wim Taymans  <wim@fluendo.com>
6576
6577         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
6578         (gst_base_sink_do_sync), (gst_base_sink_chain_unlocked),
6579         (gst_base_sink_get_position), (gst_base_sink_change_state):
6580         Store the sync time of the buffer end position separatly in a
6581         new variable eos_rtime so we can properly sync the EOS event.
6582         Fixes #340697.
6583         Fix the docs for gst_base_sink_set_qos_enabled().
6584         Don't set segment start to invalid value when we receive a 
6585         non TIME newsegment.
6586         get closer to handling position reporting for negative rates 
6587         correctly.
6588
6589 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
6590
6591         * gst/gstcaps.c:
6592         Docs about how to print caps for debug purposes.
6593
6594         * gst/gstpadtemplate.c: (gst_static_pad_template_get):
6595         use gst_caps_make_writable instead of gst_caps_copy, Fixes #340608
6596
6597 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
6598
6599         * gst/gstelement.c:
6600           use full enum names and preprend a '%' in docs strings to make recent 
6601           gtk-doc turn that into a link
6602
6603 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
6604
6605         * docs/manual/basics-bins.xml:
6606         * docs/manual/basics-bus.xml:
6607         * docs/manual/basics-pads.xml:
6608           Some typo fixes, some additions, some clarifications. 
6609
6610 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
6611
6612         * tools/gst-inspect.c: (main):
6613         * tools/gst-launch.c: (main):
6614         * tools/gst-run.c: (main):
6615         * tools/gst-typefind.c: (main):
6616         * tools/gst-xmlinspect.c: (main):
6617           Use the string passed to g_option_context_new() for
6618           what it's intended for - the program name is already
6619           printed elsewhere.
6620
6621 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
6622
6623         * tools/Makefile.am:
6624         * tools/gst-inspect.c: (main):
6625         * tools/gst-launch.c: (main):
6626         * tools/gst-xmlinspect.c: (main):
6627         * tools/tools.h:
6628           Add back --version command line option (#340460).
6629
6630         * tools/gst-typefind.c: (have_type_handler), (typefind_file), (main):
6631           Add --version option and use GOption for argument parsing; refactor a
6632           bit; accept directories as arguments and recurse into them; lastly,
6633           print a decent error message when things go wrong.
6634
6635 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
6636
6637         * docs/manual/basics-bins.xml:
6638         Don't mention GstThread (#340611)
6639         * docs/manual/basics-elements.xml:
6640         Update link to GObject tutorial (#340607)
6641         
6642 2006-05-05  Wim Taymans  <wim@fluendo.com>
6643
6644         * gst/gstbuffer.h:
6645         * gst/gstminiobject.c:
6646         Add note about refcounting and miniobject/buffer writeability
6647         to docs. Fixes #340604
6648
6649         * gst/gstelementfactory.h:
6650         Added some explanation about @klass.
6651
6652 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
6653
6654         * docs/manual/intro-motivation.xml:
6655         * docs/manual/manual.xml:
6656         Avoid CORBA & Bonobo references (#340598)
6657
6658 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
6659
6660         * docs/manual/basics-bus.xml:
6661         * docs/manual/basics-pads.xml:
6662         Fix up some inaccuracies and omissions (#340609)
6663         
6664 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
6665
6666         * gst/gstghostpad.c:
6667           Small typo in docs (#340625)
6668
6669 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
6670
6671         * gst/parse/Makefile.am:
6672           Make 'make -j' proof (see #340698).
6673
6674 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
6675
6676         * configure.ac:
6677           Require GLib-2.8 here as well.
6678
6679 2006-05-05  Wim Taymans  <wim@fluendo.com>
6680
6681         * gst/glib-compat.c:
6682         * gst/gst.c: (init_pre):
6683         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
6684         (gst_object_unref), (gst_object_replace), (gst_object_dispose),
6685         (gst_object_dispatch_properties_changed):
6686         * gst/gstobject.h:
6687         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
6688         * gst/gststructure.c: (gst_structure_set_valist):
6689         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
6690         Remove pre glib2.8 compatibility, fixes #340508
6691
6692 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
6693
6694         * gst/gsttaglist.h:
6695           Mention type of tags in doc blurbs.
6696
6697 2006-05-04  Jan Schmidt  <thaytan@mad.scientist.com>
6698
6699         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
6700         (gst_pad_configure_src), (gst_pad_push):
6701         Restore acceptcaps checking behaviour now that good plugins have
6702         been released.
6703
6704 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
6705
6706         Patch by: James Andrewartha <trs80 at tartarus uwa edu au>
6707
6708         * gst/gst.c:
6709         * gst/gstbus.c:
6710         * gst/gstclock.c:
6711         * gst/gstevent.c:
6712         * gst/gstformat.c:
6713         * gst/gstmessage.c:
6714         * gst/gstparse.c:
6715         * gst/gstquery.c:
6716         * gst/gstutils.c:
6717         * gst/parse/Makefile.am:
6718         * libs/gst/base/gstadapter.c:
6719         * libs/gst/base/gstbasesrc.c:
6720         * libs/gst/base/gstpushsrc.c:
6721         * libs/gst/base/gsttypefindhelper.c:
6722         * plugins/elements/gstfakesrc.c:
6723         * plugins/elements/gstidentity.c:
6724           Make sure gstprivate.h and/or config.h are
6725           always included first, otherwise some of our
6726           defines (like _FILE_OFFSET_BITS) might be
6727           redefined in the system headers. Fixes build
6728           on opensolaris (#340016).
6729
6730 2006-05-04  Wim Taymans  <wim@fluendo.com>
6731
6732         * docs/libs/gstreamer-libs-sections.txt:
6733         API: addition: gst_adapter_take_buffer()
6734         
6735         * libs/gst/base/gstadapter.c: (gst_adapter_push),
6736         (gst_adapter_peek), (gst_adapter_take), (gst_adapter_take_buffer),
6737         (gst_adapter_available_fast):
6738         * libs/gst/base/gstadapter.h:
6739         Prepare for optimizing the hell out of this hugely inefficient
6740         piece of code. 
6741         Added gst_adapter_take_buffer() so we can at least start thinking
6742         about subbuffering and merging.
6743         Added some comments.
6744
6745         * tests/check/Makefile.am:
6746         * tests/check/libs/adapter.c: (GST_START_TEST),
6747         (gst_adapter_suite), (main):
6748         Added GstAdapter check.
6749
6750 2006-05-04  Wim Taymans  <wim@fluendo.com>
6751
6752         * docs/design/part-overview.txt:
6753         Fix some typos, add blurb about buffer flags.
6754
6755 2006-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
6756
6757         * docs/libs/gstreamer-libs-sections.txt:
6758           make sure GstBaseTransformClass shows up in the docs
6759         * libs/gst/base/gstbasetransform.c:
6760         * libs/gst/base/gstbasetransform.h:
6761           move docs so gtk-doc picks it up now
6762
6763 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
6764
6765         * docs/libs/gstreamer-libs-sections.txt:
6766           add missing symbols to docs
6767
6768 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
6769
6770         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
6771           back out the newsegment handling change, see #340060 for ongoing
6772           discussion
6773
6774 2006-04-30  Tim-Philipp Müller  <tim at centricular dot net>
6775
6776         * tools/gst-run.c: (get_candidates), (main):
6777           Fix wrong g_file_test() usage (see glib docs for why it doesn't
6778           work); fix typo in error message. Fixes #340079.
6779
6780 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
6781
6782         * common/Makefile.am:
6783         * docs/Makefile.am:
6784         * docs/faq/Makefile.am:
6785         * docs/gst/Makefile.am:
6786         * docs/libs/Makefile.am:
6787         * docs/manual/Makefile.am:
6788         * docs/plugins/Makefile.am:
6789         * docs/pwg/Makefile.am:
6790         * docs/slides/Makefile.am:
6791         * docs/upload.mak:
6792         * common/upload.mak:
6793           move upload.mak to common
6794
6795 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
6796
6797         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
6798           add more asserts on refcounts
6799           do more cleanup at end of tests
6800           fix test leaks showing in FC5
6801
6802 2006-04-29  Stefan Kost  <ensonic@users.sf.net>
6803
6804         * plugins/elements/gsttypefindelement.c:
6805         (gst_type_find_element_handle_event):
6806         reverted wrong change and reflowed code to avoid others falling into
6807         this trap
6808
6809 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
6810
6811         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
6812           fix changelog entry about last collectpads change,
6813           add notes about proper fix
6814
6815 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
6816
6817         * gst/gst.c:
6818         * gst/gstregistry.c: (gst_registry_scan_path_level),
6819         (gst_registry_scan_path):
6820         * gst/gstregistry.h:
6821           only write out registry if it has changed, fixes #338339
6822
6823 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
6824
6825         * gst/gstbin.c:
6826         * gst/gstpipeline.c:
6827         * plugins/elements/gstcapsfilter.c:
6828         * plugins/elements/gstfakesink.c:
6829         * plugins/elements/gstfakesrc.c:
6830         * plugins/elements/gstfdsink.c:
6831         * plugins/elements/gstfdsrc.c:
6832         * plugins/elements/gstfilesink.c:
6833         * plugins/elements/gstfilesrc.c:
6834         * plugins/elements/gstidentity.c:
6835         * plugins/elements/gstqueue.c:
6836         * plugins/elements/gsttee.c:
6837         * plugins/elements/gsttypefindelement.c:
6838         (gst_type_find_element_handle_event):
6839           make GstElementDetails const
6840
6841 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
6842
6843         * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
6844         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
6845         (gst_collect_pads_is_collected), (gst_collect_pads_event):
6846           more detailed debug and formatting cleanup,
6847           forward newsegments to src-pad (so that e.g. adder not eats them)
6848
6849 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
6850
6851         * gst/gstutils.c: (gst_element_link_pads):
6852           cleanup double code
6853
6854 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
6855
6856         * libs/gst/controller/gstcontroller.c:
6857         (gst_controller_sync_values):
6858           some little tuning
6859         * tests/check/libs/controller.c: (GST_START_TEST),
6860         (gst_controller_suite):
6861           a new test for live value handling
6862
6863 2006-04-28  Wim Taymans  <wim@fluendo.com>
6864
6865         * gst/gstutils.c: (push_and_ref):
6866         Added some more docs.
6867         Fix refcount issue whith gst_element_found_tags() helper 
6868         function. Fixes #338335
6869
6870         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
6871         Added testsuite for gst_element_found_tags().
6872
6873 2006-04-28  Michael Smith  <msmith@fluendo.com>
6874
6875         * gst/gstvalue.c: (gst_value_serialize_flags):
6876           Avoid NULL dereference when trying to serialize flags containing
6877           invalid values.
6878
6879 2006-04-28  Michael Smith  <msmith@fluendo.com>
6880
6881         * plugins/elements/gsttypefindelement.c:
6882         (gst_type_find_element_handle_event):
6883           If we get EOS before any data is accumulated, don't use
6884           uninitialised local variables.
6885
6886 2006-04-28  Michael Smith  <msmith@fluendo.com>
6887
6888         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
6889         (gst_dp_event_from_packet):
6890           Fixes in reading/writing events over GDP (not currently used?) - 
6891           dereferencing NULL events for unknown/invalid event types, memory
6892           leak, and change g_warning to GST_WARNING.
6893
6894 2006-04-28  Wim Taymans  <wim@fluendo.com>
6895
6896         * libs/gst/base/gstbasesink.c: (gst_base_sink_is_too_late),
6897         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
6898         (gst_base_sink_get_position), (gst_base_sink_change_state):
6899         When frame dropping is enabled, we should not ignore frames
6900         without a duration.
6901         Update some documentation.
6902
6903 2006-04-28  Wim Taymans  <wim@fluendo.com>
6904
6905         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
6906         (gst_base_src_send_event), (gst_base_src_change_state):
6907         Documentation updates.
6908
6909 2006-04-28  Wim Taymans  <wim@fluendo.com>
6910
6911         * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
6912         (gst_fd_sink_check_fd), (gst_fd_sink_update_fd):
6913         handle EAGAIN, EINTR and short writes correctly. Also clean
6914         up some error cases, avoid a deadlock on bad file descriptors and
6915         use GST_DEBUG_OBJECT.
6916         Fixes #339843
6917
6918 2006-04-28  Wim Taymans  <wim@fluendo.com>
6919
6920         * gst/gstvalue.c: (gst_value_serialize_buffer),
6921         (gst_value_deserialize_buffer):
6922         Don't try to serialize a GValue with a NULL buffer. 
6923         Fixes #339821.
6924
6925         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
6926         Added check for serialisation of NULL buffers.
6927
6928 2006-04-28  Wim Taymans  <wim@fluendo.com>
6929
6930         * gst/gstminiobject.c: (gst_value_take_mini_object):
6931         Taking a NULL miniobject is valid, fix the case where
6932         we try to unref the NULL miniobject.
6933
6934 2006-04-28  Wim Taymans  <wim@fluendo.com>
6935
6936         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
6937
6938         * gst/gstbin.c: (gst_bin_handle_message_func):
6939         Update docs.
6940         Don't leak bin refcount when a state recalc is
6941         in progress and we delay another one #339808.
6942
6943 2006-04-28  Wim Taymans  <wim@fluendo.com>
6944
6945         * docs/design/part-TODO.txt:
6946         Mention QoS as an ongoing work item.
6947
6948         * docs/design/part-buffering.txt:
6949         New doc about buffering that needs to be fleshed out
6950         at some point.
6951
6952         * docs/design/part-qos.txt:
6953         More QoS policy for decoders/demuxers/transforms
6954
6955         * docs/design/part-trickmodes.txt:
6956         Small update.
6957
6958 2006-04-28  Thomas Vander Stichele  <thomas at apestaart dot org>
6959
6960         * configure.ac:
6961           back to HEAD
6962
6963 === release 0.10.5 ===
6964
6965 2006-04-28  Thomas Vander Stichele <thomas at apestaart dot org>
6966
6967         * configure.ac:
6968           releasing 0.10.5, "Fogo"
6969
6970 2006-04-22  Thomas Vander Stichele  <thomas at apestaart dot org>
6971
6972         patch by: Wim Taymans
6973
6974         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
6975         (gst_pad_configure_src), (gst_pad_push):
6976         * gst/gstpipeline.c: (gst_pipeline_init):
6977           Fix internal data flow errors.  Fixes #338711.
6978
6979 2006-04-12  Wim Taymans  <wim@fluendo.com>
6980
6981         * tests/check/gst/gstelement.c: (GST_START_TEST):
6982         Don't leak the factory.
6983
6984 2006-04-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6985
6986         * configure.ac:
6987         * win32/common/config.h:
6988           prerelease
6989
6990 2006-04-12  Tim-Philipp Müller  <tim at centricular dot net>
6991
6992         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
6993         (gst_controller_unset_all):
6994           Free allocated GstTimedValues when freeing list nodes.
6995           Should fix leaks 'make check-valgrind' complains about.
6996
6997         * win32/common/libgstcontroller.def:
6998           Add gst_controller_unset_all.
6999
7000 2006-04-11  Stefan Kost  <ensonic@users.sf.net>
7001
7002         * docs/libs/gstreamer-libs-sections.txt:
7003         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
7004         (gst_controller_unset_all):
7005         * libs/gst/controller/gstcontroller.h:
7006         API: Added new method gst_controller_unset_all()
7007         fixed gst_controller_unset()
7008         * tests/check/libs/controller.c: (GST_START_TEST),
7009         (gst_controller_suite):
7010         Added two testcases for new and fixed method
7011
7012 2006-04-11  Tim-Philipp Müller  <tim at centricular dot net>
7013
7014         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
7015           MSG_DONTWAIT is not defined on Cygwin, so work
7016           around that (fixes #317048).
7017           
7018 2006-04-11  Wim Taymans  <wim@fluendo.com>
7019
7020         * gst/gstelementfactory.c: (gst_element_register),
7021         (gst_element_factory_create), (gst_element_factory_make):
7022         Some cleanups.
7023         Fixed a FIXME.
7024         Updated docs (Fixes #131079)
7025
7026         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
7027         Small cleanups.
7028
7029         * tests/check/gst/gstelement.c: (GST_START_TEST),
7030         (gst_element_suite):
7031         Added testcase for elementfactory class field.
7032
7033 2006-04-10  Wim Taymans  <wim@fluendo.com>
7034
7035         * gst/gstsegment.c:
7036         Added some more docs.
7037
7038         * libs/gst/base/gstbasesink.c: (gst_base_sink_perform_qos),
7039         (gst_base_sink_reset_qos):
7040         Calculate more accurate rate values.
7041
7042 2006-04-09  Sebastien Moutte  <sebastien@moutte.net>
7043
7044         * gst/gst_private.h:
7045           add a new #ifdef to use __declspec(dllimport) only for
7046           other modules and not for gstreamer core
7047         * gst/gstbasesink.c: (gst_base_sink_perform_qos):
7048           use gst_guint64_to_gdouble for conversion
7049         * win32/common/libgstreamer.def:
7050           add new exported functions
7051         * win32/vs6/gst_inspect.dsp:
7052         * win32/vs6/gst_launch.dsp:
7053         * win32/vs6/libgstbase.dsp:
7054         * win32/vs6/libgstcontroller.dsp:
7055         * win32/vs6/libgstcoreelements.dsp:
7056         * win32/vs6/libgstdataprotocol.dsp:
7057         * win32/vs6/libgstnet.dsp:
7058           update project files
7059
7060 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
7061
7062         * gst/gstbuffer.c: (gst_subbuffer_class_init):
7063         * gst/gstclock.c: (gst_clock_class_init):
7064         * gst/gstelement.c: (gst_element_class_init):
7065         * gst/gstindex.c: (gst_index_class_init):
7066         * gst/gstindexfactory.c: (gst_index_factory_class_init):
7067         * gst/gstobject.c: (gst_object_class_init),
7068         (gst_signal_object_class_init):
7069         * gst/gstpad.c: (gst_pad_class_init):
7070         * gst/gstpadtemplate.c: (gst_pad_template_class_init):
7071         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init):
7072         * gst/gstregistry.c: (gst_registry_class_init):
7073         * gst/gstsystemclock.c: (gst_system_clock_class_init):
7074         * gst/gsttask.c: (gst_task_class_init):
7075         * gst/gstxml.c: (gst_xml_class_init):
7076         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
7077         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
7078         (gst_base_src_loop):
7079         * libs/gst/controller/gstcontroller.c:/
7080         (_gst_controller_class_init):
7081         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
7082         * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
7083         * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init):
7084         * tests/old/examples/plugins/example.c: (gst_example_class_init):
7085         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
7086         Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent)
7087
7088 2006-04-08  Tim-Philipp Müller  <tim at centricular dot net>
7089
7090         * gst/gstpad.c: (gst_pad_link):
7091           Must set peer pads before calling the link function, otherwise
7092           a task started from a link function might get a flow-not-linked
7093           result when trying to push because the other thread where the
7094           linking happens hasn't had a chance to set the peers yet. This
7095           might happen for example when a queue gets linked to a downstream
7096           element, as queue starts a streaming task when its source pad
7097           gets linked. Happens in real life when playing back flac/musepack
7098           files in playbin (#332390).
7099           
7100 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
7101
7102         * gst/gstindex.h:
7103         * gst/gstxml.h:
7104         * libs/gst/base/gstadapter.h:
7105         * libs/gst/base/gstbasesink.h:
7106         * libs/gst/base/gstbasesrc.h:
7107         * libs/gst/base/gstbasetransform.h:
7108         * libs/gst/base/gstcollectpads.h:
7109         * libs/gst/base/gstpushsrc.h:
7110         Fix broken GObject macros
7111
7112 2006-04-07  Wim Taymans  <wim@fluendo.com>
7113
7114         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
7115         Initialize start and stop times, thanks valgrind.
7116
7117 2006-04-07  Wim Taymans  <wim@fluendo.com>
7118
7119         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
7120         Be a bit nicer to badly behaving upstream elements that expect
7121         us to deal with non TIME segments and timestamps (such as fakesrc
7122         in the testsuite).
7123
7124 2006-04-07  Wim Taymans  <wim@fluendo.com>
7125
7126         * gst/gstbus.c:
7127         Small documentation clarification about the signal watch.
7128
7129         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
7130         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
7131         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
7132         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
7133         (gst_base_sink_get_position_last),
7134         (gst_base_sink_get_position_paused), (gst_base_sink_change_state):
7135         Convert and store timestamps in stream time and running time, the
7136         raw timestamps are not useful, also document this better.
7137         Use different window sizes for good and bad QoS observations so
7138         we react to badness a little quicker.
7139         Keep track of the amount of rendered and dropped buffers.
7140         Send QoS timestamps in running time.
7141
7142         * libs/gst/base/gstbasetransform.c:
7143         (gst_base_transform_sink_eventfunc),
7144         (gst_base_transform_handle_buffer):
7145         Compare QoS timestamps against running time.
7146
7147 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
7148
7149         * gst/gstpad.c:
7150           Typo fixes in docs.
7151
7152 2006-04-06  Michael Smith  <msmith@fluendo.com>
7153
7154         * gst/gstpad.c: (gst_pad_set_property):
7155           Use g_value_get_object() instead of g_value_dup_gst_object(),
7156           to avoid double-reffing the pad template (which we then sink,
7157           so this worked previously if (and only if) the pad template
7158           was floating.
7159
7160         * gst/gstpadtemplate.c: (gst_pad_template_init),
7161         (gst_pad_template_pad_created):
7162           Never return floating references to pad templates, create
7163           them as initially-sunken.
7164
7165           Document an extra function (and make this stop sinking our
7166           pad template, since that is now guaranteed to do nothing,
7167           since we created it sunken).
7168
7169         * gst/gstghostpad.c:
7170           Fix docs typo.
7171
7172 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
7173
7174         * gst/gstinfo.c: (__gst_in_valgrind):
7175           Add some newlines.
7176
7177         * plugins/elements/gsttypefindelement.c:
7178         (gst_type_find_element_chain):
7179           Don't leak buffer caps.
7180
7181 2006-04-06  Michael Smith  <msmith@fluendo.com>
7182
7183         * gst/parse/grammar.y:
7184           Fix a leak in parse-launch for any source-or-sink named element 
7185           references used.
7186
7187         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
7188           Unref the pipeline if it exists after we've failed parsing.
7189
7190 2006-04-05  Michael Smith  <msmith@fluendo.com>
7191
7192         * gst/gstpipeline.c: (gst_pipeline_init):
7193           When we create a pipeline bus, initially create it in flushing mode.
7194           Fixes leaks in at least one test, and makes a new pipeline work the
7195           same as one that has gone to READY and then back to NULL.
7196
7197         * gst/gstelement.c:
7198           Typo fix in docs.
7199
7200 2006-04-05  Michael Smith  <msmith@fluendo.com>
7201
7202         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
7203           Unref a pad we reffed.
7204         * tests/check/gst/gstutils.c: (GST_START_TEST):
7205           Unref bins
7206
7207 2006-04-05  Michael Smith  <msmith@fluendo.com>
7208
7209         * gst/gstquery.c: (gst_query_set_formats),
7210         (gst_query_set_formatsv):
7211           Fix leaking GValues in queries, as shown by valgrind/testsuite.
7212
7213 2006-04-05  Michael Smith  <msmith@fluendo.com>
7214
7215         * tests/check/generic/sinks.c: (GST_START_TEST):
7216           Fix a variety of memleaks in sinks check, which are only sometimes 
7217           shown by running the tests under valgrind (weird?).
7218
7219 2006-04-05  Jan Schmidt  <thaytan@mad.scientist.com>
7220
7221         * docs/version.entities.in:
7222           Fix the substituted entity name after thomas' changes on the
7223           weekend.
7224
7225 2006-04-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7226
7227         * gst/gstinfo.c: (__gst_in_valgrind): Use printf instead of
7228         VALGRIND_PRINTF
7229         
7230 2006-04-05  Andy Wingo  <wingo@pobox.com>
7231
7232         * gst/gstpad.c (gst_pad_set_blocked_async): More debug.
7233
7234         * libs/gst/base/gstbasetransform.c
7235         (gst_base_transform_sink_eventfunc): When resetting our segment on
7236         FLUSH_STOP, also update the flag saying we haven't seen a
7237         newsegment.
7238
7239 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
7240
7241         Patch by: Paolo Borelli  <pborelli at katamail dot com>
7242
7243         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
7244         (gst_plugin_check_license):
7245           minor clean-ups: G_DEFINE_TYPE already takes care of the
7246           parent_class stuff, no need to do it twice. Mark array of
7247           license strings as constant. (#337103)
7248           
7249 2006-04-04  Michael Smith  <msmith@fluendo.com>
7250
7251         * tools/gst-inspect.c: (print_element_list):
7252           Free the right plugin list; fixes a memory leak.
7253
7254 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
7255
7256         Patch by: Mark Nauwelaerts  <manauw at skynet dot be>
7257
7258         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
7259           Don't error out on empty buffers (#336945).
7260           
7261 2006-04-04  Jan Schmidt  <thaytan@mad.scientist.com>
7262
7263         * docs/libs/gstreamer-libs-sections.txt:
7264         * gst/gsttaglist.c:
7265         * libs/gst/base/gstbasesink.c:
7266         * libs/gst/base/gstbasesink.h:
7267         * libs/gst/base/gstbasesrc.c:
7268         * libs/gst/base/gstbasesrc.h:
7269           Documentation updates. Make BaseSink and BaseSrc docs contain the
7270           class structure so that people can actually see the prototypes for
7271           virtual functions they're supposed to be overriding.
7272
7273 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
7274
7275         * plugins/elements/gsttypefindelement.c:
7276         (gst_type_find_element_chain):
7277           More debug info; when skipping typefinding, send cached
7278           events in all cases.
7279
7280 2006-04-01  Thomas Vander Stichele  <thomas at apestaart dot org>
7281
7282         * configure.ac:
7283           use new AS_VERSION and AS_NANO macros
7284         * gst/gst-i18n-lib.h:
7285         * gst/gst.c:
7286         * gst/gsterror.c:
7287         * gst/gstversion.h.in:
7288         * win32/common/config.h:
7289         * win32/common/config.h.in:
7290           update accordingly
7291
7292 2006-03-31  Michael Smith  <msmith@fluendo.com>
7293
7294         * plugins/elements/gsttypefindelement.c:
7295         (gst_type_find_element_chain):
7296           Do not typefind content if the buffers already have caps.
7297           Neccesary for icydemux (#333657), and the right thing to do anyway.
7298
7299 2006-03-30  Wim Taymans  <wim@fluendo.com>
7300
7301         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
7302         (gst_base_sink_finalize), (gst_base_sink_set_qos_enabled),
7303         (gst_base_sink_is_qos_enabled), (gst_base_sink_do_sync),
7304         (gst_base_sink_record_qos_observation),
7305         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
7306         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
7307         (gst_base_sink_change_state):
7308         More QoS measurements as described in the design doc.
7309         Get rid of ringbuffer with observations, running average is
7310         more simple and equally good.
7311         Calculates valid proportion now.
7312         Added beginning of flood measurement.
7313
7314 2006-03-29  Wim Taymans  <wim@fluendo.com>
7315
7316         * docs/design/part-qos.txt:
7317         * gst/gstclock.c:
7318         Small documentation updates and additions.
7319
7320 2006-03-29  Wim Taymans  <wim@fluendo.com>
7321
7322         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
7323         (gst_base_src_send_event), (gst_base_src_loop),
7324         (gst_base_src_change_state):
7325         Perform the EOS logic when we reach the segment stop position.
7326         Fix compilation on gcc4.1
7327
7328 2006-03-29  Wim Taymans  <wim@fluendo.com>
7329
7330         Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
7331
7332         * plugins/elements/gstqueue.c: (gst_queue_init),
7333         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
7334         (gst_queue_set_property):
7335         * plugins/elements/gstqueue.h:
7336         In queue, when EOS is received, if minimum threshold > max_size -
7337         current_level, there is chance that queue blocks forever in conditional
7338         item del wait. This is because the queue is not emptied completely due
7339         to minimum threshold.  Here is another approach. Instead of setting
7340         cur_levels to max in EOS, just zero all minimum threshold levels. This
7341         should make sure that queue gives out all data. When going to READY
7342         (stop) state, just reset the original minimum threshold levels.
7343         Fixes #336336.
7344
7345 2006-03-29  Tim-Philipp Müller  <tim at centricular dot net>
7346
7347         * plugins/elements/gsttypefindelement.c: (stop_typefinding),
7348         (gst_type_find_element_handle_event),
7349         (gst_type_find_element_send_cached_events),
7350         (gst_type_find_element_change_state):
7351         * plugins/elements/gsttypefindelement.h:
7352           When typefinding is done in push mode, we should cache
7353           events we receive during typefinding instead of just
7354           dropping them (e.g. newsegment, custom events from
7355           dvdreadsrc etc.) and then send them out once we've
7356           determined the type of the stream (and decodebin
7357           has had a chance to plug in a decoder/demuxer).
7358           
7359 2006-03-27  Wim Taymans  <wim@fluendo.com>
7360
7361         * docs/design/part-qos.txt:
7362         First QoS ideas.
7363
7364 2006-03-27  Wim Taymans  <wim@fluendo.com>
7365
7366         Inspired by a patch of: Lutz Mueller <lutz at topfrose dot de>
7367
7368         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
7369         (gst_base_src_send_event), (gst_base_src_change_state):
7370         Handle element seek correctly when we are streaming.
7371         Fixes #326998.
7372
7373 2006-03-24  Michael Smith  <msmith@fluendo.com>
7374
7375         * docs/faq/gst-uninstalled:
7376           Set up LD_LIBRARY_PATH to point at all the gstreamer libs. This will
7377           allow you to correctly run intalled applications built against old 
7378           core, using plugins that require updated core (e.g. running
7379           installed totem against a full uninstalled gstreamer stack)
7380
7381 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
7382
7383         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
7384         more debug details
7385
7386 2006-03-24  Wim Taymans  <wim@fluendo.com>
7387
7388         * docs/gst/gstreamer-sections.txt:
7389         Rearrange the order of the methods so that related methods
7390         are grouped together in sections.
7391
7392 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
7393
7394         * gst/gstelement.c:
7395           Little clarification in the docs
7396
7397 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
7398
7399         * docs/README:
7400         formatting fix
7401         * plugins/elements/gstidentity.c:
7402         * plugins/elements/gstqueue.c:
7403         * plugins/elements/gsttee.c:
7404         * plugins/elements/gsttypefindelement.c:
7405         GST_ELEMENT_DETAILS formatting
7406
7407 2006-03-24  Wim Taymans  <wim@fluendo.com>
7408
7409         * libs/gst/base/gstbasesink.h:
7410         Only add fields, not insert or we break ABI.
7411
7412 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
7413
7414         * win32/common/libgstbase.def:
7415         * win32/common/libgstreamer.def:
7416           Update, add recently added functions.
7417
7418 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
7419
7420         * docs/gst/gstreamer-sections.txt:
7421         * gst/gstutils.c: (gst_pad_query_peer_position),
7422         (gst_pad_query_peer_duration), (gst_pad_query_peer_convert):
7423         * gst/gstutils.h:
7424           API: add some new utility functions:
7425            - gst_pad_query_peer_position()
7426            - gst_pad_query_peer_duration()
7427            - gst_pad_query_peer_convert()
7428           
7429 2006-03-23  Wim Taymans  <wim@fluendo.com>
7430
7431         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
7432         (gst_base_sink_init), (gst_base_sink_finalize),
7433         (gst_base_sink_set_qos_enabled), (gst_base_sink_is_qos_enabled),
7434         (gst_base_sink_set_property), (gst_base_sink_get_property),
7435         (gst_base_sink_commit_state), (gst_base_sink_get_sync_times),
7436         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
7437         (gst_base_sink_add_qos_observation), (gst_base_sink_send_qos),
7438         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
7439         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
7440         (gst_base_sink_preroll_object), (gst_base_sink_event),
7441         (gst_base_sink_chain_unlocked), (gst_base_sink_get_position_last),
7442         (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
7443         (gst_base_sink_query), (gst_base_sink_change_state):
7444         Decouple max-lateness and the fact that QoS messages are generated
7445         with a new property (qos).
7446         added API: GstBaseSink::async_play()
7447         Add vmethod so subclasses can be notified of ASYNC playing
7448         state changes.
7449         Collect timestamp start and stop to report better current
7450         position in EOS/PLAYING/PAUSED/READY/NULL.
7451         Refactor QoS/frame dropping and other measurements.
7452         API: GstBaseSrc::qos
7453         Fixes #326311
7454
7455         * libs/gst/base/gstbasesink.h:
7456         Added Private struct.
7457         API: gst_base_sink_set_qos_enabled()
7458         API: gst_base_sink_is_qos_enabled()
7459
7460 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
7461
7462         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
7463           If compiling against GLib-2.8 or newer, try to read the
7464           registry file using GMappedFile first before falling back
7465           to fopen() + fread() (#332151).
7466
7467 2006-03-22  Wim Taymans  <wim@fluendo.com>
7468
7469         * gst/gstinfo.c: (gst_debug_set_active),
7470         (gst_debug_category_set_threshold):
7471         Disable debugging unless explicitly activated.
7472         Fixes #335480.
7473
7474 2006-03-22  Wim Taymans  <wim@fluendo.com>
7475
7476         * gst/gstelement.c: (gst_element_set_locked_state),
7477         (gst_element_dispose):
7478         Cleanup the error case.
7479
7480         * gst/gstobject.c: (gst_object_dispose):
7481         print a critical when some object was disposed with
7482         a parent, also revive the object since it might
7483         crash the parent.
7484
7485 2006-03-22  Tim-Philipp Müller  <tim at centricular dot net>
7486
7487         * tools/gst-launch.1.in:
7488           Fix another typo.
7489
7490 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
7491
7492         * configure.ac:
7493         * tests/check/Makefile.am:
7494           disable some tests when we don't have a registry
7495         * tests/check/gst/gstutils.c: (gst_utils_suite):
7496           don't build the part that needs parsing
7497
7498 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
7499
7500         * gst/Makefile.am
7501         * tests/examples/Makefile.am:
7502           fix --disable-parse build
7503
7504 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
7505
7506         * tools/gst-feedback.1.in:
7507           Fix typo: s/feeback/feedback/ (#133494).
7508
7509 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
7510
7511         * tools/Makefile.am:
7512         * tools/gst-launch.1.in:
7513           Add FILES section and correct entry about GST_REGISTRY_PATH
7514           environment variable (#133495; #133494).
7515
7516 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
7517
7518         * tools/Makefile.am:
7519         * tools/gst-md5sum.1.in:
7520         * tools/gst-md5sum.c:
7521           Remove gst-md5sum and man page (the md5sink element
7522           required was removed ages ago)
7523
7524 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
7525
7526         * gst/gststructure.c: (gst_structure_id_set_value):
7527           Make sure that string fields in structures/taglists
7528           contain valid UTF-8 - we don't want to pass rubbish to
7529           applications because of a buggy plugin (cp. #334167).
7530
7531 2006-03-21  Edward Hervey  <edward@fluendo.com>
7532
7533         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
7534         (gst_bin_handle_message_func):
7535         * gst/gstclock.c: (gst_clock_dispose), (gst_clock_set_master):
7536         * gst/gstelement.c: (gst_element_set_clock), (gst_element_dispose),
7537         (gst_element_set_bus_func):
7538         * gst/gstghostpad.c: (gst_proxy_pad_dispose):
7539         * gst/gstminiobject.c: (gst_value_set_mini_object),
7540         (gst_value_take_mini_object):
7541         * gst/gstpad.c: (gst_pad_set_pad_template):
7542         * gst/gstpipeline.c: (gst_pipeline_dispose),
7543         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
7544         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop),
7545         (gst_collect_pads_chain):
7546         * libs/gst/net/gstnettimeprovider.c:
7547         (gst_net_time_provider_set_property):
7548         Series of fixes for dereferenced pointers that gcc 4.1 complains about.
7549         It's in fact all issues with gst_*object_replace().
7550
7551 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
7552
7553         Patch by: Loïc Minier  <lool + gnome at via dot ecp dot fr>
7554         
7555         * pkgconfig/gstreamer-check-uninstalled.pc.in:
7556         * pkgconfig/gstreamer-check.pc.in:
7557           Use @CHECK_LIBS@ here instead of hard-coding -lcheck (#334109).
7558
7559 2006-03-21  Edward Hervey  <edward@fluendo.com>
7560
7561         * gst/gstbuffer.h:
7562         * gst/gstevent.h:
7563         * gst/gstmessage.h:
7564         gst_[buffer|event|message]_ref() macros are replaced by a static
7565         inline functions because gcc-4.1 will about if the return value
7566         isn't used.
7567         * tests/check/gst/gstevent.c: (event_probe):
7568         gst_event_ref now has to be given a GstEvent* , fix check accordingly.
7569
7570 2006-03-20  Jan Schmidt  <thaytan@mad.scientist.com>
7571
7572         * gst/gstutils.h:
7573         Add G_UNLIKELY to our boilerplate to optimise the 'already registered
7574         the type' case. (Closes: #335195 for now). In the future, when we
7575         depend on GLib 2.10, we could also intern the type name using
7576         g_intern_static_string()
7577
7578 2006-03-20  Wim Taymans  <wim@fluendo.com>
7579
7580         * gst/gstbin.c: (gst_bin_handle_message_func),
7581         (bin_query_max_init), (bin_query_position_fold),
7582         (bin_query_position_done), (gst_bin_query):
7583         Position query should also take max of all streams.
7584
7585 2006-03-20  Wim Taymans  <wim@fluendo.com>
7586
7587         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
7588         (gst_fake_src_finalize):
7589         Fix leaks in fakesrc.
7590
7591         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
7592         Fix leaks in the testcase.
7593
7594 2006-03-19  Sebastien Moutte  <sebastien@moutte.net>
7595
7596         * gst/gst_private.h:
7597           add win32 specific import decoration(__declspec(dllimport)) 
7598           for all extern GstDebugCategory * variables
7599         * win32/common/libgstbase.def:
7600         * win32/common/libgstcontroller.def:
7601         * win32/common/libgstreamer.def:
7602           Add some exports, remove empty lines
7603         * win32/common/libgstdataprotocol.def:
7604         * win32/common/libgstdataprotocol.dsp:
7605         * win32/common/libgstnet.def:
7606         * win32/common/libgstnet.dsp:
7607           new project files and exportation files added
7608         
7609 2006-03-19  Wim Taymans  <wim@fluendo.com>
7610
7611         * tests/check/libs/basesrc.c: (eos_event_counter):
7612         Use proper return value for probe.
7613
7614 2006-03-17  Wim Taymans  <wim@fluendo.com>
7615
7616         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
7617         (gst_pad_push):
7618         Don't leak buffers, caps and pads on negotiation errors.
7619
7620 2006-03-16  Stefan Kost  <ensonic@users.sf.net>
7621
7622         * docs/faq/cvs.xml:
7623         * docs/faq/dependencies.xml:
7624         * docs/faq/developing.xml:
7625         * docs/faq/faq.xml:
7626         * docs/faq/general.xml:
7627         * docs/faq/getting.xml:
7628         * docs/faq/legal.xml:
7629         * docs/faq/troubleshooting.xml:
7630         * docs/faq/using.xml:
7631         Faq review and update.
7632
7633 2006-03-16  Jan Schmidt  <thaytan@mad.scientist.com>
7634
7635         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
7636         (gst_pad_push):
7637         Don't pound the cpu to pieces by checking get_caps when accept_caps
7638         is called with the same caps as the pad already has.
7639         Use GST_DEBUG_OBJECT when outputting caps change information.
7640
7641 2006-03-15  Wim Taymans  <wim@fluendo.com>
7642
7643         * gst/gstclock.c: (gst_clock_class_init):
7644         Fix docs.
7645
7646 2006-03-15  Jan Schmidt  <thaytan@mad.scientist.com>
7647
7648         * gst/gstbuffer.h:
7649         Documentation fix.
7650
7651         * gst/gstpad.c: (gst_pad_init), (gst_pad_acceptcaps_default),
7652         (gst_pad_accept_caps), (gst_pad_configure_sink),
7653         (gst_pad_configure_src), (gst_pad_chain), (gst_pad_push):
7654         Make the default acceptcaps behaviour be to check the requested 
7655         caps against the gst_pad_get_caps output. 
7656
7657         Ensure that gst_pad_accept_caps is used to check caps when a pad
7658         doesn't have a setcaps function, so that pads automatically refuse 
7659         caps that they don't allow in their pad template. (Fixes #332986)
7660
7661         When a buffer with attached caps is pushed, ensure that the source 
7662         pad receives those caps even if the element didn't call
7663         gst_pad_set_caps first.
7664
7665 2006-03-15  Wim Taymans  <wim@fluendo.com>
7666
7667         * libs/gst/base/gstadapter.c:
7668         Add some docs.
7669
7670 2006-03-15  Tim-Philipp Müller  <tim at centricular dot net>
7671
7672         * win32/common/libgstbase.def:
7673         * win32/common/libgstcontroller.def:
7674         * win32/common/libgstreamer.def:
7675           Add a whole bunch of missing functions (#334434).
7676
7677 2006-03-14  Wim Taymans  <wim@fluendo.com>
7678
7679         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
7680         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
7681         (gst_base_sink_do_sync), (gst_base_sink_do_qos):
7682         Better debug info when we receive a segment event.
7683         Reorganize a bit so we can pass the get_times() results around.
7684         Use the segment format when calculating the running time.
7685         Don't do QoS is sync is disabled or we have no clock or the
7686         element does not want us to sync to the clock.
7687         Don't drop buffers if QoS is disabled for now.
7688
7689 2006-03-14  Wim Taymans  <wim@fluendo.com>
7690
7691         * gst/gstclock.c: (gst_clock_class_init), (do_linear_regression):
7692         Marked the stats property as unimplemented so people don't get
7693         wild ideas.
7694         Add debug message when regression goes wrong.
7695         Added some more docs.
7696
7697 2006-03-14  Wim Taymans  <wim@fluendo.com>
7698
7699         * gst/gstsegment.c: (gst_segment_to_stream_time):
7700         Return correct return type in case of errors.
7701
7702 2006-03-14  Wim Taymans  <wim@fluendo.com>
7703
7704         * gst/gstformat.c: (gst_format_get_name), (gst_format_to_quark):
7705           Don't segfault on invalid formats.
7706
7707 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
7708
7709         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
7710           Can't use gst_segment_to_running_time() when the segment
7711           is not in GST_TIME_FORMAT (like with filesink, for example).
7712           Stops flac encoding pipelines from spewing critical warnings
7713           at EOS (#331248).
7714           
7715 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
7716
7717         * gst/gstpipeline.c: (gst_pipeline_class_init):
7718           Add 'Since: 0.10.5' to gtk-doc blurb for added property.
7719
7720         * plugins/elements/gsttypefindelement.c:
7721         (gst_type_find_element_handle_event):
7722           Don't try to typefind empty streams.
7723
7724 2006-03-14  Wim Taymans  <wim@fluendo.com>
7725
7726         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
7727         (gst_base_sink_do_qos):
7728         Separate QoS calculation.
7729         Only drop buffers when lateness is bigger than the 
7730         duration of the buffer.
7731
7732 2006-03-13  Wim Taymans  <wim@fluendo.com>
7733
7734         * gst/gstpipeline.c: (gst_pipeline_set_property),
7735         (gst_pipeline_get_property), (do_pipeline_seek),
7736         (gst_pipeline_change_state), (gst_pipeline_set_delay),
7737         (gst_pipeline_get_delay):
7738         Don't deadlock when reading properties.
7739
7740 2006-03-13  Wim Taymans  <wim@fluendo.com>
7741
7742         * libs/gst/base/gstbasetransform.c:
7743         (gst_base_transform_class_init), (gst_base_transform_init),
7744         (gst_base_transform_sink_event),
7745         (gst_base_transform_sink_eventfunc),
7746         (gst_base_transform_src_event), (gst_base_transform_src_eventfunc),
7747         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
7748         (gst_base_transform_set_property),
7749         (gst_base_transform_get_property),
7750         (gst_base_transform_change_state), (gst_base_transform_update_qos),
7751         (gst_base_transform_set_qos_enabled),
7752         (gst_base_transform_is_qos_enabled):
7753         * libs/gst/base/gstbasetransform.h:
7754         Make basetransform virtual method for src events too.
7755         Handle QOS in basetransform.
7756         API: gst_base_transform_update_qos()
7757         API: gst_base_transform_set_qos_enabled()
7758         API: gst_base_transform_is_qos_enabled()
7759
7760 2006-03-13  Wim Taymans  <wim@fluendo.com>
7761
7762         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
7763         (gst_base_sink_do_sync):
7764         Small cleanups.
7765         Use QOS debug category.
7766
7767 2006-03-13  Wim Taymans  <wim@fluendo.com>
7768
7769         * plugins/elements/gstqueue.c:
7770         Very small doc update.
7771
7772 2006-03-13  Wim Taymans  <wim@fluendo.com>
7773
7774         * gst/gst_private.h:
7775         * gst/gstinfo.c: (_gst_debug_init):
7776         Added QOS debug category
7777
7778 2006-03-13  Wim Taymans  <wim@fluendo.com>
7779
7780         * docs/gst/gstreamer-sections.txt:
7781         * gst/gstbin.c: (bin_bus_handler), (gst_bin_handle_message_func):
7782         * gst/gstbin.h:
7783         * gst/gstbus.c: (gst_bus_class_init):
7784         * gst/gstbus.h:
7785         * gst/gstclock.c:
7786         * gst/gstelement.c: (gst_element_set_locked_state):
7787         * gst/gstsegment.c:
7788         Documentation updates.
7789
7790         * gst/gstpipeline.c: (gst_pipeline_get_type),
7791         (gst_pipeline_class_init), (gst_pipeline_init),
7792         (gst_pipeline_dispose), (gst_pipeline_set_property),
7793         (gst_pipeline_get_property), (do_pipeline_seek),
7794         (gst_pipeline_send_event), (gst_pipeline_change_state),
7795         (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay),
7796         (gst_pipeline_get_delay):
7797         * gst/gstpipeline.h:
7798         Added methods for setting the delay.
7799         API: gst_pipeline_set_delay()
7800         API: gst_pipeline_get_delay()
7801         Add pipeline debug category
7802         Various cleanups.
7803         Updated docs.
7804         Don't reset stream time when seek failed.
7805
7806 2006-03-13  Wim Taymans  <wim@fluendo.com>
7807
7808         * docs/design/draft-klass.txt:
7809         * docs/design/part-clocks.txt:
7810         * docs/design/part-events.txt:
7811         * docs/design/part-gstbin.txt:
7812         * docs/design/part-gstpipeline.txt:
7813         * docs/design/part-messages.txt:
7814         * docs/design/part-negotiation.txt:
7815         * docs/design/part-overview.txt:
7816         * docs/design/part-preroll.txt:
7817         * docs/design/part-seeking.txt:
7818         * docs/design/part-states.txt:
7819         * docs/design/part-streams.txt:
7820         Documentation updates.
7821
7822 2006-03-12  Julien MOUTTE  <julien@moutte.net>
7823
7824         * gst/gsttaglist.c: Fix rubbish docs that are encouraging
7825         us to leak strings...
7826
7827 2006-03-12  Thomas Vander Stichele  <thomas at apestaart dot org>
7828
7829         * libs/gst/net/gstnettimeprovider.c:
7830           fix docs
7831         * win32/common/config.h:
7832           update
7833
7834 2006-03-12  Tim-Philipp Müller  <tim at centricular dot net>
7835
7836         Patch by: Julio M. Merino Vidal <jmmv at netbsd org>
7837
7838         * configure.ac:
7839           Don't check for libgnomeui (leftover from old examples
7840           that aren't built or disted any longer) (#334303).
7841           
7842 2006-03-11  Tim-Philipp Müller  <tim at centricular dot net>
7843
7844         * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
7845         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
7846           Emit RESOURCE_NO_SPACE_LEFT error here as well when
7847           there's no space left on the device.
7848
7849 2006-03-10  Tim-Philipp Müller  <tim at centricular dot net>
7850
7851         * gst/gstclock.h:
7852           Fix GST_CLOCK_TIME_IS_VALID signedness issues - we need
7853           to cast the input to GstClockTime before comparing with
7854           another GstClockTime value.
7855
7856 2006-03-10  Thomas Vander Stichele  <thomas at apestaart dot org>
7857
7858         * configure.ac:
7859           back to trunk
7860
7861 === release 0.10.4 ===
7862
7863 2006-03-10  Thomas Vander Stichele <thomas at apestaart dot org>
7864
7865         * configure.ac:
7866           releasing 0.10.4, "Light"
7867
7868 2006-03-10  Michael Smith  <msmith@fluendo.com>
7869
7870         * libs/gst/dataprotocol/dataprotocol.c:
7871           Fix docs for dataprocotol to not get the return types completely
7872           wrong for a few functions.
7873
7874 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
7875
7876         * docs/gst/gstreamer-sections.txt:
7877         * gst/gstpipeline.c: (gst_pipeline_class_init),
7878         (gst_pipeline_init), (gst_pipeline_set_property),
7879         (gst_pipeline_get_property), (gst_pipeline_change_state),
7880         (gst_pipeline_set_auto_flush_bus),
7881         (gst_pipeline_get_auto_flush_bus):
7882         * gst/gstpipeline.h:
7883           Add new API: gst_pipeline_set_auto_flush_bus() and
7884           gst_pipeline_get_auto_flush_bus() to disable automatic
7885           flushing of the pipeline's GstBus when going from READY
7886           to NULL state (#332045).
7887
7888 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
7889
7890         * docs/gst/gstreamer-sections.txt:
7891         * gst/gsturi.c: (gst_uri_has_protocol):
7892         * gst/gsturi.h:
7893            Add new API: gst_uri_has_protocol() (#333779).
7894
7895 2006-03-09  Wim Taymans  <wim@fluendo.com>
7896
7897         * gst/gstclock.c: (gst_clock_entry_new),
7898         (gst_clock_id_compare_func), (gst_clock_id_wait),
7899         (gst_clock_id_wait_async), (gst_clock_id_unschedule),
7900         (gst_clock_init), (gst_clock_get_internal_time),
7901         (gst_clock_set_master), (do_linear_regression),
7902         (gst_clock_add_observation), (gst_clock_set_property):
7903         * gst/gstclock.h:
7904         Review docs.
7905         Small cleanups.
7906         Fix a possible segfault when the window-size is made smaller.
7907         Calculate jitter before performing the clock wait. Ideally
7908         the clock implementation should calculate jitter but we need
7909         API breakage for that.
7910
7911         * gst/gstsystemclock.c: (gst_system_clock_init):
7912         Docs review.
7913         
7914         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
7915         Remove leftover else
7916
7917         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
7918         (gst_systemclock_suite):
7919         Added check to test GST_CLOCK_DIFF.
7920
7921 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
7922
7923         * libs/gst/base/gsttypefindhelper.c: (helper_find_get_length),
7924         (gst_type_find_helper_get_range):
7925           If we are provided with the size, we should implement
7926           GstTypeFind::get_length, so that typefind functions who
7927           want to can actually peek at the middle of a file.
7928
7929 2006-03-08  Tim-Philipp Müller  <tim at centricular dot net>
7930
7931         * docs/manual/advanced-dataaccess.xml:
7932           Add some very very basic error checking.
7933
7934         * docs/pwg/appendix-checklist.xml:
7935           Some updates to the list of things to check when writing an element.
7936
7937 2006-03-08  Wim Taymans  <wim@fluendo.com>
7938
7939         * docs/design/part-element-transform.txt:
7940         Added some docs about the design of tranform elements.
7941
7942         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
7943         (gst_base_src_loop), (gst_base_src_change_state):
7944         Mark buffers with the DISCONT flag.
7945
7946 2006-03-08  Michael Smith  <msmith@fluendo.com>
7947
7948         * gst/gstregistry.h:
7949         * gst/gstregistryxml.c: (gst_registry_save),
7950         (gst_registry_save_escaped), (gst_registry_xml_save_caps),
7951         (gst_registry_xml_save_pad_template),
7952         (gst_registry_xml_save_feature), (gst_registry_xml_save_plugin),
7953         (gst_registry_xml_write_cache):
7954           Rewrite registry-saving to avoid race conditions and check for
7955           failed writes.
7956
7957 2006-03-08  Wim Taymans  <wim@fluendo.com>
7958
7959         * libs/gst/base/gstbasetransform.c:
7960         (gst_base_transform_transform_caps),
7961         (gst_base_transform_transform_size),
7962         (gst_base_transform_prepare_output_buffer),
7963         (gst_base_transform_get_unit_size),
7964         (gst_base_transform_buffer_alloc),
7965         (gst_base_transform_handle_buffer),
7966         (gst_base_transform_change_state):
7967         Cleanups, separate normal flow from errors, add sensible
7968         DEBUG lines.
7969         Don't try to renegotiate when allocating an output buffer.
7970         Also copy DISCONT buffer flag when copying a buffer.
7971         Reset the transform after we finish streaming, not during.
7972
7973 2006-03-08  Wim Taymans  <wim@fluendo.com>
7974
7975         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
7976         Use last buffer timestamp in qos message.
7977
7978 2006-03-07  Wim Taymans  <wim@fluendo.com>
7979
7980         Patch by: Christophe Fergeau
7981
7982         * docs/pwg/advanced-tagging.xml:
7983         * docs/pwg/building-pads.xml:
7984           fixes #333416
7985
7986 2006-03-07  Wim Taymans  <wim@fluendo.com>
7987
7988         * docs/libs/gstreamer-libs-sections.txt:
7989         Added basesink new methods.
7990
7991         * gst/gstevent.c:
7992         * gst/gstevent.h:
7993         Docs updates. Flesh out the QoS docs.
7994
7995         * libs/gst/base/gstadapter.c:
7996         Small doc clarification about ownership and flushing.
7997
7998         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_sync),
7999         (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
8000         (gst_base_sink_get_max_lateness), (gst_base_sink_set_property),
8001         (gst_base_sink_get_property), (gst_base_sink_do_sync):
8002         * libs/gst/base/gstbasesink.h:
8003         API additions: 
8004         Added new methods to allow subclass to control max-lateness 
8005         and sync.
8006         Generate very basic QoS events based on last sync observation.
8007         Updated docs, fix typo, added some QoS blurb.
8008
8009         * libs/gst/base/gstbasesrc.c:
8010         Remove obsolete _get_state() calls from docs.
8011
8012 2006-03-07  Wim Taymans  <wim@fluendo.com>
8013
8014         * docs/libs/gstreamer-libs-sections.txt:
8015         * libs/gst/base/gstbasetransform.h:
8016         API addition: Fix #333669, Add pad accessor defines for GstBaseTransform
8017         Fix docs for GstBaseSrc.
8018
8019 2006-03-07  Wim Taymans  <wim@fluendo.com>
8020
8021         * docs/gst/gstreamer-sections.txt:
8022         * gst/gstbuffer.h:
8023         * gst/gstvalue.c:
8024         * libs/gst/base/gstbasetransform.h:
8025         Small documentation fixes.
8026
8027 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
8028
8029         * gst/gstvalue.c:
8030           Document thread-unsafety of gst_value_register_foo_func()
8031           when used at the same time as gst_value_foo() (#322628).
8032
8033 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
8034
8035         * libs/gst/base/gstpushsrc.c: (gst_push_src_class_init),
8036         (gst_push_src_check_get_range):
8037           Push sources don't support pull mode by default.
8038
8039 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
8040
8041         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
8042         (gst_base_src_init), (gst_base_src_pad_check_get_range),
8043         (gst_base_src_default_check_get_range):
8044         * libs/gst/base/gstbasesrc.h:
8045           API addition:  Add ::check_get_range() vfunc to GstBaseSrc (#332611),
8046           provide default implementation, and rename
8047           gst_base_src_check_get_range() to
8048           gst_base_src_pad_check_get_range() for clarity.
8049
8050 2006-03-06  Wim Taymans  <wim@fluendo.com>
8051
8052         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
8053         Make property overridable.
8054
8055 2006-03-06  Wim Taymans  <wim@fluendo.com>
8056
8057         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
8058         (gst_base_sink_init), (gst_base_sink_set_property),
8059         (gst_base_sink_get_property), (gst_base_sink_do_sync):
8060         * libs/gst/base/gstbasesink.h:
8061         API addition: Make max-lateness a property.
8062
8063 2006-03-06  Wim Taymans  <wim@fluendo.com>
8064
8065         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock),
8066         (gst_base_sink_do_sync), (gst_base_sink_render_object):
8067         Don't ever draw a frame that is >10ms late.
8068
8069 2006-03-06  Michael Smith  <msmith@fluendo.com>
8070
8071         * gst/gstmessage.c: (_gst_message_copy):
8072           When copying a message, set the parent_refcount of the enclosed
8073           structure to point at the copy, not the original message.
8074
8075 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
8076
8077         Patch by: Christophe Fergeau
8078
8079         * gst/gstutils.h:
8080           Do proper cast here to make GST_BOILERPLATE_WITH_INTERFACE
8081           usable in c++ code (#333417)
8082
8083 2006-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8084
8085         * gst/gstclock.h:
8086           Show GST_CLOCK_TIME_NONE as 99:99:99.999999999
8087
8088 2006-03-05  Tim-Philipp Müller  <tim at centricular dot net>
8089
8090         * libs/gst/base/gstbasetransform.c:
8091         (gst_base_transform_transform_caps):
8092           Make sure caps are writable before passing them to
8093           gst_caps_append().
8094
8095 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
8096
8097         * gst/gsterror.h:
8098           Fix some minor docs errors.
8099
8100 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
8101
8102           Patch by: Ross Burton <ross at burtonini dot com>
8103
8104         * gst/gsterror.c: (_gst_resource_errors_init):
8105         * gst/gsterror.h:
8106           Add GST_RESOURCE_ERROR_NO_SPACE_LEFT (for #333352;
8107
8108 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
8109
8110         * gst/gst.c:
8111         Add a check and output a g_warning when GStreamer is built
8112         against GLib 2.6 but running against 2.8 or higher, and vice 
8113         versa. (Closes: #323542)
8114
8115 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
8116
8117         * gst/parse/parse.l:
8118           Commit patch for parse_launch syntax from #331255. Removes 
8119           support for quoted strings and mimetypes when writing filtered 
8120           caps. See the bug report for more details - I'm pretty sure this
8121           obscure feature is not in use by _anyone_ anywhere.
8122
8123           With this simple change, the size of the gstreamer.so here 
8124           drops from 2193KB to 1565KB.
8125
8126 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
8127
8128         * plugins/elements/gsttypefindelement.h:
8129         * plugins/elements/gsttypefindelement.c:
8130         (gst_type_find_element_src_event), (start_typefinding),
8131         (stop_typefinding), (gst_type_find_element_handle_event),
8132         (gst_type_find_element_chain),
8133         (gst_type_find_element_chain_do_typefinding):
8134           Use gst_type_find_helper_for_buffer() for chain-based
8135           typefinding.
8136
8137 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
8138
8139         * plugins/elements/gsttypefindelement.c:
8140         (gst_type_find_element_class_init),
8141         (gst_type_find_element_set_property),
8142         (gst_type_find_element_get_property):
8143           Deprecate "maximum" property (not only was it only taken into
8144           account for typefinding in push-mode anyway, it also was never
8145           actually possible to set it in the first place because the
8146           property was registered with the numeric property ID for the
8147           "minimum" property). Register "maximum" property correctly,
8148           for the sake of future copy'n'pasters. Remove some cruft
8149           from property get/set functions.
8150
8151 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
8152
8153         * plugins/elements/gsttypefindelement.c:
8154         (gst_type_find_element_activate):
8155           Use gst_type_find_helper_get_range() here, so we
8156           can honour the "minimum" property and also emit
8157           the signal with the correct probability of the found caps.
8158
8159 2006-03-02  Tim-Philipp Müller  <tim at centricular dot net>
8160
8161         * docs/libs/gstreamer-libs-sections.txt:
8162         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
8163         (helper_find_suggest), (gst_type_find_helper_get_range),
8164         (gst_type_find_helper):
8165         * libs/gst/base/gsttypefindhelper.h:
8166           New API: gst_type_find_helper_get_range() (#333042).
8167
8168 2006-03-02  Michael Smith  <msmith@fluendo.com>
8169
8170         * gst/gstregistryxml.c: (load_feature):
8171           Asserting on a failure to read part of the registry is Not Cool.
8172           Just log a warning and return NULL (which is already handled)
8173
8174 2006-02-28  Sebastien Moutte  <sebastien@moutte.net>
8175
8176         * win32/common/libgstbase.def:
8177           added export of gst_type_find_helper_for_buffer
8178         * win32/common/libgstbase.def:
8179           added some exports : gst_bin_iterate_elements, gst_iterator_resync,
8180           gst_ghost_pad_get_target
8181
8182 2006-02-28  Wim Taymans  <wim@fluendo.com>
8183
8184         * docs/design/draft-klass.txt:
8185         We use Filter now.
8186         Added Connector to mark elements that are only used to
8187         allow pipeline connections.
8188         Moved Debug to extra feature since most of them are 
8189         functionally something else.
8190
8191 2006-02-28  Wim Taymans  <wim@fluendo.com>
8192
8193         * docs/design/draft-klass.txt:
8194         Some updates and clarifications.
8195
8196 2006-02-28  Wim Taymans  <wim@fluendo.com>
8197
8198         * docs/design/draft-klass.txt:
8199         Proposal for klass field values.
8200
8201         * docs/design/part-streams.txt:
8202         Start of a doc describing stream anatomy.
8203
8204 2006-02-28  Wim Taymans  <wim@fluendo.com>
8205
8206         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_handle_message_func):
8207         Help the compiler a bit with type registration.
8208         Use existing forward cod path instead of duplicating it when 
8209         handling a message.
8210         
8211         * gst/gstbus.c: (gst_bus_get_type):
8212         * gst/gstcaps.c: (gst_caps_get_type), (gst_static_caps_get_type):
8213         * gst/gstchildproxy.c: (gst_child_proxy_get_type):
8214         * gst/gstclock.c: (gst_clock_get_type):
8215         * gst/gstelement.c: (gst_element_get_type),
8216         * gst/gstelementfactory.c: (gst_element_factory_get_type):
8217         * gst/gstindexfactory.c: (gst_index_factory_get_type):
8218         * gst/gstminiobject.c: (gst_mini_object_get_type):
8219         * gst/gstpad.c: (gst_pad_get_type):
8220         * gst/gstsegment.c: (gst_segment_get_type):
8221         * gst/gststructure.c: (gst_structure_get_type):
8222         * gst/gstsystemclock.c: (gst_system_clock_get_type):
8223         * gst/gsttask.c: (gst_task_get_type), (gst_task_join):
8224         * gst/gstvalue.c:
8225         Help compiler with type registration.
8226
8227         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
8228         Small doc update.
8229
8230 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
8231
8232         * plugins/elements/gsttypefindelement.c:
8233         (gst_type_find_element_handle_event):
8234           When we get an EOS event and have not found a type yet
8235           (most likely because we had not yet accumulated
8236           TYPE_FIND_MIN_SIZE of data yet), try to determine the
8237           type given the data we have so far. Fixes typefinding
8238           for very short streams again, most notably quicktime
8239           redirections as used on Apple's trailer site (#331701).
8240
8241 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
8242
8243         * libs/gst/base/gsttypefindhelper.c: (type_find_factory_rank_cmp),
8244         (gst_type_find_helper):
8245           Try typefinding factories with the highest rank first.
8246
8247 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
8248
8249         * docs/libs/gstreamer-libs-docs.sgml:
8250         * docs/libs/gstreamer-libs-sections.txt:
8251         * libs/gst/base/gsttypefindhelper.c:
8252           Add section for typefind helper and add documentation
8253           for the old and the new function.
8254
8255 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
8256
8257         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek),
8258         (buf_helper_find_suggest), (type_find_factory_rank_cmp),
8259         (gst_type_find_helper_for_buffer):
8260         * libs/gst/base/gsttypefindhelper.h:
8261           New API: gst_type_find_helper_for_buffer() (#332723).
8262           
8263 2006-02-27  Michael Smith  <msmith@fluendo.com>
8264
8265         Patch by: Loïc Minier
8266
8267         * configure.ac:
8268         * docs/Makefile.am:
8269         * docs/slides/Makefile.am:
8270           prevent CVS directories getting disted.
8271
8272 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
8273
8274         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref):
8275           Use the REFCOUNTING category for caps refcounting.
8276           
8277 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
8278
8279         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
8280           This should be 0 not GST_CLOCK_TIME_NONE (see #331701).
8281
8282 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
8283
8284         * plugins/elements/gsttypefindelement.c:
8285         (gst_type_find_element_activate):
8286           Use gst_pad_check_pull_range() before _activate_pull()
8287           to avoid unnecessary open/close (see #331690).
8288
8289 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
8290
8291         * gst/gstutils.c:
8292           Docs enhancement: make it crystal clear what the
8293           gst_pad_add_*_probe() callbacks should look like.
8294
8295 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
8296
8297         * libs/gst/base/gstbasesrc.c:
8298           Document how applications can stop recording from
8299           live sources (see #330996).
8300
8301 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
8302
8303         * tests/check/Makefile.am:
8304         * tests/check/libs/basesrc.c: (eos_event_counter),
8305         (basesrc_eos_events_pull), (basesrc_eos_events_push),
8306         (basesrc_eos_events_push_live_op), (basesrc_eos_events_pull_live_op),
8307         (gst_basesrc_suite), (main):
8308           ... and add some tests for the base source EOS stuff.
8309
8310 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
8311
8312         * tests/check/gst/gstutils.c: (test_buffer_probe_n_times):
8313           Test case originally showed the problem fixed below,
8314           but was then amended. Add checks back at the place
8315           where they used to be.
8316
8317 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
8318
8319         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
8320         (gst_base_src_init), (gst_base_src_loop),
8321         (gst_base_src_activate_push), (gst_base_src_activate_pull),
8322         (gst_base_src_change_state):
8323         * libs/gst/base/gstbasesrc.h:
8324           Don't unconditionally send EOS when going from PAUSED to
8325           READY state, esp. make sure we don't send two EOS events
8326           in some cases (e.g. one when reaching EOS and one when
8327           going from PAUSED to READY). Also, we don't want to send
8328           EOS events when operating in pull mode. However, we do
8329           want to send an EOS event when shutting down a live
8330           source explicitly, for example (fixes #330996).
8331           
8332 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
8333
8334         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
8335           Update src->read_position after a seek when not using mmap.
8336           Fixes #332277, patch by: Renchi Raju <renchi gmail com>
8337
8338 2006-02-21  Jan Schmidt  <thaytan@mad.scientist.com>
8339
8340         * gst/Makefile.am:
8341         * gst/gstparse.h:
8342         * gst/gstutils.c:
8343         * gst/gstutils.h:
8344         Make things work with --disable-parse as they do with 
8345         --disable-load-save - the symbols involved disappear, but the
8346         header is still installed and GST_DISABLE_PARSE is included via
8347         gstconfig.h
8348
8349 2006-02-20  Julien MOUTTE  <julien@moutte.net>
8350
8351         * libs/gst/base/gstbasetransform.c:
8352         (gst_base_transform_change_state): Fix a stupid bug. I was 
8353         sure I compiled that.
8354
8355 2006-02-20  Julien MOUTTE  <julien@moutte.net>
8356
8357         * gst/gstpad.c: (gst_pad_set_blocked_async):
8358         * gst/gstutils.c: (gst_pad_add_data_probe),
8359         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
8360         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
8361         (gst_pad_remove_buffer_probe): Make those function act on the
8362         ghostpad target when it's a ghostpad. (Closes #331727)
8363
8364 2006-02-20  Julien MOUTTE  <julien@moutte.net>
8365
8366         * libs/gst/base/gstbasetransform.c:
8367         (gst_base_transform_change_state): Make basetransform reusable.
8368         (Closes #331898)
8369
8370 2006-02-20  Jan Schmidt  <thaytan@mad.scientist.com>
8371
8372         * docs/random/release:
8373         Move the current documentation of how to do a release to the top
8374         of the file.
8375
8376         * gst/gstbin.c: (gst_bin_class_init),
8377         (gst_bin_handle_message_func):
8378         Allow multiple state-recalculation threads. (Closes #328873)
8379
8380 2006-02-19  Julien MOUTTE  <julien@moutte.net>
8381
8382         * gst/gstinfo.h: Add GST_STR_NULL to the second string.
8383         * gst/gstpad.c: (gst_pad_set_event_function),
8384         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
8385         (gst_pad_set_getcaps_function): GST_DEBUG_PAD_NAME evaluates to
8386         2 strings. You can't use the STR_NULL macro on that.
8387
8388 2006-02-19  Sebastien Moutte <sebastien@moutte.net>
8389
8390         * gst/gstpad.c: (gst_pad_set_event_function),
8391         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
8392         (gst_pad_set_getcaps_function)
8393         * gst/parse/grammar.y: (gst_parse_found_pad), (gst_parse_perform_delayed_link)
8394           Fixed NULL pointer used in GST_CAT_DEBUG using GST_STR_NULL macro
8395           So now, we can use --gst-debug-level=5 on Windows
8396         * win32/common/libgstcontroller.def:
8397           Added export of gst_controller_init
8398         * win32/vs6/libgstcontroller.dsp:
8399           Fixed Release post build configuration
8400
8401 2006-02-17  Wim Taymans  <wim@fluendo.com>
8402
8403         * tests/check/gst/gstquery.c: (GST_START_TEST):
8404         Added another check.
8405
8406 2006-02-15  Tim-Philipp Müller  <tim at centricular dot net>
8407
8408         * plugins/elements/gsttypefindelement.c: (find_peek):
8409           We can do peeks at non-zero offsets, as long as they
8410           fall within the buffer we have.
8411
8412 2006-02-15  Jan Schmidt  <thaytan@mad.scientist.com>
8413
8414         * tests/check/Makefile.am:
8415         * tests/check/pipelines/parse-launch.c: (setup_pipeline),
8416         (expected_fail_pipe), (check_pipeline_runs), (GST_START_TEST),
8417         (parse_suite), (main):
8418           Add testsuite for parse launch syntax
8419
8420 2006-02-14  Tim-Philipp Müller  <tim at centricular dot net>
8421
8422         * plugins/elements/gsttypefindelement.c:
8423         (gst_type_find_element_chain):
8424           When typefinding is unsuccessful in the chain function, don't
8425           error out immediately. Only error out with NO_CAPS_FOUND if
8426           the amount of data is at least MAX_TYPEFIND_SIZE bytes,
8427           otherwise simply wait for more data so we can try typefinding
8428           again with more data later. Also, don't attempt to typefind
8429           if we have less than MIN_TYPEFIND_SIZE data available. Overall,
8430           this should improve typefinding from network sources where the
8431           size of the first buffer can be somewhat random.
8432
8433 2006-02-14  Wim Taymans  <wim@fluendo.com>
8434
8435         * docs/gst/gstreamer-sections.txt:
8436         * gst/gstpadtemplate.c:
8437         * gst/gstpadtemplate.h:
8438         Fix padtemplate docs, fixes #328805.
8439
8440 2006-02-14  Wim Taymans  <wim@fluendo.com>
8441
8442         * tools/gst-launch.c: (main):
8443         NO_PREROLL is not an ERROR so don't send confusing messages
8444         to the user.
8445
8446 2006-02-14  Wim Taymans  <wim@fluendo.com>
8447
8448         Patch by: Torsten Schoenfeld
8449
8450         * gst/gstregistry.c: (gst_registry_get_default),
8451         (_gst_registry_cleanup):
8452         Protect default registry with lock and ref/sink it.
8453         Fixes #324818
8454
8455 2006-02-14  Wim Taymans  <wim@fluendo.com>
8456
8457         * gst/gstbuffer.c:
8458         * gst/gstquery.c: (gst_query_list_add_format),
8459         (gst_query_set_formatsv), (gst_query_parse_formats_length),
8460         (gst_query_parse_formats_nth):
8461         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
8462         Docs fixes.
8463
8464 2006-02-14  Wim Taymans  <wim@fluendo.com>
8465
8466         * docs/gst/gstreamer-sections.txt:
8467         Reworked query docs.
8468
8469         * gst/gstquery.c: (gst_query_new_formats),
8470         (gst_query_list_add_format), (gst_query_set_formats),
8471         (gst_query_set_formatsv), (gst_query_parse_formats_length),
8472         (gst_query_parse_formats_nth):
8473         * gst/gstquery.h:
8474         Flesh out formats query, added some new methods.
8475         Fix part of #324398.
8476
8477         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite):
8478         Added query creation tests.
8479
8480 2006-02-14  Jan Schmidt  <thaytan@mad.scientist.com>
8481
8482         * gst/gstpad.c: (fixate_value):
8483         Add a default fixation for fraction lists.
8484
8485 2006-02-13  Wim Taymans  <wim@fluendo.com>
8486
8487         * gst/gsttask.c: (gst_task_init), (gst_task_func),
8488         (gst_task_set_lock), (gst_task_start), (gst_task_pause),
8489         (gst_task_join):
8490         * gst/gsttask.h:
8491         Detect and warn for obvious deadlocks. fixes #320340
8492         Fix error case where lock was not released.
8493
8494         * tests/check/Makefile.am:
8495         * tests/check/gst/gsttask.c: (task_func2), (GST_START_TEST),
8496         (task_func), (gst_element_suite), (main):
8497         Add task check.
8498
8499 2006-02-13  Wim Taymans  <wim@fluendo.com>
8500
8501         * docs/gst/gstreamer-sections.txt:
8502         * gst/gstbus.c:
8503         Add new functions to docs.
8504
8505 2006-02-13  Wim Taymans  <wim@fluendo.com>
8506
8507         * docs/design/part-TODO.txt:
8508         Updated TODO list, basesrc supports seeking to non-bytes
8509         formats.
8510
8511         * docs/design/part-element-sink.txt:
8512         Update docs.
8513
8514         * gst/gstbin.c: (bin_replace_message),
8515         (gst_bin_handle_message_func):
8516         * gst/gstbus.c: (gst_bus_post), (gst_bus_pop):
8517         * gst/gstevent.c: (gst_event_finalize):
8518         * gst/gstpad.c: (gst_pad_event_default_dispatch),
8519         (gst_pad_send_event):
8520         Use shiny new _TYPE_NAME macros.
8521
8522         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
8523         Move debug statement up.
8524
8525         * gst/gstelement.c: (gst_element_set_locked_state):
8526         Add some debugging.
8527
8528 2006-02-13  Tim-Philipp Müller  <tim at centricular dot net>
8529
8530         * docs/gst/gstreamer-sections.txt:
8531         * gst/gstmessage.h:
8532         * gst/gstquery.h:
8533           New API: add GST_MESSAGE_TYPE_NAME and GST_QUERY_TYPE_NAME
8534           macros (#330906). Also, document the already existing
8535           GST_QUERY_TYPE macro.
8536
8537 2006-02-13  Wim Taymans  <wim@fluendo.com>
8538
8539         * tests/check/gst/gstutils.c: (data_probe), (buffer_probe),
8540         (event_probe), (GST_START_TEST):
8541         Only events up to the pipeline EOS are counted, there are
8542         some more when going to NULL currently which we don't care
8543         about for now.
8544
8545 2006-02-13  Wim Taymans  <wim@fluendo.com>
8546
8547         * gst/gstpad.c: (gst_pad_send_event):
8548         Correctly check flushing and emit probes. fixes #330125
8549
8550 2006-02-10  Andy Wingo  <wingo@pobox.com>
8551
8552         * gst/gstbus.c (gst_bus_class_init): Declare our private data
8553         structure.
8554         (gst_bus_init): Cache the location of the private data in the
8555         instance structure.
8556         (gst_bus_enable_sync_message_emission) 
8557         (gst_bus_disable_sync_message_emission): Implement new public
8558         functions.
8559         (gst_bus_post): Emit the sync-message signal if the user asked for
8560         it. Fixes #330684.
8561
8562         * gst/gstbus.h (GstBus): Use a padding pointer to cache the
8563         location of the bus-private structure.
8564         (gst_bus_enable_sync_message_emission)
8565         (gst_bus_disable_sync_message_emission): API addition
8566
8567 2006-02-10  Jan Schmidt  <thaytan@mad.scientist.com>
8568
8569         Patch by: Vincent Torri
8570
8571         * docs/pwg/building-boiler.xml:
8572         PWG patch from #326800
8573
8574 2006-02-09  Tim-Philipp Müller  <tim at centricular dot net>
8575
8576         * configure.ac:
8577         * docs/Makefile.am:
8578         * docs/design/Makefile.am:
8579           Dist design docs.
8580
8581 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
8582
8583         * configure.ac:
8584           back to CVS
8585
8586 === release 0.10.3 ===
8587
8588 2006-02-08  Jan Schmidt <thaytan@mad.scientist.com>
8589
8590         * configure.ac:
8591           releasing 0.10.3, "Like a virgin"
8592
8593 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
8594
8595         * configure.ac:
8596           2nd prerelease of 0.10.3
8597           Bump libtool versioning.
8598
8599 2006-02-07  Andy Wingo  <wingo@pobox.com>
8600
8601         * libs/gst/base/gstcollectpads.c (gst_collect_pads_chain): Only
8602         update last_stop if we're in TIME format and the timestamp is
8603         valid.
8604
8605         * libs/gst/base/gstcollectpads.c (gst_collect_pads_event) 
8606         * libs/gst/base/gstbasetransform.c (gst_base_transform_eventfunc): 
8607         * libs/gst/base/gstbasesink.c (gst_base_sink_configure_segment):
8608         If we get a new newsegment with a different format, adapt
8609         accordingly.
8610
8611         * gst/gstclock.c (gst_clock_set_calibration): Accept a numerator
8612         of 0. Not a problem, really.
8613
8614         * libs/gst/base/gstbasesink.c (gst_base_sink_chain_unlocked): Only
8615         warn if sync=true.
8616
8617 2006-02-06  Jan Schmidt  <thaytan@mad.scientist.com>
8618
8619         * configure.ac:
8620           Prelease of 0.10.3
8621
8622 2006-02-06  Sebastien Moutte  <sebastien@moutte.net>
8623
8624         * win32/vs7:
8625           project files updated to the default vs7 configuration
8626         * win32/common/libgstbase.def:
8627         * win32/common/libgstreamer.def:
8628           added new symbols,
8629           removed empty lines,
8630           sorted all exported symbols alphabetically
8631         * win32/common/dirent.c:
8632         * win32/common/dirent.h:
8633         * win32/common/gchar.h:
8634           use windows line end.
8635           
8636 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
8637
8638         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
8639           Send EOS event when stopping.
8640
8641 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
8642
8643         * docs/README:
8644           Tell folks what to do if the plugin-foobar.xml file
8645           hasn't been generated for a newly-added plugin.
8646
8647 2006-02-05  Julien MOUTTE  <julien@moutte.net>
8648
8649         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
8650         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
8651         (gst_collect_pads_start), (gst_collect_pads_stop),
8652         (gst_collect_pads_event): Collectpads now holds a reference
8653         to the GstPad that was added. Indeed we don't want to look
8654         at pads that might just go away with no warning...
8655
8656 2006-02-05  Julien MOUTTE  <julien@moutte.net>
8657
8658         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
8659         (gst_collect_pads_start), (gst_collect_pads_stop),
8660         (gst_collect_pads_event), (gst_collect_pads_chain):
8661         * libs/gst/base/gstcollectpads.h: Handle flush. Adapted from
8662         Mark Nauwelaerts's patch on bug #328491.
8663
8664 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
8665
8666         * tests/check/gst/gstutils.c: (test_parse_bin_from_description),
8667         (gst_utils_suite):
8668           Add some simple tests for gst_parse_bin_from_description() and
8669           gst_bin_find_unconnected_pad() (#329069).
8670
8671 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
8672
8673         * tools/gst-launch.c: (event_loop), (main):
8674           Catch errors during preroll (#320084).
8675
8676 2006-02-03  Tim-Philipp Müller  <tim at centricular dot net>
8677
8678         * plugins/elements/gsttypefindelement.c:
8679         (gst_type_find_element_activate):
8680           Post TYPE_NOT_FOUND error message when typefinding
8681           is unsuccessful in the activate function as well.
8682
8683 2006-02-02  Wim Taymans  <wim@fluendo.com>
8684
8685         * docs/design/part-element-sink.txt:
8686         Updated doc.
8687
8688 2006-02-02  Wim Taymans  <wim@fluendo.com>
8689
8690         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
8691         (gst_base_sink_render_object),
8692         (gst_base_sink_queue_object_unlocked):
8693         Only keep track of prerollable items when we are 
8694         prerolling.
8695         Before rendering after preroll, always check if we
8696         have queued items.
8697         Added some more debugging.
8698
8699 2006-02-02  Wim Taymans  <wim@fluendo.com>
8700
8701         * gst/gstelement.c: (gst_element_continue_state),
8702         (gst_element_set_state_func), (gst_element_change_state):
8703         Fixed #326576, been running this for quite some time with
8704         no regressions at all.
8705
8706 2006-02-02  Wim Taymans  <wim@fluendo.com>
8707
8708         * common/gst.supp:
8709         Added more suppressions
8710
8711 2006-02-02  Wim Taymans  <wim@fluendo.com>
8712
8713         * docs/design/part-element-sink.txt:
8714         Updated document.
8715
8716         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
8717         (gst_base_sink_finalize), (gst_base_sink_preroll_queue_flush),
8718         (gst_base_sink_configure_segment), (gst_base_sink_commit_state),
8719         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
8720         (gst_base_sink_do_sync), (gst_base_sink_render_object),
8721         (gst_base_sink_preroll_object),
8722         (gst_base_sink_queue_object_unlocked),
8723         (gst_base_sink_queue_object), (gst_base_sink_event),
8724         (gst_base_sink_chain_unlocked), (gst_base_sink_chain),
8725         (gst_base_sink_loop), (gst_base_sink_activate_pull),
8726         (gst_base_sink_get_position), (gst_base_sink_change_state):
8727         * libs/gst/base/gstbasesink.h:
8728         Totally refactored matching the design doc.
8729         Use two segments, one to clip incomming buffers and another to
8730         perform sync.
8731         Handle queueing correctly, bypass the queue when playing.
8732         Make EOS cancelable.
8733         Handle errors correctly when operating in pull based mode.
8734
8735         * tests/check/elements/fakesink.c: (GST_START_TEST),
8736         (fakesink_suite):
8737         Added new check for sinks.
8738
8739 2006-02-02  Wim Taymans  <wim@fluendo.com>
8740
8741         * gst/gstsegment.c: (gst_segment_clip):
8742         No reason to refuse to clip when start == -1
8743
8744 2006-02-02  Stefan Kost  <ensonic@users.sf.net>
8745
8746         * docs/README:
8747         * docs/manual/intro-basics.xml:
8748         * docs/manual/intro-preface.xml:
8749         * docs/manual/manual.xml:
8750         * docs/pwg/advanced-dparams.xml:
8751         * docs/pwg/intro-basics.xml:
8752         * docs/pwg/intro-preface.xml:
8753         * docs/pwg/pwg.xml:
8754           describe dparams (controller) for plugins
8755           unify docs a little more
8756
8757 2006-02-02  Tim-Philipp Müller  <tim at centricular dot net>
8758
8759         * docs/gst/gstreamer-sections.txt:
8760         * gst/gstutils.c: (element_find_unconnected_pad),
8761         (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description):
8762         * gst/gstutils.h:
8763           Add new API: gst_parse_bin_from_description() and
8764           gst_bin_find_unconnected_pad() (#329069).
8765
8766 2006-02-01  Stefan Kost  <ensonic@users.sf.net>
8767
8768         * docs/manual/README:
8769           uncover a nasty detail of the docs build
8770
8771 2006-01-31  Wim Taymans  <wim@fluendo.com>
8772
8773         * gst/gstbin.c: (bin_remove_messages), (bin_query_duration_done):
8774         Don't cache duration messages if we're not going to use or
8775         free them.
8776
8777 2006-01-31  Stefan Kost  <ensonic@users.sf.net>
8778
8779         * docs/manual/advanced-dparams.xml:
8780         * docs/pwg/advanced-dparams.xml:
8781           more dparam docs
8782         * gst/gstindex.c:
8783           fix docs
8784         * libs/gst/controller/lib.c: (gst_controller_init):
8785           init just once
8786
8787 2006-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
8788
8789         * gst/gstelement.c: (gst_element_message_full):
8790           also show file/line/func if no additional debug was given
8791
8792 2006-01-31  Sebastien Moutte  <sebastien@moutte.net>
8793         
8794         * win32/vs7/grammar.vcproj:
8795           activate copy of autogenerated files for Release mode
8796
8797 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
8798         
8799         * win32/common/libgstreamer.def:
8800           export gst_value_compare
8801
8802 2006-01-30  Jan Schmidt  <thaytan@mad.scientist.com>
8803
8804         * plugins/elements/Makefile.am:
8805         * plugins/elements/gstelements.c:
8806         * plugins/elements/gstfdsink.c: (_do_init),
8807         (gst_fd_sink_base_init), (gst_fd_sink_class_init),
8808         (gst_fd_sink_init), (gst_fd_sink_dispose), (gst_fd_sink_query),
8809         (gst_fd_sink_render), (gst_fd_sink_check_fd), (gst_fd_sink_start),
8810         (gst_fd_sink_stop), (gst_fd_sink_unlock), (gst_fd_sink_update_fd),
8811         (gst_fd_sink_set_property), (gst_fd_sink_uri_get_type),
8812         (gst_fd_sink_uri_get_protocols), (gst_fd_sink_uri_get_uri),
8813         (gst_fd_sink_uri_set_uri), (gst_fd_sink_uri_handler_init):
8814         * plugins/elements/gstfdsink.h:
8815         Port fdsink to 0.10 (patch by Philippe Rouquier) (Fixes #325490)
8816
8817 2006-01-30  Stefan Kost  <ensonic@users.sf.net>
8818
8819         * docs/manual/advanced-dparams.xml:
8820           describe controller
8821         * docs/manual/advanced-position.xml:
8822         * docs/manual/basics-init.xml:
8823         * docs/manual/manual.xml:
8824         * docs/manual/titlepage.xml:
8825         * docs/pwg/pwg.xml:
8826         * docs/pwg/titlepage.xml:
8827           cleanup xml (more to come)
8828         * libs/gst/controller/gstcontroller.c:
8829           fix typo
8830
8831 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
8832         
8833         * win32/vs6/grammar.dsp:
8834           add autogen of gstmarshal.c,h for Release mode
8835                 
8836 2006-01-30  Wim Taymans  <wim@fluendo.com>
8837
8838         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
8839         (gst_base_sink_preroll_queue_empty), (gst_base_sink_commit_state),
8840         (gst_base_sink_handle_object), (gst_base_sink_event),
8841         (gst_base_sink_is_prerolled), (gst_base_sink_wait),
8842         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
8843         (gst_base_sink_handle_buffer), (gst_base_sink_set_flushing),
8844         (gst_base_sink_deactivate), (gst_base_sink_activate),
8845         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
8846         (gst_base_sink_query), (gst_base_sink_change_state):
8847         Basesink cleanups, remove some old code.
8848         Handle the case where a subclass can preroll in the render
8849         method (mostly audiosinks).
8850         Handle more events.
8851         Remove some locks around variables that are now protected
8852         with the PREROLL_LOCK (clock_id, flushing, ..).
8853         Optimize position query some more, do correct locking.
8854         Remove old code to push queue in state change, this is not
8855         needed anymore since preroll blocks on all prerollable items 
8856         now.
8857         Almost implemented as described in design doc.
8858
8859 2006-01-30  Wim Taymans  <wim@fluendo.com>
8860
8861         * tests/check/gst/gstbin.c: (GST_START_TEST):
8862         Wait for refcount to settle down before checking.
8863
8864 2006-01-30  Wim Taymans  <wim@fluendo.com>
8865
8866         * docs/design/part-element-sink.txt:
8867         Pseudo code overview of desired sink behaviour regarding
8868         preroll.
8869
8870 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
8871         * win32/vs6/grammar.dsp:
8872           fix some bugs in Release mode for autogenerated files
8873                 
8874 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
8875         * win32/common/libgstbase.def:
8876         * win32/common/libgstreamer.def:
8877           export some new symbols: gst_base_src_set_format,
8878           gst_iterator_next, gst_structure_set_valist
8879
8880 2006-01-29  Julien MOUTTE  <julien@moutte.net>
8881
8882         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
8883         Set pad functions unconditionally. Fixes #329105.
8884
8885 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
8886         * win32/vs8:
8887           add vs8 project files created by Sergey Scobich
8888
8889 2006-01-28  Jan Schmidt  <thaytan@mad.scientist.com>
8890
8891         * gst/gstutils.c: (gst_element_unlink_pads):
8892         Don't leak pad references.
8893
8894         * tests/check/elements/fakesink.c: (GST_START_TEST):
8895         * tests/check/generic/sinks.c: (GST_START_TEST):
8896         * tests/check/generic/states.c: (GST_START_TEST):
8897         * tests/check/gst/gstbin.c: (GST_START_TEST):
8898         * tests/check/gst/gstcaps.c: (GST_START_TEST):
8899         * tests/check/gst/gstelement.c: (GST_START_TEST):
8900         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
8901         * tests/check/gst/gstiterator.c: (GST_START_TEST):
8902         * tests/check/gst/gstvalue.c: (GST_START_TEST):
8903         Fix a bunch of leaks. Make generic/sinks.c
8904         use a bit less cpu by slowing the buffer rate
8905         between fakesrc and fakesink.
8906         
8907 2006-01-27  Stefan Kost  <ensonic@users.sf.net>
8908         * gst/gstcaps.c:
8909         * gst/gstelement.c: (gst_element_send_event):
8910         * gst/gstevent.c:
8911         * gst/gstinfo.c:
8912         * gst/gstiterator.c:
8913         * gst/gstiterator.h:
8914         * gst/gstpad.c: (gst_pad_send_event):
8915         * gst/gststructure.c:
8916         * gst/gsturi.c:
8917         * gst/gstutils.c:
8918         * gst/gstvalue.c:
8919         * libs/gst/base/gstadapter.c:
8920           doc fixes, to link to function, just write gst_cool_function(), don't
8921           prefix with '#'
8922
8923 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
8924
8925         * plugins/elements/gsttee.c: (gst_tee_do_push),
8926         (gst_tee_handle_buffer):
8927         Always prefer an actual return value from a src
8928         pad in place of NOT_LINKED. This means we return
8929         WRONG_STATE when all src pads are WRONG_STATE
8930         instead of NOT_LINKED.
8931
8932         Lock when replacing the last message to prevent
8933         racing with the get_property method.
8934
8935         Add debug output
8936
8937 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
8938
8939         * tests/check/Makefile.am:
8940         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite),
8941         (main):
8942         Add a very simple check that should have caught the memleak I fixed
8943         last night (if not for the slice allocator hiding it)
8944
8945 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
8946
8947         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
8948         (gst_bin_remove_func), (gst_bin_handle_message_func),
8949         (bin_query_duration_fold), (bin_query_generic_fold):
8950         Clean up references to the clock provider when disposed or when
8951         handling a clock-lost message from it.
8952
8953         Unref sinks when performing a query via gst_iterator_fold, as the
8954         gst_bin_iterate_sinks iterator refs each item. (Fixes #323874)
8955
8956         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_dispose),
8957         (gst_clock_set_master):
8958         Drop our reference to the master clock, if any, when we are disposed.
8959
8960         * gst/gsttypefindfactory.c: (gst_type_find_factory_dispose):
8961         Chain up in dispose. 
8962
8963 2006-01-26  Wim Taymans  <wim@fluendo.com>
8964
8965         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
8966         Add some debugging.
8967
8968 2006-01-26  Julien MOUTTE  <julien@moutte.net>
8969
8970         * plugins/elements/gsttee.c: (gst_tee_do_push),
8971         (gst_tee_handle_buffer): Apply patch from #328715. Tee now
8972         handles pad being NOT_LINKED or in WRONG_STATE.
8973
8974 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
8975
8976         * win32/MANIFEST:
8977           more updating
8978
8979 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
8980
8981         * win32/MANIFEST:
8982           remove obsolete entry
8983
8984 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
8985
8986         * docs/gst/gstreamer-sections.txt:
8987         * gst/gstbin.c: (bin_element_is_src), (src_iterator_filter),
8988         (gst_bin_iterate_sources), (gst_bin_send_event):
8989         * gst/gstbin.h:
8990         * gst/gstelement.c: (gst_element_send_event):
8991         * gst/gstevent.c:
8992         * gst/gstpad.c: (gst_pad_send_event):
8993           added code for downstream events, reviewed docs in gstevent.c
8994
8995 2006-01-25  Julien MOUTTE  <julien@moutte.net>
8996
8997         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
8998         We only query position using the clock in the playing state.
8999         Query peer in the other cases.
9000         * win32/common/config.h: Updates.
9001
9002 2006-01-24  Wim Taymans  <wim@fluendo.com>
9003
9004         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
9005         A clock entry that is scheduled for the exact time of the
9006         clock is still in time.
9007
9008         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9009         (gst_base_sink_do_sync):
9010         Add some more debug info.
9011
9012 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
9013
9014         * win32/vs7:
9015           Add new vs7 project files and solution.
9016
9017 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
9018
9019         * win32/vs7:
9020           all files removed as they were out-dated.
9021
9022 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9023
9024         * docs/random/release:
9025           update notes
9026         * gst/gstbin.c: (gst_bin_init):
9027         * gst/gstbus.c: (gst_bus_new):
9028         * gst/gstbus.h:
9029         * gst/gstpipeline.c: (gst_pipeline_init):
9030           use gst_bus_new(), improve logging, fix docs
9031         * win32/common/config.h:
9032           update for cvs build
9033
9034 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9035
9036         * autogen.sh:
9037           up required version of automake to 1.7
9038
9039 2006-01-20  Sebastien Moutte  <sebastien@moutte.net>
9040
9041         * win32/common/libgstreamer.def:
9042           export gst_buffer_is_metadata_writable
9043
9044 2006-01-20  Tim-Philipp Müller  <tim at centricular dot net>
9045
9046         * docs/gst/gstreamer-sections.txt:
9047         * gst/gstevent.h:
9048           Add gst_event_replace() (#327001)
9049
9050 2006-01-20  Wim Taymans  <wim@fluendo.com>
9051
9052         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
9053         Make it actually compile too..
9054
9055 2006-01-20  Wim Taymans  <wim@fluendo.com>
9056
9057         * gst/gstcaps.c:
9058         Clarify behaviour of _is_equal() when passing NULL parameters.
9059
9060         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
9061         (gst_pad_set_caps):
9062         Cleanups. Don't unref NULL caps.
9063         When setting the same caps, protect caps of the pad with
9064         proper lock.
9065         Use full functionality of _is_equal() when comparing caps.
9066
9067 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
9068
9069         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
9070         Don't loop infinitely if there are no buffers to present. Partially
9071         fixes #327197, but collectpads is just broken for reusing elements
9072         to do multiple encodes atm.
9073
9074 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
9075
9076         * tools/gst-inspect.c: (print_element_features):
9077         * tools/gst-xmlinspect.c: (main):
9078         URL_HANDLER is not a plugin feature we can search for in
9079         the registry.
9080
9081 2006-01-19  Edward Hervey  <edward@fluendo.com>
9082
9083         * gst/gstelement.c: (gst_element_pads_activate): 
9084         When activating, do src pads first, then sink pads.
9085         When de-activating, do sink pads first, then src pads.
9086
9087 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
9088
9089         * docs/gst/gstreamer-sections.txt:
9090         Add gst_index_add_associationv to the docs
9091
9092 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
9093
9094         * gst/gstevent.c:
9095           Fix docs typo
9096
9097         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event),
9098         (gst_queue_chain), (gst_queue_push_one), (gst_queue_loop):
9099           Do some refactoring. Doesn't actually change functionality,
9100           but makes landing the DRAIN event easier later.
9101
9102 2006-01-19  Tim-Philipp Müller  <tim at centricular dot net>
9103
9104         * docs/pwg/advanced-scheduling.xml:
9105           Update from 0.9.x to 0.10 API and make example a bit
9106           clearer.
9107
9108 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
9109
9110         * docs/gst/gstreamer-sections.txt:
9111         Add gst_buffer_(is|make)_metadata_writable methods.
9112
9113 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
9114
9115         * docs/design/part-sparsestreams.txt:
9116         Update sparse streams doc, hopefully for greater clarity
9117
9118 2006-01-18  Jan Schmidt  <thaytan@mad.scientist.com>
9119
9120         * docs/design/part-events.txt:
9121         Remove mention of FILLER events.
9122         Add DRAIN event.
9123
9124         * docs/design/part-sparsestreams.txt:
9125         Write some things about using NEWSEGMENT to keep sparse streams
9126         flowing.
9127
9128 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
9129
9130         * gst/gstbin.c: (gst_bin_dispose):
9131           Guard gst_object_unref call against a NULL object (dispose
9132           can theoretically be called multiple times).
9133           
9134 2006-01-18  Wim Taymans  <wim@fluendo.com>
9135
9136         * gst/gstbin.c: (gst_bin_element_set_state):
9137         * gst/gstclock.c: (gst_clock_id_wait):
9138         Added some more debug info.
9139
9140         * libs/gst/base/gstadapter.c:
9141         Added more docs.
9142
9143         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9144         (gst_base_sink_do_sync), (gst_base_sink_chain):
9145         Added some comments.
9146
9147 2006-01-18  Wim Taymans  <wim@fluendo.com>
9148
9149         * tests/check/Makefile.am:
9150         * tests/check/elements/fakesink.c: (chain_async_buffer),
9151         (chain_async), (chain_async_return), (GST_START_TEST),
9152         (fakesink_suite), (main):
9153         Added fakesink test that checks prerolling and clipping
9154         behaviour.
9155
9156         * tests/check/gst/gstutils.c: (GST_START_TEST):
9157         Make check run faster so that buildbots don't timeout.
9158
9159 2006-01-18  Wim Taymans  <wim@fluendo.com>
9160
9161         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9162         (gst_base_sink_do_sync):
9163         Some cleanups.
9164         When the sink finishes blocking on the preroll buffer, it can
9165         immediatly render it instead of rendering when the next buffer
9166         arrives.
9167
9168 2006-01-18  Wim Taymans  <wim@fluendo.com>
9169
9170         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_property),
9171         (gst_base_sink_get_property), (gst_base_sink_do_sync),
9172         (gst_base_sink_chain):
9173         Small cleanups.
9174         GST_ELEMENT_CLOCK and sync are protected with LOCK.
9175         Don't store _last_stop if the buffer is dropped.
9176
9177 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
9178
9179         * plugins/elements/gsttypefindelement.c:
9180         (gst_type_find_element_class_init):
9181           'have-type' signal needs to be G_SIGNAL_RUN_FIRST, as it is the
9182           object method handler that sets the caps on the pad and we want
9183           that to happen before we emit the signal (fixes e.g. feeding a
9184           plain text file to decodebin).
9185
9186 2006-01-18  Christian Schaller  <Christian@fluendo.com>
9187
9188         * gst/gstplugin.c: Add MPL and Proprietary as license options
9189
9190 2006-01-18  Andy Wingo  <wingo@pobox.com>
9191
9192         * gst/gstindex.h (gst_index_add_associationv): Add to header. The
9193         symbol was exported before, it appears this was just an oversight.
9194         Fixes #168703.
9195         Patch by: Torsten Schoenfeld <kaffeetisch at gmx.de>
9196
9197         * gst/gstindex.c (gst_index_add_associationv): Changed int in
9198         prototype to gint. OK since this prototype was not in the header.
9199
9200 2006-01-17  Andy Wingo  <wingo@pobox.com>
9201
9202         * gst/gstregistry.c (_gst_registry_remove_cache_plugins): Lock the
9203         registry while we remove plugins.
9204
9205         * tools/gst-inspect.c (print_element_info): Don't unref the
9206         factory arg, that should be the responsibility of whatever code
9207         received the ref. Fixes a double-free when called from
9208         print_element_list via gst-inspect-0.10 -a. Fixes #327324.
9209         (main): Unref the factory if we have one.
9210         (print_element_list): No change -- relies on the
9211         plugin_feature_list_free to free the list of features.
9212
9213 2006-01-17  Jan Schmidt  <thaytan@mad.scientist.com>
9214
9215         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
9216         (gst_buffer_make_metadata_writable):
9217         * gst/gstbuffer.h:
9218         * libs/gst/base/gstbasetransform.c:
9219         (gst_base_transform_prepare_output_buf):
9220         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
9221         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
9222           Replace gst_buffer_(make|is)_metadata_writable patch now
9223           that the release is out.
9224
9225 2006-01-17  Andy Wingo  <wingo@pobox.com>
9226
9227         * gst/gstregistry.c: Reflow design comment. Update so as to speak
9228         in the present tense without reference to versions.
9229
9230         * gst/gstregistry.c (gst_registry_add_plugin)
9231         (gst_registry_remove_plugin, gst_registry_remove_feature)
9232         (gst_registry_find_feature, gst_registry_get_feature_list)
9233         (gst_registry_get_plugin_list, gst_registry_lookup_feature)
9234         (gst_registry_lookup, gst_registry_scan_path)
9235         (_gst_registry_remove_cache_plugins)
9236         (gst_registry_get_feature_list_by_plugin): Add argument
9237         validation.
9238
9239 === release 0.10.2 ===
9240
9241 2006-01-16  Thomas Vander Stichele <thomas at apestaart dot org>
9242
9243         * configure.ac:
9244           releasing 0.10.2, "If man is five"
9245
9246 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
9247
9248         * gst/gstbuffer.c:
9249         * gst/gstbuffer.h:
9250         * libs/gst/base/gstbasetransform.c:
9251         (gst_base_transform_prepare_output_buf):
9252         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
9253         * tests/check/gst/gstbuffer.c: (gst_test_suite):
9254           Back out patch until after the release.
9255
9256 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
9257
9258         * gst/gstminiobject.c:
9259           Spelling fix in docs.
9260         * ChangeLog - remove conflict indicator
9261
9262 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
9263
9264         Reviewed By: Andy Wingo
9265
9266         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
9267         (gst_buffer_make_metadata_writable):
9268         * gst/gstbuffer.h:
9269           Add gst_buffer_(is|make)_metadata_writable as analogues of
9270           gst_buffer_(is|make)_writable.
9271
9272         * libs/gst/base/gstbasetransform.c:
9273         (gst_base_transform_prepare_output_buf):
9274         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
9275           Use name gst_buffer_(is|make)_metadata_writable functions.
9276
9277         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
9278           Test gst_buffer_(is|make)_metadata_writable
9279         
9280           (Closes: #324162)
9281
9282 2006-01-14  Thomas Vander Stichele  <thomas at apestaart dot org>
9283
9284         * docs/manual/Makefile.am:
9285           don't do parallel make
9286         * configure.ac:
9287           AC_SUBST HOST_CPU
9288         * win32/common/config.h.in:
9289           add generations for HOST_CPU and GST_MAJORMINOR
9290         * win32/common/config.h:
9291           commit generated result
9292
9293 2006-01-13  Tim-Philipp Müller  <tim at centricular dot net>
9294
9295         * docs/manual/appendix-integration.xml:
9296           Update GNOME integration section to use gst_init_get_option_group()
9297           instead of the old popt stuff (#322911). Also, GNOME applications
9298           should  now use gconf*sink and gconf*src instead of the old gconf
9299           helper lib we had.
9300
9301 2006-01-13  Stefan Kost  <ensonic@users.sf.net>
9302
9303
9304         * docs/gst/gstreamer-docs.sgml:
9305         * docs/gst/gstreamer-sections.txt:
9306         * docs/libs/gstreamer-libs-sections.txt:
9307           add new API entries to the docs
9308         * libs/gst/controller/Makefile.am:
9309         * libs/gst/controller/gstcontroller.c:
9310         * libs/gst/controller/gstcontroller.h:
9311         * libs/gst/controller/gstcontrollerprivate.h:
9312         * libs/gst/controller/gsthelper.c:
9313         * libs/gst/controller/gstinterpolation.c:
9314           move private structs to private header
9315         * po/README:
9316           gstreamer-0.7 -> gstreamer-0.10
9317         * tests/check/libs/struct_i386.h:
9318           remove private structs
9319
9320 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9321
9322         * plugins/indexers/Makefile.am:
9323           Fixes as part of #317048
9324
9325 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9326
9327         * plugins/indexers/Makefile.am:
9328           fix #316086 - compilation when mmap is missing
9329
9330 2006-01-12  Sebastien Moutte  <sebastien@moutte.net>
9331
9332         * libs/gst/base/gstbasesink.c:
9333           *cur = (now - base) * basesink->segment.abs_rate + time; replaced by 
9334           *cur = gst_guint64_to_gdouble(now - base) * basesink->segment.abs_rate + time; for vs6
9335         * win32/common/config.h:
9336           added some defines GST_MAJORMINOR and HOST_CPU
9337         * win32/common/libgstbase.def:
9338         * win32/common/libgstreamer.def:
9339           added some exported functions.
9340
9341 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
9342
9343         * libs/gst/controller/gstcontroller.c:
9344         (gst_controlled_property_set_interpolation_mode),
9345         (gst_controlled_property_new):
9346         * libs/gst/controller/gstcontroller.h:
9347         * libs/gst/controller/gstinterpolation.c:
9348         (interpolate_none_get_string_value_array):
9349           make G_TYPE_STRING controlable
9350
9351 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
9352
9353         * tools/README:
9354         * tools/gst-feedback.1.in:
9355         * tools/gst-inspect.1.in:
9356         * tools/gst-launch.1.in:
9357         * tools/gst-md5sum.1.in:
9358         * tools/gst-typefind.1.in:
9359         * tools/gst-xmlinspect.1.in:
9360         * tools/gst-xmllaunch.1.in:
9361           cleanup man-pages, remove reference to gst-register, document env-vars
9362
9363 2006-01-12  Jan Schmidt  <thaytan@mad.scientist.com>
9364
9365         * gst/gstbuffer.c: (gst_buffer_span):
9366           gst_buffer_span should copy the timestamp of the first buffer
9367           if they were both originally overlapping subbuffers of the 
9368           same parent, using the same logic as the 'slow copy' case.
9369
9370 2006-01-11  Jan Schmidt  <thaytan@mad.scientist.com>
9371
9372         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop):
9373           Need to awaken ALL the pads when we pop a buffer, otherwise
9374           collectpads only works when there is 2 input streams.
9375
9376 2006-01-11  Stefan Kost  <ensonic@users.sf.net>
9377
9378         * docs/random/ensonic/media-device-daemon.txt:
9379           more ideas (dbus)
9380         * gst/gstbuffer.c:
9381           fix doc example, add clarification
9382         * tools/gst-launch.1.in:
9383           add initial info about GST_PLUGIN_PATH, needs more work
9384
9385 2006-01-11  Tim-Philipp Müller  <tim at centricular dot net>
9386
9387         * docs/manual/basics-bins.xml:
9388         * docs/manual/basics-elements.xml:
9389         * docs/manual/intro-basics.xml:
9390           Some more minor docs additions and updates.
9391
9392 2006-01-11  Wim Taymans  <wim@fluendo.com>
9393
9394         * docs/manual/basics-bins.xml:
9395         * docs/manual/basics-elements.xml:
9396         Some small fixes as pointed out by Ser-ver on IRC.
9397
9398 2006-01-10  Edward Hervey  <edward@fluendo.com>
9399
9400         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
9401         Set the buffer offset/offset_end to GST_CLOCK_TIME_NONE when using
9402         the single-segment mode.
9403
9404 2006-01-10  Brian Cameron  <brian dot cameron at sun dot com>
9405
9406         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
9407
9408         * libs/gst/base/gstbasesrc.c: (gst_base_src_init),
9409         (gst_base_src_perform_seek), (gst_base_src_send_event),
9410         (gst_base_src_set_property), (gst_base_src_get_property),
9411         (gst_base_src_loop), (gst_base_src_start),
9412         (gst_base_src_activate_push):
9413         * libs/gst/base/gstbasesrc.h:
9414           Name (private) union; makes Sun's Forte compiler happy (#324900).
9415
9416 2006-01-09  Tim-Philipp Müller  <tim at centricular dot net>
9417
9418         * README:
9419           gst-register is gone.
9420
9421 2006-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
9422
9423         * gst/gstvalue.c: (_gst_value_initialize):
9424           make the G_TYPE_DATE instantiation work if debug is disabled
9425
9426 2006-01-06  Tim-Philipp Müller  <tim at centricular dot net>
9427
9428         * gst/gstmessage.c: (gst_message_parse_tag),
9429         (gst_message_parse_error), (gst_message_parse_warning):
9430           Don't crash when return location for error/warning debug
9431           string is NULL; add fact that return locations can be
9432           NULL to docs where appropriate.
9433
9434 2006-01-05  Wim Taymans  <wim@fluendo.com>
9435
9436         * gst/gstplugin.c: (gst_plugin_load_file):
9437         Replace strdup by g_strdup.
9438
9439 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
9440
9441         * docs/pwg/advanced-types.xml:
9442           fix doc borkage
9443
9444 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
9445
9446         submitted by: Abel Cheung
9447
9448         * po/LINGUAS:
9449         * po/zh_TW.po:
9450           Added Chinese (traditional) translation
9451
9452 2006-01-04  Wim Taymans  <wim@fluendo.com>
9453
9454         * docs/manual/basics-pads.xml:
9455         * docs/plugins/Makefile.am:
9456         * docs/plugins/gstreamer-plugins-docs.sgml:
9457         * docs/plugins/gstreamer-plugins-sections.txt:
9458         * docs/pwg/advanced-clock.xml:
9459         * docs/pwg/advanced-scheduling.xml:
9460         * docs/pwg/advanced-types.xml:
9461         * plugins/elements/gstfdsink.c:
9462         * plugins/elements/gstfdsrc.c:
9463         * plugins/elements/gstfdsrc.h:
9464         * plugins/elements/gstidentity.c: (gst_identity_class_init):
9465         * plugins/elements/gstidentity.h:
9466         * plugins/elements/gstqueue.h:
9467         * plugins/elements/gsttee.c:
9468         * plugins/elements/gsttee.h:
9469         * plugins/elements/gsttypefindelement.c:
9470         (gst_type_find_element_class_init):
9471         * plugins/elements/gsttypefindelement.h:
9472         Small updates to various docs.
9473         Added core plugins to docs.
9474
9475 2006-01-03  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
9476
9477         * common/gst.supp:
9478           add a suppression for liboil's uninitialized variable
9479
9480 2006-01-02  James Livingston  <jrl at ids dot org dot au>
9481
9482         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
9483
9484         * gst/gstutils.h:
9485           Add prototype for _get_type() function to GST_BOILERPLATE_FULL
9486           macro, so that gcc doesn't complain if the -Wmissing-prototypes
9487           compiler switch is being used (#325429).
9488
9489 2005-12-29  Tim-Philipp Müller  <tim at centricular dot net>
9490
9491         * gst/gstbin.c: (gst_bin_query):
9492           Disable duration query caching in bins until it gets
9493           fixed (see #324807).
9494
9495 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
9496
9497         * tools/gst-inspect.c: (print_element_properties_info):
9498           Handle properties of POINTER and BOXED type.
9499
9500 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
9501
9502         * gst/gst.c: (init_post):
9503           Init tags stuff and some other things before loading
9504           any static plugins (there may be other static plugins
9505           than just the GStreamer ones, and they may want to
9506           register their own tags or formats or whatever, and
9507           preferably without segfaulting).
9508
9509         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
9510           Print at least a warning in the debug logs if we drop a
9511           query just because we don't know how to adjust the value
9512           in the particular format.
9513
9514 2005-12-24  David Schleef  <ds@schleef.org>
9515
9516         * tools/gstreamer-completion:
9517           Replacement for gst-complete written in sh and sed.  Only
9518           completes names of features, but that's 90% of what I want
9519           it for.  Properties are not available in registry.xml.  (Maybe
9520           they should be...)
9521
9522 === release 0.10.1 ===
9523
9524 2005-12-23  Thomas Vander Stichele <thomas at apestaart dot org>
9525
9526         * configure.ac:
9527           releasing 0.10.1, "Nollaig chridheil"
9528
9529 2005-12-22  Tim-Philipp Müller  <tim at centricular dot net>
9530
9531         * docs/faq/cvs.xml:
9532           Add missing quote, should be make ERROR_CFLAGS="".
9533
9534 2005-12-20  Wim Taymans  <wim@fluendo.com>
9535
9536         * docs/design/part-trickmodes.txt:
9537         More documentation on trickmodes.
9538
9539 2005-12-20  Edward Hervey  <edward@fluendo.com>
9540
9541         * gst/gstcaps.c: (gst_static_caps_get_type):
9542         * gst/gstcaps.h:
9543           API addition: GST_TYPE_STATIC_CAPS
9544         Added gpointer GType for GstStaticCaps so we can wrap them in bindings.
9545         * gst/gstpadtemplate.c: (gst_static_pad_template_get_type):
9546         * gst/gstpadtemplate.h:
9547           API addition: GST_TYPE_STATIC_PAD_TEMPLATE
9548         Added gpointer GType for GstStaticPadTemplate so we can wrap them in
9549         bindings.
9550
9551 2005-12-18  Wim Taymans  <wim@fluendo.com>
9552
9553         * libs/gst/base/gstadapter.c:
9554         * libs/gst/base/gstadapter.h:
9555         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
9556         (gst_base_sink_get_position):
9557         * libs/gst/base/gstbasesink.h:
9558         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
9559         (gst_base_src_default_query), (gst_base_src_default_do_seek),
9560         (gst_base_src_do_seek), (gst_base_src_perform_seek),
9561         (gst_base_src_send_event), (gst_base_src_update_length),
9562         (gst_base_src_get_range), (gst_base_src_loop),
9563         (gst_base_src_start):
9564         * libs/gst/base/gstbasesrc.h:
9565         * libs/gst/base/gstbasetransform.h:
9566         * libs/gst/base/gstcollectpads.h:
9567         * libs/gst/base/gstpushsrc.c:
9568         * libs/gst/base/gstpushsrc.h:
9569         * libs/gst/dataprotocol/dataprotocol.c:
9570         * libs/gst/dataprotocol/dataprotocol.h:
9571         * libs/gst/net/gstnetclientclock.h:
9572         * libs/gst/net/gstnettimeprovider.h:
9573         Documentation updates.
9574
9575 2005-12-18  Tim-Philipp Müller  <tim at centricular dot net>
9576
9577         * docs/manual/basics-helloworld.xml:
9578           Remove superfluous closing bracket in helloworld example.
9579
9580 2005-12-17  Tim-Philipp Müller  <tim at centricular dot net>
9581
9582         * tools/gst-launch.1.in:
9583           Update gst-launch man page; add a section with useful
9584           environment variables. Fixes #323882.
9585
9586 2005-12-16  Stefan Kost  <ensonic@users.sf.net>
9587
9588         * gst/gst.c:
9589         * gst/gst_private.h:
9590           change some char* into char[]
9591
9592 2005-12-16  Wim Taymans  <wim@fluendo.com>
9593
9594         * gst/gstregistryxml.c: (load_feature):
9595         Cleanups.
9596         Don't use g_object_unref on GstObjects so that we avoid
9597         leaks on unsafe glibs.
9598
9599 2005-12-16  Wim Taymans  <wim@fluendo.com>
9600
9601         * gst/gstbin.c: (gst_bin_recalc_state):
9602         Small doc updates.
9603
9604 2005-12-16  Wim Taymans  <wim@fluendo.com>
9605
9606         * common/check.mak:
9607         Added make forever target for check.
9608
9609 2005-12-16  Thomas Vander Stichele  <thomas at apestaart dot org>
9610
9611         * gst/gst.c: (init_post):
9612           make the registry cache file HOST_CPU-dependent
9613
9614 2005-12-16  Andy Wingo  <wingo@pobox.com>
9615
9616         * plugins/elements/gstbufferstore.c
9617         (gst_buffer_store_cleared_func): Pay attention to g_list_append
9618         return value.
9619
9620         * tests/check/gst/gstobject.c
9621         (test_fake_object_name_threaded_unique): Pay attention to
9622         g_list_sort return value.
9623
9624 2005-12-16  Tim-Philipp Müller  <tim at centricular dot net>
9625
9626         * tools/gst-feedback-m.m:
9627           Update for 0.9/0.10 (fixes #323870).
9628
9629 2005-12-15  Tim-Philipp Müller  <tim at centricular dot net>
9630
9631         * gst/gstminiobject.c: (gst_value_mini_object_lcopy):
9632           Fix lcopy for mini objects, the mini object needs to be ref'ed.
9633           
9634         * tests/check/gst/gstminiobject.c: (my_foo_init),
9635         (my_foo_get_property), (my_foo_set_property), (my_foo_class_init),
9636         (test_value_collection), (gst_mini_object_suite):
9637           Add test to ensure refcounts end up as expected when passing
9638           GstMiniObjects through g_object_get() and g_object_set().
9639
9640 2005-12-14  Julien MOUTTE  <julien@moutte.net>
9641
9642         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
9643         (gst_collect_pads_remove_pad), (gst_collect_pads_is_collected),
9644         (gst_collect_pads_event), (gst_collect_pads_chain): Refactoring
9645         of collectpads. This version removes a lot of races without
9646         touching API/ABI. Yay !
9647
9648 2005-12-14  Jan Schmidt  <thaytan@mad.scientist.com>
9649
9650         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_link_prepare):
9651           Don't allow activation of a srcpad in pull_range if it has no
9652           getrange function.
9653           Change some debug statements to be a little clearer
9654
9655         * plugins/elements/gsttypefindelement.c:
9656         (gst_type_find_handle_src_query):
9657           Check that we have a peer before executing queries thereupon.
9658
9659         * tests/examples/metadata/read-metadata.c: (message_loop):
9660           Use gst_bus_pop instead of gst_bus_poll when we just want it to
9661           immediately return us any available message with 0 timeout.
9662
9663 2005-12-12  Michael Smith  <msmith@fluendo.com>
9664
9665         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
9666           Don't unref factories after calling them.
9667         * libs/gst/base/gsttypefindhelper.c: (gst_type_find_helper):
9668         * plugins/elements/gsttypefindelement.c:
9669         (gst_type_find_element_chain):
9670           Free lists of factories after using them. Fixing typefinding memory
9671           leaks.
9672
9673 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
9674
9675         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
9676         (gst_plugin_feature_load):
9677           more meaningful debug output
9678         * configure.ac:
9679         * tests/Makefile.am:
9680         * tests/old/examples/Makefile.am:
9681           make make distcheck happy again
9682
9683 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
9684
9685         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
9686           Catch the special case where we are operating chain-based,
9687           but the downstream peer pad has no chain function. Emit a
9688           custom error message in this case instead of letting the
9689           core generate one implying that this is some sort of core
9690           bug. It's not, it just means that whatever got plugged
9691           into the pipeline downstream when we announced the type
9692           can only operate pull-based, while our source can only
9693           operate push-based (e.g. http://foo/bar.mov ! qtdemux ! ...)
9694           Error string has not been marked for translation yet, as
9695           it probably needs some more work first.
9696
9697         (gst_type_find_element_get_best_possibility):
9698           Add helper function to find the best of all available
9699           found possibilities that qualify given the min. threshold.
9700
9701         (gst_type_find_element_handle_event):
9702           Fix the case where we get an EOS while still in TYPEFIND
9703           mode (we want to chose the best of all possible types,
9704           not just the first type that happens to be in our unsorted
9705           list of possible types).
9706
9707         (gst_type_find_element_chain):
9708           Make sure we return GST_FLOW_ERROR when we errored out
9709           in stop_typefinding(); also, don't just find the best of
9710           all found type entries and then use the last examined
9711           type entry, but actually use the best entry.
9712
9713 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
9714
9715         * tests/examples/typefind/typefind.c: (type_found):
9716         * tests/examples/xml/runxml.c: (xml_loaded):
9717           More gcc4 fixes and a mem leak fix.
9718
9719 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
9720
9721         * tests/examples/xml/createxml.c: (object_saved):
9722           gcc 4 fixes
9723
9724 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
9725
9726         * tests/Makefile.am:
9727           enable the examples even more
9728
9729 2005-12-12  Andy Wingo  <wingo@pobox.com>
9730
9731         * libs/gst/net/gstnettimeprovider.c
9732         (gst_net_time_provider_class_init, gst_net_time_provider_init)
9733         (gst_net_time_provider_set_property)
9734         (gst_net_time_provider_get_property):
9735         API addition: Export "active" as a GObject property.
9736         (gst_net_time_provider_thread): Only respond to time queries if
9737         the time provider is active.
9738
9739         * libs/gst/net/gstnettimeprovider.h: Add an "active" boolean to
9740         NetTimeProvider, preserving binary compat.
9741
9742 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
9743
9744         * tests/examples/controller/audio-example.c: (main):
9745         * tests/examples/launch/Makefile.am:
9746           convert comments again
9747
9748 2005-12-12  Wim Taymans  <wim@fluendo.com>
9749
9750         * libs/gst/base/gstpushsrc.c:
9751         Fix typo.
9752
9753 2005-12-12  Wim Taymans  <wim@fluendo.com>
9754
9755         * docs/libs/gstreamer-libs-sections.txt:
9756         Added new symbol to docs.
9757
9758         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
9759         (gst_base_src_init), (gst_base_src_set_format),
9760         (gst_base_src_default_query), (gst_base_src_query),
9761         (gst_base_src_default_do_seek), (gst_base_src_do_seek),
9762         (gst_base_src_perform_seek), (gst_base_src_send_event),
9763         (gst_base_src_default_event), (gst_base_src_event_handler),
9764         (gst_base_src_set_property), (gst_base_src_get_property),
9765         (gst_base_src_wait), (gst_base_src_do_sync),
9766         (gst_base_src_update_length), (gst_base_src_get_range),
9767         (gst_base_src_check_get_range), (gst_base_src_loop),
9768         (gst_base_src_default_negotiate), (gst_base_src_start),
9769         (gst_base_src_activate_push), (gst_base_src_activate_pull),
9770         (gst_base_src_change_state):
9771         * libs/gst/base/gstbasesrc.h:
9772         Implement seeking to other formats than _BYTES.
9773         Implement more seeking methods correctly.
9774         Doc updates.
9775         Added query vmethod.
9776         Added do_seek vmethod to make life easier for subclasses
9777         when seeking.
9778         API addition: gst_base_src_set_format()
9779
9780 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
9781
9782         * tests/examples/Makefile.am:
9783           added that too
9784
9785 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
9786
9787         * configure.ac:
9788         * docs/random/ensonic/media-device-daemon.txt:
9789         * tests/examples/controller/.cvsignore:
9790         * tests/examples/controller/Makefile.am:
9791         * tests/examples/controller/audio-example.c: (main):
9792         * tests/examples/helloworld/.cvsignore:
9793         * tests/examples/helloworld/Makefile.am:
9794         * tests/examples/helloworld/helloworld.c: (event_loop), (main):
9795         * tests/examples/launch/.cvsignore:
9796         * tests/examples/launch/Makefile.am:
9797         * tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
9798         * tests/examples/metadata/.cvsignore:
9799         * tests/examples/metadata/Makefile.am:
9800         * tests/examples/metadata/read-metadata.c: (message_loop),
9801         (make_pipeline), (print_tag), (main):
9802         * tests/examples/queue/.cvsignore:
9803         * tests/examples/queue/Makefile.am:
9804         * tests/examples/queue/queue.c: (event_loop), (main):
9805         * tests/examples/typefind/.cvsignore:
9806         * tests/examples/typefind/Makefile.am:
9807         * tests/examples/typefind/typefind.c: (type_found), (event_loop),
9808         (main):
9809         * tests/examples/xml/.cvsignore:
9810         * tests/examples/xml/Makefile.am:
9811         * tests/examples/xml/createxml.c: (object_saved), (main):
9812         * tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
9813         * tests/old/examples/Makefile.am:
9814         * tests/old/examples/TODO:
9815         * tests/old/examples/controller/.cvsignore:
9816         * tests/old/examples/controller/Makefile.am:
9817         * tests/old/examples/controller/audio-example.c:
9818         * tests/old/examples/helloworld/.cvsignore:
9819         * tests/old/examples/helloworld/Makefile.am:
9820         * tests/old/examples/helloworld/helloworld.c:
9821         * tests/old/examples/launch/.cvsignore:
9822         * tests/old/examples/launch/Makefile.am:
9823         * tests/old/examples/launch/mp3parselaunch.c:
9824         * tests/old/examples/launch/mp3play:
9825         * tests/old/examples/manual/Makefile.am:
9826         * tests/old/examples/metadata/Makefile.am:
9827         * tests/old/examples/metadata/read-metadata.c:
9828         * tests/old/examples/queue/.cvsignore:
9829         * tests/old/examples/queue/Makefile.am:
9830         * tests/old/examples/queue/queue.c:
9831         * tests/old/examples/typefind/.cvsignore:
9832         * tests/old/examples/typefind/Makefile.am:
9833         * tests/old/examples/typefind/typefind.c:
9834         * tests/old/examples/xml/.cvsignore:
9835         * tests/old/examples/xml/Makefile.am:
9836         * tests/old/examples/xml/createxml.c:
9837         * tests/old/examples/xml/runxml.c:
9838           applied some simple fixing to some examples
9839           re-enabled the working examples
9840
9841 2005-12-12  Wim Taymans  <wim@fluendo.com>
9842
9843         * gst/gstsegment.c: (gst_segment_init),
9844         (gst_segment_set_last_stop), (gst_segment_set_seek),
9845         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
9846         (gst_segment_to_running_time):
9847         Added more documentation.
9848         Make sure the last_pos value is updated properly.
9849         Make sure to_stream_time and to_running_time don't
9850         operate on wrong values.
9851
9852         * tests/check/gst/gstsegment.c: (GST_START_TEST):
9853         Update check.
9854
9855 2005-12-12  Michael Smith  <msmith@fluendo.com>
9856
9857         * plugins/elements/gsttypefindelement.c: (free_entry),
9858         (gst_type_find_element_chain):
9859           Now that we're not leaking factories, make sure we keep references
9860           to them while we need them.
9861
9862 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9863
9864         * tests/check/gst/struct_i386.h:
9865           ifdef out the XML structs
9866
9867 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9868
9869         * gst/gstvalue.c: (gst_value_transform_double_fraction):
9870           floor is not needed, F is always positive; this obviates the
9871           need for adding -lm when building without libxml
9872
9873 2005-12-12  Wim Taymans  <wim@fluendo.com>
9874
9875         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
9876         Take current playback rate into account when reporting
9877         the position.
9878
9879 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
9880
9881         * docs/manual/mime-world.fig:
9882           Let's try this again, this time with a file that is
9883           actually in XFig format.
9884
9885 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
9886
9887         * docs/manual/mime-world.fig:
9888           Add audioconvert element to diagram so that it
9889           matches the text and the code (fixes #319526).
9890
9891 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
9892
9893         * docs/pwg/building-chainfn.xml:
9894         * docs/pwg/building-pads.xml:
9895         * docs/pwg/building-state.xml:
9896         * docs/pwg/other-source.xml:
9897           Update state change stuff for 0.10 (fixes #322969).
9898
9899 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
9900
9901         * docs/manual/advanced-dataaccess.xml:
9902         * docs/manual/appendix-checklist.xml:
9903         * docs/manual/appendix-programs.xml:
9904         * docs/manual/basics-pads.xml:
9905         * docs/manual/highlevel-components.xml:
9906         * docs/manual/manual.xml:
9907           Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
9908           add converters in front of pipelines; remove curly
9909           brackets for threads stuff, they no longer exist; use
9910           GST_TYPE_FRACTION for framerates; update some pieces of
9911           code to 0.10, but there's plenty more to do.
9912
9913         * docs/manual/appendix-porting.xml:
9914           Expand on asynchroneous state changes; s/0.9/0.10/;
9915           mention disappearance of gst_init_get_popt_table()
9916           (fixes #322916).
9917
9918 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
9919
9920         * docs/faq/using.xml:
9921           Spider no longer exists, and neither does gst-launch-ext.
9922           Update examples to use decodebin and playbin and put
9923           converters in front of sinks (fixes #323726).
9924
9925 2005-12-09  Michael Smith  <msmith@fluendo.com>
9926
9927         * plugins/elements/gsttypefindelement.c: (find_peek),
9928         (gst_type_find_element_chain):
9929           Fix leaking element factories in typefinding.
9930           Fix problem where we forgot about a probable type on non-seekable
9931           files, and thus later mis-typefound it.
9932
9933 2005-12-09  Michael Smith  <msmith@fluendo.com>
9934
9935         * common/m4/gst-makecontext.m4:
9936         * common/m4/gst-mcsc.m4:
9937         * configure.ac:
9938         * win32/common/config.h:
9939         * win32/common/config.h.in:
9940           Remove makecontext stuff; not used in 0.10 and causes problems on
9941           HPUX according to bug #322441
9942
9943 2005-12-07  Wim Taymans  <wim@fluendo.com>
9944
9945         * tests/check/Makefile.am:
9946         * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
9947         (main):
9948         * tests/check/libs/struct_i386.h:
9949         Added ABI check for libs
9950
9951 2005-12-07  Wim Taymans  <wim@fluendo.com>
9952
9953         * tests/check/Makefile.am:
9954         And add the struct_i386.h to dist.
9955
9956 2005-12-07  Wim Taymans  <wim@fluendo.com>
9957
9958         * tests/check/Makefile.am:
9959         * tests/check/gst/.cvsignore:
9960         * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
9961         (main):
9962         * tests/check/gst/struct_i386.h:
9963         Added check for ABI compatibility.
9964
9965 2005-12-07  Wim Taymans  <wim@fluendo.com>
9966
9967         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
9968         (gst_fake_src_get_times), (gst_fake_src_create):
9969         Fix broken sync option, fixes #323259
9970
9971 2005-12-07  Wim Taymans  <wim@fluendo.com>
9972
9973         * gst/gstbuffer.c:
9974         Small docs update.
9975
9976         * gst/gstcaps.c: (gst_caps_is_equal):
9977         Don't assert on NULL <--> X. Fixes #323260
9978
9979         * gst/gstminiobject.c: (gst_mini_object_replace):
9980         If we're doing atomic operations, we might just as well use
9981         the proper way to get an atomic pointer.
9982
9983         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
9984         Clean up debugging.
9985
9986 2005-12-07  Michael Smith  <msmith@fluendo.com>
9987
9988         * gst/parse/grammar.y:
9989           Remove handling of { } for threads.
9990
9991 2005-12-06  David Schleef  <ds@schleef.org>
9992
9993         * libs/gst/base/gstbasetransform.c: speling fix.
9994
9995 2005-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
9996
9997         * docs/libs/tmpl/gstdataprotocol.sgml:
9998         * docs/random/omega/testing/gstobject.c:
9999         * gst/gst.c:
10000         * gst/gstclock.c:
10001         * gst/gstelement.c:
10002         * gst/gstelementfactory.c:
10003         * gst/gsterror.c:
10004         * gst/gstevent.c:
10005         * gst/gstghostpad.c:
10006         * gst/gstinfo.c:
10007         * gst/gstpadtemplate.c:
10008         * gst/gstregistryxml.c:
10009         * gst/gsttaglist.c:
10010         * gst/gsttagsetter.c:
10011         * gst/gsttypefind.c:
10012         * gst/gstvalue.c:
10013         * libs/gst/base/gstbasesrc.c:
10014         * libs/gst/net/gstnetclientclock.c:
10015         * libs/gst/net/gstnettimeprovider.c:
10016         * plugins/elements/gstfakesrc.c:
10017         * plugins/elements/gstfdsrc.c:
10018         * plugins/elements/gstfilesrc.c:
10019         * plugins/elements/gstidentity.c:
10020         * plugins/elements/gstqueue.c:
10021         * plugins/elements/gsttypefindelement.c:
10022         * plugins/indexers/gstfileindex.c:
10023         * plugins/indexers/gstmemindex.c:
10024         * tests/check/gst/gsttag.c:
10025         * tests/old/examples/cutter/cutter.c:
10026         * tests/old/examples/mixer/mixer.c:
10027         * tests/old/examples/xml/runxml.c: (main):
10028         * tests/old/testsuite/caps/normalisation.c:
10029         * tests/old/testsuite/debug/global.c:
10030         * tests/old/testsuite/parse/parse1.c:
10031         * tools/gst-xmlinspect.c:
10032         * win32/common/dirent.c:
10033           expand tabs
10034
10035 === release 0.10.0 ===
10036
10037 2005-12-05  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
10038
10039         * configure.ac:
10040           releasing 0.10.0, "Maroilles"
10041
10042 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
10043
10044         submitted by: Funda Wang <fundawang@linux.net.cn>
10045
10046         * po/LINGUAS:
10047         * po/zh_CN.po:
10048           added Chinese (Traditional) translation
10049
10050 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
10051
10052         * docs/gst/gstreamer-sections.txt:
10053         * docs/libs/tmpl/gstdataprotocol.sgml:
10054         * docs/random/thomasvs/TODO:
10055         * gst/gstutils.c:
10056         * gst/gstutils.h:
10057           fix docs
10058
10059 2005-12-05  Andy Wingo  <wingo@pobox.com>
10060
10061         patch by: Wim Taymans <wim@fluendo.com>
10062
10063         * libs/gst/base/gstbasetransform.c
10064         (gst_base_transform_prepare_output_buf)
10065         (gst_base_transform_buffer_alloc):
10066         * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
10067         alloc_buffer_and_set_caps.
10068
10069         * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
10070         set_caps on the source pad.
10071         (gst_pad_alloc_buffer_and_set_caps): New function, does what
10072         alloc_buffer used to do. Fixes #322874.
10073
10074         * docs/gst/gstreamer-sections.txt: 
10075         * docs/design/part-negotiation.txt: 
10076         * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
10077         changes.
10078
10079 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
10080
10081         patch by: Sebastien Moutte
10082
10083         * win32/MANIFEST:
10084         * win32/common/config.h.in:
10085         * win32/vs6/libgstcontroller.dsp:
10086           win32 build fixes
10087
10088 2005-12-05  Wim Taymans  <wim@fluendo.com>
10089
10090         * gst/gstcaps.c: (gst_caps_is_equal):
10091         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
10092         (gst_fake_src_create):
10093         Back out previous code changes, leave doc updates, file bugs 
10094         instead. 
10095
10096 2005-12-05  Wim Taymans  <wim@fluendo.com>
10097
10098         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
10099         (gst_fake_src_get_times), (gst_fake_src_create):
10100         * plugins/elements/gstfakesrc.h:
10101         Fix broken sync code.
10102
10103 2005-12-05  Wim Taymans  <wim@fluendo.com>
10104
10105         * gst/gstcaps.c: (gst_caps_is_equal):
10106         Comparing NULL against !NULL yields different caps, not a
10107         failure.
10108
10109 2005-12-05  Wim Taymans  <wim@fluendo.com>
10110
10111         * gst/gstpipeline.c:
10112         Fix small typo in docs.
10113
10114 2005-12-05  Andy Wingo  <wingo@pobox.com>
10115
10116         patch by: Thomas Vander Stichele  <thomas at apestaart dot org>
10117
10118         * gst/gst.c (init_post): remove hard-coded 0.9 location for
10119         registries/plugins with a MAJORMINOR one.
10120         (plugin_desc): Rename library from gstcoreleements to
10121         staticelements. Fixes #323222.
10122
10123 2005-12-05  Tim-Philipp Müller  <tim at centricular dot net>
10124
10125         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
10126           Change debug category to 'collectpads' from 'collect_pads'
10127           (fixes #323250).
10128
10129 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
10130
10131         patch by: Sebastien Moutte
10132
10133         * libs/gst/controller/gstinterpolation.c:
10134           use convert function for uint64/double
10135         * win32/vs6/libgstcontroller.dsp:
10136           link to GLib
10137
10138 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
10139
10140         * gst/gstutils.c: (gst_util_guint64_to_gdouble),
10141         (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
10142         * gst/gstutils.h:
10143         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
10144           add tests that seem to show that the guint64/gdouble conversions
10145           are correct.
10146
10147 2005-12-02  Wim Taymans  <wim@fluendo.com>
10148
10149         * gst/gstregistry.c: (gst_registry_add_path):
10150         * gst/gstregistry.h:
10151         * gst/gstregistryxml.c:
10152         Fix docs again.
10153
10154 2005-12-02  Wim Taymans  <wim@fluendo.com>
10155
10156         * gst/gstutils.c: (gst_util_uint64_scale_int64),
10157         (gst_util_uint64_scale_int):
10158         Small cleanup.
10159
10160         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
10161         Add debug log line.
10162
10163         * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
10164         Add FIXME.
10165
10166 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10167
10168         * win32/MANIFEST:
10169         * win32/common/config.h:
10170         * win32/vs6/gstreamer.dsw:
10171         * win32/vs6/libgstcoreelements.dsp:
10172         * win32/vs6/libgstelements.dsp:
10173           renamed core elements plugin
10174
10175 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10176
10177         * tools/gst-run.c: (compare_major_minor), (find_highest_version),
10178         (get_candidates):
10179           do piece-wise major/minor comparison so 0.9 < 0.10
10180           also allow .exe extensions for tools
10181
10182 2005-12-02  Michael Smith  <msmith@fluendo.com>
10183
10184         * gst/gst.c:
10185           Escape a % to make gtkdoc happier; bug 322958.
10186
10187 === release 0.9.7 ===
10188
10189 2005-12-01  Thomas Vander Stichele <thomas (at) apestaart (dot) org>
10190
10191         * configure.ac:
10192           releasing 0.9.7, "My Dog Has No Nose"
10193
10194 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
10195
10196         * common/gst-xmlinspect.py:
10197         * configure.ac:
10198         * docs/libs/tmpl/gstdataprotocol.sgml:
10199         * docs/random/release:
10200         * po/af.po:
10201         * po/az.po:
10202         * po/bg.po:
10203         * po/ca.po:
10204         * po/cs.po:
10205         * po/de.po:
10206         * po/en_GB.po:
10207         * po/fr.po:
10208         * po/it.po:
10209         * po/nb.po:
10210         * po/nl.po:
10211         * po/ru.po:
10212         * po/sq.po:
10213         * po/sr.po:
10214         * po/sv.po:
10215         * po/tr.po:
10216         * po/uk.po:
10217         * po/vi.po:
10218         * win32/common/config.h:
10219         * win32/common/config.h.in:
10220         * win32/vs6/gst_inspect.dsp:
10221         * win32/vs6/gst_launch.dsp:
10222         * win32/vs6/libgstbase.dsp:
10223         * win32/vs6/libgstelements.dsp:
10224         * win32/vs6/libgstreamer.dsp:
10225         * win32/vs7/GStreamer.vcproj:
10226         * win32/vs7/gst-inspect.vcproj:
10227         * win32/vs7/gst-launch.vcproj:
10228         * win32/vs7/libgstbase.vcproj:
10229           bump GST_MAJORMINOR to 0.10
10230           reset libtool version
10231
10232 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
10233
10234         * po/LINGUAS:
10235         * po/bg.po:
10236           Added Bulgarian translation by (Alexander Shopov)
10237
10238 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
10239
10240         * tests/check/gst/gstplugin.c:
10241           fix test
10242
10243 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
10244
10245         * common/gst-xmlinspect.py:
10246         * common/gtk-doc-plugins.mak:
10247         * configure.ac:
10248         * docs/Makefile.am:
10249         * docs/gst/Makefile.am:
10250         * docs/gst/gstreamer-docs.sgml:
10251         * docs/gst/gstreamer-sections.txt:
10252         * docs/gst/gstreamer.types:
10253         * docs/gst/gstreamer.types.in:
10254         * docs/plugins/Makefile.am:
10255         * docs/plugins/gstreamer-plugins-docs.sgml:
10256         * docs/plugins/gstreamer-plugins-sections.txt:
10257         * docs/plugins/gstreamer-plugins.types:
10258         * docs/plugins/inspect.stamp:
10259         * docs/plugins/inspect/plugin-coreelements.xml:
10260         * docs/plugins/inspect/plugin-coreindexers.xml:
10261         * docs/plugins/scanobj-build.stamp:
10262         * gstreamer.spec.in:
10263         * plugins/elements/Makefile.am:
10264         * plugins/elements/gstelements.c:
10265         * plugins/elements/gstfakesink.c:
10266         * plugins/elements/gstfakesrc.c:
10267         * plugins/elements/gstfilesink.c:
10268         * plugins/elements/gstfilesrc.c:
10269         * plugins/elements/gstqueue.c:
10270         * plugins/indexers/Makefile.am:
10271         * plugins/indexers/gstindexers.c:
10272           document core plugins in a separate document just like all the
10273           others
10274           rename these plugins to something starting with core
10275
10276 2005-12-01  Andy Wingo  <wingo@pobox.com>
10277
10278         * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
10279         padding here before, but it missed the commit.
10280
10281 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
10282
10283         * libs/gst/controller/gstinterpolation.c:
10284           whitespace prices have crashed, we should feel free to use some now
10285           use gst_guint64_to_gdouble
10286
10287 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
10288
10289         * libs/gst/controller/gstcontroller.c:
10290         * libs/gst/controller/gsthelper.c:
10291         * libs/gst/controller/gstinterpolation.c:
10292         * libs/gst/controller/lib.c:
10293           wrap config.h include
10294
10295 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
10296
10297         * docs/gst/gstreamer-sections.txt:
10298           update docs
10299
10300 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
10301
10302         * plugins/elements/gstelements.c:
10303         * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
10304         (gst_fd_sink__class_init), (gst_fd_sink__init),
10305         (gst_fd_sink__chain), (gst_fd_sink__set_property),
10306         (gst_fd_sink__get_property):
10307         * plugins/elements/gstfdsink.h:
10308         * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
10309         (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
10310         (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
10311         (gst_fd_src_unlock), (gst_fd_src_set_property),
10312         (gst_fd_src_get_property), (gst_fd_src_create),
10313         (gst_fd_src_is_seekable), (gst_fd_src_get_size),
10314         (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
10315         (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
10316         (gst_fd_src_uri_handler_init):
10317         * plugins/elements/gstfdsrc.h:
10318         * plugins/elements/gstqueue.c: (gst_queue_get_type):
10319           more anal cleanup
10320
10321 2005-11-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
10322
10323         * docs/gst/Makefile.am:
10324         * docs/gst/gstreamer.types.in:
10325         * gst/Makefile.am:
10326           fix the docs build
10327
10328 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10329
10330         * configure.ac:
10331         * gst/Makefile.am:
10332         * gst/gst.c:
10333         * gst/gstplugin.h:
10334         * gst/gstregistry.h:
10335         * tests/benchmarks/complexity.c:
10336         * tests/benchmarks/mass-elements.c:
10337         * tests/check/Makefile.am:
10338         * tools/Makefile.am:
10339         * tools/gst-inspect.c:
10340         * tools/gst-xmlinspect.c:
10341           various fixes to make
10342           --disable-nls --disable-registry --disable-loadsave
10343           --disable-parse --disable-gst-debug
10344           work and get the core .so down to 360444 bytes after stripping
10345
10346 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10347
10348         * Makefile.am:
10349         * configure.ac:
10350           descend into tests
10351         * docs/random/thomasvs/TODO:
10352         * tests/Makefile.am:
10353         * tests/README:
10354           add a README
10355
10356 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10357
10358         * win32/GStreamer.vcproj:
10359         * win32/MANIFEST:
10360         * win32/Makefile:
10361         * win32/Makefile.inspect:
10362         * win32/Makefile.launch:
10363         * win32/Makefile.register:
10364         * win32/README.txt:
10365         * win32/gst-inspect.vcproj:
10366         * win32/gst-launch.vcproj:
10367         * win32/gst-register.vcproj:
10368         * win32/gstelements.vcproj:
10369         * win32/gstgetbits.def:
10370         * win32/gstgetbits.vcproj:
10371         * win32/gstreamer-dbg.def:
10372         * win32/gstreamer.def:
10373         * win32/libgstbase.def:
10374         * win32/libgstbase.vcproj:
10375         * win32/link_oldruntime.c:
10376         * win32/mman.c:
10377         * win32/mman.h:
10378         * win32/mman.inl:
10379         * win32/msvc71.sln:
10380           move even more stuff, win32/ is nice and clean now
10381
10382 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10383
10384         * libs/gst/control/.cvsignore:
10385         * win32/MANIFEST:
10386         * win32/config.h:
10387         * win32/dirent.c:
10388         * win32/dirent.h:
10389         * win32/gstbytestream.def:
10390         * win32/gstbytestream.vcproj:
10391         * win32/gstconfig.h:
10392         * win32/gstenumtypes.c:
10393         * win32/gstenumtypes.h:
10394         * win32/gstoptimalscheduler.vcproj:
10395         * win32/gstversion.h:
10396         * win32/gtchar.h:
10397         * win32/testsuite/bins.vcproj:
10398         * win32/testsuite/bytestream.vcproj:
10399         * win32/testsuite/caps.vcproj:
10400         * win32/testsuite/cleanup.vcproj:
10401         * win32/testsuite/clock.vcproj:
10402         * win32/testsuite/debug.vcproj:
10403         * win32/testsuite/dlopen.vcproj:
10404         * win32/testsuite/dynparams.vcproj:
10405         * win32/testsuite/elements.vcproj:
10406         * win32/testsuite/ghostpads.vcproj:
10407         * win32/testsuite/indexers.vcproj:
10408         * win32/testsuite/negotiation.vcproj:
10409         * win32/testsuite/parse.vcproj:
10410         * win32/testsuite/plugin.vcproj:
10411         * win32/testsuite/refcounting.vcproj:
10412         * win32/testsuite/schedulers.vcproj:
10413         * win32/testsuite/states.vcproj:
10414         * win32/testsuite/tags.vcproj:
10415         * win32/testsuite/threads.vcproj:
10416           remove old win32 stuff that isn't maintained and should be
10417           reorganized
10418
10419 2005-11-30  Andy Wingo  <wingo@pobox.com>
10420
10421         * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
10422         loading the gst.interfaces python module bork.
10423
10424         * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
10425         available since GLib 2.2. Fixes #318031.
10426
10427 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10428
10429         * Makefile.am:
10430         * check/.cvsignore:
10431         * check/Makefile.am:
10432         * check/elements/.cvsignore:
10433         * check/elements/fakesrc.c:
10434         * check/elements/fdsrc.c:
10435         * check/elements/identity.c:
10436         * check/generic/.cvsignore:
10437         * check/generic/states.c:
10438         * check/gst-libs/.cvsignore:
10439         * check/gst-libs/controller.c:
10440         * check/gst-libs/gdp.c:
10441         * check/gst/.cvsignore:
10442         * check/gst/capslist.h:
10443         * check/gst/gst.c:
10444         * check/gst/gstbin.c:
10445         * check/gst/gstbuffer.c:
10446         * check/gst/gstbus.c:
10447         * check/gst/gstcaps.c:
10448         * check/gst/gstelement.c:
10449         * check/gst/gstevent.c:
10450         * check/gst/gstghostpad.c:
10451         * check/gst/gstiterator.c:
10452         * check/gst/gstmessage.c:
10453         * check/gst/gstminiobject.c:
10454         * check/gst/gstobject.c:
10455         * check/gst/gstpad.c:
10456         * check/gst/gstpipeline.c:
10457         * check/gst/gstplugin.c:
10458         * check/gst/gstsegment.c:
10459         * check/gst/gststructure.c:
10460         * check/gst/gstsystemclock.c:
10461         * check/gst/gsttag.c:
10462         * check/gst/gstutils.c:
10463         * check/gst/gstvalue.c:
10464         * check/net/.cvsignore:
10465         * check/net/gstnetclientclock.c:
10466         * check/net/gstnettimeprovider.c:
10467         * check/pipelines/.cvsignore:
10468         * check/pipelines/cleanup.c:
10469         * check/pipelines/simple_launch_lines.c:
10470         * check/pipelines/stress.c:
10471         * check/states/.cvsignore:
10472         * check/states/sinks.c:
10473         * configure.ac:
10474         * examples/Makefile.am:
10475         * examples/appreader/.cvsignore:
10476         * examples/appreader/Makefile.am:
10477         * examples/appreader/appreader.c:
10478         * examples/controller/.cvsignore:
10479         * examples/controller/Makefile.am:
10480         * examples/controller/audio-example.c:
10481         * examples/cutter/.cvsignore:
10482         * examples/cutter/Makefile.am:
10483         * examples/cutter/cutter.c:
10484         * examples/cutter/cutter.h:
10485         * examples/events/Makefile.am:
10486         * examples/events/seek.c:
10487         * examples/helloworld/.cvsignore:
10488         * examples/helloworld/Makefile.am:
10489         * examples/helloworld/helloworld.c:
10490         * examples/helloworld2/.cvsignore:
10491         * examples/helloworld2/Makefile.am:
10492         * examples/helloworld2/helloworld2.c:
10493         * examples/launch/.cvsignore:
10494         * examples/launch/Makefile.am:
10495         * examples/launch/mp3parselaunch.c:
10496         * examples/launch/mp3play:
10497         * examples/manual/.cvsignore:
10498         * examples/manual/Makefile.am:
10499         * examples/manual/extract.pl:
10500         * examples/metadata/Makefile.am:
10501         * examples/metadata/read-metadata.c:
10502         * examples/mixer/.cvsignore:
10503         * examples/mixer/Makefile.am:
10504         * examples/mixer/mixer.c:
10505         * examples/mixer/mixer.h:
10506         * examples/pingpong/.cvsignore:
10507         * examples/pingpong/Makefile.am:
10508         * examples/pingpong/pingpong.c:
10509         * examples/plugins/.cvsignore:
10510         * examples/plugins/Makefile.am:
10511         * examples/plugins/example.c:
10512         * examples/plugins/example.h:
10513         * examples/pwg/.cvsignore:
10514         * examples/pwg/Makefile.am:
10515         * examples/pwg/extract.pl:
10516         * examples/queue/.cvsignore:
10517         * examples/queue/Makefile.am:
10518         * examples/queue/queue.c:
10519         * examples/queue2/.cvsignore:
10520         * examples/queue2/Makefile.am:
10521         * examples/queue2/queue2.c:
10522         * examples/queue3/.cvsignore:
10523         * examples/queue3/Makefile.am:
10524         * examples/queue3/queue3.c:
10525         * examples/queue4/.cvsignore:
10526         * examples/queue4/Makefile.am:
10527         * examples/queue4/queue4.c:
10528         * examples/retag/.cvsignore:
10529         * examples/retag/Makefile.am:
10530         * examples/retag/retag.c:
10531         * examples/retag/transcode.c:
10532         * examples/thread/.cvsignore:
10533         * examples/thread/Makefile.am:
10534         * examples/thread/thread.c:
10535         * examples/typefind/.cvsignore:
10536         * examples/typefind/Makefile.am:
10537         * examples/typefind/typefind.c:
10538         * examples/xml/.cvsignore:
10539         * examples/xml/Makefile.am:
10540         * examples/xml/createxml.c:
10541         * examples/xml/runxml.c:
10542         * tests/Makefile.am:
10543         * tests/check/Makefile.am:
10544         * testsuite/.cvsignore:
10545         * testsuite/Makefile.am:
10546         * testsuite/Rules:
10547         * testsuite/caps/.cvsignore:
10548         * testsuite/caps/Makefile.am:
10549         * testsuite/caps/app_fixate.c:
10550         * testsuite/caps/audioscale.c:
10551         * testsuite/caps/caps.c:
10552         * testsuite/caps/caps.h:
10553         * testsuite/caps/caps_strings:
10554         * testsuite/caps/compatibility.c:
10555         * testsuite/caps/deserialize.c:
10556         * testsuite/caps/enumcaps.c:
10557         * testsuite/caps/eratosthenes.c:
10558         * testsuite/caps/filtercaps.c:
10559         * testsuite/caps/fixed.c:
10560         * testsuite/caps/fraction-convert.c:
10561         * testsuite/caps/fraction-multiply-and-zero.c:
10562         * testsuite/caps/intersect2.c:
10563         * testsuite/caps/intersection.c:
10564         * testsuite/caps/normalisation.c:
10565         * testsuite/caps/random.c:
10566         * testsuite/caps/renegotiate.c:
10567         * testsuite/caps/sets.c:
10568         * testsuite/caps/simplify.c:
10569         * testsuite/caps/string-conversions.c:
10570         * testsuite/caps/structure.c:
10571         * testsuite/caps/subtract.c:
10572         * testsuite/caps/union.c:
10573         * testsuite/debug/.cvsignore:
10574         * testsuite/debug/Makefile.am:
10575         * testsuite/debug/category.c:
10576         * testsuite/debug/commandline.c:
10577         * testsuite/debug/global.c:
10578         * testsuite/debug/output.c:
10579         * testsuite/debug/printf_extension.c:
10580         * testsuite/dlopen/.cvsignore:
10581         * testsuite/dlopen/Makefile.am:
10582         * testsuite/dlopen/dlopen_gst.c:
10583         * testsuite/dlopen/loadgst.c:
10584         * testsuite/elements/.cvsignore:
10585         * testsuite/elements/Makefile.am:
10586         * testsuite/elements/gst-inspect-check.in:
10587         * testsuite/elements/struct_i386.h:
10588         * testsuite/elements/struct_size.c:
10589         * testsuite/indexers/.cvsignore:
10590         * testsuite/indexers/Makefile.am:
10591         * testsuite/indexers/cache1.c:
10592         * testsuite/indexers/indexdump.c:
10593         * testsuite/parse/.cvsignore:
10594         * testsuite/parse/Makefile.am:
10595         * testsuite/parse/parse1.c:
10596         * testsuite/parse/parse2.c:
10597         * testsuite/plugin/.cvsignore:
10598         * testsuite/plugin/Makefile.am:
10599         * testsuite/plugin/README:
10600         * testsuite/plugin/dynamic.c:
10601         * testsuite/plugin/linked.c:
10602         * testsuite/plugin/loading.c:
10603         * testsuite/plugin/registry.c:
10604         * testsuite/plugin/static.c:
10605         * testsuite/plugin/static2.c:
10606         * testsuite/plugin/testplugin.c:
10607         * testsuite/plugin/testplugin2.c:
10608         * testsuite/plugin/testplugin2_s.c:
10609         * testsuite/plugin/testplugin_s.c:
10610         * testsuite/refcounting/.cvsignore:
10611         * testsuite/refcounting/Makefile.am:
10612         * testsuite/refcounting/bin.c:
10613         * testsuite/refcounting/element.c:
10614         * testsuite/refcounting/element_pad.c:
10615         * testsuite/refcounting/mainloop.c:
10616         * testsuite/refcounting/mem.c:
10617         * testsuite/refcounting/mem.h:
10618         * testsuite/refcounting/object.c:
10619         * testsuite/refcounting/pad.c:
10620         * testsuite/refcounting/sched.c:
10621         * testsuite/refcounting/thread.c:
10622         * testsuite/states/.cvsignore:
10623         * testsuite/states/Makefile.am:
10624         * testsuite/states/bin.c:
10625         * testsuite/states/locked.c:
10626         * testsuite/states/parent.c:
10627         * testsuite/threads/.cvsignore:
10628         * testsuite/threads/159566.c:
10629         * testsuite/threads/159852.c:
10630         * testsuite/threads/Makefile.am:
10631         * testsuite/threads/queue.c:
10632         * testsuite/threads/signals.c:
10633         * testsuite/threads/staticrec.c:
10634         * testsuite/threads/thread.c:
10635         * testsuite/threads/threadb.c:
10636         * testsuite/threads/threadc.c:
10637         * testsuite/threads/threadd.c:
10638         * testsuite/threads/threade.c:
10639         * testsuite/threads/threadf.c:
10640         * testsuite/threads/threadg.c:
10641         * testsuite/threads/threadh.c:
10642         * testsuite/threads/threadi.c:
10643           move all of these under tests
10644
10645 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10646
10647         * configure.ac:
10648         * tests/Makefile.am:
10649           fix distcheck
10650
10651 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10652
10653         * docs/gst/gstreamer-sections.txt:
10654         * tests/sched/.cvsignore:
10655         * tests/sched/Makefile.am:
10656         * tests/sched/cases/(fs-fs).xml:
10657         * tests/sched/cases/(fs-i-fs).xml:
10658         * tests/sched/cases/(fs-i-i-fs).xml:
10659         * tests/sched/cases/(fs-i-q[i-fs]).xml:
10660         * tests/sched/dynamic-pipeline.c:
10661         * tests/sched/interrupt1.c:
10662         * tests/sched/interrupt2.c:
10663         * tests/sched/interrupt3.c:
10664         * tests/sched/runtestcases:
10665         * tests/sched/runxml.c:
10666         * tests/sched/sched-stress.c:
10667         * tests/sched/sort.c:
10668         * tests/sched/testcases:
10669         * tests/sched/testcases1.tc:
10670         * tests/seeking/.cvsignore:
10671         * tests/seeking/Makefile.am:
10672         * tests/seeking/seeking1.c:
10673         * tests/threadstate/.cvsignore:
10674         * tests/threadstate/Makefile.am:
10675         * tests/threadstate/test1.c:
10676         * tests/threadstate/test2.c:
10677         * tests/threadstate/threadstate1.c:
10678         * tests/threadstate/threadstate2.c:
10679         * tests/threadstate/threadstate3.c:
10680         * tests/threadstate/threadstate4.c:
10681         * tests/threadstate/threadstate5.c:
10682           remove obsolete tests
10683         * configure.ac:
10684         * tests/bench-complexity.scm:
10685         * tests/bench-mass_elements.scm:
10686         * tests/complexity.c:
10687         * tests/complexity.gnuplot:
10688         * tests/instantiate/.cvsignore:
10689         * tests/instantiate/Makefile.am:
10690         * tests/instantiate/caps.c:
10691         * tests/mass_elements.c:
10692         * tests/network-clock-utils.scm:
10693         * tests/network-clock.scm:
10694         * tests/plot-data:
10695         First pass at cleaning up tests/ dir before moving the rest
10696         Combined with CVS surgery
10697
10698 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10699
10700         * po/POTFILES.in:
10701           queue has moved, update
10702
10703 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10704
10705         * docs/gst/gstreamer-sections.txt:
10706           remove double entries from the docs
10707         * gst/gst_private.h:
10708         * gst/gstinfo.c: (_gst_debug_init):
10709           remove the THREAD debug category
10710         * gst/Makefile.am:
10711         * gst/gstqueue.c:
10712         * gst/gstqueue.h:
10713         * docs/gst/gstreamer.types:
10714         * plugins/elements/gstqueue.c: (gst_queue_get_type),
10715         (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
10716           completely move queue and fix up debugging categories
10717
10718 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10719
10720         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
10721           make initialization portable, using LL is not
10722
10723 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10724
10725         * win32/common/gstconfig.h:
10726           add large padding
10727
10728 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10729
10730         * win32/common/libgstreamer.def:
10731           rename symbols; sort base section
10732
10733 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10734
10735         * gst/gstclock.c: (do_linear_regression):
10736           remove crack non-portable handrolled DEBUG macro
10737
10738 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10739
10740         * docs/random/release:
10741           update notes
10742         * win32/common/gstenumtypes.c: (register_gst_object_flags),
10743         (gst_object_flags_get_type), (register_gst_bin_flags),
10744         (gst_bin_flags_get_type), (register_gst_buffer_flag),
10745         (gst_buffer_flag_get_type), (register_gst_bus_flags),
10746         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
10747         (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
10748         (gst_caps_flags_get_type), (register_gst_clock_return),
10749         (gst_clock_return_get_type), (register_gst_clock_entry_type),
10750         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
10751         (gst_clock_flags_get_type), (register_gst_state),
10752         (gst_state_get_type), (register_gst_state_change_return),
10753         (gst_state_change_return_get_type), (register_gst_state_change),
10754         (gst_state_change_get_type), (register_gst_element_flags),
10755         (gst_element_flags_get_type), (register_gst_core_error),
10756         (gst_core_error_get_type), (register_gst_library_error),
10757         (gst_library_error_get_type), (register_gst_resource_error),
10758         (gst_resource_error_get_type), (register_gst_stream_error),
10759         (gst_stream_error_get_type), (register_gst_event_type_flags),
10760         (gst_event_type_flags_get_type), (register_gst_event_type),
10761         (gst_event_type_get_type), (register_gst_seek_type),
10762         (gst_seek_type_get_type), (register_gst_seek_flags),
10763         (gst_seek_flags_get_type), (register_gst_format),
10764         (gst_format_get_type), (register_gst_index_certainty),
10765         (gst_index_certainty_get_type), (register_gst_index_entry_type),
10766         (gst_index_entry_type_get_type),
10767         (register_gst_index_lookup_method),
10768         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
10769         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
10770         (gst_index_resolver_method_get_type), (register_gst_index_flags),
10771         (gst_index_flags_get_type), (register_gst_debug_level),
10772         (gst_debug_level_get_type), (register_gst_debug_color_flags),
10773         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
10774         (gst_iterator_result_get_type), (register_gst_iterator_item),
10775         (gst_iterator_item_get_type), (register_gst_message_type),
10776         (gst_message_type_get_type), (register_gst_mini_object_flags),
10777         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
10778         (gst_pad_link_return_get_type), (register_gst_flow_return),
10779         (gst_flow_return_get_type), (register_gst_activate_mode),
10780         (gst_activate_mode_get_type), (register_gst_pad_direction),
10781         (gst_pad_direction_get_type), (register_gst_pad_flags),
10782         (gst_pad_flags_get_type), (register_gst_pad_presence),
10783         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
10784         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
10785         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
10786         (gst_plugin_error_get_type), (register_gst_plugin_flags),
10787         (gst_plugin_flags_get_type), (register_gst_rank),
10788         (gst_rank_get_type), (register_gst_query_type),
10789         (gst_query_type_get_type), (register_gst_tag_merge_mode),
10790         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
10791         (gst_tag_flag_get_type), (register_gst_task_state),
10792         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
10793         (gst_alloc_trace_flags_get_type),
10794         (register_gst_type_find_probability),
10795         (gst_type_find_probability_get_type), (register_gst_uri_type),
10796         (gst_uri_type_get_type), (register_gst_parse_error),
10797         (gst_parse_error_get_type):
10798         * win32/common/gstenumtypes.h:
10799         * win32/common/gstversion.h:
10800           update visual studio generated files
10801
10802 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10803
10804         * win32/vs6/libgstbase.dsp:
10805         * win32/vs6/libgstelements.dsp:
10806           update project files for new locations
10807
10808 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10809
10810         * Makefile.am:
10811           remove some files
10812         * README:
10813           reinstate and update
10814         * DEVEL:
10815         * REQUIREMENTS:
10816           removed
10817         * LICENSE:
10818         * docs/random/LICENSE:
10819           moved to random
10820
10821 2005-11-30  Edward Hervey  <edward@fluendo.com>
10822
10823         * gst/gsttypefind.c: (gst_type_find_register):
10824         * gst/gsttypefind.h:
10825         * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
10826         (gst_type_find_factory_dispose):
10827         * gst/gsttypefindfactory.h:
10828         Fix memory leak in GstTypeFindFactory.
10829
10830 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
10831
10832         * gst/gst.c:
10833         * plugins/elements/Makefile.am:
10834         * plugins/elements/gstelements.c:
10835         * plugins/elements/gstqueue.c:
10836           move queue from core to the elements plugin
10837
10838 2005-11-29  Andy Wingo  <wingo@pobox.com>
10839
10840         * libs/gst/base/gstbasetransform.h: 
10841         * libs/gst/base/gstbasesrc.h: 
10842         * libs/gst/base/gstbasesink.h: en-LARGE the padding.
10843
10844         * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
10845         of pointers by which to pad very extensible base classes (like the
10846         ones in libs/gst/base).
10847
10848 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
10849
10850         * docs/gst/gstreamer-docs.sgml:
10851         * docs/gst/gstreamer-sections.txt:
10852         * docs/libs/gstreamer-libs-docs.sgml:
10853         * docs/libs/gstreamer-libs-sections.txt:
10854           moving documentation from core to lib
10855
10856 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
10857
10858         * check/Makefile.am:
10859         * configure.ac:
10860         * docs/gst/Makefile.am:
10861         * gst/Makefile.am:
10862         * gst/base/.cvsignore:
10863         * gst/base/Makefile.am:
10864         * gst/base/README:
10865         * gst/base/gstadapter.c:
10866         * gst/base/gstadapter.h:
10867         * gst/base/gstbasesink.c:
10868         * gst/base/gstbasesink.h:
10869         * gst/base/gstbasesrc.c:
10870         * gst/base/gstbasesrc.h:
10871         * gst/base/gstbasetransform.c:
10872         * gst/base/gstbasetransform.h:
10873         * gst/base/gstcollectpads.c:
10874         * gst/base/gstcollectpads.h:
10875         * gst/base/gstpushsrc.c:
10876         * gst/base/gstpushsrc.h:
10877         * gst/base/gsttypefindhelper.c:
10878         * gst/base/gsttypefindhelper.h:
10879         * gst/check/Makefile.am:
10880         * gst/check/gstcheck.c:
10881         * gst/check/gstcheck.h:
10882         * gst/net/Makefile.am:
10883         * gst/net/gstnet.h:
10884         * gst/net/gstnetclientclock.c:
10885         * gst/net/gstnetclientclock.h:
10886         * gst/net/gstnettimepacket.c:
10887         * gst/net/gstnettimepacket.h:
10888         * gst/net/gstnettimeprovider.c:
10889         * gst/net/gstnettimeprovider.h:
10890         * libs/gst/Makefile.am:
10891         * libs/gst/base/Makefile.am:
10892         * libs/gst/base/gstbasetransform.c:
10893         * libs/gst/check/Makefile.am:
10894         * plugins/elements/Makefile.am:
10895         * po/POTFILES.in:
10896           CVS surgery + support to move base, check, and net out of gst
10897           and into libs/gst
10898
10899 2005-11-29  Andy Wingo  <wingo@pobox.com>
10900
10901         * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
10902
10903         * gst/gststructure.h (struct _GstStructure): Only one pointer of
10904         padding.
10905
10906         * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
10907
10908         * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
10909
10910         * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
10911
10912         * gst/gstobject.h: (struct _GstObject): Only one pointer of
10913         padding; reduces object size by about 30%. We don't expect
10914         anything else to go into gstobject.
10915
10916         * gst/gstminiobject.h (struct _GstMiniObject)
10917         (struct _GstMiniObjectClass): Only one pointer of padding; the
10918         payload is only a pointer and two ints anyway. For the class there
10919         are only two methods as well.
10920         
10921         * gst/gstelement.h (struct _GstElementClass): Removed
10922         the state_changed signal callback, it is not used.
10923
10924 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10925
10926         * docs/gst/gstreamer.types:
10927           fix includes, though they are a little dinky
10928
10929 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
10930
10931         * check/Makefile.am:
10932           look in the right place for elements, a lot more chance of
10933           success
10934         * gst/Makefile.am:
10935           remove indexers and elements subdirs
10936         * plugins/Makefile.am:
10937           make indexers conditional
10938
10939 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
10940
10941         * Makefile.am:
10942         * configure.ac:
10943         * plugins/elements/Makefile.am:
10944         * plugins/elements/gstcapsfilter.c:
10945         * plugins/elements/gstfilesink.c:
10946         * plugins/elements/gstfilesrc.c:
10947         * plugins/elements/gstidentity.c:
10948         * plugins/indexers/Makefile.am:
10949           do CVS surgery and related build fixery to move elements
10950           and indexers in a new gstreamer/plugins directory, out of the
10951           gst/ directory
10952
10953 2005-11-29  Andy Wingo  <wingo@pobox.com>
10954
10955         * check/Makefile.am:
10956         * pkgconfig/gstreamer-net-uninstalled.pc.in:
10957         * pkgconfig/gstreamer-net.pc.in:
10958         * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
10959         #322257.
10960
10961 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10962
10963         * tools/Makefile.am:
10964         * tools/gst-complete.1.in:
10965         * tools/gst-complete.c:
10966         * tools/gst-compprep.1.in:
10967         * tools/gst-compprep.c:
10968           removing -compprep and -complete
10969
10970 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10971
10972         * gst/gstevent.c: (gst_event_new_new_segment),
10973         (gst_event_parse_new_segment):
10974         * gst/gstevent.h:
10975           fix #320529 - clean up new_segment API and structure.
10976           Let's hope everyone was using the methods, and not the structure.
10977
10978 2005-11-29  Edward Hervey  <edward@fluendo.com>
10979
10980         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10981         (gst_base_sink_event), (gst_base_sink_do_sync),
10982         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
10983         Properly handle non GST_FORMAT_TIME segment
10984         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
10985         Properly handle non GST_FORMAT_TIME segment
10986         * gst/gstsegment.c:
10987         This function is valid if the accumulator is 0 and the format
10988         is different from the requested format.
10989         
10990 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
10991
10992         * docs/gst/gstreamer-sections.txt:
10993         Add gst_query_new_seeking and gst_query_parse_seeking to the
10994         docs.
10995
10996 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
10997
10998         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
10999           Treat a pad alloc with new caps the same as if we were not
11000           negotiated, in order to allow a changing upstream output
11001           to produce a new format of data.
11002
11003 2005-11-29  Edward Hervey  <edward@fluendo.com>
11004
11005         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
11006         (gst_base_transform_event), (gst_base_transform_eventfunc):
11007         The event virtual method is now properly implemented, with a default
11008         handler
11009         Sub classes should call the parent_class event method. They should
11010         return FALSE if they had a problem handling the given event, or don't
11011         want GstBaseTransform to send that even downstream
11012         * gst/elements/gstidentity.c: (gst_identity_class_init),
11013         (gst_identity_init), (gst_identity_event),
11014         (gst_identity_transform_ip), (gst_identity_set_property),
11015         (gst_identity_get_property):
11016         * gst/elements/gstidentity.h:
11017         Added the single-segment boolean property.
11018         If set to TRUE, it will output a single segment of data, starting from
11019         0, will eat up all incoming newsegment, and modify the timestamp of the
11020         buffers accordingly
11021
11022 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
11023
11024         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
11025           Don't ref NULL target pad (#322751). Improve docs.
11026
11027 2005-11-29  Michael Smith  <msmith@fluendo.com>
11028
11029         * gst/gstregistryxml.c: (load_plugin):
11030           Don't crash if we failed to load a feature from a plugin. 
11031
11032 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
11033
11034         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
11035         (GST_START_TEST):
11036           use more check API and less GLib API
11037
11038 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
11039
11040         * Makefile.am:
11041           don't run checks if we don't have check
11042         * common/check.mak:
11043           remove the registry when running make torture
11044         * docs/gst/gstreamer-sections.txt:
11045           remove second multiply
11046         * gst/gstqueue.c: (gst_queue_loop):
11047           fix a compile warning when disabling debug
11048
11049 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
11050
11051         * gst/gstinfo.h:
11052         Hey! Let's print the pad name if the pointer != NULL instead
11053         of when it == NULL :-)
11054
11055 2005-11-28  Wim Taymans  <wim@fluendo.com>
11056
11057         * check/gst/gstutils.c: (GST_START_TEST):
11058         Updated check, add some scaling accuracy checking code.
11059
11060         * gst/gstutils.c: (gst_util_div128_64),
11061         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
11062         (gst_util_uint64_scale_int):
11063         Fix 6 times faster division code. Optimize for common 
11064         1/1 and less common X/1 cases.
11065
11066 2005-11-28  Wim Taymans  <wim@fluendo.com>
11067
11068         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
11069         More checks.
11070
11071         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
11072         (do_linear_regression), (gst_clock_add_observation):
11073         Cleanups.
11074         Release lock when the clock cannot be slaved.
11075         Catch the case where the regression returned an invalid denominator.
11076
11077         * gst/gstutils.c: (gst_util_div128_64_iterate),
11078         (gst_util_div128_64), (gst_util_uint64_scale_int64),
11079         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
11080         Add protentially more performant non-iterative 128/64 divide function
11081         that unfortunatly does not work yet.
11082         Shortcut the trivial 0/X = 0 case.
11083         Remove the warnings on overflow.
11084
11085 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
11086
11087         * gst/gstplugin.c: (gst_plugin_register_func):
11088           everything causing a plugin not to load should be at least a WARNING
11089
11090 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
11091
11092         * docs/random/ensonic/dparams.txt:
11093           some TODOs for the next dev cycle
11094         * libs/gst/controller/gstcontroller.c:
11095         (gst_controlled_property_set_interpolation_mode),
11096         (gst_controlled_property_new):
11097         * libs/gst/controller/gstcontroller.h:
11098           use base type to assign acccessor functions
11099
11100 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
11101
11102         * check/Makefile.am:
11103         Oops, that should have been top_srcdir
11104
11105 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
11106
11107         * check/Makefile.am:
11108         * check/elements/fdsrc.c: (GST_START_TEST):
11109         Use a cmdline define to specify the location of a file to use for
11110         testing, to avoid breaking distcheck.
11111
11112 2005-11-28  Andy Wingo  <wingo@pobox.com>
11113
11114         * gst/gstpad.c (fixate_value): Use array functions for arrays.
11115
11116 2005-11-28  Edward Hervey  <edward@fluendo.com>
11117
11118         * tools/gst-launch.c: (main):
11119         Clarify the output strings, makes it easier to translate.
11120         Fixes #322626
11121
11122 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
11123
11124         * gst/Makefile.am:
11125           don't try and build net if we don't even have <sys/socket.h>
11126
11127 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
11128
11129         * check/Makefile.am:
11130         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
11131         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
11132           Add tests for fdsrc seekability
11133
11134         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
11135         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
11136         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
11137         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
11138         * gst/elements/gstfdsrc.h:
11139           fdsrc should not be a 'live' source.
11140           Implement seeking on seekable fd's.
11141
11142         * gst/gstquery.c: (gst_query_new_seeking),
11143         (gst_query_parse_seeking):
11144         * gst/gstquery.h:
11145           Implement SEEKING query functions: 
11146             *_new_seeking and *_parse_seeking
11147
11148 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
11149
11150         * gst/gstelement.c: (gst_element_dispose):
11151           don't loop forever
11152
11153         * gst/gstiterator.c:
11154         * gst/gststructure.c:
11155           doc fixes
11156
11157         * libs/gst/controller/gstcontroller.c:
11158         (gst_controlled_property_set_interpolation_mode):
11159         * libs/gst/controller/gstcontroller.h:
11160         * libs/gst/controller/gstinterpolation.c:
11161         (interpolate_none_get_enum_value_array):
11162           support controlling enums
11163
11164 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
11165
11166         * gst/gstvalue.c:
11167           Improve documentation for gst_value_union().
11168
11169         * gst/gstvalue.h:
11170           Change return value for union, intersect and subtract functions
11171           from gint to gboolean.
11172
11173 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
11174
11175         * gst/gstvalue.c: (gst_value_serialize_any_list),
11176         (gst_value_transform_any_list_string),
11177         (gst_value_deserialize_list), (gst_value_deserialize_array),
11178         (gst_value_set_int_range), (gst_value_deserialize_int_range),
11179         (gst_value_set_double_range), (gst_value_deserialize_double_range),
11180         (gst_value_set_fraction_range_full),
11181         (gst_value_deserialize_fraction_range),
11182         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
11183         (gst_value_deserialize_boolean),
11184         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
11185         (gst_value_serialize_float), (gst_value_deserialize_float),
11186         (gst_string_wrap), (gst_value_deserialize_string),
11187         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
11188         (gst_value_union_int_range_int_range),
11189         (gst_value_intersect_int_range_int_range),
11190         (gst_value_intersect_double_range_double_range),
11191         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
11192         (gst_value_subtract_int_range_int_range),
11193         (gst_value_subtract_double_double_range),
11194         (gst_value_subtract_double_range_double_range),
11195         (gst_value_deserialize_fraction):
11196         * gst/gstvalue.h:
11197           Use gint, gdouble and gchar in our API instead of int, double and
11198           char (and make usage in gstvalue.c more consistent).
11199
11200 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
11201
11202         * check/Makefile.am:
11203         * libs/gst/controller/Makefile.am:
11204         * libs/gst/dataprotocol/Makefile.am:
11205           fix up Makefile.am and remove GST_ENABLE_NEW
11206
11207 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
11208
11209         * configure.ac:
11210         * gst/Makefile.am:
11211         * gst/base/Makefile.am:
11212         * gst/check/Makefile.am:
11213         * gst/elements/Makefile.am:
11214         * gst/net/Makefile.am:
11215           update LDFLAGS use some more
11216
11217 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
11218
11219         * common/m4/gst-doc.m4:
11220           Fixes #312589
11221
11222 2005-11-26  Edward Hervey  <edward@fluendo.com>
11223
11224         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
11225         This shouldn't issue a g_warning since it returns NULL if it
11226         couldn't find the plugin, and all functions using this behave
11227         properly on a NULL return. Switching to a GST_WARNING.
11228
11229 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
11230
11231         * gst/gstbin.c: (gst_bin_handle_message_func):
11232         Don't leak clock messages.
11233
11234 2005-11-25  Wim Taymans  <wim@fluendo.com>
11235
11236         * gst/gstutils.c: (gst_util_uint64_scale_int64),
11237         (gst_util_uint64_scale_int):
11238         Optimisations, remove unneeded vars.
11239
11240 2005-11-25  Wim Taymans  <wim@fluendo.com>
11241
11242         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
11243         Added more checks for the high precision uint64 cases.
11244
11245         * gst/gstutils.c: (gst_util_uint64_scale_int64),
11246         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
11247         Implement high precision (guint64 * guint64) / guint64.
11248
11249 2005-11-24  Wim Taymans  <wim@fluendo.com>
11250
11251         * gst/base/gstbasesrc.c: (gst_base_src_query):
11252         Fix wrong percentage query.
11253
11254         * gst/gstutils.c: (gst_util_uint64_scale),
11255         (gst_util_uint64_scale_int):
11256         Add some more common cases that can be handled 
11257         efficiently to _scale.
11258
11259 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
11260
11261         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
11262         (gst_mini_object_suite):
11263           don't use check calls from threads; check probably isn't
11264           threadsafe and using a lock to make it threadsafe would
11265           defeat the purpose of this check
11266         * gst/check/gstcheck.c:
11267         * gst/check/gstcheck.h:
11268           use GST_DEBUG some more
11269
11270 2005-11-24  Wim Taymans  <wim@fluendo.com>
11271
11272         * gst/gstutils.c: (gst_util_uint64_scale),
11273         (gst_util_uint64_scale_int):
11274         Chain trivial case to _scale_int.
11275
11276 2005-11-24  Wim Taymans  <wim@fluendo.com>
11277
11278         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
11279         Added test for scaling.
11280
11281         * gst/gstclock.h:
11282         Small doc fix.
11283
11284         * gst/gstutils.c: (gst_util_uint64_scale_int):
11285         Implemented high precision scaling code.
11286
11287 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
11288
11289         * gst/gstinfo.h:
11290           do not crash on pad==NULL
11291
11292 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
11293
11294         Patch by: Stefan Kost
11295
11296         * common/gtk-doc.mak:
11297         * docs/gst/Makefile.am:
11298         * docs/libs/Makefile.am:
11299           Fix distcheck issues for the libraries docs build
11300           Closes #319599.
11301
11302 2005-11-24  Michael Smith <msmith@fluendo.com>
11303
11304         * docs/manual/basics-helloworld.xml:
11305           Fix bug #315027: memory leak in example code in docs.
11306
11307 2005-11-24  Michael Smith <msmith@fluendo.com>
11308
11309         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
11310           Unlock the PREROLL_LOCK in a failure case.
11311
11312 2005-11-24  Wim Taymans  <wim@fluendo.com>
11313
11314         * docs/gst/gstreamer-sections.txt:
11315         * gst/base/gstadapter.h:
11316         * gst/base/gstbasesink.h:
11317         * gst/base/gstbasesrc.h:
11318         * gst/base/gstbasetransform.h:
11319         * gst/base/gstpushsrc.h:
11320         * gst/elements/gstfakesink.h:
11321         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
11322         * gst/elements/gstfakesrc.h:
11323         * gst/elements/gstfilesink.h:
11324         * gst/elements/gstfilesrc.h:
11325         * gst/gst.c:
11326         * gst/gstbin.c:
11327         * gst/gstbuffer.c: (_gst_buffer_copy):
11328         * gst/gstbus.h:
11329         * gst/gstcaps.c:
11330         * gst/gstchildproxy.c:
11331         * gst/gstclock.c:
11332         * gst/gstelement.c:
11333         * gst/gstelementfactory.c:
11334         * gst/gstelementfactory.h:
11335         * gst/gstevent.c:
11336         * gst/gstghostpad.h:
11337         * gst/gstindex.h:
11338         * gst/gstinterface.h:
11339         * gst/gstminiobject.c:
11340         * gst/gstminiobject.h:
11341         * gst/gstpad.c:
11342         * gst/gstpad.h:
11343         * gst/gstpadtemplate.h:
11344         * gst/gstpipeline.h:
11345         * gst/gstpluginfeature.h:
11346         * gst/gstquery.h:
11347         * gst/gstqueue.h:
11348         * gst/gsttaglist.c:
11349         * gst/gsttaglist.h:
11350         * gst/gsttagsetter.c:
11351         * gst/gsttagsetter.h:
11352         * gst/gsttrace.c:
11353         * gst/gsttrace.h:
11354         * gst/gsttypefind.h:
11355         * gst/gsturi.h:
11356         * gst/gstvalue.c:
11357         * gst/net/gstnetclientclock.c:
11358         * gst/net/gstnetclientclock.h:
11359         * gst/net/gstnettimepacket.c:
11360         * gst/net/gstnettimeprovider.c:
11361         * gst/net/gstnettimeprovider.h:
11362         Doc fixes.
11363
11364 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
11365
11366         * configure.ac: back to HEAD
11367
11368 === release 0.9.6 ===
11369
11370 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
11371
11372         * configure.ac:
11373           releasing 0.9.6, "Always On Time"
11374
11375 2005-11-23  Wim Taymans  <wim@fluendo.com>
11376
11377         * docs/gst/gstreamer-sections.txt:
11378         * gst/glib-compat.c:
11379         * gst/gsttagsetter.c:
11380         * gst/gstvalue.c:
11381         * gst/net/gstnetclientclock.c:
11382         * gst/net/gstnettimepacket.h:
11383         Doc updates.
11384
11385 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
11386
11387         * docs/faq/using.xml:
11388         * docs/libs/tmpl/gstcontrol.sgml:
11389         * docs/manual/advanced-dparams.xml:
11390         * docs/manual/appendix-checklist.xml:
11391         * docs/manual/basics-elements.xml:
11392         * docs/pwg/other-source.xml:
11393         * docs/random/moving-plugins:
11394         * gst/gstpad.c:
11395         * tools/gst-launch.1.in:
11396           remove mentions of sinesrc
11397
11398 2005-11-23  Michael Smith <msmith@fluendo.com>
11399
11400         * docs/gst/gstreamer-sections.txt:
11401           Update for new API and API changes.
11402         * gst/gstobject.h:
11403           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
11404         * gst/gstvalue.c:
11405           Documentation typo fix.
11406         * gst/net/gstnettimepacket.c:
11407           Documentation fixes for arguments.
11408
11409 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
11410
11411         * gst/gststructure.c: (gst_structure_get_fraction),
11412         (gst_structure_parse_value),
11413         (gst_structure_fixate_field_nearest_fraction):
11414         * gst/gststructure.h:
11415         * gst/gstutils.c: (gst_util_uint64_scale_int):
11416         * gst/gstutils.h:
11417         * scripts/update-funcnames:
11418         API Changes. 
11419         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
11420         Make gst_structure_fixate_field_nearest_fraction take a numerator
11421         and denominator argument instead of a GValue
11422         add gst_structure_get_fraction helper function.
11423
11424 2005-11-23  Wim Taymans  <wim@fluendo.com>
11425
11426         * docs/design/part-TODO.txt:
11427         Update TODO.
11428
11429         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
11430         * gst/net/gstnetclientclock.h:
11431         Use parent fields for timeout and window_size.
11432
11433 2005-11-23  Andy Wingo  <wingo@pobox.com>
11434
11435         * check/net/gstnetclientclock.c (test_functioning): Adjust to
11436         rate_num/rate_denom change.
11437
11438         * gst/net/gstnetclientclock.c
11439         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
11440         OBJECT_LOCK. Don't call add_observation with the lock.
11441
11442         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
11443         fraction.
11444         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
11445         rate fraction.
11446         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
11447         deal with rate as a fraction whose numerator and denominator are
11448         GstClockTime values.
11449         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
11450         master; the other fields are protected by the SLAVE_LOCK.
11451         (do_linear_regression): Note that this must be called with the
11452         SLAVE_LOCK.
11453         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
11454         OBJECT_LOCK. Call set_calibration instead of touching the
11455         variables directly.
11456         (gst_clock_set_property, gst_clock_get_property): Protect
11457         master/slave parameters with the SLAVE_LOCK.
11458
11459         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
11460         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
11461         note that all of the instance variables that add_observation and
11462         the set_master functions use are protected by that lock and not
11463         the OBJECT_LOCK.
11464         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
11465
11466         * gst/gstclock.c (gst_clock_add_observation): No longer requires
11467         the caller to take the object lock.
11468
11469 2005-11-23  Wim Taymans  <wim@fluendo.com>
11470
11471         * gst/gsterror.c: (_gst_core_errors_init):
11472         * gst/gsterror.h:
11473         Add error for clock stuff.
11474
11475         * gst/gstpipeline.c: (gst_pipeline_change_state),
11476         (gst_pipeline_set_clock):
11477         Post clock error when clock cannot be used in a pipeline.
11478
11479 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
11480
11481         * docs/gst/gstreamer-sections.txt:
11482           make two symbols from gstinfo private for the docs
11483         * gst/base/gstcollectpads.h:
11484         * gst/gstutils.c:
11485           fix doc typos, update docs
11486
11487 2005-11-22  Wim Taymans  <wim@fluendo.com>
11488
11489         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
11490         (gst_base_sink_wait), (gst_base_sink_do_sync),
11491         (gst_base_sink_handle_event):
11492         * gst/base/gstbasesink.h:
11493         No need to store the clock, the parent element class already
11494         has it.
11495
11496         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
11497         Updates for clock_set returning a gboolean
11498
11499         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
11500         (gst_clock_id_wait_async), (gst_clock_class_init),
11501         (gst_clock_init), (gst_clock_finalize),
11502         (gst_clock_get_internal_time), (gst_clock_get_time),
11503         (gst_clock_slave_callback), (gst_clock_set_master),
11504         (gst_clock_get_master), (do_linear_regression),
11505         (gst_clock_add_observation), (gst_clock_set_property),
11506         (gst_clock_get_property):
11507         * gst/gstclock.h:
11508         Implement master/slave. When setting a clock as a slave, a
11509         periodic timeout is scheduled to sample master and slave times.
11510         Then the slave clock is recalibrated to match offset and rate
11511         of the master clock.
11512         Update logging a bit.
11513         Add flag so that a clock can state that is cannot be slaved to
11514         another clock.
11515
11516         * gst/gstelement.c: (gst_element_set_clock):
11517         * gst/gstelement.h:
11518         The set clock returns a gboolean for when an element cannot
11519         deal with the selected clock in the pipeline. 
11520
11521         * gst/gstpipeline.c: (gst_pipeline_change_state),
11522         (gst_pipeline_set_clock):
11523         * gst/gstpipeline.h:
11524         Handle the case where the selected clock cannot be set on
11525         the pipeline.
11526
11527         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
11528         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
11529         (gst_net_client_clock_set_property),
11530         (gst_net_client_clock_get_property),
11531         (gst_net_client_clock_observe_times):
11532         * gst/net/gstnetclientclock.h:
11533         Use regression code in GstClock parent, remove duplicated
11534         functionality.
11535
11536 2005-11-22  Michael Smith <msmith@fluendo.com>
11537
11538         * gst/gstutils.c: (gst_util_clock_time_scale):
11539         * gst/gstutils.h:
11540         * docs/gst/gstreamer-sections.txt:
11541           Rename method to have extra underscore.
11542
11543 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
11544
11545         * gst/elements/Makefile.am:
11546         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
11547         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
11548         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
11549         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
11550         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
11551         * gst/elements/gstfakesrc.h:
11552         * gst/gstqueue.c: (queue_leaky_get_type):
11553           correctly fix GEnumValues so that nick is the short lowercase
11554           dashed tag
11555         * tools/gst-inspect.c: (print_element_properties_info):
11556           also show the nick, since it's useful to use from parse_launch
11557           syntax
11558           Fixes #322139
11559
11560 2005-11-22  Michael Smith <msmith@fluendo.com>
11561
11562         * gst/gstutils.c: (gst_util_clocktime_scale):
11563         * gst/gstutils.h:
11564         * docs/gst/gstreamer-sections.txt:
11565           Add util method for scaling a clocktime by a fraction. Useful 
11566           implementation is left as an exercise for the reader.
11567
11568 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
11569
11570         * gst/gstvalue.c: (gst_value_collect_fraction_range):
11571         If needed, allocate storage in the destination value during
11572         collection.
11573
11574 2005-11-22  Edward Hervey  <edward@fluendo.com>
11575
11576         * docs/gst/gstreamer-sections.txt:
11577         * gst/Makefile.am:
11578         * gst/gst.h:
11579         * gst/gsturitype.c:
11580         * gst/gsturitype.h:
11581         * gst/gstutils.c: (gst_util_set_object_arg):
11582         * tools/gst-compprep.c: (main):
11583         * tools/gst-inspect.c: (print_element_properties_info):
11584         Removed GstURI, closes bug #321061
11585
11586 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
11587
11588         * check/gst/gststructure.c: (GST_START_TEST):
11589         * gst/gststructure.c: (gst_structure_parse_value):
11590           Oops, broke automatic string type parsing.
11591           Add a test to catch it in future.
11592
11593 2005-11-22  Andy Wingo  <wingo@pobox.com>
11594
11595         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
11596         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
11597         Actually rename the function implementations. Grr.
11598
11599 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
11600
11601         * check/gst/capslist.h:
11602           Comment test cases
11603         * check/gst/gststructure.c: (GST_START_TEST),
11604         (gst_structure_suite):
11605           Test automatic value type detection in gst_structure_from_string.
11606         * gst/gststructure.c: (gst_structure_parse_value):
11607           Add fraction as a type we try and guess automatically in
11608           caps/structure strings.
11609
11610 2005-11-22  Andy Wingo  <wingo@pobox.com>
11611
11612         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
11613
11614         * gst/gsttagsetter.h:
11615         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
11616         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
11617         (gst_tag_setter_add_tag_valist)
11618         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
11619         _add_values, _add_valist, and _add_valist_values. Since this is an
11620         interface the function suffixes should be more explicit so
11621         language binding don't end up with element.add_valist ->
11622         gst_tag_setter_add_valist, for example. Fixes #322069.
11623
11624 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
11625
11626         * check/gst/gstcaps.c: (GST_START_TEST):
11627           Extend caps string tests to check that a caps to string
11628           conversion is reversible and produces the same caps.
11629
11630         * gst/gststructure.c: (gst_structure_value_get_generic_type):
11631           Output "fraction" as the generic type fraction range, so caps
11632           serialisation and deserialisation works.
11633         * check/gst/capslist.h:
11634         * gst/gstvalue.c: (gst_value_deserialize_fraction):
11635           Support 'MIN' and 'MAX' for deserialising fractions.
11636
11637 2005-11-22  Andy Wingo  <wingo@pobox.com>
11638
11639         * gst/gstevent.h (gst_event_new_new_segment)
11640         (gst_event_parse_new_segment, gst_event_new_buffer_size)
11641         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
11642         Renamed from *_newsegment, *_buffersize, *_notarget.
11643
11644         * scripts/update-funcnames: New script, performs the changes
11645         listed above.
11646
11647 2005-11-22  Wim Taymans  <wim@fluendo.com>
11648
11649         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
11650         Make sure the GstFlowReturn is returned.
11651
11652         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
11653         (gst_bus_add_signal_watch):
11654         * gst/gstbus.h:
11655         add gst_bus_add_signal_watch_full.
11656
11657         * gst/gstplugin.c: (gst_plugin_load_file):
11658         Small style cleanup.
11659
11660 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
11661
11662         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
11663           Block the fakesrc srcpad when we send an event, to avoid
11664           contention on the stream_lock causing random test failures.
11665
11666 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
11667
11668         * check/gst/gstvalue.c: (GST_START_TEST):
11669         * gst/gstvalue.c: (gst_value_fraction_subtract):
11670           Fix subtraction.
11671
11672 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
11673
11674         * gst/gst.h:
11675           include "gstchildproxy.h"
11676         * gst/gstchildproxy.h:
11677         * libs/gst/controller/gstcontroller.h:
11678           use G_GNUC_NULL_TERMINATED
11679
11680 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
11681
11682         * check/gst/capslist.h:
11683         * check/gst/gstcaps.c: (GST_START_TEST):
11684         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
11685         * gst/gststructure.c: (gst_structure_parse_range),
11686         (gst_structure_fixate_field_nearest_fraction):
11687         * gst/gststructure.h:
11688         * gst/gstvalue.c: (gst_value_init_fraction_range),
11689         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
11690         (gst_value_collect_fraction_range),
11691         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
11692         (gst_value_set_fraction_range_full),
11693         (gst_value_get_fraction_range_min),
11694         (gst_value_get_fraction_range_max),
11695         (gst_value_serialize_fraction_range),
11696         (gst_value_transform_fraction_range_string),
11697         (gst_value_compare_fraction_range),
11698         (gst_value_deserialize_fraction_range),
11699         (gst_value_intersect_fraction_fraction_range),
11700         (gst_value_intersect_fraction_range_fraction_range),
11701         (gst_value_subtract_fraction_fraction_range),
11702         (gst_value_subtract_fraction_range_fraction),
11703         (gst_value_subtract_fraction_range_fraction_range),
11704         (gst_value_collect_fraction), (gst_value_fraction_multiply),
11705         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
11706         (gst_value_transform_string_fraction), (_gst_value_initialize):
11707         * gst/gstvalue.h:
11708           Implement fraction ranges and extend GstFraction to support
11709           arithmetic subtraction, as well as deserialization from integer
11710           strings such as "100"
11711           Add a testsuite as for int and double range set operations
11712
11713 2005-11-21  Andy Wingo  <wingo@pobox.com>
11714
11715         * gst/gsttaglist.h: 
11716         * gst/gstcaps.h: 
11717         * gst/gststructure.h: Add glib-compat.h.
11718
11719 2005-11-21  Wim Taymans  <wim@fluendo.com>
11720
11721         * gst/gstbin.c: (gst_bin_change_state_func):
11722         Fix for #321595
11723
11724 2005-11-21  Wim Taymans  <wim@fluendo.com>
11725
11726         * gst/gstsegment.h:
11727         And add a nice define too.
11728
11729 2005-11-21  Wim Taymans  <wim@fluendo.com>
11730
11731         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
11732         (gst_segment_new), (gst_segment_free), (gst_segment_init),
11733         (gst_segment_set_duration), (gst_segment_set_last_stop),
11734         (gst_segment_set_seek), (gst_segment_set_newsegment),
11735         (gst_segment_to_stream_time), (gst_segment_to_running_time),
11736         (gst_segment_clip):
11737         * gst/gstsegment.h:
11738         Make binding friendly.
11739
11740 2005-11-21  Andy Wingo  <wingo@pobox.com>
11741
11742         * gst/gsttagsetter.h: 
11743         * gst/gsttaglist.h: 
11744         * gst/gststructure.h: 
11745         * gst/gstcaps.h: 
11746         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
11747         #319940.
11748
11749         * gst/gsterror.c (_gst_core_errors_init):
11750         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
11751         category.
11752
11753         * gst/Makefile.am (gst_headers): Add glib-compat.h.
11754         (noinst_HEADERS): noinst the -private.
11755
11756 2005-11-21  Michael Smith <msmith@fluendo.com>
11757
11758         * gst/gstplugin.h:
11759         * gst/gstregistry.h:
11760           Remove unimplemented declarations for which we can see no sensible
11761           use.
11762
11763 2005-11-21  Andy Wingo  <wingo@pobox.com>
11764
11765         * gst/gst.h: Include glib-compat.h.
11766
11767         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
11768
11769         * gst/glib-compat.c: Include the public and the private header.
11770
11771         * gst/glib-compat-private.h: Copied here from glib-compat.h.
11772
11773         * gst/gstvalue.c: 
11774         * gst/gstpad.c: 
11775         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
11776
11777         * check/gst/gstevent.c (create_custom_events): Check that
11778         FLUSH_STOP is serialized.
11779
11780         * check/elements/identity.c (event_func): 
11781         * check/elements/fakesrc.c (event_func): No stream lock, the core
11782         takes it.
11783
11784         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
11785         stream lock taking, yay.
11786
11787         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
11788         ensure that core takes the stream lock.
11789
11790         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
11791         lock name change.
11792
11793         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
11794         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
11795         it already. For the flush start we do take it though so we get the
11796         right preroll state change messages.
11797
11798         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
11799         the stream lock here, the core does it for us.
11800
11801         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
11802         GST_STREAM_GET_LOCK.
11803         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
11804         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
11805         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
11806         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
11807         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
11808         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
11809
11810         * gst/gstpad.c: Update for stream lock name change.
11811
11812         * gst/base/gstbasesink.c: Update for preroll lock name change.
11813
11814 2005-11-21  Wim Taymans  <wim@fluendo.com>
11815
11816         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
11817         (gst_clock_get_master):
11818         * gst/gstclock.h:
11819         * gst/gstsystemclock.c: (gst_system_clock_init):
11820         Convert Clock flags to object flags.
11821         Added methods to manage master/slave clocks.
11822
11823 2005-11-21  Wim Taymans  <wim@fluendo.com>
11824
11825         * check/gst/gstsegment.c: (GST_START_TEST):
11826         * docs/design/part-TODO.txt:
11827         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
11828         (gst_base_sink_event), (gst_base_sink_do_sync),
11829         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
11830         (gst_base_sink_query), (gst_base_sink_change_state):
11831         * gst/base/gstbasesink.h:
11832         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
11833         (gst_base_src_default_newsegment),
11834         (gst_base_src_configure_segment), (gst_base_src_do_seek),
11835         (gst_base_src_get_range), (gst_base_src_loop),
11836         (gst_base_src_change_state):
11837         * gst/base/gstbasesrc.h:
11838         * gst/base/gstbasetransform.c:
11839         (gst_base_transform_prepare_output_buf),
11840         (gst_base_transform_event), (gst_base_transform_change_state):
11841         * gst/base/gstbasetransform.h:
11842         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
11843         (gst_collect_pads_event):
11844         * gst/base/gstcollectpads.h:
11845         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
11846         (gst_fake_src_create):
11847         * gst/elements/gstfakesrc.h:
11848         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
11849         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
11850         (gst_segment_set_last_stop), (gst_segment_set_seek),
11851         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
11852         (gst_segment_to_running_time), (gst_segment_clip):
11853         * gst/gstsegment.h:
11854         More segment updates, replace code in plugins with segment
11855         helper functions.
11856
11857 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
11858
11859         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
11860         Don't ignore sscanf results
11861
11862 2005-11-21  Andy Wingo  <wingo@pobox.com>
11863
11864         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
11865
11866         * *.h:
11867         * *.c: Ran scripts/update-macros. Oh yes.
11868
11869         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
11870         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
11871         GST_GET_LOCK, etc.
11872
11873         * scripts/update-macros: New script. Run it on your files to
11874         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
11875         well.
11876
11877 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
11878
11879         * docs/gst/Makefile.am:
11880         * docs/gst/gstreamer-docs.sgml:
11881         * docs/gst/gstreamer-sections.txt:
11882         * docs/gst/gstreamer.types:
11883         * gst/gstinfo.h:
11884           more docs fixes, add new api to the docs
11885
11886 2005-11-21  Andy Wingo  <wingo@pobox.com>
11887
11888         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
11889         state_broadcast call.
11890
11891         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
11892
11893 2005-11-21  Julien MOUTTE  <julien@moutte.net>
11894
11895         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
11896         function calls for arrays.
11897
11898 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
11899
11900         * docs/random/ensonic/media-device-daemon.txt:
11901           wild idea, can this be done?
11902         * docs/gst/gstreamer-sections.txt:
11903         * gst/gsterror.h:
11904         * gst/gstfilter.c:
11905         * gst/gstfilter.h:
11906         * gst/gstplugin.h:
11907         * gst/gstpluginfeature.c:
11908         * gst/gsttrace.c:
11909         * gst/gstvalue.c:
11910         * gst/gstvalue.h:
11911           doc fixes and additions
11912
11913 2005-11-21  Andy Wingo  <wingo@pobox.com>
11914
11915         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
11916         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
11917         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
11918         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
11919         private to the basesrc implementation.
11920
11921         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
11922         behalf of event function if necessary. It should no longer be
11923         necessary to take the stream lock in pad's event functions. Fixes
11924         #320299.
11925
11926 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
11927         * docs/gst/gstreamer-sections.txt:
11928         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
11929         (gst_structure_fixate_field_nearest_double),
11930         (gst_structure_fixate_field_boolean):
11931         * gst/gststructure.h:
11932         * win32/common/libgstreamer.def:
11933         * win32/gstreamer.def:
11934
11935         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
11936         (#322027)
11937
11938 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
11939
11940         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
11941         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
11942         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
11943         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
11944         (gst_fdsrc_uri_handler_init):
11945         * gst/elements/gstfdsrc.h:
11946           Port fd:// URI handler from 0.8 to fdsrc
11947
11948 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
11949
11950         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
11951         (gst_value_serialize_fourcc):
11952         * gst/gstvalue.h:
11953           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
11954           consistent with our other format defines (#320324).
11955
11956 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
11957
11958         * gst/gstvalue.c: (gst_value_is_fixed):
11959           Revert previous commit. Value lists are by definition
11960           not fixed, as they are a list of possible values.
11961
11962 2005-11-21  Andy Wingo  <wingo@pobox.com>
11963
11964         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
11965         during the stable series if we need it. Fixes #319178.
11966
11967         * gst/gstevent.c (gst_event_new_filler): Removed.
11968
11969         * check/gst/gstevent.c: Update comment about filler events.
11970
11971 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
11972
11973         * gst/gstvalue.c: (gst_value_is_fixed):
11974           Should handle both value arrays and value lists.
11975
11976 2005-11-21  Andy Wingo  <wingo@pobox.com>
11977
11978         patch by: Alessandro Dessina <alessandro nnva org>
11979
11980         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
11981         functions to access arrays. Fixes #321962.
11982
11983 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
11984
11985         * docs/gst/gstreamer.types:
11986           gst_collectpads_get_type => gst_collect_pads_get_type.
11987           
11988         * gst/base/gstbasetransform.c:
11989           Remove unused SIGNAL_HANDOFF enum.
11990
11991 2005-11-21  Andy Wingo  <wingo@pobox.com>
11992
11993         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
11994         the event type (upstream, downstream, serialized). Renamed
11995         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
11996         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
11997         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
11998
11999         * gst/gstevent.c: Update for new CUSTOM event names.
12000
12001         * check/gst/gstevent.c: Update check for new CUSTOM event names.
12002
12003         * gst/gstevent.h:
12004         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
12005         bug #319392.
12006
12007 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
12008
12009         * docs/gst/gstreamer-sections.txt:
12010         * win32/common/libgstbase.def:
12011         * win32/libgstbase.def:
12012         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
12013         (gst_collect_pads_class_init), (gst_collect_pads_init),
12014         (gst_collect_pads_finalize), (gst_collect_pads_new),
12015         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
12016         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
12017         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
12018         (gst_collect_pads_start), (gst_collect_pads_stop),
12019         (gst_collect_pads_peek), (gst_collect_pads_pop),
12020         (gst_collect_pads_available), (gst_collect_pads_read),
12021         (gst_collect_pads_flush), (gst_collect_pads_event),
12022         (gst_collect_pads_chain):
12023         * gst/base/gstcollectpads.h:
12024           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
12025           unimplemented functions as unimplemented. Add padding to
12026           GstCollectData. (#320766, #320423)
12027
12028 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
12029
12030         * gst/gstmessage.c:
12031           Improve docs for DURATION message (usage of duration parameter)
12032           (#320113)
12033
12034 2005-11-20  Wim Taymans  <wim@fluendo.com>
12035
12036         * check/Makefile.am:
12037         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
12038         (main):
12039         * gst/Makefile.am:
12040         * gst/gst.h:
12041         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
12042         (gst_segment_set_seek), (gst_segment_set_newsegment),
12043         (gst_segment_to_stream_time), (gst_segment_to_running_time),
12044         (gst_segment_clip):
12045         * gst/gstsegment.h:
12046         Added segment helper structure and methods. Not fully implemented
12047         yet.
12048         Added segment check.
12049
12050 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
12051
12052         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
12053           Add a deserialisation test for fractions
12054         * examples/metadata/read-metadata.c: (message_loop),
12055         (make_pipeline), (main):
12056           Fix up metadata reading sample.
12057         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
12058           Debug format fix
12059         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
12060           Don't try and fixate empty caps
12061         * gst/gst_private.h:
12062           Wrap in G_BEGIN_DECLS/G_END_DECLS
12063         * gst/gstvalue.c: (gst_value_collect_fraction),
12064         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
12065         (gst_value_transform_string_fraction),
12066         (gst_value_compare_fraction):
12067           Add some extra guards to ensure that we don't end up 
12068           with an invalid denominator of 0 in a gstfraction and
12069           that fractions always get reduced.
12070
12071 2005-11-20  Wim Taymans  <wim@fluendo.com>
12072
12073         * docs/gst/gstreamer-sections.txt:
12074         * gst/gstbuffer.h:
12075         * gst/gstelement.c:
12076         * gst/gstformat.c:
12077         * gst/gstformat.h:
12078         * gst/gstindex.h:
12079         * gst/gstquery.c:
12080         * gst/gstquery.h:
12081         * gst/gstvalue.c:
12082         Doc fixes.
12083
12084 2005-11-20  Wim Taymans  <wim@fluendo.com>
12085
12086         * docs/design/part-TODO.txt:
12087         * gst/gstcaps.h:
12088         Make a proper enum of the flag.
12089
12090 2005-11-19  Wim Taymans  <wim@fluendo.com>
12091
12092         * docs/design/part-TODO.txt:
12093         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
12094         (gst_format_to_quark), (gst_format_register):
12095         * gst/gstformat.h:
12096         * gst/gstquery.c: (_gst_query_initialize),
12097         (gst_query_type_get_name), (gst_query_type_to_quark),
12098         (gst_query_type_register):
12099         * gst/gstquery.h:
12100         Add type to quark and type to string conversions.
12101
12102 2005-11-19  Andy Wingo  <wingo@pobox.com>
12103
12104         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
12105         #320097.
12106
12107 2005-11-19  Wim Taymans  <wim@fluendo.com>
12108
12109         * docs/design/part-TODO.txt:
12110         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
12111         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
12112         (gst_bin_handle_message_func):
12113         * gst/gstbin.h:
12114         Make message handling overridable.
12115
12116 2005-11-19  Andy Wingo  <wingo@pobox.com>
12117
12118         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
12119
12120         * gst/gstclock.h:
12121         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
12122         be a GstClockTime.
12123         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
12124         is a GstClockTime. Fixes #321710.
12125
12126         * gst/gstclock.h (GstClock): Remove offset property. Add
12127         internal_calibration and external_calibration. Fix padding. Pad
12128         also by GstClockTime so we don't run into problems.
12129
12130         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
12131         (gst_clock_get_rate_offset): Remove.
12132         (gst_clock_set_time_adjust): Remove. Fixes #321712.
12133
12134         * gst/gstutils.h:
12135         * gst/gstutils.c (g_static_rec_cond_wait)
12136         (g_static_rec_cond_timed_wait): Removed, no longer needed.
12137
12138         * gst/gstbin.c: Remove terrible continue_state prototype.
12139
12140         * gst/gstelement.h (gst_element_continue_state): Make public.
12141
12142         * gst/gstelement.h:
12143         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
12144         by continue_state. Fixes #319389.
12145
12146         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
12147         Really fixes #168438. However I don't see anywhere where the
12148         filter function is called... stupid GStreamer...
12149         
12150         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
12151         don't have a dispose function, so it won't get called when the
12152         object is unreffed, but oh well!
12153
12154         * gst/gstindex.c (gst_index_set_filter_full): New API function,
12155         allows a destroy function to be set so user_data can be freed.
12156         Fixes #168438.
12157         (gst_index_set_filter): Call gst_index_set_filter_full.
12158
12159         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
12160
12161         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
12162         string should produce an error, given the lack of a way to
12163         represent NULL strings. Fixes #165650.
12164         
12165         * gst/gstvalue.h: 
12166         * gst/gstvalue.c (gst_value_array_append_value) 
12167         (gst_value_array_prepend_value, gst_value_array_get_size) 
12168         (gst_value_array_get_value): New API, copied from
12169         gst_value_list_*, only operates on arrays.
12170         (gst_value_list_append_value, gst_value_list_prepend_value) 
12171         (gst_value_list_concat, gst_value_list_get_size) 
12172         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
12173
12174         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
12175         init_list, because it works on both.
12176         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
12177         (gst_value_copy_list_or_array): Renamed from copy_list.
12178         (gst_value_free_list_or_array): Renamed from free_list.
12179         (gst_value_collect_list_or_array): Renamed from collect_list.
12180         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
12181         (gst_value_list_or_array_peek_pointer): Renamed from
12182         list_peek_pointer.
12183         (_gst_value_array_value_table, _gst_value_list_value_table):
12184         Update value table functions.
12185         (gst_value_compare_list_or_array): Renamed from compare_list.
12186
12187         * gsttaglist.h: Whoops, foreach function returns void. Also fix
12188         some constness.
12189
12190         * gst/gsttaglist.c:
12191         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
12192         GstTagList*. Fixes #143472.
12193
12194         * gst/gststructure.h: Clarify what the foreach/map functions can
12195         or can't do to their arguments.
12196
12197 2005-11-18  Wim Taymans  <wim@fluendo.com>
12198
12199         * gst/gstclock.c: (gst_clock_set_calibration),
12200         (gst_clock_get_calibration):
12201         Doc and API fixes.
12202         Calibration can be set with internal time equal to current
12203         internal time too.
12204
12205 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
12206
12207         * gst/gsterror.c:
12208         * gst/gsterror.h:
12209           document
12210
12211 2005-11-18  Andy Wingo  <wingo@pobox.com>
12212
12213         * configure.ac: 
12214         * pkgconfig/gstreamer-net.pc.in:
12215         * pkgconfig/gstreamer-net-uninstalled.pc.in:
12216         * pkgconfig/Makefile.am: Add net pkgconfig files.
12217
12218 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
12219
12220         * gst/gstcaps.c:
12221         * gst/gstghostpad.c:
12222         * gst/gsttrace.c:
12223         * gst/gstvalue.c:
12224         * gst/gstvalue.h:
12225           docs fixes
12226
12227 2005-11-18  Andy Wingo  <wingo@pobox.com>
12228
12229         * gst/net/gstnetclientclock.c: Turn off debugging.
12230
12231         * check/net/gstnetclientclock.c (test_functioning): Assert that the
12232         times connverge somewhat. Can't make a real test.
12233
12234         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
12235         integer arithmetic. Return the minimum of the domain, which can be
12236         set as "internal" for gst_clock_set_calibration.
12237         (gst_net_client_clock_observe_times): Call _set_calibration.
12238         (gst_net_client_clock_new): Call _set_calibration instead of
12239         rate_offset.
12240
12241         * check/net/gstnetclientclock.c (test_functioning): Use the right
12242         adjustment api.
12243
12244         * gst/gstclock.h:
12245         * gst/gstclock.c (gst_clock_get_calibration) 
12246         (gst_clock_set_calibration): New functions, obsolete the ones I
12247         added yesterday. Doh. Precision issues mean we have to extrapolate
12248         from a point in the more recent past than 1970.
12249         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
12250         obsolete.
12251         (gst_clock_adjust_unlocked): Use the right calibration data.
12252
12253 2005-11-18  Edward Hervey  <edward@fluendo.com>
12254
12255         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
12256         Also reset the ->current_* values in READY->PAUSED
12257
12258 2005-11-18  Andy Wingo  <wingo@pobox.com>
12259
12260         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
12261         Whoops, check the right fd. Also add some debugging.
12262         (gst_net_client_clock_observe_times): Adjust for int64 offset.
12263         (do_linear_regression): Add a crapload of debugging. Subtract off
12264         the minimum values from the input series to discard unneeded bits.
12265         Use only int arithmetic. There is still double arithmetic when
12266         calculating the intercept that needs fixing. Return boolean to
12267         indicate success; FALSE would mean the domain or range is too
12268         great. Still needs fixes.
12269
12270 2005-11-18  Wim Taymans  <wim@fluendo.com>
12271
12272         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
12273         For the current position in stream time, we need to subtract
12274         accumulated time.
12275         
12276         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
12277         Release lock before calling the callback function of async
12278         entries.
12279
12280 2005-11-18  Andy Wingo  <wingo@pobox.com>
12281
12282         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
12283         Port goes all the way to MAXUINT16.
12284
12285         * gst/net/gstnettimeprovider.c: Make the port range the same as
12286         for the kernel: 0 assigns, otherwise ports are less than
12287         MAXUINT16.
12288
12289         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
12290         port change.
12291
12292         * check/net/gstnetclientclock.c (test_functioning): Add the start
12293         of another test. 
12294
12295 2005-11-18  Wim Taymans  <wim@fluendo.com>
12296
12297         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
12298         (gst_bin_remove_func), (bin_bus_handler):
12299         * gst/gstbin.h:
12300         Removing a clock provider from a bin, triggers a clock lost message
12301         so that a new clock will be selected.
12302         Adding a clock to a bin triggers a clock provider message.
12303         Make sure we reselect a clock when we received a clock lost message.
12304         Keep a reference to the element that provided the clock.
12305
12306 2005-11-18  Andy Wingo  <wingo@pobox.com>
12307
12308         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
12309         the clock initially so it produces values around the base time.
12310         (gst_net_client_clock_class_init): Typo fix.
12311         (gst_net_client_clock_thread): Add note on when the socket gets
12312         closed.
12313
12314 2005-11-17  Wim Taymans  <wim@fluendo.com>
12315
12316         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
12317         Free remote and local time arrays.
12318
12319 2005-11-17  Wim Taymans  <wim@fluendo.com>
12320
12321         * gst/net/gstnetclientclock.c: (do_linear_regression),
12322         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
12323         Fix compilation, uninitialized vars and a forgotten continue.
12324
12325 2005-11-17  Andy Wingo  <wingo@pobox.com>
12326
12327         * check/Makefile.am (check_PROGRAMS): 
12328         * check/net/gstnetclientclock.c: Add a most minimal test for the
12329         net client clock. More to come later.
12330
12331         * gst/net/gstnet.h: 
12332         * gst/net/Makefile.am: Add netclientclock.
12333
12334         * gst/net/gstnetclientclock.h:
12335         * gst/net/gstnetclientclock.c: New files, implement an untested
12336         GstClock that takes its time from a network time provider.
12337         Implements the algorithm in network-clock.scm.
12338
12339         * tests/network-clock.scm (*window-size*): Rename from
12340         *queue-length*.
12341         * tests/network-clock.scm (network-time): 
12342         * tests/network-clock-utils.scm (q-push): Update callers.
12343
12344 2005-11-17  Wim Taymans  <wim@fluendo.com>
12345
12346         * gst/gstbin.c: (gst_bin_provide_clock_func),
12347         (gst_bin_sort_iterator_new):
12348         And unref the child too..
12349
12350 2005-11-17  Wim Taymans  <wim@fluendo.com>
12351
12352         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
12353         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
12354         Refactor the sort iterator so it can be used while holding the
12355         LOCK too.
12356         Make clock selection select a clock closest to the source.
12357
12358 2005-11-17  Michael Smith <msmith@fluendo.com>
12359
12360         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
12361         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
12362         * gst/gstclock.h:
12363           Anonymous structs are a gcc (and some other compilers) extension, so
12364           don't use them. Since this is only for ABI-compatibility, and our
12365           API/ABI freeze is over in a few days, this whole thing will only
12366           last a few days, so don't bother trying to think up a meaningful
12367           name for the struct.
12368
12369 2005-11-17  Andy Wingo  <wingo@pobox.com>
12370
12371         * gst/gstclock.h (GstClock): Add rate and offset properties,
12372         preserving ABI stability. Add rate/offset accessors. Will file bug
12373         for the freeze break.
12374
12375         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
12376         and offset, trying to keep precision and avoiding
12377         underflow/overflow.
12378         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
12379         functions. Make gst_clock_set_time_adjust obsolete.
12380         (gst_clock_set_time_adjust): Note that this function is obsolete.
12381         Will file bug soon.
12382
12383         * gst/base/gstbasetransform.h: Make the ABI-stability hack
12384         greppable by using GST_PADDING-1+1.
12385
12386 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
12387
12388         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
12389
12390         * gst/gstmessage.c: (gst_message_parse_clock_lost):
12391           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
12392
12393         * gst/gstpadtemplate.h:
12394         * gst/gstpluginfeature.h:
12395           Don't use c++ style comments in headers (#321638).
12396
12397 2005-11-16  Andy Wingo  <wingo@pobox.com>
12398
12399         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
12400         buffer.
12401
12402         * check/net/gstnettimeprovider.c: Check to see that the time
12403         provider actually provides times. Works, yo!
12404
12405 2005-11-16  Wim Taymans  <wim@fluendo.com>
12406
12407         * check/Makefile.am:
12408         Enable more tests.
12409
12410         * check/elements/fakesrc.c: (GST_START_TEST):
12411         Set element to NULL before disposing it.
12412
12413 2005-11-16  Andy Wingo  <wingo@pobox.com>
12414
12415         * gst/net/Makefile.am:
12416         * gst/net/gstnet.h:
12417         * gst/net/gstnettimeprovider.c: 
12418         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
12419         provider, include it from gstnet.h, and add it to the build.
12420
12421         * gst/net/gstnettimepacket.h: 
12422         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
12423         sending and receiving.
12424
12425 2005-11-16  Wim Taymans  <wim@fluendo.com>
12426
12427         * check/Makefile.am:
12428         Enable valgrind check.
12429
12430         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
12431         (gst_fake_src_alloc_buffer):
12432         Fix memleak.
12433
12434 2005-11-16  Wim Taymans  <wim@fluendo.com>
12435
12436         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
12437         Call parent finalize too.
12438
12439 2005-11-16  Wim Taymans  <wim@fluendo.com>
12440
12441         * check/Makefile.am:
12442         Enable valgrind check that should work fine now.
12443
12444         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
12445         * gst/gstqueue.c: (gst_queue_init):
12446         Fix memleaks in pad allocation.
12447
12448 2005-11-16  Andy Wingo  <wingo@pobox.com>
12449
12450         * gst/net/Makefile.am:
12451         * gst/net/gstnet.h: New part of core to hold network elements and
12452         objects. Put in core because it exposes API that applications want
12453         to use. The library is named libgstnet-tempname right now because
12454         of the existing libgstnet in gst-plugins-base. Solution is
12455         probably to rename the one in plugins-base; will file a bug for
12456         the freeze break.
12457
12458         * gst/net/gstnettimeprovider.c: 
12459         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
12460         get_time call over the network.
12461
12462         * configure.ac: 
12463         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
12464
12465         * check/Makefile.am:
12466         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
12467         get additions shortly.
12468
12469 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
12470
12471         * gst/gstpad.c: (gst_pad_new_from_static_template):
12472         * gst/gstpad.h:
12473           add gst_pad_new_from_static_template functions
12474         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
12475         (gst_check_setup_sink_pad):
12476         * gst/elements/gsttee.c: (gst_tee_init):
12477           and use them
12478
12479 2005-11-16  Wim Taymans  <wim@fluendo.com>
12480
12481         * gst/gstpad.c: (gst_pad_pause_task):
12482         Removed warning, it's not really an error either.
12483
12484 2005-11-16  Wim Taymans  <wim@fluendo.com>
12485
12486         * gst/base/gstbasetransform.c:
12487         (gst_base_transform_prepare_output_buf),
12488         (gst_base_transform_event):
12489         Check if the caps are NULL, this can happen if the element
12490         is shutting down and the pad caps are set to NULL.
12491
12492 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
12493
12494         * gst/elements/gsttee.c: (gst_tee_init):
12495           fix pad template leak in tee
12496
12497 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
12498
12499         * gst/glib-compat.c: (g_value_dup_gst_object):
12500         * gst/glib-compat.h:
12501         * gst/gstpad.c: (gst_pad_set_property):
12502           use gst_object_ref when setting the pad template; this will
12503           trigger the pad template leaks on GLib 2.6 and the slaves
12504
12505 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
12506
12507         * gst/glib-compat.c: (gst_flags_get_first_value):
12508         * gst/glib-compat.h:
12509         * gst/gstregistryxml.c:
12510           remove functions copied from GLib 2.6
12511
12512 2005-11-16  Michael Smith <msmith@fluendo.com>
12513
12514         * gst/Makefile.am:
12515           Don't link against VALGRIND_LIBS. That was always the wrong thing to
12516           do, but only breaks with newer valgrind versions. We're not a
12517           valgrind tool, we have no link-time dependencies on libcoregrind.
12518
12519 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
12520
12521         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
12522           some debug changes
12523         * gst/gstmessage.h:
12524           typo fixes
12525
12526 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
12527
12528         * gst/base/gstbasesrc.c: (gst_base_src_init):
12529         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
12530         * gst/gstqueue.c: (gst_queue_init):
12531         * gst/gstregistryxml.c: (load_feature):
12532           Revert all these unrefs, they don't even pass make check !
12533
12534 2005-11-15  Johan Dahlin  <johan@gnome.org>
12535
12536         * gst/base/gstbasesrc.c: (gst_base_src_init):
12537         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
12538         * gst/gstqueue.c: (gst_queue_init): 
12539         Free pad templates, fixes a couple of leaks.
12540
12541 2005-11-15  Daniel Fischer  <dan at f3c dot com>
12542
12543         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
12544
12545         * gst/gstpad.c: (gst_pad_get_property):
12546           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
12547           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
12548           (#321452)
12549
12550 2005-11-15  Wim Taymans  <wim@fluendo.com>
12551
12552         * gst/gstevent.c:
12553         Small doc update.
12554
12555 2005-11-15  Andy Wingo  <wingo@pobox.com>
12556
12557         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
12558
12559         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
12560         using GST_CLOCK_TIME_NONE to disable base time management.
12561         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
12562         time if it was NONE before.
12563         (gst_pipeline_change_state): Only munge the base time if
12564         stream_time != GST_CLOCK_TIME_NONE.
12565
12566         * check/gst/gstpipeline.c (test_base_time): Punt around the
12567         problem of the probe not being called, because that's not the
12568         issue I'm looking at. Add a check that setting stream_time to NONE
12569         disables base time management.
12570         
12571 2005-11-15  Wim Taymans  <wim@fluendo.com>
12572
12573         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
12574         segment_stop == -1 at startup.
12575
12576         * gst/base/gstbasetransform.c: (gst_base_transform_event),
12577         (gst_base_transform_change_state):
12578         Init segment values at start.
12579
12580 2005-11-15  Wim Taymans  <wim@fluendo.com>
12581
12582         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
12583         0 segment values are 0 in any format.
12584
12585         * gst/base/gstbasetransform.c: (gst_base_transform_event):
12586         * gst/base/gstbasetransform.h:
12587         Parse newsegment correctly in basetransform
12588
12589         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
12590         Sync to clock using updated segment values.
12591
12592 2005-11-15  Andy Wingo  <wingo@pobox.com>
12593
12594         * check/gst/gstpipeline.c (test_base_time): Add check that the
12595         base time and stream time are reset correctly.
12596
12597 2005-11-15  Wim Taymans  <wim@fluendo.com>
12598
12599         * docs/design/part-TODO.txt:
12600         Some more TODO items.
12601
12602 2005-11-15  Andy Wingo  <wingo@pobox.com>
12603
12604         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
12605         error if the user selected "no clock" as the clocking method.
12606
12607         * check/gst/gstpipeline.c (test_base_time): New test for buffer
12608         timestamps with live capture.
12609
12610         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
12611         is 0 but we are a live source, timestamp the buffers using the
12612         element's clock.
12613
12614 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
12615
12616         * docs/gst/gstreamer-sections.txt:
12617         * gst/gsterror.c:
12618         * gst/gstghostpad.c:
12619         * gst/gstobject.h:
12620         * gst/gstxml.c:
12621           more section docs
12622
12623 2005-11-14  Wim Taymans  <wim@fluendo.com>
12624
12625         * common/gst.supp:
12626           add suppressions from Wim's Debian machine
12627
12628 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
12629
12630         * common/gst.supp:
12631           add suppressions from Andy's AMD64 Ubuntu machine
12632
12633 2005-11-14  Andy Wingo  <wingo@pobox.com>
12634
12635         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
12636         STATE_LOCK not necessary. Fixes #311489.
12637
12638         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
12639         #305291.
12640
12641         * gst/gstindex.c (gst_index_add_object): Note in the docs that
12642         this function is not implemented.
12643
12644 2005-11-14  Julien MOUTTE  <julien@moutte.net>
12645
12646         * gst/base/gstbasetransform.c:
12647         (gst_base_transform_prepare_output_buf):
12648         Ref the source pad caps while we need them.
12649         Fixes (#321386)
12650
12651 2005-11-11  Wim Taymans  <wim@fluendo.com>
12652
12653         * docs/gst/gstreamer-sections.txt:
12654         Added some docs for GstCollectData.
12655
12656         * gst/base/gstadapter.c:
12657         Some small code example fix.
12658
12659         * gst/base/gstcollectpads.c:
12660         * gst/base/gstcollectpads.h:
12661         Document some more.
12662
12663 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
12664
12665         * configure.ac: back to HEAD
12666
12667 === release 0.9.5 ===
12668
12669 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
12670
12671         * configure.ac:
12672           releasing 0.9.5, "Bike Lunch Day"
12673
12674 2005-11-11  Wim Taymans  <wim@fluendo.com>
12675
12676         * gst/gstbuffer.c: (_gst_buffer_copy):
12677         Copy more flags.
12678
12679         * gst/gstcaps.c: (gst_caps_is_equal):
12680         Fix some docs.
12681         Make _is_equal fast in the trivial cases.
12682
12683         * gst/gstminiobject.c:
12684         * gst/gstminiobject.h:
12685         More docs. Spifify .h file.
12686
12687         * gst/gstutils.c:
12688         Small doc update.
12689
12690 2005-11-11  Wim Taymans  <wim@fluendo.com>
12691
12692         * gst/base/gstbasetransform.c:
12693         (gst_base_transform_prepare_output_buf),
12694         (gst_base_transform_handle_buffer):
12695         Small cleanups.
12696         If we're processing a buffer and need to allocate an output
12697         buffer, we cannot accept a format change. If we did get a 
12698         format change, we have to alloc a buffer ourselves of the 
12699         right size.
12700
12701 2005-11-11  Wim Taymans  <wim@fluendo.com>
12702
12703         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
12704         While checking the flag for reentrancy in the gstcaps function
12705         is nice to detect recursive invocations, it also makes it 
12706         impossible to call getcaps from multiple threads, which must be
12707         possible. So, checking for recursive calls has to go.
12708
12709 2005-11-11  Michael Smith <msmith@fluendo.com>
12710
12711         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
12712           Don't sync on buffers that fall partially outside our current
12713           segment. Prevents an assertion failure/abort playing some files.
12714
12715 2005-11-10  Andy Wingo  <wingo@pobox.com>
12716
12717         * check/gst/gstbin.c (test_message_state_changed_children): Style
12718         fix..
12719
12720         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
12721         gst_bus_poll with the signal watch. Ensures that poll and a signal
12722         watch see the same messages.
12723
12724         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
12725         a poll and a watch at the same time get the same messages.
12726
12727 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
12728
12729         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
12730         * gst/gstcaps.c: (gst_caps_intersect):
12731           Don't call gst_caps_do_simplify - it doesn't respect order of caps
12732           and it's not needed.
12733
12734 2005-11-10  Wim Taymans  <wim@fluendo.com>
12735
12736         * docs/design/part-TODO.txt:
12737         Updated todo.
12738
12739 2005-11-10  Wim Taymans  <wim@fluendo.com>
12740
12741         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
12742         * gst/base/gstbasesrc.c: (gst_base_src_wait),
12743         (gst_base_src_do_sync), (gst_base_src_get_range):
12744         Implement clock sync in base class.
12745
12746 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
12747
12748         patch by: Tim-Philipp Müller <tim at centricular dot net>
12749
12750         * gst/gststructure.c: (gst_structure_parse_field),
12751         (gst_structure_from_string):
12752           Forward-port a 0.8 patch to handle escaped spaces in structure string,
12753           so that gst_parse_launch() can deal with spaces in filtered link
12754           caps (fixes #164479)
12755         * check/gst/capslist.h:
12756         * check/gst/gststructure.c: (GST_START_TEST):
12757           add unit tests for this change
12758
12759 2005-11-10  Wim Taymans  <wim@fluendo.com>
12760
12761         * docs/gst/gstreamer-sections.txt:
12762         * gst/gstelement.c:
12763         * gst/gstelement.h:
12764         Fix docs, move some STATE macros to private.
12765
12766 2005-11-10  Wim Taymans  <wim@fluendo.com>
12767
12768         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
12769         Added check for bug #317341
12770
12771         * gst/gstbuffer.c:
12772         * gst/gstbuffer.h:
12773         Some more spiffifying.
12774
12775         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
12776         Call peer linkfunction if we are a source pad. Totally fixes
12777         #317341
12778
12779         * gst/gstpad.c:
12780         Update docs, source pads should call the peer linkfunction
12781         so they can atomically perform the pad link.
12782
12783 2005-11-09  Wim Taymans  <wim@fluendo.com>
12784
12785         * gst/gstbuffer.c:
12786         * gst/gstbuffer.h:
12787         Uber-spiffy-spiffify some more.
12788
12789 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
12790
12791         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
12792         * gst/elements/gstfilesink.c: (gst_file_sink_init):
12793         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
12794         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
12795         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
12796         * gst/gstpad.c: (gst_pad_init):
12797           Use GST_DEBUG_FUNCPTR() more extensively.
12798
12799 2005-11-09  Wim Taymans  <wim@fluendo.com>
12800
12801         * gst/gstobject.c: (gst_object_class_init):
12802         * gst/gstobject.h:
12803         Documentation fixes.
12804
12805 2005-11-09  Edward Hervey  <edward@fluendo.com>
12806
12807         * gst/gsttypefindfactory.c:
12808         Fix docs.
12809         
12810 2005-11-09  Edward Hervey  <edward@fluendo.com>
12811
12812         * gst/base/gsttypefindhelper.c:
12813         * gst/gsttypefind.c:
12814         * gst/gsttypefind.h:
12815         Fix docs.
12816
12817 2005-11-09  Wim Taymans  <wim@fluendo.com>
12818
12819         * gst/gstiterator.c:
12820         Fix revision data.
12821
12822         * gst/gsttask.c:
12823         * gst/gsttask.h:
12824         Fix docs.
12825
12826 2005-11-09  Wim Taymans  <wim@fluendo.com>
12827
12828         * gst/gstevent.h:
12829         * gst/gsturi.h:
12830         Fix docs.
12831
12832 2005-11-09  Wim Taymans  <wim@fluendo.com>
12833
12834         * docs/gst/gstreamer-sections.txt:
12835         Moved the message async delivery private lock and cond
12836         to the private section.
12837
12838         * gst/gstmessage.c:
12839         * gst/gstmessage.h:
12840         Fixed docs.
12841
12842 2005-11-09  Edward Hervey  <edward@fluendo.com>
12843
12844         * docs/gst/gstreamer-sections.txt:
12845         * gst/gsturi.c:
12846         * gst/gsturi.h:
12847         Document GstURIHandler
12848
12849 2005-11-09  Wim Taymans  <wim@fluendo.com>
12850
12851         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
12852         (gst_iterator_find_custom):
12853         * gst/gstiterator.h:
12854         Fix iterator docs.
12855
12856 2005-11-09  Wim Taymans  <wim@fluendo.com>
12857
12858         * gst/gstbin.h:
12859         Document another field.
12860
12861         * gst/gststructure.c:
12862         * gst/gststructure.h:
12863         Document.
12864
12865 2005-11-09  Wim Taymans  <wim@fluendo.com>
12866
12867         * gst/gstbin.h:
12868         Documented structs.
12869
12870 2005-11-09  Wim Taymans  <wim@fluendo.com>
12871
12872         * docs/gst/gstreamer-sections.txt:
12873         Added some new macros.
12874
12875         * gst/gstclock.c:
12876         * gst/gstclock.h:
12877         * gst/gstobject.h:
12878         Docs updates.
12879
12880 2005-11-09  Wim Taymans  <wim@fluendo.com>
12881
12882         * docs/design/part-TODO.txt:
12883         Some more items for the TODO
12884
12885         * gst/gstcaps.c:
12886         * gst/gstcaps.h:
12887         Document GstCaps.
12888
12889 2005-11-09  Andy Wingo  <wingo@pobox.com>
12890
12891         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
12892         to work on something else now tho...
12893
12894         * gst/base/gstadapter.c: More adapter docs.
12895
12896         * gst/elements/gstfilesink.c (gst_file_sink_start) 
12897         (gst_file_sink_stop): New functions, replace the state change
12898         handler.
12899         (gst_file_sink_class_init): Hook up the start and stop functions.
12900         (gst_file_sink_base_init): Don't set the state change handler any
12901         more. It was a bit ugly too, being set from here...
12902         (gst_file_sink_get_property, gst_file_sink_set_property):
12903         Cleanups...
12904         (gst_file_sink_set_location): More robust check that doesn't call
12905         GST_STATE. Ugggggg.
12906
12907 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
12908
12909         * gst/base/gstbasetransform.c: (gst_base_transform_event):
12910           Hold STREAM_LOCK while pushing newsegment or tag events as well.
12911
12912 2005-11-08  Wim Taymans  <wim@fluendo.com>
12913
12914         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
12915         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
12916         (gst_base_sink_chain), (gst_base_sink_change_state):
12917         * gst/base/gstbasesink.h:
12918         * gst/base/gstbasesrc.h:
12919         * gst/gstelement.h:
12920         * gst/gstevent.h:
12921         Avoid excessive typechecking in macros.
12922
12923         * gst/gstminiobject.c: (gst_mini_object_get_type),
12924         (gst_mini_object_init), (gst_mini_object_new),
12925         (gst_mini_object_free):
12926         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
12927         (gst_object_finalize):
12928         Remove cruft code, optimize alloc_trace.
12929
12930 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
12931
12932         * docs/faq/gst-uninstalled:
12933           fix up PS1 for systems that try to reset it
12934
12935 2005-11-07  Wim Taymans  <wim@fluendo.com>
12936
12937         * gst/base/gstbasesrc.c: (gst_base_src_init),
12938         (gst_base_src_get_range):
12939         Set the segment_end to -1 initially. Fixed typefind.
12940
12941 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
12942
12943         * gst/base/gstadapter.c:
12944           Debug category should be 'adapter', not 'GstAdapter'.
12945           
12946         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
12947         (gst_collectpads_class_init), (gst_collectpads_init),
12948         (gst_collectpads_peek), (gst_collectpads_pop),
12949         (gst_collectpads_event), (gst_collectpads_chain):
12950           Add debug category and some debugging output. Use boilerplate
12951           macros. Remove some extraneous words from docs.
12952
12953 2005-11-05  Andy Wingo  <wingo@pobox.com>
12954
12955         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
12956         macro.
12957
12958 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
12959
12960         * docs/gst/gstreamer-sections.txt:
12961         * gst/gstcaps.h:
12962         * gst/gstinfo.c:
12963         * gst/gstminiobject.h:
12964         * gst/gstobject.h:
12965         * gst/gstutils.h:
12966           more docs added
12967
12968 2005-11-04  Wim Taymans  <wim@fluendo.com>
12969
12970         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
12971         Small update to stop at the configured segment_end
12972         position.
12973
12974 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
12975
12976         * gst/gstregistry.c:
12977         * gst/gstregistry.h:
12978           added missing docs
12979
12980 2005-11-04  Edward Hervey  <edward@fluendo.com>
12981
12982         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
12983         Check if we are doing a segment seek and have arrived at the
12984         end of that segment.
12985
12986 2005-11-04  Wim Taymans  <wim@fluendo.com>
12987
12988         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
12989         Don't leak a mutex unlock in case of an error.
12990
12991         * gst/gstbus.h:
12992         Doc fixes.
12993
12994 2005-11-04  Wim Taymans  <wim@fluendo.com>
12995
12996         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
12997         (gst_bus_post):
12998         Get the context to wake up only once.
12999
13000 2005-11-03  Wim Taymans  <wim@fluendo.com>
13001
13002         * check/states/sinks.c: (GST_START_TEST):
13003         Uncomment fixed check.
13004
13005         * docs/design/part-TODO.txt:
13006         Updated TODO.
13007
13008         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
13009         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
13010         (gst_base_sink_get_position):
13011         If we are going to PLAYING, post the right pending state
13012         when we post the intermediate paused message.
13013
13014         * gst/gstelement.c: (gst_element_continue_state),
13015         (gst_element_set_state_func), (gst_element_change_state):
13016         Don't post state changes that were between the same state
13017         and were not ASYNC.
13018
13019 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
13020
13021         * docs/gst/gstreamer-sections.txt:
13022         * gst/gstcaps.h:
13023         * gst/gstinfo.c:
13024         * gst/gstminiobject.h:
13025         * gst/gstobject.h:
13026         * gst/gstutils.h:
13027           more docs and doc style fixes
13028
13029 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
13030
13031         * docs/gst/gstreamer-sections.txt:
13032         * gst/gstelement.c:
13033         * gst/gstminiobject.c:
13034         doc fixes
13035
13036 2005-11-03  Andy Wingo  <wingo@pobox.com>
13037
13038         * check/states/sinks.c (test_livesrc_sink): Add checks that the
13039         state-changed messages actually have the right order and the right
13040         values.
13041
13042 2005-11-03  Wim Taymans  <wim@fluendo.com>
13043
13044         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
13045         Added some more checks. Specifically the case where NO_PREROLL
13046         elements are in the pipeline.
13047
13048         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
13049         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
13050         (gst_base_sink_get_position):
13051         Post READY->PAUSED state change messages too.
13052         Fix bug where VOID was posted as pending state...
13053
13054         * gst/gstbin.c: (gst_bin_recalc_state):
13055         use _element_continue_state() to continue the state change.
13056
13057         * gst/gstelement.c: (gst_element_continue_state),
13058         (gst_element_commit_state), (gst_element_set_state_func),
13059         (gst_element_change_state), (gst_element_change_state_func):
13060         Lots of state change cleanups, assign the STATE_RETURN in
13061         a new continue_state() function that also propagates the
13062         last return value from a state change to the app.
13063         Update some debug statements with proper category.
13064
13065 2005-11-03  Wim Taymans  <wim@fluendo.com>
13066
13067         * docs/design/part-events.txt:
13068         * docs/design/part-gstpipeline.txt:
13069         * docs/design/part-messages.txt:
13070         * docs/design/part-overview.txt:
13071         * docs/design/part-seeking.txt:
13072         * docs/design/part-states.txt:
13073         * docs/design/part-trickmodes.txt:
13074         * docs/manual/advanced-position.xml:
13075         Small docs updates.
13076
13077         * gst/gstobject.h:
13078         People think !! is ugly, this looks better.
13079
13080         * gst/gstpad.c: (gst_pad_set_blocked_async):
13081         Remove !! since it's fixed elsewhere now.
13082
13083 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
13084
13085         * gst/gstminiobject.h:
13086         * gst/gstobject.h:
13087           Add !! to _FLAG_IS_SET macros to make the result boolean.
13088
13089 2005-11-03  Edward Hervey  <edward@fluendo.com>
13090
13091         * gst/gstpad.c: (gst_pad_set_blocked_async):
13092         comparing a flag and a gboolean rarely returns coherent results...
13093         Added two characters (!!) to make that work correctly.
13094         
13095 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
13096
13097         * gst/gstbus.c: (gst_bus_class_init):
13098           Fix some typos.
13099           
13100         * gst/gstqueue.c: (gst_queue_loop):
13101           Don't assume a miniobject that isn't a buffer is an
13102           event (it could be that there is a refcounting
13103           problem somewhere and the pointer is stale and
13104           refers to an already destroyed miniobject).
13105
13106 2005-11-03  Julien MOUTTE  <julien@moutte.net>
13107
13108         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
13109
13110 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
13111
13112         * docs/manual/advanced-position.xml:
13113           Update seek example and explanations to current 0.9 API.
13114
13115         * gst/elements/gsttypefindelement.c:
13116         (gst_type_find_element_activate):
13117           Remove FIXME comment now that the found caps
13118           are unreffed.
13119
13120 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
13121
13122         * gst/gstregistryxml.c: (load_feature):
13123           Add another GST_STR_NULL instance
13124
13125 2005-11-02  Edward Hervey  <edward@fluendo.com>
13126
13127         * gst/gstpad.c: (handle_pad_block):
13128         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
13129         
13130 2005-11-02  Wim Taymans  <wim@fluendo.com>
13131
13132         * gst/gstbin.c:
13133         Fix typo in docs.
13134
13135         * gst/gstelement.c: (gst_element_commit_state):
13136         Remove unused value.
13137
13138         * gst/gstiterator.c:
13139         Mention that the returned element is reffed in the docs.
13140
13141 2005-11-02  Wim Taymans  <wim@fluendo.com>
13142
13143         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
13144         (gst_pad_push), (gst_pad_push_event):
13145         Unlock blocked pads when they are flushed.
13146
13147 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
13148
13149         * docs/README:
13150         * docs/gst/gstreamer-sections.txt:
13151         * gst/gstbin.c:
13152           doc updates
13153         * gst/gstregistry.c: (gst_registry_scan_path_level):
13154           fix for a nasty little missed situation where an installed plug-in
13155           which was in the cache did not get overridden by an uninstalled one
13156           which was earlier in the plugin path because the newly created plugin
13157           for the uninstalled one (not in the registry) didn't get its
13158           ->registered set to TRUE
13159
13160 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
13161
13162         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
13163         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
13164         (gst_collectpads_is_active), (gst_collectpads_collect),
13165         (gst_collectpads_collect_range), (gst_collectpads_start),
13166         (gst_collectpads_stop), (gst_collectpads_peek),
13167         (gst_collectpads_pop), (gst_collectpads_available),
13168         (gst_collectpads_read), (gst_collectpads_flush):
13169           Guard public API with assertions.
13170         
13171         * gst/gstpad.c:
13172           Fix docs for gst_pad_set_link_function().
13173
13174 2005-11-02  Johan Dahlin  <johan@gnome.org>
13175
13176         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
13177         Unref found_caps after we used it.
13178
13179 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
13180
13181         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
13182           Don't try to ref NULL.
13183
13184 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
13185
13186         * win32/common/config.h.in:
13187           provide a GST_FUNCTION that just gives a string for now
13188
13189 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
13190
13191         * win32/common/gstenumtypes.c: (register_gst_object_flags),
13192         (gst_object_flags_get_type), (register_gst_bin_flags),
13193         (gst_bin_flags_get_type), (register_gst_buffer_flag),
13194         (gst_buffer_flag_get_type), (register_gst_bus_flags),
13195         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
13196         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
13197         (gst_clock_return_get_type), (register_gst_clock_entry_type),
13198         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
13199         (gst_clock_flags_get_type), (register_gst_state),
13200         (gst_state_get_type), (register_gst_state_change_return),
13201         (gst_state_change_return_get_type), (register_gst_state_change),
13202         (gst_state_change_get_type), (register_gst_element_flags),
13203         (gst_element_flags_get_type), (register_gst_core_error),
13204         (gst_core_error_get_type), (register_gst_library_error),
13205         (gst_library_error_get_type), (register_gst_resource_error),
13206         (gst_resource_error_get_type), (register_gst_stream_error),
13207         (gst_stream_error_get_type), (register_gst_event_type),
13208         (gst_event_type_get_type), (register_gst_seek_type),
13209         (gst_seek_type_get_type), (register_gst_seek_flags),
13210         (gst_seek_flags_get_type), (register_gst_format),
13211         (gst_format_get_type), (register_gst_index_certainty),
13212         (gst_index_certainty_get_type), (register_gst_index_entry_type),
13213         (gst_index_entry_type_get_type),
13214         (register_gst_index_lookup_method),
13215         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
13216         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
13217         (gst_index_resolver_method_get_type), (register_gst_index_flags),
13218         (gst_index_flags_get_type), (register_gst_debug_level),
13219         (gst_debug_level_get_type), (register_gst_debug_color_flags),
13220         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
13221         (gst_iterator_result_get_type), (register_gst_iterator_item),
13222         (gst_iterator_item_get_type), (register_gst_message_type),
13223         (gst_message_type_get_type), (register_gst_mini_object_flags),
13224         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
13225         (gst_pad_link_return_get_type), (register_gst_flow_return),
13226         (gst_flow_return_get_type), (register_gst_activate_mode),
13227         (gst_activate_mode_get_type), (register_gst_pad_direction),
13228         (gst_pad_direction_get_type), (register_gst_pad_flags),
13229         (gst_pad_flags_get_type), (register_gst_pad_presence),
13230         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
13231         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
13232         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
13233         (gst_plugin_error_get_type), (register_gst_plugin_flags),
13234         (gst_plugin_flags_get_type), (register_gst_rank),
13235         (gst_rank_get_type), (register_gst_query_type),
13236         (gst_query_type_get_type), (register_gst_tag_merge_mode),
13237         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
13238         (gst_tag_flag_get_type), (register_gst_task_state),
13239         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
13240         (gst_alloc_trace_flags_get_type),
13241         (register_gst_type_find_probability),
13242         (gst_type_find_probability_get_type), (register_gst_uri_type),
13243         (gst_uri_type_get_type), (register_gst_parse_error),
13244         (gst_parse_error_get_type):
13245         * win32/common/gstversion.h:
13246           update win32 copies
13247
13248 2005-11-01  Luca Ognibene  <luogni@tin.it>
13249
13250         * gst/gst.c:
13251           fix docs. popt is dead, long live GOption.
13252
13253 2005-10-31  Wim Taymans  <wim@fluendo.com>
13254
13255         * gst/gstbuffer.h:
13256         Small doc fix.
13257
13258 2005-10-31  Andy Wingo  <wingo@pobox.com>
13259
13260         * Boo!
13261
13262         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
13263
13264         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
13265         need to serialize property notifications on GLib 2.8. GLib 2.6 has
13266         the possibility of deadlocks here if code calling notify() or
13267         set() has a lock that can be taken in another notify handler (ABBA
13268         with class lock and e.g. python GIL state lock).
13269
13270 2005-10-28  Julien MOUTTE  <julien@moutte.net>
13271
13272         * gst/gstbus.c: Doc updates.
13273
13274 2005-10-28  Wim Taymans  <wim@fluendo.com>
13275
13276         * docs/design/part-TODO.txt:
13277         * gst/gstiterator.c:
13278         * gst/gstsystemclock.c:
13279         * gst/gstsystemclock.h:
13280         Doc updates.
13281
13282 2005-10-28  Edward Hervey  <edward@fluendo.com>
13283
13284         * docs/gst/gstreamer-docs.sgml:
13285         * docs/gst/gstreamer-sections.txt:
13286         the GstURIType documentation page is private, it only defines GstURIType
13287         which should be defined in the GstURIHandler page
13288         
13289 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
13290
13291         * gst/gstbin.c: (gst_bin_class_init):
13292         * gst/gstbin.h:
13293         * gst/gstutils.c:
13294         Documentation updates.
13295
13296 2005-10-28  Wim Taymans  <wim@fluendo.com>
13297
13298         * docs/gst/gstreamer-sections.txt:
13299         * gst/gstclock.c:
13300         * gst/gstclock.h:
13301         Documented the clocks.
13302
13303 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
13304
13305         * docs/gst/gstreamer-sections.txt:
13306           move some macros to private sections
13307         * gst/gstminiobject.c:
13308         * gst/gstminiobject.h:
13309           add descriptions provided by ds and some more
13310         * gst/gstpad.h:
13311           mark macro as to be removed
13312
13313 2005-10-28  Wim Taymans  <wim@fluendo.com>
13314
13315         * docs/design/part-TODO.txt:
13316         Add an item to TODO.
13317
13318         * gst/gstiterator.c: (gst_iterator_fold),
13319         (gst_iterator_find_custom):
13320         * gst/gstiterator.h:
13321         Add iterator docs.
13322
13323 2005-10-28  Wim Taymans  <wim@fluendo.com>
13324
13325         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
13326         (gst_base_transform_init):
13327         Don't leak class.
13328
13329         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
13330         An EOS event marks the queue as completely filled.
13331
13332 2005-10-27  Wim Taymans  <wim@fluendo.com>
13333
13334         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13335         (gst_base_sink_do_sync), (gst_base_sink_get_position):
13336         Some more debugging.
13337
13338         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
13339         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
13340         (gst_base_transform_event), (gst_base_transform_getrange),
13341         (gst_base_transform_chain):
13342         * gst/base/gstbasetransform.h:
13343         Fix debugging,
13344         Protect transform and concurrent buffer alloc with a new lock.
13345         Try not to break ABI/API.
13346
13347 2005-10-27  Wim Taymans  <wim@fluendo.com>
13348
13349         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
13350         (gst_base_src_init), (gst_base_src_query),
13351         (gst_base_src_default_newsegment),
13352         (gst_base_src_configure_segment), (gst_base_src_do_seek),
13353         (gst_base_src_send_event), (gst_base_src_event_handler),
13354         (gst_base_src_pad_get_range), (gst_base_src_loop),
13355         (gst_base_src_unlock), (gst_base_src_default_negotiate),
13356         (gst_base_src_start), (gst_base_src_deactivate),
13357         (gst_base_src_activate_push), (gst_base_src_change_state):
13358         Move some stuff around and cleanup things.
13359
13360 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
13361
13362         * gst/base/gstbasesrc.c: (gst_base_src_query):
13363           Add missing break statements.
13364
13365 2005-10-27  Wim Taymans  <wim@fluendo.com>
13366
13367         * check/gst/gstbin.c: (GST_START_TEST):
13368         An extra refcount is taken in basesrc.
13369
13370         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
13371         (gst_base_src_get_range), (gst_base_src_pad_get_range),
13372         (gst_base_src_loop):
13373         Small cleanups, check for flushing after being unlocked from the 
13374         LIVE_LOCK. take refcounts correctly (not yet everywhere).
13375         Don't send out EOS when going to READY.
13376
13377 2005-10-27  Wim Taymans  <wim@fluendo.com>
13378
13379         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13380         (gst_base_sink_get_position):
13381         Some more debug.
13382
13383         * gst/gstbin.c: (message_check), (bin_replace_message),
13384         (bin_remove_messages), (is_eos), (gst_bin_add_func),
13385         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
13386         (bin_query_duration_init), (bin_query_duration_fold),
13387         (bin_query_duration_done), (bin_query_generic_fold),
13388         (gst_bin_query):
13389         * tools/gst-launch.c: (main):
13390         Remove old option.
13391
13392 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
13393
13394         * examples/controller/audio-example.c: (main):
13395         * examples/queue/queue.c: (event_loop):
13396         * gst/base/gstbasetransform.h:
13397         * gst/gstelement.c: (gst_element_send_event):
13398         * gst/gstevent.h:
13399         * gst/gstpad.c: (gst_pad_send_event):
13400           fixing examples
13401           fixing docs typos
13402           changing log priority in error situations
13403
13404 2005-10-25  Wim Taymans  <wim@fluendo.com>
13405
13406         * gst/gstbin.c: (message_check), (bin_replace_message),
13407         (bin_remove_messages), (is_eos), (gst_bin_add_func),
13408         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
13409         (bin_query_duration_init), (bin_query_duration_fold),
13410         (bin_query_duration_done), (bin_query_generic_fold),
13411         (gst_bin_query):
13412         Some doc and debug updates.
13413         Cache previously requested query DURATION for speed. invalidate
13414         cached duration if element posts a DURATION message.
13415
13416 2005-10-25  Wim Taymans  <wim@fluendo.com>
13417
13418         * docs/design/part-TODO.txt:
13419         Update TODO.
13420
13421         * gst/gstbin.c: (message_check), (bin_replace_message),
13422         (bin_remove_messages), (is_eos), (gst_bin_add_func),
13423         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
13424         (bin_query_duration_init), (bin_query_duration_fold),
13425         (bin_query_duration_done), (bin_query_generic_fold),
13426         (gst_bin_query):
13427         Handle SEGMENT_START/DONE messages correctly.
13428         More evolved query algorithm that handles duration queries
13429         correctly.
13430
13431         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
13432         (gst_element_get_state_func), (gst_element_abort_state),
13433         (gst_element_commit_state), (gst_element_lost_state):
13434         Some more debugging.
13435
13436         * gst/gstmessage.h:
13437         Added doc.
13438
13439 2005-10-25  Wim Taymans  <wim@fluendo.com>
13440
13441         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
13442         Don't use invalid stream_time.
13443
13444         * gst/gstevent.c: (gst_event_new_newsegment):
13445         stream_time in newsegment cannot be undefined.
13446
13447 2005-10-24  Wim Taymans  <wim@fluendo.com>
13448
13449         * gst/gstbus.c:
13450         Doc fix.
13451
13452         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
13453         (gst_queue_loop):
13454         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
13455
13456 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
13457
13458         * docs/libs/tmpl/gstdparam.sgml:
13459         * docs/libs/tmpl/gstdplinint.sgml:
13460         * docs/libs/tmpl/gstdpman.sgml:
13461         * docs/libs/tmpl/gstdpsmooth.sgml:
13462         * docs/libs/tmpl/gstunitconvert.sgml:
13463           these are obsolete
13464
13465 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
13466
13467         * configure.ac:
13468           back to HEAD
13469
13470 === release 0.9.4 ===
13471
13472 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
13473
13474         * configure.ac:
13475           releasing 0.9.4, "Tyrannosaurus Rex"
13476
13477 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
13478
13479         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
13480         (gst_file_sink_get_current_offset):
13481           Use fseeko() and ftello() if available. When falling back on
13482           lseek() to get the current offset, fflush() first to make sure
13483           everything is up-to-date and we get the right offset.
13484
13485 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
13486
13487         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
13488         * gst/base/gstbasesrc.c: (gst_base_src_loop):
13489         * gst/gsterror.c: (_gst_stream_errors_init):
13490         * gst/gsterror.h:
13491         * gst/gstqueue.c: (gst_queue_loop):
13492         * po/POTFILES.in:
13493           remove prematurely added error category and clean up the instances
13494
13495 2005-10-21  Wim Taymans  <wim@fluendo.com>
13496
13497         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
13498         (gst_base_sink_get_position), (gst_base_sink_query),
13499         (gst_base_sink_change_state):
13500         Simply set the right flag when going to playing, that's all
13501         we need to do instead of calling a function inside the object
13502         lock (that could take the lock as well and deadlock)
13503
13504 2005-10-21  Wim Taymans  <wim@fluendo.com>
13505
13506         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
13507         (gst_base_src_loop):
13508         Don't warn, the peer element knows what to do best when
13509         the seek failed, it might try something else.
13510
13511 2005-10-21  Wim Taymans  <wim@fluendo.com>
13512
13513         * gst/base/gstbasesrc.c: (gst_base_src_init),
13514         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
13515         Fix seeking.
13516
13517 2005-10-21  Wim Taymans  <wim@fluendo.com>
13518
13519         * docs/design/part-segments.txt:
13520         More docs.
13521
13522         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
13523         Correctly set caps, even on the subbufer.
13524
13525 2005-10-21  Wim Taymans  <wim@fluendo.com>
13526
13527         * docs/gst/gstreamer-docs.sgml:
13528         * docs/gst/gstreamer-sections.txt:
13529         * gst/gstelement.h:
13530         * gst/gstevent.c:
13531         * gst/gstevent.h:
13532         * gst/gstmessage.h:
13533         * gst/gstpad.h:
13534         * gst/gstparse.h:
13535         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
13536         * gst/gsttask.h:
13537         * gst/gstutils.c:
13538         * gst/gstutils.h:
13539         And 2% more doc coverage.
13540
13541 2005-10-21  Andy Wingo  <wingo@pobox.com>
13542
13543         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
13544         position reporting.
13545
13546 2005-10-20  Wim Taymans  <wim@fluendo.com>
13547
13548         * gst/gsterror.c: (gst_error_get_message):
13549         * gst/gstparse.h:
13550         * gst/gstquery.h:
13551         * gst/gststructure.c:
13552         * gst/gsttrace.c:
13553         * gst/gstutils.c:
13554         More docs.
13555
13556 2005-10-20  Wim Taymans  <wim@fluendo.com>
13557
13558         * gst/gstbuffer.h:
13559         * gst/gstpad.c:
13560         * gst/gstparse.c:
13561         Another 1% more coverage.
13562
13563 2005-10-20  Wim Taymans  <wim@fluendo.com>
13564
13565         * docs/gst/gstreamer-sections.txt:
13566         * gst/gstelement.c: (gst_element_get_state_func),
13567         (gst_element_abort_state), (gst_element_commit_state),
13568         (gst_element_lost_state):
13569         * gst/gstevent.h:
13570         * gst/gstquery.c: (gst_query_set_position),
13571         (gst_query_parse_position), (gst_query_set_duration),
13572         (gst_query_parse_duration), (gst_query_new_convert):
13573         * gst/gstutils.c:
13574         Yay! 1% more docs coverage.
13575
13576 2005-10-20  Wim Taymans  <wim@fluendo.com>
13577
13578         * gst/gstpad.h:
13579         * gst/gstquery.c: (gst_query_set_position),
13580         (gst_query_parse_position), (gst_query_set_duration),
13581         (gst_query_parse_duration), (gst_query_new_convert):
13582         * gst/gstquery.h:
13583         * gst/gstutils.c: (gst_element_query_convert):
13584         * gst/gstutils.h:
13585         Docs and consistency fixes.
13586
13587 2005-10-20  Wim Taymans  <wim@fluendo.com>
13588
13589         * gst/gsttask.c:
13590         * gst/gsttask.h:
13591         More docs.
13592
13593 2005-10-20  Wim Taymans  <wim@fluendo.com>
13594
13595         * gst/gstbin.c: (message_check), (bin_replace_message),
13596         (bin_remove_messages), (is_eos), (gst_bin_add_func),
13597         (update_degree), (gst_bin_sort_iterator_next),
13598         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
13599         Reworked the message handling a bit, cache the messages instead of
13600         only the senders. alows us to do more in the future.
13601
13602 2005-10-20  Wim Taymans  <wim@fluendo.com>
13603
13604         * docs/design/part-TODO.txt:
13605         Update TODO
13606
13607         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
13608         (gst_base_sink_query):
13609         Don't use clock time to report position when in EOS.
13610
13611 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
13612
13613         * tools/gst-inspect.c: (print_interfaces),
13614         (print_element_properties_info), (print_element_info):
13615           Fix interface output with gst-inspect -a; don't print
13616           newlines after double/float properties.
13617
13618 2005-10-20  Wim Taymans  <wim@fluendo.com>
13619
13620         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
13621         (gst_base_sink_query):
13622         Speed up current position calculation.
13623
13624         * gst/base/gstbasesrc.c: (gst_base_src_query),
13625         (gst_base_src_default_newsegment):
13626         Correctly set stream position in newsegment.
13627
13628         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
13629         (update_degree), (gst_bin_sort_iterator_next),
13630         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
13631         * gst/gstmessage.c: (gst_message_new_custom):
13632         Clean up debugging info
13633
13634         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
13635         (gst_queue_loop), (gst_queue_handle_src_query):
13636         Pause task faster.
13637
13638 2005-10-19  Wim Taymans  <wim@fluendo.com>
13639
13640         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
13641         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
13642         Fix query handling again.
13643
13644 2005-10-19  Wim Taymans  <wim@fluendo.com>
13645
13646         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
13647         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
13648         * gst/base/gstbasesrc.c: (gst_base_src_query):
13649         * gst/elements/gstfilesink.c: (gst_file_sink_query):
13650         * gst/elements/gsttypefindelement.c:
13651         (gst_type_find_handle_src_query), (find_element_get_length),
13652         (gst_type_find_element_activate):
13653         API change fix.
13654
13655         * gst/gstquery.c: (gst_query_new_position),
13656         (gst_query_set_position), (gst_query_parse_position),
13657         (gst_query_new_duration), (gst_query_set_duration),
13658         (gst_query_parse_duration), (gst_query_set_segment),
13659         (gst_query_parse_segment):
13660         * gst/gstquery.h:
13661         Bundling query position/duration is not a good idea since duration
13662         does not change much and we don't want to recalculate it for every
13663         position query, so they are separated again..
13664         Base value in segment query is not needed.
13665
13666         * gst/gstqueue.c: (gst_queue_handle_src_query):
13667         * gst/gstutils.c: (gst_element_query_position),
13668         (gst_element_query_duration), (gst_pad_query_position),
13669         (gst_pad_query_duration):
13670         * gst/gstutils.h:
13671         Updates for query API change.
13672         Added some docs here and there.
13673
13674 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13675
13676         * check/gst/gstbin.c: (GST_START_TEST):
13677         * check/gst/gstghostpad.c: (GST_START_TEST):
13678         * check/pipelines/cleanup.c: (GST_START_TEST):
13679           wait on thread to die so we can check refcount correctly
13680
13681 2005-10-18  Wim Taymans  <wim@fluendo.com>
13682
13683         * check/pipelines/stress.c: (GST_START_TEST):
13684         Make check a little more time consuming.
13685
13686 2005-10-18  Wim Taymans  <wim@fluendo.com>
13687
13688         * check/Makefile.am:
13689         * check/pipelines/stress.c: (GST_START_TEST),
13690         (simple_launch_lines_suite), (main):
13691         Small state change torture test.
13692
13693         * docs/design/part-states.txt:
13694         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
13695         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
13696         (gst_base_sink_change_state):
13697         Never take state lock from streaming thread, clean up ugly
13698         hacks. Unfortunatly core does not yet support nice ways to
13699         async commit state.
13700         
13701         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
13702         (bin_bus_handler):
13703         Start state recalc if a STATE_DIRTY message is posted, but only
13704         on the toplevel bin.
13705
13706         * gst/gstelement.c: (gst_element_sync_state_with_parent),
13707         (gst_element_get_state_func), (gst_element_abort_state),
13708         (gst_element_commit_state), (gst_element_lost_state),
13709         (gst_element_set_state_func), (gst_element_change_state):
13710         * gst/gstelement.h:
13711         State variables are now protected with the LOCK, the state
13712         lock is only used to serialize _set_state().
13713
13714 2005-10-18  Wim Taymans  <wim@fluendo.com>
13715
13716         * check/gst/gstbin.c: (GST_START_TEST):
13717         * check/gst/gstmessage.c: (GST_START_TEST):
13718         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
13719         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
13720         (bin_bus_handler):
13721         * gst/gstelement.c: (gst_element_abort_state),
13722         (gst_element_commit_state), (gst_element_lost_state):
13723         * gst/gstmessage.c: (gst_message_new_state_changed),
13724         (gst_message_new_state_dirty), (gst_message_new_segment_start),
13725         (gst_message_new_segment_done), (gst_message_new_duration),
13726         (gst_message_parse_state_changed),
13727         (gst_message_parse_segment_start),
13728         (gst_message_parse_segment_done), (gst_message_parse_duration):
13729         * gst/gstmessage.h:
13730         * tools/gst-launch.c: (event_loop):
13731         Seriously, this is better than a previous commit as we only need
13732         to notify the fact that an element changed state in a streaming
13733         thread, marking the state of the parents dirty, hence the 
13734         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
13735         message.
13736
13737 2005-10-18  Wim Taymans  <wim@fluendo.com>
13738
13739         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
13740         (gst_bin_recalc_func):
13741         * gst/gstelement.c: (gst_element_set_clock),
13742         (gst_element_abort_state), (gst_element_lost_state):
13743         Cleanups, prepare for state change fixes.
13744
13745 2005-10-18  Wim Taymans  <wim@fluendo.com>
13746
13747         * gst/gstbin.h:
13748         * gst/gstelement.c: (gst_element_class_init),
13749         (gst_element_set_state), (gst_element_set_state_func):
13750         * gst/gstelement.h:
13751         Pending ABI changes.
13752         GThreadPool in GstBinClass to monitor async state changes.
13753         state_cookie in GstElement to detect concurrent gst/set state.
13754         set_state is now virtual too in case a very complicated element
13755         has to be constructed.
13756
13757 2005-10-18  Wim Taymans  <wim@fluendo.com>
13758
13759         * check/gst/gstbin.c: (GST_START_TEST):
13760         * check/gst/gstmessage.c: (GST_START_TEST):
13761         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
13762         * gst/gstbin.c: (bin_bus_handler):
13763         * gst/gstelement.c: (gst_element_commit_state),
13764         (gst_element_lost_state):
13765         * gst/gstmessage.c: (gst_message_new_state_changed),
13766         (gst_message_new_segment_start), (gst_message_new_segment_done),
13767         (gst_message_new_duration), (gst_message_parse_state_changed),
13768         (gst_message_parse_segment_start),
13769         (gst_message_parse_segment_done), (gst_message_parse_duration):
13770         * gst/gstmessage.h:
13771         * tools/gst-launch.c: (event_loop):
13772         Make messages future proof.
13773         state-change gets a flag if it was a message comming from the
13774         streaming thread.
13775         segment-start/stop can also be specified in other formats.
13776         A message to notify an app that a pipeline changed playback 
13777         duration.
13778         Also fix a GstMessage leak in -launch
13779
13780 2005-10-18  Andy Wingo  <wingo@pobox.com>
13781
13782         * gst/gstelement.c (gst_element_dispose): More helpful message.
13783
13784 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
13785
13786         reviewed by: <delete if not using a buddy>
13787
13788         * common/gtk-doc.mak:
13789
13790 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
13791
13792         * gst/gstregistry.c: (gst_registry_scan_path_level):
13793           unref a plug-in we get that was already initialized
13794
13795 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
13796
13797         * docs/gst/gstreamer-sections.txt:
13798         * docs/libs/gstreamer-libs-sections.txt:
13799         * gst/gstelement.h:
13800           add new api entries
13801           hide internal macro
13802
13803 2005-10-17  Andy Wingo  <wingo@pobox.com>
13804
13805         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
13806         cleanup.
13807
13808         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
13809
13810         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
13811
13812         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
13813         (gst_element_get_state_func): Better debug message.
13814         (gst_element_commit_state): s/INFO/DEBUG/.
13815         (gst_element_lost_state, gst_element_change_state): 
13816
13817         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
13818         (gst_message_new_custom): s/INFO/LOG/.
13819
13820 2005-10-17  Michael Smith <msmith@fluendo.com>
13821
13822         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
13823           Check if end time is valid using end time, not start time.
13824
13825 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
13826
13827         * check/gst-libs/controller.c: (GST_START_TEST),
13828         (gst_controller_suite):
13829         * libs/gst/controller/gstcontroller.c:
13830         (gst_controlled_property_set_interpolation_mode):
13831         * libs/gst/controller/gstcontroller.h:
13832         * libs/gst/controller/gstinterpolation.c:
13833         * testsuite/controller/.cvsignore:
13834         * testsuite/controller/Makefile.am:
13835         * testsuite/controller/interpolator.c:
13836           merge controller testsuites
13837           fix broken tests
13838           remove mem-chunk from docs
13839
13840 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
13841
13842         * gst/gstmemchunk.c:
13843         * gst/gstmemchunk.h:
13844         * gst/gsttrashstack.c:
13845         * gst/gsttrashstack.h:
13846           out.  get out.  you're fired.  to the Attic !
13847
13848 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
13849
13850         * gst/gstcaps.c: (gst_caps_intersect):
13851           fix signedness issues in a (hopefully) correct way
13852         * gst/gstelement.c: (gst_element_pads_activate):
13853           some debugging
13854         * gst/gstobject.c: (gst_object_set_parent):
13855           some debugging
13856
13857 2005-10-17  Julien MOUTTE  <julien@moutte.net>
13858
13859         * gst/gstvalue.h: Fix prototypes.
13860
13861 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
13862
13863         * docs/gst/gstreamer-sections.txt:
13864         * gst/gst.c: (gst_version_string):
13865         * gst/gst.h:
13866         * gst/gstversion.h.in:
13867         * win32/common/libgstreamer.def:
13868           add gst_version_string ()
13869
13870 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
13871
13872         * configure.ac:
13873           clean up further
13874         * gst/gst.c: (init_post):
13875         * win32/common/config.h.in:
13876           it's PLUGINDIR now
13877         * gst/gstcaps.c: (gst_caps_intersect):
13878           use gint64, the range could be bigger than a guint
13879
13880 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
13881
13882         * gst/gstclock.h:
13883           document potential problem in 2038
13884
13885 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
13886
13887         * gst/gstcaps.c: (gst_caps_intersect):
13888           Fix guint j diving under 0
13889
13890 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
13891
13892         * configure.ac:
13893         * win32/common/config.h:
13894         * win32/common/config.h.in:
13895           check for process.h, declares getpid() on Windows
13896         * gst/gstinfo.c:
13897           include process.h if we have it
13898         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
13899         * gst/gstmemchunk.h:
13900           fix signedness issues
13901         * win32/common/libgstreamer.def:
13902           fix get_type's
13903
13904 2005-10-16  Julien MOUTTE  <julien@moutte.net>
13905
13906         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
13907         fix. Because of unsigned ints, caps intersection was going nuts and
13908         trying to access structures with G_MAXUINT index. That fixes
13909         videotestsrc ! ffmpegcolorspace ! fakesink
13910         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
13911         consistency.
13912
13913 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
13914
13915         * configure.ac:
13916           use the gettext macro
13917         * gst/elements/gstelements.c:
13918         * gst/gst.c:
13919         * gst/indexers/gstindexers.c:
13920           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
13921         * win32/common/config.h:
13922           updated config.h
13923         * win32/common/config.h.in:
13924           add the template to generate config.h
13925         * win32/common/gstenumtypes.c:
13926         * win32/common/gstversion.h:
13927           updated copies
13928
13929 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
13930
13931         * gst/gst.c: (gst_version):
13932         * gst/gstversion.h.in:
13933           add the nano
13934
13935 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
13936
13937         * gst/gstevent.h:
13938           Oops, add missing closing bracket.
13939
13940 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
13941
13942         * configure.ac:
13943           use common m4's for argument checking
13944
13945 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
13946
13947         * docs/gst/gstreamer-sections.txt:
13948         * gst/gstevent.h:
13949           Add GST_EVENT_TYPE_NAME() macro.
13950
13951 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
13952
13953         * gst/gstinfo.c:
13954         * gst/gstpluginfeature.c:
13955         * gst/gsttask.c:
13956           privatize more symbols
13957
13958 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
13959
13960         * configure.ac:
13961           add srcdir, builddir includes to GST_ALL_CFLAGS, since
13962           everything that uses GStreamer API should have the includes
13963
13964 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
13965
13966         * docs/gst/gstreamer-sections.txt:
13967         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
13968         * gst/gstvalue.h:
13969           give each value a _get_type, removes the DATA exports
13970
13971 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
13972
13973         * gst/gst.c:
13974         * gst/gst.h:
13975           remove _gst_registry_auto_load, not used anymore
13976         * gst/gstbin.c: (gst_bin_get_type):
13977         * gst/gstbin.h:
13978         * gst/gstelement.c: (gst_element_get_type):
13979         * gst/gstelement.h:
13980         * gst/gstobject.c: (gst_object_get_type):
13981         * gst/gstobject.h:
13982         * gst/gstpad.c: (gst_pad_get_type):
13983         * gst/gstpad.h:
13984           make _get_type functions similar, fixes data export from library
13985
13986 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
13987
13988         * configure.ac:
13989           correctly make conditionals
13990         * gst/elements/Makefile.am:
13991         * gst/elements/gstelements.c:
13992           fix typo causing fdsrc not to build
13993
13994 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
13995
13996         * testsuite/Makefile.am:
13997         * testsuite/bytestream/.cvsignore:
13998         * testsuite/bytestream/Makefile.am:
13999         * testsuite/bytestream/filepadsink.c:
14000         * testsuite/bytestream/gstbstest.c:
14001         * testsuite/bytestream/test1.c:
14002         * testsuite/bytestream/testfile1:
14003         * testsuite/caps/normalisation.c:
14004         * testsuite/caps/random.c: (main):
14005         * testsuite/cleanup/.cvsignore:
14006         * testsuite/cleanup/Makefile.am:
14007         * testsuite/cleanup/cleanup1.c:
14008         * testsuite/cleanup/cleanup2.c:
14009         * testsuite/cleanup/cleanup3.c:
14010         * testsuite/cleanup/cleanup4.c:
14011         * testsuite/cleanup/cleanup5.c:
14012         * testsuite/controller/interpolator.c:
14013         * testsuite/debug/printf_extension.c: (main):
14014         * testsuite/elements/tee.c:
14015         * testsuite/negotiation/.cvsignore:
14016         * testsuite/negotiation/Makefile.am:
14017         * testsuite/negotiation/pad_link.c:
14018         * testsuite/pad/Makefile.am:
14019         * testsuite/pad/chainnopull.c:
14020         * testsuite/pad/getnopush.c:
14021         * testsuite/pad/link.c:
14022         * testsuite/refcounting/sched.c: (create_pipeline):
14023         * testsuite/registry/Makefile.am:
14024         * testsuite/registry/gst-print-formats.c:
14025         * testsuite/schedulers/.cvsignore:
14026         * testsuite/schedulers/142183-2.c:
14027         * testsuite/schedulers/142183.c:
14028         * testsuite/schedulers/143777-2.c:
14029         * testsuite/schedulers/143777.c:
14030         * testsuite/schedulers/147713.c:
14031         * testsuite/schedulers/147819.c:
14032         * testsuite/schedulers/147894-2.c:
14033         * testsuite/schedulers/147894.c:
14034         * testsuite/schedulers/Makefile.am:
14035         * testsuite/schedulers/group_link.c:
14036         * testsuite/schedulers/queue_link.c:
14037         * testsuite/schedulers/relink.c:
14038         * testsuite/schedulers/unlink.c:
14039         * testsuite/schedulers/unref.c:
14040         * testsuite/schedulers/useless_iteration.c:
14041         * testsuite/states/bin.c:
14042           clean out/remove some stuff from the testsuite directories
14043
14044 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
14045
14046         * configure.ac:
14047           check for some headers
14048         * gst/elements/Makefile.am:
14049         * gst/elements/gstelements.c:
14050           don't compile fdsrc without sys/socket.h
14051         * gst/indexers/Makefile.am:
14052         * gst/indexers/gstindexers.c: (plugin_init):
14053           don't compile fileindex without mmap
14054
14055 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
14056
14057         * configure.ac:
14058           reorganize
14059           clean up
14060           document more
14061           remove cruft
14062         * check/Makefile.am:
14063         * docs/gst/Makefile.am:
14064         * examples/helloworld/Makefile.am:
14065         * gst/Makefile.am:
14066         * gst/base/Makefile.am:
14067         * gst/check/Makefile.am:
14068         * gst/elements/Makefile.am:
14069         * gst/indexers/Makefile.am:
14070         * gst/parse/Makefile.am:
14071         * libs/gst/controller/Makefile.am:
14072         * libs/gst/dataprotocol/Makefile.am:
14073         * examples/helloworld/helloworld.c: (event_loop):
14074           compile fixes, though it's not being compiled currently
14075
14076 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
14077
14078         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
14079           Add some simple tests for the new taglist date API.
14080
14081 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
14082
14083         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
14084         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
14085           Beautify 'last-message' output: print 'none' for buffer timestamps
14086           and durations if none is set; improve alignment with next messages.
14087
14088 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
14089
14090         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
14091         * gst/gstpluginfeature.h:
14092         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
14093         * gst/gstregistry.h:
14094         * docs/gst/gstreamer-sections.txt:
14095           Add new API to check plugin feature version requirements.
14096
14097         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
14098           Some basic tests for the above.         
14099
14100 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
14101
14102         * gst/gststructure.c: (gst_structure_to_string):
14103           guard against NULL printf - happens when for example
14104           a message structure with GstClock gets serialized
14105
14106 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
14107
14108         * gst/base/gstcollectpads.c: (gst_collectpads_event):
14109           Fix presumable copy'n'pasto.
14110
14111 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
14112
14113         * gst/elements/gstfakesrc.h:
14114         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
14115         * gst/elements/gsttypefindelement.c:
14116           fix some signedness
14117         * gst/elements/gstfilesink.c: (gst_file_sink_render):
14118           I wonder if this could actually write +2GB files before
14119
14120 2005-10-13  Andy Wingo  <wingo@pobox.com>
14121
14122         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
14123         Fix Timmeke Waymans bug.
14124         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
14125         string of the proper length to gst_caps_from_string. There's a
14126         potential for, before this fix, that this could cause someone
14127         connecting over the network to cause a segfault if the payload is
14128         not NUL-terminated.
14129
14130 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
14131
14132         * docs/design/draft-push-pull.txt:
14133         * docs/design/part-overview.txt:
14134         * docs/random/TODO-pre-0.9:
14135         * docs/random/old/ChangeLog.gstreamer:
14136         * gst/base/gstpushsrc.c:
14137         * gst/gstclock.c:
14138           fixed typos
14139
14140 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
14141
14142         * gst/glib-compat.c: (gst_flags_get_first_value):
14143         * gst/glib-compat.h:
14144         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
14145         (gst_value_compare_double), (gst_value_serialize_flags):
14146           GLib 2.6 g_flags_get_first_value has a bug that triggers an
14147           infinite loop
14148
14149 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
14150
14151         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
14152         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
14153           fix up debugging
14154         * tools/gst-launch.c: (event_loop):
14155           print out clock nicely
14156
14157 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
14158
14159         * docs/gst/gstreamer-sections.txt:
14160         * gst/gsttaglist.h:
14161         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
14162         (gst_tag_list_get_date_index):
14163           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
14164           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
14165
14166 2005-10-13  Julien MOUTTE  <julien@moutte.net>
14167
14168         * gst/base/gstcollectpads.c: (gst_collectpads_event),
14169         (gst_collectpads_chain):
14170         * gst/base/gstcollectpads.h: Handle newsegment and store informations
14171         in CollectData.
14172
14173 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
14174
14175         * docs/gst/gstreamer-sections.txt:
14176         * gst/gst.c:
14177         * gst/gsterror.h:
14178         * tools/gst-inspect.c: (main):
14179         * tools/gst-launch.c: (main):
14180         * tools/gst-run.c: (main):
14181         * tools/gst-xmlinspect.c: (main):
14182           fix GOption context leaks
14183           doc fixes
14184
14185 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
14186
14187         * gst/gstbus.c:
14188           use HAVE_UNISTD_H
14189         * win32/common/config.h:
14190           update config
14191         * win32/vs6/grammar.dsp:
14192         * win32/vs6/libgstelements.dsp:
14193         * win32/vs6/libgstreamer.dsp:
14194           update vs6 files
14195
14196 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
14197
14198         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
14199         * gst/base/gstbasesrc.c: (gst_base_src_query):
14200           fix more guint64<->gdouble conversions
14201
14202 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
14203
14204         * Makefile.am:
14205           add win32-update target
14206         * win32/common/gstconfig.h:
14207         * win32/common/gstenumtypes.c:
14208         * win32/common/gstenumtypes.h:
14209         * win32/common/gstversion.h:
14210           add files that visual studio can't generate
14211
14212 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
14213
14214         * Makefile.am:
14215           add a win32-update target
14216         * configure.ac:
14217
14218 2005-10-12  Wim Taymans  <wim@fluendo.com>
14219
14220         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
14221         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
14222         * gst/gstelement.c: (gst_element_commit_state),
14223         (gst_element_set_state):
14224         Protect flags with proper lock.
14225         unref provided cached clock in dispose.
14226
14227 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
14228
14229         * gst/gst.c:
14230         * gst/gstminiobject.h:
14231         * gst/gstpad.h:
14232         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
14233           removed unused flags from miniobject
14234           doc fixes
14235
14236 2005-10-12  Wim Taymans  <wim@fluendo.com>
14237
14238         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
14239         (gst_file_sink_event), (gst_file_sink_render):
14240         Flush before seeking.
14241
14242 2005-10-12  Andy Wingo  <wingo@pobox.com>
14243
14244         * gst/gst.c (gst_init_check): Ignore unknown options, as has
14245         always been the case.
14246
14247 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
14248
14249         * check/gst/gstbin.c: (GST_START_TEST):
14250         * docs/gst/gstreamer-sections.txt:
14251         * gst/base/gstbasesink.c: (gst_base_sink_init):
14252         * gst/base/gstbasesrc.c: (gst_base_src_init),
14253         (gst_base_src_get_range), (gst_base_src_check_get_range),
14254         (gst_base_src_start), (gst_base_src_stop):
14255         * gst/base/gstbasesrc.h:
14256         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
14257         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
14258         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
14259         (bin_bus_handler):
14260         * gst/gstbin.h:
14261         * gst/gstbuffer.h:
14262         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
14263         * gst/gstbus.h:
14264         * gst/gstelement.c: (gst_element_is_locked_state),
14265         (gst_element_set_locked_state), (gst_element_commit_state),
14266         (gst_element_set_state):
14267         * gst/gstelement.h:
14268         * gst/gstindex.c: (gst_index_init):
14269         * gst/gstindex.h:
14270         * gst/gstminiobject.h:
14271         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
14272         (gst_object_set_parent):
14273         * gst/gstobject.h:
14274         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
14275         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
14276         * gst/gstpad.h:
14277         * gst/gstpadtemplate.h:
14278         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
14279         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
14280         * gst/gstpipeline.h:
14281         * gst/indexers/gstfileindex.c: (gst_file_index_load),
14282         (gst_file_index_commit):
14283         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
14284         * testsuite/pad/link.c: (gst_test_src_init),
14285         (gst_test_filter_init), (gst_test_sink_init):
14286         * testsuite/states/locked.c: (main):
14287           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
14288           moved bitshift from macro to enum definition
14289
14290 2005-10-12  Wim Taymans  <wim@fluendo.com>
14291
14292         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
14293         * gst/elements/gstfilesink.c: (gst_file_sink_event),
14294         (gst_file_sink_render):
14295         Some more debugging info.
14296
14297 2005-10-12  Wim Taymans  <wim@fluendo.com>
14298
14299         * docs/design/part-states.txt:
14300         * tools/gst-launch.c: (main):
14301         Some doc updates.
14302         Revert non-intentional change.
14303
14304 2005-10-12  Wim Taymans  <wim@fluendo.com>
14305
14306         * check/gst/gstbin.c: (GST_START_TEST):
14307         * check/gst/gstelement.c: (GST_START_TEST):
14308         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
14309         * check/gst/gstghostpad.c: (GST_START_TEST):
14310         * check/gst/gstpipeline.c: (GST_START_TEST):
14311         * check/pipelines/simple_launch_lines.c: (run_pipeline):
14312         * check/states/sinks.c: (GST_START_TEST):
14313         * gst/elements/gsttypefindelement.c: (stop_typefinding):
14314         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
14315         (gst_bin_remove_func), (gst_bin_get_state_func),
14316         (gst_bin_recalc_state), (gst_bin_change_state_func),
14317         (bin_bus_handler):
14318         * gst/gstelement.c: (gst_element_get_state_func),
14319         (gst_element_get_state), (gst_element_abort_state),
14320         (gst_element_commit_state), (gst_element_set_state),
14321         (gst_element_change_state), (gst_element_change_state_func):
14322         * gst/gstelement.h:
14323         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
14324         (gst_pipeline_provide_clock_func):
14325         * gst/gstutils.c: (gst_element_link_pads_filtered):
14326         * tools/gst-launch.c: (main):
14327         * tools/gst-typefind.c: (main):
14328         Use GstClockTime in _get_state() instead of GTimeVal.
14329         Remove old code in gstutils.c
14330
14331 2005-10-12  Andy Wingo  <wingo@pobox.com>
14332
14333         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
14334         removed.
14335
14336         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
14337         there is no task. Shouldn't affect any code, as nothing in our
14338         plugins checks this return value.
14339         (gst_pad_stop_task): Also take the stream lock if the pad has no
14340         task. Docs updated.
14341
14342 2005-10-12  Wim Taymans  <wim@fluendo.com>
14343
14344         * gst/gstpad.c: (pre_activate), (post_activate),
14345         (gst_pad_activate_pull), (gst_pad_activate_push):
14346         Cleanup activation code. Reset old state if
14347         activation failed.
14348
14349 2005-10-12  Wim Taymans  <wim@fluendo.com>
14350
14351         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14352         (gst_base_sink_change_state):
14353         No need to prerol after receiving EOS.
14354
14355         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
14356         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
14357         * gst/elements/gstidentity.c: (gst_identity_event):
14358         Print events more verbosely.
14359
14360 2005-10-12  Wim Taymans  <wim@fluendo.com>
14361
14362         * check/Makefile.am:
14363         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
14364         * check/states/sinks2.c:
14365         Moved sinks2 testcode in sinks check.
14366
14367         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
14368         (gst_bin_remove_func), (gst_bin_recalc_state),
14369         (gst_bin_change_state_func), (bin_bus_handler):
14370         Fix potential race condition when _get_state() iterated over an
14371         ASYNC element right before it posted a state completion.
14372
14373         * gst/gstclock.h:
14374         Do proper cast here.
14375
14376         * gst/gstevent.c: (gst_event_new_newsegment),
14377         (gst_event_parse_newsegment):
14378         A playback rate of 0.0 is not allowed.
14379
14380 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
14381
14382         * win32/common/config.h:
14383         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
14384         (_trewinddir), (_ttelldir), (_tseekdir):
14385         * win32/common/dirent.h:
14386         * win32/common/gtchar.h:
14387         * win32/common/libgstbase.def:
14388         * win32/common/libgstreamer.def:
14389         * win32/vs6/grammar.dsp:
14390         * win32/vs6/gst_inspect.dsp:
14391         * win32/vs6/gst_launch.dsp:
14392         * win32/vs6/gstreamer.dsw:
14393         * win32/vs6/libgstbase.dsp:
14394         * win32/vs6/libgstelements.dsp:
14395         * win32/vs6/libgstreamer.dsp:
14396           Visual Studio 6 project files, and a new common directory.
14397           Phear.
14398
14399 2005-10-11  Wim Taymans  <wim@fluendo.com>
14400
14401         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14402         (gst_base_sink_do_sync), (gst_base_sink_query),
14403         (gst_base_sink_change_state):
14404         * gst/base/gstbasesink.h:
14405         Correctly parse newsegment info.
14406
14407 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
14408
14409         * gst/gst.c: (init_post):
14410           split plugin paths correctly
14411
14412 2005-10-11  Wim Taymans  <wim@fluendo.com>
14413
14414         * check/gst/gstevent.c: (GST_START_TEST):
14415         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14416         (gst_base_sink_change_state):
14417         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
14418         * gst/base/gstbasetransform.c: (gst_base_transform_event):
14419         * gst/elements/gstfilesink.c: (gst_file_sink_event):
14420         * gst/gstevent.c: (gst_event_new_newsegment),
14421         (gst_event_parse_newsegment):
14422         * gst/gstevent.h:
14423         Added extra flag to newsegment for future API freeze.
14424         Updated check and base elements.
14425
14426 2005-10-11  Julien MOUTTE  <julien@moutte.net>
14427
14428         * gst/base/gstcollectpads.c: (gst_collectpads_init),
14429         (gst_collectpads_add_pad), (gst_collectpads_pop),
14430         (gst_collectpads_event), (gst_collectpads_chain):
14431         * gst/base/gstcollectpads.h: Handle EOS correctly.
14432
14433 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
14434
14435         * tools/gst-launch.c: (main):
14436           more null protecting
14437
14438 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
14439
14440         * gst/gst-i18n-lib.h:
14441           check for ENABLE_NLS, not GETTEXT_PACKAGE
14442         * gst/gstregistry.c: (gst_registry_add_plugin),
14443         (gst_registry_scan_path_level),
14444         (_gst_registry_remove_cache_plugins):
14445           protect possibly NULL strings
14446         * gst/parse/types.h:
14447           config.h already included before
14448         * tools/gst-inspect.c: (main):
14449           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
14450           check for ENABLE_NLS, not GETTEXT_PACKAGE
14451         * tools/gst-launch.c: (main):
14452           check for ENABLE_NLS, not GETTEXT_PACKAGE
14453
14454 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
14455
14456         * configure.ac:
14457           if we don't have glib, fail before testing 2.8
14458         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
14459           fix a leak, should fix plugins-base testsuite
14460
14461 2005-10-11  Andy Wingo  <wingo@pobox.com>
14462
14463         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
14464         take the mode we're going to as an arg. Go head and set the mode
14465         and flushing flags now, so that if the activate function starts a
14466         thread all the flags will be in the right state.
14467         (post_activate): Renamed also. Just handle making sure streaming
14468         finishes for the deactivation case, and setting the deactivated
14469         mode.
14470         (gst_pad_set_active): Complain loudly if deactivation fails.
14471         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
14472         (gst_pad_activate_push): Adapt to pre/post_activate changes,
14473         remove the terrible hack.
14474
14475 2005-10-11  Wim Taymans  <wim@fluendo.com>
14476
14477         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
14478         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
14479         (gst_bin_recalc_state), (gst_bin_change_state_func),
14480         (gst_bin_dispose), (bin_bus_handler):
14481         * gst/gstbin.h:
14482         Prepare to make current EOS message queue more generic.
14483         Fix some typos.
14484
14485         * gst/gstevent.c: (gst_event_new_newsegment),
14486         (gst_event_parse_newsegment):
14487         * gst/gstevent.h:
14488         Rename base to stream_time.
14489
14490         * gst/gstmessage.h:
14491         Fix typo in docs.
14492
14493 2005-10-11  Wim Taymans  <wim@fluendo.com>
14494
14495         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
14496         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
14497         (gst_bin_change_state_func), (bin_bus_handler):
14498         * gst/gstbin.h:
14499         Work on proper clock selection.
14500
14501 2005-10-11  Edward Hervey  <edward@fluendo.com>
14502
14503         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
14504         * libs/gst/controller/gstcontroller.h:
14505         Added GList* version of _remove_properties() in order to be able to wrap
14506         it in bindings.
14507
14508 2005-10-11  Wim Taymans  <wim@fluendo.com>
14509
14510         * docs/design/part-states.txt:
14511         Some more docs.
14512
14513         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
14514         (gst_bin_change_state_func), (bin_bus_handler):
14515         Doc updates. Don't distribute the same clock over and over again.
14516
14517         * gst/gstclock.c:
14518         * gst/gstclock.h:
14519         Doc updates.
14520
14521         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
14522         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
14523         (gst_pad_send_event):
14524         * gst/gstpad.h:
14525         Make probe emission threadsafe again.
14526         Register quarks and move _get_name() from utils.
14527         Doc updates.
14528
14529         * gst/gstpipeline.c: (gst_pipeline_class_init),
14530         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
14531         Only redistribute the clock of it changed.
14532
14533         * gst/gstsystemclock.h:
14534         Doc updates. 
14535
14536         * gst/gstutils.c:
14537         * gst/gstutils.h:
14538         Moved the _flow_get_name() to GstPad.
14539
14540 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
14541
14542         * check/gst-libs/gdp.c: (GST_START_TEST):
14543         * check/gst/gstcaps.c: (GST_START_TEST):
14544         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
14545         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
14546         (gst_dp_packet_from_caps):
14547           fix more valgrind warnings before turning up the heat
14548
14549 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
14550
14551         * gst/parse/grammar.y:
14552           some cleanup before the hacking
14553
14554 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14555
14556         * gst/base/gstbasesrc.c: (gst_base_src_query):
14557           use conversions
14558         * gst/gstutils.c: (gst_guint64_to_gdouble),
14559         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
14560         * gst/gstutils.h:
14561           externalize, basesrc uses it
14562           obviously the implementation needs testing
14563
14564 2005-10-10  Wim Taymans  <wim@fluendo.com>
14565
14566         * tests/sched/Makefile.am:
14567         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
14568         (make_pipeline3), (make_pipeline4), (print_elem), (main):
14569
14570 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14571
14572         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
14573           apparently converting from guint64 to double is not implemented
14574           on MSVC
14575
14576 2005-10-10  Wim Taymans  <wim@fluendo.com>
14577
14578         * check/Makefile.am:
14579         * check/generic/states.c: (GST_START_TEST):
14580         * check/gst/gstbin.c: (GST_START_TEST):
14581         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
14582         * check/states/sinks.c: (GST_START_TEST):
14583         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
14584         (main):
14585         Check fixes, use API as stated in design docs, remove hacks.
14586
14587         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14588         (gst_base_sink_change_state):
14589         Catch stopping our task while we're shutting down.
14590
14591         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
14592         (gst_bin_remove_func), (gst_bin_get_state_func),
14593         (gst_bin_recalc_state), (gst_bin_change_state_func),
14594         (bin_bus_handler):
14595         * gst/gstbin.h:
14596         * gst/gstelement.c: (gst_element_init),
14597         (gst_element_get_state_func), (gst_element_abort_state),
14598         (gst_element_commit_state), (gst_element_lost_state),
14599         (gst_element_set_state), (gst_element_change_state),
14600         (gst_element_change_state_func):
14601         * gst/gstelement.h:
14602         New state change algorithm (see #318116)
14603
14604         * gst/gstpipeline.c: (gst_pipeline_class_init),
14605         (gst_pipeline_init), (gst_pipeline_set_property),
14606         (gst_pipeline_get_property), (do_pipeline_seek),
14607         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
14608         * gst/gstpipeline.h:
14609         Remove crude state change hacks.
14610
14611         * gst/gstutils.h:
14612         Remove crude hacks.
14613
14614         * tools/gst-launch.c: (main):
14615         Fixes for state change. Needs some more work to fully use the
14616         new stuff.
14617
14618 2005-10-10  Andy Wingo  <wingo@pobox.com>
14619
14620         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
14621
14622         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
14623         this flag, but it's not even in GLib 2.6. Odd. Hack around the
14624         issue.
14625
14626 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
14627
14628         * gst/gstiterator.c: (gst_iterator_new):
14629           Fix my previous commit: GTypes passed to gst_iterator_new()
14630           can be fundamental types.
14631
14632 2005-10-10  Wim Taymans  <wim@fluendo.com>
14633
14634         * gst/gstelement.c: (gst_element_iterate_pad_list),
14635         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
14636         (gst_element_iterate_sink_pads):
14637         Use src/sink pads lists for the respective iterators instead
14638         of filtering.
14639
14640 2005-10-10  Andy Wingo  <wingo@pobox.com>
14641
14642         Merged in popt removal + GOption addition patch from Ronald, bug
14643         #169772.
14644
14645         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
14646         GstElement macros around, remove popt-related symbols, add goption
14647         stuff.
14648
14649         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
14650         
14651         * docs/gst/Makefile.am:
14652         * docs/libs/Makefile.am: No POPT_CFLAGS.
14653         
14654         * examples/manual/Makefile.am:
14655         * docs/manual/basics-init.xml: Doc updates with an example.
14656         
14657         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
14658         (gst_init), (parse_one_option), (parse_goption_arg):
14659         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
14660         bit of hand merging and debugging to get the GOption stuff working
14661         tho.
14662         
14663         * tests/Makefile.am:
14664         * tools/Makefile.am:
14665         * tools/gst-inspect.c: (main):
14666         * tools/gst-launch.c: (main):
14667         * tools/gst-run.c: (main):
14668         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
14669
14670 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
14671
14672         * gst/gstiterator.c: (gst_iterator_new):
14673           Add assertions to make sure passed GType is likely to really
14674           be a GType (as the compiler won't catch it if the size and
14675           GType arguments get mixed up, see #318447).
14676
14677 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
14678
14679         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
14680
14681         * gst/gstbin.c: (gst_bin_iterate_sorted):
14682           Pass GType and size arguments to gst_iterator_new() in the right
14683           order (maybe we should make _new() take the GType as first argument
14684           just like _new_list()?) (#318447).
14685           
14686
14687 2005-10-10  Wim Taymans  <wim@fluendo.com>
14688
14689         * gst/gstelement.c: (gst_element_finalize):
14690         And free the GStaticRecMutex too
14691
14692 2005-10-10  Andy Wingo  <wingo@pobox.com>
14693
14694         * gst/gstelement.c (gst_element_init, gst_element_finalize):
14695         Allocate and free the mutex properly.
14696
14697         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
14698         New macros.
14699         (GstElement): The state_lock is now recursive. Rebuild your
14700         plugins, suckers. Old macros adapted.
14701
14702         * docs/gst/gstreamer-sections.txt: Doc updates.
14703
14704         * gst/gstutils.h:
14705         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
14706         (g_static_rec_cond_wait): Ported from state changes patch, while
14707         we wait on bug #317802 to be solved in a well-distributed GLib.
14708
14709         * gst/gstelement.c (gst_element_change_state_func): Renamed from
14710         gst_element_change_state, variable name changes.
14711         (gst_element_change_state): Split out of gst_element_set_state in
14712         preparation for the state change merge. Doesn't pay attention to
14713         the 'transition' argument.
14714         (gst_element_set_state): Updates, hopefully purely cosmetic.
14715         (gst_element_sync_state_with_parent): MT-safety. Ported from the
14716         state change patch.
14717         (gst_element_get_state_func): Renamed from get_state, cosmetic
14718         changes.
14719
14720 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14721
14722         * gst/elements/gstelements.c:
14723         * win32/GStreamer.vcproj:
14724         * win32/config.h:
14725         * win32/dirent.c: (_tseekdir):
14726         * win32/gst-inspect.vcproj:
14727         * win32/gst-launch.vcproj:
14728         * win32/gstconfig.h:
14729         * win32/gstelements.vcproj:
14730         * win32/gstenumtypes.c: (gst_object_flags_get_type):
14731         * win32/gstreamer.def:
14732         * win32/msvc71.sln:
14733           updates for the win32 build (patch from Sebastien Moutte)
14734
14735 2005-10-10  Andy Wingo  <wingo@pobox.com>
14736
14737         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
14738         gst_bin_get_state, cleaned up (but no logic changes).
14739         (bin_element_is_sink): Comment updates.
14740         (sink_iterator_filter): Remove needless cast.
14741         (gst_bin_iterate_sinks): Doc update.
14742         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
14743         cleaned up (but no logic changes).
14744
14745         * check/states/sinks.c (test_src_sink): Cleanups from the state
14746         change patch.
14747         (test_livesrc_sink): Sync on the state.
14748
14749         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
14750         the state change patch.
14751
14752         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
14753         change patch.
14754
14755         * check/gst/gstbin.c: Merge in some style fixes and additional
14756         checks from Wim's state change patch.
14757
14758 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
14759
14760         * gst/base/gsttypefindhelper.c: (helper_find_peek),
14761         (gst_type_find_helper):
14762           Check whether we have the requested data already in our list of
14763           cached buffers before pulling a new buffer; also make the buffer
14764           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
14765
14766 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14767
14768         * gst/gstcaps.c:
14769         * gst/gstevent.c:
14770           doc updates
14771         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
14772           don't use long long, it's not portable.  Replacing with
14773           gint64 seems to work; let's hope no skeletons fall out of the closet.
14774
14775 2005-10-10  Andy Wingo  <wingo@pobox.com>
14776
14777         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
14778
14779 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
14780
14781         * docs/gst/gstreamer-sections.txt:
14782         * gst/gstevent.c:
14783         * gst/gstevent.h:
14784         * gst/gstinfo.c:
14785         * gst/gstinfo.h:
14786         * gst/gstmessage.c: (gst_message_parse_state_changed):
14787         * gst/gstpad.c:
14788         * gst/gstpad.h:
14789           more docs, fix compilation
14790
14791 2005-10-09  Philippe Khalaf <burger@speedy.org>
14792         * gst/gstmessage.c:
14793           Fixed a few forgotten variables on previous commit
14794
14795 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
14796
14797         * gst/base/gsttypefindhelper.c: (helper_find_peek):
14798           Fix evil typefind crasher: getrange() might return a short
14799           buffer at the end of a file, but gst_type_find_peek() must
14800           either return the full data as requested or NULL, but
14801           never a short buffer.
14802
14803 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
14804
14805         * gst/gstmessage.c: (gst_message_new_state_changed),
14806         (gst_message_parse_state_changed):
14807         * gst/gstmessage.h:
14808           don't use "new", it's a C++ keyword
14809
14810 2005-10-08  Wim Taymans  <wim@fluendo.com>
14811
14812         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
14813         * gst/gstelement.c: (gst_element_post_message):
14814         * gst/gstpipeline.c: (gst_pipeline_change_state):
14815         Small docs and debug updates.
14816
14817 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
14818
14819         * docs/gst/gstreamer-sections.txt:
14820         * gst/gstelementfactory.c:
14821         * gst/gstevent.c:
14822         * gst/gsttaglist.c:
14823           more docs
14824
14825 2005-10-08  Wim Taymans  <wim@fluendo.com>
14826
14827         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
14828         (gst_bin_dispose), (bin_bus_handler):
14829         Fix typos, add comments.
14830         Clear EOS list when going to PAUSED from any direction and do it
14831         in a threadsafe way.
14832         Get base time in a threadsafe way too.
14833         Fix confusing debug in the change_state function.
14834         Various other small cleanups.
14835         
14836         * gst/gstelement.c: (gst_element_post_message):
14837         Fix very verbose bus posting code.
14838
14839         * gst/gstpipeline.c: (gst_pipeline_class_init),
14840         (gst_pipeline_set_property), (gst_pipeline_get_property),
14841         (gst_pipeline_change_state):
14842         Small ARG_ -> PROP_ cleanup
14843
14844 2005-10-08  Wim Taymans  <wim@fluendo.com>
14845
14846         * gst/gstbin.c: (is_eos), (bin_bus_handler):
14847         Do a less CPU demanding EOS check because we can.
14848
14849 2005-10-08  Wim Taymans  <wim@fluendo.com>
14850
14851         * libs/gst/dataprotocol/dataprotocol.c:
14852         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
14853         (gst_dp_packet_from_event):
14854         * libs/gst/dataprotocol/dataprotocol.h:
14855         * libs/gst/dataprotocol/dp-private.h:
14856         It's about time we bump the version number.
14857         Since event types don't fit in the guint8 anymore describing
14858         the payload type, make payload type 16 bits wide.
14859
14860 2005-10-08  Wim Taymans  <wim@fluendo.com>
14861
14862         * docs/design/part-TODO.txt:
14863         * docs/design/part-clocks.txt:
14864         * docs/design/part-events.txt:
14865         * docs/design/part-gstbin.txt:
14866         * docs/design/part-gstelement.txt:
14867         * docs/design/part-gstpipeline.txt:
14868         * docs/design/part-live-source.txt:
14869         * docs/design/part-messages.txt:
14870         * docs/design/part-overview.txt:
14871         * docs/design/part-states.txt:
14872         Many doc updates.
14873
14874 2005-10-08  Wim Taymans  <wim@fluendo.com>
14875
14876         * gst/gstevent.c:
14877         * gst/gstevent.h:
14878         Fix event quark registration.
14879         Add some space between events so we can insert them in the
14880         right groups.
14881
14882 2005-10-08  Wim Taymans  <wim@fluendo.com>
14883
14884         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14885         (gst_base_sink_handle_buffer):
14886         Better log message.
14887
14888         * gst/gstbus.h:
14889         * gst/gstelement.h:
14890         More docs.
14891
14892         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
14893         (gst_queue_set_property), (gst_queue_get_property):
14894         * gst/gstqueue.h:
14895         Remove old unused properties.
14896
14897 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
14898         * docs/gst/gstreamer-sections.txt:
14899         * gst/gstmessage.c:
14900         * gst/gstmessage.h:
14901         * gst/gstminiobject.c:
14902         * gst/gstminiobject.h:
14903         * gst/gstobject.h:
14904         * gst/gstpad.h:
14905         * gst/gstutils.h:
14906           lots of new docs and doc fixes
14907
14908 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
14909
14910         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
14911         * gst/gstplugin.h:
14912         * gst/gstregistry.c: (gst_registry_lookup_locked),
14913         (gst_registry_scan_path_level):
14914         * gst/gstregistryxml.c: (load_plugin):
14915           Only ever load one plugin for a given plugin basename.
14916           This ensures correct overriding of GST_PLUGIN_PATH over
14917           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
14918           system installed plugins.
14919
14920 2005-10-08  Wim Taymans  <wim@fluendo.com>
14921
14922         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14923         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
14924         Prepare for doing QOS.
14925
14926 2005-10-08  Wim Taymans  <wim@fluendo.com>
14927
14928         * check/gst/gstbin.c: (GST_START_TEST):
14929         * check/pipelines/cleanup.c: (GST_START_TEST):
14930         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
14931         Allow new clock message too.
14932
14933 2005-10-08  Wim Taymans  <wim@fluendo.com>
14934
14935         * gst/gstmessage.c: (gst_message_new_error),
14936         (gst_message_new_warning), (gst_message_new_tag),
14937         (gst_message_new_state_changed), (gst_message_new_clock_provide),
14938         (gst_message_new_clock_lost), (gst_message_new_new_clock),
14939         (gst_message_new_segment_start), (gst_message_new_segment_done),
14940         (gst_message_parse_state_changed),
14941         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
14942         (gst_message_parse_new_clock):
14943         * gst/gstmessage.h:
14944         Also carry the clock in question.
14945
14946 2005-10-08  Wim Taymans  <wim@fluendo.com>
14947
14948         * gst/gstmessage.c: (gst_message_new_custom),
14949         (gst_message_new_eos), (gst_message_new_error),
14950         (gst_message_new_warning), (gst_message_new_tag),
14951         (gst_message_new_state_changed), (gst_message_new_clock_provide),
14952         (gst_message_new_new_clock), (gst_message_new_segment_start),
14953         (gst_message_new_segment_done), (gst_message_parse_state_changed),
14954         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
14955         * gst/gstmessage.h:
14956         Clean up.
14957         Added clock related messages.
14958
14959         * gst/gstpipeline.c: (gst_pipeline_change_state):
14960         Post message when the clock changed.
14961
14962         * tools/gst-launch.c: (event_loop):
14963         Print new clock.
14964
14965 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
14966
14967         * tools/gst-inspect.c: (print_element_properties_info):
14968           Can't pass NULL strings to g_print() on windows.
14969
14970 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
14971
14972         * docs/Makefile.am:
14973         * docs/gst/Makefile.am:
14974         * docs/gst/gstreamer-docs.sgml:
14975         * docs/gst/running.xml:
14976         * docs/version.entities.in:
14977           add a chapter on running GStreamer.
14978           document GST_DEBUG and GST_PLUGIN* env vars
14979
14980 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
14981
14982         * Makefile.am:
14983           remove include dir
14984         * configure.ac:
14985           remove PLUGINS_BUILDDIR stuff
14986         * gst/gst.c: (init_post):
14987           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
14988         * idiottest.mak:
14989           remove, it was condescending and not needed
14990
14991 2005-10-08  Wim Taymans  <wim@fluendo.com>
14992
14993         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
14994         (gst_base_sink_handle_object), (gst_base_sink_event),
14995         (gst_base_sink_wait), (gst_base_sink_handle_event),
14996         (gst_base_sink_change_state):
14997         * gst/base/gstbasesink.h:
14998         Repost EOS message while going to PLAYING if still EOS.
14999         Make sure that when receiving a FLUSH_START we don't attempt
15000         to sync on the clock anymore.
15001
15002 2005-10-08  Wim Taymans  <wim@fluendo.com>
15003
15004         * tools/gst-launch.c: (event_loop):
15005         Better message printout.
15006
15007 2005-10-08  Wim Taymans  <wim@fluendo.com>
15008
15009         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
15010         (gst_bin_child_proxy_get_children_count):
15011         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
15012         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
15013         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
15014         (gst_child_proxy_set_valist):
15015         * gst/parse/grammar.y:
15016         Make ChildProxy threadsafe and fix mem leaks.
15017
15018 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
15019
15020         * gst/gst.c: (init_post):
15021           debug the GST_PLUGIN_ env vars
15022
15023 2005-10-08  Wim Taymans  <wim@fluendo.com>
15024
15025         * check/gst/gstbin.c: (GST_START_TEST):
15026         * check/gst/gstmessage.c: (GST_START_TEST):
15027         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
15028         * gst/gstelement.c: (gst_element_commit_state),
15029         (gst_element_lost_state):
15030         * gst/gstmessage.c: (gst_message_new_state_changed),
15031         (gst_message_parse_state_changed):
15032         * gst/gstmessage.h:
15033         * tools/gst-launch.c: (event_loop):
15034         Added extra field to STATE_CHANGE message with the pending
15035         state, which will be different from the new state soon.
15036
15037 2005-10-08  Wim Taymans  <wim@fluendo.com>
15038
15039         * gst/gstbus.c: (gst_bus_pop):
15040         * gst/gstclock.c:
15041         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
15042         Small cleanups and doc updates.
15043
15044 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
15045
15046         * gst/gst.c: (init_pre):
15047         * gst/gstbin.c: (gst_bin_add_func):
15048           log distributing clocks and base time
15049         * gst/gstregistry.c: (gst_registry_add_plugin),
15050         (gst_registry_scan_path_level), (gst_registry_scan_path):
15051           clean up the debugging output a little
15052         * gst/gstutils.c: (gst_element_state_get_name):
15053           warn about a memleak (I've actually seen this be used, though
15054           it was probably a bug)
15055
15056 2005-10-07  Wim Taymans  <wim@fluendo.com>
15057
15058         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
15059         (gst_base_src_init), (gst_base_src_default_newsegment),
15060         (gst_base_src_newsegment), (gst_base_src_do_seek),
15061         (gst_base_src_loop), (gst_base_src_start):
15062         * gst/base/gstbasesrc.h:
15063         Make the newsegment event customizable by subclasses.
15064
15065 2005-10-07  Wim Taymans  <wim@fluendo.com>
15066
15067         * gst/gstevent.c: (gst_event_new_buffersize),
15068         (gst_event_parse_buffersize):
15069         * gst/gstevent.h:
15070         New event for future idea.
15071
15072 2005-10-07  Andy Wingo  <wingo@pobox.com>
15073
15074         * gst/gstelement.c (gst_element_post_message): Doc update.
15075
15076         * docs/gst/gstreamer-sections.txt: Update.
15077
15078         * gst/gstmessage.c (gst_message_new_application): Made into a
15079         function like honest API calls.
15080         (gst_message_new_element): New message type.
15081
15082         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
15083
15084         * check/elements/fakesrc.c (test_no_preroll): New check, checks
15085         that setting a live fakesrc to PAUSED returns NO_PREROLL both
15086         times.
15087
15088         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
15089         NO_PREROLL from gst_element_change_state to fall through.
15090
15091 2005-10-07  Wim Taymans  <wim@fluendo.com>
15092
15093         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
15094         (gst_ghost_pad_do_activate_push):
15095         Activating a ghostpad with no internal pad in push mode
15096         is ok.
15097
15098 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
15099
15100         * gst/gstobject.h:
15101           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
15102           Fixes compilation on Windows.
15103
15104 2005-10-07  Michael Smith <msmith@fluendo.com>
15105
15106         * tools/gst-inspect.c:
15107           Print out feature and plugin count at the end when printing out
15108           all features.
15109
15110 2005-10-04  Michael Smith <msmith@fluendo.com>
15111
15112         * gst/gsterror.c: (_gst_stream_errors_init):
15113           Add another error string used in a few existing plugins.
15114
15115         * gst/gstplugin.c:
15116         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
15117         * tools/gst-inspect.c: (print_element_info):
15118           When a feature disappears from a plugin (and the feature exists in
15119           the cached registry file), things went horribly wrong. This isn't a
15120           complete fix, we should actually be removing the 'missing' features
15121           from the features list when we load the actual plugin. That's not
15122           yet implemented. 
15123
15124 2005-10-04  Johan Dahlin  <johan@gnome.org>
15125
15126         * check/gst/gstiterator.c: (GST_START_TEST):
15127         * gst/gstbin.c: (gst_bin_iterate_elements),
15128         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
15129         * gst/gstelement.c: (gst_element_iterate_pads):
15130         * gst/gstformat.c: (gst_format_iterate_definitions):
15131         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
15132         (gst_iterator_new_list), (gst_iterator_filter):
15133         * gst/gstiterator.h:
15134         * gst/gstquery.c: (gst_query_type_iterate_definitions):
15135         Add a GType to GstIterator, update callsites and tests.
15136
15137 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
15138
15139         * gst/gstpad.c: (gst_pad_event_default_dispatch):
15140           give events a chance to be handled by event probes when the pad
15141           is not linked
15142
15143 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
15144
15145         * gst/gstevent.c: (gst_event_type_get_name),
15146         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
15147         * gst/gstevent.h:
15148           add string representations for event types
15149
15150 2005-10-06  Wim Taymans  <wim@fluendo.com>
15151
15152         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
15153         Don't use NULL pointers.
15154
15155 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
15156
15157         * gst/gst_private.h:
15158         * gst/gstbus.c:
15159         * gst/gstelement.c:
15160         * gst/gstinfo.c:
15161         * gst/gstpluginfeature.c:
15162           widen the debug category in output to fit the biggest one we have
15163           add a bus category and use it
15164           play with the colors
15165           fix up some categories
15166
15167 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
15168
15169         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
15170           add push activation of sink ghost pads.
15171           Andye, please verify
15172
15173 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
15174
15175         * gst/gstutils.c: (gst_element_link_pads):
15176           fix a bug in the case where neither element has a pad
15177         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
15178           add a test for that case
15179
15180 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
15181
15182         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
15183           emit have-data before checking for peers.  This allows
15184           for probe handlers to connect elements.  This helps autopluggers.
15185         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
15186         (gst_pad_suite):
15187           add six checks, linked/unlinked with no/true/false probe
15188
15189 2005-10-04  Wim Taymans  <wim@fluendo.com>
15190
15191         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
15192         (gst_fake_sink_event), (gst_fake_sink_preroll),
15193         (gst_fake_sink_render), (gst_fake_sink_change_state):
15194         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
15195         (gst_fake_src_get_property), (gst_fake_src_create),
15196         (gst_fake_src_stop):
15197         * gst/elements/gstidentity.c: (gst_identity_stop):
15198         Protect last_message with lock.
15199
15200 2005-10-04  Edward Hervey  <edward@fluendo.com>
15201
15202         * gst/gstformat.h: 
15203         Added precision in the comments for GST_FORMAT_DEFAULT
15204
15205 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
15206
15207         * tools/gst-launch.c: (main):
15208           Don't try to run erroneous pipelines.
15209
15210 2005-10-04  Julien MOUTTE  <julien@moutte.net>
15211
15212         * gst/gstbus.c: We don't need this header.
15213
15214 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
15215
15216         * configure.ac:
15217           back to development
15218
15219 === release 0.9.3 ===
15220
15221 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
15222
15223         * README:
15224         * configure.ac:
15225           Releasing 0.9.3, "Unregistered"
15226
15227 2005-10-03  Andy Wingo  <wingo@pobox.com>
15228
15229         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
15230         whereby calling a pad's activatepush() function can start a thread
15231         that starts to push or pull before the pad gets the FLUSHING flag
15232         unset. Hack around it by holding the stream lock until the flag is
15233         set. Need to replace this with a proper solution. Together with
15234         the ghost pad fixes, this fixes mp3 playing/tagreading.
15235
15236         * docs/design/part-gstghostpad.txt: Add a note about activation of
15237         proxy pads outside of ghost pads.
15238
15239         * gst/gstghostpad.c: Implement the ghost pad activation design.
15240
15241 2005-10-02  Andy Wingo  <wingo@pobox.com>
15242
15243         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
15244         It is volatile, after all.
15245
15246         * docs/design/part-gstghostpad.txt: Flesh out activation with
15247         ghost pads.
15248
15249         * gst/base/gstbasesrc.c (gst_base_src_init): Use
15250         GST_DEBUG_FUNCPTR.
15251
15252 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
15253
15254         * configure.ac:
15255           Fix (unused) AM_CONDITIONAL tests.
15256
15257 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
15258
15259         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
15260
15261         * gst/gstutils.c: (gst_pad_query_convert):
15262           Add assertion that makes sure src_val is >=0, just like
15263           gst_query_new_convert() has. (#315895)
15264
15265 2005-09-30  Edward Hervey  <edward@fluendo.com>
15266
15267         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
15268         Let's not iterate pads we're not interested in, it avoids getting 
15269         sky-high refcounts on sinkpad.
15270
15271 2005-09-30  Wim Taymans  <wim@fluendo.com>
15272
15273         * gst/gstelement.c: (gst_element_set_state),
15274         (gst_element_change_state):
15275         Small tweak, element in ASYNC remains ASYNC.
15276
15277 2005-09-30  Wim Taymans  <wim@fluendo.com>
15278
15279         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
15280         Only error is an error.
15281
15282         * gst/gstbin.c: (gst_bin_change_state):
15283         Better debugging.
15284
15285         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
15286         Also call pad_block in pad alloc.
15287
15288         * gst/gstutils.c: (gst_flow_get_name):
15289         Better debugging.
15290
15291 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
15292
15293         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
15294         (gst_base_src_get_range):
15295           Fix documentation typos. Add some more debug info.
15296
15297 2005-09-29  David Schleef  <ds@schleef.org>
15298
15299         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
15300           more end-user friendly.
15301         * tools/gst-inspect.c: (main): Check if command-line argument is
15302           a file and attempt to load that file as a plugin.
15303
15304 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
15305
15306         * check/gst/gstbin.c:
15307         * check/states/sinks.c:
15308           fix tests for the new warning
15309         * check/gst/gstpipeline.c:
15310           add a test for pipeline and bus interaction
15311         * gst/gstelement.c:
15312           elements should be NULL if they get disposed; add a warning if not
15313
15314 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
15315
15316         * gst/gstobject.c:
15317           for 2.6 refcounting, make debug log more correct by printing
15318           the actual refcounts at the time of swap (Wim)
15319
15320 2005-09-29  Andy Wingo  <wingo@pobox.com>
15321
15322         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
15323         removes signal watches previously added via
15324         gst_bus_add_signal_watch.
15325         (gst_bus_add_signal_watch): Don't return the source id, just store
15326         it on the bus if there wasn't an id already.
15327
15328         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
15329         add_signal_watch and remove_signal_watch.
15330
15331 2005-09-29  Edward Hervey  <edward@fluendo.com>
15332
15333         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
15334         Better if we actually iterate the list :)
15335
15336 2005-09-29  Wim Taymans  <wim@fluendo.com>
15337
15338         * check/gst/gstbin.c: (GST_START_TEST):
15339         Change for new bus API.
15340
15341         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
15342         (send_messages), (GST_START_TEST), (gstbus_suite):
15343         Change for new bus signal API.
15344
15345         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
15346         (gst_bus_source_prepare), (gst_bus_source_check),
15347         (gst_bus_create_watch), (gst_bus_add_watch_full),
15348         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
15349         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
15350         * gst/gstbus.h:
15351         Remove support for multiple GSources operating on different
15352         message types as it is too complex and unneeded when using
15353         signals.
15354         Added support for receiving signals from the bus.
15355
15356 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
15357
15358         * docs/libs/tmpl/gstdataprotocol.sgml:
15359         * docs/manual/advanced-dataaccess.xml:
15360         * gst/elements/gstcapsfilter.c:
15361         * gst/gstutils.c:
15362           rename filter-caps to caps property
15363
15364 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
15365
15366         * gst/gstvalue.c: (gst_value_deserialize_fraction):
15367           More robust fraction string parsing.
15368
15369         * docs/pwg/appendix-porting.xml:
15370           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
15371
15372 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
15373
15374         * gst/gstcaps.c: (gst_caps_do_simplify):
15375           Thou shalt not free a structure and then continue using it
15376           in the next loop iteration.
15377
15378         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
15379         (gst_caps_suite):
15380           Add test case for caps simplification.
15381
15382 2005-09-29  Wim Taymans  <wim@fluendo.com>
15383
15384         * check/gst/gstbin.c: (GST_START_TEST):
15385         Oops.
15386
15387 2005-09-29  Wim Taymans  <wim@fluendo.com>
15388
15389         * check/gst/gstbin.c: (GST_START_TEST):
15390         Add bus to bin.
15391
15392         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
15393         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
15394         (find_element), (gst_bin_sort_iterator_next),
15395         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
15396         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
15397         (gst_bin_change_state), (gst_bin_dispose):
15398         A bin does not have a bus, it gets the bus from the parent.
15399
15400         * gst/gstelement.c: (gst_element_requires_clock),
15401         (gst_element_provides_clock), (gst_element_is_indexable),
15402         (gst_element_is_locked_state), (gst_element_change_state),
15403         (gst_element_set_bus_func):
15404         Small cleanups.
15405
15406         * gst/gstpipeline.c: (gst_pipeline_class_init),
15407         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
15408         The pipeline provides a bus.
15409
15410 2005-09-28  Johan Dahlin  <johan@gnome.org>
15411
15412         * gst/gstmessage.c (gst_message_parse_state_changed): Use
15413         gst_structure_get_enum instead of gst_structure_get_int
15414
15415         * gst/gststructure.c (gst_structure_get_enum): Impl.
15416
15417         * gst/gststructure.h (gst_structure_get_enum): Add
15418
15419         * docs/gst/gstreamer-sections.txt: Ditto
15420
15421         * gst/gstmessage.c (gst_message_new_state_changed): Use
15422         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
15423         which does introspection.
15424         Reviewed by Christian Schaller
15425
15426 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
15427
15428         * gst/gstinfo.c: (gst_debug_log_default):
15429           don't do dummy g_strdup()s
15430         * libs/gst/controller/gstcontroller.c:
15431         (on_object_controlled_property_changed),
15432         (gst_controlled_property_new), (gst_controller_new_valist),
15433         (gst_controller_new_list),
15434         (gst_controller_remove_properties_valist), (gst_controller_set),
15435         (gst_controller_get), (gst_controller_sync_values),
15436         (gst_controller_get_value_array), (_gst_controller_class_init),
15437         (gst_controller_get_type):
15438         * libs/gst/controller/gstcontroller.h:
15439         * libs/gst/controller/gstinterpolation.c:
15440         (gst_controlled_property_find_timed_value_node):
15441           convert // to /**/ comments
15442
15443 2005-09-28  Wim Taymans  <wim@fluendo.com>
15444
15445         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
15446         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
15447         (gst_bus_sync_signal_handler):
15448         * gst/gstbus.h:
15449         Added async-message and sync-message signals to the bus.
15450         Added helper BusFunc to emit signals for all posted messages.
15451
15452         * gst/gstmessage.c: (gst_message_type_get_name),
15453         (gst_message_type_to_quark), (gst_message_get_type):
15454         * gst/gstmessage.h:
15455         Register quarks for message names.
15456
15457 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
15458
15459         * docs/libs/gstreamer-libs-sections.txt:
15460         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
15461         (gst_controller_new_list):
15462         * libs/gst/controller/gstcontroller.h:
15463           added another constructor for language bindings
15464
15465 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
15466
15467         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
15468           add another check
15469         * gst/gstbus.c:
15470           add some doc
15471         * gst/gstinfo.c: (_gst_debug_init):
15472           slightly more readable color for refcount debugging
15473
15474 2005-09-28  Wim Taymans  <wim@fluendo.com>
15475
15476         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
15477         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
15478         (find_element), (gst_bin_sort_iterator_next),
15479         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
15480         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
15481         (gst_bin_change_state), (gst_bin_dispose):
15482         Small doc fixes. get_clock -> provide_clock.
15483
15484         * gst/gstelement.c: (gst_element_class_init),
15485         (gst_element_provides_clock), (gst_element_provide_clock),
15486         (gst_element_get_clock), (gst_element_commit_state),
15487         (gst_element_lost_state):
15488         * gst/gstelement.h:
15489         Make get/set_clock() symetric. Add provide_clock vmethod since
15490         that is actually what this function does.
15491
15492         * gst/gstpipeline.c: (gst_pipeline_class_init),
15493         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
15494         (gst_pipeline_get_clock):
15495         get_clock -> provide_clock.
15496
15497 2005-09-28  Andy Wingo  <wingo@pobox.com>
15498
15499         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
15500         lieu of real docs...
15501
15502         * gst/elements/gstfdsrc.c: Cleaned up a bit.
15503
15504 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
15505
15506         * gst/elements/gstcapsfilter.c:
15507         * gst/elements/gstfakesink.c:
15508         * gst/elements/gstfakesrc.c:
15509         * gst/elements/gstfdsink.c:
15510         * gst/elements/gstfdsrc.c:
15511         * gst/elements/gstfilesink.c:
15512         * gst/elements/gstfilesrc.c:
15513         * gst/elements/gstidentity.c:
15514         * gst/elements/gsttee.c:
15515         * gst/elements/gsttypefindelement.c:
15516           Make element details static.
15517
15518 2005-09-28  Wim Taymans  <wim@fluendo.com>
15519
15520         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
15521         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
15522         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
15523         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
15524         (gst_bin_change_state), (gst_bin_dispose):
15525         Some documentation updates.
15526         Clean up dispose handlers.
15527
15528         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
15529         * gst/gstpad.c: (gst_pad_dispose):
15530         Clean up dispose handler.
15531
15532         * gst/gstpipeline.c: (gst_pipeline_change_state):
15533         Removed spurious UNLOCK.
15534
15535 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
15536
15537         * docs/gst/gstreamer-sections.txt:
15538         * gst/base/gstbasesrc.h:
15539         * gst/gstelement.h:
15540         * gst/gstevent.h:
15541         * gst/gstobject.h:
15542         * gst/gstpad.h:
15543         * gst/gstpipeline.c:
15544         * gst/gstpipeline.h:
15545         * gst/gstutils.h:
15546         * gst/gstxml.h:
15547           added two new functions to the docs
15548                 documents all undocumented GstXXXFlags
15549                 completed some incomplete docs 
15550
15551 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
15552
15553         * gst/gstbin.c: (gst_bin_dispose):
15554         * gst/gstelement.c: (gst_element_dispose):
15555           remove now useless and leaky resurrection code in dispose
15556         * gst/base/gstbasesrc.c: (gst_base_src_init):
15557         * gst/gstelementfactory.c: (gst_element_factory_create):
15558         * gst/gstobject.c: (gst_object_set_parent):
15559           add some debugging
15560
15561 2005-09-27  Wim Taymans  <wim@fluendo.com>
15562
15563         * docs/design/part-TODO.txt:
15564         Update TODO.
15565
15566         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
15567         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
15568         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
15569         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
15570         (gst_bin_change_state):
15571         * gst/gstelement.h:
15572         Remove element variable, we keep element info in the iterator now.
15573
15574 2005-09-27  Andy Wingo  <wingo@pobox.com>
15575
15576         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
15577         values.
15578
15579 2005-09-27  Wim Taymans  <wim@fluendo.com>
15580
15581         * check/gst/gstbin.c: (GST_START_TEST):
15582         Enable check that works now.
15583
15584         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
15585         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
15586         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
15587         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
15588         (gst_bin_change_state):
15589         * gst/gstbin.h:
15590         Redid the state change algorithm using a topological sort algo.
15591         Handles all cases correctly.
15592         Exposed iterator for state change order.
15593
15594         * gst/gstelement.h:
15595         Temp storage for state changes. Need to get rid of this soon.
15596
15597 2005-09-27  Wim Taymans  <wim@fluendo.com>
15598
15599         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
15600         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
15601         (link_fold_func), (gst_pad_proxy_setcaps):
15602         Leak fixes, the fold functions need to unref the passed object and
15603         _get_parent_*() returns ref to parent.
15604
15605 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
15606
15607         * check/gst/gstbuffer.c: (test_make_writable):
15608           Plug leak in test case and fix 'make check-valgrind'
15609
15610 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
15611
15612         * gst/gstbuffer.c: (gst_subbuffer_init):
15613           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
15614           works correctly in all circumstances (we could have just copied
15615           the parent buffer's readonly flag, but conceptually it seems
15616           cleaner to mark all subbuffers as read-only). (based on patch
15617           by Alessandro Decina, #314710).
15618         
15619         * check/gst/gstbuffer.c: (create_read_only_buffer),
15620         (test_make_writable), (test_subbuffer_make_writable),
15621         (gst_test_suite):
15622           Add some tests for gst_buffer_make_writable().
15623
15624 2005-09-27  Wim Taymans  <wim@fluendo.com>
15625
15626         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
15627         use gst_object_has_ancestor().
15628
15629         * gst/gstobject.c: (gst_object_has_ancestor):
15630         * gst/gstobject.h:
15631         gst_object_has_ancestor() copied from gstbin.c as it is a
15632         useful function.
15633
15634         * tests/instantiate/create.c: (create_all_elements):
15635         * tests/lat.c: (handoff_src), (handoff_sink):
15636         * tests/sched/runxml.c: (main):
15637         * tests/seeking/seeking1.c: (main):
15638         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
15639         (main):
15640         Fix compilation of some tests.
15641
15642 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
15643
15644         * gst/gsterror.h:
15645           Remove comment. GST_TYPE_G_ERROR is here to stay,
15646           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
15647           (#316961, #300610).
15648
15649 2005-09-26  Wim Taymans  <wim@fluendo.com>
15650
15651         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
15652         Added check that shows error in state change order.
15653
15654 2005-09-26  Wim Taymans  <wim@fluendo.com>
15655
15656         * gst/gstbin.c: (gst_bin_change_state):
15657         Make state change function use 3 queues again, we were
15658         adding elements in the wrong order.
15659
15660         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
15661         Some debug info,
15662
15663         * gst/gstpad.c: (gst_pad_dispose):
15664         Added some debug info first.
15665
15666 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
15667
15668         * docs/design/draft-push-pull.txt:
15669         * docs/design/part-events.txt:
15670         * docs/design/part-overview.txt:
15671         * docs/design/part-scheduling.txt:
15672           Replace all _pull_region() with _pull_range()
15673           
15674 2005-09-26  Andy Wingo  <wingo@pobox.com>
15675
15676         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
15677
15678         * check/gst-libs/controller.c: Update for controller api change.
15679
15680         * configure.ac: 
15681         * tests/Makefile.am:
15682         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
15683         over by GLib bug 118439.
15684         
15685         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
15686         routines to a function.
15687
15688         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
15689
15690         * libs/gst/controller/gsthelper.c:
15691         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
15692         (gst_object_sync_values): Renamed from sink_values. Ugh.
15693
15694         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
15695
15696         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
15697         Renamed from controller_key, as it is exported.
15698
15699         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
15700
15701 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
15702
15703         * gst/Makefile.am:
15704         * gst/gst.h:
15705         * gst/gstpad.h:
15706         * gst/gstpadtemplate.h:
15707         * gst/gstquery.c:
15708         * gst/gstquery.h:
15709         * gst/gstqueryutils.c:
15710         * gst/gstqueryutils.h:
15711           remove queryutils headers after moving the two used functions
15712           to gstquery.  also fixes build problem for gstsiddec
15713
15714 2005-09-26  Michael Smith <msmith@fluendo.com>
15715
15716         * tools/gst-launch.1.in:
15717         Correct documentation in manpage of debug syntax
15718
15719 2005-09-26  Wim Taymans  <wim@fluendo.com>
15720
15721         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
15722         (gst_base_src_is_seekable), (gst_base_src_change_state):
15723         Some more debugging info.
15724
15725 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
15726
15727         * docs/gst/gstreamer-sections.txt:
15728         * gst/base/gstbasetransform.h:
15729         * gst/gstindex.h:
15730           added more docs
15731
15732 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
15733
15734         * docs/gst/.cvsignore:
15735         * docs/gst/tmpl/.cvsignore:
15736         * docs/gst/tmpl/gstpipeline.sgml:
15737         * docs/gst/tmpl/gstplugin.sgml:
15738         * gst/gstpipeline.c:
15739         * gst/gstplugin.c:
15740         * gst/gstplugin.h:
15741           inlined the last two docs files
15742           removed the tmpl directory from cvs (no more conflicts here!)
15743
15744 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
15745
15746         * docs/gst/gstreamer-sections.txt:
15747         * docs/gst/tmpl/.cvsignore:
15748         * docs/gst/tmpl/gstpad.sgml:
15749         * docs/gst/tmpl/gstpadtemplate.sgml:
15750         * gst/Makefile.am:
15751         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
15752         (gst_pad_finalize), (gst_pad_set_pad_template):
15753         * gst/gstpad.h:
15754         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
15755         (gst_pad_template_class_init), (gst_pad_template_init),
15756         (gst_pad_template_dispose), (name_is_valid),
15757         (gst_static_pad_template_get), (gst_pad_template_new),
15758         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
15759         (gst_pad_template_pad_created):
15760         * gst/gstpadtemplate.h:
15761           inlined two more docs
15762           factored gstpadtemplate out of gstpad
15763
15764 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
15765
15766         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
15767         (test_children_state_change_order_semi_sink):
15768           Fix test case: we can't rely on a fixed state change order when
15769           going from READY => PAUSED because the sink might commit its 
15770           new state first when the first buffer created by the source 
15771           reaches the sink before the source has finished its change state.
15772           (Test case still fails at times, see #316856, comment 5 onwards)
15773
15774 2005-09-24  Wim Taymans  <wim@fluendo.com>
15775
15776         * docs/design/part-events.txt:
15777         * docs/design/part-gstbus.txt:
15778         * docs/design/part-gstpipeline.txt:
15779         * docs/design/part-messages.txt:
15780         * docs/design/part-overview.txt:
15781         * docs/design/part-segments.txt:
15782         * gst/gstbin.c:
15783         * gst/gstbuffer.c:
15784         * gst/gstclock.c:
15785         * gst/gstelement.c:
15786         * gst/gstevent.c:
15787         * gst/gstfilter.c:
15788         * gst/gstiterator.c:
15789         Various documentation updates.
15790
15791 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
15792
15793         * gst/gstclock.h:
15794           Well, that's embarassing.  Luckily we weren't using
15795           GST_CLOCK_DIFF anywhere.
15796
15797 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
15798
15799         * common/gtk-doc.mak:
15800           don't fail on building XML, FC4 slave shows a bunch of doc
15801           missing bits that I don't get
15802         * gst/gstpad.c:
15803         * gst/gstpipeline.c:
15804         * gst/gststructure.c:
15805           some doc updates
15806
15807 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
15808
15809         * docs/design/part-gstbin.txt:
15810         * docs/design/part-gstbus.txt:
15811         * gst/gstbus.c:
15812           Add blurb about how the bus goes into flushing mode and
15813           drops all messages when its bin goes from READY into NULL 
15814           state.
15815
15816 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
15817
15818         * docs/gst/gstreamer-sections.txt:
15819         * gst/gststructure.c: (gst_structure_get_clock_time):
15820         * gst/gststructure.h:
15821           add a method to get a GstClockTime out of a structure
15822
15823 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
15824
15825         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
15826         (test_children_state_change_order_semi_sink), (gst_bin_suite):
15827           Added test to check state change order in bins (can still be made
15828           to fail here under heavy disk load; bails out with 'Push on pad
15829           fakesink:sink0, but it was not activated in push mode').
15830
15831         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
15832           Fix state change order when there is only a semi sink (#316856)
15833
15834         * gst/gstbus.c: (gst_bus_class_init):
15835           Use _class_peek_parent(), not _class_ref(); fix docs to say
15836           'default main context' instead of 'mainloop' where that is
15837           what's meant.
15838
15839         * gst/gstelement.c: (gst_element_commit_state),
15840         (gst_element_set_state):
15841           Fix typos in debug messages
15842
15843 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
15844
15845         * docs/README:
15846         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
15847         * gst/gstpluginfeature.c:
15848         * gst/gstutils.c:
15849           various doc updates
15850         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
15851           change an assert into an error until it gets fixed properly
15852
15853 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
15854
15855         * docs/gst/gstreamer-sections.txt:
15856         * docs/gst/tmpl/.cvsignore:
15857         * docs/gst/tmpl/gstelement.sgml:
15858         * docs/gst/tmpl/gstinfo.sgml:
15859         * docs/gst/tmpl/gstobject.sgml:
15860         * gst/gstelement.c:
15861         * gst/gstelement.h:
15862         * gst/gstinfo.c:
15863         * gst/gstinfo.h:
15864         * gst/gstobject.c: (gst_object_class_init):
15865         * gst/gstobject.h:
15866           inlined 3 more biiiig doc files and added some missing docs on the fly
15867
15868 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
15869
15870         * check/gst/.cvsignore:
15871         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
15872         * gst/gstregistryxml.c: (load_plugin),
15873         (gst_registry_xml_save_plugin):
15874           put back source in registry.  add checks for find_plugin.
15875         * testsuite/states/bin.c: (assert_state), (empty_bin),
15876         (test_adding_one_element), (main):
15877         * testsuite/states/locked.c: (main):
15878           some compile/run fixes
15879
15880 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
15881
15882         * check/gst/gstvalue.c: (GST_START_TEST):
15883           fix leaks in the test itself
15884
15885 2005-09-22  Wim Taymans  <wim@fluendo.com>
15886
15887         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
15888         (gst_base_sink_send_event), (gst_base_sink_peer_query),
15889         (gst_base_sink_query):
15890         Prepare for more accurate position reporting and query
15891         handling.
15892
15893         * gst/gstelement.c: (gst_element_send_event),
15894         (gst_element_set_state):
15895         Add some comment.
15896
15897 2005-09-22  Wim Taymans  <wim@fluendo.com>
15898
15899         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
15900         (gst_query_parse_segment):
15901         * gst/gstquery.h:
15902         More documentation.
15903         Add segment query for future use.
15904
15905 2005-09-22  Wim Taymans  <wim@fluendo.com>
15906
15907         * gst/gstbin.c: (gst_bin_add_func):
15908         Some more debug info.
15909
15910         * gst/gstelement.c: (gst_element_send_event):
15911         Simplify send_event
15912
15913         * gst/gstelement.h:
15914         Don't know how flags got broken.
15915
15916         * gst/gstquery.h:
15917         Added new query.
15918
15919 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
15920
15921         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
15922           Add simplistic test suite for GST_TYPE_DATE serialisation and
15923           deserialisation.
15924
15925 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
15926
15927         * docs/gst/gstreamer-sections.txt:
15928         * gst/gststructure.c: (gst_structure_set_valist),
15929         (gst_structure_get_date):
15930         * gst/gststructure.h:
15931         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
15932         (gst_date_copy), (gst_value_compare_date),
15933         (gst_value_serialize_date), (gst_value_deserialize_date),
15934         (gst_value_transform_date_string),
15935         (gst_value_transform_string_date), (_gst_value_initialize):
15936         * gst/gstvalue.h:
15937           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
15938           bunch of utility functions along with a hack that checks that
15939           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
15940           is required. Part of the grand scheme in #170777.
15941
15942 2005-09-22  Andy Wingo  <wingo@pobox.com>
15943
15944         * gst/gstconfig.h.in: Psych out gtk-doc.
15945
15946         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
15947
15948         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
15949
15950         * tools/gst-inspect.c (print_element_list): Plug some
15951         inconsequential leaks.
15952
15953         * gst/gstregistry.c (gst_registry_get_default): Doc.
15954
15955         * check/gst/gstplugin.c: 
15956         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
15957         * gst/gstelementfactory.c (gst_element_factory_create): 
15958         * gst/gstindexfactory.c (gst_index_factory_create): Update for
15959         refcount changes.
15960
15961         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
15962         (gst_plugin_feature_load): Doc, don't eat refs.
15963
15964         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
15965         (gst_plugin_list_free): Doc.
15966         (gst_plugin_load_file): Doc updates.
15967
15968         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
15969         accessors returning refcounted objects, return a ref.
15970
15971         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
15972         accessor for caps. IDEMPOTENCE. Oh yes.
15973
15974 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
15975
15976         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
15977
15978         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
15979         (_gst_debug_register_funcptr):
15980           Add mutex to serialise access to the hash table with
15981           the function pointer => function name string mapping;
15982           make that hash table static scope (#316809).
15983
15984         * gst/registries/.cvsignore:
15985           Remove left-over file.
15986
15987 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
15988
15989         * docs/pwg/appendix-porting.xml:
15990           And something about newsegment events and caps-on-buffers to
15991           the porting guide (feel free to improve).
15992
15993 2005-09-21  Andy Wingo  <wingo@pobox.com>
15994
15995         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
15996         data and event probes on the same pad.
15997         (test_buffer_probe_once): Test that removing probes from within
15998         the probe functions works.
15999
16000 2005-09-21  Andy Wingo  <wingo@pobox.com>
16001
16002         * check/gst/gstutils.c: New file.
16003         (test_buffer_probe_n_times): A simple buffer probe test. More to
16004         come, foolios.
16005
16006         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
16007         have-data::buffer, not have-data.
16008         (gst_pad_add_event_probe): Likewise for have-data::event.
16009         (gst_pad_add_data_probe): More docs. The part about 'resolving the
16010         peer' isn't quite right yet though.
16011         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
16012         (gst_pad_remove_data_probe): Change to take the guint handler_id
16013         as their arg, not the function+data, which is more glib-like.
16014
16015         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
16016         the signal emission to indicate if the data is a buffer or an
16017         event.
16018         (gst_pad_get_type): Initialize buffer and event quarks.
16019         (gst_pad_class_init): have-data is now a detailed signal, yes it
16020         is.
16021
16022 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
16023
16024         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
16025         * gst/gstutils.c: (gst_util_set_value_from_string),
16026         (gst_util_set_object_arg):
16027           Don't put functional code in g_return_if_fail() or
16028           g_return_val_if_fail() statements, otherwise things will 
16029           break when G_DISABLE_CHECKS is defined during compilation.
16030
16031 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
16032
16033         * docs/gst/tmpl/.cvsignore:
16034         * docs/gst/tmpl/gstvalue.sgml:
16035         * gst/gstvalue.c:
16036         * gst/gstvalue.h:
16037           inlied another one and added  some obvious docs
16038
16039 2005-09-21  Wim Taymans  <wim@fluendo.com>
16040
16041         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
16042         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
16043         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
16044         (gst_fdsrc_get_property), (gst_fdsrc_create):
16045         * gst/elements/gstfdsrc.h:
16046         Properly implement fdsrc. Removed signal and timeout,
16047         better implemented somewhere else.
16048
16049 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
16050
16051         * docs/gst/tmpl/.cvsignore:
16052         * docs/gst/tmpl/gstimplementsinterface.sgml:
16053         * gst/gstinterface.c:
16054           inlined more docs
16055
16056 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
16057
16058         * docs/gst/gstreamer-sections.txt:
16059         * docs/gst/tmpl/.cvsignore:
16060         * docs/gst/tmpl/gstenumtypes.sgml:
16061           remove obsolete doc file
16062
16063 2005-09-21  David Schleef  <ds@schleef.org>
16064
16065         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
16066         little beer, fix a little leak.
16067
16068 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
16069
16070         * docs/gst/gstreamer-docs.sgml:
16071         * docs/gst/gstreamer-sections.txt:
16072         * docs/gst/tmpl/.cvsignore:
16073         * gst/Makefile.am:
16074         * gst/gst.h:
16075         * gst/gstbin.c:
16076         * gst/gstelement.h:
16077         * gst/gstindex.c: (gst_index_class_init):
16078         * gst/gstindex.h:
16079         * gst/gstindexfactory.c: (gst_index_factory_get_type),
16080         (gst_index_factory_class_init), (gst_index_factory_init),
16081         (gst_index_factory_finalize), (gst_index_factory_new),
16082         (gst_index_factory_destroy), (gst_index_factory_find),
16083         (gst_index_factory_create), (gst_index_factory_make):
16084         * gst/gstindexfactory.h:
16085         * gst/gstpluginfeature.c:
16086         * gst/gstpluginfeature.h:
16087         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
16088           more docs inlined, splitted gstindex.{c,h}
16089
16090 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
16091
16092         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
16093           fix a leak
16094
16095 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
16096
16097         * gst/elements/gstfilesink.c: (gst_file_sink_init):
16098           Set sync to FALSE by default.
16099
16100 2005-09-20  Wim Taymans  <wim@fluendo.com>
16101
16102         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
16103         (gst_base_sink_init):
16104         Make sync property settable from subclass.
16105
16106         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
16107         (gst_fake_sink_change_state):
16108         Set sync to FALSE by default.
16109
16110 2005-09-20  Wim Taymans  <wim@fluendo.com>
16111
16112         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
16113         * tools/gst-launch.c: (main):
16114         The timeout handler should have lower priority than the source
16115         so we don't timeout before popping a message with 0 timeout.
16116         Dump error messages after failed state change.
16117
16118 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
16119
16120         * tools/gst-inspect.c: (print_element_properties_info):
16121           Fix two typos.
16122
16123 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
16124
16125         * check/gst/gstevent.c:
16126         * gst/elements/gstfakesink.c:
16127         * gst/elements/gstfakesink.h:
16128           remove the sync property from fakesink.
16129           has the side effect of setting sync TRUE
16130           for fakesink, which is a change.  Anyone who knows how
16131           to fix this nicely in a GObject-y way, feel free.
16132
16133 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
16134
16135         * docs/gst/gstreamer-docs.sgml:
16136           remove probe refsection
16137
16138 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
16139
16140         * check/Makefile.am:
16141           disable valgrinding the controller test again
16142         * docs/gst/gstreamer-sections.txt:
16143           update for api-changes
16144
16145 2005-09-20  Wim Taymans  <wim@fluendo.com>
16146
16147         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
16148         (gst_base_sink_set_property), (gst_base_sink_get_property),
16149         (gst_base_sink_do_sync):
16150         * gst/base/gstbasesink.h:
16151         Added sync property to basesink to disable clock sync.
16152
16153 2005-09-20  Andy Wingo  <wingo@pobox.com>
16154
16155         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
16156         eating the caller's refcount.
16157
16158         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
16159         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
16160         refcount.
16161
16162         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
16163         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
16164         of GLib 2.8 public, so we can know which refcount to check in
16165         tests.
16166
16167         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
16168         (gst_object_init): Only set the gst refcount if we're going ahead
16169         with the refcount hack.
16170
16171 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
16172
16173         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
16174         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
16175           more leaks plumbed, added more debug-logging
16176         * gst/gstmacros.h:
16177           whitespace fix
16178
16179 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
16180
16181         * gst/gstmessage.c:
16182           remove include of gstmemchunk.h
16183
16184 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
16185
16186         * gst/gstclock.c: (_gst_clock_id_free):
16187           Commit from the Political Party For More Atomic CVS Commits,
16188           so that people don't waste too much of their day fishing
16189           out obvious leaks out of massive commits.
16190           Oh, and fix a pretty damn obvious leak in the memchunk
16191           removal code.
16192
16193 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
16194
16195         * check/Makefile.am:
16196         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
16197           plug mem-leak, re-add to valgrindable tests
16198
16199 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
16200
16201         * gst/gstplugin.h:
16202           unbreak the build for those who have chronic arthritis
16203           and typing "make check" is just too taxing on the hands
16204
16205 2005-09-20  Andy Wingo  <wingo@pobox.com>
16206
16207         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
16208         really want it out, you should fix plugins at the same time.
16209
16210 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
16211
16212         * configure.ac:
16213         * docs/gst/gstreamer-sections.txt:
16214         * gst/gstobject.c:
16215           added missing symbols to api docs
16216           disable ref-count hack if we have glib >= 2.8
16217
16218 2005-09-19  David Schleef  <ds@schleef.org>
16219
16220         * docs/gst/Makefile.am: Ignore a few more internal headers
16221         * docs/gst/gstreamer-docs.sgml: Remove old sections
16222         * docs/gst/gstreamer-sections.txt: Remove old sections
16223         * docs/gst/tmpl/gstobject.sgml: update
16224         * docs/gst/tmpl/gstplugin.sgml: update
16225         * docs/gst/tmpl/gstpluginfeature.sgml: update
16226         * docs/random/ds/0.9-suggested-changes: update.
16227         * gst/Makefile.am: remove memchunk and trashstack, since they're
16228           not used.
16229         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
16230         * gst/gst.h: don't include some headers
16231         * gst/gstchildproxy.c: add gstmarshal.h
16232         * gst/gstclock.c: Don't use memchunks
16233         * gst/gstminiobject.c: Add some docs
16234         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
16235         * gst/gstobject.h: same
16236         * gst/gstplugin.c: include gstmacros.h
16237         * gst/gstplugin.h: don't include gstmacros.h, since it's private
16238         * gst/gstquery.c: don't use memchunks
16239         * gst/gstregistry.c: rename gst_registry_deinit()
16240         * gst/gstregistry.h: same
16241
16242 2005-09-19  David Schleef  <ds@schleef.org>
16243
16244         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
16245         * docs/libs/gstreamer-libs-sections.txt:
16246         * docs/libs/tmpl/gstgetbits.sgml:
16247         * docs/libs/tmpl/gstputbits.sgml:
16248
16249 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
16250
16251         * win32/gstenumtypes.c:
16252         * win32/gstenumtypes.h:
16253           Update.
16254
16255 2005-09-19  Wim Taymans  <wim@fluendo.com>
16256
16257         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
16258         Automatically PAUSE and RESUME a pipeline when a flushing seek
16259         is performed.
16260
16261 2005-09-19  Andy Wingo  <wingo@pobox.com>
16262
16263         * gst/gstregistry.h: Spacing fixen.
16264
16265 2005-09-19  Wim Taymans  <wim@fluendo.com>
16266
16267         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
16268         Handle state change failure more correctly.
16269
16270 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
16271
16272         * check/Makefile.am:
16273         * check/pipelines/cleanup.c: (run_pipeline):
16274         * check/pipelines/simple_launch_lines.c: (run_pipeline),
16275         (GST_START_TEST):
16276           enable cleanup again after fixing the leak
16277         * docs/README:
16278           some more info on docs
16279
16280 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
16281
16282         * check/Makefile.am:
16283           re-enable tests now that leaks are plugged
16284         * check/gst/gst.c:
16285         * check/gst/gstbin.c:
16286         * check/gst/gstpipeline.c:
16287           add some more tests while fixing leaks
16288         * common/check.mak:
16289           make sure binaries are uptodate when valgrinding/gdbing
16290         * gst/gst.c:
16291         * gst/gstelementfactory.c:
16292           remove a ref too many, and add a FIXME for when we get
16293           round to disposing of classes
16294         * gst/gstplugin.c:
16295           fix the refcounting when loading a plugin from a file and
16296           the code pretends that the pointer is the same even though
16297           of course it can change
16298         * gst/gstpluginfeature.c:
16299           unref plugins marked cached (a bit confusing as a name)
16300           as the docs state should be done
16301           various doc additions to explain refcounting
16302         * gst/gstregistry.c:
16303         * gst/gstregistryxml.c:
16304           debugging
16305
16306 2005-09-19  Wim Taymans  <wim@fluendo.com>
16307
16308         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
16309         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
16310         (send_messages), (GST_START_TEST), (gstbus_suite):
16311         * check/gst/gstpipeline.c: (GST_START_TEST):
16312         * check/pipelines/cleanup.c: (run_pipeline):
16313         * check/pipelines/simple_launch_lines.c: (run_pipeline),
16314         (GST_START_TEST):
16315         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
16316         (gst_bus_source_check), (gst_bus_source_dispatch),
16317         (gst_bus_create_watch), (gst_bus_add_watch_full),
16318         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
16319         * gst/gstbus.h:
16320         * tools/gst-launch.c: (event_loop):
16321         * tools/gst-md5sum.c: (event_loop):
16322         GstBusHandler -> GstBusFunc, return value has the same meaning as
16323         any other GSource (FALSE == remove source).
16324         _add_watch() and _add_watch_full() now take a MessageType mask to
16325         only handle specific types of messages.
16326         _poll() returns the GstMessage instead of the message type to avoid
16327         race conditions.
16328         _have_pending() takes a MessageType mask now too.
16329         Added testsuite for multiple bus watches.
16330         Fix testsuites and applications for new bus API.
16331
16332 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
16333
16334         * check/Makefile.am:
16335           mark a bunch of the tests as to fix until we fix them
16336
16337 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
16338
16339         * common/check.mak:
16340           use GST_PLUGIN settings for valgrind tests as well, so we're
16341           valgrinding the correct thing
16342         * gst/gst.c: (init_post):
16343           plug another leak
16344
16345 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
16346
16347         * gst/gst.c: (init_post), (gst_deinit):
16348         * gst/gstelementfactory.c: (gst_element_factory_class_init),
16349         (gst_element_factory_finalize), (gst_element_factory_cleanup):
16350         * gst/gstindex.c: (gst_index_factory_class_init),
16351         (gst_index_factory_finalize):
16352         * gst/gstobject.c: (gst_object_dispose):
16353         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
16354         (gst_plugin_load_file), (gst_plugin_desc_free):
16355         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
16356         (gst_plugin_feature_finalize):
16357         * gst/gstregistry.c: (gst_registry_class_init),
16358         (gst_registry_init), (gst_registry_finalize),
16359         (gst_registry_get_default), (gst_registry_deinit):
16360         * gst/gstregistry.h:
16361         * gst/gstregistryxml.c: (load_feature), (load_plugin):
16362           various cleanups and memleak plugging.  make valgrind is happy now.
16363
16364 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
16365
16366         * common/check.mak:
16367           add a check-valgrind target
16368
16369 2005-09-18  David Schleef  <ds@schleef.org>
16370
16371         * tools/gst-inspect.c: Revert the GOption code.
16372
16373 2005-09-17  David Schleef  <ds@schleef.org>
16374
16375         * check/Makefile.am: Fix environment variables.
16376         * check/gst/gstplugin.c: Fix for API changes.
16377         * tools/gst-inspect.c: Fix for API changes.
16378         * tools/gst-xmlinspect.c: Fix for API changes.
16379         * gst/gstelementfactory.c:
16380         * gst/gstplugin.c:
16381         * gst/gstplugin.h:
16382         * gst/gstpluginfeature.c:
16383         * gst/gstpluginfeature.h:
16384         * gst/gstregistry.c:
16385         * gst/gstregistry.h:
16386         * gst/gstregistryxml.c:
16387         * gst/gsttypefind.c:
16388         * gst/gsttypefindfactory.c:
16389         * gst/indexers/gstfileindex.c:
16390         * gst/indexers/gstmemindex.c:
16391         * gst/schedulers/Makefile.am:
16392           Change registry to keep track of both plugins and features,
16393           removing the feature tracking from plugins themselves.
16394
16395 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
16396
16397         * check/Makefile.am:
16398         * tools/gst-register.1.in:
16399           remove gst-register
16400
16401 2005-09-15  David Schleef  <ds@schleef.org>
16402
16403         * check/gst/gstplugin.c:
16404         * gst/gstelementfactory.c:
16405         * gst/gstplugin.c:
16406         * gst/gstpluginfeature.c:
16407         * gst/gstregistry.c:
16408           Getting tired of debugging.  Disabled all the unreffing of
16409           plugins and features, which fixes the segfaults, but of
16410           course leaks like crazy.  At least playbin works.
16411
16412 2005-09-15  David Schleef  <ds@schleef.org>
16413
16414         * check/gst/gstplugin.c: (register_check_elements),
16415         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
16416         More testing
16417         * gst/elements/gsttypefindelement.c: Fix refcounting.
16418         * gst/gsttypefind.c:
16419         * gst/gsttypefindfactory.c:
16420         * gst/gsttypefindfactory.h:
16421
16422 2005-09-15  David Schleef  <ds@schleef.org>
16423
16424         * gst/gstindex.c: get refcounting correct.
16425         * gst/gstregistry.c: Handle the case where a feature/plugin is
16426           not found.
16427
16428 2005-09-15  David Schleef  <ds@schleef.org>
16429
16430         * check/Makefile.am:
16431         * check/gst/gstplugin.c: Add test
16432         * gst/gstplugin.c: Fix problems noticed by testsuite
16433         * gst/gstplugin.h:
16434         * gst/gstregistry.c: 
16435         * gst/gstregistry.h:
16436
16437 2005-09-15  David Schleef  <ds@schleef.org>
16438
16439         * gst/gstplugin.c: Implement semi-decent recounting and locking
16440           in plugins and plugin features.
16441         * gst/gstplugin.h:
16442         * gst/gstpluginfeature.c:
16443         * gst/gstpluginfeature.h:
16444         * gst/gstregistry.c:
16445
16446 2005-09-15  Michael Smith <msmith@fluendo.com>
16447
16448         * gst/gstregistry.c: (gst_registry_get_feature_list):
16449           Implement this. Makes oggdemux work; decodebin still broken.
16450
16451 2005-09-14  David Schleef  <ds@schleef.org>
16452
16453         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
16454           #316076)
16455         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
16456         * gst/check/Makefile.am:
16457         * libs/gst/controller/Makefile.am:
16458         * libs/gst/dataprotocol/Makefile.am:
16459
16460 2005-09-14  David Schleef  <ds@schleef.org>
16461
16462         * configure.ac: Remove getbits library.  Nothing uses it, and
16463           it should be in something like liboil if someone did want
16464           to use it.
16465         * libs/gst/Makefile.am:
16466         * libs/gst/getbits/Makefile.am:
16467         * libs/gst/getbits/gbtest.c:
16468         * libs/gst/getbits/getbits.c:
16469         * libs/gst/getbits/getbits.h:
16470         * libs/gst/getbits/gstgetbits_generic.c:
16471         * libs/gst/getbits/gstgetbits_i386.s:
16472         * libs/gst/getbits/gstgetbits_inl.h:
16473
16474 2005-09-14  David Schleef  <ds@schleef.org>
16475
16476         * gst/Makefile.am: Dist glib-compat.h
16477
16478 2005-09-14  David Schleef  <ds@schleef.org>
16479
16480         * configure.ac: Remove gst/registries, since it's no longer used.
16481         * gst/registries/Makefile.am:
16482         * gst/registries/gstlibxmlregistry.c:
16483         * gst/registries/gstlibxmlregistry.h:
16484         * gst/registries/gstxmlregistry.c:
16485         * gst/registries/gstxmlregistry.h:
16486         * gst/registries/registrytest.c:
16487
16488 2005-09-14  David Schleef  <ds@schleef.org>
16489
16490         * gst/glib-compat.h:
16491         * gst/gstregistryxml.c:
16492           Convergence is near.  Seriously.
16493
16494 2005-09-14  David Schleef  <ds@schleef.org>
16495
16496         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
16497         * gst/glib-compat.h:
16498           Attempt #4 to appease the buildbots.
16499
16500 2005-09-14  David Schleef  <ds@schleef.org>
16501
16502         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
16503           Attempt #3.
16504
16505 2005-09-14  David Schleef  <ds@schleef.org>
16506
16507         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
16508         Attempt #2.
16509
16510 2005-09-14  David Schleef  <ds@schleef.org>
16511
16512         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
16513           the new functions.
16514
16515 2005-09-14  David Schleef  <ds@schleef.org>
16516
16517         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
16518         * gst/glib-compat.h: Add some functions that are in newer versions
16519           of glib than we care to require.
16520         * gst/gstregistryxml.c: Use them.
16521
16522 2005-09-14  David Schleef  <ds@schleef.org>
16523
16524         * po/POTFILES.in: remove gst-register.c
16525
16526 2005-09-14  David Schleef  <ds@schleef.org>
16527
16528         * docs/gst/gstreamer-docs.sgml:
16529         * docs/gst/gstreamer-sections.txt:
16530         * docs/gst/gstreamer.types:
16531         * docs/gst/tmpl/gstelement.sgml:
16532         * docs/gst/tmpl/gstplugin.sgml:
16533         * docs/gst/tmpl/gstpluginfeature.sgml:
16534           Documentation updates for registry changes.
16535
16536 2005-09-14  David Schleef  <ds@schleef.org>
16537
16538         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
16539           because we don't require glib-2.8.
16540
16541 2005-09-14  David Schleef  <ds@schleef.org>
16542
16543         * gst/gstregistryxml.c: Added.  Essentially moved out of the
16544           registries directory.
16545
16546 2005-09-14  David Schleef  <ds@schleef.org>
16547
16548         * check/Makefile.am:
16549         * check/generic/states.c:
16550         * gst/Makefile.am:
16551         * gst/gst.c:
16552         * gst/gst.h:
16553         * gst/gst_private.h:
16554         * gst/gstelementfactory.c:
16555         * gst/gstindex.c:
16556         * gst/gstinfo.c:
16557         * gst/gstplugin.c:
16558         * gst/gstplugin.h:
16559         * gst/gstpluginfeature.c:
16560         * gst/gstpluginfeature.h:
16561         * gst/gstregistry.c:
16562         * gst/gstregistry.h:
16563         * gst/gstregistrypool.c: remove
16564         * gst/gstregistrypool.h: remove
16565         * gst/gsttypefind.c:
16566         * gst/gsttypefindfactory.c:
16567         * gst/gsturi.c:
16568         * tools/Makefile.am:
16569         * tools/gst-compprep.c:
16570         * tools/gst-inspect.c:
16571         * tools/gst-register.c: remove
16572         * tools/gst-xmlinspect.c:
16573           Registry rewrite.  Changes registry from being a file created
16574           by a tool into a simple cache file created automatically by 
16575           libgstreamer.  Removed gst-register (because it's no longer
16576           needed).  Remove registry pools, because we only have one
16577           registry implementation (XML).  Fix up other subsystems as
16578           necessary.
16579
16580 2005-09-13  Michael Smith <msmith@fluendo.com>
16581
16582         * gst/gstconfig.h.in:
16583           Don't Use windows linking attributes for MinGW. Fixes #316157
16584
16585 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
16586
16587         * gst/gstutils.c: (set_state_async_thread_func),
16588         (gst_element_set_state_async):
16589           Apparently people think it's better if this function doesn't
16590           try to set the state to whatever state was asked for on the first
16591           call to this function for any object.  Seriously.
16592
16593 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
16594
16595         * check/gst/gstpipeline.c: (GST_START_TEST):
16596         * docs/gst/gstreamer-sections.txt:
16597         * gst/gstutils.c: (set_state_async_thread_func),
16598         (gst_element_set_state_async):
16599         * gst/gstutils.h:
16600           add a "gst_element_set_state_async" method that
16601           sets the state and starts a thread to make sure the state
16602           change completes as best as it can
16603
16604 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
16605
16606         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
16607           codify design+behaviour in testsuite after discussion
16608
16609 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
16610
16611         * docs/gst/tmpl/gstelement.sgml:
16612         * docs/manual/appendix-quotes.xml:
16613           add a quote
16614         * gst/gstelement.c: (gst_element_set_state):
16615           add some debug
16616
16617 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
16618
16619         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
16620         (gst_base_transform_prepare_output_buf),
16621         (gst_base_transform_handle_buffer):
16622         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
16623         (gst_capsfilter_prepare_buf):
16624           Remove the requirement for sub-classes to call the parent
16625           implementation of prepare_output_buffer with a wrapper function.
16626           
16627         * gst/gsttaglist.h:
16628         * gst/gsttagsetter.h:
16629           Fix #define wrapper
16630
16631 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
16632
16633         * docs/gst/gstreamer-sections.txt:
16634           more doc cleanups
16635
16636 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
16637
16638         * docs/gst/gstreamer-sections.txt:
16639         * docs/gst/tmpl/gstelement.sgml:
16640         * docs/gst/tmpl/gstplugin.sgml:
16641         * gst/gstminiobject.c:
16642         * gst/gstvalue.h:
16643           docs now stop throwing warnings
16644
16645 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
16646
16647         * docs/gst/gstreamer-sections.txt:
16648         * docs/gst/gstreamer.types:
16649         * docs/gst/tmpl/gstpad.sgml:
16650         * docs/gst/tmpl/gsttypes.sgml:
16651         * gst/base/gstadapter.h:
16652         * gst/base/gstbasesink.h:
16653         * gst/base/gstbasesrc.h:
16654         * gst/gstbin.h:
16655         * gst/gstbuffer.h:
16656         * gst/gstbus.h:
16657         * gst/gstcaps.h:
16658         * gst/gstclock.h:
16659         * gst/gstelement.h:
16660         * gst/gstevent.h:
16661         * gst/gstmessage.h:
16662         * gst/gstpad.h:
16663         * gst/gststructure.c:
16664         * gst/registries/gstlibxmlregistry.h:
16665           various documentation fixes
16666
16667 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
16668
16669         * docs/gst/gstreamer-sections.txt:
16670         * docs/gst/tmpl/gstvalue.sgml:
16671           rearrange gstvalue section
16672         * gst/gstutils.c: (gst_element_state_get_name):
16673           NONE -> VOID
16674         * gst/gstvalue.c: (_gst_value_initialize):
16675         * gst/gstvalue.h:
16676           doc updates
16677
16678 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
16679
16680         * check/gst-libs/controller.c:
16681           Header include fix.
16682         * gst/base/gstbasetransform.c:
16683         (gst_base_transform_default_prepare_buf),
16684         (gst_base_transform_handle_buffer):
16685         * gst/base/gstbasetransform.h:
16686           Some more basetransform changes and fixes to enable sub-classes
16687           that modify buffer metadata only.
16688         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
16689         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
16690         (gst_capsfilter_prepare_buf):
16691           If the output pad has fixed allowed caps and input buffers 
16692           don't have any, set the fixed caps on outgoing buffers.
16693
16694 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
16695         * check/elements/identity.c: (GST_START_TEST):
16696           Make the error a little clearer when the test fails because
16697           identity made a copy of the buffer.
16698         * docs/gst/gstreamer-sections.txt:
16699           New symbols in gstbasetransform.h
16700         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
16701         (gst_base_transform_init), (gst_base_transform_transform_size),
16702         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
16703         (gst_base_transform_default_prepare_buf),
16704         (gst_base_transform_get_unit_size),
16705         (gst_base_transform_buffer_alloc),
16706         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
16707         (gst_base_transform_change_state),
16708         (gst_base_transform_set_passthrough),
16709         (gst_base_transform_set_in_place),
16710         (gst_base_transform_is_in_place):
16711         * gst/base/gstbasetransform.h:
16712           Change BaseTransform to separate in_place operate from same_caps
16713           output. in_place implies that the element can perform the transform
16714           on incoming buffers in-place, even if the caps on the output are
16715           different.
16716           Sub-class elements can now implement special buffer allocation
16717           methods for outgoing buffers if they wish to.
16718           Big documentation addition.
16719         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
16720         * gst/elements/gstelements.c:
16721           Changes for basetransform modifications.
16722         * gst/elements/Makefile.am:
16723         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
16724           Compile fix. Extra debug output.
16725
16726 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
16727
16728         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
16729         (gst_pad_suite):
16730           add tests for valid pad naming
16731         * gst/check/gstcheck.c: (gst_check_log_message_func),
16732         (gst_check_log_critical_func):
16733           add ASSERT_WARNING
16734           remove printing of code, it is fragile when the code contains
16735           % and the line number is enough info
16736         * gst/check/gstcheck.h:
16737         * gst/gstpad.c: (gst_pad_template_new):
16738           fix memleaks
16739
16740 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
16741
16742         * configure.ac:
16743           say what CHECK flags we use
16744         * docs/libs/gstreamer-libs.types:
16745         * libs/gst/controller/Makefile.am:
16746         * libs/gst/controller/gst-controller.c:
16747         * libs/gst/controller/gst-controller.h:
16748         * libs/gst/controller/gst-helper.c:
16749         * libs/gst/controller/gst-interpolation.c:
16750         * libs/gst/controller/gstcontroller.c:
16751         * libs/gst/controller/gsthelper.c:
16752         * libs/gst/controller/gstinterpolation.c:
16753         * tools/gst-inspect.c: (print_plugin_info):
16754           we don't use dashes in header names
16755
16756 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
16757
16758         * check/Makefile.am:
16759         * check/gst/.cvsignore:
16760         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
16761         (gst_pipeline_suite), (main):
16762           adding a test for pipelines and state changes
16763         * gst/gstutils.c: (get_state_func):
16764           add some debugging
16765         * gstreamer.spec.in:
16766           fix up spec file
16767
16768 2005-09-08  Michael Smith <msmith@fluendo.com>
16769
16770         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
16771         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
16772         (gst_file_src_is_seekable), (gst_file_src_get_size),
16773         (gst_file_src_start):
16774         * gst/elements/gstfilesrc.h:
16775           Various fixes for unseekable, unmmapable, and non-normal files, so
16776           that fallback to read() rather than mmap() works.
16777         * gst/gstevent.c: (gst_event_new_newsegment):
16778           Allow newsegment events with segment_start == segment_end, as will
16779           correctly happen if you use filesrc on a zero-size file, for
16780           example.
16781
16782 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
16783
16784         * gst/gstplugin.c: (gst_plugin_load_file):
16785           Call g_module_close when we don't load the module
16786
16787         * gst/registries/gstlibxmlregistry.c:
16788         (gst_xml_registry_get_property):
16789           Port leak fix from 0.8
16790
16791 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
16792
16793         * docs/gst/gstreamer-docs.sgml:
16794         * docs/gst/tmpl/.cvsignore:
16795         * docs/gst/tmpl/gsttrace.sgml:
16796         * docs/gst/tmpl/gsttrashstack.sgml:
16797         * gst/Makefile.am:
16798         * gst/gst.h:
16799         * gst/gstelement.h:
16800         * gst/gstevent.h:
16801         * gst/gstmessage.c:
16802         * gst/gstmessage.h:
16803         * gst/gsttag.c:
16804         * gst/gsttag.h:
16805         * gst/gsttaginterface.c:
16806         * gst/gsttaginterface.h:
16807         * gst/gsttaglist.c:
16808         * gst/gsttaglist.h:
16809         * gst/gsttagsetter.c:
16810         * gst/gsttagsetter.h:
16811         * gst/gsttrace.c:
16812         * gst/gsttrace.h:
16813         * gst/gsttrashstack.c:
16814           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
16815           inlined docs for gsttrace, gsttrashstack
16816
16817 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
16818
16819         * gst/Makefile.am:
16820         * gst/elements/gstbufferstore.h:
16821         * gst/elements/gsttypefindelement.c:
16822         * gst/elements/gsttypefindelement.h:
16823         * gst/gst.h:
16824         * gst/gsttypefind.c:
16825         * gst/gsttypefind.h:
16826         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
16827         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
16828         (gst_type_find_factory_dispose),
16829         (gst_type_find_factory_unload_thyself),
16830         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
16831         (gst_type_find_factory_get_caps),
16832         (gst_type_find_factory_get_extensions),
16833         (gst_type_find_factory_call_function):
16834         * gst/gsttypefindfactory.h:
16835         * gst/registries/gstlibxmlregistry.c:
16836         * gst/registries/gstxmlregistry.c:
16837           splitted gsttypefind into gsttypefind, gsttypefindfactory
16838
16839 2005-09-07  Andy Wingo  <wingo@pobox.com>
16840
16841         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
16842         condition whereby the pad's task function is entered before the
16843         pad_mode variable was set.
16844
16845 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
16846
16847         * gst/gstpad.c: (gst_pad_alloc_buffer):
16848           Catch misbehaving pad_alloc functions that don't
16849           set up caps and do it for them.
16850
16851 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
16852
16853         * check/pipelines/simple_launch_lines.c: (run_pipeline):
16854           test for pipe!=NULL
16855         * docs/gst/tmpl/.cvsignore:
16856         * docs/gst/tmpl/gstmemchunk.sgml:
16857         * docs/gst/tmpl/gstparse.sgml:
16858         * docs/gst/tmpl/gsttaglist.sgml:
16859         * docs/gst/tmpl/gsttagsetter.sgml:
16860         * docs/gst/tmpl/gsttypefind.sgml:
16861         * docs/gst/tmpl/gsttypefindfactory.sgml:
16862         * gst/gstmemchunk.c:
16863         * gst/gstparse.c:
16864         * gst/gsttag.c:
16865         * gst/gsttaginterface.c:
16866         * gst/gsttypefind.c:
16867         * gst/gsttypefind.h:
16868           inlined more docs
16869
16870 === release 0.9.2 ===
16871
16872 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
16873
16874         * NEWS:
16875         * RELEASE:
16876         * configure.ac:
16877           releasing 0.9.2, "South"
16878
16879 2005-09-05  Andy Wingo  <wingo@pobox.com>
16880
16881         * gst/registries/gstxmlregistry.h:
16882         * gst/registries/gstxmlregistry.c: Um... resurrect...
16883         
16884         * gst/registries/gstxmlregistry.h:
16885         * gst/registries/gstxmlregistry.c: and update to newer API.
16886         Incidentally they should be a bit faster now that they don't have
16887         to parse the caps.
16888         
16889 2005-09-05  Andy Wingo  <wingo@pobox.com>
16890
16891         * gst/registries/gstxmlregistry.h:
16892         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
16893         replaced by the libxml registry a while back
16894
16895 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
16896
16897         * docs/gst/tmpl/gstplugin.sgml:
16898         * gst/elements/gstelements.c:
16899         * gst/gst.c:
16900         * gst/gstplugin.c: (gst_plugin_register_func),
16901         (gst_plugin_desc_copy), (gst_plugin_desc_free),
16902         (gst_plugin_get_source):
16903         * gst/gstplugin.h:
16904         * gst/registries/gstlibxmlregistry.c: (load_plugin),
16905         (gst_xml_registry_save_plugin):
16906         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
16907         (gst_xml_registry_save_plugin):
16908         * tools/gst-inspect.c: (print_plugin_info):
16909           add a "source" plugin description field, to represent the source
16910           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
16911           will set it to PACKAGE, which is automake's idea of the name of
16912           the source project.
16913
16914 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
16915
16916         * Makefile.am:
16917         * autogen.sh:
16918         * configure.ac:
16919         * docs/Makefile.am:
16920         * docs/faq/Makefile.am:
16921         * docs/gst/tmpl/gstelement.sgml:
16922         * docs/gst/tmpl/gsttypes.sgml:
16923         * docs/htmlinstall.mak:
16924         * docs/manual/Makefile.am:
16925         * docs/pwg/Makefile.am:
16926           reorganize doc build a little
16927           split out docbook and gtk-doc stuff
16928           have two separate --enable's and enable them through autogen
16929           but disable by default in configure (to be similar to other
16930           projects)
16931         * gstreamer.spec.in:
16932           clean up docs install
16933         * po/af.po:
16934         * po/az.po:
16935         * po/ca.po:
16936         * po/cs.po:
16937         * po/de.po:
16938         * po/en_GB.po:
16939         * po/fr.po:
16940         * po/it.po:
16941         * po/nb.po:
16942         * po/nl.po:
16943         * po/ru.po:
16944         * po/sq.po:
16945         * po/sr.po:
16946         * po/sv.po:
16947         * po/tr.po:
16948         * po/uk.po:
16949         * po/vi.po:
16950           translation updates
16951
16952 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
16953
16954         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
16955           Add comment.
16956           
16957         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
16958         (gst_fake_sink_change_state):
16959           Make state change function thread-safe.
16960           
16961         * gst/gstpad.c: (gst_pad_alloc_buffer):
16962           Set offset on generic buffer allocated by fallback.
16963
16964 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
16965
16966         * docs/gst/gstreamer-sections.txt:
16967         * docs/gst/tmpl/gstelement.sgml:
16968         * gst/gstpad.c:
16969         * libs/gst/controller/gst-controller.c:
16970         (gst_controlled_property_set_interpolation_mode),
16971         (gst_controlled_property_new),
16972         (gst_controller_find_controlled_property):
16973          run the wingo-magic script against the docs
16974
16975 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
16976
16977         * docs/gst/gstreamer-docs.sgml:
16978         * docs/gst/gstreamer-sections.txt:
16979         * docs/gst/tmpl/.cvsignore:
16980         * docs/gst/tmpl/gstelementdetails.sgml:
16981         * docs/gst/tmpl/gstelementfactory.sgml:
16982         * gst/gst.c:
16983         * gst/gstbus.c:
16984         * gst/gstelementfactory.c:
16985         * gst/gstelementfactory.h:
16986           merged elementdetails docs into elementfactory docs
16987           inlined both
16988
16989 2005-09-02  Andy Wingo  <wingo@pobox.com>
16990
16991         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
16992         consider this enum an enum and not a flags.
16993
16994 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
16995
16996         * docs/gst/gstreamer-docs.sgml:
16997         * docs/gst/tmpl/.cvsignore:
16998         * docs/gst/tmpl/gstghostpad.sgml:
16999         * docs/gst/tmpl/gstiterator.sgml:
17000         * docs/gst/tmpl/gstmacros.sgml:
17001         * docs/gst/tmpl/gstrealpad.sgml:
17002         * docs/gst/tmpl/gstregistry.sgml:
17003         * docs/gst/tmpl/gstregistrypool.sgml:
17004         * docs/gst/tmpl/gststructure.sgml:
17005         * docs/gst/tmpl/gstsystemclock.sgml:
17006         * docs/gst/tmpl/gsttrace.sgml:
17007         * gst/gstghostpad.c:
17008         * gst/gstmacros.h:
17009         * gst/gstmemchunk.c:
17010         * gst/gstmemchunk.h:
17011         * gst/gstqueue.c:
17012         * gst/gstregistry.c:
17013         * gst/gstregistrypool.c:
17014         * gst/gststructure.c:
17015         * gst/gstsystemclock.c:
17016           more docs inlined
17017
17018 2005-09-02  Andy Wingo  <wingo@pobox.com>
17019
17020         * gst/gstelement.h (GstState): Renamed from GstElementState,
17021         changed to be a normal enum instead of flags.
17022         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
17023         munged to be GST_STATE_CHANGE_*.
17024         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
17025         work with the new state representation.
17026         (GstStateChange): New enumeration of possible state transitions.
17027         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
17028         (GstElementClass::change_state): Pass the GstStateChange along as
17029         an argument. Helps language bindings, so they don't have to use
17030         tricky lock-needing macros like GST_STATE_CHANGE ().
17031
17032         * scripts/update-states (file): New script. Run it on a file to
17033         update it for state naming and API changes. Updates files in
17034         place.
17035
17036         * All files updated for the new API.
17037
17038 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
17039
17040         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
17041         * gst/gstutils.c: (gst_util_set_value_from_string),
17042         (gst_util_set_object_arg):
17043           fix a bunch of unchecked return values
17044         * tools/gst-complete.c: (main):
17045         * gstreamer.spec.in:
17046           clean up a little
17047
17048 2005-09-01  Wim Taymans  <wim@fluendo.com>
17049
17050         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
17051         (gst_base_sink_event), (gst_base_sink_do_sync),
17052         (gst_base_sink_handle_event):
17053         * gst/base/gstbasesink.h:
17054         Handle newsegments more correctly.
17055
17056         * gst/gstbus.c:
17057         Fix docs.
17058
17059         * gst/gstevent.c: (gst_event_new_newsegment):
17060         A newsegment cannot have a start_time of -1
17061
17062 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
17063
17064         * win32/gstenumtypes.c:
17065         * win32/gstenumtypes.h:
17066           Update
17067
17068 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
17069
17070         * libs/gst/controller/gst-controller.c:
17071         (gst_controlled_property_set_interpolation_mode),
17072         (gst_controlled_property_new):
17073          fixed boolean again
17074
17075 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
17076
17077         * docs/faq/gst-uninstalled:
17078           add -good
17079         * gst/gstevent.c:
17080         * gst/gstevent.h:
17081           remove wrong docs
17082         * gst/gstutils.c: (gst_element_link_filtered):
17083         * gst/gstutils.h:
17084           add gst_element_link_filtered
17085
17086 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
17087
17088         * docs/gst/gstreamer-docs.sgml:
17089         * docs/gst/gstreamer-sections.txt:
17090         * docs/gst/tmpl/.cvsignore:
17091         * docs/gst/tmpl/gsterror.sgml:
17092         * docs/gst/tmpl/gstfilter.sgml:
17093         * docs/gst/tmpl/gsturihandler.sgml:
17094         * docs/gst/tmpl/gsturitype.sgml:
17095         * docs/gst/tmpl/gstutils.sgml:
17096         * docs/gst/tmpl/gstxml.sgml:
17097         * gst/gsterror.c:
17098         * gst/gsterror.h:
17099         * gst/gstfilter.c:
17100         * gst/gsturi.c:
17101         * gst/gsturitype.c:
17102         * gst/gstutils.c:
17103         * gst/gstxml.c:
17104           inlined more docs, fixed double id-ref
17105
17106 2005-08-31  Wim Taymans  <wim@fluendo.com>
17107
17108         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
17109         (gst_base_transform_handle_buffer):
17110         Passthrough elements don't need the caps as they don't care.
17111
17112 2005-08-31  Wim Taymans  <wim@fluendo.com>
17113
17114         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
17115         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
17116         Don't leak refcounts on buffers.
17117
17118 2005-08-31  Wim Taymans  <wim@fluendo.com>
17119
17120         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
17121         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
17122         (gst_base_transform_chain), (gst_base_transform_change_state):
17123         * gst/base/gstbasetransform.h:
17124         Handle the case where we are not negotiated more gracefully.
17125
17126 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
17127
17128         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
17129         (gst_file_src_map_region):
17130           Set READONLY flag on mmap'ed buffers, otherwise
17131           gst_buffer_make_writable() won't work properly (#314708).
17132
17133 2005-08-31  Wim Taymans  <wim@fluendo.com>
17134
17135         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
17136         passthrough elements can even do inplace on non writable
17137         buffers (as they don't touch them).
17138
17139 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
17140
17141         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
17142         (gst_test_mono_source_set_property),
17143         (gst_test_mono_source_class_init), (GST_START_TEST),
17144         (gst_controller_suite):
17145           more tests (hehe I have the most)
17146         * gst/gstbus.c:
17147           describe popping messages whenusing mulltiple sources
17148         * libs/gst/controller/gst-controller.c:
17149         (gst_controlled_property_set_interpolation_mode),
17150         (gst_controlled_property_new):
17151         * libs/gst/controller/gst-controller.h:
17152         * libs/gst/controller/gst-interpolation.c:
17153           implement boolean properties
17154
17155 2005-08-31  Wim Taymans  <wim@fluendo.com>
17156
17157         * gst/gstminiobject.c: (gst_mini_object_ref):
17158         Cannot assert that the refcount has to be positive
17159         since a disposed object can be resurrected.
17160
17161 2005-08-31  Wim Taymans  <wim@fluendo.com>
17162
17163         * gst/gstpad.c: (gst_pad_init):
17164         Revert change, need to first fix badly behaving 
17165         apps.
17166
17167 2005-08-30  Wim Taymans  <wim@fluendo.com>
17168
17169         * check/elements/fakesrc.c: (setup_fakesrc):
17170         * check/elements/identity.c: (setup_identity):
17171         Activate pads before using them.
17172
17173 2005-08-30  Wim Taymans  <wim@fluendo.com>
17174
17175         * gst/base/gstadapter.c: (gst_adapter_flush):
17176         Flushing out 0 bytes is ok for this function.
17177
17178         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
17179         no newsegment gives a warning and sets the start/stop to 
17180         invalid.
17181
17182         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
17183         (gst_base_transform_set_passthrough):
17184         Some debug info.
17185
17186         * gst/gstminiobject.c: (gst_mini_object_ref):
17187         Check refcount here too.
17188
17189         * gst/gstpad.c: (gst_pad_init):
17190         Pads are initially flushing and refusing data.
17191
17192         * gst/gstutils.c: (gst_element_link_pads_filtered):
17193         When adding a capsfilter element make sure it has the
17194         same state as the parent bin.
17195
17196 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
17197
17198         * docs/gst/tmpl/.cvsignore:
17199         * docs/gst/tmpl/gstformat.sgml:
17200         * docs/gst/tmpl/gstversion.sgml:
17201         * gst/gstbus.h:
17202         * gst/gstformat.c:
17203         * gst/gstformat.h:
17204         * gst/gstversion.h.in:
17205           more docs and two more inlined
17206
17207 2005-08-30  Wim Taymans  <wim@fluendo.com>
17208
17209         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
17210         Don't sync to clock.
17211
17212 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
17213
17214         * docs/gst/gstreamer-sections.txt:
17215           ultral33t func10ns deserve to appear in the docs actually
17216         * docs/gst/tmpl/.cvsignore:
17217         * docs/gst/tmpl/gstcompat.sgml:
17218         * docs/gst/tmpl/gstconfig.sgml:
17219         * gst/check/gstcheck.c:
17220         * gst/gstcompat.h:
17221         * gst/gstconfig.h.in:
17222           inlined more docs
17223
17224 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
17225
17226         * docs/gst/tmpl/.cvsignore:
17227         * docs/gst/tmpl/gstquery.sgml:
17228         * docs/gst/tmpl/gstutils.sgml:
17229         * gst/gstquery.c:
17230         * gst/gstquery.h:
17231           inlined and extended docs
17232
17233 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
17234
17235         * check/gst-libs/controller.c: (GST_START_TEST),
17236         (gst_controller_suite):
17237           more tests
17238         * docs/gst/tmpl/gstutils.sgml:
17239         * docs/libs/gstreamer-libs-sections.txt:
17240         * docs/libs/tmpl/gstdataprotocol.sgml:
17241           include path fixes
17242         * examples/controller/audio-example.c: (main):
17243           controller example works now
17244         * gst/gstclock.h:
17245           doc fixes
17246         * tools/gst-inspect.c: (print_element_properties_info):
17247           show param spec flags
17248
17249 2005-08-29  Andy Wingo  <wingo@pobox.com>
17250
17251         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
17252
17253 2005-08-28  Andy Wingo  <wingo@pobox.com>
17254
17255         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
17256         as having two arguments instead of just one. Allows superclasses
17257         to access information on subclasses -- see the terrible for() loop
17258         in gtype.c:g_type_create_instance for the reason why. All callers
17259         changed.
17260
17261 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
17262
17263         * docs/design/part-messages.txt:
17264           update info
17265         * docs/gst/tmpl/.cvsignore:
17266         * docs/gst/tmpl/gstcaps.sgml:
17267         * docs/gst/tmpl/gstclock.sgml:
17268         * gst/gstbus.c:
17269         * gst/gstcaps.c:
17270         * gst/gstcaps.h:
17271         * gst/gstclock.c:
17272         * gst/gstclock.h:
17273         * gst/gstmessage.c:
17274           added descriptions for bus and message
17275           inline caps and clock docs
17276
17277 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
17278
17279         * gst/gstmessage.c:
17280         * gst/gstmessage.h:
17281           doc fixes
17282
17283 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
17284
17285         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
17286           fix div-by-zero
17287
17288 2005-08-26  Andy Wingo  <wingo@pobox.com>
17289
17290         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
17291         element_set_state's return val.
17292         (test_2_elements): Add test that's been disabled for months.
17293
17294         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
17295         can-activate-pull properties.
17296
17297         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
17298         can-activate-pull properties. Implement is_seekable so fakesrc can
17299         operate in pull mode.
17300
17301         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
17302         properties.
17303         (gst_base_sink_activate, gst_base_sink_activate_pull)
17304         (gst_base_sink_activate_push): Make activation mode choosing work.
17305         Cleanups.
17306         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
17307         is right. Make pull mode work. Post an eos before pausing in pull
17308         mode.
17309         (gst_base_sink_change_state): Pay attention to the core's
17310         change_state() return val.
17311         
17312         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
17313         has-getrange properties. Cleanups.
17314         
17315         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
17316         has_getrange and replace with can_activate_pull and
17317         can_activate_push.
17318
17319         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
17320         locking comments. Remove has_loop, has_chain and replace with
17321         can_activate_pull and can_activate_push.
17322
17323 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
17324
17325         * configure.ac:
17326         * examples/Makefile.am:
17327         * examples/metadata/Makefile.am:
17328         * examples/metadata/read-metadata.c: (message_loop),
17329         (have_pad_handler), (make_pipeline), (print_tag), (main):
17330           Add metadata reading example that loops over a list of filenames,
17331           dumping any tags found.
17332
17333         * gst/gstbus.c: (gst_bus_dispose):
17334         * gst/gstelement.c: (gst_element_dispose):
17335           Release a few potentially-held references in dispose.
17336
17337 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
17338
17339         * docs/gst/tmpl/gstminiobject.sgml:
17340           do *not* add tmpl/*.sgml files to CVS!
17341
17342 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
17343
17344         * libs/gst/bytestream/.cvsignore:
17345         * libs/gst/bytestream/Makefile.am:
17346         * libs/gst/bytestream/adapter.c:
17347         * libs/gst/bytestream/adapter.h:
17348         * libs/gst/bytestream/bytestream.c:
17349         * libs/gst/bytestream/bytestream.h:
17350         * libs/gst/bytestream/filepad.c:
17351         * libs/gst/bytestream/filepad.h:
17352           removing obsolete files
17353
17354 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
17355
17356         * docs/gst/gstreamer-docs.sgml:
17357         * docs/libs/gstreamer-libs-docs.sgml:
17358           disabed additional index entries again, as this makes docs-gen just
17359           slow and they aren't useful yet
17360         * docs/libs/gstreamer-libs-sections.txt:
17361           little -section.txt cleanup for libs
17362
17363 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
17364
17365         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
17366         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
17367           fix up some debugging
17368         (gst_base_transform_get_unit_size),
17369         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
17370         (gst_base_transform_handle_buffer):
17371         * gst/base/gstbasetransform.h:
17372           handle and store timed NEWSEGMENT events so that subclasses that
17373           calculate time by counting samples have a segment_start time they
17374           need to add to their timestamps - see audioresample
17375
17376 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
17377
17378         * gst/gstbin.h:
17379           removed ';' from the end of macro defs
17380         * docs/gst/gstreamer-docs.sgml:
17381         * docs/gst/gstreamer-sections.txt:
17382         * docs/gst/tmpl/.cvsignore:
17383         * gst/gstbus.h:
17384         * gst/gstelement.c: (gst_element_class_init),
17385         (gst_element_set_state), (activate_pads),
17386         (gst_element_save_thyself):
17387         * gst/gstevent.c: (gst_event_new_newsegment):
17388         * gst/gstevent.h:
17389         * gst/gstiterator.c:
17390         * gst/gstiterator.h:
17391         * gst/gstpad.c:
17392         * gst/gstprobe.h:
17393         * gst/gstutils.c: (gst_pad_query_convert):
17394         * gst/gstutils.h:
17395           fixed parameter name mismatches between source, header and docs
17396           added some more docs, resolved the last batch of unused elements in
17397           docs (now someone needs to doc them)
17398
17399 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
17400
17401         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
17402         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
17403           don't walk through the plugins backwards.  Where is all this
17404           reversed logic coming from ?
17405
17406 2005-08-25  Wim Taymans  <wim@fluendo.com>
17407
17408         * gst/base/gstbasetransform.c: (gst_base_transform_init),
17409         (gst_base_transform_transform_size),
17410         (gst_base_transform_configure_caps),
17411         (gst_base_transform_get_unit_size),
17412         (gst_base_transform_buffer_alloc),
17413         (gst_base_transform_change_state):
17414         * gst/base/gstbasetransform.h:
17415         Cache caps unit_size.
17416         Make sure we cannot negotiate up and downstream at the
17417         same time.
17418
17419 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
17420
17421         * gst/gst.c: (init_pre), (init_post):
17422           register the installed plugin path after the env var
17423         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
17424         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
17425           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
17426           directories, so the tests can prefer uninstalled over installed
17427
17428 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
17429
17430         * gst/base/gstbasetransform.h:
17431           comment
17432         * gst/gstpad.c:
17433           add to docs
17434
17435 2005-08-25  Wim Taymans  <wim@fluendo.com>
17436
17437         * gst/gstbin.c: (bin_bus_handler):
17438         Be a bit more conservative about the posted message.
17439         
17440         * gst/gstbus.c: (gst_bus_post):
17441         Some cleanups, warn wrong return values.
17442
17443 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
17444
17445         * check/gst/gstbin.c: (GST_START_TEST):
17446         * gst/gstbin.c: (bin_bus_handler):
17447         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
17448         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
17449         (gst_message_new_warning), (gst_message_new_tag),
17450         (gst_message_new_state_changed), (gst_message_new_segment_start),
17451         (gst_message_new_segment_done), (gst_message_new_custom):
17452         * gst/gstmessage.h:
17453         * tools/gst-launch.c: (event_loop):
17454         * tools/gst-md5sum.c: (event_loop):
17455           Revert unpopular change for GST_MESSAGE_SRC to GObject.
17456
17457 2005-08-25  Wim Taymans  <wim@fluendo.com>
17458
17459         * check/generic/states.c: (GST_START_TEST):
17460         Cleanup can be done at the end.
17461
17462         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
17463         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
17464         (gst_task_get_state), (gst_task_start), (gst_task_pause):
17465         Oh boy.. Thanks for finding this, Thomas. 
17466
17467 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
17468
17469         * docs/gst/gstreamer.types:
17470           added missing types
17471
17472 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
17473
17474         * docs/gst/gstreamer-docs.sgml:
17475         * docs/gst/gstreamer-sections.txt:
17476         * docs/gst/tmpl/.cvsignore:
17477         * gst/gstbin.c:
17478         * gst/gstiterator.c:
17479         * gst/gstutils.c:
17480         * gst/registries/gstxmlregistry.h:
17481           added missing classes and symbols (123 more to go)
17482           removed removed symbols from section file
17483           fixed many doc-comments
17484
17485 2005-08-24  Wim Taymans  <wim@fluendo.com>
17486
17487         * check/generic/states.c: (GST_START_TEST):
17488         Make sure all tasks are stopped.
17489
17490         * check/gst/gstbin.c: (GST_START_TEST):
17491         Unref after usage for proper valgrinding.
17492
17493         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
17494         Really wait for the task to stop before destroying the
17495         mutex.
17496
17497         * gst/gstqueue.c: (gst_queue_sink_activate_push),
17498         (gst_queue_src_activate_push):
17499         Small cleanups. Don't stop the task when we did not start
17500         it.
17501
17502         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
17503         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
17504         (gst_task_get_state), (gst_task_start), (gst_task_pause),
17505         (gst_task_join):
17506         * gst/gsttask.h:
17507         Protect the stream lock with the object lock.
17508         Disallow setting the stream lock when running.
17509         Add cleanup_all to wait for the threadpool to finish.
17510         Remove code to autoallocate a mutex if none was provided.
17511         Add _join() to wait for a task to stop.
17512         Protect the thread pool with a global lock.
17513
17514 2005-08-24  Wim Taymans  <wim@fluendo.com>
17515
17516         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
17517         (gst_base_sink_get_times), (gst_base_sink_do_sync),
17518         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
17519         * gst/base/gstbasesink.h:
17520         Handle newsegment events correctly.
17521         Drop buffers out of the segment range.
17522
17523 2005-08-22  Andy Wingo  <wingo@pobox.com>
17524
17525         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
17526         macro, implements an interface and gstimplementsinterface for a
17527         new type.
17528
17529 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
17530
17531         * check/Makefile.am:
17532         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
17533           add a test that does a bunch of state changes on elements
17534           needs some fixing for valgrind
17535         * check/states/sinks.c: (gst_object_suite):
17536           whitespace
17537         * gst/gstcaps.h:
17538           add prototype for gst_caps_is_equal_fixed
17539         * gst/gstplugin.c:
17540         * gst/gstregistrypool.c:
17541           doc fixes
17542
17543 2005-08-24  Andy Wingo  <wingo@pobox.com>
17544
17545         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
17546         convert a negative value. Doesn't make much sense. Mostly this is
17547         here to force callers to ensure -1 maps to -1.
17548
17549 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
17550
17551         * docs/pwg/advanced-types.xml:
17552           Well done to Michael for catching my deliberate introduction
17553           of this spelling mistake. 
17554         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
17555         * gst/gstelement.h:
17556           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
17557           unlink pads before removing the element from the bin.
17558
17559 2005-08-24  Andy Wingo  <wingo@pobox.com>
17560
17561         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
17562         the same thing as GST_DEBUG=*:4.
17563         (parse_debug_level, parse_debug_category): New helper parsers.
17564
17565 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
17566
17567         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
17568         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
17569         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
17570         (gst_base_transform_buffer_alloc),
17571         (gst_base_transform_handle_buffer):
17572           use gboolean return values and pointers to size so we can use the
17573           full GST_BUFFER_SIZE range (guint) for buffer sizes
17574           use GstPadDirection for transform_caps
17575         * gst/base/gstbasetransform.h:
17576           rename get_size to get_unit_size since that's what it is
17577         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
17578           use GstPadDirection for transform_caps
17579         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
17580         * gst/gstutils.h:
17581           cleanup and debugging
17582
17583 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
17584
17585         * gst/gstelement.c: (gst_element_class_init),
17586         (gst_element_set_state), (activate_pads),
17587         (gst_element_save_thyself):
17588         * tools/gst-compprep.c: (main):
17589         * tools/gst-inspect.c: (print_element_properties_info):
17590         * tools/gst-xmlinspect.c: (print_element_properties):
17591           Fixed long standing mem-leak
17592
17593 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
17594
17595         * check/gst/gstbin.c: (GST_START_TEST):
17596         * gst/gstbin.c: (bin_bus_handler):
17597         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
17598         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
17599         (gst_message_new_warning), (gst_message_new_tag),
17600         (gst_message_new_state_changed), (gst_message_new_segment_start),
17601         (gst_message_new_segment_done), (gst_message_new_custom):
17602         * gst/gstmessage.h:
17603         * tools/gst-launch.c: (event_loop):
17604         * tools/gst-md5sum.c: (event_loop):
17605           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
17606           that applications can sensibly post custom messages with references
17607           to their own objects.
17608
17609 2005-08-24  Andy Wingo  <wingo@pobox.com>
17610
17611         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
17612         already.
17613
17614 2005-08-24  Wim Taymans  <wim@fluendo.com>
17615
17616         * gst/base/gstbasetransform.c: (gst_base_transform_init),
17617         (gst_base_transform_transform_caps),
17618         (gst_base_transform_transform_size),
17619         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
17620         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
17621         (gst_base_transform_handle_buffer):
17622         * gst/base/gstbasetransform.h:
17623         Many fixes and new features added by Thomas. Can now also do
17624         transforms with variable sizes and a custom fixate_caps function.
17625
17626 2005-08-24  Wim Taymans  <wim@fluendo.com>
17627
17628         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
17629         Some debugging.
17630
17631         * gst/gstclock.h:
17632         Cast to ClockTime before formatting to time.
17633
17634         * gst/gstutils.h:
17635         Cleanups.
17636
17637 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
17638
17639         * check/gst-libs/controller.c: (GST_START_TEST),
17640         (gst_controller_suite):
17641         * docs/gst/tmpl/gstcaps.sgml:
17642         * docs/gst/tmpl/gstghostpad.sgml:
17643         * docs/gst/tmpl/gstquery.sgml:
17644         * docs/gst/tmpl/gstutils.sgml:
17645         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
17646         (gst_object_sink_values), (gst_object_get_value_arrays),
17647         (gst_object_get_value_array):
17648           gracefully handle helper method calls to objects that are not beeing
17649           controlled, added test case for that          
17650
17651 2005-08-23  Wim Taymans  <wim@fluendo.com>
17652
17653         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
17654         (gst_event_new_newsegment), (gst_event_parse_newsegment),
17655         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
17656         (gst_event_parse_qos), (gst_event_new_seek),
17657         (gst_event_parse_seek):
17658         * gst/gstevent.h:
17659         Some more debugging output and doc cleanups.
17660
17661         * gst/gstqueue.c: (gst_queue_handle_sink_event):
17662         Fix possible deadlock.
17663
17664 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
17665
17666         * docs/gst/gstreamer-docs.sgml:
17667         * docs/gst/gstreamer-sections.txt:
17668         * docs/gst/gstreamer.types:
17669         * docs/gst/tmpl/.cvsignore:
17670         * gst/gstbin.h:
17671         * gst/gstbus.c:
17672         * gst/gstelement.c:
17673         * gst/gstevent.h:
17674           added 100 symbols from gstreamer-unused.txt to the right sections
17675           fixed more broken comments
17676           added GstBus to docs
17677
17678 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
17679
17680         * docs/gst/gstreamer-sections.txt:
17681         * docs/gst/tmpl/.cvsignore:
17682         * docs/gst/tmpl/gstbin.sgml:
17683         * docs/gst/tmpl/gstbuffer.sgml:
17684         * gst/base/gstbasesrc.c:
17685         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
17686         * gst/gstbuffer.c:
17687         * gst/gstbuffer.h:
17688         * tools/gst-launch.1.in:
17689           inlined more doc comments, added missing comments and fixed comments
17690           fixed typos
17691
17692 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
17693
17694         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
17695           some debugging
17696         * gst/gstcaps.h:
17697           whitespace fixes
17698         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
17699           more debugging
17700         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
17701         * gst/gststructure.h:
17702           add a fixate function for booleans; add a FIXME that these func
17703           names should probably be gst_structure_fixate_*
17704
17705 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
17706
17707         * docs/gst/gstreamer-docs.sgml:
17708         * docs/gst/gstreamer-sections.txt:
17709         * gst/Makefile.am:
17710         * gst/gstbin.c: (gst_bin_get_type),
17711         (gst_bin_child_proxy_get_child_by_index),
17712         (gst_bin_child_proxy_get_children_count),
17713         (gst_bin_child_proxy_init):
17714         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
17715         (gst_child_proxy_get_child_by_index),
17716         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
17717         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
17718         (gst_child_proxy_get), (gst_child_proxy_set_property),
17719         (gst_child_proxy_set_valist), (gst_child_proxy_set),
17720         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
17721         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
17722         * gst/gstchildproxy.h:
17723         * gst/parse/grammar.y:
17724         * tools/gst-inspect.c: (print_interfaces),
17725         (print_element_properties_info), (print_element_info):
17726           ported gstchildproxy over from 0.8
17727           ported gst-inspect fixes and enhancements over from 0.8
17728
17729 2005-08-22  Wim Taymans  <wim@fluendo.com>
17730
17731         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
17732         (gst_base_transform_handle_buffer):
17733         Also call the transform function if we have ANY caps.
17734
17735         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
17736         Fix debug info.
17737
17738 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
17739
17740         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
17741           Don't pretend to handle seek events if the source is not seekable
17742
17743 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
17744
17745         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
17746           Remove extra parameter to debug output
17747
17748         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
17749         (gst_base_src_do_seek), (gst_base_src_activate_push):
17750           Fix seek event handling.
17751
17752         * gst/gstpipeline.c: (gst_pipeline_change_state):
17753         * gst/gstqueue.c: (gst_queue_handle_sink_event),
17754         (gst_queue_src_activate_push):
17755           Don't start the src pad task on FLUSH_STOP if the pad
17756           isn't linked.
17757           Debug changes.
17758
17759 2005-08-22  Wim Taymans  <wim@fluendo.com>
17760
17761         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
17762         Added check for gst_static_caps_get() refcounting.
17763
17764 2005-08-22  Wim Taymans  <wim@fluendo.com>
17765
17766         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
17767         Make _static_caps_get() refcounting sane.
17768         
17769         * gst/gstelement.c: (gst_element_set_state):
17770         Add g_return_val_if_fail() to protect against segfaults.
17771
17772 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
17773
17774         * docs/gst/tmpl/gstevent.sgml:
17775         * gst/gstevent.c:
17776         * gst/gstevent.h:
17777           inlined remaining docs, added missing doc comments
17778
17779 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
17780
17781         * check/gst/gstbin.c: (GST_START_TEST):
17782           since we don't know when preroll is done, use refcount range
17783           check for the sink
17784         * gst/check/gstcheck.h:
17785           add macro for checking refcount range
17786
17787 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
17788
17789         * check/Makefile.am:
17790           clean up environment for when registry gets built versus
17791           when actual tests are run; valgrind seems to not report
17792           leaks if GST_PLUGIN_PATH is set to some specific values
17793         * check/gst/gstbin.c: (GST_START_TEST):
17794           add more refcounting checks; maybe this exposes a
17795           preroll lock bug ?
17796         * common/check.mak:
17797         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
17798         * gst/check/gstcheck.h:
17799         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
17800         (gst_bin_change_state):
17801         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
17802           add/fix debugging/whitespace
17803
17804 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
17805
17806         * check/gst/gstevent.c: (event_probe), (test_event),
17807         (GST_START_TEST):
17808          Er, don't call gst_bin_watch_for_state_change you idiot.
17809
17810 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
17811
17812         * check/Makefile.am:
17813           Use CHECK_CFLAGS and CHECK_LIBS
17814         * check/gst/gstevent.c: (event_probe), (test_event),
17815         (GST_START_TEST):
17816           Don't leak events.
17817         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
17818         (gst_base_src_start), (gst_base_src_stop),
17819         (gst_base_src_activate_push), (gst_base_src_activate_pull),
17820         (gst_base_src_change_state):
17821           Sprinkle gst_base_src_stop liberally around error paths to fix
17822           problems reusing a source after failed state changes.
17823         * gst/base/gsttypefindhelper.c: (helper_find_peek),
17824         (helper_find_suggest), (gst_type_find_helper):
17825           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
17826         * gst/gstevent.h:
17827         * docs/gst/tmpl/gstevent.sgml:
17828           Migrate part of the docs from the SGML file. Wait for ensonic to
17829           tell me how I did it wrong ;)
17830         * tools/gst-typefind.c: (main):
17831           Extra robustness to state changes between files.
17832
17833 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
17834
17835         * check/Makefile.am:
17836           don't valgrind the controller test - it's leaking - Stefan, HELP
17837         * gst/check/gstcheck.c: (gst_check_message_error),
17838         (gst_check_chain_func), (gst_check_setup_element),
17839         (gst_check_teardown_element), (gst_check_setup_src_pad),
17840         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
17841         (gst_check_teardown_sink_pad):
17842         * gst/check/gstcheck.h:
17843           add a bunch of methods to set up elements, and src and sink pads
17844         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
17845         * check/elements/identity.c: (setup_identity), (cleanup_identity),
17846         (GST_START_TEST):
17847           use them
17848         * gst/gstmessage.c:
17849         * gst/gsttag.h:
17850           whitespace/doc fixes
17851
17852 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
17853
17854         * gst/gstelement.h:
17855           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
17856           be handled by the application and not always printed as well
17857
17858 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
17859
17860         * check/Makefile.am:
17861           set GST_TOOLS_DIR
17862         * gst/check/gstcheck.c: (gst_check_message_error):
17863         * gst/check/gstcheck.h:
17864           add a fail_unless_equals_int
17865           add fail_unless for error messages
17866
17867 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
17868
17869         * check/Makefile.am:
17870         * check/gst.supp:
17871         * common/Makefile.am:
17872         * common/check.mak:
17873         * common/gst.supp:
17874           factor out some of the common stuff so we can use it
17875
17876 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
17877
17878         * check/Makefile.am:
17879         * check/gst/gstiterator.c: (GST_START_TEST):
17880         * check/gst/gstsystemclock.c: (GST_START_TEST),
17881         (gst_systemclock_suite):
17882         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
17883         * gst/gstclock.c:
17884           valgrind more tests
17885
17886 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
17887
17888         * check/elements/.cvsignore:
17889         * check/elements/gstfakesrc.c:
17890           rename to name of element
17891         * check/elements/identity.c: (chain_func), (event_func),
17892         (setup_identity), (cleanup_identity), (GST_START_TEST),
17893         (identity_suite), (main):
17894           add a test for identity
17895         * check/Makefile.am:
17896         * pkgconfig/Makefile.am:
17897         * pkgconfig/gstreamer-check.pc.in:
17898         * pkgconfig/gstreamer-check-uninstalled.pc.in:
17899         * gst/check:
17900         * gst/Makefile.am:
17901         * configure.ac:
17902           move the check stuff to a library that gets installed
17903         * check/gst-libs/controller.c: (GST_START_TEST):
17904         * check/gst-libs/gdp.c:
17905         * check/gst/gst.c: (GST_START_TEST):
17906         * check/gst/gstbin.c:
17907         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
17908         * check/gst/gstbus.c:
17909         * check/gst/gstcaps.c: (GST_START_TEST):
17910         * check/gst/gstelement.c:
17911         * check/gst/gstghostpad.c:
17912         * check/gst/gstiterator.c:
17913         * check/gst/gstmessage.c:
17914         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
17915         * check/gst/gstobject.c:
17916         * check/gst/gstpad.c: (GST_START_TEST):
17917         * check/gst/gststructure.c: (GST_START_TEST):
17918         * check/gst/gstsystemclock.c: (GST_START_TEST),
17919         (gst_systemclock_suite):
17920         * check/gst/gsttag.c: (gst_tag_suite):
17921         * check/gst/gstvalue.c:
17922         * check/pipelines/cleanup.c:
17923         * check/pipelines/simple_launch_lines.c:
17924         * check/states/sinks.c:
17925           change include statement
17926
17927         * docs/gst/gstreamer-sections.txt:
17928         * docs/gst/tmpl/gstpad.sgml:
17929           document more pad stuff
17930         * gst/gstminiobject.c: (gst_mini_object_ref),
17931         (gst_mini_object_unref):
17932           debug refcounting
17933
17934 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
17935
17936         * docs/gst/tmpl/gst.sgml:
17937         * gst/gst.c:
17938           eliminate another tmpl file, fix spelling in the long-description
17939
17940 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
17941
17942         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
17943         (test_event), (timediff), (gstevents_suite):
17944           Should fix build on 64-bit arch's
17945
17946 2005-08-18  Andy Wingo  <wingo@pobox.com>
17947
17948         Make sure that when a pipeline goes to PLAYING, that data has
17949         actually hit the sink.
17950
17951         * check/states/sinks.c (test_sink): A sink that doesn't get any
17952         data shouldn't return SUCCESS for going to either PLAYING or
17953         PAUSED. Test also the return values on the way back down.
17954
17955         * gst/gstelement.c (gst_element_set_state): When changing the
17956         state of an element currently changing state asynchronously, go to
17957         lost-state after commiting the pending state. Makes future calls
17958         to get_state continue to return ASYNC.
17959
17960         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
17961         ASYNC when going to PLAYING if we still don't have preroll, as can
17962         happen with live sources.
17963
17964 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
17965
17966         * docs/pwg/advanced-types.xml:
17967           Hack long paragraph into 2 chunks as a workaround for buggy
17968           jadetex version in sid and breezy that loops infinitely and
17969           eats all RAM.
17970
17971 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
17972
17973         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
17974         (test_event), (timediff), (gstevents_suite):
17975           Provide more error margin in clock measurements to allow for 
17976           g_get_current_time inaccuracies.
17977
17978 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
17979
17980         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
17981         (test_event), (timediff), (gstevents_suite):
17982            Fix error message output so I might be able to tell why the
17983            test works here but fails on the build farm.
17984
17985 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
17986
17987         * check/Makefile.am:
17988         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
17989         (test_event), (timediff), (gstevents_suite), (main):
17990           I wrote a test!
17991
17992         * docs/design/part-seeking.txt:
17993           Spelling correction
17994
17995         * docs/gst/tmpl/gstevent.sgml:
17996         * docs/gst/tmpl/gstfakesrc.sgml:
17997           Docs updates.
17998
17999         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
18000           Treat a buffer-without-newsegment the same as a receiving 
18001           a newsegment not in time format, and disable syncing to the clock
18002           with a warning.
18003
18004         * gst/gstbus.c: (gst_bus_set_sync_handler):
18005           Assert if anyone tries to replace the existing sync_handler for bus, 
18006           as only the owner should be setting it.
18007
18008         * gst/gstevent.h:
18009           Have a fixed set of custom event enums with events identified by
18010           their structure name (as in 0.8), rather than a free-for-all
18011           allowing collisions between enum values from different plugins.
18012
18013         * gst/gstpad.c: (gst_pad_class_init):
18014           Docs change.
18015           
18016         * gst/gstqueue.c: (gst_queue_handle_sink_event):
18017           Handle out-of-band downstream events from the sending thread.
18018
18019 2005-08-17  Andy Wingo  <wingo@pobox.com>
18020
18021         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
18022         play-timeout==0 to mean no timeout at all. In that case, don't
18023         bother with a get_state or a warning, just return directly, even
18024         if it's ASYNC.
18025
18026         * gst/base/gstbasetransform.c: Debug changes.
18027
18028         * gst/gstutils.h:
18029         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
18030         ensure bins post state change messages. A bit of a hack but I can't
18031         think of a way to avoid it.
18032
18033         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
18034
18035 2005-08-16  Andy Wingo  <wingo@pobox.com>
18036
18037         * gst/base/gstadapter.h:
18038         * gst/base/gstadapter.c (gst_adapter_take): New function, like
18039         peek() but you own the data. Not terribly efficient atm.
18040
18041 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18042
18043         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
18044         (gst_element_found_tags):
18045         * gst/gstutils.h:
18046           Add two utility functions for tag handling.
18047
18048 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18049
18050         * docs/manual/advanced-dataaccess.xml:
18051         * docs/manual/basics-helloworld.xml:
18052           Fix docs to use _bin_add() before _link(), which fixes the examples
18053           with recent core versions (reported by Madhan Raj M
18054           <raj_madan@rediffmail.com>, #313199).
18055
18056 2005-08-16  Wim Taymans  <wim@fluendo.com>
18057
18058         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
18059         Added subtract checks.
18060
18061         * docs/design/part-events.txt:
18062         Some more docs about newsegment
18063
18064         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
18065         Fix FIXME
18066
18067         * gst/gstcaps.c: (gst_caps_to_string):
18068         Add comments, cleanups.
18069         
18070         * gst/gstelement.c: (gst_element_save_thyself):
18071         cleanups
18072         
18073         * gst/gstvalue.c: (gst_value_collect_int_range),
18074         (gst_string_unwrap), (gst_value_union_int_int_range),
18075         (gst_value_union_int_range_int_range),
18076         (gst_value_intersect_int_int_range),
18077         (gst_value_intersect_int_range_int_range),
18078         (gst_value_intersect_double_double_range),
18079         (gst_value_intersect_double_range_double_range),
18080         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
18081         (gst_value_subtract_int_range_int),
18082         (gst_value_subtract_double_range_double),
18083         (gst_value_subtract_double_range_double_range),
18084         (gst_value_subtract_from_list), (gst_value_subtract_list),
18085         (gst_value_can_compare), (gst_value_compare_fraction):
18086         Cleanups, add comments, remove unneeded asserts.
18087
18088 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
18089
18090         * tools/gst-launch.c: (event_loop):
18091           don't convert NULL structures to strings
18092
18093 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
18094
18095         * docs/gst/gstreamer-sections.txt:
18096           made some defines private
18097         * docs/gst/tmpl/gstconfig.sgml:
18098         * docs/gst/tmpl/gstqueue.sgml:
18099         * docs/gst/tmpl/gsttaglist.sgml:
18100         * docs/gst/tmpl/gsttypes.sgml:
18101         * docs/gst/tmpl/gstutils.sgml:
18102         * docs/pwg/appendix-porting.xml:
18103         * gst/base/gstbasesink.h:
18104         * gst/base/gstbasesrc.c:
18105         * gst/base/gstbasesrc.h:
18106         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
18107         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
18108         * gst/gstelement.c: (gst_element_class_init):
18109         * gst/gstpad.c: (gst_pad_class_init):
18110         * gst/gstqueue.c: (gst_queue_class_init):
18111         * gst/gstxml.c: (gst_xml_class_init):
18112           documented all undocumented signal inline
18113         * libs/gst/controller/gst-controller.h:
18114           added padding
18115
18116 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18117
18118         * docs/pwg/appendix-porting.xml:
18119           Document _set_link_function -> _set_setcaps_function.
18120
18121 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
18122
18123         * check/Makefile.am:
18124           add a .check target for running the check
18125         * check/gst-libs/controller.c: (GST_START_TEST):
18126           cosmetic fixups
18127         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
18128           complete checks for gstbuffer; would be nice if I could get the
18129           gcov stuff to work so I can see if I actually completed gstbuffer.c
18130         * check/gstcheck.h:
18131           add ASSERT_BUFFER_REFCOUNT
18132
18133 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
18134
18135         * docs/gst/gstreamer-sections.txt:
18136         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
18137         * gst/gsttag.h:
18138           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
18139           spew out a warning if a tag that is already registered
18140           is re-registered, unless it is re-registered with a 
18141           different type (#308438).
18142
18143 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
18144
18145         * docs/pwg/appendix-porting.xml:
18146         * docs/pwg/building-state.xml:
18147           Add some paragraphs about state changes in 0.9 to the PWG
18148           and the porting guide, in particular about the new meaning
18149           of GST_STATE_PAUSED and how to write state change functions
18150           with concurrent access by multiple threads in mind.
18151
18152 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
18153
18154         * docs/gst/gstreamer-docs.sgml:
18155         * docs/libs/gstreamer-libs-docs.sgml:
18156           added deprecation and since indexes
18157         * libs/gst/controller/gst-controller.c:
18158         * libs/gst/controller/gst-helper.c:
18159           added since tags
18160
18161
18162 2005-08-11  Wim Taymans  <wim@fluendo.com>
18163
18164         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
18165         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
18166         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
18167         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
18168         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
18169         (gst_ghost_pad_set_target):
18170         Actually implement (re)setting the target on a ghostpad
18171         as described in the docs.
18172
18173 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
18174
18175         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
18176           Check whether GST_DEBUG_NO_COLOR environment variable is
18177           set and disable coloured debug output if that is the case.
18178
18179 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
18180
18181         * gst/base/gsttypefindhelper.c: (helper_find_peek),
18182         (gst_type_find_helper):
18183           The memory returned by gst_type_find_peek() needs to
18184           stay valid until the end of a typefind function, and
18185           typefind functions may keep results from different 
18186           offsets around, so we can't just unref the buffer from
18187           the previous _peek(), but have to save all buffers 
18188           returned by _peek() until typefinding is done and only
18189           free them then.
18190
18191 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
18192
18193         * docs/gst/gstreamer-sections.txt:
18194         * gst/gstutils.h:
18195           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
18196
18197 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18198
18199         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
18200           Fix a pretty good memleak.
18201
18202 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
18203
18204         * gst/gstiterator.h:
18205           Fix wrong include and 'make distcheck'.
18206
18207 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18208
18209         * gst/gstbin.c: (bin_bus_handler):
18210           Use gst_element_post_message() instead.
18211
18212 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
18213
18214         * gst/base/gstadapter.h:
18215         * gst/base/gstbasesink.h:
18216         * gst/base/gstbasesrc.h:
18217         * gst/base/gstbasetransform.h:
18218         * gst/base/gstcollectpads.h:
18219         * gst/base/gstpushsrc.h:
18220         * gst/gstiterator.h:
18221           Add padding to our base elements' class and instance structs and
18222           to GstIterator (you will need to rebuild all plugins and apps!)
18223
18224 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18225
18226         * gst/gstbin.c: (bin_bus_handler):
18227           Make default message forwarding from child->bus to bin->bus
18228           threadsafe and make it not emit warnings if the parent has no bus.
18229
18230 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18231
18232         * gst/gstelement.c: (activate_pads):
18233           On paused->ready, set pad->caps to NULL, as is the documented
18234           behaviour in this state change. Fixes playback of series of
18235           media files when visualization is enabled in Totem.
18236
18237 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18238
18239         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
18240           Allow NULL as filter-caps (which means "any").
18241
18242 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
18243
18244         * docs/libs/gstreamer-libs-sections.txt:
18245         * libs/gst/controller/gst-controller.c:
18246         * libs/gst/controller/gst-controller.h:
18247         * libs/gst/controller/gst-helper.c:
18248           adding more entries to the docs and fix small doc-bugs
18249
18250 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
18251
18252         * docs/gst/gstreamer-docs.sgml:
18253         * docs/gst/gstreamer-sections.txt:
18254         * docs/gst/gstreamer.types:
18255         * docs/gst/tmpl/gstbasesink.sgml:
18256         * docs/gst/tmpl/gstbasesrc.sgml:
18257         * docs/gst/tmpl/gstbasetransform.sgml:
18258         * docs/gst/tmpl/gstfakesrc.sgml:
18259         * gst/base/gstcollectpads.c:
18260         * gst/base/gstcollectpads.h:
18261         * libs/gst/controller/gst-controller.c:
18262         * libs/gst/controller/gst-controller.h:
18263         * libs/gst/controller/gst-helper.c:
18264         * libs/gst/controller/gst-interpolation.c:
18265         * libs/gst/controller/lib.c:
18266           added long/short desc for controller docs
18267           added collectpads base class docs
18268           added correct includes to base-class docs
18269
18270 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
18271
18272         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
18273         (gst_test_mono_source_set_property),
18274         (gst_test_mono_source_class_init), (GST_START_TEST),
18275         (gst_controller_suite):
18276         * docs/gst/gstreamer-docs.sgml:
18277         * docs/gst/gstreamer-sections.txt:
18278         * docs/gst/gstreamer.types:
18279         * docs/libs/gstreamer-libs-docs.sgml:
18280         * docs/libs/gstreamer-libs-sections.txt:
18281         * gst/base/gstadapter.c:
18282         * libs/gst/controller/gst-controller.c:
18283         (gst_controlled_property_new), (gst_controlled_property_free),
18284         (gst_controller_new_valist),
18285         (gst_controller_remove_properties_valist),
18286         (gst_controller_sink_values), (_gst_controller_finalize):
18287         * libs/gst/controller/gst-controller.h:
18288         * libs/gst/controller/gst-helper.c:
18289         (gst_object_control_properties), (gst_object_uncontrol_properties),
18290         (gst_object_get_controller), (gst_object_set_controller),
18291         (gst_object_sink_values), (gst_object_get_value_arrays),
18292         (gst_object_get_value_array):
18293           more tests (and fixes) for the controller
18294           more docs for the controller
18295           integrated companies docs for the adapter 
18296
18297 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
18298
18299         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
18300         (GST_START_TEST), (fakesrc_suite):
18301           add tests for sizetype
18302
18303 2005-08-04  Andy Wingo  <wingo@pobox.com>
18304
18305         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
18306         fixes buffer_alloc proxying among other things.
18307
18308         * gst/base/gstbasetransform.c:
18309         * gst/base/gstbasetransform.h:
18310         Revert patch to gstbasetransform from 7-28 removing
18311         delay_configure.
18312
18313         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
18314         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
18315         Semantics changed, should return not the size of the output buffer
18316         but the byte size of a buffer with a given caps.
18317
18318         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
18319         debug object.
18320         (gst_base_transform_configure_caps): Don't set out_size here: (in,
18321         out) are not the pad caps until setcaps finishes.
18322         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
18323         not-in-place case as well. Deal with changing from in-place to
18324         not-in-place within calling pad_alloc_buffer. Still a bit
18325         concerned about the overhead here...
18326
18327 2005-08-03  Andy Wingo  <wingo@pobox.com>
18328
18329         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
18330         fixating is an error.
18331
18332 2005-08-04  Edward Hervey  <edward@fluendo.com>
18333
18334         * gst/base/gstadapter.h: 
18335         Added gst_adapter_get_type() to the header
18336
18337 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
18338
18339         * check/Makefile.am:
18340         * check/gst-libs/controller.c:
18341         * libs/gst/controller/gst-controller.c:
18342         (gst_controller_new_valist):
18343           added check test suite for the controller
18344         * gst/base/gstpushsrc.c:
18345           fixed a doc typo
18346
18347 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
18348
18349         * docs/gst/Makefile.am:
18350         * docs/gst/gstreamer-docs.sgml:
18351         * docs/gst/gstreamer-sections.txt:
18352         * docs/gst/gstreamer.types:
18353         * docs/gst/tmpl/gstfakesrc.sgml:
18354         * gst/base/README:
18355         * gst/base/gstbasesink.c:
18356         * gst/base/gstbasesink.h:
18357         * gst/base/gstbasesrc.c:
18358         * gst/base/gstbasesrc.h:
18359         * gst/base/gstbasetransform.c:
18360         * gst/base/gstpushsrc.c:
18361         * gst/base/gstpushsrc.h:
18362           add short/long description docs to base classes
18363           add pushsrc to the docs
18364           remove consolidated doc fragments
18365
18366 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
18367
18368         * configure.ac:
18369         * docs/libs/Makefile.am:
18370         * docs/libs/gstreamer-libs-docs.sgml:
18371         * docs/libs/gstreamer-libs-sections.txt:
18372         * docs/libs/gstreamer-libs.types:
18373         * examples/Makefile.am:
18374         * examples/controller/.cvsignore:
18375         * examples/controller/Makefile.am:
18376         * examples/controller/audio-example.c: (main):
18377         * libs/gst/Makefile.am:
18378         * libs/gst/controller/.cvsignore:
18379         * libs/gst/controller/Makefile.am:
18380         * libs/gst/controller/gst-controller.c:
18381         (on_object_controlled_property_changed), (gst_timed_value_compare),
18382         (gst_timed_value_find),
18383         (gst_controlled_property_set_interpolation_mode),
18384         (gst_controlled_property_new), (gst_controlled_property_free),
18385         (gst_controller_find_controlled_property),
18386         (gst_controller_new_valist), (gst_controller_new),
18387         (gst_controller_remove_properties_valist),
18388         (gst_controller_remove_properties), (gst_controller_set),
18389         (gst_controller_set_from_list), (gst_controller_unset),
18390         (gst_controller_get), (gst_controller_get_all),
18391         (gst_controller_sink_values), (gst_controller_get_value_arrays),
18392         (gst_controller_get_value_array),
18393         (gst_controller_set_interpolation_mode),
18394         (_gst_controller_finalize), (_gst_controller_init),
18395         (_gst_controller_class_init), (gst_controller_get_type):
18396         * libs/gst/controller/gst-controller.h:
18397         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
18398         (g_object_uncontrol_properties), (g_object_get_controller),
18399         (g_object_set_controller), (g_object_sink_values),
18400         (g_object_get_value_arrays), (g_object_get_value_array):
18401         * libs/gst/controller/gst-interpolation.c:
18402         (gst_controlled_property_find_timed_value_node),
18403         (interpolate_none_get), (interpolate_trigger_get),
18404         (interpolate_trigger_get_value_array):
18405         * libs/gst/controller/lib.c: (gst_controller_init):
18406         * pkgconfig/Makefile.am:
18407         * pkgconfig/gstreamer-control-uninstalled.pc.in:
18408         * pkgconfig/gstreamer-control.pc.in:
18409         * testsuite/Makefile.am:
18410         * testsuite/controller/.cvsignore:
18411         * testsuite/controller/Makefile.am:
18412         * testsuite/controller/interpolator.c: (main):
18413           added controller code
18414           removed dparam pc files
18415
18416 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
18417         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
18418         (gst_collectpads_stop):
18419           Broadcast the condition when shutting down, to make sure we wake all
18420           threads up. Shut down pads on finalize, for safety.
18421
18422 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
18423         * gst/base/gstbasetransform.c: (gst_base_transform_init),
18424         (gst_base_transform_handle_buffer),
18425         (gst_base_transform_change_state):
18426           Handle PAUSED->READY->PAUSED transition after negotiation
18427           occurred already.
18428         * gst/gstmessage.c: (gst_message_init):
18429           Extra piece of debug for new messages.
18430
18431 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
18432
18433         * configure.ac:
18434         * docs/gst/tmpl/gstbasesrc.sgml:
18435         * docs/gst/tmpl/gstelement.sgml:
18436         * docs/gst/tmpl/gstevent.sgml:
18437         * docs/gst/tmpl/gstfakesrc.sgml:
18438         * docs/gst/tmpl/gstformat.sgml:
18439         * docs/gst/tmpl/gstghostpad.sgml:
18440         * docs/gst/tmpl/gstpad.sgml:
18441         * docs/gst/tmpl/gstquery.sgml:
18442         * docs/gst/tmpl/gststructure.sgml:
18443         * docs/gst/tmpl/gsttaglist.sgml:
18444         * docs/gst/tmpl/gstvalue.sgml:
18445         * docs/libs/gstreamer-libs-docs.sgml:
18446         * docs/libs/gstreamer-libs-sections.txt:
18447         * docs/libs/gstreamer-libs.types:
18448         * libs/gst/Makefile.am:
18449         * libs/gst/control/.cvsignore:
18450         * libs/gst/control/Makefile.am:
18451         * libs/gst/control/control.c:
18452         * libs/gst/control/control.h:
18453         * libs/gst/control/dparam.c:
18454         * libs/gst/control/dparam.h:
18455         * libs/gst/control/dparam_smooth.c:
18456         * libs/gst/control/dparam_smooth.h:
18457         * libs/gst/control/dparamcommon.h:
18458         * libs/gst/control/dparammanager.c:
18459         * libs/gst/control/dparammanager.h:
18460         * libs/gst/control/dplinearinterp.c:
18461         * libs/gst/control/dplinearinterp.h:
18462         * libs/gst/control/unitconvert.c:
18463         * libs/gst/control/unitconvert.h:
18464         * testsuite/Makefile.am:
18465         * testsuite/dynparams/.cvsignore:
18466         * testsuite/dynparams/Makefile.am:
18467         * testsuite/dynparams/dparamstest.c:
18468         * tools/Makefile.am:
18469         * tools/gst-inspect.c: (print_element_info), (main):
18470         * tools/gst-xmlinspect.c: (print_element_info), (main):
18471           deactivate and remove dparams (libgstcontrol)
18472
18473 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
18474
18475         * gst/elements/gsttypefindelement.c:
18476         (gst_type_find_element_have_type), (gst_type_find_element_init),
18477         (stop_typefinding), (gst_type_find_element_handle_event),
18478         (gst_type_find_element_chain), (gst_type_find_element_getrange):
18479         * gst/elements/gsttypefindelement.h:
18480           Set caps on all outgoing buffers, not just the first one.
18481
18482 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
18483
18484         * gst/elements/gsttypefindelement.c:
18485         (gst_type_find_element_have_type),
18486         (gst_type_find_element_check_set_buffer_caps),
18487         (gst_type_find_element_init), (stop_typefinding),
18488         (gst_type_find_element_handle_event),
18489         (gst_type_find_element_chain), (gst_type_find_element_getrange):
18490         * gst/elements/gsttypefindelement.h:
18491           Set caps on first outgoing buffer when we've found the type.
18492
18493 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
18494
18495         * docs/gst/gstreamer-docs.sgml:
18496         * docs/gst/gstreamer-sections.txt:
18497         * docs/gst/tmpl/gstscheduler.sgml:
18498         * docs/gst/tmpl/gstschedulerfactory.sgml:
18499           Remove some old cruft from docs.
18500
18501 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
18502
18503         * gst/gstpad.h:
18504           Fix inline docs for GstPadLinkReturn.
18505           
18506         * gst/gststructure.c: (gst_structure_has_name):
18507         * gst/gststructure.h:
18508         * docs/gst/gstreamer-sections.txt:
18509           New API: gst_structure_has_name().
18510
18511 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
18512
18513         * configure.ac:
18514           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
18515           and _LARGEFILE_SOURCE in config.h as required. Do not 
18516           export those flags in our .pc files any longer (#142209).
18517
18518           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
18519
18520         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
18521         (gst_file_sink_do_seek), (gst_file_sink_event),
18522         (gst_file_sink_get_current_offset), (gst_file_sink_render):
18523           Redo seek/tell calls with large file support in mind; add some
18524           debugging messages; add log message that tells us when large
18525           file support is unavailable or not enabled for some reason.
18526
18527         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
18528           Add log message that tells us when large file support 
18529           is unavailable or not enabled for some reason.
18530
18531 2005-07-29  Wim Taymans  <wim@fluendo.com>
18532
18533         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
18534         Added test for removing an element with ghostpad from a bin.
18535         Fixed test as current implementation does the right thing.
18536
18537         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
18538         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
18539         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
18540         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
18541         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
18542         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
18543         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
18544         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
18545         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
18546         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
18547         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
18548         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
18549         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
18550         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
18551         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
18552         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
18553         * gst/gstghostpad.h:
18554         Clean up ghostpads, remove properties for internal stuff.
18555         Make threadsafe.
18556         Fix refcounting.
18557         Prepare for switching targets, not all use cases work yet.
18558
18559 2005-07-29  Wim Taymans  <wim@fluendo.com>
18560
18561         * docs/design/part-gstghostpad.txt:
18562         Small update.
18563
18564         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
18565         (gst_bin_remove_func):
18566         Unlinking pads while holding the bin LOCK is not a good
18567         idea.
18568
18569         * gst/gstpad.c: (gst_pad_class_init),
18570         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
18571         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
18572         No prob setting template after creating the pad.
18573
18574 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
18575
18576         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
18577         (gst_bus_peek), (gst_bus_source_dispatch),
18578         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
18579         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
18580           gst_bus_poll may be called from other threads. Handle
18581           this nicely by not making poll_data disappear off the
18582           stack once gst_bus_poll returns.
18583           gst_bus_peek now increments the refcount on the returned
18584           message.
18585
18586 2005-07-29  Wim Taymans  <wim@fluendo.com>
18587
18588         * docs/design/part-gstghostpad.txt:
18589         Overview of current GhostPad datastructures and use
18590         cases for changing the target.
18591
18592 2005-07-28  Wim Taymans  <wim@fluendo.com>
18593
18594         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
18595         Added checks for hierarchy consistency whan adding linked
18596         elements to bins.
18597
18598         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
18599         Added check to test element scheduling without bin/pipeline.
18600
18601         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
18602         First add elements to bin, then link.
18603         
18604         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
18605         (gst_bin_remove_func):
18606         Unlink pads from elements added/removed from bin to maintain
18607         hierarchy consistency.
18608
18609 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18610
18611         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
18612         (gst_base_transform_handle_buffer):
18613         * gst/base/gstbasetransform.h:
18614           Remove broken delay_configure (fixes renegotiation of software
18615           scaling pipelines); remove some leftover printf()s.
18616
18617 2005-07-28  Wim Taymans  <wim@fluendo.com>
18618
18619         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
18620         Added some more tests for wrong hierarchy
18621
18622         * docs/design/part-overview.txt:
18623         Some updates.
18624
18625         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
18626         Cleanups.
18627
18628         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
18629         (gst_element_dispose):
18630         Some more cleanups.
18631
18632         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
18633         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
18634         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
18635         (gst_pad_set_caps), (gst_pad_send_event):
18636         Check for correct hierarchy when linking pads. Moving to
18637         strict requirement for ghostpads when linking elements in
18638         different bins.
18639
18640         * gst/gstpad.h:
18641         Clean ups. Added WRONG_HIERARCHY return value.
18642
18643 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18644
18645         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
18646           Better debug if no transform is possible.
18647
18648 2005-07-27  Wim Taymans  <wim@fluendo.com>
18649
18650         * docs/random/wtay/network-transp:
18651         Some old doc I had.
18652
18653 2005-07-27  Wim Taymans  <wim@fluendo.com>
18654
18655         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
18656         (gst_dp_event_from_packet):
18657         Fix serialization of seek events.
18658
18659 2005-07-27  Wim Taymans  <wim@fluendo.com>
18660
18661         * check/gst-libs/gdp.c: (GST_START_TEST):
18662         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
18663         Fix compilation and fix event serialization.
18664
18665 2005-07-27  Wim Taymans  <wim@fluendo.com>
18666
18667         * CHANGES-0.9:
18668         * docs/design/part-TODO.txt:
18669         * docs/design/part-events.txt:
18670         Some docs updates
18671
18672         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
18673         (gst_base_sink_event), (gst_base_sink_do_sync),
18674         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
18675         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
18676         (gst_base_src_do_seek), (gst_base_src_event_handler),
18677         (gst_base_src_loop):
18678         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
18679         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
18680         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
18681         (gst_base_transform_event), (gst_base_transform_handle_buffer),
18682         (gst_base_transform_set_passthrough),
18683         (gst_base_transform_is_passthrough):
18684         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
18685         * gst/elements/gstfilesink.c: (gst_file_sink_event):
18686         Event updates.
18687
18688         * gst/gstbuffer.h:
18689         Use faster casts.
18690
18691         * gst/gstelement.c: (gst_element_seek):
18692         * gst/gstelement.h:
18693         Update gst_element_seek.
18694
18695         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
18696         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
18697         (gst_event_new_flush_start), (gst_event_new_flush_stop),
18698         (gst_event_new_eos), (gst_event_new_newsegment),
18699         (gst_event_parse_newsegment), (gst_event_new_tag),
18700         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
18701         (gst_event_parse_qos), (gst_event_new_seek),
18702         (gst_event_parse_seek), (gst_event_new_navigation):
18703         * gst/gstevent.h:
18704         Make GstEvent use GstStructure. Add parsing code, make sure the
18705         API is sufficiently generic.
18706         Mark possible directions of events and serialization.
18707
18708         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
18709         (_gst_message_copy), (gst_message_new_segment_start),
18710         (gst_message_new_segment_done), (gst_message_new_custom),
18711         (gst_message_parse_segment_start),
18712         (gst_message_parse_segment_done):
18713         Small cleanups.
18714
18715         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
18716         (gst_pad_set_caps), (gst_pad_send_event):
18717         Update for new events. 
18718         Catch events sent in wrong directions.
18719
18720         * gst/gstqueue.c: (gst_queue_link_src),
18721         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
18722         (gst_queue_handle_src_query):
18723         Event updates.
18724
18725         * gst/gsttag.c:
18726         * gst/gsttag.h:
18727         Remove event code from this file.
18728
18729         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
18730         (gst_dp_event_from_packet):
18731         Event updates.
18732
18733 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18734
18735         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
18736         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
18737         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
18738           Make debugging actually useful.
18739
18740 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18741
18742         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
18743         (gst_pad_fixate_caps):
18744           Implement default fixation once again, so that gst_pad_fixate()
18745           actually does anything at all. This probably needs to be some
18746           sort of a last resort, and use profile-based fixation first, but
18747           since that doesn't exist yet, this is the best we have. Fixes
18748           visualization in Totem.
18749
18750 2005-07-22  Wim Taymans  <wim@fluendo.com>
18751
18752         * docs/design/part-events.txt:
18753         Small update.
18754
18755         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
18756         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
18757         (gst_base_sink_activate_pull):
18758         Some more comments.
18759
18760         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
18761         (gst_fake_src_create):
18762         Fix handoff marshall.
18763
18764         * gst/elements/gstidentity.c: (gst_identity_class_init),
18765         (gst_identity_transform_ip):
18766         We're a real inplace element.
18767
18768         * gst/gstbus.c: (gst_bus_post):
18769         Added some comments.
18770
18771         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
18772         * tests/muxing/case1.c: (main):
18773         * tests/sched/dynamic-pipeline.c: (main):
18774         * tests/sched/interrupt1.c: (main):
18775         * tests/sched/interrupt2.c: (main):
18776         * tests/sched/interrupt3.c: (main):
18777         * tests/sched/runxml.c: (main):
18778         * tests/sched/sched-stress.c: (main):
18779         * tests/seeking/seeking1.c: (event_received), (main):
18780         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
18781         (main):
18782         * tests/threadstate/threadstate3.c: (main):
18783         * tests/threadstate/threadstate4.c: (main):
18784         * tests/threadstate/threadstate5.c: (main):
18785         Fix the tests.
18786
18787 2005-07-21  Wim Taymans  <wim@fluendo.com>
18788
18789         * docs/design/part-seeking.txt:
18790         Some small additions.
18791
18792         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
18793         (gst_base_sink_get_times), (gst_base_sink_do_sync),
18794         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
18795         * gst/base/gstbasesink.h:
18796         discont values are gint64, handle the math correctly.
18797
18798         * gst/base/gstbasesrc.c: (gst_base_src_loop):
18799         Make the basesrc report error if the source pad is not linked.
18800
18801         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
18802         (gst_queue_loop), (gst_queue_handle_src_query),
18803         (gst_queue_src_activate_push):
18804         Make queue collect data even if the srcpad is not linked.
18805         Start pushing out data as soon as it is linked.
18806
18807         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
18808         * gst/gstutils.h:
18809         Added gst_flow_get_name() to ease error reporting.
18810
18811 2005-07-20  Wim Taymans  <wim@fluendo.com>
18812
18813         * gst/gstmessage.c: (gst_message_new_segment_start),
18814         (gst_message_new_segment_done), (gst_message_parse_segment_start),
18815         (gst_message_parse_segment_done):
18816         * gst/gstmessage.h:
18817         Added a bunch of messages for advanced seeking.
18818
18819         * gst/parse/grammar.y:
18820         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
18821         (gst_dpman_state_changed):
18822         Fix some new-pad -> pad-added signals
18823
18824 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18825
18826         * docs/manual/appendix-porting.xml:
18827         * docs/pwg/appendix-porting.xml:
18828           Document new-pad/state-change signal renames and the FixedList
18829           type rename.
18830
18831 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18832
18833         * docs/manual/advanced-autoplugging.xml:
18834         * docs/manual/basics-helloworld.xml:
18835         * docs/manual/basics-pads.xml:
18836         * docs/random/ds/0.9-suggested-changes:
18837         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
18838         * gst/gstelement.h:
18839         * gst/gstevent.h:
18840         * gst/gstformat.h:
18841         * gst/gstquery.h:
18842         * gst/gststructure.c: (gst_structure_value_get_generic_type),
18843         (gst_structure_parse_array), (gst_structure_parse_value):
18844         * gst/gstvalue.c: (gst_type_is_fixed),
18845         (gst_value_list_prepend_value), (gst_value_list_append_value),
18846         (gst_value_list_get_size), (gst_value_list_get_value),
18847         (gst_value_transform_array_string), (gst_value_serialize_array),
18848         (gst_value_deserialize_array), (gst_value_intersect_array),
18849         (gst_value_is_fixed), (_gst_value_initialize):
18850         * gst/gstvalue.h:
18851           GstElement::new-pad -> pad-added, GstElement::state-change ->
18852           state-changed, GstValueFixedList -> GstValueArray, add format and
18853           flags as their own arguments in gst_element_seek() (should improve
18854           "bindeability"), remove function generators since they don't work
18855           under a whole bunch of compilers (they were deprecated already
18856           anyway).
18857
18858 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18859
18860         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
18861         (_gst_debug_register_funcptr):
18862         * gst/gstinfo.h:
18863           Fix illegal cast on some platforms (#309253).
18864
18865 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18866
18867         * gst/gstmessage.c: (gst_message_new_custom):
18868         * gst/gstmessage.h:
18869           Add _new_custom, make _new_application a macro to _new_custom.
18870
18871 2005-07-20  Wim Taymans  <wim@fluendo.com>
18872
18873         * gst/base/gstbasesrc.c: (gst_base_src_init),
18874         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
18875         * gst/base/gstbasesrc.h:
18876         Add a gboolean to decide when to push out a discont.
18877
18878         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
18879         (gst_queue_loop), (gst_queue_handle_src_query),
18880         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
18881         (gst_queue_set_property), (gst_queue_get_property):
18882         Some cleanups.
18883
18884         * tests/threadstate/threadstate1.c: (main):
18885         Make a thread test compile and run... very silly..
18886
18887
18888 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18889
18890         * docs/manual/appendix-porting.xml:
18891           Mention removal of libgstgconf-0.9.la and existence of gconf
18892           elements.
18893
18894 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18895
18896         * docs/pwg/advanced-clock.xml:
18897         * docs/pwg/appendix-porting.xml:
18898         * docs/pwg/intro-preface.xml:
18899         * docs/pwg/other-base.xml:
18900         * docs/pwg/other-manager.xml:
18901         * docs/pwg/other-nton.xml:
18902         * docs/pwg/other-ntoone.xml:
18903         * docs/pwg/other-oneton.xml:
18904         * docs/pwg/pwg.xml:
18905           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
18906           demuxer), remove n-to-n (was never written), fix some code examples
18907           and links and update the porting section to include all this.
18908
18909 2005-07-19  Wim Taymans  <wim@fluendo.com>
18910
18911         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
18912         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
18913         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
18914         (gst_queue_src_activate_push), (gst_queue_change_state),
18915         (gst_queue_get_property):
18916         * gst/gstqueue.h:
18917         Propagate GstFlowReturn more intelligently upstream and output
18918         an ERROR/EOS when streaming stopped due to fatal error.
18919
18920 2005-07-19  Wim Taymans  <wim@fluendo.com>
18921
18922         * tools/gst-launch.c: (check_intr), (event_loop), (main):
18923         Don't block forever for the state change to complete, the
18924         pipeline already did with a sensible timeout.
18925
18926 2005-07-19  Wim Taymans  <wim@fluendo.com>
18927
18928         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
18929         Make sure we never call the create function is we
18930         got deactivated.
18931
18932 2005-07-19  Andy Wingo  <wingo@pobox.com>
18933
18934         * gst/parse/parse.l: Attempt to solve bug #172815.
18935
18936 2005-07-19  Wim Taymans  <wim@fluendo.com>
18937
18938         * docs/design/part-clocks.txt:
18939         * docs/design/part-events.txt:
18940         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
18941         Small docs updates.
18942         Only update the seeking values when we are not
18943         busy streaming.
18944
18945 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
18946
18947         * gst/base/gstbasesrc.c: (gst_base_src_loop):
18948           Oops, ignore the result of gst_pad_push_event here.
18949
18950 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
18951
18952         * gst/base/gstbasesrc.c: (gst_base_src_loop),
18953         (gst_base_src_activate_push):
18954           Send discont event from the loop function, as pads
18955           aren't activated yet in the activate_push handler.
18956
18957         * gst/gstbin.c: (bin_bus_handler):
18958           Don't leak element name.
18959
18960 2005-07-18  Andy Wingo  <wingo@pobox.com>
18961
18962         * configure.ac: Use AS_LIBTOOL_TAGS.
18963
18964 2005-07-18  Wim Taymans  <wim@fluendo.com>
18965
18966         * docs/gst/gstreamer.types:
18967         Remove deleted types.
18968
18969 2005-07-18  Wim Taymans  <wim@fluendo.com>
18970
18971         * check/elements/gstfakesrc.c: (GST_START_TEST):
18972         * configure.ac:
18973         * gst/Makefile.am:
18974         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
18975         (init_popt_callback):
18976         * gst/gst.h:
18977         * gst/gst_private.h:
18978         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
18979         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
18980         * gst/gstbin.h:
18981         * gst/gstbus.h:
18982         * gst/gstconfig.h.in:
18983         * gst/gstelement.c: (gst_element_class_init),
18984         (gst_element_set_base_time), (gst_element_get_base_time),
18985         (iterator_fold_with_resync), (gst_element_change_state),
18986         (gst_element_dispose), (gst_element_get_bus):
18987         * gst/gstelement.h:
18988         * gst/gstelementfactory.h:
18989         * gst/gsterror.c: (_gst_core_errors_init):
18990         * gst/gsterror.h:
18991         * gst/gstevent.h:
18992         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
18993         * gst/gstindex.c:
18994         * gst/gstinfo.c: (_gst_debug_init):
18995         * gst/gstmessage.c: (_gst_message_copy):
18996         * gst/gstmessage.h:
18997         * gst/gstminiobject.h:
18998         * gst/gstobject.c:
18999         * gst/gstobject.h:
19000         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
19001         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
19002         * gst/gstpad.h:
19003         * gst/gstparse.h:
19004         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
19005         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
19006         (gst_pipeline_get_last_stream_time):
19007         * gst/gstpipeline.h:
19008         * gst/gstpluginfeature.h:
19009         * gst/gstquery.h:
19010         * gst/gstscheduler.c:
19011         * gst/gstscheduler.h:
19012         * gst/gststructure.h:
19013         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
19014         (gst_task_finalize), (gst_task_func), (gst_task_create),
19015         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
19016         (gst_task_stop), (gst_task_pause):
19017         * gst/gsttask.h:
19018         * gst/gsttypefind.h:
19019         * gst/gsttypes.h:
19020         * gst/registries/gstlibxmlregistry.c: (load_feature),
19021         (gst_xml_registry_load), (gst_xml_registry_save_feature):
19022         * gst/registries/gstxmlregistry.c:
19023         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
19024         * gst/schedulers/threadscheduler.c:
19025         * libs/gst/control/dparammanager.h:
19026         * tools/gst-inspect.c: (print_element_list),
19027         (print_plugin_features), (print_element_features):
19028         * tools/gst-xmlinspect.c: (print_element_list),
19029         (print_plugin_info), (main):
19030         Removed plugable schedulers.
19031         Removed Scheduler/Manager from elements.
19032         Removed gsttypes.h, rearranged includes.
19033         Removed dependency pad<->element, element<>pipeline, and
19034         various others,  fix includes.
19035         implement gst_pad_get_parent() with gst_object_get_parent()
19036         Make GstTask sefcontained.
19037         Fix _get_state() on GstBin, it did not return ASYNC with a 0
19038         timeout.
19039         Fix endless loop in iterator_fold_with_resync.
19040
19041
19042 2005-07-18  Wim Taymans  <wim@fluendo.com>
19043
19044         * gst/Makefile.am:
19045         * gst/gstarch.h:
19046         Remove old file.
19047
19048 2005-07-18  Wim Taymans  <wim@fluendo.com>
19049
19050         * gst/Makefile.am:
19051         No more cothreads.h
19052
19053 2005-07-18  Wim Taymans  <wim@fluendo.com>
19054
19055         * gst/cothreads.c:
19056         * gst/cothreads.h:
19057         Let's remove these.
19058
19059 2005-07-18  Wim Taymans  <wim@fluendo.com>
19060
19061         * docs/design/part-dynamic.txt:
19062         * docs/design/part-events.txt:
19063         * docs/design/part-seeking.txt:
19064         Some more docs in the works.
19065
19066         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
19067         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
19068         (gst_base_transform_setcaps), (gst_base_transform_get_size),
19069         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
19070         (gst_base_transform_handle_buffer),
19071         (gst_base_transform_sink_activate_push),
19072         (gst_base_transform_src_activate_pull),
19073         (gst_base_transform_set_passthrough),
19074         (gst_base_transform_is_passthrough):
19075         Refcounting fixes.
19076
19077         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
19078         Cleanups.
19079
19080         * gst/gstevent.c: (gst_event_finalize):
19081         Set SRC to NULL.
19082
19083         * gst/gstutils.c: (gst_element_unlink),
19084         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
19085         (gst_pad_proxy_setcaps):
19086         * gst/gstutils.h:
19087         Add _get_parent_element() to get a pads parent as an element.
19088
19089 2005-07-18  Wim Taymans  <wim@fluendo.com>
19090
19091         * check/gst/gstbin.c: (GST_START_TEST):
19092         Remove bogus test.
19093
19094 2005-07-18  Wim Taymans  <wim@fluendo.com>
19095
19096         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
19097         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
19098         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
19099         (gst_base_sink_event), (gst_base_sink_do_sync),
19100         (gst_base_sink_chain), (gst_base_sink_loop),
19101         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
19102         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
19103         Refcounting fixes.
19104         Fix logic for returning ASYNC when not prerolled.
19105
19106 2005-07-18  Wim Taymans  <wim@fluendo.com>
19107
19108         * gst/gstqueue.c: (gst_queue_handle_sink_event):
19109         Fix nasty refcount bug.
19110
19111 2005-07-16 Philippe Khalaf <burger@speedy.org>
19112
19113         * gst/elements/gstfdsrc.c:
19114         * gst/elements/gstfdsrc.h:
19115         * gst/elements/gstelements.c:
19116         * gst/elements/Makefile.am:
19117         Ported fdsrc to 0.9.
19118
19119 2005-07-16  Wim Taymans  <wim@fluendo.com>
19120
19121         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
19122         (gst_base_sink_do_sync):
19123         Fix compile error.
19124
19125 2005-07-16  Wim Taymans  <wim@fluendo.com>
19126
19127         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
19128         (gst_base_sink_event), (gst_base_sink_get_times),
19129         (gst_base_sink_do_sync), (gst_base_sink_change_state):
19130         * gst/base/gstbasesink.h:
19131         Store and use discont values when syncing buffers as described
19132         in design docs.
19133         
19134         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
19135         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
19136         (gst_base_src_activate_push):
19137         Push discont event when starting.
19138
19139         * gst/elements/gstidentity.c: (gst_identity_transform):
19140         Small cleanups.
19141
19142         * gst/gstbin.c: (gst_bin_change_state):
19143         Small cleanups in base_time  distribution.
19144
19145         * gst/gstelement.c: (gst_element_set_base_time),
19146         (gst_element_get_base_time), (gst_element_change_state):
19147         * gst/gstelement.h:
19148         Added methods for the base_time of the element.
19149         Some MT fixes.
19150
19151         * gst/gstpipeline.c: (gst_pipeline_send_event),
19152         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
19153         (gst_pipeline_get_last_stream_time):
19154         * gst/gstpipeline.h:
19155         MT fixes.
19156         Handle seeking as described in design doc, remove stream_time
19157         hack.
19158         Cleanups clock and stream_time selection code. Added accessors
19159         for the stream_time.
19160         
19161
19162 2005-07-16  Andy Wingo  <wingo@pobox.com>
19163
19164         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
19165         (#305291).
19166
19167 2005-07-16  Wim Taymans  <wim@fluendo.com>
19168
19169         * check/gst/gstbin.c: (GST_START_TEST):
19170         Make elements silent as the deep_notify refs the
19171         parent, which might make the test fail.
19172
19173         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
19174         Don't hold the lock for too long.
19175
19176 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
19177
19178         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
19179           Don't unref the caps we passed to gst_caps_make_writable() after
19180           passing them. gst_caps_make_writable() will do that for us.
19181
19182 2005-07-15  Andy Wingo  <wingo@pobox.com>
19183
19184         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
19185         (#157311).
19186
19187         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
19188         own marshalling function for the handoff signal. Properly type the
19189         buffer as a buffer. Fixes some warnings. Should do a more general
19190         solution.
19191         (gst_identity_class_init): Plug into the right marshaller.
19192
19193 2005-07-15  Wim Taymans  <wim@fluendo.com>
19194
19195         * docs/design/part-TODO.txt:
19196         * docs/design/part-clocks.txt:
19197         * docs/design/part-element-sink.txt:
19198         * docs/design/part-events.txt:
19199         * docs/design/part-gstpipeline.txt:
19200         Updated docs, mostly DISCONT related.
19201
19202 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
19203
19204         * docs/pwg/building-pads.xml:
19205           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
19206
19207 2005-07-15  Andy Wingo  <wingo@pobox.com>
19208
19209         * tools/gst-typefind.c: Update, add copyright block.
19210
19211         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
19212         Normalize and truncate caps before fixation.
19213
19214         * gst/gstcaps.h:
19215         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
19216         discards all but the first structure from its argument.
19217
19218 2005-07-15  Wim Taymans  <wim@fluendo.com>
19219
19220         * gst/base/gstbasetransform.c: (gst_base_transform_init),
19221         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
19222         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
19223         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
19224         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
19225         (gst_base_transform_chain), (gst_base_transform_change_state),
19226         (gst_base_transform_set_passthrough),
19227         (gst_base_transform_is_passthrough):
19228         * gst/base/gstbasetransform.h:
19229         Make passthrough work using the bufferpools.
19230         Changed API a bit, subclasses have to write into a buffer
19231         provided by the base class.
19232         More debug info in nego functions.
19233         
19234         * gst/elements/gstidentity.c: (gst_identity_init),
19235         (gst_identity_transform):
19236         Port to new base class.
19237
19238 2005-07-15  Wim Taymans  <wim@fluendo.com>
19239
19240         * gst/gstmessage.c: (gst_message_new_state_changed):
19241         * tools/gst-launch.c: (event_loop), (main):
19242         Totally dump messages in -launch with the -m option.
19243         Fix message name for State messages,
19244
19245 2005-07-14  Wim Taymans  <wim@fluendo.com>
19246
19247         * gst/base/gstbasesrc.c: (gst_base_src_loop):
19248         Post error messages on errors.
19249
19250 2005-07-14  Wim Taymans  <wim@fluendo.com>
19251
19252         * gst/gstcaps.c: (gst_caps_do_simplify):
19253         Remove debug info.
19254
19255         * gst/gsterror.h:
19256         Define error for stream stopped.
19257
19258         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
19259         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
19260         Do proper return values.
19261
19262         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
19263         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
19264         (gst_pad_get_range):
19265         Better return values.
19266
19267         * gst/gstpad.h:
19268         Reorganise return values, add macro to check for fatal errors.
19269
19270         * gst/gstqueue.c: (gst_queue_chain):
19271         Return proper GstFlowReturn values,
19272
19273 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
19274
19275         * docs/gst/gstreamer-sections.txt:
19276         * docs/gst/gstreamer.types:
19277         * docs/gst/tmpl/gst.sgml:
19278         * docs/gst/tmpl/gstbasesink.sgml:
19279         * docs/gst/tmpl/gstbasesrc.sgml:
19280         * docs/gst/tmpl/gstbasetransform.sgml:
19281         * docs/gst/tmpl/gstbin.sgml:
19282         * docs/gst/tmpl/gstbuffer.sgml:
19283         * docs/gst/tmpl/gstcaps.sgml:
19284         * docs/gst/tmpl/gstclock.sgml:
19285         * docs/gst/tmpl/gstcompat.sgml:
19286         * docs/gst/tmpl/gstconfig.sgml:
19287         * docs/gst/tmpl/gstelement.sgml:
19288         * docs/gst/tmpl/gstelementdetails.sgml:
19289         * docs/gst/tmpl/gstelementfactory.sgml:
19290         * docs/gst/tmpl/gstenumtypes.sgml:
19291         * docs/gst/tmpl/gsterror.sgml:
19292         * docs/gst/tmpl/gstevent.sgml:
19293         * docs/gst/tmpl/gstfakesink.sgml:
19294         * docs/gst/tmpl/gstfakesrc.sgml:
19295         * docs/gst/tmpl/gstfilesink.sgml:
19296         * docs/gst/tmpl/gstfilesrc.sgml:
19297         * docs/gst/tmpl/gstfilter.sgml:
19298         * docs/gst/tmpl/gstformat.sgml:
19299         * docs/gst/tmpl/gstghostpad.sgml:
19300         * docs/gst/tmpl/gstimplementsinterface.sgml:
19301         * docs/gst/tmpl/gstindex.sgml:
19302         * docs/gst/tmpl/gstindexfactory.sgml:
19303         * docs/gst/tmpl/gstinfo.sgml:
19304         * docs/gst/tmpl/gstiterator.sgml:
19305         * docs/gst/tmpl/gstmacros.sgml:
19306         * docs/gst/tmpl/gstmemchunk.sgml:
19307         * docs/gst/tmpl/gstminiobject.sgml:
19308         * docs/gst/tmpl/gstobject.sgml:
19309         * docs/gst/tmpl/gstpad.sgml:
19310         * docs/gst/tmpl/gstpadtemplate.sgml:
19311         * docs/gst/tmpl/gstparse.sgml:
19312         * docs/gst/tmpl/gstpipeline.sgml:
19313         * docs/gst/tmpl/gstplugin.sgml:
19314         * docs/gst/tmpl/gstpluginfeature.sgml:
19315         * docs/gst/tmpl/gstquery.sgml:
19316         * docs/gst/tmpl/gstqueue.sgml:
19317         * docs/gst/tmpl/gstregistry.sgml:
19318         * docs/gst/tmpl/gstregistrypool.sgml:
19319         * docs/gst/tmpl/gstscheduler.sgml:
19320         * docs/gst/tmpl/gstschedulerfactory.sgml:
19321         * docs/gst/tmpl/gststructure.sgml:
19322         * docs/gst/tmpl/gstsystemclock.sgml:
19323         * docs/gst/tmpl/gsttaglist.sgml:
19324         * docs/gst/tmpl/gsttagsetter.sgml:
19325         * docs/gst/tmpl/gsttrace.sgml:
19326         * docs/gst/tmpl/gsttrashstack.sgml:
19327         * docs/gst/tmpl/gsttypefind.sgml:
19328         * docs/gst/tmpl/gsttypefindfactory.sgml:
19329         * docs/gst/tmpl/gsttypes.sgml:
19330         * docs/gst/tmpl/gsturihandler.sgml:
19331         * docs/gst/tmpl/gsturitype.sgml:
19332         * docs/gst/tmpl/gstutils.sgml:
19333         * docs/gst/tmpl/gstvalue.sgml:
19334         * docs/gst/tmpl/gstversion.sgml:
19335         * docs/gst/tmpl/gstxml.sgml:
19336         * docs/libs/tmpl/gstcontrol.sgml:
19337         * docs/libs/tmpl/gstdataprotocol.sgml:
19338         * docs/libs/tmpl/gstdparam.sgml:
19339         * docs/libs/tmpl/gstdplinint.sgml:
19340         * docs/libs/tmpl/gstdpman.sgml:
19341         * docs/libs/tmpl/gstdpsmooth.sgml:
19342         * docs/libs/tmpl/gstgetbits.sgml:
19343         * docs/libs/tmpl/gstunitconvert.sgml:
19344         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
19345         (gst_push_src_base_init), (gst_push_src_class_init),
19346         (gst_push_src_init), (gst_push_src_create):
19347         * gst/base/gstpushsrc.h:
19348         * gst/elements/gstelements.c:
19349         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
19350         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
19351         (gst_fake_sink_init), (gst_fake_sink_set_property),
19352         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
19353         (gst_fake_sink_event), (gst_fake_sink_preroll),
19354         (gst_fake_sink_render), (gst_fake_sink_change_state):
19355         * gst/elements/gstfakesink.h:
19356         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
19357         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
19358         (gst_fake_src_base_init), (gst_fake_src_class_init),
19359         (gst_fake_src_init), (gst_fake_src_event_handler),
19360         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
19361         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
19362         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
19363         (gst_fake_src_create_buffer), (gst_fake_src_create),
19364         (gst_fake_src_start), (gst_fake_src_stop):
19365         * gst/elements/gstfakesrc.h:
19366         * gst/elements/gstfilesink.c: (_do_init),
19367         (gst_file_sink_base_init), (gst_file_sink_class_init),
19368         (gst_file_sink_init), (gst_file_sink_dispose),
19369         (gst_file_sink_set_location), (gst_file_sink_set_property),
19370         (gst_file_sink_get_property), (gst_file_sink_open_file),
19371         (gst_file_sink_close_file), (gst_file_sink_query),
19372         (gst_file_sink_event), (gst_file_sink_render),
19373         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
19374         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
19375         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
19376         * gst/elements/gstfilesink.h:
19377         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
19378         (gst_file_src_class_init), (gst_file_src_init),
19379         (gst_file_src_finalize), (gst_file_src_set_location),
19380         (gst_file_src_set_property), (gst_file_src_get_property),
19381         (gst_file_src_map_region), (gst_file_src_map_small_region),
19382         (gst_file_src_create_mmap), (gst_file_src_create_read),
19383         (gst_file_src_create), (gst_file_src_is_seekable),
19384         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
19385         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
19386         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
19387         (gst_file_src_uri_handler_init):
19388         * gst/elements/gstfilesrc.h:
19389           more autistic cleanliness in functions/names/defines
19390
19391 2005-07-13  Andy Wingo  <wingo@pobox.com>
19392
19393         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
19394         source couldn't negotiate.
19395
19396         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
19397         connections again.
19398
19399         * gst/gstutils.h:
19400         * gst/gstutils.c (gst_element_link_pads_filtered): New old
19401         function. I am channeling Hades. Put your boots on suckers!!!
19402
19403 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
19404
19405         * testsuite/caps/Makefile.am:
19406         * testsuite/caps/value_compare.c:
19407         * testsuite/caps/value_intersect.c:
19408         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
19409           move two testsuite apps over to the check dir
19410
19411 2005-07-12  Wim Taymans  <wim@fluendo.com>
19412
19413         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
19414         Added more debug info in the negotiate process.
19415
19416         * gst/gstmessage.h:
19417         Prepare for segment playback.
19418
19419         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
19420         Better debugging.
19421
19422         * gst/gstutils.c:
19423         Some more docs.
19424
19425         * tools/gst-launch.c: (main):
19426         NULL pipeline on errors.
19427
19428 2005-07-12  Andy Wingo  <wingo@pobox.com>
19429
19430         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
19431         not it comes from a malloc region. Make sure our copy gets freed.
19432
19433 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
19434
19435         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
19436         * check/gst/gstmessage.c: (GST_START_TEST):
19437         * check/gst/gststructure.c: (GST_START_TEST),
19438         (gst_structure_suite), (main):
19439           more testing
19440         * gst/gstelement.c: (gst_element_message_full):
19441           clean up GError and debug string now that they get copied
19442         * gst/gstmessage.c: (gst_message_new_error),
19443         (gst_message_new_warning), (gst_message_parse_error),
19444         (gst_message_parse_warning):
19445           use GST_TYPE_G_ERROR for structure_new, and take copies of
19446           arguments, so that we don't mess up refcounting
19447
19448 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
19449
19450         * check/Makefile.am:
19451           add per-test valgrind targets
19452         * check/gst-libs/gdp.c: (GST_START_TEST),
19453         (gst_data_protocol_suite), (main):
19454           clean up
19455
19456 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
19457
19458         * check/Makefile.am:
19459           instate more valgrindable tests
19460         * check/elements/gstfakesrc.c: (chain_func), (event_func),
19461         (GST_START_TEST), (fakesrc_suite):
19462         * check/gst/gstpad.c: (GST_START_TEST):
19463         * check/gst/gststructure.c: (GST_START_TEST):
19464           fix test leaks
19465         * docs/gst/tmpl/gstminiobject.sgml:
19466         * gst/gstpad.c: (gst_pad_finalize):
19467           fix the static mutex leak
19468
19469 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
19470
19471         * check/Makefile.am:
19472           add two more tests for valgrinding
19473         * check/gst/gstvalue.c: (GST_START_TEST):
19474           test refcount of deserialized buffer, found a leak
19475         * docs/gst/gstreamer-docs.sgml:
19476         * docs/gst/gstreamer-sections.txt:
19477         * docs/gst/gstreamer.types:
19478         * docs/gst/tmpl/gstminiobject.sgml:
19479           add miniobject to docs
19480         * gst/gstminiobject.c:
19481           add some docs
19482         * gst/gstvalue.c: (gst_value_deserialize_buffer),
19483         (gst_string_unwrap):
19484           fix a hard-to-find invalid write for one of the tests
19485           fix a leak for deserialized buffers
19486
19487 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19488
19489         * docs/pwg/advanced-events.xml:
19490         * docs/pwg/advanced-request.xml:
19491         * docs/pwg/advanced-scheduling.xml:
19492         * docs/pwg/appendix-porting.xml:
19493         * docs/pwg/building-boiler.xml:
19494         * docs/pwg/intro-preface.xml:
19495         * docs/pwg/other-ntoone.xml:
19496           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
19497           of example code and explanation for pad activation, loop() and
19498           getrange() functions and a bit more. Remove old comments pointing
19499           to loop-functions.
19500         * examples/pwg/Makefile.am:
19501           Add loop/getrange examples.
19502
19503 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
19504
19505         * configure.ac:
19506           check for valgrind binary + some fixes
19507         * check/gst.supp:
19508           valgrind suppressions for the tests
19509         * check/Makefile.am:
19510           add a valgrind: target that valgrinds the unit tests
19511         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
19512         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
19513         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
19514         * check/gst/gstghostpad.c:
19515           added some cleanup
19516         * check/gst/gstdata.c:
19517           removed
19518         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
19519         (thread_unref), (gst_mini_object_suite), (main):
19520           added
19521         * gst/gst.c: (gst_deinit):
19522         * gst/gst.h:
19523           add a method to clean up.
19524         * gst/gstsystemclock.c: (gst_system_clock_dispose),
19525         (gst_system_clock_obtain):
19526           allow for disposing the system clock.
19527         * tools/gst-launch.c: (main):
19528           deinit
19529
19530 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
19531
19532         * docs/gst/tmpl/gstbasesrc.sgml:
19533         * docs/gst/tmpl/gstfakesrc.sgml:
19534         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
19535         (gst_base_src_init), (gst_base_src_set_property),
19536         (gst_base_src_get_property), (gst_base_src_get_range),
19537         (gst_base_src_start):
19538         * gst/base/gstbasesrc.h:
19539           add num-buffers property
19540         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
19541         (gst_fakesrc_init), (gst_fakesrc_set_property),
19542         (gst_fakesrc_get_property), (gst_fakesrc_create),
19543         (gst_fakesrc_start):
19544           remove num-buffers property
19545
19546 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
19547
19548         * docs/gst/gstreamer-sections.txt:
19549         * docs/gst/tmpl/gstbasesink.sgml:
19550         * docs/gst/tmpl/gstbasesrc.sgml:
19551         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
19552         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
19553         (gst_base_sink_finalize), (gst_base_sink_set_clock),
19554         (gst_base_sink_set_property), (gst_base_sink_get_property),
19555         (gst_base_sink_handle_object), (gst_base_sink_event),
19556         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
19557         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
19558         (gst_base_sink_loop), (gst_base_sink_deactivate),
19559         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
19560         (gst_base_sink_change_state):
19561         * gst/base/gstbasesink.h:
19562         * gst/base/gstbasesrc.h:
19563         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
19564         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
19565         (gst_filesink_init):
19566           more macro splitting
19567
19568 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
19569
19570         * gst/gstelement.c: (gst_element_get_bus):
19571           add debug
19572         * tools/gst-launch.c: (check_intr), (event_loop):
19573           fix bus leaks
19574
19575 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
19576
19577         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
19578           fix a caps leak
19579
19580 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
19581
19582         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
19583         (gst_base_src_finalize):
19584           add finalize method and clean up properly
19585         * gst/gstpipeline.c: (gst_pipeline_dispose):
19586           add debug
19587
19588 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
19589
19590         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
19591         (gst_bin_suite):
19592           add more things to check
19593         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
19594         * gst/gstelement.c:
19595           more debug
19596
19597 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
19598
19599         * check/elements/gstfakesrc.c: (chain_func), (event_func),
19600         (GST_START_TEST), (fakesrc_suite):
19601         * check/gst-libs/gdp.c: (GST_START_TEST):
19602         * check/gst/gst.c: (GST_START_TEST):
19603         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
19604         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
19605         * check/gst/gstbus.c: (GST_START_TEST):
19606         * check/gst/gstcaps.c: (GST_START_TEST):
19607         * check/gst/gstdata.c: (GST_START_TEST):
19608         * check/gst/gstelement.c: (GST_START_TEST):
19609         * check/gst/gstghostpad.c: (GST_START_TEST):
19610         * check/gst/gstiterator.c: (GST_START_TEST):
19611         * check/gst/gstmessage.c: (GST_START_TEST):
19612         * check/gst/gstobject.c: (GST_START_TEST):
19613         * check/gst/gstpad.c: (GST_START_TEST):
19614         * check/gst/gststructure.c: (GST_START_TEST):
19615         * check/gst/gstsystemclock.c: (GST_START_TEST),
19616         (gst_systemclock_suite):
19617         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
19618         * check/gst/gstvalue.c: (GST_START_TEST):
19619         * check/pipelines/cleanup.c: (GST_START_TEST):
19620         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
19621         * check/states/sinks.c: (GST_START_TEST):
19622         * check/gstcheck.c: (gst_check_init):
19623         * check/gstcheck.h:
19624           add debugging category
19625           use GST_START_TEST now, so we add a debug line
19626
19627 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
19628
19629         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
19630           add test for state change message on a bin
19631         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
19632           add another test
19633         * gst/gstbin.c: (gst_bin_init):
19634         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
19635         * gst/gstelement.c: (gst_element_post_message),
19636         (gst_element_set_state):
19637         * gst/gstelementfactory.c: (gst_element_factory_create):
19638         * gst/gstmessage.c: (gst_message_new):
19639         * gst/gstscheduler.c:
19640           various debugging additions and cleanups
19641
19642 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
19643
19644         * check/Makefile.am:
19645         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
19646         (main):
19647           adding tests for elements
19648         * gst/gstelement.c: (gst_element_dispose):
19649
19650 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
19651
19652         * gst/registries/gstlibxmlregistry.c: (load_feature):
19653           plug more leaks.  A simple gst_init() now is leakfree, yay.
19654
19655 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
19656
19657         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
19658         (gst_xml_registry_load):
19659           plug another memleak
19660
19661 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
19662
19663         * configure.ac:
19664           use GST_SET_ERROR_CFLAGS
19665         * docs/faq/cvs.xml:
19666           change to ERROR_CFLAGS
19667
19668 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
19669
19670         * configure.ac:
19671           make GST_ERROR_CFLAGS overridable and re-enable Werror
19672         * docs/faq/cvs.xml:
19673           add a note about error CFLAGS
19674         * docs/gst/tmpl/gstfakesrc.sgml:
19675         * gst/elements/gstfakesrc.c:
19676           comment out some unused code
19677         * gst/gst.c: (split_and_iterate):
19678         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
19679         (load_feature):
19680           plug some memleaks
19681
19682 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
19683
19684         * common/Makefile.am:
19685         * common/gtk-doc.mak:
19686         * docs/gst/Makefile.am:
19687           factor out gtk-doc.mak
19688
19689 2005-07-07  Wim Taymans  <wim@fluendo.com>
19690
19691         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
19692         (gst_thread_scheduler_dispose):
19693         Unlock the STREAM_LOCK completely.
19694
19695 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
19696
19697         * check/Makefile.am:
19698         * check/elements/.cvsignore:
19699         * check/elements/gstfakesrc.c: (chain_func), (event_func),
19700         (START_TEST), (fakesrc_suite), (main):
19701         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
19702         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
19703         (gst_fakesrc_create), (gst_fakesrc_start):
19704         * gst/elements/gstfakesrc.h:
19705           adding a first element test
19706
19707 2005-07-07  Andy Wingo  <wingo@pobox.com>
19708
19709         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
19710         debug message.
19711
19712 2005-07-07  Wim Taymans  <wim@fluendo.com>
19713
19714         * gst/gstquery.c:
19715         * gst/gstquery.h:
19716         Remove old types
19717
19718 2005-07-07  Wim Taymans  <wim@fluendo.com>
19719
19720         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
19721         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
19722         Allow subclasses to implement their own negotiation.
19723
19724 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
19725
19726         * docs/design/part-gstbin.txt:
19727         * docs/design/part-gstpipeline.txt:
19728           Update design notes to reflect the movement of
19729           responsibility for bus handling from GstPipeline to
19730           GstBin
19731
19732 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
19733
19734         * configure.ac:
19735           Remove unnecessary queue2/3/4 examples.
19736
19737 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
19738
19739         * examples/Makefile.am:
19740         * examples/helloworld/helloworld.c: (event_loop), (main):
19741         * examples/queue/queue.c: (event_loop), (main):
19742         * examples/queue2/queue2.c: (main):
19743           Update a couple of the examples to work again.
19744
19745         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
19746         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
19747          Spelling corrections and extra debug.
19748         
19749         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
19750         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
19751         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
19752         * gst/gstbin.h:
19753         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
19754         (gst_pipeline_change_state):
19755         * gst/gstpipeline.h:
19756           Move the bus handler for children to the GstBin, and create a
19757           separate bus for receiving messages from children to the one the
19758           bus sends 'upwards' on.
19759
19760 2005-07-06  Wim Taymans  <wim@fluendo.com>
19761
19762         * gst/base/README:
19763         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
19764         (gst_base_sink_handle_object), (gst_base_sink_loop),
19765         (gst_base_sink_change_state):
19766         * gst/base/gstbasesink.h:
19767         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
19768         (gst_base_src_init), (gst_base_src_setcaps),
19769         (gst_base_src_getcaps), (gst_base_src_loop),
19770         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
19771         (gst_base_src_start), (gst_base_src_change_state):
19772         * gst/base/gstbasesrc.h:
19773         Make basesrc negotiate.
19774         Handle the case where preroll fails in basesink.
19775         Update README.
19776
19777 2005-07-06  Wim Taymans  <wim@fluendo.com>
19778
19779         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
19780         Implement the fixate function.
19781         Clean up acceptcaps.
19782
19783 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19784
19785         * docs/pwg/building-filterfactory.xml:
19786         * docs/pwg/pwg.xml:
19787           Remove never-written filter-factory chapter; I'll add the various
19788           base classes to part 4 ("other element types") later on.
19789
19790 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19791
19792         * docs/pwg/advanced-negotiation.xml:
19793         * docs/pwg/building-boiler.xml:
19794         * docs/pwg/building-pads.xml:
19795         * docs/pwg/pwg.xml:
19796         * examples/pwg/Makefile.am:
19797           Add a chapter on caps negotiation, simplify the original code
19798           samples a bit w.r.t. caps negotiation, add link to the advanced
19799           section. Add a bunch of examples showing different use cases of
19800           different types of caps negotiation. Upstream renegotiation isn't
19801           fully documented yet since nobody knows how that works.
19802
19803 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
19804
19805         * check/gst/gstpad.c:
19806         * check/gstcheck.c:
19807         * gst/gstpad.c: (gst_pad_get_internal_links_default):
19808           if pad has no parent, return NULL as list of internal links
19809
19810 2005-07-05  Andy Wingo  <wingo@pobox.com>
19811
19812         * gst/elements/gstfilesrc.c:
19813         * gst/elements/gstfakesrc.c: 
19814         * gst/base/gstpushsrc.c:
19815         * gst/base/gstbasesrc.h: 
19816         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
19817         
19818 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
19819
19820         * Makefile.am:
19821           better report generation target (lcov needs a patch)
19822
19823 2005-07-05  Andy Wingo  <wingo@pobox.com>
19824
19825         * gst/elements, testsuite: Null if we got it...
19826
19827 2005-07-05  Wim Taymans  <wim@fluendo.com>
19828
19829         * configure.ac:
19830         * libs/gst/dataprotocol/Makefile.am:
19831         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
19832         * libs/gst/dataprotocol/dataprotocol.h:
19833         * pkgconfig/Makefile.am:
19834         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
19835         * pkgconfig/gstreamer-dataprotocol.pc.in:
19836         Ported dataprotol to 0.9. 
19837         Added pkgconfig files.
19838
19839 2005-07-05  Andy Wingo  <wingo@pobox.com>
19840
19841         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
19842         Default to returning TRUE for the case when tranform_caps returns
19843         a fixed caps, like for identity or volume.
19844
19845         * check/gst/gstbus.c (pound_bus_with_messages): 
19846         * check/gst/gstmessage.c (START_TEST): 
19847         * check/pipelines/simple_launch_lines.c (got_handoff): Application
19848         message API change.
19849
19850         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
19851         logic weaks here: always run transform_caps, trying passthrough
19852         operation only if the original caps intersects with the transform.
19853
19854         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
19855         source and sink caps.
19856
19857         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
19858         Intersect the peer caps with the pad template before going into
19859         transform_caps.
19860         (gst_base_transform_transform_caps): More debugging.
19861
19862         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
19863         src argument.
19864
19865 2005-07-04  Edward Hervey  <edward@fluendo.com>
19866
19867         * gst/gstutils.c:
19868         * gst/gstutils.h:
19869         (gst_pad_add_*_probe): now returns the signal id for better wrapping
19870         in bindings.
19871
19872 2005-07-04  Andy Wingo  <wingo@pobox.com>
19873
19874         * check/gst/gstpad.c: Only set explicit caps on pads.
19875
19876 2005-07-01  Andy Wingo  <wingo@pobox.com>
19877
19878         * tests/network-clock.scm: Commentary update.
19879
19880         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
19881         Didn't really make sense, not implementable with basetransform,
19882         etc.
19883         (gst_identity_transform): Unref inbuf via make_writable. Feeble
19884         attempt at implementing the sync property, needs an unlock method.
19885
19886         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
19887         New func, by default returns the same caps (the identity
19888         transformation).
19889         (gst_base_transform_getcaps): Uses transform_caps to return
19890         something sensible.
19891         (gst_base_transform_setcaps): Complicated logic to get caps on
19892         both pads, even if they are different, and to call set_caps once
19893         for every time both pads get their caps set.
19894         (gst_base_transform_handle_buffer): Give the ref to the transform
19895         function. Allows in-place modification of the buffer.
19896
19897         * gst/base/gstbasetransform.h (transform_caps): New class method.
19898         Given caps on one side, what can I do on the other.
19899         (set_caps): Take two caps, one for each side of the element.
19900
19901         * gst/gstpad.h:
19902         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
19903         caps in place. This is safe because we can check the mutability of
19904         the caps, and a good idea because fixate functions are just called
19905         as a matter of last resort. (Not actually implemented.)
19906         (gst_pad_set_caps): If the caps we're setting is actually the same
19907         as the existing pad caps, just update the pointer without calling
19908         setcaps. Assert that caps is either NULL or fixed, as per the
19909         docs.
19910
19911         * gst/gstghostpad.c: Update for fixate changes.
19912
19913 2005-07-02  Andy Wingo  <wingo@pobox.com>
19914
19915         * gst/gstcaps.c:
19916         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
19917         two refcounts makes it immutable, which is enough. Doc more.
19918
19919 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
19920
19921         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
19922           Put the mini_object into GValue as a mini_object,
19923           not a gpointer, since that's how we declared
19924           the signal.
19925
19926 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19927
19928         * examples/pwg/Makefile.am:
19929           Fix buildbot again.
19930
19931 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19932
19933         * docs/pwg/building-testapp.xml:
19934           Add extra check.
19935         * examples/pwg/Makefile.am:
19936           Fix buildbot.
19937
19938 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19939
19940         * configure.ac:
19941         * examples/Makefile.am:
19942         * examples/pwg/Makefile.am:
19943         * examples/pwg/extract.pl:
19944           Enable building the PWG examples.
19945         * docs/pwg/advanced-interfaces.xml:
19946           Add URI interface stub.
19947         * docs/pwg/advanced-types.xml:
19948         * docs/pwg/other-autoplugger.xml:
19949         * docs/pwg/appendix-porting.xml:
19950         * docs/pwg/pwg.xml:
19951           Add porting guide (mostly stubs), remove autoplugging (see ADM).
19952         * docs/pwg/building-boiler.xml:
19953         * docs/pwg/building-chainfn.xml:
19954         * docs/pwg/building-pads.xml:
19955         * docs/pwg/building-props.xml:
19956         * docs/pwg/building-state.xml:
19957         * docs/pwg/building-testapp.xml:
19958           Update the building-*.xml parts for 0.9 changes. All examples
19959           code blocks compile in examples/pwg/*.
19960
19961 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19962
19963         * docs/manual/advanced-autoplugging.xml:
19964         * docs/manual/appendix-checklist.xml:
19965         * docs/manual/appendix-integration.xml:
19966         * docs/manual/highlevel-components.xml:
19967           Fix playbin/decodebin examples, update docs a bit, mention bus
19968           instead of signals in various places, mention kmplayer and
19969           kaffeine since they have a working GStreamer backend in the KDE
19970           section.
19971
19972 2005-06-30  Wim Taymans  <wim@fluendo.com>
19973
19974         * CHANGES-0.9:
19975         * docs/design/draft-ghostpads.txt:
19976         * docs/design/draft-push-pull.txt:
19977         * docs/design/draft-query.txt:
19978         * docs/design/part-TODO.txt:
19979         * docs/design/part-query.txt:
19980         Added CHANGES-0.9 doc, updated status of other docs.
19981         
19982         * gst/gstquery.h:
19983         Remove "hmm" macro
19984
19985 2005-06-30  Wim Taymans  <wim@fluendo.com>
19986
19987         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
19988         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
19989         (gst_base_sink_change_state):
19990         * gst/base/gstbasesink.h:
19991         Some tweaks, only EOS and a buffer complete a preroll.
19992
19993 2005-06-30  Andy Wingo  <wingo@pobox.com>
19994
19995         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
19996         activate_push down to the internal pad as well.
19997
19998 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
19999
20000         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20001
20002         * gst/gsttaginterface.c:
20003           Some documentation fixes (#307394 and #307397).
20004
20005 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
20006
20007         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20008
20009         * gst/gstvalue.c: (gst_value_intersect_list):
20010           Fix memleak (#309125).
20011
20012 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20013
20014         * docs/manual/advanced-dataaccess.xml:
20015           Fix fakesrc example to compile; doesn't work, bug somewhere...?
20016         * docs/manual/basics-pads.xml:
20017           Add reference for filtered caps to above chapter.
20018
20019 2005-06-30  Wim Taymans  <wim@fluendo.com>
20020
20021         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
20022         (gst_bin_change_state):
20023         Probes are gone.
20024         Lame attempt at making the state change function a bit
20025         more readable.
20026
20027 2005-06-30  Wim Taymans  <wim@fluendo.com>
20028
20029         * docs/design/part-clocks.txt:
20030         * docs/design/part-element-sink.txt:
20031         * docs/design/part-events.txt:
20032         * docs/design/part-preroll.txt:
20033         * docs/design/part-states.txt:
20034         Some more tweeks and additions to the docs.
20035
20036 2005-06-30  Wim Taymans  <wim@fluendo.com>
20037
20038         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
20039         (default_have_data), (gst_pad_class_init), (gst_pad_init),
20040         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
20041         (gst_pad_check_pull_range), (gst_pad_get_range),
20042         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
20043         * gst/gstpad.h:
20044         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
20045         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
20046         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
20047         (gst_pad_remove_buffer_probe):
20048         Removed atomic operations, use existing LOCK.
20049         Move exception handling out of main code path.
20050
20051 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20052
20053         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
20054         (silly_return_true_function), (gst_pad_class_init),
20055         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
20056         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
20057         (gst_pad_send_event):
20058           Fix accumulator, add default value by using _emitv() instead
20059           of _emit() for signal emission.
20060
20061 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20062
20063         * docs/manual/advanced-dataaccess.xml:
20064         * examples/manual/Makefile.am:
20065           Add probe example.
20066         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
20067           Make work (??).
20068
20069 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
20070
20071         * gst/elements/gstfilesink.c: (gst_filesink_render):
20072           Simplify code so that we don't have to handle short
20073           writes and return GST_FLOW_ERROR if an error occured.
20074
20075 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20076
20077         * docs/gst/gstreamer-docs.sgml:
20078           Remove probes more.
20079
20080 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20081
20082         * docs/gst/gstreamer-sections.txt:
20083         * docs/gst/tmpl/gstpad.sgml:
20084         * docs/gst/tmpl/gstprobe.sgml:
20085         * gst/Makefile.am:
20086         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
20087         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
20088         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
20089         (gst_pad_push_event), (gst_pad_send_event):
20090         * gst/gstpad.h:
20091         * gst/gstutils.c: (gst_pad_add_data_probe),
20092         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
20093         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
20094         (gst_pad_remove_buffer_probe):
20095         * gst/gstutils.h:
20096           Remove old probes, add new g-signal-based probes and some utility
20097           functions.
20098
20099 2005-06-29  Edward Hervey  <edward@fluendo.com>
20100
20101         * gst/gstelementfactory.c:
20102         * gst/gstutils.h:
20103         * gst/gstutils.c:
20104         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
20105         the definition to the header file.
20106
20107 2005-06-29  Andy Wingo  <wingo@pobox.com>
20108
20109         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
20110         plugins from the source directory.
20111
20112 2005-06-29  Wim Taymans  <wim@fluendo.com>
20113
20114         * docs/gst/tmpl/gstbuffer.sgml:
20115         * docs/gst/tmpl/gstclock.sgml:
20116         Some fixings for blantently wrong text.
20117
20118 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
20119
20120         * check/Makefile.am:
20121         * gst/gst.c: (add_path_func), (init_pre):
20122         * gst/gstregistry.c: (gst_registry_add_path):
20123           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
20124           only scan the GST_PLUGIN_PATH locations, and not add
20125           system locations
20126
20127 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
20128
20129         * docs/gst/gstreamer-sections.txt:
20130         * docs/gst/tmpl/gstbasesrc.sgml:
20131         * gst/gstelement.c:
20132         * gst/gstelement.h:
20133         * gst/gstevent.c:
20134         * gst/gstutils.c:
20135           doc fixes
20136
20137 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20138
20139         * docs/manual/advanced-autoplugging.xml:
20140           Fix autoplugging example.
20141
20142 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20143
20144         * docs/manual/advanced-autoplugging.xml:
20145         * docs/manual/mime-world.fig:
20146           Try to get autoplugging working, fix type detection. Fix text
20147           in hello-world image.
20148
20149 2005-06-29  Wim Taymans  <wim@fluendo.com>
20150
20151         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
20152         (gst_base_sink_change_state):
20153         Small debug line.
20154
20155         * gst/gstclock.h:
20156         map SIGNAL and BROADCAST to the right function.
20157
20158         * gst/gstobject.h:
20159         Remove redundant braces.
20160
20161         * gst/gstpad.c: (gst_pad_set_caps):
20162         Don't call setcaps function when reseting caps to NULL.
20163
20164         * gst/gstsystemclock.c: (gst_system_clock_dispose),
20165         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
20166         (gst_system_clock_id_unschedule):
20167         Use BROADCAST as this is what we do.
20168
20169 2005-06-29  Wim Taymans  <wim@fluendo.com>
20170
20171         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
20172         We are actually prerolling before commiting the state
20173         change. 
20174
20175 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20176
20177         * docs/manual/advanced-clocks.xml:
20178         * docs/manual/advanced-interfaces.xml:
20179         * docs/manual/advanced-metadata.xml:
20180         * docs/manual/advanced-position.xml:
20181         * docs/manual/advanced-schedulers.xml:
20182         * docs/manual/advanced-threads.xml:
20183         * docs/manual/appendix-porting.xml:
20184         * docs/manual/basics-bins.xml:
20185         * docs/manual/basics-bus.xml:
20186         * docs/manual/basics-elements.xml:
20187         * docs/manual/basics-helloworld.xml:
20188         * docs/manual/basics-pads.xml:
20189         * docs/manual/highlevel-components.xml:
20190         * docs/manual/manual.xml:
20191         * docs/manual/thread.fig:
20192           Update (until threads/scheduling) Application Development Manual;
20193           remove GstThread, add GstBus, add simple porting checklist, add
20194           documentation for tag writing, clocks, make all examples until this
20195           part compile and run.
20196         * examples/manual/Makefile.am:
20197           Update from changes to Application Development Manual; add bus
20198           example, remove thread example.
20199
20200 2005-06-28  Wim Taymans  <wim@fluendo.com>
20201
20202         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
20203         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
20204         (gst_bus_source_dispatch):
20205         Add debugging messages.
20206         Make internal methods static.
20207         Handle the case where the bus is flushed in the handler.
20208         
20209         * gst/gstelement.c: (gst_element_get_bus):
20210         Fix refcount in _get_bus();
20211
20212         * gst/gstpipeline.c: (gst_pipeline_change_state),
20213         (gst_pipeline_get_clock_func):
20214         Clock refcounting fixes.
20215         Handle the case where preroll timed out more gracefully.
20216         
20217         * gst/gstsystemclock.c: (gst_system_clock_dispose):
20218         Clean up the internal thread in dispose. This is needed
20219         for subclasses that actually get disposed.
20220         
20221         * gst/schedulers/threadscheduler.c:
20222         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
20223         (gst_thread_scheduler_dispose):
20224         Free thread pool in dispose.
20225
20226 2005-06-28  Andy Wingo  <wingo@pobox.com>
20227
20228         * tests/network-clock-utils.scm (debug, print-event): New utils.
20229
20230         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
20231         (*packet-loss*): Unified loss probability.
20232         (network-time): Report out-of-band events.
20233
20234         * tests/plot-data: Add support for out-of-band events. Hack it
20235         into this script instead of passing it down the pipe; should fix
20236         this later.
20237
20238 2005-06-28  Wim Taymans  <wim@fluendo.com>
20239
20240         * docs/gst/gstreamer.types:
20241         * docs/gst/tmpl/gstbasesrc.sgml:
20242         * docs/gst/tmpl/gstpad.sgml:
20243         Docs fixes.
20244
20245 2005-06-28  Wim Taymans  <wim@fluendo.com>
20246
20247         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
20248         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
20249         (gst_proxy_pad_do_fixatecaps):
20250         Correctly proxy the check_pull_range function.
20251
20252 2005-06-28  Andy Wingo  <wingo@pobox.com>
20253
20254         * tests/network-clock.scm: Removed need for slib.
20255         
20256 2005-06-28  Wim Taymans  <wim@fluendo.com>
20257
20258         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
20259         (gst_basesink_preroll_queue_flush):
20260         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
20261         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
20262         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
20263         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
20264         (gst_proxy_pad_set_property):
20265         * gst/gstpad.c:
20266         * gst/gstpad.h:
20267         * gst/gstqueue.c: (gst_queue_init):
20268         The deprecated pad loop function is removed now.
20269
20270 2005-06-28  Andy Wingo  <wingo@pobox.com>
20271
20272         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
20273         New parameters, simulate network packet loss.
20274
20275         * tests/network-clock-utils.scm: Initialize the RNG.
20276
20277 2005-06-28  Wim Taymans  <wim@fluendo.com>
20278
20279         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
20280         (gst_basesink_event), (gst_basesink_deactivate):
20281         Flushing the preroll queue always needs to unlock the waiters.
20282
20283 2005-06-28  Edward Hervey  <edward@fluendo.com>
20284
20285         * gst/gstpipeline.c: (gst_pipeline_send_event): 
20286         Wheen a seek was successful on a pipeline, set the stream_time to the
20287         seek offset in order to have a synchronized stream_time.
20288
20289 2005-06-28  Wim Taymans  <wim@fluendo.com>
20290
20291         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
20292         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
20293         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
20294         (gst_proxy_pad_do_fixatecaps):
20295         Call wrapper function instead of just calling the function
20296         pointers. This takes care of any locking and whatmore.
20297
20298 2005-06-28  Wim Taymans  <wim@fluendo.com>
20299
20300         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
20301         (gst_pad_pull_range):
20302         * gst/gstpad.h:
20303         CONNECTED -> LINKED.
20304
20305 2005-06-28  Andy Wingo  <wingo@pobox.com>
20306
20307         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
20308         source-munging commit!!!
20309
20310         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
20311         (gst_object_sink): Take gpointer arguments, not GstObject --
20312         avoids casts. Like GLib.
20313
20314         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
20315         activate.
20316
20317 2005-06-27  Andy Wingo  <wingo@pobox.com>
20318
20319         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
20320         remaining buffer.
20321
20322         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
20323         returns a sorted copy of the trace list.
20324         (gst_alloc_trace_print_live): New API, only prints traces with
20325         live objects. Sort the list.
20326         (gst_alloc_trace_print_all): Sort the list.
20327         (gst_alloc_trace_print): Align columns.
20328
20329         * gst/elements/gstttypefindelement.c:
20330         * gst/elements/gsttee.c:
20331         * gst/base/gstbasesrc.c:
20332         * gst/base/gstbasesink.c:
20333         * gst/base/gstbasetransform.c:
20334         * gst/gstqueue.c: Adapt for pad activation changes.
20335
20336         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
20337         sched.
20338         (gst_pipeline_dispose): Drop ref on sched.
20339
20340         * gst/gstpad.c (gst_pad_init): Set the default activate func.
20341         (gst_pad_activate_default): Push mode by default.
20342         (pre_activate_switch, post_activate_switch): New stubs, things to
20343         do before and after switching activation modes on pads.
20344         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
20345         the pad's activate function to choose which mode to activate.
20346         Shortcut on deactivation and call the right function directly.
20347         (gst_pad_activate_pull): New API, (de)activates a pad in pull
20348         mode.
20349         (gst_pad_activate_push): New API, same for push mode.
20350         (gst_pad_set_activate_function) 
20351         (gst_pad_set_activatepull_function) 
20352         (gst_pad_set_activatepush_function): Setters for new API.
20353
20354         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
20355         Trace all miniobjects.
20356         (gst_mini_object_make_writable): Unref the arg if we copy, like
20357         gst_caps_make_writable.
20358
20359         * gst/gstmessage.c (_gst_message_initialize): No trace init.
20360
20361         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
20362         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
20363         Adapt for new pad API.
20364
20365         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
20366
20367         * gst/gstelement.h:
20368         * gst/gstelement.c (gst_element_iterate_src_pads) 
20369         (gst_element_iterate_sink_pads): New API functions.
20370         
20371         * gst/gstelement.c (iterator_fold_with_resync): New utility,
20372         should fold into gstiterator.c in some form.
20373         (gst_element_pads_activate): Simplified via use of fold and
20374         delegation of decisions to gstpad->activate.
20375
20376         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
20377         help in debugging.
20378
20379         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
20380         class once in init, like gstmessage. Didn't run into this issue
20381         but it seems correct. Don't initialize a trace, gstminiobject does
20382         that.
20383
20384         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
20385         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
20386         to the bus.
20387         (assert_live_count): New util function, uses alloc traces to check
20388         cleanup.
20389
20390         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
20391         To be modified when unlink drops the internal pad.
20392
20393 2005-06-27  Wim Taymans  <wim@fluendo.com>
20394
20395         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
20396         (gst_bin_change_state):
20397         Cleanup the get_state() function a little, make sure it
20398         iterates the same set of elements.
20399         Added stub iterate_state_order().
20400
20401 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
20402
20403         * docs/gst/gstreamer-docs.sgml:
20404         * docs/gst/gstreamer-sections.txt:
20405         * docs/gst/gstreamer.types:
20406         * docs/gst/tmpl/gstbasesink.sgml:
20407         * docs/gst/tmpl/gstbasesrc.sgml:
20408         * docs/gst/tmpl/gstbasetransform.sgml:
20409         * docs/gst/tmpl/gstelement.sgml:
20410         * docs/gst/tmpl/gstiterator.sgml:
20411         * gst/base/gstbasesrc.c:
20412         * gst/base/gstbasesrc.h:
20413         * gst/base/gstbasetransform.h:
20414         * gst/gstelement.c:
20415         * gst/gstiterator.h:
20416           adding basetransform and iterator docs
20417
20418 2005-06-27  Andy Wingo  <wingo@pobox.com>
20419
20420         * docs/design/part-activation.txt: Notes on how activation should
20421         work -- not quite implemented yet.
20422
20423 2005-06-25  Wim Taymans  <wim@fluendo.com>
20424
20425         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
20426         At least get the chain function correct, needs more
20427         fixing.
20428
20429 2005-06-25  Wim Taymans  <wim@fluendo.com>
20430
20431         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
20432         (gst_basesink_handle_object), (gst_basesink_event),
20433         (gst_basesink_do_sync), (gst_basesink_handle_event),
20434         (gst_basesink_change_state):
20435         * gst/gsttask.h:
20436         Right, two problems here: ghostpads don't take locks and
20437         glib _rec_mutex_lock_full() with depth==0 still locks.
20438         Catch illegal locking and g_warn them.
20439
20440 2005-06-25  Wim Taymans  <wim@fluendo.com>
20441
20442         * check/states/sinks.c: (START_TEST), (gst_object_suite):
20443         Have to check for completion now...
20444
20445 2005-06-25  Wim Taymans  <wim@fluendo.com>
20446
20447         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
20448         (gst_basesink_handle_object), (gst_basesink_event),
20449         (gst_basesink_do_sync), (gst_basesink_handle_event),
20450         (gst_basesink_change_state):
20451         * gst/gstpad.h:
20452         Unlock STREAM_LOCK whatever the recursion was.
20453
20454 2005-06-25  Wim Taymans  <wim@fluendo.com>
20455
20456         * gst/base/gstbasesink.c: (gst_basesink_set_property),
20457         (gst_basesink_preroll_queue_empty),
20458         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
20459         (gst_basesink_event), (gst_basesink_do_sync),
20460         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
20461         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
20462         (gst_basesink_change_state):
20463         Reworked the base sink, handle event and buffer serialisation
20464         correctly and removed possible deadlock.
20465         Handle EOS correctly.
20466
20467 2005-06-25  Wim Taymans  <wim@fluendo.com>
20468
20469         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
20470         (gst_pipeline_change_state):
20471         * tools/gst-launch.c: (check_intr), (event_loop), (main):
20472         Allow elements to post EOS in the state change function.
20473         Fix up -launch, make it exit the poll loop when the
20474         pipeline actually changed state.
20475         Fix up warning parsing in -launch.
20476
20477 2005-06-25  Wim Taymans  <wim@fluendo.com>
20478
20479         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
20480         (gst_tee_sink_activate):
20481         Core takes STREAM_LOCK for us now.
20482
20483 2005-06-25  Wim Taymans  <wim@fluendo.com>
20484
20485         * gst/gstelement.c: (gst_element_get_state_func),
20486         (gst_element_set_state):
20487         * gst/gstelement.h:
20488         * gst/gstmessage.c: (gst_message_parse_error),
20489         (gst_message_parse_warning):
20490         Keep track of current target state while performing a state
20491         change so that subclasses can do something interesting.
20492         Fix parsing of warning/error messages when GError is NULL.
20493
20494 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
20495
20496         * docs/gst/Makefile.am:
20497         * docs/gst/gstreamer-docs.sgml:
20498         * docs/gst/gstreamer-sections.txt:
20499         * docs/gst/gstreamer.types:
20500         * docs/gst/tmpl/gstbasesink.sgml:
20501         * docs/gst/tmpl/gstbasesrc.sgml:
20502         * docs/gst/tmpl/gstbin.sgml:
20503         * docs/gst/tmpl/gstcompat.sgml:
20504         * docs/gst/tmpl/gstfakesink.sgml:
20505         * docs/gst/tmpl/gstfakesrc.sgml:
20506         * docs/gst/tmpl/gstfilesink.sgml:
20507         * docs/gst/tmpl/gstfilesrc.sgml:
20508         * docs/gst/tmpl/gstindex.sgml:
20509         * docs/manual/appendix-quotes.xml:
20510         * gst/base/gstbasesrc.h:
20511         * gst/elements/gstfakesrc.h:
20512         * gst/gstmessage.h:
20513           start pulling in base classes and elements in our docs
20514
20515 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
20516
20517         * docs/gst/Makefile.am:
20518         * docs/libs/Makefile.am:
20519           fixed make distcheck with gtk-doc 1.3
20520
20521 2005-06-23  Wim Taymans  <wim@fluendo.com>
20522
20523         * gst/gstelement.c: (gst_element_get_state_func),
20524         (gst_element_set_state), (gst_element_change_state):
20525         When the state did not change, also report NO_PREROLL
20526         when it matters.
20527
20528 2005-06-23  Wim Taymans  <wim@fluendo.com>
20529
20530         * gst/gstpad.c: (gst_pad_event_default):
20531         * gst/gstqueue.c: (gst_queue_loop):
20532         No unsafe task pausing please.
20533
20534 2005-06-23  Wim Taymans  <wim@fluendo.com>
20535
20536         * gst/schedulers/threadscheduler.c:
20537         (gst_thread_scheduler_task_start),
20538         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
20539         Ref the task before pushing it on the threadpool. This
20540         makes sure that we have a ref when the threadfunction is
20541         actually called.
20542
20543 2005-06-23  Andy Wingo  <wingo@pobox.com>
20544
20545         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
20546         offset is greater than the file's size.
20547
20548         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
20549         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
20550         * gst/gstobject.c (gst_object_class_init): Make the class lock
20551         recursive. Wim won't let me drop deep_notify. Decodebin works
20552         again, whoopdy doo.
20553
20554         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
20555         internal pad, and hacks accordingly. Doesn't do it on the target
20556         pad because we change its caps. Probably catches all cases of
20557         interest tho.
20558         (gst_ghost_pad_set_property): Connect to notify::caps as
20559         appropritate.
20560
20561         * tests/network-clock.scm (plot-simulation): Pipe data to the
20562         elite python skript.
20563
20564         * tests/network-clock-utils.scm (define-parameter): New macro,
20565         defines a parameter that can be set via the command line.
20566         (set-parameter!, parse-parameter-arguments): Command line args
20567         parser.
20568
20569         * tests/plot-data: Simple matplotlib-based plotter, takes input on
20570         stdin.
20571
20572 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
20573
20574         * gst/elements/gsttypefindelement.c:
20575         (gst_type_find_element_handle_event):
20576           Don't restart typefinding on a discont.
20577         * gst/gstelement.c: (gst_element_set_state):
20578           Debug spelling fix.
20579         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
20580           Allow changing mode of an active pad.
20581           Debug output fixes.
20582         * gst/registries/gstlibxmlregistry.c: (load_feature):
20583           Don't cast a static pad template to a normal pad template.
20584
20585 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
20586
20587         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
20588         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
20589           remove gst_strtoll completely, since it didn't actually do
20590           anything more than what g_ascii_strtoull already does.
20591           check for range errors when deserializing
20592           do a cast for the unsigned cases; but further fixing needs
20593           a decision on what the interpretation of "(int)" and
20594           deserialization should be for values that fall outside the
20595           type's boundaries (ie, refuse, or interpret as casting)
20596
20597 2005-06-23  Wim Taymans  <wim@fluendo.com>
20598
20599         * check/Makefile.am:
20600         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
20601         * docs/design/part-live-source.txt:
20602         * docs/design/part-states.txt:
20603         * gst/base/gstbasesrc.c: (gst_basesrc_init),
20604         (gst_basesrc_set_live), (gst_basesrc_is_live),
20605         (gst_basesrc_get_range), (gst_basesrc_activate),
20606         (gst_basesrc_change_state):
20607         * gst/base/gstbasesrc.h:
20608         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
20609         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
20610         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
20611         * gst/gstelement.c: (gst_element_get_state_func),
20612         (gst_element_set_state):
20613         * gst/gstelement.h:
20614         * gst/gsttypes.h:
20615         * tools/gst-launch.c: (event_loop), (main):
20616         Added support for live sources and other elements that
20617         cannot do preroll.
20618         Updated design docs, added live-source design doc.
20619         Implemented live source functionality in basesrc
20620         Fix error condition in _bin_get_state()
20621         Implement live source handling in -launch.
20622         Added check for live sources.
20623         Fixed case in GstBin where elements were changed state
20624         multiple times.
20625
20626
20627 2005-06-23  Andy Wingo  <wingo@pobox.com>
20628
20629         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
20630         borken refcounting.
20631
20632         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
20633         gst_caps_replace takes care of this for us.
20634
20635         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
20636         gst_pad_set_caps on the target, not just its setcaps() function.
20637
20638         * tests/network-clock.scm: 
20639         * tests/network-clock-utils.scm: A network clock simulator.
20640         Something of an algorithmic testbed before doing something in C.
20641
20642 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
20643
20644         * check/Makefile.am:
20645         * check/gst/capslist.h:
20646           copy over from 0.8, and add two with bitmasks specified with
20647           (int) 0xFF...
20648         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
20649           add test to parse everything from capslist.h
20650         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
20651         (main):
20652           add test for structure deserialization
20653         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
20654           add tests for deserialization of strings to int types
20655         * gst/gststructure.c: (gst_structure_nth_field_name):
20656         * gst/gststructure.h:
20657           add a way to get the name of a field referenced by index
20658         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
20659           instead of checking if the resulting long long lies between
20660           min and max, we check if the long long would fit into
20661           a number of bytes for the final type.
20662           This fixes cases where a string represents 2^32 - 1, which
20663           when cast to int would be the (valid) -1, but is bigger than
20664           G_MAXINT
20665
20666 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
20667
20668         * gst/parse/grammar.y:
20669           add a log line for type deserialization
20670
20671 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
20672
20673         * check/gst/gstvalue.c: (START_TEST):
20674         * gst/gstvalue.c: (gst_value_deserialize):
20675           return long long, not int, so gint64 deserialization actually
20676           works.  Is there any flag that makes the compiler check this ?
20677           Fixes #308559
20678
20679 2005-06-22  Wim Taymans  <wim@fluendo.com>
20680
20681         * gst/gstbuffer.h:
20682         Added convenience macros for setting buffers in GValue.
20683
20684 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
20685
20686         * check/gst/.cvsignore:
20687         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
20688           add a test deserializing int64, and comment part out because
20689           it fails, yay !
20690
20691 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
20692
20693         * check/Makefile.am:
20694         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
20695         * testsuite/Makefile.am:
20696         * testsuite/caps/Makefile.am:
20697         * testsuite/caps/value_serialize.c:
20698         * testsuite/test_gst_init.c:
20699           move a value_serialize test over
20700
20701 2005-06-20  Wim Taymans  <wim@fluendo.com>
20702
20703         * gst/gstpad.c:
20704         Small doc updates.
20705         
20706         * gst/gstvalue.c: (gst_value_compare_buffer),
20707         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
20708         (gst_value_compare_flags), (gst_value_serialize_flags),
20709         (gst_value_deserialize_flags), (_gst_value_initialize):
20710         Fix serialisation of buffers, they are not boxed types anymore
20711
20712 2005-06-20  Wim Taymans  <wim@fluendo.com>
20713
20714         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
20715         Testcase to show error in buffer-on-caps serialisation.
20716
20717 2005-06-20  Andy Wingo  <wingo@pobox.com>
20718
20719         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
20720         will be adding to later.
20721
20722         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
20723         if its socks fill with rocks.
20724         (gst_system_clock_obtain): Set the name on object construction.
20725         Avoid double-checked locking.
20726
20727 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
20728
20729         * gst/gsturi.c: (gst_element_make_from_uri):
20730           Fix potential endless loop.
20731
20732 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
20733
20734         * check/Makefile.am:
20735           add gsttag
20736         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
20737         (main):
20738           move over from testsuite dir and clean up
20739         * configure.ac:
20740         * gst/gsttag.c:
20741         * testsuite/Makefile.am:
20742         * testsuite/tags/.cvsignore:
20743         * testsuite/tags/Makefile.am:
20744         * testsuite/tags/merge.c:
20745           remove testsuite/tags
20746
20747 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
20748
20749         * docs/gst/gstreamer-sections.txt:
20750         * docs/gst/tmpl/gstenumtypes.sgml:
20751         * win32/gstenumtypes.c:
20752           clean up documentation build a little
20753
20754 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
20755
20756         * check/gstcheck.h:
20757           add macros for checking refcounts on objects and caps
20758         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
20759           add some more unit tests
20760         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
20761         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
20762           fix leaked refcounts (I hope :)) so unittest works
20763         * gst/gstpad.h:
20764           whitespace removal
20765
20766 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
20767
20768         * configure.ac: back to HEAD
20769
20770 === release 0.9.1 ===
20771
20772 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
20773
20774         * NEWS:
20775         * RELEASE:
20776           updated
20777
20778 2005-06-17  Andy Wingo  <wingo@pobox.com>
20779
20780         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
20781         assert; it's always possible that the pad gets deactivated in
20782         between the checks in gstpad.c and the implementation. Rely on
20783         finish_preroll() to return a FLUSHING or similar instead of on the
20784         assert.
20785         
20786         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
20787         clock and post an EOS message if we come out of finish_preroll in
20788         the playing state.
20789
20790 2005-06-16  David Schleef  <ds@schleef.org>
20791
20792         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
20793         (gst_capsfilter_set_property): Allow NULL as possible value
20794         for filter_caps property, indicating GST_CAPS_ANY.
20795
20796 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
20797
20798         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
20799           fix debug output
20800         * gst/schedulers/Makefile.am:
20801           use libgst prefix
20802         * gstreamer.spec.in:
20803           fix spec for it
20804
20805 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
20806
20807         * gstreamer.spec.in:
20808           clean up
20809
20810 2005-06-08  Andy Wingo  <wingo@pobox.com>
20811
20812         * gst/gstutils.c: RPAD fixes all around.
20813         (gst_element_link_pads): Refcounting fixes.
20814
20815         * tools/gst-inspect.c:
20816         * tools/gst-xmlinspect.c:
20817         * parse/grammar.y:
20818         * gst/base/gsttypefindhelper.c:
20819         * gst/base/gstbasesink.c:
20820         * gst/gstqueue.c: RPAD fixes.
20821
20822         * gst/gstghostpad.h:
20823         * gst/gstghostpad.c: New ghost pad implementation as full proxy
20824         pads. The tricky thing is they provide both source and sink
20825         interfaces, since they proxy the internal pad for the external
20826         pad, and vice versa. Implement with lower-level ProxyPad objects,
20827         with the interior proxy pad as a child of the exterior ghost pad.
20828         Should write a doc on this.
20829         
20830         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
20831         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
20832         gst_object API.
20833         
20834         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
20835         pads are real pads. No ghost pads in this file. Not documenting
20836         the myriad s/RPAD/PAD/ and REALIZE fixes.
20837         (gst_pad_class_init): Add properties for "direction" and
20838         "template". Both are construct-only, so they can't change during
20839         the life of the pad. Fixes properly deriving from GstPad.
20840         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
20841         derived objects, just set properties when creating the objects via
20842         g_object_new.
20843         (gst_pad_get_parent): Implement as a function, return NULL if the
20844         parent is not an element.
20845         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
20846         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
20847         
20848         * gst/gstobject.c (gst_object_class_init): Make name a construct
20849         property. Don't set it in the object init.
20850
20851         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
20852         with UNKNOWN direction.
20853         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
20854         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
20855         (gst_element_remove_pad): Remove ghost-pad special cases.
20856         (gst_element_pads_activate): Remove rpad cruft.
20857
20858         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
20859         catch the pad's-parent-not-an-element case.
20860
20861         * gst/gst.h: Include gstghostpad.h.
20862
20863         * gst/gst.c (init_post): No more real, ghost pads.
20864
20865         * gst/Makefile.am: Add gstghostpad.[ch].
20866
20867         * check/Makefile.am:
20868         * check/gst/gstbin.c:
20869         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
20870         into a bin creates ghost pads, and that the refcounts are right.
20871         Partly moved from gstbin.c.
20872
20873 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
20874
20875         * check/gst-libs/.cvsignore:
20876         * check/gst/.cvsignore:
20877         * check/pipelines/.cvsignore:
20878           ignore more
20879         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
20880         (START_TEST), (cleanup_suite), (main):
20881           add some tests related to cleanup after running pipelines
20882
20883 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
20884
20885         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
20886           add a testsuite for GstBuffer
20887
20888 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
20889
20890         * gst/gstminiobject.h:
20891           add defines for accessing the refcount
20892
20893 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
20894
20895         * Makefile.am: added support for html unit test coverage reports
20896
20897 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
20898
20899         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
20900           Free existing caps if the capsfilter changes. Add a FIXME about
20901           setting those caps on the pads.
20902
20903         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
20904           Before adding a ghost pad to a parent bin, check that there isn't
20905           already one for the element on the bin. Prevents infinite recursion
20906           when using decodebin in parse pipelines. Andy says he'll rewrite the
20907           way this works anyway, so ignore the hack.
20908
20909 2005-06-02  Andy Wingo  <wingo@pobox.com>
20910
20911         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
20912         file size, pass it on to the type find helper.
20913
20914         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
20915         segment_start and segment_end properly according to the seek
20916         method. Segment_end is still a bit flaky because offset can be
20917         negative for CUR and END cases, but it takes -1 as an "unset"
20918         value.
20919
20920 2005-06-02  Wim Taymans  <wim@fluendo.com>
20921
20922         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
20923         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
20924         (gst_basesink_activate):
20925         * gst/base/gstbasesink.h:
20926         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
20927         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
20928         (gst_pad_query), (gst_pad_start_task):
20929         * gst/gstpad.h:
20930         * gst/gstqueue.c: (gst_queue_bufferalloc),
20931         (gst_queue_handle_sink_event), (gst_queue_chain):
20932         Bufferalloc: return GstFlowReturn to more accuratly report
20933         why allocation failed.
20934
20935 2005-06-02  Wim Taymans  <wim@fluendo.com>
20936
20937         * gst/gstpipeline.c: (gst_pipeline_send_event):
20938         Take snapshot of state without blocking.
20939
20940 2005-06-02  Wim Taymans  <wim@fluendo.com>
20941
20942         * docs/design/part-TODO.txt:
20943         * docs/design/part-caps.txt:
20944         * docs/design/part-clocks.txt:
20945         * docs/design/part-negotiation.txt:
20946         * docs/design/part-preroll.txt:
20947         Small doc updates 
20948
20949 2005-05-30  Wim Taymans  <wim@fluendo.com>
20950
20951         * gst/elements/gstidentity.c: (gst_identity_event),
20952         (gst_identity_transform), (gst_identity_get_property):
20953         Protect last_message property as it is accessed from
20954         multiple threads.
20955
20956 2005-05-30  Wim Taymans  <wim@fluendo.com>
20957
20958         * gst/gstelement.c: (gst_element_init),
20959         (gst_element_pads_activate), (gst_element_change_state):
20960         Slicker pad activation code.
20961
20962 2005-05-30  Wim Taymans  <wim@fluendo.com>
20963
20964         * gst/Makefile.am:
20965         * gst/gstelement.h:
20966         * gst/gstelementfactory.h:
20967         * gst/gsttypes.h:
20968         Move elementfactory methods to separate .h file.
20969
20970 2005-05-30  Wim Taymans  <wim@fluendo.com>
20971
20972         * docs/design/part-overview.txt:
20973         * gst/gstsystemclock.h:
20974         Small typo fixes, doc updates.
20975
20976 2005-05-30  Wim Taymans  <wim@fluendo.com>
20977
20978         * gst/gst.c: (gst_init_get_popt_table), (init_post),
20979         (init_popt_callback):
20980         Remove cpu-opt flag.
20981
20982 2005-05-30  Wim Taymans  <wim@fluendo.com>
20983
20984         * gst/gstbuffer.c: (gst_subbuffer_finalize),
20985         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
20986         * gst/gstbuffer.h:
20987         Avoid typechecking in places where not needed.
20988         Added accessor for malloc_data.
20989
20990 2005-05-30  Wim Taymans  <wim@fluendo.com>
20991
20992         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
20993         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
20994         (gst_pad_configure_sink), (gst_pad_configure_src),
20995         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
20996         (gst_pad_start_task):
20997         Propagate errors from _set_caps() in configure_src/sink
20998         functions instead of returning TRUE.
20999         FLUSH events can travel up and downstream
21000
21001
21002 2005-05-30  Wim Taymans  <wim@fluendo.com>
21003
21004         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
21005         (gst_basesink_activate):
21006         Handle EOS in preroll.
21007
21008 2005-05-30  Wim Taymans  <wim@fluendo.com>
21009
21010         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
21011         (gst_queue_loop), (gst_queue_handle_src_event):
21012         Remove old pieces of code
21013         Flushing the queue in an upstream event is a very bad idea.
21014
21015 2005-05-26  Andy Wingo  <wingo@pobox.com>
21016
21017         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
21018         gst_value_set_mini_object so as to add a ref on the object (which
21019         will be removed when the value is unset).
21020
21021         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
21022         arg type in ::handoff.
21023
21024         * gst/gstelement.c (gst_element_change_state): Also deactivate
21025         pads in READY->NULL, just in case the element didn't make it to
21026         PAUSED. Wingo tested, Wim approved.
21027
21028 2005-05-26  Wim Taymans  <wim@fluendo.com>
21029
21030         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
21031         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
21032         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
21033         A flushing pad cannot be used to alloc_buffer from.
21034
21035 2005-05-26  Wim Taymans  <wim@fluendo.com>
21036
21037         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
21038         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
21039         (gst_bus_source_dispatch), (gst_bus_source_finalize),
21040         (gst_bus_create_watch), (gst_bus_add_watch_full):
21041         * gst/gstbus.h:
21042         Implement a real GSource and use g_main_context_wakeup() to
21043         signal new messages instead of the socketpair.
21044
21045 2005-05-25  Wim Taymans  <wim@fluendo.com>
21046
21047         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
21048         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
21049         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
21050         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
21051         (gst_pad_send_event), (gst_pad_start_task):
21052         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
21053         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
21054         (gst_queue_sink_activate), (gst_queue_src_activate),
21055         (gst_queue_change_state):
21056         * gst/gstqueue.h:
21057         Fix state changes for non sinks. We now change sinks, then elements
21058         with unconnected srcpads, then the rest.
21059         More efficient queue unlocking in flush and state changes.
21060         Set the pad activate mode even if it does not have an activate
21061         function.
21062
21063 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21064
21065         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
21066           Don't go in pull mode for non-seekable sources.
21067         * gst/elements/gsttypefindelement.h:
21068         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
21069         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
21070         (free_entry), (stop_typefinding),
21071         (gst_type_find_element_handle_event), (find_peek),
21072         (gst_type_find_element_chain), (do_pull_typefind),
21073         (gst_type_find_element_change_state):
21074           Allow typefinding (w/o seeking) in push-mode, simplified version
21075           of what was in 0.8.
21076         * gst/gstutils.c: (gst_buffer_join):
21077         * gst/gstutils.h:
21078           gst_buffer_join() from 0.8.
21079
21080 2005-05-25  Wim Taymans  <wim@fluendo.com>
21081
21082         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
21083         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
21084         (gst_pad_send_event), (gst_pad_start_task):
21085         Disable attempt at mode switching until it is figured out.
21086
21087 2005-05-25  Wim Taymans  <wim@fluendo.com>
21088
21089         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
21090         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
21091         (gst_basesink_finish_preroll), (gst_basesink_chain),
21092         (gst_basesink_loop), (gst_basesink_activate),
21093         (gst_basesink_change_state):
21094         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
21095         (gst_basesrc_get_range), (gst_basesrc_loop),
21096         (gst_basesrc_activate):
21097         * gst/elements/gsttee.c: (gst_tee_sink_activate):
21098         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
21099         (gst_real_pad_init), (gst_real_pad_set_property),
21100         (gst_real_pad_get_property), (gst_pad_set_active),
21101         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
21102         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
21103         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
21104         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
21105         (gst_pad_event_default_dispatch), (gst_pad_event_default),
21106         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
21107         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
21108         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
21109         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
21110         (gst_pad_stop_task):
21111         * gst/gstpad.h:
21112         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
21113         (gst_queue_loop), (gst_queue_src_activate):
21114         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
21115         (gst_task_get_state):
21116         * gst/gsttask.h:
21117         * gst/schedulers/threadscheduler.c:
21118         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
21119         Implement gst_pad_pause/start/stop_task(), take STREAM lock
21120         in task function.
21121         Remove ACTIVE pad flag, use FLUSHING everywhere
21122         Added _pad_chain(), _pad_get_range() to call chain/getrange 
21123         functions.
21124         Add locks around IS_FLUSHING when reading.
21125         Take STREAM lock in chain(), get_range() functions so plugins
21126         don't need to take it anymore.
21127         
21128
21129
21130 2005-05-25  Wim Taymans  <wim@fluendo.com>
21131
21132         * tools/gst-launch.c: (event_loop):
21133         Unref message after using its contents instead of
21134         before.
21135
21136 2005-05-24  Wim Taymans  <wim@fluendo.com>
21137
21138         * docs/design/draft-ghostpads.txt:
21139         * docs/design/draft-push-pull.txt:
21140         * docs/design/draft-query.txt:
21141         * docs/design/part-overview.txt:
21142         Docs updates, added general overview doc.
21143
21144 2005-05-21  David Schleef  <ds@schleef.org>
21145
21146         * docs/gst/tmpl/old/GstBin.sgml:
21147         * docs/gst/tmpl/old/GstBuffer.sgml:
21148         * docs/gst/tmpl/old/GstCaps.sgml:
21149         * docs/gst/tmpl/old/GstClock.sgml:
21150         * docs/gst/tmpl/old/GstCompat.sgml:
21151         * docs/gst/tmpl/old/GstData.sgml:
21152         * docs/gst/tmpl/old/GstElement.sgml:
21153         * docs/gst/tmpl/old/GstEvent.sgml:
21154         * docs/gst/tmpl/old/GstIndex.sgml:
21155         * docs/gst/tmpl/old/GstStructure.sgml:
21156         * docs/gst/tmpl/old/GstTag.sgml:
21157         * docs/gst/tmpl/old/cothreads.sgml:
21158         * docs/gst/tmpl/old/cothreads_compat.sgml:
21159         * docs/gst/tmpl/old/gettext.sgml:
21160         * docs/gst/tmpl/old/gobject2gtk.sgml:
21161         * docs/gst/tmpl/old/grammar.tab.sgml:
21162         * docs/gst/tmpl/old/gst-i18n-app.sgml:
21163         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
21164         * docs/gst/tmpl/old/gst_private.sgml:
21165         * docs/gst/tmpl/old/gstaggregator.sgml:
21166         * docs/gst/tmpl/old/gstarch.sgml:
21167         * docs/gst/tmpl/old/gstatomic_impl.sgml:
21168         * docs/gst/tmpl/old/gstbufferstore.sgml:
21169         * docs/gst/tmpl/old/gstdata_private.sgml:
21170         * docs/gst/tmpl/old/gstdisksink.sgml:
21171         * docs/gst/tmpl/old/gstdisksrc.sgml:
21172         * docs/gst/tmpl/old/gstelementfactory.sgml:
21173         * docs/gst/tmpl/old/gstextratypes.sgml:
21174         * docs/gst/tmpl/old/gstfakesink.sgml:
21175         * docs/gst/tmpl/old/gstfakesrc.sgml:
21176         * docs/gst/tmpl/old/gstfdsink.sgml:
21177         * docs/gst/tmpl/old/gstfdsrc.sgml:
21178         * docs/gst/tmpl/old/gstfilesink.sgml:
21179         * docs/gst/tmpl/old/gstfilesrc.sgml:
21180         * docs/gst/tmpl/old/gsthttpsrc.sgml:
21181         * docs/gst/tmpl/old/gstidentity.sgml:
21182         * docs/gst/tmpl/old/gstindexfactory.sgml:
21183         * docs/gst/tmpl/old/gstmarshal.sgml:
21184         * docs/gst/tmpl/old/gstmd5sink.sgml:
21185         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
21186         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
21187         * docs/gst/tmpl/old/gstpadtemplate.sgml:
21188         * docs/gst/tmpl/old/gstpipefilter.sgml:
21189         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
21190         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
21191         * docs/gst/tmpl/old/gstshaper.sgml:
21192         * docs/gst/tmpl/old/gstspider.sgml:
21193         * docs/gst/tmpl/old/gstspideridentity.sgml:
21194         * docs/gst/tmpl/old/gststatistics.sgml:
21195         * docs/gst/tmpl/old/gsttee.sgml:
21196         * docs/gst/tmpl/old/gsttimecache.sgml:
21197         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
21198         * docs/gst/tmpl/old/gstxmlregistry.sgml:
21199         * docs/gst/tmpl/old/gthread-cothreads.sgml:
21200         * docs/gst/tmpl/old/types.sgml:
21201           I didn't intend to add these or check them in.
21202
21203 2005-05-19  David Schleef  <ds@schleef.org>
21204
21205         * configure.ac: Use -no-common everywhere.  In a sane world, it
21206           would be the default in libtool, because without it, you can't
21207           build DLLs on Windows.
21208         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
21209         * docs/gst/gstreamer-sections.txt:
21210         * docs/gst/tmpl/gstcpu.sgml:
21211         * docs/gst/tmpl/gstdata.sgml:
21212         * docs/gst/tmpl/gstthread.sgml:
21213
21214 2005-05-19  David Schleef  <ds@schleef.org>
21215
21216         * gst/gstminiobject.c: (gst_value_set_mini_object),
21217         (gst_value_take_mini_object), (gst_value_get_mini_object):
21218         * gst/gstminiobject.h: Add GValue set/get functions.
21219
21220 2005-05-19  Wim Taymans  <wim@fluendo.com>
21221
21222         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
21223         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
21224         (gst_subbuffer_init), (gst_buffer_is_span_fast):
21225         * gst/gstbuffer.h:
21226         * gst/gstbus.c: (gst_bus_post):
21227         * gst/gstelement.c: (gst_element_get_random_pad):
21228         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
21229         Make subbufer unref the parent in finalize.
21230         some more debugging info.
21231
21232
21233 2005-05-19  Wim Taymans  <wim@fluendo.com>
21234
21235         * gst/base/gstbasesink.c: (gst_basesink_class_init),
21236         (gst_basesink_init), (gst_basesink_finalize),
21237         (gst_basesink_activate), (gst_basesink_change_state):
21238         Don't free preroll queue too early.
21239
21240 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21241
21242         * gst/Makefile.am:
21243         * gst/ROADMAP:
21244           Hi, I'm outdated. Please shoot me.
21245
21246 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21247
21248         * gst/gstpipeline.c: (gst_pipeline_send_event):
21249           Do not access variables after they have been deleted.
21250
21251 2005-05-19  Wim Taymans  <wim@fluendo.com>
21252
21253         * tools/gst-inspect.c: (print_plugin_features):
21254         A plugin feature does unfortunatly not use the
21255         object name yet...
21256
21257 2005-05-18  Wim Taymans  <wim@fluendo.com>
21258
21259         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
21260         Port _span() functions to new subbuffers.
21261
21262 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21263
21264         * gst/gstbin.c: (gst_bin_add_func):
21265           Fix clock settery in bins when adding kids after the clock has
21266           been selected.
21267
21268 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21269
21270         * gst/elements/gstidentity.c: (gst_identity_class_init):
21271           Workaround until signals support GstMiniObject.
21272
21273 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
21274
21275         * gst/gstbuffer.c:
21276         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
21277
21278 2005-05-18  Wim Taymans  <wim@fluendo.com>
21279
21280         * gst/base/Makefile.am:
21281         * gst/base/gstadapter.c: (gst_adapter_base_init),
21282         (gst_adapter_class_init), (gst_adapter_init),
21283         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
21284         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
21285         (gst_adapter_flush), (gst_adapter_available),
21286         (gst_adapter_available_fast):
21287         * gst/base/gstadapter.h:
21288         Ported and added adapter to the base classes.
21289
21290 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
21291
21292         * gst/gst.c:
21293         * gst/gstmessage.c:
21294           Make sure the class is reffed/unreffed once before threads can be
21295           used.  Fixes #304551.
21296
21297 2005-05-17  Wim Taymans  <wim@fluendo.com>
21298
21299         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
21300         (gst_basesink_chain_unlocked), (gst_basesink_activate):
21301         * gst/gstminiobject.c: (gst_mini_object_get_type),
21302         (gst_mini_object_free):
21303         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
21304         (gst_pad_push), (gst_pad_push_event):
21305         * gst/gstqueue.c: (gst_queue_change_state):
21306         Don't queue buffers in basesink when we are flushing.
21307         Unref buffer when flushing in basesink.
21308         Flush queue when going to READY
21309         Unref buffer when _push() returns an error.
21310         Don't free MiniObject instance when refcount is incremented
21311         in _finalize() so that we can recover objects.
21312
21313 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
21314
21315         * docs/manual/advanced-schedulers.xml:
21316         * docs/manual/appendix-checklist.xml:
21317         * docs/pwg/advanced-clock.xml:
21318         * docs/pwg/advanced-interfaces.xml:
21319         * docs/pwg/advanced-request.xml:
21320         * docs/pwg/advanced-types.xml:
21321         * docs/pwg/intro-preface.xml:
21322         * examples/plugins/example.c: (gst_example_get_type),
21323         (gst_example_class_init), (gst_example_chain),
21324         (gst_example_set_property), (gst_example_get_property),
21325         (gst_example_change_state), (plugin_init):
21326         * examples/plugins/example.h:
21327           small doc fixes
21328
21329 2005-05-17  Wim Taymans  <wim@fluendo.com>
21330
21331         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
21332         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
21333         * gst/gstqueue.c: (gst_queue_change_state):
21334         Clear queue when going to READY.
21335         Remove IN_SETCAPS flag too.
21336
21337 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
21338
21339         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
21340           Remove implicit cast from gboolean to GstElementStateReturn;
21341           make sure we still return failure in paused => ready case if
21342           the parent class fails to change state and our own stop 
21343           vfunc succeeds.
21344
21345 2005-05-17  Wim Taymans  <wim@fluendo.com>
21346
21347         * tools/gst-launch.c: (event_loop):
21348         Message was unreffed too soon.
21349
21350 2005-05-16  Andy Wingo  <wingo@pobox.com>
21351
21352         * gst/gstbin.c (sink_iterator_filter): Err... um...
21353
21354         * check/gst/gstbin.c (test_ghost_pads): New test for the
21355         ghosting-if-elements-not-in-same-bin behavior.
21356
21357 2005-05-16  David Schleef  <ds@schleef.org>
21358
21359         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
21360         accessing refcount directly.
21361
21362 2005-05-15  David Schleef  <ds@schleef.org>
21363
21364         * check/Makefile.am: remove GstData checks
21365         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
21366         * gst/Makefile.am: add miniobject, remove data
21367         * gst/gst.h: add miniobject, remove data
21368         * gst/gstdata.c: remove
21369         * gst/gstdata.h: remove
21370         * gst/gstdata_private.h: remove
21371         * gst/gsttypes.h: remove GstEvent and GstMessage
21372         * gst/gstelement.c: (gst_element_post_message): fix for API changes
21373         * gst/gstmarshal.list: change BOXED -> OBJECT
21374
21375         Implement GstMiniObject.
21376         * gst/gstminiobject.c:
21377         * gst/gstminiobject.h:
21378
21379         Modify to be subclasses of GstMiniObject.
21380         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
21381         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
21382         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
21383         (gst_subbuffer_get_type), (gst_subbuffer_init),
21384         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
21385         (gst_buffer_span):
21386         * gst/gstbuffer.h:
21387         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
21388         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
21389         (_gst_event_copy), (gst_event_new):
21390         * gst/gstevent.h:
21391         * gst/gstmessage.c: (_gst_message_initialize),
21392         (gst_message_get_type), (gst_message_class_init),
21393         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
21394         (gst_message_new), (gst_message_new_error),
21395         (gst_message_new_warning), (gst_message_new_tag),
21396         (gst_message_new_state_changed), (gst_message_new_application):
21397         * gst/gstmessage.h:
21398         * gst/gstprobe.c: (gst_probe_perform),
21399         (gst_probe_dispatcher_dispatch):
21400         * gst/gstprobe.h:
21401         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
21402         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
21403         (_gst_query_copy), (gst_query_new):
21404
21405         Update elements for GstData -> GstMiniObject changes
21406         * gst/gstquery.h:
21407         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
21408         (gst_queue_chain), (gst_queue_loop):
21409         * gst/elements/gstbufferstore.c:
21410         (gst_buffer_store_add_buffer_func),
21411         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
21412         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
21413         (gst_fakesink_render):
21414         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
21415         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
21416         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
21417         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
21418         (gst_filesrc_create_read):
21419         * gst/elements/gstidentity.c: (gst_identity_class_init):
21420         * gst/elements/gsttypefindelement.c:
21421         (gst_type_find_element_src_event), (free_entry_buffers),
21422         (gst_type_find_element_handle_event):
21423         * libs/gst/dataprotocol/dataprotocol.c:
21424         (gst_dp_header_from_buffer):
21425         * libs/gst/dataprotocol/dataprotocol.h:
21426         * libs/gst/dataprotocol/dp-private.h:
21427
21428 2005-05-15  David Schleef  <ds@schleef.org>
21429
21430         * gst/elements/gstelements.c: Don't include headers that were
21431         just removed.
21432
21433 2005-05-15  David Schleef  <ds@schleef.org>
21434
21435         * gst/elements/Makefile.am: Remove some elements that don't
21436         need to be in the core (or even exist at all).
21437         * gst/elements/gstaggregator.c:
21438         * gst/elements/gstaggregator.h:
21439         * gst/elements/gstmd5sink.c:
21440         * gst/elements/gstmd5sink.h:
21441         * gst/elements/gstmultifilesrc.c:
21442         * gst/elements/gstmultifilesrc.h:
21443         * gst/elements/gstpipefilter.c:
21444         * gst/elements/gstpipefilter.h:
21445         * gst/elements/gstshaper.c:
21446         * gst/elements/gstshaper.h:
21447         * gst/elements/gststatistics.c:
21448         * gst/elements/gststatistics.h:
21449         * po/POTFILES.in: Remove above files.
21450
21451 2005-05-14  Andy Wingo  <wingo@pobox.com>
21452
21453         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
21454         so as to get the refs right.
21455         (sink_iterator_filter): New function, wraps bin_element_is_sink,
21456         unreffing objects that don't pass the filter.
21457
21458         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
21459         gst_element_set_bus.
21460         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
21461         normal cases, this will destroy the bus.
21462
21463         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
21464         object.
21465
21466         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
21467         has no sinks.
21468
21469 2005-05-13  Andy Wingo  <wingo@pobox.com>
21470
21471         * gst/gstutils.c (gst_element_link_pads): Instead of calling
21472         gst_pad_link, call pad_link_maybe_ghosting,
21473         (pad_link_maybe_ghosting): Links pads, making sure that the
21474         elements being linked are in the same bin.
21475         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
21476         Helpers for pad_link_maybe_ghosting.
21477
21478 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
21479
21480         * configure.ac:
21481           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
21482
21483 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
21484
21485         * docs/design/part-element-source.txt:
21486           Mention GstPushSrc
21487
21488 2005-05-12  Wim Taymans  <wim@fluendo.com>
21489
21490         * gst/base/gstbasesink.c: (gst_basesink_init),
21491         (gst_basesink_activate):
21492         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
21493         (gst_basesrc_is_seekable):
21494         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
21495         (bin_element_is_sink), (gst_bin_change_state):
21496         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
21497         * gst/gstelement.h:
21498         Identify sinks by their flag to avoid overly complicated
21499         checks (fow now).
21500         Do state changes even for elements not reachable from the
21501         sinks.
21502         BaseSink is a sink now :)
21503         Some more debugging info in the basesrc.
21504
21505
21506 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21507
21508         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
21509           Implement _query on a bin, similar to _send_event.
21510
21511 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
21512
21513         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
21514           Discont event offset format should be GST_FORMAT_BYTES,
21515           not GST_FORMAT_TIME.
21516
21517 2005-05-12  Wim Taymans  <wim@fluendo.com>
21518
21519         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
21520         Same fix as Ronald's but without the signal. 
21521
21522 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21523
21524         * gst/gstutils.c: (gst_element_query_position):
21525           No, an element is not a pad.
21526
21527 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21528
21529         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
21530         (gst_bin_get_state):
21531           If a child is removed from a bin while we remove the child from
21532           the bin and while we're retrieving its state, signal this to the
21533           get_state function so we abort the wait (instead of waiting for
21534           a timeout) and can immediately re-iterate over all other elements.
21535
21536 2005-05-12  Wim Taymans  <wim@fluendo.com>
21537
21538         * gst/base/Makefile.am:
21539         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
21540         (gst_basesrc_start):
21541         * gst/base/gstbasesrc.h:
21542         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
21543         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
21544         (gst_pushsrc_init), (gst_pushsrc_create):
21545         * gst/base/gstpushsrc.h:
21546         Added is_seekable to BaseSrc
21547         Added simple PushSrc.
21548
21549 2005-05-11  Wim Taymans  <wim@fluendo.com>
21550
21551         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
21552         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
21553         (gst_element_link_pads), (gst_element_query_position),
21554         (gst_element_query_convert), (intersect_caps_func),
21555         (gst_pad_query_position), (gst_pad_query_convert):
21556         Fix refcounting in utils function.
21557         No point in trying to activate a pad when it's added, it could
21558         be added from the state change function and then we deadlock, the
21559         element has to decide what to do.
21560
21561 2005-05-10  Andy Wingo  <wingo@pobox.com>
21562
21563         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
21564         *all* the arguments.
21565
21566         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
21567         stream lock if it's a FLUSH_DONE; normal flushes don't get the
21568         lock (according to the docs -- if this is wrong change the docs).
21569
21570         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
21571         flush messages in the NULL state.
21572
21573         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
21574         message immediately and return.
21575         (gst_bus_set_flushing): New function. If a bus is flushing, it
21576         flushes out any queued messages and immediately unrefs new
21577         messages. This is so when an element goes to NULL, all of the
21578         unhandled messages coming from it can be freed, and their
21579         references to the element dropped. In other words: message source
21580         ref considered harmful :P
21581
21582         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
21583         we're finished with it.
21584
21585         * gst/gstmessage.c (gst_message_new_state_changed): 
21586
21587 2005-05-10  Wim Taymans  <wim@fluendo.com>
21588
21589         * gst/gstvalue.c: (gst_value_compare_flags),
21590         (gst_value_serialize_flags), (gst_value_deserialize_flags),
21591         (_gst_value_initialize):
21592         Added flags serialize/deserialize/compare code.
21593
21594 2005-05-09  Andy Wingo  <wingo@pobox.com>
21595
21596         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
21597         Intersect the peer's caps with our caps.
21598
21599 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21600
21601         * gst/base/gsttypefindhelper.c: (helper_find_peek):
21602         * gst/elements/gsttypefindelement.c: (find_peek):
21603           Handle negative offsets better. Fixes decodebin.
21604
21605 2005-05-09  Wim Taymans  <wim@fluendo.com>
21606
21607         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
21608         (gst_base_transform_event):
21609         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
21610         Implement accept_caps.
21611         Fix silly lock/unlock mismatch in base class.
21612
21613 2005-05-09  Wim Taymans  <wim@fluendo.com>
21614
21615         * docs/design/draft-push-pull.txt:
21616         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
21617         * gst/elements/gstfilesink.c: (gst_filesink_init),
21618         (gst_filesink_query):
21619         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
21620         (gst_type_find_handle_src_query), (find_element_get_length):
21621         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
21622         * gst/gstelement.h:
21623         * gst/gstmessage.c:
21624         * gst/gstmessage.h:
21625         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
21626         (gst_real_pad_get_caps_unlocked),
21627         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
21628         (gst_pad_event_default_dispatch), (gst_pad_event_default),
21629         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
21630         (gst_real_pad_dispose), (gst_real_pad_finalize),
21631         (gst_pad_load_and_link), (gst_pad_save_thyself),
21632         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
21633         (gst_pad_check_pull_range), (gst_pad_pull_range),
21634         (gst_pad_template_get_type), (gst_pad_template_class_init),
21635         (gst_pad_template_init), (gst_pad_template_dispose),
21636         (name_is_valid), (gst_static_pad_template_get),
21637         (gst_pad_template_new), (gst_static_pad_template_get_caps),
21638         (gst_pad_template_get_caps), (gst_pad_set_element_private),
21639         (gst_pad_get_element_private), (gst_pad_start_task),
21640         (gst_pad_pause_task), (gst_pad_stop_task),
21641         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
21642         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
21643         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
21644         (gst_ghost_pad_new):
21645         * gst/gstpad.h:
21646         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
21647         (gst_query_new_position), (gst_query_set_position),
21648         (gst_query_parse_position), (gst_query_new_convert),
21649         (gst_query_set_convert), (gst_query_parse_convert):
21650         * gst/gstquery.h:
21651         * gst/gstqueryutils.c:
21652         * gst/gstqueryutils.h:
21653         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
21654         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
21655         (gst_queue_handle_src_query):
21656         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
21657         (gst_element_query_position), (gst_element_query_convert),
21658         (intersect_caps_func), (gst_pad_query_position),
21659         (gst_pad_query_convert):
21660         * gst/gstutils.h:
21661         * tools/gst-inspect.c: (print_pad_info):
21662         * tools/gst-xmlinspect.c: (print_element_info):
21663         Remove old query functions. Ported old code.
21664         Added position/convert helper functions to gstutils.
21665         Reordered gstpad.c code, grouping relevant things.
21666         Remove gst_message_new(), always need to speficy a specific
21667         message.
21668
21669
21670 2005-05-09  Andy Wingo  <wingo@pobox.com>
21671
21672         * gst/gstiterator.h: Add some includes.
21673
21674         * gst/gstqueryutils.h: Include more headers.
21675
21676         * gst/gstpad.h:
21677         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
21678         some uses of gst_pad_query.
21679
21680         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
21681         NULL out parameters.
21682         (gst_query_new_position): New proc, allocates a new position
21683         query.
21684
21685         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
21686         gstqueryutils.c to the build.
21687
21688         * gst/gststructure.c (gst_structure_set_valist): Implement with
21689         the generic G_VALUE_COLLECT.
21690         
21691 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
21692
21693         * gst/Makefile.am: (gst_headers):
21694         Added gstqueryutils.h to the list of headers to install, that was
21695         a 'nachty' move wingo :)
21696
21697 2005-05-06  Andy Wingo  <wingo@pobox.com>
21698
21699         * gst/gstquery.h
21700         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
21701         GstData, init a memchunk.
21702         (standard_definitions): Add a few query types, deprecate a few.
21703         (gst_query_get_type): New proc.
21704         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
21705         implementation.
21706         (gst_query_new_application, gst_query_get_structure): New public
21707         procs.
21708
21709         * docs/design/draft-query.txt: Removed LINKS from the query types,
21710         because all the rest can be dispatched to other pads -- seemed
21711         ugly to have a query that couldn't be dispatched. internal_links
21712         is fine as a pad method.
21713
21714         * gst/gstpad.h: Add query2 as a pad method, add the new functions
21715         in gstpad.c, but maintain binary compatibility for the moment.
21716         Will fix before 0.9 is out.
21717
21718         * gst/gstqueryutils.c: 
21719         * gst/gstqueryutils.h: New files, implement 3 methods for each
21720         query type: parse_query, parse_response, and set. Probably need an
21721         allocator as well.
21722
21723         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
21724
21725         * gst/elements/gstfilesink.c (gst_filesink_query2):
21726         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
21727         query_types, and formats methods.
21728
21729         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
21730         (gst_pad_set_query2_function): New functions.
21731         (gst_real_pad_init): Set query2_default as the default query2
21732         function. Basically just dispatches to internally linked pads.
21733
21734         Needs review!
21735         
21736         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
21737         without using the atomic operations. Only one thread can possibly
21738         be accessing the data at this point. Changed so as to avoid
21739         gst_atomic operations.
21740
21741 2005-05-06  Wim Taymans  <wim@fluendo.com>
21742
21743         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
21744         Also set caps if we use the fallback buffer alloc.
21745
21746 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
21747
21748         * docs/gst/Makefile.am:
21749         * docs/gst/gstreamer-docs.sgml:
21750         * docs/gst/gstreamer-sections.txt:
21751         * docs/gst/tmpl/gstatomic.sgml:
21752         * docs/gst/tmpl/gstmemchunk.sgml:
21753         * testsuite/elements/struct_i386.h:
21754         * win32/GStreamer.vcproj:
21755         * win32/Makefile:
21756           Purge GstAtomic stuff from docs and win32 makefiles as well
21757
21758 2005-05-06  Wim Taymans  <wim@fluendo.com>
21759
21760         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
21761         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
21762         * gst/gstpad.c: (gst_pad_peer_get_caps):
21763         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
21764         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
21765         (gst_queue_src_activate), (gst_queue_change_state):
21766         * gst/gstqueue.h:
21767         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
21768         (intersect_caps_func):
21769         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
21770         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
21771         Some fixes for the peer_get_caps() change.
21772
21773 2005-05-06  Wim Taymans  <wim@fluendo.com>
21774
21775         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
21776         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
21777         (gst_basesink_activate):
21778         Actually do something with error codes returned from the push
21779         functions.
21780
21781 2005-05-06  Wim Taymans  <wim@fluendo.com>
21782
21783         * docs/design/part-element-sink.txt:
21784         * docs/design/part-element-source.txt:
21785         * gst/base/gstbasesink.c: (gst_basesink_class_init),
21786         (gst_basesink_event), (gst_basesink_activate):
21787         * gst/base/gstbasesink.h:
21788         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
21789         (gst_basesrc_activate):
21790         * gst/base/gstbasesrc.h:
21791         * gst/gstelement.c: (gst_element_pads_activate):
21792         Some more documentation.
21793         Fixed scheduling decision in _pads_activate().
21794
21795 2005-05-05  Andy Wingo  <wingo@pobox.com>
21796
21797         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
21798         the test suite.
21799
21800 2005-05-05  Wim Taymans  <wim@fluendo.com>
21801
21802         * gst/base/Makefile.am:
21803         * gst/base/gstbasesink.h:
21804         * gst/base/gstbasesrc.c: (gst_basesrc_init),
21805         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
21806         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
21807         (gst_collectpads_class_init), (gst_collectpads_init),
21808         (gst_collectpads_finalize), (gst_collectpads_new),
21809         (gst_collectpads_set_function), (gst_collectpads_add_pad),
21810         (find_pad), (gst_collectpads_remove_pad),
21811         (gst_collectpads_is_active), (gst_collectpads_collect),
21812         (gst_collectpads_collect_range), (gst_collectpads_start),
21813         (gst_collectpads_stop), (gst_collectpads_peek),
21814         (gst_collectpads_pop), (gst_collectpads_available),
21815         (gst_collectpads_read), (gst_collectpads_flush),
21816         (gst_collectpads_chain):
21817         * gst/base/gstcollectpads.h:
21818         * gst/elements/Makefile.am:
21819         * gst/elements/gstelements.c:
21820         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
21821         (gst_fakesink_get_times), (gst_fakesink_event),
21822         (gst_fakesink_preroll), (gst_fakesink_render):
21823         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
21824         (gst_filesink_init), (gst_filesink_set_location),
21825         (gst_filesink_open_file), (gst_filesink_close_file),
21826         (gst_filesink_pad_query), (gst_filesink_event),
21827         (gst_filesink_render), (gst_filesink_change_state):
21828         * gst/elements/gstfilesink.h:
21829         Added object to help in making collect pad based elements.
21830         Ported filesink.
21831         Make event function in sink baseclass return gboolean.
21832
21833 2005-05-05  Wim Taymans  <wim@fluendo.com>
21834
21835         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
21836         (gst_bin_get_by_name):
21837         * gst/gstbuffer.h:
21838         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
21839         (gst_clock_finalize):
21840         * gst/gstdata.c: (gst_data_replace):
21841         * gst/gstdata.h:
21842         * gst/gstelement.c: (gst_element_request_pad),
21843         (gst_element_pads_activate):
21844         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
21845         (gst_object_unref):
21846         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
21847         (gst_pad_set_checkgetrange_function),
21848         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
21849         (gst_pad_check_pull_range), (gst_pad_pull_range),
21850         (gst_static_pad_template_get_caps), (gst_pad_start_task),
21851         (gst_pad_pause_task), (gst_pad_stop_task):
21852         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
21853         (gst_element_request_pad), (gst_pad_proxy_getcaps):
21854         Fix name lookup in GstBin.
21855         Added _data_replace() function and _buffer_replace()
21856         Use finalize method to clean up clock.
21857         Fix refcounting on request pads.
21858         Fix pad schedule mode error.
21859         Some more object refcounting debug info,
21860
21861
21862 2005-05-04  Andy Wingo <wingo@pobox.com>
21863
21864         * check/Makefile.am:
21865         * docs/gst/tmpl/gstatomic.sgml:
21866         * docs/gst/tmpl/gstplugin.sgml:
21867         * gst/base/gstbasesink.c: (gst_basesink_activate):
21868         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
21869         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
21870         (gst_basesrc_query), (gst_basesrc_set_property),
21871         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
21872         (gst_basesrc_activate):
21873         * gst/base/gstbasesrc.h:
21874         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
21875         (gst_base_transform_src_activate):
21876         * gst/elements/gstelements.c:
21877         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
21878         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
21879         * gst/elements/gsttee.c: (gst_tee_sink_activate):
21880         * gst/elements/gsttypefindelement.c: (find_element_get_length),
21881         (gst_type_find_element_checkgetrange),
21882         (gst_type_find_element_activate):
21883         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
21884         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
21885         (gst_caps_load_thyself):
21886         * gst/gstelement.c: (gst_element_pads_activate),
21887         (gst_element_save_thyself), (gst_element_restore_thyself):
21888         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
21889         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
21890         * gst/gstpad.h:
21891         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
21892         (gst_xml_parse_file), (gst_xml_parse_memory),
21893         (gst_xml_get_element), (gst_xml_make_element):
21894         * gst/indexers/gstfileindex.c: (gst_file_index_load),
21895         (_file_index_id_save_xml), (gst_file_index_commit):
21896         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
21897         (read_enum), (load_pad_template), (load_feature), (load_plugin),
21898         (load_paths):
21899         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
21900         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
21901         * tools/gst-complete.c: (main):
21902         * tools/gst-compprep.c: (main):
21903         * tools/gst-inspect.c: (print_element_properties_info):
21904         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
21905         * tools/gst-xmlinspect.c: (print_element_properties):
21906         GCC 4 fixen.
21907         
21908 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
21909
21910         * gst/gstplugin.c: (gst_plugin_check_module),
21911         (gst_plugin_check_file), (gst_plugin_load_file):
21912             apply patch from #172526 to make register work on MacOSX
21913
21914 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
21915
21916         * docs/gst/tmpl/gstconfig.sgml:
21917         * gst/gstconfig.h.in:
21918           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
21919         * testsuite/debug/printf_extension.c: (main):
21920           Do not use GST_PTR_FORMAT on pointers to types with
21921           sizeof < sizeof(gpointer).  Fixes test on 64-bit
21922         * testsuite/elements/property.h:
21923           use correct printf format
21924
21925 2005-05-02  Wim Taymans  <wim@fluendo.com>
21926
21927         * docs/design/draft-push-pull.txt:
21928         * docs/design/draft-query.txt:
21929         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
21930         (gst_basesrc_start):
21931         Added draft for new query API.
21932         Added draft for better selecting scheduling methods.
21933         Make basesrc ignore length if the subclass does not support
21934         it.
21935
21936 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
21937
21938         * gst/Makefile.am:
21939           possible fixes for automake-1.5 - _LIBADD is reserved
21940
21941 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
21942
21943         * docs/faq/Makefile.am:
21944         * docs/manual/Makefile.am:
21945         * docs/manuals.mak:
21946         * docs/pwg/Makefile.am:
21947         * gst/Makefile.am:
21948           possible fixes for automake-1.5
21949
21950 2005-04-28  Wim Taymans  <wim@fluendo.com>
21951
21952         * gst/base/gstbasesink.c: (gst_basesink_base_init),
21953         (gst_basesink_pad_getcaps), (gst_basesink_init),
21954         (gst_basesink_do_sync):
21955         * gst/gstclock.c: (gst_clock_entry_new):
21956         * gst/gstevent.c: (gst_event_discont_get_value):
21957         * gst/gstpipeline.c: (pipeline_bus_handler),
21958         (gst_pipeline_change_state):
21959         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
21960         Better debugging of clocking info.
21961         Allow NULL values when getting discont values.
21962
21963 2005-04-27  Wim Taymans  <wim@fluendo.com>
21964
21965         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
21966         * check/gst/gstpad.c: (gst_pad_suite):
21967         Increase timeout for checks.
21968
21969 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
21970
21971         * check/Makefile.am:
21972           fix the broken rule for cleanup.  Apparently this rule is
21973           only needed on FC2, so maybe this warrants further autotool
21974           inspection.
21975
21976 2005-04-26  Wim Taymans  <wim@fluendo.com>
21977
21978         * gst/gsttrashstack.h:
21979         Ooohh. a nasty one! After having a failed pop() from the stack,
21980         it's possible that the stack is empty. In that case, don't
21981         follow the NULL pointer.
21982
21983 2005-04-25  Wim Taymans  <wim@fluendo.com>
21984
21985         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
21986         (gst_pad_set_checkgetrange_function),
21987         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
21988         (gst_pad_check_pull_range), (gst_pad_pull_range),
21989         (gst_static_pad_template_get_caps), (gst_pad_start_task),
21990         (gst_pad_pause_task), (gst_pad_stop_task):
21991         * gst/gstplugin.c: (gst_plugin_load):
21992         * gst/gstplugin.h:
21993         Remove gst_library_load as it does more harm than good with
21994         the new g_module flags.
21995         Revert bogus caps template check in pad linking, pad caps
21996         are important when linking not the template, which is more
21997         general than the current caps.
21998
21999 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22000
22001         * gst/autoplug/.cvsignore:
22002         * gst/autoplug/Makefile.am:
22003         * gst/autoplug/gstsearchfuncs.c:
22004         * gst/autoplug/gstsearchfuncs.h:
22005         * gst/autoplug/gstspider.c:
22006         * gst/autoplug/gstspider.h:
22007         * gst/autoplug/gstspideridentity.c:
22008         * gst/autoplug/gstspideridentity.h:
22009         * gst/autoplug/spidertest.c:
22010           Die, spider, die.
22011
22012 2005-04-25  Wim Taymans  <wim@fluendo.com>
22013
22014         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
22015         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
22016         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
22017         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
22018         * gst/gstpad.h:
22019         Added stubs for unimplemented functions. 
22020
22021 2005-04-24  David Schleef  <ds@schleef.org>
22022
22023         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
22024         please fix.
22025
22026 2005-04-24  David Schleef  <ds@schleef.org>
22027
22028         Convert everything from GstAtomicInt to g_atomic_int_*, and
22029         remove gstatomic.
22030         * gst/Makefile.am:
22031         * gst/gstatomic.c:
22032         * gst/gstatomic.h:
22033         * gst/gstatomic_impl.h:
22034         * gst/gstbuffer.c:
22035         * gst/gstcaps.c:
22036         * gst/gstcaps.h:
22037         * gst/gstclock.c:
22038         * gst/gstclock.h:
22039         * gst/gstdata.c:
22040         * gst/gstdata.h:
22041         * gst/gstdata_private.h:
22042         * gst/gstevent.c:
22043         * gst/gstinfo.c:
22044         * gst/gstinfo.h:
22045         * gst/gstmessage.c:
22046         * gst/gstobject.c:
22047         * gst/gstobject.h:
22048         * gst/gststructure.c:
22049         * gst/gststructure.h:
22050         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
22051         * gst/gstutils.h:
22052
22053 2005-04-24  David Schleef  <ds@schleef.org>
22054
22055         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
22056         make the regressions tests work.  Remove some code that is no
22057         longer true.
22058         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
22059         Disable warning for pads without templates.
22060
22061 2005-04-24  David Schleef  <ds@schleef.org>
22062
22063         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
22064         functions that handle filtered links.
22065         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
22066         removed functions.
22067         * gst/gstutils.c: Fix/remove utility functions that handle
22068         filtered caps.
22069         * gst/gstutils.h:
22070         * gst/gstvalue.c: Add serialization/deserialization of caps
22071         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
22072         requires fixing so that the filter caps notation creates
22073         a capsfilter element and sets the filter_caps property.  I
22074         think everyone probably wants to keep the shorthand notation.
22075         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
22076         * docs/gst/tmpl/gstpad.sgml:
22077
22078         * gst/elements/gstelements.c: Register capsfilter element.
22079         * gst/Makefile.am: fix spacing
22080         * docs/random/ds/0.9-suggested-changes: random
22081
22082 2005-04-23  David Schleef  <ds@schleef.org>
22083
22084         * gst/elements/Makefile.am:
22085         * gst/elements/gstcapsfilter.c: New element that acts like an
22086         identity, but filters caps.  Will eventually replace filtered
22087         caps in pad linking.
22088         * gst/gstutils.c: (gst_element_create_all_pads): New function
22089         to create all the ALWAYS pads that are registered with an
22090         element class.  This functionality should eventually be
22091         merged in with GstElement initialization.
22092         * gst/gstutils.h:
22093         * testsuite/trigger/README: part of trigger test code that should
22094         have been checked in a long time ago.
22095
22096 2005-04-23  David Schleef  <ds@schleef.org>
22097
22098         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
22099         needed with new versions of libtool (nobody will confirm this),
22100         and hard to carry around.
22101         * gst/autoplug/Makefile.am:
22102         * gst/base/Makefile.am:
22103         * gst/elements/Makefile.am:
22104         * gst/indexers/Makefile.am:
22105         * gst/schedulers/Makefile.am:
22106         * libs/gst/bytestream/Makefile.am:
22107         * libs/gst/control/Makefile.am:
22108         * libs/gst/dataprotocol/Makefile.am:
22109         * libs/gst/getbits/Makefile.am:
22110
22111 2005-04-21  Wim Taymans  <wim@fluendo.com>
22112
22113         * docs/design/draft-push-pull.txt:
22114         * docs/design/part-MT-refcounting.txt:
22115         * docs/design/part-TODO.txt:
22116         * docs/design/part-caps.txt:
22117         * docs/design/part-events.txt:
22118         * docs/design/part-gstbus.txt:
22119         * docs/design/part-gstpipeline.txt:
22120         * docs/design/part-messages.txt:
22121         * docs/design/part-push-pull.txt:
22122         * docs/design/part-query.txt:
22123         Some more docs.
22124
22125 2005-04-21  Wim Taymans  <wim@fluendo.com>
22126
22127         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
22128         (gst_message_new), (gst_message_new_error),
22129         (gst_message_new_warning), (gst_message_new_tag),
22130         (gst_message_new_state_changed), (gst_message_new_application),
22131         (gst_message_get_structure):
22132         * gst/gstmessage.h:
22133         * gst/gststructure.c: (gst_structure_set_parent_refcount),
22134         (gst_structure_copy_conditional):
22135         Use parent refcount in GstMessage to ensure GstStructure
22136         consistency.
22137         Cleaned up headers a bit.
22138         
22139
22140 2005-04-20  Wim Taymans  <wim@fluendo.com>
22141
22142         * gst/base/gstbasesink.c: (gst_basesink_base_init),
22143         (gst_basesink_pad_getcaps), (gst_basesink_init),
22144         (gst_basesink_chain_unlocked):
22145         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
22146         (gst_type_find_helper):
22147         * gst/elements/gsttypefindelement.c:
22148         (gst_type_find_element_have_type), (gst_type_find_element_init),
22149         (stop_typefinding), (gst_type_find_element_handle_event),
22150         (find_suggest), (gst_type_find_element_chain),
22151         (gst_type_find_element_checkgetrange),
22152         (gst_type_find_element_getrange), (do_typefind),
22153         (gst_type_find_element_activate):
22154         * gst/gstbuffer.c: (_gst_buffer_sub_free),
22155         (gst_buffer_default_free), (gst_buffer_default_copy),
22156         (gst_buffer_set_caps):
22157         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
22158         (gst_caps_replace):
22159         * gst/gstmessage.c: (gst_message_new),
22160         (gst_message_new_state_changed):
22161         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
22162         (gst_pad_set_checkgetrange_function),
22163         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
22164         (gst_pad_set_caps), (gst_pad_check_pull_range),
22165         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
22166         * gst/gstpad.h:
22167         * gst/gsttypefind.c: (gst_type_find_register):
22168         Make gst_caps_replace() work like other _replace() functions.
22169         Use _caps_replace() where possible.
22170         Make sure _message_new() initialises its field.
22171         Add gst_static_pad_template_get_caps()
22172
22173
22174 2005-04-18  Andy Wingo  <wingo@pobox.com>
22175
22176         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
22177         on the peer, not the pad. I think that was a typo. Pass an extra
22178         arg to see if random access is possible. Activate the pads as
22179         PULL_RANGE if possible.
22180
22181         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
22182
22183         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
22184         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
22185         to PROP_....
22186
22187 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22188
22189         * docs/faq/using.xml:
22190           Add note on gstreamer-properties (#154996).
22191
22192 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22193
22194         * docs/random/bbb/optional-properties:
22195           Some analysis on optional properties.
22196
22197 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22198
22199         * docs/gst/tmpl/gstelementfactory.sgml:
22200         * gst/gstelement.h:
22201         * gst/gstelementfactory.c: (gst_element_factory_init),
22202         (gst_element_factory_cleanup), (gst_element_register),
22203         (__gst_element_factory_add_static_pad_template),
22204         (gst_element_factory_get_static_pad_templates),
22205         (gst_element_factory_can_src_caps),
22206         (gst_element_factory_can_sink_caps):
22207         * gst/registries/Makefile.am:
22208         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
22209         (gst_xml_registry_class_init), (gst_xml_registry_init),
22210         (gst_xml_registry_new), (gst_xml_registry_set_property),
22211         (gst_xml_registry_get_property), (get_time), (make_dir),
22212         (gst_xml_registry_get_perms_func),
22213         (plugin_times_older_than_recurse), (plugin_times_older_than),
22214         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
22215         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
22216         (add_to_char_array), (read_string), (read_uint), (read_enum),
22217         (load_pad_template), (load_feature), (load_plugin), (load_paths),
22218         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
22219         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
22220         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
22221         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
22222         (gst_xml_registry_rebuild):
22223         * gst/registries/gstlibxmlregistry.h:
22224         * tools/gst-compprep.c: (main):
22225         * tools/gst-inspect.c: (print_pad_templates_info):
22226         * tools/gst-xmlinspect.c: (print_element_info):
22227           Use libxml2 for registry parsing, use staticpadtemplates in
22228           elementfactories. Makes gst_init() +/- 10x faster.
22229
22230 2005-04-12  Wim Taymans  <wim@fluendo.com>
22231
22232         * gst/base/Makefile.am:
22233         * gst/base/gstbasesink.c: (gst_basesink_base_init),
22234         (gst_basesink_pad_getcaps), (gst_basesink_init),
22235         (gst_basesink_event), (gst_basesink_change_state):
22236         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
22237         (gst_basesrc_init), (gst_basesrc_query),
22238         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
22239         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
22240         (gst_basesrc_check_get_range), (gst_basesrc_loop),
22241         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
22242         (gst_basesrc_stop), (gst_basesrc_activate),
22243         (gst_basesrc_change_state):
22244         * gst/base/gsttypefindhelper.c: (helper_find_peek),
22245         (helper_find_suggest), (gst_type_find_helper):
22246         * gst/base/gsttypefindhelper.h:
22247         * gst/elements/Makefile.am:
22248         * gst/elements/gstelements.c:
22249         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
22250         (gst_fakesink_get_times), (gst_fakesink_event),
22251         (gst_fakesink_preroll), (gst_fakesink_render):
22252         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
22253         (gst_fakesrc_init), (gst_fakesrc_event_handler),
22254         (gst_fakesrc_get_property), (gst_fakesrc_create),
22255         (gst_fakesrc_start), (gst_fakesrc_stop):
22256         * gst/elements/gstfakesrc.h:
22257         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
22258         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
22259         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
22260         (gst_filesrc_create_read), (gst_filesrc_create),
22261         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
22262         (gst_filesrc_start):
22263         * gst/elements/gsttypefindelement.c:
22264         (gst_type_find_element_have_type), (gst_type_find_element_init),
22265         (start_typefinding), (stop_typefinding), (push_buffer_store),
22266         (gst_type_find_element_handle_event),
22267         (gst_type_find_element_chain),
22268         (gst_type_find_element_checkgetrange),
22269         (gst_type_find_element_getrange), (do_typefind),
22270         (gst_type_find_element_activate),
22271         (gst_type_find_element_change_state):
22272         * gst/elements/gsttypefindelement.h:
22273         * gst/gstpipeline.c: (pipeline_bus_handler):
22274         Added typefind helper.
22275         Small preroll fix in the base sink.
22276         Disable typefind code in basesrc.
22277         Crude port of typefindelement.
22278         Fakesrc cleanups.
22279
22280
22281 2005-04-11  Wim Taymans  <wim@fluendo.com>
22282
22283         * check/gst/gstbus.c: (gstbus_suite):
22284         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
22285         * check/gstcheck.h:
22286           Fix up the timeout so that the test does not fail.
22287
22288 2005-04-06  Wim Taymans  <wim@fluendo.com>
22289
22290         * gst/base/README:
22291         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
22292         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
22293         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
22294         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
22295         (gst_basesrc_check_get_range), (gst_basesrc_loop),
22296         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
22297         (gst_basesrc_stop), (gst_basesrc_activate),
22298         (gst_basesrc_change_state), (basesrc_find_peek),
22299         (basesrc_find_suggest), (gst_basesrc_type_find):
22300         * gst/base/gstbasesrc.h:
22301         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
22302         (gst_filesrc_class_init), (gst_filesrc_init),
22303         (gst_filesrc_finalize), (gst_filesrc_set_location),
22304         (gst_filesrc_set_property), (gst_filesrc_get_property),
22305         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
22306         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
22307         (gst_filesrc_create_read), (gst_filesrc_create),
22308         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
22309         * gst/elements/gstfilesrc.h:
22310         * gst/gstelement.c: (gst_element_get_state_func),
22311         (gst_element_lost_state), (gst_element_pads_activate):
22312         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
22313         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
22314         (gst_pad_pull_range):
22315         * gst/gstpad.h:
22316         More work on the generic source base class, implement seeking,
22317         query.
22318         Make filesrc extend the base source class.
22319         Added gst_pad_set_checkgetrange_function to GstPad.
22320
22321 2005-04-06  Andy Wingo  <wingo@pobox.com>
22322
22323         * pkgconfig/gstreamer-base.pc.in:
22324         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
22325
22326         * pkgconfig/Makefile.am:
22327         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
22328
22329 2005-04-04  Wim Taymans  <wim@fluendo.com>
22330
22331         * gst/base/Makefile.am:
22332         * gst/base/README:
22333         * gst/base/gstbasesink.c: (gst_basesink_base_init),
22334         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
22335         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
22336         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
22337         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
22338         (gst_basesrc_base_init), (gst_basesrc_class_init),
22339         (gst_basesrc_init), (gst_basesrc_get_formats),
22340         (gst_basesrc_get_query_types), (gst_basesrc_query),
22341         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
22342         (gst_basesrc_set_property), (gst_basesrc_get_property),
22343         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
22344         (gst_basesrc_loop), (gst_basesrc_activate),
22345         (gst_basesrc_change_state):
22346         * gst/base/gstbasesrc.h:
22347         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
22348         (gst_fakesrc_class_init), (gst_fakesrc_init),
22349         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
22350         (gst_fakesrc_get_property), (gst_fakesrc_create):
22351         * gst/elements/gstfakesrc.h:
22352         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
22353         (gst_filesrc_open_file), (gst_filesrc_loop),
22354         (gst_filesrc_activate), (filesrc_find_peek),
22355         (gst_filesrc_type_find):
22356         Made base source class, make fakesrc extend it.
22357         Add comments to basesink class.
22358         Some filesrc cleanup.
22359
22360 2005-03-31  David Schleef  <ds@schleef.org>
22361
22362         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
22363         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
22364         expected to link against libgstreamer.
22365         * gst/base/Makefile.am: link against libgstreamer
22366         * gst/elements/Makefile.am: same
22367
22368 2005-03-31  Andy Wingo  <wingo@pobox.com>
22369
22370         * tests/instantiate/Makefile.am:
22371         * tests/instantiate/caps.c: Add test to test speed of caps copy
22372         and free.
22373
22374         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
22375         GMemChunk to be fair.
22376
22377         * gst/gsttrashstack.h: Remove warning about using the fallback
22378         trash stack implementation, it's still faster than malloc.
22379
22380 2005-03-30  Andy Wingo  <wingo@pobox.com>
22381
22382         * tests/complexity.c: Add a copyright.
22383
22384 2005-03-31  Wim Taymans  <wim@fluendo.com>
22385
22386         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
22387         (gst_base_transform_class_init), (gst_base_transform_init),
22388         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
22389         (gst_base_transform_get_property),
22390         (gst_base_transform_sink_activate),
22391         (gst_base_transform_src_activate),
22392         (gst_base_transform_change_state):
22393         * gst/base/gstbasetransform.h:
22394         * gst/elements/gstidentity.c: (gst_identity_class_init),
22395         (gst_identity_event), (gst_identity_check_perfect),
22396         (gst_identity_transform), (gst_identity_start),
22397         (gst_identity_stop):
22398         Added start/stop methods to transform base class so subclasses 
22399         don't need to deal with state changes even.
22400
22401 2005-03-31  Wim Taymans  <wim@fluendo.com>
22402
22403         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
22404         (gst_event_new_discontinuous), (gst_event_discont_get_value):
22405         * gst/gstevent.h:
22406         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
22407         (gst_pad_pull_range):
22408         Added rate to the discont event to prepare for variable speed
22409         and reverse playback.
22410
22411 2005-03-29  David Schleef  <ds@schleef.org>
22412
22413         * configure.ac:
22414         * testsuite/trigger/Makefile.am:
22415         * testsuite/trigger/trigger.c: A little example program to show
22416         how trigger-based elements can work.
22417
22418 2005-03-29  Wim Taymans  <wim@fluendo.com>
22419
22420         * gst/base/Makefile.am:
22421         * gst/base/README:
22422         * gst/base/gstbasesink.c: (gst_basesink_get_type),
22423         (gst_basesink_base_init), (gst_basesink_class_init),
22424         (gst_basesink_pad_getcaps), (gst_basesink_init),
22425         (gst_basesink_activate), (gst_basesink_change_state):
22426         * gst/base/gstbasesink.h:
22427         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
22428         (gst_base_transform_base_init), (gst_base_transform_finalize),
22429         (gst_base_transform_class_init), (gst_base_transform_init),
22430         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
22431         (gst_base_transform_event), (gst_base_transform_getrange),
22432         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
22433         (gst_base_transform_set_property),
22434         (gst_base_transform_get_property),
22435         (gst_base_transform_sink_activate),
22436         (gst_base_transform_src_activate),
22437         (gst_base_transform_change_state):
22438         * gst/base/gstbasetransform.h:
22439         * gst/elements/gstidentity.c: (gst_identity_finalize),
22440         (gst_identity_class_init), (gst_identity_init),
22441         (gst_identity_event), (gst_identity_check_perfect),
22442         (gst_identity_transform), (gst_identity_set_property),
22443         (gst_identity_get_property), (gst_identity_change_state):
22444         * gst/elements/gstidentity.h:
22445         * gst/gstelement.c: (gst_element_get_state_func),
22446         (gst_element_lost_state), (gst_element_pads_activate):
22447         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
22448         (gst_pad_check_pull_range), (gst_pad_pull_range):
22449         * gst/gstpad.h:
22450         Simplify pad activation.
22451         Added function to check if pull_range can be performed.
22452         Error out when pulling inactive or flushing pads.
22453         Removed const from refcounted types as it does not make sense.
22454         Simplify pad templates in basesink
22455         Added base class for simple 1-to-1 transforms.
22456         Make identity subclass the base transform.
22457
22458 2005-03-29  Andy Wingo  <wingo@pobox.com>
22459
22460         * docs/libs/gstreamer-libs-overrides.txt: 
22461         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
22462         really don't understand what's going on, but like whatever. I want
22463         green buildbot!
22464
22465         * docs/gst/Makefile.am:
22466         * docs/libs/Makefile.am: Dist the overrides files.
22467
22468         * check/Makefile.am (clean-local): Remove .libs directories.
22469
22470         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
22471         elements to EXTRA_DIST, so po/ files are happy.
22472
22473         * po/POTFILES.in: Er, remove it here.
22474
22475         * po/POTFILES: Remove gstspider.c.
22476
22477         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
22478
22479         * docs/libs/gstreamer-libs-docs.sgml: 
22480         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
22481         bytestream.
22482
22483         * tests/complexity.c (main): Set the length of the preroll queue
22484         on the sinks to prevent a lockup.
22485
22486         * libs/gst/dataprotocol/Makefile.am: 
22487         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
22488         the same as the one in check/gst-libs/gdp.c.
22489
22490         * po/, docs/gst/: Commit automatic changes to docs and po files.
22491
22492         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
22493         the versioned libgstbase.
22494
22495         * check/Makefile.am: Depend on an unversioned gst-register, seems
22496         to make autoconf happier.
22497
22498         * gst/base/Makefile.am: Make libgstbase a versioned lib.
22499
22500 2005-03-28  Wim Taymans  <wim@fluendo.com>
22501
22502         * configure.ac:
22503         * docs/design/part-gstelement.txt:
22504         * docs/design/part-negotiation.txt:
22505         * docs/design/part-preroll.txt:
22506         * docs/design/part-scheduling.txt:
22507         * docs/design/part-states.txt:
22508         * gst/Makefile.am:
22509         * gst/base/Makefile.am:
22510         * gst/base/README:
22511         * gst/base/gstbasesink.c: (gst_basesink_get_template),
22512         (gst_basesink_base_init), (gst_basesink_class_init),
22513         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
22514         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
22515         (gst_basesink_set_pad_functions),
22516         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
22517         (gst_basesink_set_property), (gst_basesink_get_property),
22518         (gst_base_sink_get_template), (gst_base_sink_get_caps),
22519         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
22520         (gst_basesink_preroll_queue_push),
22521         (gst_basesink_preroll_queue_empty),
22522         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
22523         (gst_basesink_event), (gst_basesink_get_times),
22524         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
22525         (gst_basesink_chain_unlocked), (gst_basesink_chain),
22526         (gst_basesink_loop), (gst_basesink_activate),
22527         (gst_basesink_change_state):
22528         * gst/base/gstbasesink.h:
22529         * gst/elements/Makefile.am:
22530         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
22531         (gst_fakesink_class_init), (gst_fakesink_init),
22532         (gst_fakesink_set_property), (gst_fakesink_get_property),
22533         (gst_fakesink_get_times), (gst_fakesink_event),
22534         (gst_fakesink_preroll), (gst_fakesink_render),
22535         (gst_fakesink_change_state):
22536         * gst/elements/gstfakesink.h:
22537         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
22538         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
22539         * gst/gstelement.c: (gst_element_add_pad),
22540         (gst_element_get_state_func), (gst_element_abort_state),
22541         (gst_element_commit_state), (gst_element_lost_state),
22542         (gst_element_set_state), (gst_element_pads_activate):
22543         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
22544         * gst/gstpipeline.c: (gst_pipeline_send_event),
22545         (gst_pipeline_change_state):
22546         Added state change code.
22547         Added/updated docs.
22548         Added sink base class, make fakesink extend the base class.
22549         Small cleanups in GstPipeline.
22550
22551 2005-03-26  David Schleef  <ds@schleef.org>
22552
22553         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
22554         is broken and should be implemented in a different library.
22555         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
22556         * gst/gst.h: remove gstcpu.h
22557         * gst/gstcpu.c: remove
22558         * gst/gstcpu.h: remove
22559         * gst/Makefile.am.future: Remove this file.  It's ancient.
22560
22561 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22562
22563         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
22564         (gst_bin_send_event):
22565           Add default event/set_manager handlers. The set_manager handler
22566           takes care that the manager is distributed over kids that were
22567           already in the bin before the manager was set. The event handler
22568           is a utility virtual function that sends the event over all sinks,
22569           so that gst_element_send_event (bin, event); has the expected
22570           behaviour.
22571         * gst/gstpad.c: (gst_pad_event_default):
22572           Re-install default event handling for discontinuities, so that
22573           seeking works without requiring hacks in applications or extra
22574           code in sinks.
22575         * gst/gstpipeline.c: (gst_pipeline_class_init),
22576         (gst_pipeline_send_event):
22577           Half hack, half utility: set a pipeline to PAUSED for seek events,
22578           since that is the only way we can guarantee a/v sync. Means that
22579           you can do gst_element_seek (pipeline, method, pos); on a pipeline
22580           and it "just works".
22581
22582 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22583
22584         * gst/gstpipeline.c: (gst_pipeline_use_clock):
22585           Lock/unlock mismatch.
22586
22587 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
22588
22589         * docs/faq/gst-uninstalled:
22590           add gst-plugins-base
22591         * docs/gst/Makefile.am:
22592           don't error out until docs are fixed
22593         * docs/gst/gstreamer.types:
22594           remove thread
22595
22596 2005-03-22  Wim Taymans  <wim@fluendo.com>
22597
22598         * check/Makefile.am:
22599         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
22600         * gst/gststructure.c: (gst_structure_set_valist),
22601         (gst_structure_copy_conditional):
22602         Activated more tests.
22603         Added message test.
22604         Added G_TYPE_POINTER to GstStructure.
22605         
22606
22607 2005-03-22  Wim Taymans  <wim@fluendo.com>
22608
22609         * docs/design/part-TODO.txt:
22610         * docs/design/part-events.txt:
22611         * docs/design/part-gstbin.txt:
22612         * docs/design/part-gstbus.txt:
22613         * docs/design/part-gstpipeline.txt:
22614         * docs/design/part-messages.txt:
22615         * gst/gstbus.c:
22616         * gst/gstmessage.c:
22617         Docs updates
22618
22619 2005-03-21  Wim Taymans  <wim@fluendo.com>
22620
22621         * gst/gstbus.c: (gst_bus_post):
22622         Fix copy-and-paste error.
22623
22624 2005-03-21  Wim Taymans  <wim@fluendo.com>
22625
22626         * check/Makefile.am:
22627         * gst/Makefile.am:
22628         * gst/elements/Makefile.am:
22629         * gst/elements/gstelements.c:
22630         * gst/elements/gstfakesink.c: (gst_fakesink_init),
22631         (gst_fakesink_event), (gst_fakesink_chain):
22632         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
22633         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
22634         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
22635         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
22636         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
22637         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
22638         (gst_fakesrc_loop), (gst_fakesrc_activate),
22639         (gst_fakesrc_change_state):
22640         * gst/elements/gstfakesrc.h:
22641         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
22642         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
22643         (gst_filesrc_open_file), (gst_filesrc_loop),
22644         (gst_filesrc_activate), (gst_filesrc_change_state),
22645         (filesrc_find_peek), (filesrc_find_suggest),
22646         (gst_filesrc_type_find):
22647         * gst/elements/gstidentity.c: (gst_identity_finalize),
22648         (gst_identity_class_init), (gst_identity_init),
22649         (gst_identity_proxy_getcaps), (identity_queue_push),
22650         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
22651         (gst_identity_getrange), (gst_identity_chain),
22652         (gst_identity_sink_loop), (gst_identity_src_loop),
22653         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
22654         (gst_identity_set_property), (gst_identity_get_property),
22655         (gst_identity_change_state):
22656         * gst/elements/gstidentity.h:
22657         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
22658         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
22659         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
22660         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
22661         (gst_tee_sink_activate):
22662         * gst/elements/gsttee.h:
22663         * gst/gst.c: (gst_register_core_elements), (init_post):
22664         * gst/gst.h:
22665         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
22666         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
22667         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
22668         (gst_bin_change_state):
22669         * gst/gstbin.h:
22670         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
22671         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
22672         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
22673         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
22674         (gst_bus_set_sync_handler), (gst_bus_create_watch),
22675         (bus_watch_callback), (bus_watch_destroy),
22676         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
22677         (poll_timeout), (gst_bus_poll):
22678         * gst/gstbus.h:
22679         * gst/gstcaps.h:
22680         * gst/gstdata.h:
22681         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
22682         (gst_element_post_message), (gst_element_message_full),
22683         (gst_element_get_state_func), (gst_element_get_state),
22684         (gst_element_abort_state), (gst_element_commit_state),
22685         (gst_element_lost_state), (gst_element_set_state),
22686         (gst_element_pads_activate), (gst_element_change_state),
22687         (gst_element_dispose), (gst_element_set_manager_func),
22688         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
22689         (gst_element_set_manager), (gst_element_get_manager),
22690         (gst_element_set_bus), (gst_element_get_bus),
22691         (gst_element_set_scheduler), (gst_element_get_scheduler):
22692         * gst/gstelement.h:
22693         * gst/gstevent.c: (gst_event_new_segment_seek),
22694         (gst_event_new_flush):
22695         * gst/gstevent.h:
22696         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
22697         (_gst_message_free), (gst_message_get_type), (gst_message_new),
22698         (gst_message_new_eos), (gst_message_new_error),
22699         (gst_message_new_warning), (gst_message_new_tag),
22700         (gst_message_new_state_changed), (gst_message_new_application),
22701         (gst_message_get_structure), (gst_message_parse_tag),
22702         (gst_message_parse_state_changed), (gst_message_parse_error),
22703         (gst_message_parse_warning):
22704         * gst/gstmessage.h:
22705         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
22706         (gst_real_pad_set_property), (gst_pad_set_active),
22707         (gst_pad_is_active), (gst_pad_set_blocked_async),
22708         (gst_pad_set_blocked), (gst_pad_is_blocked),
22709         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
22710         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
22711         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
22712         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
22713         (gst_pad_link_filtered), (gst_pad_relink_filtered),
22714         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
22715         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
22716         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
22717         (gst_pad_set_caps), (gst_pad_configure_sink),
22718         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
22719         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
22720         (gst_real_pad_dispose), (gst_real_pad_finalize),
22721         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
22722         (gst_pad_event_default_dispatch), (gst_pad_event_default),
22723         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
22724         * gst/gstpad.h:
22725         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
22726         (pipeline_bus_handler), (gst_pipeline_change_state),
22727         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
22728         * gst/gstpipeline.h:
22729         * gst/gstprobe.h:
22730         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
22731         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
22732         (gst_queue_link_src), (gst_queue_bufferalloc),
22733         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
22734         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
22735         (gst_queue_loop), (gst_queue_handle_src_event),
22736         (gst_queue_handle_src_query), (gst_queue_src_activate),
22737         (gst_queue_change_state):
22738         * gst/gstqueue.h:
22739         * gst/gstscheduler.c: (gst_scheduler_init),
22740         (gst_scheduler_dispose), (gst_scheduler_create_task),
22741         (gst_scheduler_factory_create):
22742         * gst/gstscheduler.h:
22743         * gst/gststructure.c: (gst_structure_get_type),
22744         (gst_structure_copy_conditional):
22745         * gst/gststructure.h:
22746         * gst/gsttaginterface.h:
22747         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
22748         (gst_task_init), (gst_task_dispose), (gst_task_create),
22749         (gst_task_get_state), (gst_task_start), (gst_task_stop),
22750         (gst_task_pause):
22751         * gst/gsttask.h:
22752         * gst/gstthread.c:
22753         * gst/gstthread.h:
22754         * gst/gsttypes.h:
22755         * gst/schedulers/Makefile.am:
22756         * gst/schedulers/cothreads_compat.h:
22757         * gst/schedulers/entryscheduler.c:
22758         * gst/schedulers/faircothreads.c:
22759         * gst/schedulers/faircothreads.h:
22760         * gst/schedulers/fairscheduler.c:
22761         * gst/schedulers/gstbasicscheduler.c:
22762         * gst/schedulers/gstoptimalscheduler.c:
22763         * gst/schedulers/gthread-cothreads.h:
22764         * gst/schedulers/threadscheduler.c:
22765         (gst_thread_scheduler_task_get_type),
22766         (gst_thread_scheduler_task_class_init),
22767         (gst_thread_scheduler_task_init),
22768         (gst_thread_scheduler_task_start),
22769         (gst_thread_scheduler_task_stop),
22770         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
22771         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
22772         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
22773         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
22774         (plugin_init):
22775         * libs/gst/Makefile.am:
22776         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
22777         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
22778         (gst_file_pad_parent_set):
22779         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
22780         (gst_dp_event_from_packet):
22781         * tests/complexity.c: (main):
22782         * tests/mass_elements.c: (main):
22783         * testsuite/states/locked.c: (message_received), (main):
22784         * testsuite/states/parent.c: (main):
22785         * tools/gst-inspect.c: (print_element_flag_info),
22786         (print_implementation_info), (print_pad_info):
22787         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
22788         (main):
22789         * tools/gst-md5sum.c: (event_loop), (main):
22790         * tools/gst-typefind.c: (main):
22791         * tools/gst-xmlinspect.c: (print_element_info):
22792         Next big merge.
22793         Added GstBus for mainloop integration.
22794         Added GstMessage for sending notifications on the bus.
22795         Added GstTask as an abstraction for pipeline entry points.
22796         Removed GstThread.
22797         Removed Schedulers.
22798         Simplified GstQueue for multithreaded core.
22799         Made _link threadsafe, removed old capsnego.
22800         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
22801         Added pad blocking functions.
22802         Reworked scheduling functions in GstPad to prepare for
22803         scheduling updates soon.
22804         Moved events out of data stream.
22805         Simplified GstEvent types.
22806         Added return values to push/pull.
22807         Removed clocking from GstElement.
22808         Added prototypes for state change function for next merge.
22809         Removed iterate from bins and state change management.
22810         Fixed some elements, disabled others for now.
22811         Fixed -inspect and -launch.
22812         Added check for GstBus.
22813
22814 2005-03-10  Wim Taymans  <wim@fluendo.com>
22815
22816         * docs/design/part-MT-refcounting.txt:
22817         * docs/design/part-clocks.txt:
22818         * docs/design/part-gstelement.txt:
22819         * docs/design/part-gstobject.txt:
22820         * docs/design/part-standards.txt:
22821         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
22822         (gst_bin_remove_func), (gst_bin_remove):
22823         * gst/gstbin.h:
22824         * gst/gstbuffer.c:
22825         * gst/gstcaps.h:
22826         * testsuite/clock/clock1.c: (main):
22827         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
22828         (main):
22829         * testsuite/dlopen/loadgst.c: (do_test):
22830         * testsuite/refcounting/bin.c: (add_remove_test1),
22831         (add_remove_test2), (main):
22832         * testsuite/refcounting/element.c: (main):
22833         * testsuite/refcounting/element_pad.c: (main):
22834         * testsuite/refcounting/pad.c: (main):
22835         * tools/gst-launch.c: (sigint_handler_sighandler):
22836         * tools/gst-typefind.c: (main):
22837         Doc updates.
22838         Added doc about clock.
22839         removed gst_bin_iterate_recurse_up(), marked methods
22840         for removal.
22841         Fix more testsuites.
22842
22843 2005-03-09  Wim Taymans  <wim@fluendo.com>
22844
22845         * gst/gstpad.c: (gst_pad_get_direction),
22846         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
22847         (gst_pad_collect_valist):
22848         * testsuite/bins/interface.c: (main):
22849         * testsuite/caps/audioscale.c: (test_caps):
22850         * testsuite/caps/caps.c: (test1), (test2), (test3):
22851         * testsuite/caps/deserialize.c: (main):
22852         * testsuite/caps/enumcaps.c: (main):
22853         * testsuite/caps/filtercaps.c: (main):
22854         * testsuite/caps/intersect2.c: (main):
22855         * testsuite/caps/random.c: (main):
22856         * testsuite/caps/renegotiate.c: (my_fixate), (main):
22857         * testsuite/caps/sets.c: (check_caps):
22858         * testsuite/caps/simplify.c: (check_caps), (main):
22859         * testsuite/caps/subtract.c: (check_caps):
22860         Fix _pad_get_direction wrt ghostpads.
22861         Fix caps testsuite.
22862
22863 2005-03-09  Wim Taymans  <wim@fluendo.com>
22864
22865         * check/Makefile.am:
22866         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
22867         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
22868         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
22869         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
22870         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
22871         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
22872         (gst_bin_remove), (gst_bin_iterate_recurse_up),
22873         (bin_element_is_sink), (gst_bin_iterate_sinks),
22874         (gst_bin_iterate_all_by_interface):
22875         * gst/gstbin.h:
22876         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
22877         (gst_element_change_state), (gst_element_dispose),
22878         (gst_element_finalize), (gst_element_set_loop_function):
22879         * gst/gstelement.h:
22880         * gst/gstiterator.c: (find_custom_fold_func):
22881         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
22882         (gst_pad_collectv), (gst_pad_collect_valist),
22883         (gst_pad_template_new):
22884         * gst/gstpipeline.c: (gst_pipeline_class_init),
22885         (gst_pipeline_dispose), (gst_pipeline_set_property),
22886         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
22887         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
22888         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
22889         * gst/gstutils.h:
22890         * gst/schedulers/entryscheduler.c:
22891         * gst/schedulers/gstbasicscheduler.c:
22892         (gst_basic_scheduler_cothreaded_chain),
22893         (gst_basic_scheduler_chain_add_element):
22894         * testsuite/bins/interface.c: (main):
22895         Added GstBin test.
22896         Added GstSystemClock test.
22897         Implemented clock distribution code in GstBin.
22898         Implemented iterate sinks method for future use.
22899         Rearranged gstelement.h
22900         Fix GstIterator comparison bug.
22901         Moved some code to GstPipeline, mostly clocking related.
22902
22903 2005-03-09  Wim Taymans  <wim@fluendo.com>
22904
22905         * configure.ac:
22906         * gst/gst_private.h:
22907         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
22908         (gst_bin_remove_func), (gst_bin_remove),
22909         (gst_bin_get_by_name_recurse_up):
22910         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
22911         (gst_clock_id_compare_func), (gst_clock_id_wait),
22912         (gst_clock_id_wait_async), (gst_clock_init),
22913         (gst_clock_adjust_unlocked), (gst_clock_get_time):
22914         * gst/gstelement.h:
22915         * gst/gstinfo.c: (_gst_debug_init):
22916         * gst/gstobject.h:
22917         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
22918         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
22919         * gst/gstpad.h:
22920         Bump version number, we're now 0.9.0
22921         Add future debugging category.
22922         Fix NULL _unref() in _get_by_name_recurse_up
22923         Rearrange gstpad.h.
22924         Update some docs.
22925
22926 2005-03-08  Wim Taymans  <wim@fluendo.com>
22927
22928         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
22929         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
22930         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
22931         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
22932         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
22933         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
22934         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
22935         * gst/elements/gstidentity.c: (gst_identity_class_init):
22936         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
22937         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
22938         * gst/elements/gstshaper.c: (gst_shaper_class_init):
22939         * gst/elements/gststatistics.c: (gst_statistics_class_init):
22940         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
22941         (gst_tee_link):
22942         * gst/gstelement.c: (gst_element_class_init),
22943         (gst_element_base_class_init), (gst_element_init),
22944         (gst_element_get_random_pad), (gst_element_wait_state_change),
22945         (gst_element_change_state), (gst_element_dispose),
22946         (gst_element_finalize), (gst_element_set_loop_function):
22947         * gst/gstelement.h:
22948         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
22949         * gst/gstthread.c: (gst_thread_class_init),
22950         (gst_thread_release_children_locks), (gst_thread_change_state):
22951         * gst/schedulers/gstbasicscheduler.c:
22952         (gst_basic_scheduler_loopfunc_wrapper),
22953         (gst_basic_scheduler_chain_wrapper),
22954         (gst_basic_scheduler_src_wrapper),
22955         (gst_basic_scheduler_remove_element):
22956         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
22957         Remove threadsafe properties. Fix elements because GObject
22958         complains when installing a property before declaring a
22959         set/get_property handler.
22960         Rearrange gstelement.h file, use STATE macros for state locks.
22961         Free mutexes in the finalize method instead of dispose.
22962
22963 2005-03-08  Wim Taymans  <wim@fluendo.com>
22964
22965         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
22966         * gst/gstthread.c: (gst_thread_release_children_locks):
22967         Added parentage check.
22968         Fix build og GstThread again.
22969
22970 2005-03-08  Wim Taymans  <wim@fluendo.com>
22971
22972         * docs/design/part-MT-refcounting.txt:
22973         * docs/design/part-conventions.txt:
22974         * docs/design/part-gstobject.txt:
22975         * docs/design/part-relations.txt:
22976         * docs/design/part-standards.txt:
22977         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
22978         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
22979         (gst_bin_get_by_name), (gst_bin_get_by_interface),
22980         (gst_bin_iterate_all_by_interface):
22981         * gst/gstbuffer.h:
22982         * gst/gstclock.h:
22983         * gst/gstelement.c: (gst_element_class_init),
22984         (gst_element_change_state), (gst_element_set_loop_function):
22985         * gst/gstelement.h:
22986         * gst/gstiterator.c:
22987         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
22988         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
22989         (gst_object_dispatch_properties_changed), (gst_object_set_name),
22990         (gst_object_set_parent), (gst_object_unparent),
22991         (gst_object_check_uniqueness):
22992         * gst/gstobject.h:
22993         Docs updates, clean up some headers.
22994
22995 2005-03-07  Wim Taymans  <wim@fluendo.com>
22996
22997         * check/.cvsignore:
22998         * check/Makefile.am:
22999         * check/gst-libs/.cvsignore:
23000         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
23001         * check/gst/.cvsignore:
23002         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
23003         (START_TEST), (gstbus_suite), (main):
23004         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
23005         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
23006         (gst_data_suite), (main):
23007         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
23008         (add_fold_func), (gstiterator_suite), (main):
23009         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
23010         (thread_name_object), (thread_name_object_default),
23011         (gst_object_name_compare), (gst_object_suite), (main):
23012         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
23013         (gst_pad_suite), (main):
23014         * check/gstcheck.c: (gst_check_log_message_func),
23015         (gst_check_log_critical_func), (gst_check_init):
23016         * check/gstcheck.h:
23017         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
23018         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
23019         Added checks.
23020
23021 2005-03-07  Wim Taymans  <wim@fluendo.com>
23022
23023         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
23024         (gst_list_iterator_next), (gst_list_iterator_resync),
23025         (gst_list_iterator_free), (gst_iterator_new_list),
23026         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
23027         (gst_iterator_free), (gst_iterator_push), (filter_next),
23028         (filter_resync), (filter_uninit), (filter_free),
23029         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
23030         (gst_iterator_foreach), (find_custom_fold_func),
23031         (gst_iterator_find_custom):
23032         * gst/gstiterator.h:
23033         Added missing files.
23034
23035 2005-03-07  Wim Taymans  <wim@fluendo.com>
23036
23037         * Makefile.am:
23038         * configure.ac:
23039         * docs/design/part-MT-refcounting.txt:
23040         * docs/design/part-conventions.txt:
23041         * docs/design/part-gstobject.txt:
23042         * docs/design/part-relations.txt:
23043         * examples/mixer/mixer.c: (main):
23044         * examples/thread/thread.c: (eos), (main):
23045         * gst/Makefile.am:
23046         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
23047         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
23048         (gst_spider_plug_from_srcpad):
23049         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
23050         (gst_spider_identity_change_state),
23051         (gst_spider_identity_sink_loop_type_finding):
23052         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
23053         * gst/elements/gstidentity.c: (gst_identity_init):
23054         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
23055         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
23056         * gst/elements/gsttypefindelement.c: (free_entry):
23057         * gst/gst.c:
23058         * gst/gst.h:
23059         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
23060         (gst_bin_set_clock_func), (gst_bin_auto_clock),
23061         (gst_bin_set_index), (gst_bin_set_element_sched),
23062         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
23063         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
23064         (gst_bin_iterate_elements), (iterate_child_recurse),
23065         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
23066         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
23067         (compare_interface), (gst_bin_get_by_interface),
23068         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
23069         * gst/gstbin.h:
23070         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
23071         (gst_buffer_default_free), (gst_buffer_default_copy),
23072         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
23073         (gst_buffer_create_sub):
23074         * gst/gstbuffer.h:
23075         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
23076         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
23077         (gst_caps_unref), (gst_static_caps_get),
23078         (gst_caps_remove_and_get_structure), (gst_caps_append),
23079         (gst_caps_append_structure), (gst_caps_remove_structure),
23080         (gst_caps_copy_nth), (gst_caps_set_simple),
23081         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
23082         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
23083         (gst_caps_structure_intersect_field), (gst_caps_intersect),
23084         (gst_caps_structure_subtract_field), (gst_caps_subtract),
23085         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
23086         (gst_caps_structure_figure_out_union),
23087         (gst_caps_switch_structures), (gst_caps_do_simplify),
23088         (gst_caps_replace), (gst_caps_from_string),
23089         (gst_caps_copy_conditional):
23090         * gst/gstcaps.h:
23091         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
23092         (_gst_clock_id_free), (gst_clock_id_unref),
23093         (gst_clock_id_compare_func), (gst_clock_id_wait),
23094         (gst_clock_id_wait_async), (gst_clock_class_init),
23095         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
23096         (gst_clock_get_time), (gst_clock_set_time_adjust),
23097         (gst_clock_set_property), (gst_clock_get_property):
23098         * gst/gstclock.h:
23099         * gst/gstcompat.h:
23100         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
23101         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
23102         * gst/gstdata.h:
23103         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
23104         (gst_element_requires_clock), (gst_element_provides_clock),
23105         (gst_element_set_clock), (gst_element_clock_wait),
23106         (gst_element_wait), (gst_element_set_time_delay),
23107         (gst_element_is_indexable), (gst_element_add_pad),
23108         (gst_element_add_ghost_pad), (gst_element_remove_pad),
23109         (pad_compare_name), (gst_element_get_static_pad),
23110         (gst_element_request_pad), (gst_element_get_request_pad),
23111         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
23112         (gst_element_class_get_pad_template_list),
23113         (gst_element_class_get_pad_template), (gst_element_error_func),
23114         (gst_element_get_random_pad), (gst_element_get_event_masks),
23115         (gst_element_send_event), (gst_element_seek),
23116         (gst_element_get_query_types), (gst_element_query),
23117         (gst_element_get_formats), (gst_element_convert),
23118         (gst_element_is_locked_state), (gst_element_set_locked_state),
23119         (gst_element_sync_state_with_parent), (gst_element_change_state),
23120         (gst_element_finalize), (gst_element_yield),
23121         (gst_element_interrupt), (gst_element_set_scheduler),
23122         (gst_element_get_scheduler), (gst_element_set_loop_function):
23123         * gst/gstelement.h:
23124         * gst/gstevent.h:
23125         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
23126         (gst_format_get_by_nick), (gst_format_get_details),
23127         (gst_format_iterate_definitions):
23128         * gst/gstformat.h:
23129         * gst/gstindex.c: (gst_index_gtype_resolver):
23130         * gst/gstinfo.c:
23131         * gst/gstinfo.h:
23132         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
23133         (gst_mem_chunk_free):
23134         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
23135         (gst_object_ref), (gst_object_unref), (gst_object_sink),
23136         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
23137         (gst_object_dispatch_properties_changed),
23138         (gst_object_set_name_default), (gst_object_set_name),
23139         (gst_object_get_name), (gst_object_set_name_prefix),
23140         (gst_object_get_name_prefix), (gst_object_set_parent),
23141         (gst_object_get_parent), (gst_object_unparent),
23142         (gst_object_check_uniqueness), (gst_object_save_thyself),
23143         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
23144         (gst_object_set_property), (gst_object_get_property),
23145         (gst_object_get_path_string):
23146         * gst/gstobject.h:
23147         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
23148         (gst_real_pad_init), (gst_real_pad_get_property),
23149         (gst_pad_custom_new), (gst_pad_get_direction),
23150         (gst_pad_set_active), (gst_pad_is_active),
23151         (gst_pad_set_event_function), (gst_pad_is_linked),
23152         (gst_pad_link_free), (gst_pad_link_intersect),
23153         (gst_pad_link_fixate), (gst_pad_set_caps),
23154         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
23155         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
23156         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
23157         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
23158         (gst_pad_get_caps), (gst_pad_peer_get_caps),
23159         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
23160         (gst_pad_realize), (gst_pad_get_allowed_caps),
23161         (gst_real_pad_dispose), (gst_real_pad_finalize),
23162         (gst_pad_collectv), (gst_pad_collect_valist),
23163         (gst_pad_template_dispose), (gst_pad_template_new),
23164         (gst_pad_get_internal_links):
23165         * gst/gstpad.h:
23166         * gst/gstpipeline.c: (gst_pipeline_dispose),
23167         (gst_pipeline_change_state):
23168         * gst/gstpipeline.h:
23169         * gst/gstplugin.c:
23170         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
23171         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
23172         * gst/gstpluginfeature.h:
23173         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
23174         * gst/gstquery.c: (_gst_query_type_initialize),
23175         (gst_query_type_register), (gst_query_type_get_by_nick),
23176         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
23177         * gst/gstquery.h:
23178         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
23179         * gst/gstscheduler.c: (gst_scheduler_add_element),
23180         (gst_scheduler_factory_create):
23181         * gst/gststructure.c: (gst_structure_set_parent_refcount),
23182         (gst_structure_free), (gst_structure_set_name),
23183         (gst_structure_id_set_value), (gst_structure_set_value),
23184         (gst_structure_set_valist), (gst_structure_remove_field),
23185         (gst_structure_remove_fields),
23186         (gst_structure_remove_fields_valist),
23187         (gst_structure_remove_all_fields), (gst_structure_foreach),
23188         (gst_structure_map_in_place),
23189         (gst_caps_structure_fixate_field_nearest_int),
23190         (gst_caps_structure_fixate_field_nearest_double):
23191         * gst/gststructure.h:
23192         * gst/gstsystemclock.c: (gst_system_clock_class_init),
23193         (gst_system_clock_init), (gst_system_clock_dispose),
23194         (gst_system_clock_async_thread),
23195         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
23196         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
23197         * gst/gstsystemclock.h:
23198         * gst/gsttag.c: (gst_tag_list_add_value_internal),
23199         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
23200         * gst/gsttaginterface.c:
23201         * gst/gstthread.c: (gst_thread_dispose),
23202         (gst_thread_release_children_locks), (gst_thread_change_state),
23203         (gst_thread_main_loop):
23204         * gst/gsttrashstack.h:
23205         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
23206         * gst/gsttypes.h:
23207         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
23208         (gst_element_request_pad), (gst_element_get_pad_from_template),
23209         (gst_element_request_compatible_pad),
23210         (gst_element_get_compatible_pad_filtered),
23211         (gst_element_get_compatible_pad), (gst_element_state_get_name),
23212         (gst_element_link_pads_filtered), (gst_element_link_filtered),
23213         (gst_element_link_many), (gst_element_link),
23214         (gst_element_link_pads), (gst_element_unlink_pads),
23215         (gst_element_unlink_many), (gst_element_unlink),
23216         (gst_pad_can_link_filtered), (gst_pad_can_link),
23217         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
23218         (gst_object_default_error), (gst_bin_add_many),
23219         (gst_bin_remove_many), (gst_element_populate_std_props),
23220         (gst_element_class_install_std_props), (gst_buffer_merge),
23221         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
23222         (link_fold_func), (gst_pad_proxy_setcaps):
23223         * gst/gstutils.h:
23224         * gst/gstvalue.c: (gst_value_deserialize_string):
23225         * gst/parse/grammar.y:
23226         * gst/schedulers/gstbasicscheduler.c:
23227         (gst_basic_scheduler_cothreaded_chain),
23228         (gst_basic_scheduler_chain_recursive_add),
23229         (gst_basic_scheduler_pad_link):
23230         * gst/schedulers/gstoptimalscheduler.c:
23231         (get_group_schedule_function),
23232         (gst_opt_scheduler_state_transition),
23233         (gst_opt_scheduler_add_element), (element_get_reachables_func):
23234         * libs/gst/bytestream/bytestream.c:
23235         * libs/gst/dataprotocol/dataprotocol.c:
23236         (gst_dp_header_from_buffer):
23237         * po/nb.po:
23238         * po/ru.po:
23239         * tests/threadstate/threadstate2.c: (eos):
23240         * tools/gst-compprep.c: (main):
23241         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
23242         (print_pad_info), (print_children_info):
23243         * tools/gst-launch.c: (idle_func), (main):
23244         * tools/gst-md5sum.c: (idle_func), (main):
23245         * tools/gst-xmlinspect.c: (print_element_info):
23246         First THREADED backport attempt, focusing on adding locks and
23247         making sure the API is threadsafe. Needs more work. More docs
23248         follow this week.
23249
23250 2005-02-24  Andy Wingo  <wingo@pobox.com>
23251
23252         * tests/bench-complexity.scm:
23253         * tests/complexity.gnuplot: New files, good for running complexity
23254         benchmarks.
23255
23256         * tests/Makefile.am:
23257         * tests/complexity.c: New test, sets up N elements, at each level
23258         teeing into M streams per element. Eeeenteresting.
23259
23260         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
23261         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
23262         running bench-mass_elements.scm.
23263
23264         * tests/bench-mass_elements.scm: New script, runs mass_elements
23265         for various numbers of identities, outputting the results to a
23266         file. Requires guile 1.6. Just for testing.
23267
23268 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
23269
23270         * gst/schedulers/fairscheduler.c:
23271           compile with debug disabled
23272
23273 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
23274
23275         * configure.ac:
23276           hunting season on 0.9 is now OPEN