docs/gst/gstreamer-sections.txt: That was one byte missing.
[platform/upstream/gstreamer.git] / ChangeLog
1 2007-04-20  Stefan Kost  <ensonic@users.sf.net>
2
3         * docs/gst/gstreamer-sections.txt:
4           That was one byte missing.
5
6 2007-04-20  Stefan Kost  <ensonic@users.sf.net>
7
8         * configure.ac:
9         * docs/gst/gstreamer-sections.txt:
10         * gst/Makefile.am:
11         * gst/gstconfig.h.in:
12         * gst/gstobject.c: (gst_object_class_init),
13         (gst_signal_object_class_init):
14         * gst/gstobject.h:
15           2nd attempt to have a xml-less build as a joined effort of #413123
16           and #421480.
17
18 2007-04-20  Stefan Kost  <ensonic@users.sf.net>
19
20         * docs/design/draft-tagreading.txt:
21           Added open issues/thoughts to draft.
22
23 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
24
25         * gst/parse/grammar.tab.pre.c:
26         * gst/parse/grammar.tab.pre.h:
27         * gst/parse/lex._gst_parse_yy.pre.c:
28         Update the prebuild parser sources.
29
30 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
31
32         * gst/parse/Makefile.am:
33         And now fix the building of the flex sources. Now everything should
34         work as expected.
35
36 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
37
38         * gst/parse/Makefile.am:
39         Now hopefully fix the build failures by setting proper rule
40         dependencies and moving instead of copying.
41
42 2007-04-19  Stefan Kost  <ensonic@users.sf.net>
43
44         * tests/benchmarks/complexity.gnuplot:
45         * tests/benchmarks/complexity.scm:
46         * tests/benchmarks/mass-elements.gnuplot:
47         * tests/benchmarks/mass-elements.scm:
48           Total licensification.
49
50 2007-04-19  Stefan Kost  <ensonic@users.sf.net>
51
52         * gst/parse/Makefile.am:
53           Fix the build by correcting the rule that gave wrong files to flex.
54
55 2007-04-19  Stefan Kost  <ensonic@users.sf.net>
56
57         * tests/benchmarks/complexity.c:
58         * tests/benchmarks/mass-elements.c:
59           Change licence to LGPL as granted by Benjamin and Andy.
60
61 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
62
63         * gst/parse/Makefile.am:
64         Add correct grammar.tab.h dependency if compiling without new enough
65         flex. Fixes #431150.
66
67 2007-04-18  Sebastian Dröge  <slomo@circular-chaos.org>
68
69         * gst/parse/Makefile.am:
70         Fix typo and use outdated sources if the flex/bison sources are newer
71         than the pregenerated ones but flex is too old. Print a warning in
72         that case. This should fix the build on the build bot.
73
74 2007-04-18  Sebastian Dröge  <slomo@circular-chaos.org>
75
76         Patch by: Marc-Andre Lureau <marcandre dot lureau at gmail dot com>
77         * gst/parse/Makefile.am:
78         * gst/parse/grammar.y:
79         * gst/parse/parse.l:
80         Make the parser reentrant and recursively callable. This requires flex
81         >= 2.5.31, for older versions pregenerated sources are used as we
82         can't bump the build dependency. Finally fixes #349180.
83
84         * gst/gstparse.c: (gst_parse_launch):
85         Drop the HAVE_MT_SAVE_FLEX #ifdefs as we always use a new enough flex
86         now anyway.
87
88         * docs/gst/Makefile.am:
89         * docs/gst/Makefile.am:
90         * gst/parse/grammar.tab.pre.c: (__gst_parse_strdup),
91         (__gst_parse_strfree), (__gst_parse_link_new),
92         (__gst_parse_link_free), (__gst_parse_chain_new),
93         (__gst_parse_chain_free), (SET_ERROR), (YYPRINTF),
94         (gst_parse_element_set), (gst_parse_free_link),
95         (gst_parse_found_pad), (gst_parse_perform_delayed_link),
96         (gst_parse_perform_link), (yytnamerr), (yysyntax_error), (yyerror),
97         (_gst_parse_launch):
98         * gst/parse/grammar.tab.pre.h:
99         * gst/parse/lex._gst_parse_yy.pre.c: (PRINT), (yy_get_next_buffer),
100         (yy_get_previous_state), (yy_try_NUL_trans), (input),
101         (_gst_parse_yyrestart), (_gst_parse_yy_switch_to_buffer),
102         (_gst_parse_yy_load_buffer_state), (_gst_parse_yy_create_buffer),
103         (_gst_parse_yy_delete_buffer), (_gst_parse_yy_init_buffer),
104         (_gst_parse_yy_flush_buffer), (_gst_parse_yypush_buffer_state),
105         (_gst_parse_yypop_buffer_state),
106         (_gst_parse_yyensure_buffer_stack), (_gst_parse_yy_scan_buffer),
107         (_gst_parse_yy_scan_string), (_gst_parse_yy_scan_bytes),
108         (yy_fatal_error), (_gst_parse_yyget_extra),
109         (_gst_parse_yyget_lineno), (_gst_parse_yyget_column),
110         (_gst_parse_yyget_in), (_gst_parse_yyget_out),
111         (_gst_parse_yyget_leng), (_gst_parse_yyget_text),
112         (_gst_parse_yyset_extra), (_gst_parse_yyset_lineno),
113         (_gst_parse_yyset_column), (_gst_parse_yyset_in),
114         (_gst_parse_yyset_out), (_gst_parse_yyget_debug),
115         (_gst_parse_yyset_debug), (_gst_parse_yyget_lval),
116         (_gst_parse_yyset_lval), (_gst_parse_yylex_init),
117         (yy_init_globals), (_gst_parse_yylex_destroy), (yy_flex_strncpy),
118         (yy_flex_strlen), (_gst_parse_yyalloc), (_gst_parse_yyrealloc),
119         (_gst_parse_yyfree):
120         If the installed flex version is too old use pre-generated parser
121         sources. These pre-generated parser sources are always updated when
122         the actual flex/bison sources change but require everybody who wants
123         to change something in the parser to have flex >= 2.5.31 installed.
124
125 2007-04-18  Stefan Kost  <ensonic@users.sf.net>
126
127         * common/m4/gst-gettext.m4:
128         * gst/gst-i18n-lib.h:
129           Make --disable-nls to work
130
131 2007-04-17  Wim Taymans  <wim@fluendo.com>
132
133         * gst/gstconfig.h.in:
134         Revert previous change that broke the build.
135
136 2007-04-17  Stefan Kost  <ensonic@users.sf.net>
137
138         * configure.ac:
139         * gst/Makefile.am:
140         * gst/gstconfig.h.in:
141           Drop libxml2 dependency when building with 
142           --enable-binary-registry --disable-loadsave
143
144 2007-04-16  Tim-Philipp Müller  <tim at centricular dot net>
145
146         * gst/gstregistrybinary.c: (gst_registry_binary_write_cache),
147         (gst_registry_binary_read_cache):
148         * gst/gstregistrybinary.h:
149           Remove unnecessary <sys/mman.h> include which broke the win32 build
150           with MingW; move includes from header file to .c file, even if the
151           header file isn't installed; use g_strerror() where UTF-8 strings
152           are expected, such as in GST_DEBUG messages.
153
154 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
155
156         * docs/libs/gstreamer-libs-sections.txt:
157         Remove bogus addition for API I didn't end up keeping.
158
159         * libs/gst/base/gstbasesrc.h:
160         Mention Since: 0.10.13 in the documentation.
161
162         Add the API keyword to the previous ChangeLog entry.
163
164 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
165
166         * docs/libs/gstreamer-libs-sections.txt:
167         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
168         (gst_base_src_default_prepare_seek_segment),
169         (gst_base_src_prepare_seek_segment), (gst_base_src_perform_seek):
170         * libs/gst/base/gstbasesrc.h:
171         Allow basesrc derived classes to execute seeks in other formats
172         by providing a prepare_seek_segment vmethod. Sub-classes can choose
173         to prepare the GstSegment in any format that their perform_seek method
174         will be able to understand. The default implementation provides the
175         old behaviour of attempting to convert the seek offsets to the 
176         configured native format.
177
178         API: basesrc::prepare_seek_segment vmethod.
179
180 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
181
182         * gst/gstelement.c: (gst_element_get_state_func):
183         Don't output the same debug statement twice.
184
185         * libs/gst/base/gstadapter.c: (gst_adapter_try_to_merge_up),
186         (gst_adapter_peek), (gst_adapter_take_buffer):
187         Optimise the case where we have buffers at the head of the queue that
188         can be joined quickly (because they're contiguous sub-buffers) by
189         merging them together rather than copying data out into new memory.
190
191         * gst/parse/grammar.y:
192         * tests/check/pipelines/parse-launch.c:
193         Fix a leak in an error path for parse_launch, and add a check 
194         for it to the testsuite.
195
196 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
197
198         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_release_pad):
199           Don't deadlock when releasing a pad - gst_pad_set_active may try
200           and take the multiqueue lock too.
201
202 2007-04-12  Tim-Philipp Müller  <tim at centricular dot net>
203
204         * gst/gsterror.c: (_gst_core_errors_init):
205         * gst/gsterror.h:
206           API: add GST_CORE_ERROR_DISABLED (#392804).
207
208 2007-04-12  Thomas Vander Stichele  <thomas at apestaart dot org>
209
210         * docs/faq/gst-uninstalled:
211           don't get empty paths on the PATH variables
212         * gst/gstpad.c (gst_pad_is_active, gst_pad_set_blocked_async):
213           Don't format for the uncommon terminal width of 84 characters.
214
215 2007-04-06  Wim Taymans  <wim@fluendo.com>
216
217         * gst/gstpipeline.c: (reset_stream_time),
218         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time):
219         Only try to select a different pipeline clock when we went back to
220         PAUSED and not when we merely got flushed.
221
222 2007-04-05  Michael Smith  <msmith@fluendo.com>
223
224         * tools/gst-launch.1.in:
225           fractions are better supported in gstreamer than ractions, so
226           suggest using those.
227
228 2007-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
229
230         Submitted by: Mogens Jaeger <mogens@jaeger.tf>
231
232         * po/LINGUAS:
233         * po/da.po:
234           Added Danish translation.
235
236 2007-04-05  Wim Taymans  <wim@fluendo.com>
237
238         * libs/gst/base/gstbasesink.c:
239         (gst_base_sink_queue_object_unlocked), (gst_base_sink_event):
240         Fix leak caused when refusing newsegment after EOS.
241
242         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
243         (gst_fake_sink_init), (gst_fake_sink_set_property),
244         (gst_fake_sink_get_property), (gst_fake_sink_preroll),
245         (gst_fake_sink_render), (gst_fake_sink_change_state):
246         * plugins/elements/gstfakesink.h:
247         Add num-buffers property to make the element generate EOS after a
248         configurable amount of buffers.
249         API: fakesink::num-buffers property.
250
251         * tests/check/elements/fakesink.c: (GST_START_TEST),
252         (fakesink_suite):
253         Fix GstBus leak in test.
254         Test for fakesink num-buffers.
255
256 2007-04-05  Wim Taymans  <wim@fluendo.com>
257
258         * libs/gst/base/gstbasesink.c:
259         (gst_base_sink_queue_object_unlocked), (gst_base_sink_event),
260         (gst_base_sink_change_state):
261         Don't accept anything after an EOS, return UNEXPECTED instead.
262
263         * tests/check/elements/fakesink.c: (GST_START_TEST),
264         (fakesink_suite):
265         Unit test for new EOS behaviour.
266
267 2007-04-05  Wim Taymans  <wim@fluendo.com>
268
269         * gst/gstelement.c: (gst_element_get_request_pad):
270         Make padtemplates also work when they don't contain %s or %d.
271
272 2007-04-05  Wim Taymans  <wim@fluendo.com>
273
274         * docs/gst/gstreamer-sections.txt:
275         * gst/gstclock.c: (gst_clock_adjust_unlocked),
276         (gst_clock_unadjust_unlocked), (gst_clock_set_calibration):
277         * gst/gstclock.h:
278         Improve _adjust_unlocked() so that it overflows less.
279         Add gst_clock_unadjust_unlocked to convert from external time to
280         internal time based on calibration.
281         Add some more debug.
282         API: GstClock::gst_clock_unadjust_unlocked()
283
284 2007-04-03  Wim Taymans  <wim@fluendo.com>
285
286         Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
287
288         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_release_pad):
289         Deactivate pads and free GstSingleQueue with gst_single_queue_free()
290         when releasing sink pad. Fixes #425400.
291
292 2007-04-02  Stefan Kost  <ensonic@users.sf.net>
293
294         * docs/random/ensonic/dynlink.txt:
295           More work on proposal for new core api.
296
297         * docs/libs/gstreamer-libs-sections.txt:
298         * libs/gst/base/gstbasetransform.h:
299           API: GST_BASE_TRANSFORM_LOCK/UNLOCK added
300           
301         * libs/gst/controller/gstcontroller.c:
302         (on_object_controlled_property_changed),
303         (gst_controller_sync_values),
304         (gst_controller_set_interpolation_mode):
305         * libs/gst/controller/gstcontroller.h:
306           Less verbose logging add docs for unimplemented parts and correctly
307           return when using unavailable parts.
308
309 2007-03-29  Jan Schmidt  <thaytan@mad.scientist.com>
310
311         * gst/gstclock.c: (gst_clock_set_master), (do_linear_regression):
312         Move all the debug to the CLOCK category, and associate it with
313         the clock object.
314
315 2007-03-29  Jan Schmidt  <thaytan@mad.scientist.com>
316
317         * libs/gst/base/gstadapter.c: (gst_adapter_take_buffer):
318         Make take_buffer a bit quicker by removing redundant checks
319         caused by calling gst_adapter_take.
320
321 2007-03-28  Tim-Philipp Müller  <tim at centricular dot net>
322
323         * plugins/elements/gstmultiqueue.c: (gst_single_queue_free):
324           Don't leak GCond.
325
326         * tests/check/Makefile.am:
327         * tests/check/elements/.cvsignore:
328         * tests/check/elements/multiqueue.c: (setup_multiqueue),
329         (GST_START_TEST), (multiqueue_suite):
330           Add some dead simple unit tests for the 'multiqueue' element
331           (some bits don't work yet and are disabled for now).
332
333 2007-03-28  Tim-Philipp Müller  <tim at centricular dot net>
334
335         * gst/gstelement.c: (gst_element_get_request_pad),
336         (gst_element_class_get_request_pad_template):
337           Make gst_element_get_request_pad() create request pads only for
338           request pad templates and not for, say, sometimes pad templates.
339
340 2007-03-28  Stefan Kost  <ensonic@users.sf.net>
341
342         * docs/design/draft-klass.txt:
343           Add example that needs more thinking.
344         
345         * docs/design/draft-missing-plugins.txt:
346           More thoughts about wrapper plugins.
347         
348         * docs/random/ensonic/embedded.txt:
349         * docs/random/ensonic/profiling.txt:
350           More design work.
351
352 2007-03-25  Wim Taymans  <wim@fluendo.com>
353
354         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range),
355         (gst_base_src_loop):
356         Only push the segment events in the PLAYING state for live sources.
357
358 2007-03-23  Jan Schmidt  <thaytan@mad.scientist.com>
359
360         * gst/gstpipeline.c: (gst_pipeline_change_state):
361         Modify the clock distribution path in PAUSED->PLAYING so that we 
362         never attempt to choose a new clock unless we're actually leaving
363         the PAUSED state for the first time. This prevents choosing a
364         different clock when the state_change gets called for a 2nd time due
365         to some element doing an async state change.
366
367 2007-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
368
369         * gst/gstpad.c: (gst_pad_set_caps), (gst_pad_configure_sink),
370         (gst_pad_configure_src), (gst_pad_alloc_buffer_full),
371         (gst_pad_chain_unchecked), (gst_pad_push):
372         Revert last commit. This needs some more thoughts.
373
374 2007-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
375
376         * gst/gstpad.c: (gst_pad_set_caps), (gst_pad_alloc_buffer_full),
377         (gst_pad_chain_unchecked), (gst_pad_push):
378         Check in set_caps if the caps are compatible with the pad and remove
379         two functions that are redundant now. Fixes #421543.
380
381 2007-03-22  Wim Taymans  <wim@fluendo.com>
382
383         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
384         (mixed_thread), (mixed_async_cb), (gst_systemclock_suite):
385         Unref some more to make valgrind happy.
386
387 2007-03-22  Wim Taymans  <wim@fluendo.com>
388
389         * gst/gstsystemclock.c: (gst_system_clock_id_wait_jitter_unlocked),
390         (gst_system_clock_id_wait_jitter),
391         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
392         Fix anoying regression that survived a few releases. When adding an
393         async entry while blocking on a sync entry, the sync entry will unblock
394         but still be busy, so it should continue to wait instead of returning
395         _BUSY to the app.
396         Add some comments here and there.
397
398         * tests/check/gst/gstsystemclock.c: (mixed_thread),
399         (mixed_async_cb), (GST_START_TEST), (gst_systemclock_suite):
400         Add testcase for this.
401
402 2007-03-22  Wim Taymans  <wim@fluendo.com>
403
404         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
405         Handle errors from the clock sync better, only UNSCHEDULED indicates a
406         WRONG_STATE and can silently pause the task. All other cases should
407         error out.
408
409 2007-03-22  Wim Taymans  <wim@fluendo.com>
410
411         Patch by: <syrjala at sci dot fi>
412
413         * gst/gstpad.c: (gst_pad_alloc_buffer_full), (gst_pad_send_event):
414         Fix possible deadlock if pad eventfunc is not specified.  Fixes #421177.
415         Improve debugging.
416
417 2007-03-21  Michael Smith  <msmith@fluendo.com>
418
419         * docs/pwg/advanced-types.xml:
420           Fix some errors in the typefinding docs pointed out on irc.
421
422 2007-03-21  Jan Schmidt  <thaytan@mad.scientist.com>
423
424         * libs/gst/base/gstbasesrc.c:
425         Clarify FIXME comment in the face of having added unlock_stop()
426
427 2007-03-21  Wim Taymans  <wim@fluendo.com>
428
429         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_element_set_state):
430         Prepare for release where we warn against possible app breakage in the
431         case of live pipelines along with an env var to enable/disable live
432         preroll mode (GST_COMPAT=[no-]live-preroll).
433
434 2007-03-20  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
435
436         * plugins/elements/gstidentity.c (gst_identity_check_imperfect_offset):
437         So we should use correct constants for checking for None offset.
438
439 2007-03-20  Wim Taymans  <wim@fluendo.com>
440
441         * docs/design/part-block.txt:
442         Mention the fact that the newly switched element should be set to at
443         least PAUSED.
444
445 2007-03-20  Wim Taymans  <wim@fluendo.com>
446
447         * gst/gst.c:
448         Fix compilation with registry disabled as spotted by Saur.
449
450 2007-03-20  Wim Taymans  <wim@fluendo.com>
451
452         Patch by: Olivier Crete <tester at tester dot ca>
453
454         * gst/gstelement.c: (gst_element_sync_state_with_parent):
455         Look at the pending state too when syncing the element state to the
456         parent. Fixes #420133.
457
458 2007-03-19  Jan Schmidt  <thaytan@mad.scientist.com>
459
460         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
461         (gst_base_sink_change_state):
462         * libs/gst/base/gstbasesink.h:
463         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
464         (gst_base_src_default_event), (gst_base_src_unlock_stop),
465         (gst_base_src_deactivate):
466         * libs/gst/base/gstbasesrc.h:
467         Add ::unlock_stop to basesrc and basesink. This allows an opportunity
468         for sub-classes to correctly clear any state they set trying to
469         unlock, such as clearing out unlock commands from a command fd.
470
471         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init),
472         (gst_fd_sink_render), (gst_fd_sink_unlock),
473         (gst_fd_sink_unlock_stop):
474         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init),
475         (gst_fd_src_init), (gst_fd_src_unlock), (gst_fd_src_unlock_stop),
476         (gst_fd_src_create), (gst_fd_src_get_size), (gst_fd_src_do_seek):
477
478         Implement unlock_stop in fdsrc and fdsink.
479         Implement seeking in fdsrc when a seekable fd is passed, as in
480         gst-launch-0.10 fdsrc ! ... ! xvimagesink < /path/to/file
481
482 2007-03-19  Wim Taymans  <wim@fluendo.com>
483
484         Patch by: Evan Nemerson <evan at coeus dash group dot com>
485
486         * gst/gstelement.c: (gst_element_class_init):
487         Fix pad-added and pad-removed signal signatures so that the pad type is
488         stated as GST_TYPE_PAD instead of G_TYPE_OBJECT. Fixes #419851.
489
490 2007-03-19  Wim Taymans  <wim@fluendo.com>
491
492         * docs/gst/gstreamer-sections.txt:
493         Add new element field and method.
494
495         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
496         (bin_remove_messages), (gst_bin_add_func), (gst_bin_remove_func),
497         (gst_bin_recalc_state), (gst_bin_get_state_func),
498         (gst_bin_element_set_state), (gst_bin_change_state_func),
499         (gst_bin_continue_func), (bin_bus_handler),
500         (bin_push_state_continue), (bin_handle_async_start),
501         (bin_handle_async_done), (gst_bin_handle_message_func):
502         Make async state changes a bit smarter by using new ASYNC_START and
503         ASYNC_DONE messages. This reduces the number of times we run the state
504         recalculation thread.
505         Don't change state of element with a pending ASYNC_START message.
506         Deprecate STATE_DIRTY messages.
507         
508         * gst/gstelement.c: (gst_element_init), (gst_element_send_event),
509         (gst_element_get_state_func), (gst_element_continue_state),
510         (gst_element_lost_state), (gst_element_set_state_func),
511         (gst_element_change_state):
512         * gst/gstelement.h:
513         Keep the state that was last set by the app in a new element field.
514         Don't allow state changes when handling an element event.
515         Post ASYNC_START and ASYNC_DONE messages.
516         Change lost_state so that we go to PAUSED and wait for the parent to set
517         us to PLAYING again (so latency calculation can be performed)
518         Export gst_element_change_state() method so that subclasses can use it.
519         API: gst_element_change_state()
520         API: GST_STATE_TARGET
521
522         * gst/gstpipeline.c: (gst_pipeline_class_init),
523         (reset_stream_time), (gst_pipeline_change_state),
524         (gst_pipeline_handle_message), (gst_pipeline_set_new_stream_time):
525         Using the new ASYNC_START message we can reset the base_time when
526         needed. This can then be used to implement base_time redistribution in
527         flushing seeks so that we can remove the explicit seek handling.
528         Perform latency query and configuration when going to PLAYING.
529
530         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
531         (gst_base_sink_query), (gst_base_sink_change_state):
532         Post new ASYNC_START/ASYNC_DONE messages.
533
534         * tests/check/generic/sinks.c: (GST_START_TEST):
535         Fix test because the bin will not set the async element to PLAYING right
536         away.
537
538         * tests/check/gst/gstbin.c: (pop_async_done), (GST_START_TEST):
539         Make the message check a little stronger.
540         Handle ASYNC messages.
541
542         * tests/check/pipelines/cleanup.c: (GST_START_TEST):
543         * tests/check/pipelines/simple-launch-lines.c: (GST_START_TEST):
544         Expect ASYNC_DONE messages.
545
546 2007-03-19  Wim Taymans  <wim@fluendo.com>
547
548         * docs/gst/gstreamer-sections.txt:
549         * gst/gstmessage.c: (gst_message_new_async_start),
550         (gst_message_new_async_done), (gst_message_parse_info),
551         (gst_message_parse_async_start):
552         * gst/gstmessage.h:
553         Add ASYNC_START and ASYNC_DONE messages to prepare for latency
554         support.
555
556 2007-03-15  Tim-Philipp Müller  <tim at centricular dot net>
557
558         * tools/gst-inspect.c:
559         (print_plugin_automatic_install_info_codecs):
560           Now that we don't check for the 'Codec' keyword any longer in the
561           klass, we shouldn't spew a warning if the klass isn't a decoder or
562           encoder (since it might be a Source/Network, for example).
563
564 2007-03-14  Tim-Philipp Müller  <tim at centricular dot net>
565
566         * tools/gst-inspect.c:
567         (print_plugin_automatic_install_info_codecs):
568           Don't require decoder/demuxer/depayloader elements or
569           encoder/muxer/paylader elements to have 'Codec' as part of their
570           factory class string when introspecting a plugin's capabilities.
571           draft-klass.txt mentions that it might be removed in future, and
572           flump3dec doesn't have it as part of its class string, so chances
573           are others might also not have it.
574
575 2007-03-14  Thomas Vander Stichele  <thomas at apestaart dot org>
576
577         * po/af.po:
578         * po/az.po:
579         * po/bg.po:
580         * po/ca.po:
581         * po/cs.po:
582         * po/de.po:
583         * po/en_GB.po:
584         * po/fr.po:
585         * po/it.po:
586         * po/nb.po:
587         * po/nl.po:
588         * po/ru.po:
589         * po/sq.po:
590         * po/sr.po:
591         * po/sv.po:
592         * po/tr.po:
593         * po/uk.po:
594         * po/vi.po:
595         * po/zh_CN.po:
596         * po/zh_TW.po:
597           Update translations from translation project
598
599 2007-03-14  Stefan Kost  <ensonic@users.sf.net>
600
601         * gst/gstchildproxy.c: (gst_child_proxy_get_property),
602         (gst_child_proxy_set_property):
603           Invert precondition check to be alike the ones in the mimiced gobject
604           api.
605
606 2007-03-13  Stefan Kost  <ensonic@users.sf.net>
607
608         * docs/design/draft-tagreading.txt:
609         * docs/random/ensonic/audiobaseclasses.txt:
610           Do some Architect work.
611
612         * gst/gstobject.c: (gst_object_set_name):
613           Add a WARNING.
614
615         * gst/gstpad.c:
616           Add docs that point from gst_pad_get_range to gst_pad_pull_range
617
618 2007-03-12  Jan Schmidt  <thaytan@mad.scientist.com>
619
620         * gst/gstsystemclock.c: (gst_system_clock_init),
621         (gst_system_clock_start_async), (gst_system_clock_id_wait_async):
622         Defer starting the async system clock thread until the first async
623         wait is scheduled. Fixes #414986.
624
625 2007-03-12  Tim-Philipp Müller  <tim at centricular dot net>
626
627         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_finalize),
628         (gst_single_queue_free):
629           Fix small leak (free GstSingleQueue structure too, not only contents).
630
631 2007-03-10  Sebastien Moutte  <sebastien@moutte.net>
632
633         * gst/gstbin.c:(gst_bin_add):
634         Use GST_STR_NULL to prevent NULL pointer to be passed to GST_CAT_DEBUG.
635         * win32/common/libgstbase.def:
636         * win32/common/libgstreamer.def:
637         Add new exported functions.
638
639 2007-03-09  Wim Taymans  <wim@fluendo.com>
640
641         * docs/plugins/gstreamer-plugins-sections.txt:
642         Fix GstTee docs.
643
644 2007-03-09  Wim Taymans  <wim@fluendo.com>
645
646         * docs/gst/gstreamer-sections.txt:
647         * gst/gstbuffer.c: (gst_buffer_copy_metadata), (_gst_buffer_copy):
648         * gst/gstbuffer.h:
649         Add metadata copy functions. Fixes #393099.
650
651         * gst/gstutils.c: (gst_buffer_stamp):
652         * libs/gst/base/gstbasetransform.c:
653         (gst_base_transform_prepare_output_buffer):
654         Use new metadata copy functions.
655
656 2007-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
657
658         * plugins/elements/gstidentity.c: (gst_identity_class_init),
659         (gst_identity_init), (gst_identity_check_perfect),
660         (gst_identity_check_imperfect_timestamp),
661         (gst_identity_check_imperfect_offset), (gst_identity_transform_ip),
662         (gst_identity_set_property), (gst_identity_get_property):
663         * plugins/elements/gstidentity.h:
664         Separate out check-imperfect-timestamp and check-imperfect-offset.
665         Put back check-perfect as it was to keep compatibility.
666
667 2007-03-09  Jan Schmidt  <thaytan@mad.scientist.com>
668
669         * gst/gstelement.c: (gst_element_dispose):
670         There's no need to warn if VOID_PENDING is not NONE here, as
671         long as the state is NULL it's ok, and that's checked immediately
672         above.
673
674 2007-03-08  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
675
676         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
677         Fix check for perfect stream to ignore buffers with -1 
678         offsets/offset ends when checking data contiguity.
679
680 2007-03-08  Wim Taymans  <wim@fluendo.com>
681
682         * tools/gst-launch.c: (event_loop):
683         Print INFO messages.
684
685 2007-03-08  Wim Taymans  <wim@fluendo.com>
686
687         * libs/gst/base/gstbasetransform.c:
688         (gst_base_transform_sink_eventfunc),
689         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
690         (gst_base_transform_activate):
691         * libs/gst/base/gstbasetransform.h:
692         Add support for dropping buffers with custom GstFlowReturn.
693         Set DISCONT flags on outgoing buffers based on QoS, incomming DISCONT
694         buffers or dropped buffers.
695
696         * docs/libs/gstreamer-libs-sections.txt:
697         docs for new custom return code.
698
699         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
700         Use drop support in base class to implement drop-probability.
701
702 2007-03-07  Tim-Philipp Müller  <tim at centricular dot net>
703
704         * gst/gst.c: (load_plugin_func):
705         * gst/gstplugin.c: (gst_plugin_load_by_name), (gst_plugin_load):
706         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
707         * gst/gsttrace.c: (gst_trace_new), (gst_alloc_trace_set_flags_all):
708           Remove newlines at end of debug log strings.
709
710 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
711
712         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
713         Only post bus message at max, once per buffer received.
714
715 2007-03-07  Wim Taymans  <wim@fluendo.com>
716
717         * docs/design/Makefile.am:
718         * docs/design/part-synchronisation.txt:
719         Add doc about synchronisation
720
721         * docs/design/draft-latency.txt:
722         * docs/design/part-TODO.txt:
723         * docs/design/part-clocks.txt:
724         * docs/design/part-events.txt:
725         * docs/design/part-gstbus.txt:
726         * docs/design/part-gstpipeline.txt:
727         * docs/design/part-live-source.txt:
728         * docs/design/part-messages.txt:
729         * docs/design/part-overview.txt:
730         * docs/design/part-streams.txt:
731         * docs/design/part-trickmodes.txt:
732         Documentation updates.
733
734 2007-03-07  Jan Schmidt  <thaytan@mad.scientist.com>
735
736         * gstreamer.doap:
737         Update the doap file.
738
739 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
740
741         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
742         Rename non-perfect to imperfect for Mike and for the sanctity of the
743         language.
744         Also make sure bus message gets emitted for data-incontiguities.
745
746 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
747
748         * plugins/elements/gstidentity.c: (gst_identity_check_perfect),
749         (gst_identity_start):
750         * plugins/elements/gstidentity.h:
751         Emit bus message if check-perfect is true and we encounter a
752         non-perfect stream between 2 consecutive buffers.
753         Fixes #415394.
754
755 2007-03-07  Jan Schmidt  <thaytan@mad.scientist.com>
756
757         * configure.ac:
758         Back to CVS
759
760 === release 0.10.12 ===
761
762 2007-03-07  Jan Schmidt <thaytan@mad.scientist.com>
763
764         * configure.ac:
765           releasing 0.10.12, "Inevitable Demise"
766
767 2007-03-01  Jan Schmidt  <thaytan@mad.scientist.com>
768
769         * configure.ac:
770          Version 0.10.11.2 (0.10.12 pre-release)
771          Bump libtool versioning.
772
773 2007-03-01  Stefan Kost  <ensonic@users.sf.net>
774
775         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
776           Log flow-names and not numbers.
777
778 2007-02-28  Thomas Vander Stichele  <thomas at apestaart dot org>
779
780         * configure.ac:
781           Convert to new AG_GST style.
782
783 2007-02-28  Wim Taymans  <wim@fluendo.com>
784
785         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency):
786         Don't unref query twice.
787
788 2007-02-28  Wim Taymans  <wim@fluendo.com>
789
790         * gst/gstvalue.c: (gst_value_transform_object_string),
791         (_gst_value_initialize):
792         Implement GstObject -> string transform so we print object names
793         when serializing GValues containing GstObjects.
794
795 2007-02-28  Wim Taymans  <wim@fluendo.com>
796
797         * docs/gst/gstreamer-sections.txt:
798         Add new stuff to docs.
799
800 2007-02-28  Wim Taymans  <wim@fluendo.com>
801
802         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
803         (gst_base_sink_queue_object_unlocked), (gst_base_sink_send_event),
804         (gst_base_sink_change_state):
805         Improve latency query code.
806         Don't leak latency events.
807
808         * tests/check/gst/gstbin.c: (GST_START_TEST):
809         Improve debugging.
810
811 2007-02-28  Wim Taymans  <wim@fluendo.com>
812
813         * gst/gstelement.c: (gst_element_message_full),
814         (gst_element_get_state_func):
815         * gst/gstelement.h:
816         Improve docs a little. Added Since: for new macro.
817
818         * gst/gstobject.c: (gst_object_sink):
819         * gst/gstpipeline.c: (gst_pipeline_change_state),
820         (gst_pipeline_set_new_stream_time):
821         * gst/gstpipeline.h:
822         Improve debugging and docs.
823
824         * gst/gstutils.c: (gst_element_state_change_return_get_name):
825         Improve debugging.
826
827 2007-02-28  Wim Taymans  <wim@fluendo.com>
828
829         * gst/gstelement.c: (gst_element_message_full),
830         (gst_element_set_locked_state), (gst_element_get_state_func),
831         (gst_element_change_state):
832         Handle INFO messages from the GST_ELEMENT_INFO macro as well.
833         Documentation updates.
834         Small code cleanups.
835
836         * gst/gstmessage.c: (gst_message_new_info),
837         (gst_message_parse_info):
838         * gst/gstmessage.h:
839         API: gst_message_new_info()
840         API: gst_message_parse_info()
841         Add INFO message create and parse code.
842
843 2007-02-28  Wim Taymans  <wim@fluendo.com>
844
845         * gst/gstbin.c: (bin_query_min_max_init), (bin_query_latency_fold),
846         (bin_query_latency_done):
847         Also report the live parameter of a latency query.
848
849 2007-02-28  Thomas Vander Stichele  <thomas at apestaart dot org>
850
851         * tests/check/generic/states.c: (GST_START_TEST), (states_suite):
852           Copy the current generic/states example from -base and adapt so
853           we can use the exact same code everywhere.
854           Check a STATES_IGNORE_ELEMENTS env var which can be used
855           to ignore certain element factories for this test, which is
856           what is being done in -base
857         * tests/check/Makefile.am:
858           Mention this environment variable.
859
860 2007-02-27  Wim Taymans  <wim@fluendo.com>
861
862         * docs/gst/gstreamer-sections.txt:
863         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
864         (gst_bus_timed_pop), (gst_bus_pop):
865         * gst/gstbus.h:
866         API: gst_bus_timed_pop()
867         Implement gst_bus_timed_pop() to do a blocking timed wait for a
868         message to arrive on the bus.
869
870         * tests/check/gst/gstbus.c: (GST_START_TEST), (pop_thread),
871         (gst_bus_suite):
872         Two unit tests for new _timed_pop() function.
873
874 2007-02-23  Wim Taymans  <wim@fluendo.com>
875
876         * gst/gstpipeline.c: (gst_pipeline_change_state),
877         (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay):
878         Don't ref a NULL clock in _provide_clock_func().
879         Don't allow an INVALID delay.
880         Don't try to calculate base_time with an invalid start_time.
881         Also distribute and notify a NULL clock when it was selected.
882
883         * tools/gst-launch.c: (event_loop):
884         Don't crash when a NULL clock was selected in the pipeline.
885
886 2007-02-23  Tim-Philipp Müller  <tim at centricular dot net>
887
888         * docs/design/Makefile.am:
889         * docs/design/draft-missing-plugins.txt:
890         * docs/random/draft-missing-plugins.txt:
891           Some small updates: update plugin system identifier prefix
892           ('gstreamer.net' to 'gstreamer'), mention our new install
893           API in libgstbaseutils rather than libgimme-codec, add
894           reference to the online docs.
895
896 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
897
898         * win32/common/config.h:
899           Pretty sure Bill never made a powerpc version.  Powerpc hackers,
900           use moap cl ci to only check in what is mentioned in the ChangeLog.
901
902 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
903
904         * docs/gst/gstreamer-sections.txt:
905         * gst/gstelement.h:
906           Fix up documentation to link to the correct GstGError section.
907           Add GST_ELEMENT_INFO macro since someone else added a Info message.
908
909 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
910
911         * tools/gst-launch.c: (event_loop):
912           Make sure that we actually show the important message part of a
913           warning message.
914           No need to check if the gerror is not NULL to free; first of all
915           g_free accepts NULL; and second the default error handler would
916           segfault if gerror was NULL.
917
918 2007-02-21  Wim Taymans  <wim@fluendo.com>
919
920         * docs/gst/gstreamer-sections.txt:
921         Removed docs as well.
922
923 2007-02-21  Wim Taymans  <wim@fluendo.com>
924
925         * gst/gstmessage.c: (gst_message_parse_duration):
926         * gst/gstmessage.h:
927         Remove new messages for release.
928
929 2007-02-20  Wim Taymans  <wim@fluendo.com>
930
931         * docs/design/part-gstghostpad.txt:
932         * gst/gstghostpad.c: (gst_ghost_pad_dispose),
933         (gst_ghost_pad_new_full):
934         Make the ghostpad a parent of the internal pad again for better backward
935         compatibility. Don't write code that relies on this however.
936
937         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
938         (gst_pad_link_check_hierarchy):
939         Require that parents should be GstElements in the hierarchy check.
940
941 2007-02-20  Wim Taymans  <wim@fluendo.com>
942
943         * gst/gstbin.c: (bin_replace_message), (gst_bin_add_func),
944         (gst_bin_change_state_func), (bin_query_min_max_init),
945         (bin_query_latency_fold), (bin_query_latency_done),
946         (gst_bin_query):
947         Improve debug info.
948         Implement latency query.
949
950 2007-02-20  Wim Taymans  <wim@fluendo.com>
951
952         * docs/design/part-gstghostpad.txt:
953         * gst/gstghostpad.c: (gst_ghost_pad_class_init),
954         (gst_ghost_pad_internal_do_activate_push),
955         (gst_ghost_pad_internal_do_activate_pull),
956         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
957         (gst_ghost_pad_do_link), (gst_ghost_pad_dispose),
958         (gst_ghost_pad_new_full), (gst_ghost_pad_set_target):
959         Do not set the internal pad as a parent anymore so we can avoid
960         hierarchy linking errors when the ghostpad has no parent yet. This also
961         fixes failed activation because of unlinked internal pads, which in
962         turn fixes the impossible case where you have to activate a pad before
963         you can add it to a running element.
964         Also fix the docs.
965
966         * gst/gstpad.c: (pre_activate), (post_activate),
967         (gst_pad_set_active), (gst_pad_activate_pull),
968         (gst_pad_activate_push), (gst_pad_check_pull_range):
969         Add some more debug info.
970         Mark activation mode in pre_activate so that we don't try to activate in
971         endless loops. Fixes #385084.
972
973 2007-02-19  Wim Taymans  <wim@fluendo.com>
974
975         * libs/gst/base/gstbasetransform.c: (gst_base_transform_init),
976         (gst_base_transform_check_get_range):
977         Implement a checkgetrange function instead of relying on the default
978         core behaviour that assumes we can operate in pull mode if we have a
979         getrange function. First step at fixing #385084.
980
981 2007-02-15  Stefan Kost  <ensonic@users.sf.net>
982
983         * gst/gstchildproxy.h:
984         * libs/gst/base/gstbasesink.h:
985         * libs/gst/base/gstbasesrc.h:
986         * libs/gst/base/gstbasetransform.h:
987         More docs coverage and some ChangeLog surgery (add missing names)
988
989 2007-02-15  Wim Taymans  <wim@fluendo.com>
990
991         * docs/design/part-TODO.txt:
992         * docs/design/part-activation.txt:
993         * docs/design/part-block.txt:
994         * docs/design/part-buffering.txt:
995         * docs/design/part-clocks.txt:
996         * docs/design/part-element-source.txt:
997         * docs/design/part-events.txt:
998         * docs/design/part-gstbin.txt:
999         * docs/design/part-gstbus.txt:
1000         * docs/design/part-gstpipeline.txt:
1001         * docs/design/part-live-source.txt:
1002         * docs/design/part-messages.txt:
1003         * docs/design/part-overview.txt:
1004         * docs/design/part-qos.txt:
1005         * docs/design/part-query.txt:
1006         * docs/design/part-states.txt:
1007         * docs/design/part-trickmodes.txt:
1008         Some doc updates. Start renaming from stream_time to running_time where
1009         it was used wrongly.
1010
1011 2007-02-15  Wim Taymans  <wim@fluendo.com>
1012
1013         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
1014         Answer LATENCY query.
1015
1016 2007-02-15  Wim Taymans  <wim@fluendo.com>
1017
1018         * tests/check/gst/gstevent.c: (event_probe), (test_event),
1019         (GST_START_TEST):
1020         Improve debugging.
1021
1022 2007-02-15  Wim Taymans  <wim@fluendo.com>
1023
1024         * gst/gstpad.c: (gst_pad_get_internal_links_default),
1025         (gst_pad_dispatcher):
1026         Improve debugging of default pad dispatcher and query functions.
1027
1028 2007-02-15  Wim Taymans  <wim@fluendo.com>
1029
1030         * docs/gst/gstreamer-sections.txt:
1031         Remove old unused method.
1032
1033 2007-02-13  Wim Taymans  <wim@fluendo.com>
1034
1035         * tests/check/gst/gstsegment.c: (GST_START_TEST):
1036         Fix check
1037
1038 2007-02-13  Wim Taymans  <wim@fluendo.com>
1039
1040         * docs/design/part-seeking.txt:
1041         Some small update.
1042
1043         * gst/gstsegment.c: (gst_segment_set_seek):
1044         Revert old bogus change that should make seeking work again.
1045
1046 2007-02-13  Stefan Kost  <ensonic@users.sf.net>
1047
1048         * docs/random/ensonic/dynlink.txt:
1049         * docs/random/ensonic/interfaces.txt:
1050         * docs/random/ensonic/receipies.txt:
1051           Possible dynamic reconnection api, plus some type fixes the other two
1052           docs.
1053
1054 2007-02-13  Sebastian Dröge  <slomo@circular-chaos.org>
1055
1056         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
1057         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
1058         Also check for an absolute path following file:// in the filesrc
1059         element. Remove redundant check and call g_path_is_absolute() on the
1060         unescaped location.
1061
1062 2007-02-13  Stefan Kost  <ensonic@users.sf.net>
1063
1064         * docs/design/draft-klass.txt:
1065           Add existing category analysis.
1066           
1067         * gst/gstcaps.c:
1068           Fix doc example, framerate is a fraction.
1069
1070 2007-02-12  Stefan Kost  <ensonic@users.sf.net>
1071
1072         * configure.ac:
1073         * docs/gst/Makefile.am:
1074         * docs/libs/Makefile.am:
1075         * docs/plugins/Makefile.am:
1076           Add crossreferences to glib/gobject docs.
1077
1078 2007-02-12  Wim Taymans  <wim@fluendo.com>
1079
1080         * docs/design/draft-latency.txt:
1081         Small update.
1082
1083         * docs/libs/gstreamer-libs-sections.txt:
1084         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
1085         (gst_base_sink_get_latency), (gst_base_sink_query_latency),
1086         (gst_base_sink_wait_clock), (gst_base_sink_send_qos),
1087         (gst_base_sink_perform_qos), (gst_base_sink_queue_object_unlocked),
1088         (gst_base_sink_chain_unlocked), (gst_base_sink_send_event),
1089         (gst_base_sink_get_position), (gst_base_sink_query),
1090         (gst_base_sink_change_state):
1091         * libs/gst/base/gstbasesink.h:
1092         API: gst_base_sink_query_latency() to let subclasses query the upstream
1093         latency.
1094         API: gst_base_sink_get_latency() to let subclasses query the configured
1095         latency in the sink.
1096         Implement query and set latency.
1097         Update some docs.
1098         As spotted by Will Newton <will dot newton at gmail dot com>: Make sure we
1099         don't continue preroll when we are flushing. Fixes #405284.
1100
1101         * tests/check/pipelines/stress.c: (change_state_timeout),
1102         (quit_timeout), (GST_START_TEST), (stress_suite):
1103         Test for #405284.
1104
1105 2007-02-09  Tim-Philipp Müller  <tim at centricular dot net>
1106
1107         Patch by: René Stadler <mail at renestadler de>
1108
1109         * docs/gst/gstreamer-sections.txt:
1110         * gst/gsttaglist.c: (_gst_tag_initialize):
1111         * gst/gsttaglist.h:
1112           API: add GST_TAG_REFERENCE_LEVEL (#403597).
1113
1114 2007-02-11  Stefan Kost  <ensonic@users.sf.net>
1115
1116         * docs/libs/Makefile.am:
1117           Fix path to core docs.
1118
1119         * gst/gstbin.c: (gst_bin_get_by_interface),
1120         (gst_bin_iterate_all_by_interface):
1121           Refix docs by also renaming 'interface' to 'iface' in implementation.
1122
1123         * docs/gst/gstreamer-sections.txt:
1124         * gst/gstcaps.c:
1125         * gst/gstchildproxy.c: (gst_child_proxy_base_init):
1126         * gst/gstchildproxy.h:
1127         * gst/gstelementfactory.c:
1128         * gst/gstpadtemplate.h:
1129         * libs/gst/controller/gstcontroller.c:
1130         (gst_controlled_property_new):
1131           Document more.
1132
1133 2007-02-10  Sébastien Moutte  <sebastien@moutte.net>
1134
1135         * gst/gstbin.h:(gst_bin_get_by_interface),
1136         (gst_bin_iterate_all_by_interface):
1137         Replace interface parameter name by iface as interface is 
1138         a reserved keyword in Visual Studio for C++ projects so it removes
1139         a build error for application developpers using VS.
1140         * plugins/elements/gstfilesrc.c:(gst_file_src_uri_set_uri):
1141         Fix a bug on Windows in uri format check. Now the prefix checked
1142         is file:// and next we check if the path after file:// is absolute.
1143         * win32/common/libgstbase.def:
1144         * win32/common/libgstdataprotocol.def:
1145         * win32/common/libgstgstreamer.def:
1146         Add new exported functions.
1147
1148 2007-02-09  Andy Wingo  <wingo@pobox.com>
1149
1150         * tests/check/pipelines/simple-launch-lines.c
1151         (simple_launch_lines_suite, test_tee): Disable tee test until I
1152         have time to fix it :-(
1153
1154         * tests/check/Makefile.am (noinst_HEADERS): 
1155         * tests/check/libs/libsabi.c: 
1156         * tests/check/libs/struct_ppc32.h: Add ABI checks for PPC32.
1157         * tests/check/gst/gstabi.c: 
1158         * tests/check/gst/struct_ppc32.h: Add ABI checks for PPC32.
1159
1160         * tests/check/pipelines/simple-launch-lines.c (test_tee): Add
1161         tests for push and pull tee behavior.
1162
1163         * plugins/elements/gsttee.h: 
1164         * plugins/elements/gsttee.c: Describe has-sink-loop better, and
1165         mark as deprecated as well as unimplemented. It was a crack idea.
1166         Add support for tee operating in pull mode, off by default.
1167
1168         * gst/gstregistryxml.c (load_feature, load_plugin): Drop some
1169         normal-case logs down to LOG, raise errors to WARNING.
1170         (gst_registry_xml_read_cache): Don't log before calling a function
1171         that logs.
1172
1173         * gst/gstregistry.c (gst_registry_finalize): Less debug on program
1174         exit (registry finalize).
1175         (gst_registry_add_plugin, gst_registry_add_feature): No need for a
1176         DEBUG log when we emit signals that people don't even have the
1177         chance to connect to.
1178         (gst_registry_scan_path_level): Less logging in the normal case.
1179
1180 2007-02-05  Sebastian Dröge  <slomo@circular-chaos.org>
1181
1182         Patch by: Michal Benes <michal dot benes at itonis dot tv>
1183
1184         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
1185         Correctly generate EOS for non-seekable files. We don't have a total
1186         length for them and would get an unexpected end of file if we only
1187         special-cased for regular files. (Fixes: #404569)
1188
1189 2007-02-05  Sebastian Dröge  <slomo@circular-chaos.org>
1190
1191         * tests/check/elements/filesrc.c: (GST_START_TEST),
1192         (filesrc_suite):
1193         Add unit test for the GstURIHandler interface in filesrc. This also
1194         tests the newly added file://localhost/foo/bar support.
1195
1196 2007-02-04  Tim-Philipp Müller  <tim at centricular dot net>
1197
1198         * gst/gstelementfactory.h:
1199           The klass string is not a hierarchy. Add reference to the design doc
1200           for more information and common types.
1201
1202 2007-02-02  Wim Taymans  <wim@fluendo.com>
1203
1204         * gst/gstquery.c: (gst_query_new_latency):
1205         Remove old structure field.
1206
1207 2007-02-02  Stefan Kost  <ensonic@users.sf.net>
1208
1209         * tools/gst-launch.1.in:
1210           Give example for network streaming (#351998)
1211
1212 2007-02-02  Wim Taymans  <wim@fluendo.com>
1213
1214         * docs/gst/gstreamer-sections.txt:
1215         Add docs for new methods.
1216
1217         * gst/gstevent.c: (gst_event_new_latency),
1218         (gst_event_parse_latency):
1219         * gst/gstevent.h:
1220         Add new LATENCY event to configure latency in a pipeline.
1221         API: gst_event_new_latency
1222         API: gst_event_parse_latency
1223
1224         * gst/gstmessage.c: (gst_message_new_buffering),
1225         (gst_message_new_lost_preroll), (gst_message_new_prerolled),
1226         (gst_message_new_latency), (gst_message_parse_buffering),
1227         (gst_message_parse_lost_preroll):
1228         * gst/gstmessage.h:
1229         Added messages used in draft-latency.
1230         API: gst_message_new_lost_preroll
1231         API: gst_message_parse_lost_preroll
1232         API: gst_message_new_prerolled
1233         API: gst_message_new_latency
1234
1235         * gst/gstquery.c: (gst_query_new_latency), (gst_query_set_latency),
1236         (gst_query_parse_latency):
1237         * gst/gstquery.h:
1238         Implemented new latency query as in design doc.
1239         API: gst_query_new_latency
1240         API: gst_query_set_latency
1241         API: gst_query_parse_latency
1242
1243 2007-02-02  Wim Taymans  <wim@fluendo.com>
1244
1245         * docs/design/draft-latency.txt:
1246         Slight redesign to allow for dynamic latency adjustments.
1247
1248         * docs/design/part-negotiation.txt:
1249         Fix some typos.
1250
1251 2007-02-02  Sebastian Dröge  <slomo@circular-chaos.org>
1252
1253         reviewed by: Wim Taymans <wim@fluendo.com>
1254
1255         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
1256         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
1257         Allow file://localhost/foo/bar URLs and correctly fail for every other
1258         hostname that one sets. This was gnomevfssrc is linked for those if
1259         installed as it can handle it (#403172)
1260
1261 2007-02-01  Sebastian Dröge  <slomo@circular-chaos.org>
1262
1263         reviewed by: Tim-Philipp Müller <tim at centricular dot net>
1264
1265         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
1266         (unref_data), (gst_collect_pads_add_pad_full):
1267         * libs/gst/base/gstcollectpads.h:
1268         Don't put the previously added destroy notify in the GstCollectData
1269         struct as all it's padding is already used and we don't want to break
1270         ABI. Instead put in the pad's GObject data for now. This should be
1271         cleaned up for 0.11 (#402393).
1272
1273 2007-02-01  Sebastian Dröge  <slomo@circular-chaos.org>
1274
1275         reviewed by: Wim Taymans <wim@fluendo.com>
1276
1277         * docs/libs/gstreamer-libs-sections.txt:
1278         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
1279         (unref_data), (gst_collect_pads_add_pad),
1280         (gst_collect_pads_add_pad_full):
1281         * libs/gst/base/gstcollectpads.h:
1282         API: Add function to specify a destroy notification for custom
1283         GstCollectData when adding new pads in GstCollectPads (#402393).
1284
1285 2007-02-01  Tim-Philipp Müller  <tim at centricular dot net>
1286
1287         * po/sv.po:
1288           Update Swedish translation (#378255).
1289
1290 2007-01-31  Stefan Kost  <ensonic@users.sf.net>
1291
1292         * docs/design/draft-klass.txt:
1293           Fix the previous change, this is a list of categories and not a hierarchy.
1294
1295 2007-01-31  Stefan Kost  <ensonic@users.sf.net>
1296
1297         * docs/design/draft-klass.txt:
1298           Add info about how to get a list of used classes.
1299
1300 2007-01-30  Tim-Philipp Müller  <tim at centricular dot net>
1301
1302         * plugins/elements/gsttypefindelement.c:
1303         (gst_type_find_element_chain_do_typefinding),
1304         (gst_type_find_element_change_state):
1305           Don't leak found caps in chain function (no idea why that never
1306           showed up as a leak anywhere).
1307
1308 2007-01-30  Stefan Kost  <ensonic@users.sf.net>
1309
1310         * gst/gstplugin.h:
1311           Fix and expand GstPluginDesc API docs.
1312
1313 2007-01-29  Stefan Kost  <ensonic@users.sf.net>
1314
1315         * gst/gstcaps.c:
1316         * gst/gstelementfactory.c:
1317         * gst/gstpadtemplate.h:
1318           api doc fixes
1319
1320         * libs/gst/controller/gstcontroller.c:
1321         (gst_controlled_property_new):
1322         * tests/examples/controller/audio-example.c:
1323           comment fixes
1324
1325 2007-01-29  Stefan Kost  <ensonic@users.sf.net>
1326
1327         * configure.ac:
1328           comment about refining the xml deps
1329
1330         * docs/manuals.mak:
1331           comments about moving away from jade for docs
1332         
1333         * gst/gst.c:
1334           recommit the ifdefs to use the binary registry
1335         
1336         * gst/gstbin.c: (gst_bin_change_state_func):
1337           this break is obsolete
1338
1339         * gst/gstelementfactory.h:
1340           better GST_ELEMENT_DETAILS docs, add comment about translation
1341
1342         * gst/gstinfo.h:
1343           remove eol slash
1344
1345         * gst/gstobject.c: (gst_signal_object_get_type):
1346           add G_UNLIKELY as usual
1347
1348         * gst/gstpad.c: (gst_pad_event_default):
1349           add fall trhu comment
1350
1351         * gst/gstregistrybinary.c: (gst_registry_binary_write),
1352         (gst_registry_binary_initialize_magic),
1353         (gst_registry_binary_save_string),
1354         (gst_registry_binary_save_pad_template),
1355         (gst_registry_binary_save_feature),
1356         (gst_registry_binary_save_plugin),
1357         (gst_registry_binary_write_cache),
1358         (gst_registry_binary_check_magic),
1359         (gst_registry_binary_load_pad_template),
1360         (gst_registry_binary_load_feature),
1361         (gst_registry_binary_load_plugin),
1362         (gst_registry_binary_read_cache):
1363           comment typo and formatting
1364
1365         * gst/gstutils.c: (gst_element_state_get_name),
1366         (gst_element_state_change_return_get_name):
1367           remove obsolete breaks
1368
1369         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
1370           add FIXME 0.11 and remove cpp comment
1371
1372 2007-01-29  Edward Hervey  <edward@fluendo.com>
1373
1374         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
1375         Fix print statement in an even more portable way.
1376
1377 2007-01-29  Tim-Philipp Müller  <tim at centricular dot net>
1378
1379         * docs/gst/gstreamer-sections.txt:
1380         * gst/gstutils.h:
1381           API: add GST_ROUND_DOWN_* macros (#401781).
1382
1383 2007-01-27  Tim-Philipp Müller  <tim at centricular dot net>
1384
1385         * docs/gst/gstreamer.types.in:
1386         * gst/gstregistry.c: (gst_registry_class_init):
1387           Document registry signals and make gtk-doc pick them up (#401381).
1388
1389 2007-01-26  Tim-Philipp Müller  <tim at centricular dot net>
1390
1391         * docs/pwg/building-testapp.xml:
1392           Add some audioconverts and audioresample to the pipeline, and some
1393           more comments and error handling.
1394
1395 2007-01-26  Tim-Philipp Müller  <tim at centricular dot net>
1396
1397         * docs/manual/manual.xml:
1398         * docs/pwg/pwg.xml:
1399           Fix typo (#400987).
1400
1401 2007-01-26  Wim Taymans  <wim@fluendo.com>
1402
1403         * gst/gstcaps.c: (gst_static_caps_get):
1404         Init caps flags too.
1405
1406 2007-01-25  Sebastian Dröge  <slomo@circular-chaos.org>
1407
1408         Patch by: Jindrich Makovicka <jindrich.makovick at itonis dot tv>
1409
1410         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
1411         If not using mmap'ed files try to seek to the end instead of the
1412         start to determine whether we can seek at all. This fixes the case
1413         of 2GB+ files over NFS, where seeks in the first 2GB can succeed but
1414         seeks for everything afterwards fail. Fixes #400656
1415
1416 2007-01-25  Wim Taymans  <wim@fluendo.com>
1417
1418         * gst/gstcaps.c: (_gst_caps_free), (gst_static_caps_get):
1419         Add some refcount debugging.
1420         Make gst_static_caps_get threadsafe, which is needed when autoplugging
1421         in multiple streaming threads.
1422
1423 2007-01-25  Wim Taymans  <wim@fluendo.com>
1424
1425         Patch by: David Schleef <ds at schleef dot org>
1426
1427         * docs/libs/gstreamer-libs-sections.txt:
1428         * libs/gst/base/gstadapter.c: (gst_adapter_copy):
1429         * libs/gst/base/gstadapter.h:
1430         API: gst_adapter_copy() that can reduce the amount of memcpy when
1431         getting data from the adapter. Fixes #388201.
1432
1433 2007-01-25  Edward Hervey  <edward@fluendo.com>
1434
1435         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
1436         In print statements, "%x" is for guint. Fixes build on macosx.
1437
1438 2007-01-24  Edward Hervey  <edward@fluendo.com>
1439
1440         * plugins/elements/gstmultiqueue.c:
1441         (gst_multi_queue_loop):
1442         Small fix.
1443         (single_queue_overrun_cb), (single_queue_underrun_cb),
1444         (single_queue_check_full), (gst_single_queue_new):
1445         Implement single queue growth system.
1446         This uses the extra-size properties, and will grow single queues by
1447         that much if one goes full whereas there are others empty. This is
1448         called extra-mode in the code.
1449         When a single queue's levels go back below the initial max-size
1450         limits, it is no longer in extra-mode. This is to ensure we don't
1451         consume too much memory.
1452         Fixes #399875
1453
1454 2007-01-23  Tim-Philipp Müller  <tim at centricular dot net>
1455
1456         * gst/gst.c: (gst_init_get_option_group):
1457           Make warning about late g_thread_init() calls a bit more explicit,
1458           so that it's more obvious to application developers what they need
1459           to do if a user files a bug against their application.
1460
1461 2007-01-22  Edward Hervey  <edward@fluendo.com>
1462
1463         * plugins/elements/gstmultiqueue.c:
1464         (gst_multi_queue_src_activate_push), (gst_single_queue_new):
1465         Remove previous hack of unsetting the flushing flag for the source pad
1466         instead of activating it. Instead, fix the source pad activate function
1467         so that it no longer depends on having a parent set or not.
1468
1469 2007-01-22  Tim-Philipp Müller  <tim at centricular dot net>
1470
1471         Patch by: Carlos Sanmartin Dominguez <csanmartin@igalia.com>
1472
1473         * docs/manual/basics-bus.xml:
1474           Fix example code, gst_element_unref() doesn't exist any longer.
1475
1476 2007-01-21  Tim-Philipp Müller  <tim at centricular dot net>
1477
1478         Patch by: Mark Nauwelaerts <manauw at skynet be>
1479
1480         * gst/gstpad.c:
1481           Fix two docs typoes (#399094).
1482
1483 2007-01-19  Edward Hervey  <edward@fluendo.com>
1484
1485         * docs/faq/gst-uninstalled:
1486         Add gst-plugins-base/gst/utils/ to LD_LIBRARY_PATH so that plugins
1487         depending on libgstbaseutils can work in uninstalled environment.
1488
1489 2007-01-18  Stefan Kost  <ensonic@users.sf.net>
1490
1491         * gst/gsttaglist.h:
1492         * gst/gsttagsetter.c:
1493         Add more docs regarding tag merge-modes and when to send tags. Fix 'since'
1494         statement for new tag.
1495
1496 2007-01-17  Edward Hervey  <edward@fluendo.com>
1497
1498         * plugins/elements/gstmultiqueue.c: (gst_single_queue_new):
1499         When dynamically creating single queues, activate sinkpad before adding
1500         it.
1501         We should be doing the same thing for the source pad, but we can't
1502         since it would call a method which needs the parent to be set in order
1503         to work propertly. Instead of activating the source pad, we just unset
1504         the flushing flag, which is the minimal requirement for adding a pad
1505         to an element in a state greater than READY.
1506
1507 2007-01-17  Edward Hervey  <edward@fluendo.com>
1508
1509         * docs/faq/gst-uninstalled:
1510         Add DYLD_LIBRARY_PATH declarations so we can also use this script on
1511         Mac OS X.
1512
1513 2007-01-17  Tim-Philipp Müller  <tim at centricular dot net>
1514
1515         * tests/check/gst/gstabi.c:
1516         * tests/check/gst/struct_hppa.h:
1517         * tests/check/libs/libsabi.c:
1518         * tests/check/libs/struct_hppa.h:
1519           Add ABI structs for HPPA (see #393796).
1520
1521 2007-01-16  Tim-Philipp Müller  <tim at centricular dot net>
1522
1523         * libs/gst/check/gstcheck.c: (gst_check_abi_list):
1524           Actually write ABI structs to the file specified in the GST_ABI
1525           environment variable, as the message we print claims we would.
1526
1527 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
1528
1529         * tests/check/gst/gsttask.c:
1530           Fix header comment.
1531
1532 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
1533
1534         * gst/gsttaglist.c: (_gst_tag_initialize):
1535           Change tag type from STRING to DOUBLE. Apply ChangeLog surgery for my
1536           previous two entries.
1537
1538 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
1539
1540         * docs/gst/gstreamer-sections.txt:
1541         * gst/gsttaglist.c: (_gst_tag_initialize):
1542         * gst/gsttaglist.h:
1543           Add tag support for beat-per-minute.
1544
1545 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
1546
1547         * gst/gstregistrybinary.c: (gst_registry_binary_write),
1548         (gst_registry_binary_initialize_magic),
1549         (gst_registry_binary_save_string), (gst_registry_binary_make_data),
1550         (gst_registry_binary_save_pad_template),
1551         (gst_registry_binary_save_feature),
1552         (gst_registry_binary_save_plugin),
1553         (gst_registry_binary_write_cache),
1554         (gst_registry_binary_check_magic),
1555         (gst_registry_binary_load_pad_template),
1556         (gst_registry_binary_load_feature),
1557         (gst_registry_binary_load_plugin),
1558         (gst_registry_binary_read_cache):
1559         * gst/gstregistrybinary.h:
1560           Use glib types, cleanup comments, impement interfaces and uri-types.
1561
1562 2007-01-13  Andy Wingo  <wingo@pobox.com>
1563
1564         * gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Allow
1565         getrange() to return buffers with other caps, while we fix
1566         demuxers and typefind, or otherwise change part-negotiation.txt.
1567
1568 2007-01-12  Andy Wingo  <wingo@pobox.com>
1569
1570         * libs/gst/base/gstbasetransform.c (gst_base_transform_activate):
1571         Factor start/stop into this private function instead of partially
1572         in activate functions and partially in the change_state function.
1573         Fixes setup before the element has changed from READY->PAUSED, as
1574         is the case in pull-mode pipelines.
1575         (gst_base_transform_sink_activate_push)
1576         (gst_base_transform_src_activate_pull): Refactor to use
1577         gst_base_transform_activate().
1578         (gst_base_transform_change_state): Removed, not needed any more.
1579
1580         * libs/gst/base/gstbasesink.c (gst_base_sink_negotiate_pull):
1581         Truncate before fixating.
1582         
1583         * libs/gst/base/gstbasesink.c (gst_base_sink_negotiate_pull):
1584         Don't set_caps() if the result of fixating is ANY, as it's not
1585         supported, and not necessary in the case of a link with no
1586         template caps on either side. Fixes tests/check/libs/basesrc in
1587         some pull-mode tests.
1588
1589         * libs/gst/base/gstbasetransform.c (_GstBaseTransformPrivate):
1590         (gst_base_transform_init, gst_base_transform_sink_activate_push)
1591         (gst_base_transform_src_activate_pull): 
1592         Track the activation mode.
1593         (gst_base_transform_setcaps): In pull mode, when activating the
1594         src pad, after activating the sink pad, activate the sink pad's
1595         peer, as discussed in part-negotiation.txt.
1596
1597         * libs/gst/base/gstbasesrc.h: 
1598         * libs/gst/base/gstbasesrc.c (gst_base_src_fixate): Add fixate
1599         vmethod, as in basesink.
1600
1601         * libs/gst/base/gstbasesink.h: Reformat docs, add fixate vmethod.
1602
1603         * libs/gst/base/gstbasesink.c (gst_base_sink_pad_setcaps): In pull
1604         mode, first proxy the setcaps to the peer pad.
1605         (gst_base_sink_pad_fixate): Add a fixate function that calls the
1606         new fixate vmethod.
1607         (gst_base_sink_default_activate_pull): Rename from
1608         gst_base_sink_activate_pull.
1609         (gst_base_sink_negotiate_pull): New function, performs negotiation
1610         in pull mode before calling ::activate_pull().
1611         (gst_base_sink_pad_activate_pull): Actually call the activate_pull
1612         vmethod instead of the default implementation. I have no idea how
1613         this worked before. Negotiate before calling activate_pull.
1614
1615         * gst/gstpad.c (gst_pad_activate_pull): Refuse to activate unlinked
1616         sink pads in pull mode. In addition to being correct, fixes
1617         filesrc ! decodebin ! identity ! fakesink.
1618         (gst_pad_get_range, gst_pad_pull_range): Don't call
1619         gst_pad_set_caps() if the caps changes; instead error out with
1620         GST_FLOW_NOT_NEGOTIATED, as discussed in part-negotiation.txt.
1621
1622 2007-01-12  Andy Wingo  <wingo@pobox.com>
1623
1624         * docs/design/part-negotiation.txt: Update with more policy.
1625
1626 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
1627
1628         * libs/gst/check/gstbufferstraw.h:
1629         * libs/gst/check/gstcheck.h:
1630           Add G_BEGIN_DECLS and G_END_DECLS. Move GST_CHECK_MAIN where it
1631           belongs.
1632
1633 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
1634
1635         * tests/check/Makefile.am:
1636         * tests/check/gst/.cvsignore:
1637         * tests/check/gst/gsttagsetter.c: (gst_dummy_enc_add_interfaces),
1638         (gst_dummy_enc_base_init), (gst_dummy_enc_class_init),
1639         (gst_dummy_enc_init), (tag_list_foreach), (tag_setter_list_length),
1640         (GST_START_TEST), (gst_tag_setter_suite):
1641           Add minimal unit test for beforementioned GstTagSetter bug.
1642
1643 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
1644
1645         Patch by: René Stadler <mail at renestadler dot de>
1646
1647         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags):
1648           gst_tag_list_merge() returns a new list, so it's not the best idea
1649           to ingore its return value. Effectively meant that tags could only
1650           be merged on a GstTagSetter once using _merge_tags(). Fixes #395554.
1651           Also add function guard to require a non-NULL taglist as input (has
1652           always been so due to gst_tag_list_copy(), just making it explicit).
1653
1654 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
1655
1656         * docs/random/draft-missing-plugins.txt:
1657           Some additions: mention new API that is supposed to be used at the
1658           various stages; short blob about new gst-inspect introspection
1659           option; mention potential future problem with plugins that have
1660           a dynamic list of elements (such as ladspa, pitfdll, libvisual).
1661
1662 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
1663
1664         * tools/gst-inspect.c:
1665         (print_plugin_automatic_install_info_codecs),
1666         (print_plugin_automatic_install_info_protocols),
1667         (print_plugin_automatic_install_info), (main):
1668         Add --print-plugin-auto-install-info option to gst-inspect, so we can
1669         introspect plugin files and get machine-parsable output that corresponds
1670         to the last bit of the missing-plugin installer string (small gotcha:
1671         doesn't take into account ranks).
1672
1673 2007-01-11  Stefan Kost  <ensonic@users.sf.net>
1674
1675         * configure.ac:
1676         * docs/gst/gstreamer-sections.txt:
1677         * gst/Makefile.am:
1678         * gst/gstregistry.c: (gst_registry_lookup_feature_locked),
1679         (gst_registry_lookup_locked):
1680         * gst/gstregistry.h:
1681         * gst/gstregistrybinary.c: (gst_registry_binary_write),
1682         (gst_registry_binary_initialize_magic),
1683         (gst_registry_binary_save_string),
1684         (gst_registry_binary_save_pad_template),
1685         (gst_registry_binary_save_feature),
1686         (gst_registry_binary_save_plugin),
1687         (gst_registry_binary_write_cache),
1688         (gst_registry_binary_check_magic),
1689         (gst_registry_binary_load_pad_template),
1690         (gst_registry_binary_load_feature),
1691         (gst_registry_binary_load_plugin),
1692         (gst_registry_binary_read_cache):
1693         * gst/gstregistrybinary.h:
1694         * gst/gstregistryxml.c: (load_feature),
1695         (gst_registry_xml_read_cache):
1696           commit binary registry (disabled by default, see #359653)
1697
1698 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
1699
1700         * tests/check/gst/gstpad.c: (test_get_allowed_caps):
1701           Fix 'make check' too.
1702
1703 2007-01-10  Andy Wingo  <wingo@pobox.com>
1704
1705         * docs/design/part-negotiation.txt: Fix a typo, add a couple
1706         notes.
1707         
1708         * docs/design/part-negotiation.txt: Update with, um, one way that
1709         pull-mode negotiation might work?
1710
1711         * gst/gstpad.h: 
1712         * gst/gstpad.c (gst_pad_get_allowed_caps): Remove the restriction
1713         that the pad must be a src pad; makes sense to call it the other
1714         way in pull mode, and the logic is symmetric anyway.
1715
1716 2007-01-10  Tim-Philipp Müller  <tim at centricular dot net>
1717
1718         * plugins/elements/gstfilesink.c:
1719           Include <stdio.h> for fseeko().
1720
1721 2007-01-10  Wim Taymans  <wim@fluendo.com>
1722
1723         * gst/gstevent.c:
1724         * gst/gstevent.h:
1725         Reserve LATENCY event.
1726
1727 2007-01-09  Wim Taymans  <wim@fluendo.com>
1728
1729         * docs/design/draft-latency.txt:
1730         Updates.
1731
1732 2007-01-09  Wim Taymans  <wim@fluendo.com>
1733
1734         * docs/design/draft-latency.txt:
1735         Updates.
1736
1737         * gst/gstelement.h:
1738         * gst/gststructure.c:
1739         * gst/gsttrace.c:
1740         Small typo fixes.
1741
1742 2007-01-09  Tim-Philipp Müller  <tim at centricular dot net>
1743
1744         * tests/check/.cvsignore:
1745           Ignore test-registry.xml as well.
1746
1747 2007-01-09  Wim Taymans  <wim@fluendo.com>
1748
1749         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
1750         unref data at the end when we are done with the pad.
1751
1752 2007-01-08  Tim-Philipp Müller  <tim at centricular dot net>
1753
1754         * docs/gst/gstreamer-sections.txt:
1755         * gst/gst.c: (load_plugin_func), (scan_and_update_registry),
1756         (init_post), (gst_deinit), (gst_update_registry):
1757         * gst/gst.h:
1758           API: add gst_update_registry() (#391296).
1759
1760         * tests/check/Makefile.am:
1761         * tests/check/gst/gstregistry.c:
1762         * tests/check/gst/.cvsignore:
1763           Simple unit test for the above.
1764
1765 2007-01-08  Tim-Philipp Müller  <tim at centricular dot net>
1766
1767         * gst/gstregistry.c: (gst_registry_scan_path_level):
1768           Plugin extension on HP-UX is .sl, add that to the list of approved
1769           plugin extensions (see #393796).
1770
1771         * tests/check/gst/gstpad.c: (GST_START_TEST):
1772           ulong => gulong. Fixes compilation with HP-UX compiler.
1773
1774         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
1775           Fix compilation if valgrind headers are not available.
1776
1777 2007-01-07  Sébastien Moutte  <sebastien@moutte.net>
1778
1779         * win32/common/libgstreamer.def: 
1780           Add new exported function.
1781         * win32/vs6/libgstbase.dsp: 
1782           Add gstdataqueue.c to the build.
1783         * win32/vs6/libgstcoreelements.dsp:
1784           Add gstmultiqueue.c to the build.
1785         
1786 2007-01-06  Andy Wingo  <wingo@pobox.com>
1787
1788         * libs/gst/base/gstbasesink.h: New GstBaseSinkClass vmethod,
1789         activate_pull(), providing for a way to specialize the process of
1790         spawning a thread to pull on the sink pad. There is a default
1791         implementation.
1792
1793         * libs/gst/base/gstbasesink.c (gst_base_sink_pad_activate_pull)
1794         (gst_base_sink_pad_activate_push, gst_base_sink_pad_activate)
1795         (gst_base_sink_init): Renamed pad activation functions (inserting
1796         "_pad" in their names). Refactor to use the new activate_pull
1797         vmethod, as appropriate.
1798         (gst_base_sink_class_init, gst_base_sink_activate_pull): Set the
1799         default activate_pull function to start a task pulling from the
1800         sink pad, as before.
1801
1802         * gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Set caps
1803         on the pads if necessary, as in push()/chain(). Update docs.
1804         Shouldn't affect existing pull() usage as it is currently only
1805         being used on buffers without caps.
1806
1807 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
1808
1809         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
1810         (init_pre):
1811           Call g_thread_init() first thing in gst_init() / gst_check_init().
1812           When initialisation is done via gst_init_get_option_group() and
1813           GOption parsing, issue a warning if the GLib thread system has not
1814           been initialised yet by the time gst_init_get_option_group() is
1815           called, as it's quite likely other GLib functions such as
1816           g_option_context_new() have been called already then, and
1817           g_thread_init() must be called before any other GLib function. The
1818           application in question must be fixed in that case, since memory
1819           corruption might happen otherwise.
1820           We issue the warning because even if the GLib folks decide to work
1821           around the problem on their end in future, this is still an issue
1822           with all GLib versions >= 2.10.0, so we should warn until we depend
1823           on a GLib version we know to be safe.
1824           Update documentation as well.
1825           Closes bug #391278.
1826
1827 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
1828
1829         * tools/gst-inspect.c: (main):
1830         * tools/gst-launch.c: (main):
1831         * tools/gst-typefind.c: (main):
1832         * tools/gst-xmlinspect.c: (main):
1833           Call g_thread_init() really really early, before any other GLib
1834           function (see #342564 and recent discussion on gtk-devel-list).
1835
1836 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
1837
1838         Patch by: Vincent Torri  <vtorri at univ-evry dot fr>
1839
1840         * gst/gst_private.h:
1841         * gst/gstconfig.h.in:
1842         * gst/gstinfo.h:
1843           On win32, all the __declspec stuff for symbol exporting is
1844           apparently only needed with MSVC, but doesn't work with MingW.
1845           Fixes compilation with MingW and #391909.
1846
1847 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
1848
1849         * libs/gst/base/gstbasesrc.c: (gst_base_src_activate_push):
1850           Change some GST_ERROR_OBJECT that aren't really errors to
1851           GST_WARNING_OBJECT in order to reduce terminal spam.
1852
1853 2007-01-04  Stefan Kost  <ensonic@users.sf.net>
1854
1855         * tests/check/Makefile.am:
1856           disable test again, as there seem to be still race problems
1857
1858 2007-01-04  Stefan Kost  <ensonic@users.sf.net>
1859
1860         * tests/check/Makefile.am:
1861         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
1862         (GST_START_TEST), (queue_suite):
1863           enable queue test again, add tests for the leaky behaviour
1864
1865 2007-01-02  Tim-Philipp Müller  <tim at centricular dot net>
1866
1867         * configure.ac:
1868         * tests/examples/Makefile.am:
1869           Compile adapter test/example only if the required headers are
1870           available (fixes #391915).
1871
1872 2007-01-01  David Schleef  <ds@schleef.org>
1873
1874         * gst/gstplugin.c:
1875           Restore the previous signal handler for SIGSEGV instead of
1876           setting to default, since we may have stolen it away from
1877           someone.  (i.e., Mono)
1878
1879 2006-12-26  Tim-Philipp Müller  <tim at centricular dot net>
1880
1881         * docs/random/draft-missing-plugins.txt:
1882           Some small additions and clarifications.
1883
1884 2006-12-26  Tim-Philipp Müller  <tim at centricular dot net>
1885
1886         * gst/gstregistryxml.c: (gst_registry_save_escaped):
1887           Make sure we don't pass non-UTF-8 strings to g_markup_escape(),
1888           since that can lead to random memory corruptions and crashes
1889           (may or may not be related to #383244, #386711, and #386711).
1890
1891 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
1892
1893         * tests/check/.cvsignore:
1894         * tests/check/Makefile.am:
1895           sync .cvsignome and CLEANFILES
1896
1897 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
1898
1899         * tests/check/Makefile.am:
1900           fix distcheck
1901
1902 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
1903
1904         * docs/design/part-states.txt:
1905           two tiny additional comments
1906         
1907         * gst/gststructure.c:
1908           doc fixing
1909
1910         * tests/check/Makefile.am:
1911         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
1912         (GST_START_TEST):
1913           disable test for now, unless it gets fixed
1914
1915 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
1916
1917         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
1918         (GST_START_TEST):
1919           fix race in underrun test
1920
1921 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
1922
1923         * tests/check/elements/.cvsignore:
1924           ignore more
1925
1926         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
1927         (GST_START_TEST):
1928           try to narrow test failure
1929
1930 2006-12-21  David Schleef  <ds@schleef.org>
1931
1932         * plugins/elements/gstfakesrc.c:
1933           Use g_random_int_range(), since it produces better random
1934           numbers in a range than almost-correct floating point code.
1935
1936 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
1937
1938         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
1939         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
1940         (gst_check_teardown_sink_pad):
1941           do not automatically (de)activate pads
1942
1943         * tests/check/Makefile.am:
1944         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
1945         (setup_queue), (cleanup_queue), (GST_START_TEST), (queue_suite):
1946           add new, yet simple tests for queue
1947
1948         * tests/check/elements/fakesrc.c: (cleanup_fakesrc):
1949         * tests/check/elements/fdsrc.c: (cleanup_fdsrc):
1950         * tests/check/elements/filesrc.c: (cleanup_filesrc),
1951         (GST_START_TEST):
1952         * tests/check/elements/identity.c: (cleanup_identity):
1953           consistent pad (de)activation
1954
1955 2006-12-20  Tim-Philipp Müller  <tim at centricular dot net>
1956
1957         Patch by: Sebastian Dröge  <slomo ubuntu com>
1958
1959         * libs/gst/base/gstcollectpads.c:
1960           Fix two doc typos (#387866).
1961
1962 2006-12-19  Tim-Philipp Müller  <tim at centricular dot net>
1963
1964         * docs/manual/advanced-dparams.xml:
1965           Fix typo (g_object_control_properties() doesn't exist).
1966
1967 2006-12-19  Edward Hervey  <edward@fluendo.com>
1968
1969         * gst/gstsegment.c: (gst_segment_set_seek):
1970         Fine tune the cases where the segment start/stop values are really
1971         updated.
1972         * tests/check/gst/gstsegment.c: (GST_START_TEST):
1973         Add tests for the return values of gst_segment_set_seek().
1974
1975 2006-12-19  Tim-Philipp Müller  <tim at centricular dot net>
1976
1977         * gst/gst.c:
1978           Docs typo fix.
1979
1980         * plugins/elements/gstqueue.c: (gst_queue_class_init),
1981         (gst_queue_init):
1982           Fix incorrect documentation and flesh it out a bit more.
1983           Set default values for the max properties on the GParamSpec as well,
1984           so it shows up correctly in gst-inspect.
1985
1986 2006-12-18  Stefan Kost  <ensonic@users.sf.net>
1987
1988         * plugins/elements/gstqueue.c: (queue_leaky_get_type):
1989           Correct docs of queue, add more detail and crosslink it more.
1990
1991 2006-12-16  Tim-Philipp Müller  <tim at centricular dot net>
1992
1993         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
1994           Print additional debug info when the stream isn't perfectly
1995           timestamped; don't try to use invalid durations.
1996
1997 2006-12-16  Tim-Philipp Müller  <tim at centricular dot net>
1998
1999         * docs/design/Makefile.am:
2000           Dist new design docs.
2001
2002 2006-12-16  Wim Taymans  <wim@fluendo.com>
2003
2004         Patch by: Sjoerd Simons <sjoerd at luon dot net>
2005
2006         * libs/gst/base/gstcollectpads.c: (ref_data), (unref_data),
2007         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
2008         (gst_collect_pads_stop), (gst_collect_pads_event),
2009         (gst_collect_pads_chain):
2010         * libs/gst/base/gstcollectpads.h:
2011         Add refcounting to the collectpads data so we can track when it's safe
2012         to free the data. Fixes #383382.
2013
2014 2006-12-15  Wim Taymans  <wim@fluendo.com>
2015
2016         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
2017         (gst_collect_pads_remove_pad):
2018         Automatically activate/deactivate pads when they are added to a
2019         started/stoped collectpads.
2020
2021 2006-12-15  Wim Taymans  <wim@fluendo.com>
2022
2023         * gst/gstelement.c: (gst_element_add_pad):
2024         * gst/gstghostpad.c: (gst_ghost_pad_new_full):
2025         * gst/gstpad.c: (gst_pad_init):
2026         Set pads to FLUSHING when they are created. Check, warn and fix when a
2027         demuxer adds an inactive pad to itself when running. Fixes #339326.
2028
2029 2006-12-15  Wim Taymans  <wim@fluendo.com>
2030
2031         * gst/gstelement.c: (gst_element_class_init),
2032         (gst_element_default_send_event), (gst_element_send_event),
2033         (gst_element_default_query), (gst_element_query):
2034         Expose default element send_event and query handling as vmethods that
2035         subclasses can chain up to.
2036
2037 2006-12-15  Wim Taymans  <wim@fluendo.com>
2038
2039         * gst/gstelement.c: (gst_element_set_state_func):
2040         Small documentation fixes.
2041
2042 2006-12-15  Wim Taymans  <wim@fluendo.com>
2043
2044         * docs/design/draft-latency.txt:
2045         Checked in draft for handling latency in pipelines.
2046
2047 2006-12-15  Thomas Vander Stichele  <thomas at apestaart dot org>
2048
2049         * Makefile.am:
2050         * gstreamer.doap:
2051         * gstreamer.spec.in:
2052           adding .doap file
2053
2054 2006-12-14  Tim-Philipp Müller  <tim at centricular dot net>
2055
2056         * gst/gst.c: (init_pre), (init_post):
2057           init_pre() and init_post() might be called via our GOptionGroup or
2058           from gst_init(), and we should skip both of them if we've already
2059           been initialised, otherwise we will init some things twice or add
2060           two default log functions.
2061
2062 2006-12-13  Edward Hervey  <edward@fluendo.com>
2063
2064         * docs/manual/basics-bus.xml:
2065         No, gst_main_loop does not exist. Its g_main_loop.
2066         Discovered by somebody who abused the copy-paste technique of coding :)
2067
2068 2006-12-13  Tim-Philipp Müller  <tim at centricular dot net>
2069
2070         * gst/gstghostpad.c:
2071           Log ghostpad debug stuff to the GST_PADS category as well rather
2072           than just to the default category.
2073
2074 2006-12-12  Tim-Philipp Müller  <tim at centricular dot net>
2075
2076         * configure.ac:
2077         * gst/gst.c: (init_pre):
2078           Add some basic system details such as OS and architecture
2079           to the debug output if possible, courtesy of uname().
2080
2081 2006-12-11  Tim-Philipp Müller  <tim at centricular dot net>
2082
2083         * docs/gst/running.xml:
2084           Document GST_REGISTRY_FORK and GST_DEBUG_NO_COLOR
2085           environment variables.
2086
2087 2006-12-09  Jan Schmidt  <thaytan@mad.scientist.com>
2088
2089         * tests/check/gst/gstbin.c: (GST_START_TEST):
2090         It is acceptable to have a refcount of 2 or 3 at this point in the
2091         test, because the pipeline might be just posting its state_change
2092         message. The next line then waits for that message to appear using
2093         bus_poll, so that should be fine too.
2094
2095 2006-12-09  Jan Schmidt  <thaytan@mad.scientist.com>
2096
2097         * gst/gst.c: (ensure_current_registry_forking):
2098         Ignore EINTR when reading from the child registry pipe.
2099         Explicitly ignore the return value from close, since it makes no
2100         difference.
2101
2102         * gst/gstminiobject.c: (gst_mini_object_ref),
2103         (gst_mini_object_unref):
2104         When debugging refcounts, check GST_IS_MINI_OBJECT and warn.
2105
2106         * gst/gstregistry.c: (_priv_gst_registry_remove_cache_plugins):
2107         When removing cached plugins, remove their features too, so they're
2108         not visible after they've disappeared.
2109
2110         * gst/gstutils.c: (prepare_link_maybe_ghosting):
2111         In the unlikely case that we are linking pads with no parents, don't
2112         crash trying to get the non-existent parent bin.
2113
2114         * gst/parse/grammar.y:
2115         Output debug in the PIPELINE category
2116
2117 2005-03-08  Wim Taymans  <wim@fluendo.com>
2118
2119         Patch by: René Stadler <mail at renestadler dot de>
2120
2121         * gst/gstclock.c: (gst_clock_new_periodic_id):
2122         Reject invalid clock times for interval of periodic ids.
2123         Fixes ##383506.
2124
2125 2006-12-07  Jan Schmidt  <thaytan@mad.scientist.com>
2126
2127         * gst/gstelementfactory.c: (gst_element_factory_create):
2128         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
2129         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
2130         * tools/gst-inspect.c: (print_element_info):
2131         Fix refcounting of gst_plugin_feature_load to match the docs. 
2132         Fixes: #380129
2133
2134 2006-12-07  Wim Taymans  <wim@fluendo.com>
2135
2136         * libs/gst/base/gstbasesink.c: (gst_base_sink_event),
2137         (gst_base_sink_get_position):
2138         Improve debugging of events.
2139
2140 2006-12-07  Wim Taymans  <wim@fluendo.com>
2141
2142         Patch by: René Stadler <mail at renestadler dot de>
2143
2144         * gst/gstclock.c: (gst_clock_id_wait):
2145         Make period ids add the interval to the origial requested time instead
2146         of the possibly updated time which can be wrong when there are multiple
2147         waiters for the same id. Fixes #382592.
2148
2149         * gst/gstsystemclock.c: (gst_system_clock_async_thread),
2150         (gst_system_clock_id_wait_jitter_unlocked),
2151         (gst_system_clock_id_wait_jitter):
2152         Fix restart in the async notify thread when an async entry is added to
2153         the front of the list. Fixes #381492. 
2154
2155         * tests/check/gst/gstsystemclock.c: (store_callback),
2156         (notify_callback), (GST_START_TEST), (gst_systemclock_suite):
2157         Added test for multiple async waits.
2158         Added test for async wait order.
2159
2160 2006-12-07  Wim Taymans  <wim@fluendo.com>
2161
2162         * gst/gstbin.c: (gst_bin_query):
2163         Add some more docs about the POSITION query.
2164
2165 2006-12-07  Jan Schmidt  <thaytan@mad.scientist.com>
2166
2167         * configure.ac:
2168         Bump version nano - back to CVS.
2169
2170 === release 0.10.11 ===
2171
2172 2006-12-06  Jan Schmidt <thaytan@mad.scientist.com>
2173
2174         * configure.ac:
2175           releasing 0.10.11, "Love never runs on time"
2176
2177 2006-12-01  Jan Schmidt  <thaytan@mad.scientist.com>
2178
2179         * win32/common/libgstbase.def:
2180         * win32/common/libgstreamer.def:
2181         * win32/vs8/libgstbase.vcproj:
2182         * win32/vs8/libgstcoreelements.vcproj:
2183         * win32/vs8/libgstreamer.vcproj:
2184         Fix compilation on win32 under VS8
2185         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
2186         Partially fixes #381175
2187
2188 2006-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
2189
2190         * gst/gstvalue.c: (gst_value_compare_fraction):
2191         If someone is foolish enough to compare 2 fractions with denominator =
2192         0, return UNORDERED rather than aborting.
2193
2194 2006-11-28  Edward Hervey  <edward@fluendo.com>
2195
2196         * libs/gst/base/Makefile.am:
2197         * libs/gst/base/gstdataqueue.c: (gst_data_queue_get_type),
2198         (gst_data_queue_base_init), (gst_data_queue_class_init),
2199         (gst_data_queue_init), (gst_data_queue_new),
2200         (gst_data_queue_cleanup), (gst_data_queue_finalize),
2201         (gst_data_queue_locked_flush), (gst_data_queue_locked_is_empty),
2202         (gst_data_queue_locked_is_full), (gst_data_queue_flush),
2203         (gst_data_queue_is_empty), (gst_data_queue_is_full),
2204         (gst_data_queue_set_flushing), (gst_data_queue_push),
2205         (gst_data_queue_pop), (gst_data_queue_drop_head),
2206         (gst_data_queue_set_property), (gst_data_queue_get_property):
2207         * libs/gst/base/gstdataqueue.h:
2208         New GstDataQueue object for threadsafe queueing. Most useful for
2209         elements that need some queueing functionnality.
2210         * docs/libs/gstreamer-libs-docs.sgml:
2211         * docs/libs/gstreamer-libs-sections.txt:
2212         Insert documentation for GstDataQueue
2213         * plugins/elements/Makefile.am:
2214         * plugins/elements/gstelements.c:
2215         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
2216         (gst_multi_queue_class_init), (gst_multi_queue_init),
2217         (gst_multi_queue_finalize), (gst_multi_queue_set_property),
2218         (gst_multi_queue_get_property), (gst_multi_queue_request_new_pad),
2219         (gst_multi_queue_release_pad), (gst_single_queue_push_one),
2220         (gst_multi_queue_item_destroy), (gst_multi_queue_item_new),
2221         (gst_multi_queue_loop), (gst_multi_queue_chain),
2222         (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
2223         (gst_multi_queue_getcaps), (gst_multi_queue_bufferalloc),
2224         (gst_multi_queue_src_activate_push), (gst_multi_queue_acceptcaps),
2225         (gst_multi_queue_src_event), (gst_multi_queue_src_query),
2226         (wake_up_next_non_linked), (compute_next_non_linked),
2227         (single_queue_overrun_cb), (single_queue_underrun_cb),
2228         (single_queue_check_full), (gst_single_queue_new):
2229         * plugins/elements/gstmultiqueue.h:
2230         New multiqueue element, using GstDataQueue. Used for queuing multiple
2231         streams.
2232         Closes #344639 and #347785
2233
2234 2006-11-22  Stefan Kost  <ensonic@users.sf.net>
2235
2236         * docs/pwg/advanced-types.xml:
2237           add more missing type details
2238
2239         * tools/gst-run.c: (main):
2240           remove unused variable
2241
2242 2006-11-21  Stefan Kost  <ensonic@users.sf.net>
2243
2244         * docs/libs/Makefile.am:
2245         * docs/libs/gstreamer-libs.types:
2246           add types of base classes to enable gobject specific stuff in the docs
2247
2248         * docs/random/ensonic/embedded.txt:
2249           more ideas about isolating platform specific things
2250
2251 2006-11-20  Wim Taymans  <wim@fluendo.com>
2252
2253         Patch by: Sebastian Dröge <slomo at ubuntu dot com>
2254
2255         * libs/gst/check/gstcheck.h:
2256         Fix compilation and running against 0.9.4. Fixes #377332.
2257
2258 2006-11-20  Wim Taymans  <wim@fluendo.com>
2259
2260         * gst/gstsegment.c: (gst_segment_set_seek),
2261         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
2262         (gst_segment_to_running_time):
2263         Fix boundary checking in to_running_time() and to_stream_time().
2264         Fixes #377183.
2265
2266         * tests/check/gst/gstsegment.c: (GST_START_TEST):
2267         stream and running time can now be calculated for the complete
2268         clipped segment.
2269
2270 2006-11-15  Tim-Philipp Müller  <tim at centricular dot net>
2271
2272         * gst/gstpad.c: (gst_pad_push_event):
2273           Can't access event structure after giving away ownership of
2274           the event.
2275
2276 2006-11-15  Stefan Kost  <ensonic@users.sf.net>
2277
2278         * docs/random/ensonic/embedded.txt:
2279         * docs/random/ensonic/profiling.txt:
2280         * docs/random/ensonic/receipies.txt:
2281           more thinking
2282
2283 2006-11-13  Wim Taymans  <wim@fluendo.com>
2284
2285         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
2286
2287         * gst/gstpad.c:
2288         Fix documentation for gst_pad_dispatcher. Fixes #374475.
2289
2290 2006-11-13  Wim Taymans  <wim@fluendo.com>
2291
2292         Patch by: Jonathan Matthew <jonathan at kaolin dot wh9 dot net>
2293
2294         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
2295         Store new length in segment duration so we don't keep on calling the
2296         potentially expensize get_size() call. Fixes #370865.
2297
2298 2006-11-10  Tim-Philipp Müller  <tim at centricular dot net>
2299
2300         Patch by: Sergey Scobich  <sergey.scobich at gmail com>
2301
2302         * win32/common/libgstreamer.def:
2303           Add two missing symbols (#366492).
2304
2305 2006-11-10  Jan Schmidt  <thaytan@mad.scientist.com>
2306
2307         * libs/gst/base/gstadapter.c: (gst_adapter_flush),
2308         (gst_adapter_take_buffer):
2309         Fix format string to use all its arguments.
2310         Remove useless >= check on a guint
2311
2312 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
2313
2314         * tests/examples/adapter/.cvsignore:
2315         Ignore build file as commanded by the build-bot
2316
2317 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
2318
2319         * tests/examples/adapter/Makefile.am:
2320         * tests/examples/adapter/adapter_test.c: (run_test_take),
2321         (run_test_take_buffer), (run_tests), (main):
2322
2323         Add new files from the previous commit
2324
2325 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
2326
2327         * Makefile.am:
2328         * configure.ac:
2329         * libs/gst/base/gstadapter.c: (gst_adapter_clear),
2330         (gst_adapter_push), (gst_adapter_peek_into), (gst_adapter_peek),
2331         (gst_adapter_flush), (gst_adapter_take), (gst_adapter_take_buffer):
2332         * libs/gst/base/gstadapter.h:
2333         * tests/check/libs/adapter.c: (create_and_fill_adapter),
2334         (GST_START_TEST), (gst_adapter_suite):
2335         * tests/examples/Makefile.am:
2336         Do some optimisation work in GstAdapter to avoid copies in more cases.
2337         It could still do slightly better by merging buffers when
2338         gst_buffer_is_span_fast is true, but is already faster. 
2339
2340         Also, avoid traversing a single-linked list to append each incoming 
2341         buffer inside the adapter.
2342
2343         Add simple test app that times the adapter behaviour in different
2344         situations, and extend the unit test to check that bytes enter and
2345         exit the adapter in their original order.
2346
2347 2006-11-08  Tim-Philipp Müller  <tim at centricular dot net>
2348
2349         * docs/random/draft-missing-plugins.txt:
2350           Update: use element message instead of adding a new message
2351           type to the core; don't provide GStreamer API to initiate the
2352           plugin download, just provide API to compose the strings needed
2353           and let an external libgimmestuff handle the rest.
2354
2355 2006-11-08  Jan Schmidt  <thaytan@mad.scientist.com>
2356
2357         * tools/gst-inspect.c: (print_element_properties_info):
2358         Print a string instead of 'unknown type' for GValueArray properties
2359
2360 2006-11-08  Christian F.K. Schaller  <christian@fluendo.com>
2361
2362         * docs/random/draft-missing-plugins.txt:
2363         More small fixes.
2364
2365 2006-11-07  Tim-Philipp Müller  <tim at centricular dot net>
2366
2367         * tests/examples/typefind/typefind.c: (type_found), (main):
2368           Make typefind element example work again (#371894); add a
2369           license header.
2370
2371 2006-11-07  Tim-Philipp Müller  <tim at centricular dot net>
2372
2373         * docs/random/draft-missing-plugins.txt:
2374           Commit initial draft about how to deal with missing plugins,
2375           needs work (API too).
2376
2377 2006-11-07  Stefan Kost  <ensonic@users.sf.net>
2378
2379         * docs/pwg/advanced-types.xml:
2380           documents the new caps elements (see #363118)
2381
2382 2006-11-06  Tim-Philipp Müller  <tim at centricular dot net>
2383
2384         * gst/gstplugin.c: (gst_plugin_load_file):
2385         * plugins/elements/gstfilesrc.c: (gst_mmap_buffer_finalize),
2386         (gst_file_src_map_region), (gst_file_src_start):
2387         * plugins/indexers/gstfileindex.c: (gst_file_index_load),
2388         (gst_file_index_commit):
2389           Use g_strerror() instead of strerror() - we want UTF-8.
2390
2391 2006-11-06  Tim-Philipp Müller  <tim at centricular dot net>
2392
2393         Patch by: Peter Kjellerstedt <pkj at axis com>
2394
2395         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
2396           Another printf fix (#371493).
2397
2398 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
2399
2400         * tests/check/gst/gsttag.c:
2401           relicence (okay with author=company)
2402
2403 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
2404
2405         * gst/gstpad.c: (gst_pad_event_default_dispatch),
2406         (gst_pad_push_event):
2407           Enhance debug and improve docs
2408         
2409         * gst/gsturi.c:
2410           Fix docs
2411
2412 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
2413
2414         * docs/random/ensonic/distributed.txt:
2415         * docs/random/ensonic/profiling.txt:
2416           more ideas
2417
2418 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
2419
2420         * docs/gst/gstreamer-sections.txt:
2421           add new API and fix the build
2422           
2423         * gst/gstbin.c: (gst_bin_recalc_state):
2424         * gst/gstelement.c: (gst_element_message_full),
2425         (gst_element_get_state_func), (gst_element_set_state_func):
2426           use new API and improve logging
2427         
2428         * gst/gstutils.c: (gst_element_state_change_return_get_name):
2429         * gst/gstutils.h:
2430           API: add function to get StateChangereturn names to improve logs 
2431
2432 2006-11-04  Thomas Vander Stichele  <thomas at apestaart dot org>
2433
2434         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
2435           I'm considering shooting the next person to put strerror stuff
2436           in the translateable part of the message.
2437
2438 2006-11-03  Wim Taymans  <wim@fluendo.com>
2439
2440         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
2441         Get the type and printf conversion specifiers right.
2442
2443 2006-11-03  Wim Taymans  <wim@fluendo.com>
2444
2445         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
2446
2447         * gst/gstpad.c: (gst_pad_init), (pre_activate),
2448         (gst_pad_set_blocked_async), (gst_pad_acceptcaps_default),
2449         (gst_pad_accept_caps), (handle_pad_block), (gst_pad_push_event):
2450         Some small cleanups. Improve debugging.
2451         * gst/gstpad.h:
2452         Signal all waiting threads with a broadcast instead of just one.
2453         Fixes #369942.
2454
2455 2006-11-03  Wim Taymans  <wim@fluendo.com>
2456
2457         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd),
2458         (gst_fd_src_create):
2459         Add some debugging. 
2460         Only update fd when it's different from the old.
2461
2462 2006-11-02  Tim-Philipp Müller  <tim at centricular dot net>
2463
2464         * plugins/elements/gstfilesrc.c: (gst_file_src_create_mmap):
2465           Printf fixes for PPC/OSX, take two (#369366).
2466
2467 2006-11-02  Tim-Philipp Müller  <tim at centricular dot net>
2468
2469         Based on patch by: Jan David Mol  <j.j.d.mol at tudelft nl>
2470
2471         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
2472         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
2473         (gst_file_src_map_small_region), (gst_file_src_create_mmap):
2474           Printf fixes for gsize parameters on PPC/OSX (#369366). Also,
2475           don't cast to long long for portability reasons, but use
2476           GLib's types instead.
2477
2478 2006-10-30  Michael Smith  <msmith@fluendo.com>
2479
2480         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
2481           Get the arguments to lseek() the right way around.
2482           Fixes 367677.
2483
2484 2006-10-30  Wim Taymans  <wim@fluendo.com>
2485
2486         Patch by: gorshkov <gorshkov at oghma dot on dot ca>
2487
2488         * gst/gstinfo.h:
2489         _declspec should be __declspec (two underscores, not one). Fixes 366572.
2490
2491 2006-10-28  Tim-Philipp Müller  <tim at centricular dot net>
2492
2493         Patch by: Kjartan Maraas  <kmaraas at gnome org>
2494
2495         * docs/design/part-MT-refcounting.txt:
2496         * docs/random/wtay/capsnego2-docs:
2497         * gst/gstclock.c:
2498         * gst/gstxml.c:
2499           Typo fixes (#366212).
2500
2501 2006-10-28  Wim Taymans  <wim@fluendo.com>
2502
2503         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
2504
2505         * gst/gst.c:
2506         * win32/common/libgstbase.def:
2507         * win32/common/libgstreamer.def:
2508         * win32/vs8/libgstbase.vcproj:
2509         * win32/vs8/libgstcontroller.vcproj:
2510         Add needed entries in .def files.
2511         Use HAVE_UNISTD_H.
2512         Rearrange def files in vs8 solutions. Fixes #366286.
2513
2514 2006-10-28  Tim-Philipp Müller  <tim at centricular dot net>
2515
2516         * win32/common/gstconfig.h:
2517           Add GST_SEGMENT_FORMAT and GST_USING_PRINTF_EXTENSION to the
2518           hand-made win32 gstconfig.h. Fixes #366321.
2519
2520 2006-10-27  Wim Taymans  <wim@fluendo.com>
2521
2522         * gst/gstghostpad.c: (gst_proxy_pad_do_acceptcaps),
2523         (gst_ghost_pad_new_full):
2524         Make acceptcaps return TRUE when we don't have a target, just like
2525         setcaps does.
2526
2527 2006-10-27  Wim Taymans  <wim@fluendo.com>
2528
2529         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
2530         Revert previous commit, 0 sized buffers are allowed. Reopens #363095.
2531
2532 2006-10-26  Tim-Philipp Müller  <tim at centricular dot net>
2533
2534         * gst/gststructure.c: (gst_structure_id_set_value):
2535           If someone tries to set a non-UTF8 string field on a structure,
2536           don't just print a warning, but also ignore the request and do
2537           not change/add that field to the structure.
2538
2539         * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
2540           Test for the above.
2541
2542 2006-10-25  David Schleef  <ds@schleef.org>
2543
2544         * gst/gstinfo.c:
2545           g_hash_table_insert() needs a cast to a non-const pointer duh.
2546
2547 2006-10-25  David Schleef  <ds@schleef.org>
2548
2549         * gst/gstinfo.c:
2550         * gst/gstinfo.h:
2551           Change name parameter of _gst_debug_register_funcptr to const
2552           to reflect the constness of its use in the function as well
2553           as to quiet a gcc warning.
2554
2555 2006-10-25  Edward Hervey  <edward@fluendo.com>
2556
2557         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
2558         Don't push the buffer if it's empty.
2559         Closes #363095
2560
2561 2006-10-24  Wim Taymans  <wim@fluendo.com>
2562
2563         * gst/gstevent.h:
2564         Add small comment.
2565
2566         * libs/gst/base/gstbasetransform.c:
2567         (gst_base_transform_sink_eventfunc):
2568         Debug segment values *after* updating them as this is more
2569         interesting.
2570
2571 2006-10-23  Wim Taymans  <wim@fluendo.com>
2572
2573         * docs/design/part-events.txt:
2574         Update some docs.
2575
2576         * docs/design/part-block.txt:
2577         * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
2578         (gst_pad_push_event):
2579         Revert BLOCKING patch, it tries to be smart without really having a
2580         clear idea what or how. So, now we discard all FLUSHING events again on
2581         a blocking pad. Should fix gnonlin again.
2582
2583 2006-10-23  Wim Taymans  <wim@fluendo.com>
2584
2585         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
2586
2587         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
2588         (gst_base_src_start), (gst_base_src_activate_push):
2589         Make sure size is always initialized. Fixes #364388.
2590
2591 2006-10-20  Stefan Kost  <ensonic@users.sf.net>
2592
2593         * docs/random/ensonic/distributed.txt:
2594           add some ideas about doing distributed processing
2595
2596         * docs/random/ensonic/profiling.txt:
2597           get_rusage look promising
2598
2599 2006-10-18  Stefan Kost  <ensonic@users.sf.net>
2600
2601         * docs/manual/basics-helloworld.xml:
2602           Add a cast in example to fix compile warning
2603
2604 2006-10-18  Wim Taymans  <wim@fluendo.com>
2605
2606         * gst/gstsegment.c: (gst_segment_set_last_stop),
2607         (gst_segment_set_seek), (gst_segment_set_newsegment_full):
2608         Relax arg checking again, -1 is allowed.
2609
2610 2006-10-18  Wim Taymans  <wim@fluendo.com>
2611
2612         * gst/gstsegment.c: (gst_segment_set_last_stop),
2613         (gst_segment_set_seek), (gst_segment_set_newsegment_full):
2614         _set_last_stop() must be with a value != -1
2615         A _TYPE_SET to -1 means seek to 0.
2616         Calc last_stop correctly for negative rates.
2617         Make sure we work with positive durations when updating a segment.
2618
2619 2006-10-18  Wim Taymans  <wim@fluendo.com>
2620
2621         * docs/design/part-live-source.txt:
2622         * gst/gstclock.h:
2623         Small docs fixes.
2624
2625 2006-10-18  Tim-Philipp Müller  <tim at centricular dot net>
2626
2627         * gst/gstbuffer.h:
2628           Add an explicit cast to GstBuffer** to keep old code that added an
2629           explicit cast to GstMiniObject** for gst_mini_object_replace()
2630           compiling without warning.
2631
2632 2006-10-18  Stefan Kost  <ensonic@users.sf.net>
2633
2634         * gst/gstvalue.c: (gst_value_set_date), (gst_date_copy):
2635           check for validity of dates
2636
2637 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
2638
2639         * docs/gst/gstreamer-sections.txt:
2640           Forgot this one, makes gtk-doc shut up.
2641
2642 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
2643
2644         Patch by: Peter Kjellerstedt <pkj at axis com>
2645
2646         * gst/gstobject.h:
2647           Don't define xmlNodePtr to gpointer if the core was built with
2648           --disable-loadsave and --disable-registry, this will break
2649           applications that want to use libxml2 but are buildling against a
2650           core that doesn't use libxml2. Use an intermediary type GstXmlNodePtr
2651           instead so we don't have to mess with the libxml2 namespace
2652           (#361675).
2653
2654 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
2655
2656         * gst/gstbuffer.h:
2657           Fix gst_buffer_replace() macro to avoid gst_mini_object_replace()-related
2658           type-punned pointer warnings.
2659
2660 2006-10-16  Tim-Philipp Müller  <tim at centricular dot net>
2661
2662         * gst/gstelement.h:
2663           Add casts to the correct return type to state <=> state transition
2664           macros.
2665
2666 2006-10-16  Stefan Kost  <ensonic@users.sf.net>
2667
2668         * docs/design/part-live-source.txt:
2669           describe howto handle latency
2670         
2671         * docs/random/ensonic/profiling.txt:
2672           more ideas
2673
2674         * tools/gst-plot-timeline.py:
2675           fix log parsing for solaris, remove unused function
2676
2677 2006-10-16  Wim Taymans  <wim@fluendo.com>
2678
2679         * docs/design/part-trickmodes.txt:
2680         * gst/gstevent.c:
2681         Update some docs regarding reverse playback.
2682
2683 2006-10-15  Tim-Philipp Müller  <tim at centricular dot net>
2684
2685         Patch by: Marcus Granado  <mrc dot gran at gmail com>
2686
2687         * win32/vs8/grammar.vcproj:
2688           Error out with a warning if glib-genmarshal.exe is not in path,
2689           instead of creating bogus gstmarshal.[ch] files. Fixes #361720.
2690
2691 2006-10-13  Wim Taymans  <wim@fluendo.com>
2692
2693         * gst/gstsegment.c: (gst_segment_set_seek):
2694         When seeking to stop -1, set last_stop (current position) to the
2695         duration of the segment.
2696
2697 2006-10-13  Wim Taymans  <wim@fluendo.com>
2698
2699         * gst/gstelement.h:
2700         Clarify _NO_PREROLL a bit more.
2701
2702         * gst/gstevent.c:
2703         Fix docs.
2704
2705         * gst/gstpad.c: (gst_pad_link_check_hierarchy),
2706         (gst_pad_get_caps_unlocked), (gst_pad_save_thyself),
2707         (handle_pad_block), (gst_pad_push_event), (gst_pad_send_event):
2708         Patch by: Yves Lefebvre <ivanohe at abacom dot com> Fix possible deadlock
2709         due to wrong locking order. Fixes #361769.
2710         Remove some redundant/misplaced checks in pad_block.
2711
2712         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
2713         For negative rates, count backwards from the duration.
2714
2715 2006-10-13  Tim-Philipp Müller  <tim at centricular dot net>
2716
2717         * gst/gsterror.c: (_gst_library_errors_init):
2718           Fix error message for GST_LIBRARY_ERROR_SETTINGS (feel free to come
2719           up with something better).
2720
2721 2006-10-12  Tim-Philipp Müller  <tim at centricular dot net>
2722
2723         * win32/vs6/libgstreamer.dsp:
2724         * win32/vs7/libgstreamer.vcproj:
2725         * win32/vs8/libgstreamer.vcproj:
2726           Don't reference glib-compat.c which is currently not used and not
2727           disted; add gstquark.c which was recently added. Fixes #361730.
2728
2729 2006-10-12  Tim-Philipp Müller  <tim at centricular dot net>
2730
2731         * win32/common/libgstbase.def:
2732         * win32/common/libgstcontroller.def:
2733         * win32/common/libgstreamer.def:
2734           Add gst_caps_merge() and a bunch of other recently-added functions.
2735           Fixes #361732.
2736
2737 2006-10-11  Wim Taymans  <wim@fluendo.com>
2738
2739         * docs/plugins/gstreamer-plugins.args:
2740         * docs/plugins/inspect/plugin-coreelements.xml:
2741         * docs/plugins/inspect/plugin-coreindexers.xml:
2742         Update element args.
2743
2744         * gst/gstsystemclock.c:
2745         Small comment update.
2746
2747         * plugins/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
2748         (gst_tee_request_new_pad), (gst_tee_release_pad),
2749         (gst_tee_buffer_alloc), (gst_tee_sink_activate_push),
2750         (gst_tee_sink_activate_pull):
2751         * plugins/elements/gsttee.h:
2752         Some tee loving:
2753         Add default property defines.
2754         Implement release pad function.
2755         Give properties better blubs etc.
2756         Activate pads before adding them to a running tee.
2757         Do simple buffer_alloc on the first requested pad.
2758         Post error when activation fails.
2759
2760 2006-10-11  Tim-Philipp Müller  <tim at centricular dot net>
2761
2762         * gst/gst.c: (ensure_current_registry_forking):
2763           Check return value of write() to make compiler happy.
2764
2765 2006-10-11  Wim Taymans  <wim@fluendo.com>
2766
2767         Patch by: Sjoerd Simons <sjoerd at luon dot net>
2768
2769         * plugins/elements/gstqueue.c: (gst_queue_chain):
2770         Recheck queue filledness after signalling the overrun when we're about
2771         to leak downstream because we released the lock when emitting the signal
2772         and the queue could be empty again. Fixes #352345.
2773
2774 2006-10-11  Tim-Philipp Müller  <tim at centricular dot net>
2775
2776         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list):
2777           Fix refcounting here too, just like we did for _new_valist() a few
2778           days ago (#357180) (thanks to René Stadler). Also remove all those
2779           'Since: 0.9' from the gtk-doc blobs.
2780
2781         * tests/check/libs/controller.c: (controller_refcount_new_list),
2782         (gst_controller_suite):
2783           Unit test for the above.
2784
2785 2006-10-10  Wim Taymans  <wim@fluendo.com>
2786
2787         Patch by: Sebastien Cote <sebas642 at yahoo dot ca>
2788
2789         * gst/gstpad.c: (gst_pad_get_caps_unlocked),
2790         (gst_pad_save_thyself):
2791         Update some docs.
2792         Write pad direction in XML output. Fixes #345496.
2793
2794 2006-10-10  Wim Taymans  <wim@fluendo.com>
2795
2796         Patch by: René Stadler <mail at renestadler dot de>
2797
2798         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
2799         (gst_controller_new_list), (_gst_controller_dispose),
2800         (_gst_controller_finalize), (_gst_controller_class_init):
2801         Take ref to controlled object so that it cannot disappear. 
2802         Fixes #357432.
2803
2804 2006-10-10  Wim Taymans  <wim@fluendo.com>
2805
2806         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
2807         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
2808         (gst_check_teardown_sink_pad):
2809         Activate/deactivate pads in setup/teardown respectively.
2810
2811 2006-10-10  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
2812
2813         Patch by: Josep Torre Valles <josep@fluendo.com>
2814
2815         * gst/Makefile.am:
2816         Cast values when making gstenumtypes.h.  This pacifies Forte
2817         so it doesn't warn about the ~0 as GST_MESSAGE_ANY not fitting
2818         in the enumeration.
2819
2820 2006-10-09  Wim Taymans  <wim@fluendo.com>
2821
2822         * gst/gstevent.c: (gst_event_new_seek), (gst_event_parse_seek):
2823         Rename some more @cur to @start to fix docs. 
2824
2825         * gst/gstsegment.c: (gst_segment_set_seek):
2826         Fix typo.
2827         time and start must always stay in sync as defined in design doc.
2828
2829         * gst/gsttaglist.c: (gst_tag_list_is_empty):
2830         Rename param to fix docs.
2831
2832         * tests/check/gst/gstsegment.c: (GST_START_TEST):
2833         Check that start and time are in sync.
2834
2835         * tests/check/pipelines/parse-launch.c:
2836         (gst_parse_test_element_change_state):
2837         Activate pad before adding to the element.
2838
2839 2006-10-09  Wim Taymans  <wim@fluendo.com>
2840
2841         * docs/design/part-qos.txt:
2842         Fix typo.
2843
2844         * gst/gstevent.c:
2845         * gst/gstevent.h:
2846         Update seek event docs regarding negative rates.
2847         Rename @cur to @start. 
2848
2849         * gst/gstsegment.c: (gst_segment_set_seek):
2850         * gst/gstsegment.h:
2851         Update set_seek docs regarding negative rates.
2852         Correctly update last_stop to @stop when dealing with negative
2853         rates.
2854         Rename @cur to @start. 
2855
2856         * tests/check/gst/gstpad.c: (GST_START_TEST):
2857         Activate pads before trying to use them.
2858
2859         * tests/check/gst/gstsegment.c: (GST_START_TEST),
2860         (gst_segment_suite):
2861         Add simple check for segments and negative rates.
2862
2863 2006-10-09  Tim-Philipp Müller  <tim at centricular dot net>
2864
2865         * gst/gsttaglist.c: (gst_tag_list_is_empty):
2866         * gst/gsttaglist.h:
2867         * docs/gst/gstreamer-sections.txt:
2868           API: add gst_tag_list_is_empty() (#360467).
2869
2870         * tests/check/gst/gsttag.c: (GST_START_TEST):
2871           And a test case.
2872
2873 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
2874
2875         * gst/gstmessage.h:
2876         Revert change from earlier wrt GST_MESSAGE_TYPE_ANY having
2877         a value that doesn't fit on enumeration.
2878
2879 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
2880
2881         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
2882         Remove local debugging system and use Gstreamer's instead.
2883
2884 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
2885
2886         Patch by: Josep Torre Valles <josep@fluendo.com>
2887
2888         * common/m4/gst-error.m4:
2889         Disable warning of statement not reached on Forte.
2890         * gst/gstmessage.h:
2891         Fix warning on Forte (value doesn't fit on enumeration).
2892         * libs/gst/base/gstbasesink.c: (gst_base_sink_chain_unlocked):
2893         Fix warning on Forte (value doesn't fit on enumeration).
2894         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
2895         DEBUG macro says it takes minimum of 2 args and so Forte
2896         complains about the use with just 1 arg.
2897         * plugins/elements/gstfdsink.c:
2898         * plugins/elements/gstfdsrc.c:
2899         * plugins/elements/gstfilesink.c:
2900         * plugins/elements/gstfilesrc.c:
2901         Use correct return type for the uri handler implementations.
2902
2903         All these fix warnings in Forte.  Fixes bug #360860.
2904
2905 2006-10-08  Tim-Philipp Müller  <tim at centricular dot net>
2906
2907         * gst/gstelement.h:
2908           gcc versions prior to gcc 3.3 apparently complain about a NULL printf
2909           format string, so don't use G_GNUC_PRINTF for those versions.
2910
2911 2006-10-07  Tim-Philipp Müller  <tim at centricular dot net>
2912
2913         * gst/gsttaglist.c: (gst_is_tag_list):
2914         * gst/gsttaglist.h:
2915           Minor fixes to GST_IS_TAG_LIST and gst_is_tag_list().
2916
2917         * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
2918           Small test for the above.
2919
2920 2006-10-07  Tim-Philipp Müller  <tim at centricular dot net>
2921
2922         * gst/gsttaglist.h:
2923           Less tabs, more spaces.
2924
2925 2006-10-06  Tim-Philipp Müller  <tim at centricular dot net>
2926
2927         * gst/gstinfo.h:
2928           Those two function declarations do actually belong there, revert
2929           commit from yesterday that turned them intro macros.
2930
2931 2006-10-06  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
2932
2933         Patch by: Josep Torre Valles <josep@fluendo.com>
2934
2935         * gst/gst.c: (gst_init_get_option_group):
2936         Fix empty declaration and type mismatch.
2937         * gst/gstbin.c: (gst_bin_change_state_func):
2938         Fix type mismatch.
2939         * gst/gstelement.c: (gst_element_continue_state),
2940         (gst_element_set_state_func), (gst_element_change_state),
2941         (gst_element_change_state_func):
2942         Fix type mismatches.
2943         * gst/gstinfo.c: (gst_debug_compare_log_function_by_func),
2944         (gst_debug_remove_log_function), (_gst_debug_nameof_funcptr):
2945         Cast as appropriate.
2946         * gst/gstobject.c: (gst_class_signal_connect):
2947         Cast as appropriate.  The function pointer parameter really
2948         has the wrong type but would break API if we change it.
2949         * gst/gstquery.c:
2950         Fix redefinition of _FILE_OFFSET_BITS caused on Solaris wrt
2951         order of including string.h.
2952         * gst/gstutils.c: (gst_element_state_get_name):
2953         Remove unreachable line.
2954         * gst/gstxml.c: (gst_xml_parse_doc):
2955         Fix type mismatch.
2956         All these caught by Forte.
2957
2958 2006-10-06  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
2959
2960         Patch by: Josep Torre Valles <josep@fluendo.com>
2961
2962         * common/m4/gst-error.m4:
2963         Fixed bug #360151.
2964         We need to disable warnings on Forte for empty declarations
2965         due to gst-indent adding ;s to lines that just use macros
2966         where the macro actually doesn't need a ; at end to end
2967         statement.
2968
2969 2006-10-06  Wim Taymans  <wim@fluendo.com>
2970
2971         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
2972         (gst_file_sink_close_file), (gst_file_sink_event),
2973         (gst_file_sink_render):
2974         Add some FIXME for the NEWSEGMENT handling.
2975
2976 2006-10-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
2977
2978         * gst/parse/grammar.y:
2979         Remove static function gst_parse_element_lock as all it does
2980         is return.  Looks like cruft from 0.8.
2981
2982 2006-10-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
2983
2984         Patch by: Josep Torre Valles <josep@fluendo.com>
2985
2986         * common/m4/gst-error.m4:
2987         * configure.ac:
2988         * libs/gst/net/Makefile.am:
2989         Fix a compilation issue with Forte on Solaris.  inet_aton is in
2990         libresolv.
2991
2992 2006-10-05  Tim-Philipp Müller  <tim at centricular dot net>
2993
2994         * gst/gstpad.c: (pre_activate):
2995         * gst/gstregistry.c: (gst_registry_scan_path_level):
2996         * gst/gstregistryxml.c: (load_plugin):
2997         * libs/gst/controller/gstcontroller.c:
2998         (gst_controlled_property_set_interpolation_mode):
2999         * libs/gst/dataprotocol/dataprotocol.c:
3000         (gst_dp_packet_from_event_1_0):
3001         * libs/gst/net/gstnetclientclock.c:
3002         (gst_net_client_clock_observe_times):
3003         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
3004           Printf fixes.
3005
3006 2006-10-05  Tim-Philipp Müller  <tim at centricular dot net>
3007
3008         * configure.ac:
3009         * docs/gst/gstreamer-sections.txt:
3010         * gst/gstconfig.h.in:
3011         * gst/gstelement.h:
3012         * gst/gstinfo.h:
3013           Add GST_USING_PRINTF_EXTENSION to gstconfig.h so that we know
3014           whether we can use G_GNUC_PRINTF in other header files and at
3015           least check the printf format/arguments of debug messages and
3016           GST_ELEMENT_ERROR messages when the printf extension is not
3017           being used.
3018           Replace more tabs with spaces in gstinfo.h and remove two spurious
3019           function declarations in GST_DISABLE_DEBUG part with macros.
3020
3021 2006-10-03  Tim-Philipp Müller  <tim at centricular dot net>
3022
3023         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_post):
3024           More docs for the sync-message signal (mention that it is not
3025           emitted by default); log message structures of messages posted on
3026           the bus as well.
3027
3028 2006-10-03  Jan Schmidt  <thaytan@mad.scientist.com>
3029
3030         * gst/gst.c: (ensure_current_registry_forking):
3031         Use a pipe pair to receive status results from the forked child, and
3032         ignore the result from waitpid. Fixes #355499
3033
3034 2006-10-02  Wim Taymans  <wim@fluendo.com>
3035
3036         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
3037         (gst_ghost_pad_suite):
3038         Fix leak in check.
3039
3040 2006-10-02  Tim-Philipp Müller  <tim at centricular dot net>
3041
3042         * gst/gstpad.c:
3043           Add 'Since: 0.10.11' to gst_pad_is_blocking() gtk-doc blurb.
3044
3045 2006-10-02  Edward Hervey  <edward@fluendo.com>
3046
3047         * docs/design/part-block.txt:
3048         Further explain the use of flushing on blocked pads.
3049         * docs/gst/gstreamer-sections.txt:
3050         * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
3051         (gst_pad_push_event):
3052         * gst/gstpad.h:
3053         Added new GstPadFlag : GST_PAD_BLOCKING.
3054         Adds the notion of pads really blocking, which enables to properly
3055         handle FLUSH_START/FLUSH_STOP events on blocked pads.
3056         Fixes #358999
3057         API: gst_pad_is_blocking()
3058         API: GST_PAD_IS_BLOCKING() macro
3059         API: GST_PAD_BLOCKING GstPadFlag
3060         
3061 2006-10-02  Wim Taymans  <wim@fluendo.com>
3062
3063         Patch by: mrcgran <mrc.gran at gmail dot com>
3064
3065         * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps):
3066         Filter the proxied caps against the padtemplate if we have one.
3067
3068         * gst/gstquery.c: (gst_query_new_segment):
3069         Add include for gstinfo.h so that compilation with
3070         -DGST_DISABLE_GST_DEBUG works again. Fixes #358436.
3071
3072 2006-10-02  Wim Taymans  <wim@fluendo.com>
3073
3074         Patch by: Alessandro Decina  <alessandro at nnva org>
3075
3076         * plugins/elements/gstfilesink.c: (gst_file_sink_init),
3077         (gst_file_sink_set_location), (gst_file_sink_open_file),
3078         (gst_file_sink_close_file), (gst_file_sink_event),
3079         (gst_file_sink_render):
3080         Set file to NULL when closing filesink so that we can set a new filename
3081         in READY. Fixes #358613.
3082
3083 2006-10-02  Tim-Philipp Müller  <tim at centricular dot net>
3084
3085         Patch by: Alessandro Decina  <alessandro at nnva org>
3086
3087         * gst/gstevent.c: (_gst_event_copy):
3088           Fix gst_mini_object_make_writable() and gst_event_copy() for events
3089           with event structures by setting the parent refcount address of the
3090           copied structure to the address of the refcount member of the newly
3091           copied event rather than the address of the refcount member of the
3092           original event. Fixes #358737.
3093
3094         * tests/check/gst/gstevent.c: (GST_START_TEST):
3095           Unit test for the above.
3096
3097 2006-09-29  Stefan Kost  <ensonic@users.sf.net>
3098
3099         * docs/design/Makefile.am:
3100           Dist some more files.
3101
3102 2006-09-29  Tim-Philipp Müller  <tim at centricular dot net>
3103
3104         * tests/check/libs/controller.c: (GST_START_TEST),
3105         (gst_controller_suite):
3106           Add test for the previous fix; add some more tests
3107           for correct refcounting behaviour; fix a few leaks
3108           in test cases; call gst_controller_init() at start
3109           of all tests.
3110
3111 2006-09-29  Tim-Philipp Müller  <tim at centricular dot net>
3112
3113         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
3114         (gst_controller_set_from_list):
3115           Don't g_return_val_if_fail() on timed values with invalid timestamps
3116           inside a critical section without unlocking the mutex. Spotted by
3117           René Stadler. (#357617)
3118           Also, fix up refcounting properly: when returning an existing
3119           controller, we should increase the reference only once and not
3120           once per property and when trying to control a property again
3121           we should also increase the refcount.
3122
3123 2006-09-29  Wim Taymans  <wim@fluendo.com>
3124
3125         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
3126         * libs/gst/net/gstnettimeprovider.c:
3127         (gst_net_time_provider_thread):
3128         Stop reading commands when EOF as well.
3129
3130         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
3131         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
3132         * plugins/elements/gstidentity.c: (gst_identity_class_init):
3133         Unify description of the dump property.
3134
3135 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
3136
3137         * tests/examples/manual/.cvsignore:
3138         OK, so it's actually cvsignore that needs changing. Stop laughing.
3139
3140 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
3141
3142         * tests/examples/manual/Makefile.am:
3143         Gah, declare vars *before* using them
3144
3145 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
3146
3147         * gst/gst.c: (init_pre), (scan_and_update_registry),
3148         (ensure_current_registry_nonforking),
3149         (ensure_current_registry_forking), (ensure_current_registry),
3150         (init_post), (gst_debug_help), (gst_deinit):
3151         * gst/gst_private.h:
3152         * gst/gstregistry.c: (gst_registry_finalize),
3153         (gst_registry_remove_features_for_plugin_unlocked),
3154         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
3155         (gst_registry_scan_path),
3156         (_priv_gst_registry_remove_cache_plugins),
3157         (_priv_gst_registry_cleanup):
3158         * gst/gstregistry.h:
3159         Re-commit the registry changes, along with an extra fix:
3160           When a cached plugin is encountered at a different file path,
3161           update the stored path in the registry cache so that the parent
3162           process knows where it actually is now when it re-reads the registry
3163           cache. Fixes the thing that broke distcheck with the previous commit.
3164
3165         * tests/check/Makefile.am:
3166         Clean up files named 'core' too when running make clean.
3167
3168         * tests/examples/manual/Makefile.am:
3169         Set up a registry path for running these tests, and clean it properly
3170         for distcheck.
3171
3172 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
3173
3174         * configure.ac:
3175         Don't pull in gmodule-2.0.pc as a dependency in our .pc files - we
3176         want gmodule-no-export-2.0.pc instead so that we don't drag in
3177         --export-dynamic on every project that links to GStreamer.
3178
3179         Also, make our export regex only match the start of symbols, rather 
3180         than any symbol that contains '_gst' somewhere.
3181
3182         * libs/gst/check/Makefile.am:
3183         The libgstcheck we build does however need export-dynamic, as it
3184         produces some symbols that don't match our _gst... style regex.
3185         Fixes: #318031
3186
3187 2006-09-27  Jan Schmidt  <thaytan@mad.scientist.com>
3188
3189         * gst/gst.c: (init_pre), (scan_and_update_registry),
3190         (ensure_current_registry_nonforking),
3191         (ensure_current_registry_forking), (ensure_current_registry),
3192         (init_post), (gst_debug_help), (gst_deinit):
3193         * gst/gst_private.h:
3194         * gst/gstregistry.c: (gst_registry_finalize),
3195         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
3196         (gst_registry_scan_path), (_gst_registry_remove_cache_plugins),
3197         (_gst_registry_cleanup):
3198         * gst/gstregistry.h:
3199           Revert previous change until I figure out why it breaks distcheck.
3200
3201 2006-09-27  Jan Schmidt  <thaytan@mad.scientist.com>
3202
3203         * gst/gst.c: (init_pre), (scan_and_update_registry),
3204         (ensure_current_registry_nonforking),
3205         (ensure_current_registry_forking), (ensure_current_registry),
3206         (init_post), (gst_debug_help), (gst_deinit):
3207
3208           Make init_pre and init_post take the full complement of GOptionFunc
3209           args so they can return useful GErrors. Make the registry updating
3210           functions do so.
3211
3212           Call _priv_gst_registry_remove_cache_plugins after scanning files to
3213           ensure that the registry we're about to write out doesn't contain
3214           stale information about old-deleted plugin files.
3215
3216           Make _priv_gst_registry_remove_cache_plugins return a boolean so
3217           that deletion of plugin files is considered a registry change.
3218
3219         * gst/gst_private.h:
3220         * gst/gstregistry.c: (gst_registry_finalize),
3221         (gst_registry_remove_features_for_plugin_unlocked),
3222         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
3223         (gst_registry_scan_path),
3224         (_priv_gst_registry_remove_cache_plugins),
3225         (_priv_gst_registry_cleanup):
3226         * gst/gstregistry.h:
3227         Rename _gst_registry_remove_cache_plugins and _gst_registry_cleanup
3228         by adding _priv prefix, so that they won't appear in the global
3229         symbol table. They still do atm though because of #318031. Move the
3230         prototypes to gst_private.h
3231
3232         When removing a plugin, remove all features for that plugin too. 
3233         Fixes #340878.
3234
3235 2006-09-27  Wim Taymans  <wim@fluendo.com>
3236
3237         * docs/random/moving-plugins:
3238         Make it clear that the "compiled-in descriptions" really mean
3239         the element details.
3240
3241         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3242         (gst_base_sink_wait_preroll):
3243         Update docs.
3244
3245         * docs/libs/gstreamer-libs-sections.txt:
3246         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
3247         (gst_base_src_get_range), (gst_base_src_activate_push):
3248         * libs/gst/base/gstbasesrc.h:
3249         Added function to block while waiting for PLAYING, this function
3250         is used by live sources that block on the clock.
3251         API: gst_base_src_wait_playing()
3252
3253 2006-09-27  Tim-Philipp Müller  <tim at centricular dot net>
3254
3255         Patch by: Peter Kjellerstedt <pkj at axis com>
3256
3257         * Makefile.am:
3258           gst-element-check.m4 is generated and should therefore be
3259           copied from the build dir rather than the source dir (#357593).
3260           'make distcheck' hasn't noticed this because we were disting
3261           the file as well, so stop doing that.
3262
3263 2006-09-27  Tim-Philipp Müller  <tim at centricular dot net>
3264
3265         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
3266           Add some tests for gst_caps_intersect().
3267
3268         * tools/gst-launch.c: (event_loop):
3269           Print all buffering percentages we get, even the 100% one.
3270
3271 2006-09-26  Wim Taymans  <wim@fluendo.com>
3272
3273         * tools/gst-inspect.c: (print_element_properties_info),
3274         (print_signal_info):
3275         Fix printing of flags to match the look of enums.
3276
3277 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
3278
3279         * gst/gstelementfactory.c:
3280           Fix typo in docs blurb.
3281
3282 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
3283
3284         * gst/gsturi.c: (search_by_entry):
3285           Don't assert/crash here if a uri handler doesn't return any
3286           supported protocols. The list of protocols could be generated
3287           dynamically at runtime or at plugin registration, and an error
3288           in the underlying library shouldn't be fatal (#353301).
3289
3290 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
3291
3292         * gst/gstinfo.c:
3293           Fix warning if HAVE_PRINTF_EXTENSION is undefined
3294           (spotted by Peter Kjellerstedt).
3295
3296 2006-09-23  Wim Taymans  <wim@fluendo.com>
3297
3298         Based on patch by: Antoine Tremblay <hexa00 at gmail dot com>
3299
3300         * libs/gst/base/gstbasesrc.c:
3301         (gst_base_src_default_check_get_range), (gst_base_src_start),
3302         (gst_base_src_activate_push), (gst_base_src_activate_pull),
3303         (gst_base_src_change_state):
3304         Match _start/_stop calls in the activate functions. Remove redundant
3305         _stop call from the state change function. Fixes #356910.
3306         Turn failure DEBUG into ERROR. 
3307
3308 2006-09-22  Wim Taymans  <wim@fluendo.com>
3309
3310         * docs/design/part-buffering.txt:
3311         * gst/gstmessage.c: (gst_message_new_buffering),
3312         (gst_message_parse_buffering):
3313         Update docs about buffering.
3314
3315         * docs/design/part-trickmodes.txt:
3316         Fix typo.
3317
3318 2006-09-22  Stefan Kost  <ensonic@users.sf.net>
3319
3320         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
3321         (gst_controller_new_list):
3322           Ref instances when returning them again (fixes #357180)
3323
3324 2006-09-22  Tim-Philipp Müller  <tim at centricular dot net>
3325
3326         * gst/gstghostpad.c: (gst_ghost_pad_set_target):
3327           Don't forget to release proxy lock when there's an error.
3328
3329 2006-09-20  Jan Schmidt  <thaytan@mad.scientist.com>
3330
3331         * gst/gstcaps.h:
3332           Add extra initialisers for Caps things, to fix some plugin warnings
3333           when using -Wextra
3334
3335 2006-09-18  Wim Taymans  <wim@fluendo.com>
3336
3337         * gst/gstghostpad.c: (gst_ghost_pad_new_full):
3338           Also set template on the internal pad so that a getcaps from the 
3339           target pad returns the template caps.
3340
3341 2006-09-18  Wim Taymans  <wim@fluendo.com>
3342
3343         * gst/gstelement.c: (gst_element_post_message),
3344         (gst_element_dispose):
3345         Use _DEBUG_OBJECT some more.
3346
3347         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
3348         Avoid typechecks.
3349
3350         * tools/gst-launch.c: (main):
3351         If the toplevel element is not a GstPipeline, it must be put in a
3352         pipeline so that a bus and clock is selected.
3353
3354 2006-09-17  Tim-Philipp Müller  <tim at centricular dot net>
3355
3356         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
3357           JITTER, RATE, and LATENCY query should be handled by the
3358           default case and not by the CONVERT query code.
3359
3360 2006-09-17  Tim-Philipp Müller  <tim at centricular dot net>
3361
3362         * gst/gstformat.c: (gst_format_register):
3363           Fix locking order (must take lock before using n_values).
3364
3365         * gst/gstvalue.c: (gst_value_serialize_enum),
3366         (gst_value_deserialize_enum_iter_cmp),
3367         (gst_value_deserialize_enum):
3368           Fix serialisation/deserialisation of custom registered GstFormats.
3369
3370         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
3371           Unit test for custom format serialisation/deserialisation.
3372
3373 2006-09-17  Stefan Kost  <ensonic@users.sf.net>
3374
3375         * docs/pwg/building-boiler.xml:
3376         * plugins/elements/gstcapsfilter.c:
3377         More G_OBJECT macro fixing. Also Fix some details on the plugin-stamp
3378         section.
3379
3380 2006-09-16  Edward Hervey  <edward@fluendo.com>
3381
3382         * libs/gst/base/gstbasetransform.c:
3383         (gst_base_transform_buffer_alloc):
3384         Check if requested caps are the same as the sinks caps IF
3385         ->have_same_caps is TRUE. If they are not, act as if have_same_caps
3386         is FALSE.
3387         This fixes the renegotiation issues stated in #352827.
3388
3389 2006-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3390
3391         * configure.ac:
3392         * docs/manual/advanced-autoplugging.xml:
3393         * tests/examples/Makefile.am:
3394         * tests/examples/manual/.cvsignore:
3395         * tests/examples/manual/Makefile.am:
3396         * tests/examples/manual/extract.pl:
3397           Extract the manual examples again like we used to do.
3398           Fix one of them.
3399
3400 2006-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3401
3402         * win32/common/config.h:
3403           update for version
3404
3405 2006-09-16  Stefan Kost  <ensonic@users.sf.net>
3406
3407         * gst/gsterror.c:
3408           Documents how to receive errors.
3409
3410 2006-09-15  Wim Taymans  <wim@fluendo.com>
3411
3412         * tools/gst-launch.c: (sigint_handler_sighandler), (check_intr),
3413         (event_loop), (main):
3414         Added some comments here and there.
3415         Post an application message when an interrupt is caught instead of doing
3416         an uncontrolled state change.
3417         Clean up the event loop.
3418         Handle buffering messages, pause/resume the pipeline.
3419         Make shutdown because of an interrupt more reliable.
3420
3421 2006-09-15  Wim Taymans  <wim@fluendo.com>
3422
3423         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3424         (gst_base_sink_wait_preroll), (gst_base_sink_do_sync),
3425         (gst_base_sink_preroll_object):
3426         Make sure that our internal state is correct when we commit our state
3427         asynchronously. This solves a race where a state change to PLAYING
3428         could cause the sink to remain blocked in preroll in some situations.
3429
3430 2006-09-15  Wim Taymans  <wim@fluendo.com>
3431
3432         * tools/gst-inspect.c: (print_element_properties_info),
3433         (print_signal_info):
3434         List flags as hex so it's easier to deal with.
3435
3436 2006-09-15  Wim Taymans  <wim@fluendo.com>
3437
3438         * docs/libs/gstreamer-libs-sections.txt:
3439         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_preroll),
3440         (gst_base_sink_do_sync):
3441         * libs/gst/base/gstbasesink.h:
3442         Expose logic to wait for preroll so that subclasses such as audiosink
3443         can also use this method.
3444         API: gst_base_sink_wait_preroll()
3445
3446 2006-09-15  Wim Taymans  <wim@fluendo.com>
3447
3448         * gst/gstobject.c: (gst_object_set_parent):
3449         * gst/gstpipeline.c: (do_pipeline_seek):
3450         Small cleanups in docs and code.
3451
3452         * gst/gstsegment.c: (gst_segment_clip):
3453         * tests/check/gst/gstsegment.c: (GST_START_TEST):
3454         if stop == start and start is in the segment, no clipping should be
3455         done. Also add a test for this.
3456
3457 2006-09-15  Wim Taymans  <wim@fluendo.com>
3458
3459         * docs/design/part-buffering.txt:
3460         * docs/gst/gstreamer-sections.txt:
3461         * gst/gstmessage.c: (gst_message_new_buffering),
3462         (gst_message_parse_buffering):
3463         * gst/gstmessage.h:
3464         Added methods to create and parse BUFFERING messages.
3465         Added preliminary docs about buffering.
3466         API: gst_message_new_buffering
3467         API: gst_message_parse_buffering
3468
3469 2006-09-06  Wim Taymans  <wim@fluendo.com>
3470
3471         * gst/gstbin.c:
3472         Update documentation.
3473
3474         * gst/gstelement.c: (gst_element_class_init),
3475         (gst_element_release_request_pad), (gst_element_set_clock),
3476         (gst_element_get_index), (gst_element_add_pad),
3477         (gst_element_remove_pad), (gst_element_get_random_pad),
3478         (gst_element_send_event), (gst_element_get_query_types),
3479         (gst_element_query), (gst_element_post_message),
3480         (gst_element_message_full), (gst_element_continue_state),
3481         (gst_element_lost_state), (gst_element_save_thyself),
3482         (gst_element_restore_thyself):
3483         Documentation updates.
3484         Rename last bit of the new-pad -> pad-added signal rename.
3485         Fix the case where an element query would only work if the source
3486         pad was linked.
3487         Avoid some useless type checking in message handling.
3488
3489         * gst/gstevent.c:
3490         * gst/gstevent.h:
3491         * gst/gstutils.c:
3492         Documentation updates.
3493
3494 2006-09-14  Thomas Vander Stichele  <thomas at apestaart dot org>
3495
3496         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
3497           add an INFO line for when we actually update the fd
3498
3499 2006-09-14  Thomas Vander Stichele  <thomas at apestaart dot org>
3500
3501         * configure.ac:
3502           back to TRUNK
3503
3504 === release 0.10.10 ===
3505
3506 2006-09-14  Thomas Vander Stichele <thomas at apestaart dot org>
3507
3508         * configure.ac:
3509           releasing 0.10.10, "Pais"
3510
3511 2006-09-05  Tim-Philipp Müller  <tim at centricular dot net>
3512
3513         * docs/manual/advanced-position.xml:
3514           Fix typo in sample code.
3515
3516 2006-09-05  Wim Taymans  <wim@fluendo.com>
3517
3518         * libs/gst/net/gstnetclientclock.c: (inet_aton),
3519         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
3520         (gst_net_client_clock_do_select), (gst_net_client_clock_new):
3521         * libs/gst/net/gstnetclientclock.h:
3522         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
3523         * libs/gst/net/gstnettimepacket.h:
3524         * libs/gst/net/gstnettimeprovider.c: (inet_aton),
3525         (gst_net_time_provider_init), (gst_net_time_provider_finalize),
3526         (gst_net_time_provider_thread), (gst_net_time_provider_new):
3527         * libs/gst/net/gstnettimeprovider.h:
3528         Make stuff compile on windows. Fixes #345295.
3529
3530 2006-09-03  Tim-Philipp Müller  <tim at centricular dot net>
3531
3532         * gst/gst.c: (ensure_current_registry_forking):
3533           Print better details when child was terminated by signal.
3534
3535 2006-09-03  Tim-Philipp Müller  <tim at centricular dot net>
3536
3537         * gst/gstregistryxml.c: (gst_registry_xml_save_feature):
3538           Print a warning rather than g_assert() if a plugin feature
3539           is a URI handler but returns no protocols (#353976).
3540
3541 2006-09-02  Stefan Kost  <ensonic@users.sf.net>
3542
3543         * docs/random/moving-plugins:
3544         Fix two typos.         
3545
3546 2006-09-01  Tim-Philipp Müller  <tim at centricular dot net>
3547
3548         * gst/gstinfo.c: (_gst_debug_nameof_funcptr):
3549           Fix locking order, handle NULL function values properly.
3550
3551         * gst/gstinfo.h:
3552           Fix docs.
3553
3554         * gst/gstpad.c: (gst_pad_buffer_alloc_unchecked):
3555           Initialise variable before using it and fix debug statement to
3556           print the address of the function rather than the address of the
3557           variable on the stack holding the address of the function.
3558
3559 2006-09-01  Wim Taymans  <wim@fluendo.com>
3560
3561         * gst/gstghostpad.c: (gst_proxy_pad_do_event),
3562         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_chain),
3563         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
3564         (gst_proxy_pad_set_target_unlocked), (gst_ghost_pad_parent_set),
3565         (gst_ghost_pad_parent_unset),
3566         (gst_ghost_pad_internal_do_activate_push),
3567         (gst_ghost_pad_internal_do_activate_pull),
3568         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
3569         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
3570         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
3571         (gst_ghost_pad_new_full), (gst_ghost_pad_new_no_target),
3572         (gst_ghost_pad_new), (gst_ghost_pad_new_from_template),
3573         (gst_ghost_pad_new_no_target_from_template),
3574         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
3575         More cleanups.
3576         Avoid needless typechecking in macros.
3577         Since the internal pad is always present and never changes, there is
3578         no need to locking or ref when retrieving it.
3579         Improve debugging a bit.
3580         Handle link errors when setting the target. Fixes #341029.
3581
3582 2006-09-01  Wim Taymans  <wim@fluendo.com>
3583
3584         * docs/libs/gstreamer-libs-sections.txt:
3585         * docs/plugins/gstreamer-plugins-sections.txt:
3586         Fix docs some more.
3587
3588         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
3589         (gst_collect_pads_event):
3590         * libs/gst/base/gstcollectpads.h:
3591         Documentation updates.
3592         Free queued buffer when removing a pad.
3593
3594 2006-08-31  Michael Smith  <msmith@fluendo.com>
3595
3596         * gst/gstutils.c: (gst_element_link_pads),
3597         (gst_element_link_pads_filtered):
3598           Ensure that we set a capsfilter to NULL if we failed to link it
3599           when doing filtered linking, to avoid criticals.
3600
3601           No need to check for unreffing srcpad, which is explicly NULLed
3602           above (a trivial code cleanup).
3603
3604 2006-08-31  Wim Taymans  <wim@fluendo.com>
3605
3606         * docs/design/part-gstghostpad.txt:
3607         Update ascii art in documentation.
3608
3609         * gst/gstghostpad.c: (gst_proxy_pad_do_internal_link),
3610         (gst_proxy_pad_set_target_unlocked), (gst_proxy_pad_init),
3611         (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
3612         (gst_ghost_pad_internal_do_activate_push),
3613         (gst_ghost_pad_internal_do_activate_pull),
3614         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
3615         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
3616         (gst_ghost_pad_dispose), (gst_ghost_pad_new_full),
3617         (gst_ghost_pad_set_target):
3618         Small cleanups and leak fixes.
3619         Remove some checks now that the internal pad is never NULL.
3620         Fix the case where linking pads without a target would create nasty
3621         criticals. Fixes #341029.
3622         Don't assign a GstPadLinkReturn to a gboolean and mess up the return
3623         value of _set_target().
3624
3625         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
3626         (gst_ghost_pad_suite):
3627         Some more tests for creating and linking untargeted ghostpads.
3628
3629 2006-08-31  Edward Hervey  <edward@fluendo.com>
3630
3631         * docs/gst/gstreamer-sections.txt:
3632         * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps),
3633         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
3634         (gst_proxy_pad_dispose), (gst_ghost_pad_new_full),
3635         (gst_ghost_pad_new_no_target), (gst_ghost_pad_new),
3636         (gst_ghost_pad_new_from_template),
3637         (gst_ghost_pad_new_no_target_from_template):
3638         * gst/gstghostpad.h:
3639         Refactored *_new() functions.
3640         Templates are now used as a g_object_new() parameter.
3641         Use template in _do_getcaps() if we don't have a target.
3642         Small documentation cleanups.
3643         Added two new constructors:
3644         gst_ghost_pad_new_from_template()
3645         gst_ghost_pad_new_no_target_from_template()
3646         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
3647         (gst_ghost_pad_suite):
3648         Added tests for new ghostpad instanciation functions.
3649
3650         API additions: gst_ghost_pad_new_from_template,
3651         gst_ghost_pad_new_no_target_from_template
3652
3653 2006-08-30  Stefan Kost  <ensonic@users.sf.net>
3654
3655         * docs/random/ensonic/profiling.txt:
3656           Ideas about qos profiling.
3657
3658 2006-08-29  Wim Taymans  <wim@fluendo.com>
3659
3660         * gst/gstcaps.c: (gst_caps_structure_is_subset_field):
3661         Code cleanups.
3662         Fix memleak.
3663
3664 2006-08-29  Tim-Philipp Müller  <tim at centricular dot net>
3665
3666         * gst/gstxml.c:
3667           Improve and detypofy docs.
3668
3669         * tests/check/Makefile.am:
3670         * tests/check/gst/.cvsignore:
3671         * tests/check/gst/gstxml.c: (GST_START_TEST), (gst_xml_suite):
3672           Add a basic test suite for GstXML.
3673
3674 2006-08-29  Wim Taymans  <wim@fluendo.com>
3675
3676         * gst/gstelement.c: (activate_pads), (clear_caps),
3677         (iterator_activate_fold_with_resync), (gst_element_pads_activate):
3678         Clear the pad caps when the element shut down all of the pads and
3679         is not streaming data that could modify the caps. 
3680         Fixes #352958.
3681
3682 2006-08-28  Michael Smith  <msmith@fluendo.com>
3683
3684         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
3685           Revert previous change; I misunderstood single-segment mode.
3686
3687 2006-08-28  Michael Smith  <msmith@fluendo.com>
3688
3689         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
3690           Unset DISCONT on buffers when using single-segment mode.
3691
3692 2006-08-28  Wim Taymans  <wim@fluendo.com>
3693
3694         * gst/gstcaps.c: (gst_caps_merge_structure):
3695         * gst/gstcaps.h:
3696         Fix docs and indentation again.
3697
3698         * tests/check/gst/gstquery.c: (GST_START_TEST):
3699         Fix leak in tests and add some more tests.
3700
3701 2006-08-28  Edward Hervey  <edward@fluendo.com>
3702
3703         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
3704         Inform GstSegment of the last stop position in order for the current
3705         segment to have a proper duration if it doesn't have a specific stop
3706         position from which a duration could be calculated.
3707         This bug was noticeable when a non-flushing, non-update new segment was
3708         followed by another segment (all buffers from the new segment were being
3709         dropped).
3710
3711 2006-08-28  Wim Taymans  <wim@fluendo.com>
3712
3713         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
3714         Small comment update.
3715
3716         * plugins/elements/gstidentity.c: (gst_identity_class_init),
3717         (gst_identity_transform_ip):
3718         Drop-probability is broken, mention this in the code with a 
3719         FIXME and also in the property description.
3720         Make silent also be silent about the drop messages.
3721
3722 2006-08-28  Tim-Philipp Müller  <tim at centricular dot net>
3723
3724         * docs/manual/appendix-win32.xml:
3725           Remove mention of popt, we don't depend on that any
3726           longer (#353136). Add some comments pointing out that
3727           this section is slightly outdated.
3728
3729 2006-08-28  Wim Taymans  <wim@fluendo.com>
3730
3731         Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
3732
3733         * gst/gstquery.c: (gst_query_new_segment):
3734         * tests/check/gst/gstquery.c: (GST_START_TEST):
3735         Initialize variables when creating a new segment query.
3736         Fixes #353121.
3737
3738 2006-08-28  Wim Taymans  <wim@fluendo.com>
3739
3740         Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
3741
3742         * gst/gstelement.c: (gst_element_get_bus):
3743         * tests/check/gst/gstelement.c: (GST_START_TEST):
3744         Check for NULL before _reffing the bus. Fixes #353122.
3745
3746 2006-08-25  Tim-Philipp Müller  <tim at centricular dot net>
3747
3748         * docs/manual/basics-bus.xml:
3749           Docs update: fix wrong callback return value explanation; add
3750           some lines about the implicit relationship between main loop
3751           and main context; remove duplicate main loop variable declaration.
3752
3753 2006-08-24  Tim-Philipp Müller  <tim at centricular dot net>
3754
3755         * tests/check/gst/gstcaps.c: (GST_START_TEST):
3756           Don't leak caps in unit test; add a few more simple
3757           checks. 
3758
3759 2006-08-24  Stefan Kost  <ensonic@users.sf.net>
3760
3761         * docs/gst/gstreamer-sections.txt:
3762         * gst/gstcaps.c: (gst_caps_structure_is_subset_field),
3763         (gst_caps_structure_is_subset), (gst_caps_merge),
3764         (gst_caps_merge_structure):
3765         * gst/gstcaps.h:
3766         * libs/gst/base/gstbasetransform.c:
3767         (gst_base_transform_transform_caps):
3768         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
3769           implement caps merging (fixes #352580)
3770
3771 2006-08-23  Stefan Kost  <ensonic@users.sf.net>
3772
3773         * tools/Makefile.am:
3774         * tools/gst-plot-timeline.py:
3775           add debug-log plotting developer tool (#340674)
3776
3777 2006-08-23  Wim Taymans  <wim@fluendo.com>
3778
3779         * gst/gstpad.c: (gst_pad_start_task), (gst_pad_pause_task),
3780         (gst_pad_stop_task):
3781         Improve debugging for task functions.
3782
3783         * gst/gsttask.c: (gst_task_func), (gst_task_set_lock),
3784         (gst_task_start), (gst_task_pause), (gst_task_join):
3785         Make sure that the task function started and finished after a 
3786         join(). 
3787         Don't try to push the task function on the threadpool multiple
3788         times.
3789         Improve the g_warning message with some useful suggestions
3790         about how to fix the problem. 
3791
3792 2006-08-23  Wim Taymans  <wim@fluendo.com>
3793
3794         * gst/gstutils.c: (gst_pad_proxy_getcaps):
3795         Handle RESYNC correctly in _proxy_getcaps.
3796
3797 2006-08-21  Tim-Philipp Müller  <tim at centricular dot net>
3798
3799         * gst/gstxml.c: (gst_xml_dispose), (gst_xml_parse_file),
3800         (gst_xml_parse_memory), (gst_xml_get_element):
3801           Chain up to parent class in dispose function and also
3802           unref the elements in the toplevel_elements GList.
3803           Don't leak XmlDocPtr in _parse_file() and _parse_memory().
3804           Always return a reference in gst_xml_get_element() rather
3805           than only sometimes.
3806
3807         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
3808           Don't leak GstXml object.
3809
3810 2006-08-21  Stefan Kost  <ensonic@users.sf.net>
3811
3812         * docs/gst/gstreamer-sections.txt:
3813         * gst/gstcaps.c: (gst_structure_is_equal_foreach),
3814         (gst_caps_merge):
3815         * gst/gstcaps.h:
3816         * libs/gst/base/gstbasetransform.c:
3817         (gst_base_transform_transform_caps):
3818           API: Add gst_caps_merge() and use it in basetransform, fixes #345444
3819           in a better way
3820
3821 2006-08-21  Edward Hervey  <edward@fluendo.com>
3822
3823         * gst/gstxml.c: (gst_xml_class_init), (gst_xml_dispose):
3824         Implement GObject::dispose virtual method in GstXML so we can free the
3825         top_elements GList.
3826
3827 2006-08-21  Wim Taymans  <wim@fluendo.com>
3828
3829         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable),
3830         (gst_buffer_create_sub):
3831         Copy duration/offset_end/caps when creating a subbuffer of the
3832         complete parent.
3833         Make the subbuffer read-only when we make the metadata writable for
3834         now. Fixes #351768.
3835
3836         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
3837         Added check for metadata copy when creating subbuffers.
3838
3839 2006-08-21  Edward Hervey  <edward@fluendo.com>
3840
3841         * libs/gst/base/gstbasetransform.c:
3842         (gst_base_transform_buffer_alloc):
3843         Only call downstream buffer_alloc if transform element is passthrough
3844         or always_in_place. Closes #350449.
3845
3846 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
3847
3848         * ChangeLog:
3849           ChangeLog surgery to add comments to previous changes
3850
3851 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
3852
3853         * gst/gst.c:
3854           Add comments
3855
3856         * gst/gstpad.c: (gst_pad_set_active):
3857           Be more verbose in the log
3858
3859         * libs/gst/base/gstbasetransform.c:
3860         (gst_base_transform_transform_caps):
3861           Simplify caps to get rid of duplicates, fixes #345444
3862
3863 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
3864
3865         * gst/gstvalue.c:
3866         * gst/gstvalue.h:
3867           Use these optimizations only internally.
3868
3869 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
3870
3871         * gst/gstvalue.c: (gst_value_compare_list),
3872         (gst_value_compare_fraction_range),
3873         (gst_value_intersect_fraction_fraction_range),
3874         (gst_value_intersect_fraction_range_fraction_range),
3875         (gst_value_subtract_fraction_fraction_range),
3876         (gst_value_subtract_fraction_range_fraction_range),
3877         (gst_value_get_compare_func), (gst_value_compare),
3878         (gst_value_compare_with_func):
3879         * gst/gstvalue.h:
3880           Saves the expensive lookup of the compare function in many cases
3881          (#345444)
3882
3883 2006-08-18  Edward Hervey  <edward@fluendo.com>
3884
3885         * tests/check/gst/gstinfo.c: (gst_info_suite):
3886         Disable test that require gstdebug if it wasn't built in core.
3887
3888 2006-08-18  Stefan Kost  <ensonic@users.sf.net>
3889
3890         * docs/random/ensonic/logging.txt:
3891           update ideas
3892           
3893         * gst/gstinfo.c: (gst_debug_log_default):
3894           reorder fields, save some columns, add optional color codes for log
3895           levels
3896
3897 2006-08-18  Stefan Kost  <ensonic@users.sf.net>
3898
3899         * docs/random/ensonic/logging.txt:
3900           add ideas about making the logs a bit more useful
3901
3902 2006-08-17  Tim-Philipp Müller  <tim at centricular dot net>
3903
3904         * docs/pwg/advanced-events.xml:
3905         * docs/pwg/titlepage.xml:
3906           Update for 0.10 API (#340627). Add myself
3907           to authors list.
3908
3909 2006-08-17  Tim-Philipp Müller  <tim at centricular dot net>
3910
3911         * docs/libs/gstreamer-libs-docs.sgml:
3912         * docs/libs/gstreamer-libs-sections.txt:
3913         * libs/gst/check/gstbufferstraw.c:
3914           Make gstcheck stuff show up in docs (still needs to
3915           be documented properly though).
3916
3917 2006-08-16  Jan Schmidt  <thaytan@mad.scientist.com>
3918
3919         * docs/gst/gstreamer-sections.txt:
3920         * gst/Makefile.am:
3921         * gst/gst.c: (init_post):
3922         * gst/gst_private.h:
3923         * gst/gstquark.c: (_priv_gst_quarks_initialize):
3924         * gst/gstquark.h:
3925         * gst/gstquery.c: (gst_query_new_position),
3926         (gst_query_set_position), (gst_query_parse_position),
3927         (gst_query_new_duration), (gst_query_set_duration),
3928         (gst_query_parse_duration), (gst_query_new_convert),
3929         (gst_query_set_convert), (gst_query_parse_convert),
3930         (gst_query_new_segment), (gst_query_set_segment),
3931         (gst_query_parse_segment), (gst_query_new_seeking),
3932         (gst_query_set_seeking), (gst_query_parse_seeking):
3933         Add internal helpers for pre-registering quarks from static strings
3934         and using the quark values directly instead of looking them up when
3935         creating and parsing queries. Can be used for event construction too.
3936         Closes #350432.
3937
3938 2006-08-16  Wim Taymans  <wim@fluendo.com>
3939
3940         * gst/gstbin.c:
3941         Fix bogus docs.
3942
3943 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
3944
3945         * gst/gstutils.c: (gst_util_set_value_from_string):
3946           Fix memleak (#351502).
3947
3948         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
3949           Add unit test for most of gst_util_set_value_from_string()
3950           (not that one would want to encourage use of this function).
3951
3952 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
3953
3954         * libs/gst/check/gstcheck.h:
3955           Use const gchar * variables in fail_unless_equals_string
3956           macro to avoid compiler warnings (and don't use tabs for
3957           indenting).
3958
3959 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
3960
3961         * tools/gst-launch.c: (print_tag):
3962           More space on the left for the tag names, to cater
3963           for the 'extended comment' tag (not touching the
3964           string for the first line since it's translated).
3965
3966 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
3967
3968         * libs/gst/check/gstcheck.h:
3969           Fix ASSERT_CRITICAL and ASSERT_WARNING macros to actually
3970           print something when they fail.
3971
3972 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
3973
3974         * docs/gst/gstreamer-sections.txt:
3975         * gst/gsttaglist.c: (_gst_tag_initialize):
3976         * gst/gsttaglist.h:
3977           API: add GST_TAG_EXTENDED_COMMENT (#350935).
3978           Also change merge function for GST_TAG_COMMENT to
3979           use_first.
3980
3981 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
3982
3983         * gst/gstinfo.c: (gst_debug_print_object):
3984           Make GST_PTR_FORMAT print messages as well.
3985
3986         * tests/check/gst/gstinfo.c: (printf_extension_log_func),
3987         (GST_START_TEST), (gst_info_suite):
3988           More tests.
3989
3990 2006-08-14  Edward Hervey  <edward@fluendo.com>
3991
3992         * gst/gstelementfactory.c: (gst_element_register):
3993         If the GstElementClass doesn't have a GstElementDetails with all fields
3994         filled up correctly (longname, description AND author), then error out
3995         nicely instead of crashing.
3996
3997 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
3998
3999         * gst/gststructure.c:
4000           Fix typo in docs and re-wrap docs blurb to not exceed 80 chars/line.
4001
4002         * gst/gstvalue.h:
4003           Expand on the difference between arrays and lists as we use them.
4004           
4005 2006-08-14  Wim Taymans  <wim@fluendo.com>
4006
4007         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
4008         If the parent state change function failed, don't assume we can safely
4009         stop the source, this will be done when the pads are deactivated.
4010
4011 2006-08-14  Wim Taymans  <wim@fluendo.com>
4012
4013         * gst/gstbuffer.c:
4014         * gst/gsttask.c: (gst_task_join):
4015         Small doc updates.
4016
4017         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
4018         (gst_pad_stop_task):
4019         When pad (de)activation failed for some reason, restore the old
4020         activation mode and set the pad to flushing instead of assuming the
4021         pad is deactivated.
4022         If the _task_join() failed, reinstall the task on the pad so that it can
4023         be stopped later and return an error.
4024
4025 2006-08-11  Andy Wingo  <wingo@pobox.com>
4026
4027         * configure.ac:
4028         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
4029         * tests/check/libs/gdp.c: (gst_dp_suite): GST_DISABLE_DEPRECATED
4030         is only for users of API that don't want to see deprecated
4031         functions in the headers; people that want to compile out
4032         deprecated code should pass -DGST_REMOVE_DEPRECATED into the
4033         CFLAGS. Fixes the build of multifdsink, or will soon..
4034
4035 2006-08-11  Wim Taymans  <wim@fluendo.com>
4036
4037         * docs/gst/gstreamer-sections.txt:
4038         Add GstClockClass vmethod docs.
4039
4040         * gst/gstcaps.h:
4041         Mark #endif with comment for associated #if
4042
4043         * gst/gstclock.c: (gst_clock_id_wait):
4044         * gst/gstclock.h:
4045         Add vmethod wait_jitter to avoid an unneeded _get_time() for
4046         most clock implementations.
4047         Document vmethods.
4048         Flesh out docs about resolution methods.
4049         API: GstClockClass::wait_jitter
4050
4051         * gst/gstsystemclock.c: (gst_system_clock_class_init),
4052         (gst_system_clock_async_thread),
4053         (gst_system_clock_id_wait_jitter_unlocked),
4054         (gst_system_clock_id_wait_jitter):
4055         Use base class wait_jitter variant for improved performance
4056         due to less clock polling.
4057
4058 2006-08-11  Edward Hervey  <edward@fluendo.com>
4059
4060         * gst/gst.c: (gst_init_check), (init_post):
4061         Set gst as being initialized before scanning/updating the registry,
4062         since there might be my python plugin loader that calls gst_init() and
4063         we don't want to loop back in.
4064         Closes #350879
4065
4066 2006-08-11  Wim Taymans  <wim@fluendo.com>
4067
4068         * docs/design/part-qos.txt:
4069         Bring docs in line with the code. Mostly the sign of the jitter was
4070         wrong in the docs. Fixes #349943.
4071
4072         * gst/gstclock.c:
4073         Fix the docs for the jitter.
4074
4075         * gst/gstevent.c: (gst_event_new_custom), (gst_event_new_tag),
4076         (gst_event_parse_tag), (gst_event_new_buffer_size),
4077         (gst_event_parse_buffer_size), (gst_event_parse_qos),
4078         (gst_event_new_seek), (gst_event_parse_seek),
4079         (gst_event_new_navigation):
4080         Make sure the GstStructure has no parent when creating custom
4081         events.
4082         Add some more argument checking so that we avoid 0.0 rates.
4083         Flesh out the docs for the QoS event some more.
4084
4085 2006-08-11  Wim Taymans  <wim@fluendo.com>
4086
4087         * docs/gst/gstreamer-sections.txt:
4088         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
4089         (ensure_current_registry_forking), (ensure_current_registry),
4090         (parse_one_option), (parse_goption_arg), (gst_deinit),
4091         (gst_registry_fork_is_enabled), (gst_registry_fork_set_enabled):
4092         * gst/gst.h:
4093         Doc updates.
4094         Added API and command line option to disable registry forking in
4095         addition to the environment variable.
4096         Constify some static arrays.
4097         Added some more debug.
4098         Don't deinit twice.
4099         API: gst_registry_fork_is_enabled()
4100         API: gst_registry_fork_set_enabled()
4101         API: --gst-disable-registry-fork command line option
4102         Fixes #348918.
4103
4104 2006-08-11  Tim-Philipp Müller  <tim at centricular dot net>
4105
4106         * gst/gst.c: (gst_init):
4107           Fix typo in error message.
4108
4109 2006-08-10  Stefan Kost  <ensonic@users.sf.net>
4110
4111         * libs/gst/controller/gstcontroller.h:
4112           fix ABI size-correction
4113
4114         * tests/check/libs/gdp.c: (gst_dp_suite):
4115           make tests that use deprecated API conditional
4116
4117 2006-08-10  Stefan Kost  <ensonic@users.sf.net>
4118
4119         * docs/libs/gstreamer-libs-sections.txt:
4120         * libs/gst/controller/gstcontroller.c:
4121         (_gst_controller_get_property), (_gst_controller_set_property),
4122         (_gst_controller_init), (_gst_controller_class_init):
4123         * libs/gst/controller/gstcontroller.h:
4124         * libs/gst/controller/gsthelper.c: (gst_object_get_control_rate),
4125         (gst_object_set_control_rate):
4126           API: add gst_object_{s,g}et_control_rate(), add private data section,
4127           fix docs
4128
4129         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
4130         * libs/gst/dataprotocol/dataprotocol.h:
4131           add deprecation guards to make gtk-doc happy and allow disabling cruft
4132
4133 2006-08-09  Tim-Philipp Müller  <tim at centricular dot net>
4134
4135         * tests/check/Makefile.am:
4136         * tests/check/gst/.cvsignore:
4137           Let's enable the new unit test as well.
4138
4139 2006-08-08  Tim-Philipp Müller  <tim at centricular dot net>
4140
4141         * configure.ac:
4142         * docs/gst/gstreamer-sections.txt:
4143         * gst/gstconfig.h.in:
4144         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_print_segment),
4145         (_gst_info_printf_extension_ptr),
4146         (_gst_info_printf_extension_segment):
4147           API: add GST_SEGMENT_FORMAT, which is a printf extension we
4148           register that lets us easily dump GstSegments into debug
4149           logs (#350419).
4150
4151         * tests/check/gst/gstinfo.c: (segment_printf_extension_log_func),
4152         (info_segment_format_printf_extension), (gst_info_suite):
4153           Add simple unit test that logs a bunch of different segments (not
4154           valgrinded at the moment because of leaks in
4155           gst_debug_add_log_function).
4156
4157 2006-08-09  Edward Hervey  <edward@fluendo.com>
4158
4159         * libs/gst/base/gstbasetransform.c:
4160         (gst_base_transform_buffer_alloc):
4161         Even if we can't figure out the proper format to request downstream,
4162         call buffer_alloc() downstream with the input parameters without setting
4163         the caps on the srcpad. This will force negotiation in the chain
4164         function.
4165         Closes #350449
4166
4167 2006-08-08  Edward Hervey  <edward@fluendo.com>
4168
4169         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
4170         Unlinking from a pad without a target is now a perfectly valid case
4171         which should NOT raise an assertion.
4172         This case would happen if a linked ghostpad its target set to NULL after
4173         it was previously linked.
4174
4175 2006-08-08  Edward Hervey  <edward@fluendo.com>
4176
4177         * tests/check/libs/gdp.c:
4178         Also comment out the test (see below).
4179
4180 2006-08-08  Edward Hervey  <edward@fluendo.com>
4181
4182         * tests/check/libs/gdp.c: (gst_dp_suite):
4183         Use the architecture information from config.h and not gcc macros
4184         in order to properly disable a test that fails on PPC64.
4185
4186 2006-08-04  Tim-Philipp Müller  <tim at centricular dot net>
4187
4188         * gst/gstelement.c: (gst_element_remove_pad):
4189           Don't crash printing the warning if the pad has no parent.
4190
4191 2006-08-02  Wim Taymans  <wim@fluendo.com>
4192
4193         * libs/gst/dataprotocol/dataprotocol.c:
4194         (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
4195         (gst_dp_crc), (gst_dp_header_payload_length),
4196         (gst_dp_header_payload_type), (gst_dp_packet_from_event),
4197         (gst_dp_packet_from_event_1_0), (gst_dp_buffer_from_header),
4198         (gst_dp_caps_from_packet), (gst_dp_event_from_packet_0_2),
4199         (gst_dp_event_from_packet), (gst_dp_validate_header),
4200         (gst_dp_validate_payload):
4201         Make debug category static
4202         Constify the crc table.
4203         Do some more arg checking in public functions.
4204         Fix some docs and do some small cleanups.
4205
4206         * tests/check/libs/gdp.c: (GST_START_TEST), (gst_dp_suite):
4207         Add some more checks to see if GDP deals with bogus input.
4208
4209 2006-07-31  Wim Taymans  <wim@fluendo.com>
4210
4211         * gst/gstvalue.c: (gst_value_compare_list):
4212         Fix GstValueList comparison code. Fixes #347293.
4213
4214         * tests/check/gst/gstvalue.c: (GST_START_TEST):
4215         Check to test GstValueList comparison.
4216
4217 2006-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
4218
4219         * gst/gstelementfactory.c: (gst_element_factory_create):
4220         Remove unnecessary ref/unref pair
4221
4222         * gst/parse/grammar.y:
4223         Make sure to free the parse buffer on all code paths.
4224         Move a g_free up to the error handler where it's easier to see.
4225
4226         * tests/check/gst/gstevent.c: (test_event):
4227         Extending timeout for downstream travelling events to 10 seconds to
4228         hopefully avoid intermittent failure on the buildbots.
4229
4230         * tests/check/pipelines/parse-launch.c: (run_delayed_test):
4231         Don't manually set the state of the src element - it will happen as a
4232         natural consequence of the pipeline changing state, and that way it
4233         will do it in the right order too.
4234
4235 2006-07-31  Wim Taymans  <wim@fluendo.com>
4236
4237         * libs/gst/base/gstbasetransform.c:
4238         (gst_base_transform_buffer_alloc):
4239         Use OBJECT_LOCK and refcounting to get the pad caps in the
4240         buffer_alloc function because the caps could change while we are
4241         busy with them. Fixes #349105
4242
4243 2006-07-31  Wim Taymans  <wim@fluendo.com>
4244
4245         * gst/gstutils.c: (gst_pad_get_fixed_caps_func):
4246         Protect _PAD_CAPS with OBJECT_LOCK.
4247
4248 2006-07-31  Wim Taymans  <wim@fluendo.com>
4249
4250         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
4251         (gst_pad_get_property), (gst_pad_activate_pull),
4252         (gst_pad_activate_push), (gst_pad_set_blocked_async),
4253         (gst_pad_set_activate_function),
4254         (gst_pad_set_activatepull_function),
4255         (gst_pad_set_activatepush_function), (gst_pad_set_chain_function),
4256         (gst_pad_set_getrange_function),
4257         (gst_pad_set_checkgetrange_function), (gst_pad_set_event_function),
4258         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
4259         (gst_pad_set_internal_link_function), (gst_pad_set_link_function),
4260         (gst_pad_set_unlink_function), (gst_pad_set_getcaps_function),
4261         (gst_pad_set_acceptcaps_function),
4262         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
4263         (gst_pad_set_bufferalloc_function), (gst_pad_link_check_hierarchy),
4264         (gst_pad_get_caps_unlocked), (gst_pad_get_caps),
4265         (gst_pad_peer_get_caps), (gst_pad_accept_caps),
4266         (gst_pad_peer_accept_caps), (gst_pad_set_caps),
4267         (gst_pad_configure_sink), (gst_pad_configure_src),
4268         (gst_pad_get_allowed_caps), (gst_pad_get_negotiated_caps),
4269         (gst_pad_buffer_alloc_unchecked), (gst_pad_alloc_buffer_full),
4270         (gst_pad_query), (gst_pad_load_and_link), (handle_pad_block),
4271         (gst_pad_chain_unchecked), (gst_pad_push), (gst_pad_get_range),
4272         (gst_pad_send_event):
4273         Use _DEBUG_OBJECT when it makes sense.
4274         Protect GST_PAD_CAPS with the OBJECT_LOCK.
4275         Small cleanups and code reflows.
4276         Avoid caps refcounting in _accept_caps.
4277         Refactor alloc_buffer so that the code performed on the peer is in a
4278         separate function. Also if the pad does not implement a buffer alloc
4279         function, we should still check if the pad is flushing before falling
4280         back to the default allocator.
4281
4282 2006-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
4283
4284         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
4285         Make all uses of identity and fakesink have silent=true to avoid
4286         serialising every passing data structure, which is breaking tests
4287         on FC4 for some unknown reason.
4288
4289 2006-07-30  Stefan Kost  <ensonic@users.sf.net>
4290
4291         * gst/parse/Makefile.am:
4292         * gst/parse/grammar.y:
4293         * gst/parse/parse.l:
4294           Reverted previous patch as it required to bump the flex dependency to
4295           2.5.31, where fc4/5 seem to ship only the ancient 2.5.4a :(
4296
4297 2006-07-30  Stefan Kost  <ensonic@users.sf.net>
4298
4299         Patch by: Marc-Andre Lureau <marcandre.lureau@gmail.com>
4300
4301         * gst/parse/Makefile.am:
4302         * gst/parse/grammar.y:
4303         * gst/parse/parse.l:
4304           push & pop the state of the lexer for reentrant use case
4305           Fixes #349180
4306
4307 2006-07-29  Tim-Philipp Müller  <tim at centricular dot net>
4308
4309         * libs/gst/base/gstbasesrc.h:
4310           Note in the docs that the ::newsegment vfunc is not actually used by
4311           GstBaseSrc.
4312
4313 2006-07-28  Wim Taymans  <wim@fluendo.com>
4314
4315         * libs/gst/base/gstcollectpads.c:
4316         (gst_collect_pads_set_flushing_unlocked), (gst_collect_pads_pop),
4317         (gst_collect_pads_clear), (gst_collect_pads_flush),
4318         (gst_collect_pads_event), (gst_collect_pads_chain):
4319         When flushing a pad, also clear the queued buffer so that we don't
4320         accidentally use it when we shouldn't.
4321         Fix leaks by inreffing incomming buffer.
4322         Flush out queued buffers in case of errors.
4323         Fixes #347452.
4324
4325 2006-07-28  Wim Taymans  <wim@fluendo.com>
4326
4327         * docs/random/phonon-gst:
4328         Random notes about a Phonon backend.
4329
4330 2006-07-27  Jan Schmidt  <thaytan@mad.scientist.com>
4331
4332         * libs/gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
4333         Extra debug output
4334         * tests/check/libs/gdp.c: (gst_dp_suite):
4335         Take a whack at fixing the ppc compile using a different define to
4336         disable the broken test.
4337
4338         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
4339         Remove excess g_print()
4340
4341 2006-07-27  Jan Schmidt <thaytan@mad.scientist.com>
4342
4343         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
4344         Oops, meant to uncomment this line too to dampen the noise a bit.
4345
4346 2006-07-27  Jan Schmidt <thaytan@mad.scientist.com>
4347
4348         * gst/parse/grammar.y:
4349         * gst/parse/parse.l:
4350         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
4351         (GST_START_TEST), (parse_suite):
4352         Fix some of the leaks exposed by extending the parse-launch testsuite,
4353         and move the 3 I can't figure out into a separate test that won't run
4354         the pipelines unless the appropriate line is uncommented.
4355
4356 2006-07-27  Tim-Philipp Müller  <tim at centricular dot net>
4357
4358         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
4359           Requesting 0 bytes before the end of the file should result in
4360           FLOW_OK and an empty buffer, not FLOW_UNEXPECTED. Thank you
4361           unit test.
4362
4363 2006-07-27  Wim Taymans  <wim@fluendo.com>
4364
4365         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_get_structure):
4366         Fix useless assert, a uint is always positive.
4367
4368         * gst/gststructure.c: (gst_structure_nth_field_name),
4369         (gst_structure_foreach), (gst_structure_map_in_place):
4370         Check input arguments for public functions to avoid obvious crashes.
4371
4372         * plugins/elements/gstfakesink.c: (gst_fake_sink_render):
4373         * plugins/elements/gstfakesink.h:
4374         Do less useless typechecking.
4375
4376 2006-07-27  Tim-Philipp Müller  <tim at centricular dot net>
4377
4378         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
4379           Do not use mmap() by default since there are a number of error
4380           conditions that we would like to handle in a non-fatal way that
4381           will result in a SIGBUS if we use mmap(). Examples: external
4382           devices (USB harddrive, portable music player) being unplugged
4383           while in use; file on mounted CD/DVD that can't be read because
4384           the medium is partly damaged. Fixes #348455 and #348475.
4385
4386 2006-07-27  Jan Schmidt  <thaytan@mad.scientist.com>
4387
4388         * gst/gstquery.h:
4389         Delete unused and misleading define of GST_QUERY_TYPE_RATE_DEN -
4390         rates are a gdouble
4391
4392 2006-07-26  Stefan Kost  <ensonic@users.sf.net>
4393
4394         * gst/gstregistry.c:
4395           Move big documentation comment into class section header, so that it
4396           appears in the API docs.
4397
4398 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
4399
4400         * docs/gst/gstreamer-sections.txt:
4401         Oops. Commit the docs additions too for new API.
4402         Also, remove the mention of the non-existent GST_QUERY_TYPE_RATE_DEN
4403
4404 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
4405
4406         * gst/gststructure.c: (gst_structure_id_set),
4407         (gst_structure_id_set_valist):
4408         * gst/gststructure.h:
4409         Add API for setting values into structures without performing
4410         a quark lookup, if the appropriate quark is already known.
4411
4412         API: gst_structure_id_set
4413         API: gst_structure_id_set_valist
4414
4415         * gst/parse/grammar.y:
4416         * gst/parse/parse.l:
4417         Remove some dead code shown by the coverage information.
4418         Don't throw a critical g_warning when encountering a syntax error,
4419         just warn and let the normal error path handle it.
4420
4421         * plugins/elements/gstelements.c:
4422         Bump the rank of filesink up to PRIMARY so that it is preferred over
4423         gnomevfssink for file:// sink uri's
4424
4425         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
4426         (GST_START_TEST), (run_delayed_test),
4427         (gst_parse_test_element_base_init),
4428         (gst_parse_test_element_class_init), (gst_parse_test_element_init),
4429         (gst_parse_test_element_change_state),
4430         (gst_register_parse_element), (parse_suite):
4431         Beef up the tests for parse syntax to check that more error cases
4432         fail as they are supposed to. Increases the test coverage a bit.
4433
4434 2006-07-26  Tim-Philipp Müller  <tim at centricular dot net>
4435
4436         * docs/manual/basics-elements.xml:
4437           Fix gst_element_link() example.
4438
4439         * gst/gstutils.c:
4440           Mention in API docs that one should usually gst_bin_add()
4441           elements to a bin or pipeline before doing the linking.
4442           
4443 2006-07-26  Wim Taymans  <wim@fluendo.com>
4444
4445         * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_new),
4446         (gst_subbuffer_get_type), (gst_buffer_create_sub):
4447         Avoid function call for known types by keeping the buffer and
4448         subbuffer GType global.
4449
4450         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
4451         Random silly optimisations in read() path.
4452
4453 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
4454
4455         * tools/gst-launch.c: (main):
4456           If the top-level of the parse is a normal bin, it doesn't do the
4457           right logic to run as a top-level element, so place it inside a
4458           pipeline.
4459
4460 2006-07-25  Tim-Philipp Müller  <tim at centricular dot net>
4461
4462         * plugins/elements/gstfilesrc.c: (gst_file_src_set_property):
4463           Remove superfluous g_object_notify() calls, GObject does
4464           that for us automatically.
4465
4466 2006-07-25  Stefan Kost  <ensonic@users.sf.net>
4467
4468         * gst/gstinfo.h:
4469           on Win32, use dllspec to export the debug category symbols
4470
4471 2006-07-24  Tim-Philipp Müller  <tim at centricular dot net>
4472
4473         * gst/gsttaglist.c: (_gst_tag_initialize):
4474           Allow more than one GST_TAG_IMAGE per taglist.
4475
4476 2006-07-24  Thomas Vander Stichele  <thomas at apestaart dot org>
4477
4478         * gst/gstminiobject.c:
4479           update docs
4480         * plugins/elements/gstfdsrc.c: (gst_fd_src_set_property),
4481         (gst_fd_src_create):
4482           log recurring events at LOG level
4483           add more debug for when the fd gets set
4484
4485 2006-07-21  Stefan Kost  <ensonic@users.sf.net>
4486
4487         * gst/gstparse.c: (gst_parse_launch):
4488           Also remove reentrance checks if flex is MT safe (#348179)
4489          Fix my empty ChangeLog entry below
4490
4491 2006-07-21  Andy Wingo  <wingo@pobox.com>
4492
4493         * docs/libs/gstreamer-libs-sections.txt: Attempt to pacify buildbot.
4494
4495         * libs/gst/check/Makefile.am
4496         (libgstcheck_@GST_MAJORMINOR@include_HEADERS)
4497         (libgstcheck_@GST_MAJORMINOR@_la_SOURCES): 
4498         * libs/gst/check/gstbufferstraw.h:
4499         * libs/gst/check/gstbufferstraw.c: Add some new hype testing
4500         functions, thus proving I am still a GStreamer haxor. OK I wrote
4501         them a long time ago, but anyways.
4502
4503 2006-07-21  Stefan Kost  <ensonic@users.sf.net>
4504
4505         * configure.ac:
4506         * gst/gstparse.c: (gst_parse_launch):
4507           Check for flex version and omit mutex if we have a MT save flex
4508           (fixes #348179)
4509
4510 2006-07-21  Wim Taymans  <wim@fluendo.com>
4511
4512         * gst/gstparse.c: (gst_parse_launch):
4513         Protect recursive calls to _parse with a recursive mutex
4514         and busy flag.
4515
4516 2006-07-21  Wim Taymans  <wim@fluendo.com>
4517
4518         * tests/check/gst/gstpad.c: (GST_START_TEST):
4519         Fix leak in test.
4520
4521 2006-07-20  Stefan Kost  <ensonic@users.sf.net>
4522
4523         * gst/gstparse.c: (gst_parse_launch):
4524           Do not hang on recursive usage of gst_parse_launch()
4525
4526 2006-07-20  Tim-Philipp Müller  <tim at centricular dot net>
4527
4528         * gst/gsttaglist.c:
4529           Add some more docs, comments and FIXME 0.11s here and there
4530           and also fix some typos.
4531
4532 2006-07-20  Tim-Philipp Müller  <tim at centricular dot net>
4533
4534         * gst/gstsegment.h:
4535           Convert tabs to spaces for better readability. 
4536
4537 2006-07-20  Edward Hervey  <edward@fluendo.com>
4538
4539         * tests/check/libs/gdp.c: (gst_dp_suite):
4540         the test_buffer test fails at line 140 on ppc64 at the following
4541         check:
4542         fail_unless (GST_BUFFER_FLAG_IS_SET (newbuffer,
4543                 GST_BUFFER_FLAG_IN_CAPS),
4544                 "GST_BUFFER_IN_CAPS flag should have been copied !");
4545         See bug #348114 for more details.
4546
4547 2006-07-19  Tim-Philipp Müller  <tim at centricular dot net>
4548
4549         * docs/pwg/advanced-scheduling.xml:
4550         * gst/gstpad.c:
4551           Fix typos (#348000).
4552
4553 2006-07-18  Tim-Philipp Müller  <tim at centricular dot net>
4554
4555         * docs/pwg/intro-basics.xml:
4556           Fix wrong links (#347927).
4557
4558 2006-07-18  Stefan Kost  <ensonic@users.sf.net>
4559
4560         * gst/gstregistry.h:
4561         * gst/gstregistryxml.c: (load_feature),
4562         (gst_registry_xml_read_cache), (gst_registry_xml_save_feature):
4563         * win32/common/config.h:
4564           make --disable-index work (#342564)
4565
4566 2006-07-18  Wim Taymans  <wim@fluendo.com>
4567
4568         Patch by: Peter Kjellerstedt <pkj at axis dot com>
4569
4570         * gst/Makefile.am:
4571         * gst/gsttrace.h:
4572         The attached patch adds two missing defines to gsttrace.h when tracing
4573         is disabled.  It also corrects one existing define.
4574         Fixes #347756.
4575
4576 2006-07-17  Wim Taymans  <wim@fluendo.com>
4577
4578         * docs/gst/gstreamer-sections.txt:
4579         * gst/gst.c: (gst_segtrap_is_enabled), (gst_segtrap_set_enabled):
4580         * gst/gst.h:
4581         * gst/gstplugin.c: (_gst_plugin_fault_handler_restore):
4582         Add two functions to check and change the SIGSEGV behaviour
4583         when loading plugins.
4584         Don't mess with the SIGSEGV handler when we were told not to.
4585         Fixes #347794.
4586         API: gst_segtrap_is_enabled
4587         API: gst_segtrap_set_enabled
4588
4589 2006-07-14  Wim Taymans  <wim@fluendo.com>
4590
4591         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
4592         * tests/check/elements/filesrc.c: (GST_START_TEST):
4593         Revert fix for regression in #347408 after release.
4594
4595 2006-07-14  Tim-Philipp Müller  <tim at centricular dot net>
4596
4597         Patch by: Antoine Tremblay <hexa00 at gmail com>
4598
4599         * gst/gstutils.c: (gst_element_unlink):
4600           Free iterator when done (#347311).
4601
4602         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
4603           And add a test case for this.
4604
4605 2006-07-14  Jan Schmidt  <thaytan@mad.scientist.com>
4606
4607         * configure.ac:
4608         Bump nano back to CVS
4609
4610 === release 0.10.9 ===
4611
4612 2006-07-13  Jan Schmidt <thaytan@mad.scientist.com>
4613
4614         * configure.ac:
4615           releasing 0.10.9, "On the road again"
4616
4617 2006-07-13  Wim Taymans  <wim@fluendo.com>
4618
4619         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
4620         * tests/check/elements/filesrc.c: (GST_START_TEST):
4621         Revert pull-0 fix for release. Disable check. Fixes #347408.
4622
4623 2006-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4624
4625         * libs/gst/dataprotocol/dataprotocol.c:
4626         (gst_dp_event_from_packet_1_0):
4627           Fixes #347337: failure to deserialize event packets with
4628           empty payload (only event type)
4629
4630 2006-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4631
4632         * gst/Makefile.am:
4633           do not install a .c file in the header directory
4634
4635 2006-07-13  Edward Hervey  <edward@fluendo.com>
4636
4637         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
4638         GhostPad no longer implicitely use the padtemplates of the targets.
4639         Fixes #347384
4640
4641 2006-07-11  Jan Schmidt  <thaytan@mad.scientist.com>
4642
4643         * gst/gstvalue.c: (gst_value_compare_list),
4644         (gst_value_compare_array), (_gst_value_initialize):
4645         * tests/check/gst/gstvalue.c: (GST_START_TEST):
4646         Make GstValueArray comparison be order dependent as designed.
4647         Add checks for value lists and value array comparisons.
4648         Fixes #347221
4649
4650 2006-07-11  Edward Hervey  <edward@fluendo.com>
4651
4652         * gst/gstbin.c: (activate_pads),
4653         (iterator_activate_fold_with_resync), (gst_bin_src_pads_activate),
4654         (gst_bin_change_state_func):
4655         (de)activate src pads before calling state_change on the childs.
4656         This is to avoid the case where a src ghostpad is blocked (holding the
4657         stream lock), which would block the deactivation of the ghostpad's
4658         target pad.
4659         * gst/gstghostpad.c: (gst_proxy_pad_do_query_type),
4660         (gst_proxy_pad_do_event), (gst_proxy_pad_do_query),
4661         (gst_proxy_pad_do_internal_link), (gst_proxy_pad_do_bufferalloc),
4662         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
4663         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
4664         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
4665         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
4666         (gst_proxy_pad_set_target), (gst_proxy_pad_get_internal),
4667         (gst_proxy_pad_dispose), (gst_proxy_pad_init),
4668         (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
4669         (gst_ghost_pad_class_init),
4670         (gst_ghost_pad_internal_do_activate_push),
4671         (gst_ghost_pad_internal_do_activate_pull),
4672         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
4673         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
4674         (gst_ghost_pad_dispose), (gst_ghost_pad_new_no_target),
4675         (gst_ghost_pad_new), (gst_ghost_pad_set_target):
4676         GhostPads now create their internal GstProxyPad at creation (and not
4677         when they're linked, as it was being done previously).
4678         The internal and target pads are linked straight away.
4679         The data will also travel through the other pad in order to make
4680         pad blocking and probes non-hackish (the probe/block now really happens
4681         on the GhostPad and not on the target).
4682         * gst/gstpad.c: (gst_pad_set_blocked_async),
4683         (gst_pad_link_prepare), (gst_pad_push_event):
4684         Remove previous ghostpad cruft.
4685         * gst/gstutils.c: (gst_pad_add_data_probe),
4686         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
4687         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
4688         (gst_pad_remove_buffer_probe):
4689         Remove previous ghost pad cruft.
4690         Added more detailed debug statements.
4691         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
4692         Fix the testsuite for refcounting changes.
4693         The comments about who has references were correct, but the refcount
4694         being checked wasn't the same (!?!).
4695
4696         Fixes #341029
4697
4698 2006-07-10  Stefan Kost  <ensonic@users.sf.net>
4699
4700         * docs/gst/gstreamer-sections.txt:
4701         * gst/gstconfig.h.in:
4702         More docs for configuration options, add docs to gtk-doc.
4703
4704 2006-07-10  Stefan Kost  <ensonic@users.sf.net>
4705
4706         * gst/Makefile.am:
4707         * gst/gstconfig.h.in:
4708         * win32/common/config.h:
4709         Fix build when disabling tracing (fixes #344016). Also start to document
4710         the defines that disable the sub-systems.
4711
4712 2006-07-10  Edward Hervey  <edward@fluendo.com>
4713
4714         * gst/gst.c: (ensure_current_registry_forking):
4715         let's make valgrind happy...
4716
4717 2006-07-09  Wim Taymans  <wim@fluendo.com>
4718
4719         * gst/gstelement.c: (activate_pads),
4720         (iterator_activate_fold_with_resync), (gst_element_pads_activate):
4721         Better pad activation code: Reset the collect value too on resync.
4722         Add some comments.
4723
4724 2006-07-09  Wim Taymans  <wim@fluendo.com>
4725
4726         * gst/gstpad.c: (gst_pad_init), (gst_pad_activate_pull),
4727         (gst_pad_activate_push):
4728         Use some more macros where it makes sense.
4729         Allow pad mode switching instead of asserting. When a pad
4730         is activated in one mode and we activate it in another, 
4731         deactivate it first before activating it in a different mode.
4732         Fixes #329198.
4733
4734 2006-07-08  Andy Wingo  <wingo@pobox.com>
4735
4736         * tools/gst-launch.c (main): Handle err == NULL.
4737
4738         * gst/gst.c (init_post, ensure_current_registry)
4739         (ensure_current_registry_forking)
4740         (ensure_current_registry_nonforking): Reduce #ifdef ratnest by
4741         factoring out the registry scanning into separate functions. Don't
4742         fork for the rescan is GST_REGISTRY_FORK=no; useful in debugging.
4743         Better environment var name/interface suggestions accepted.
4744
4745 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
4746
4747         * gst/gstobject.c: (gst_object_set_name_default),
4748         (gst_object_set_name):
4749           Random micro-optimisation: don't use a hash table
4750           with strings as keys and the usual strdup/strcmp
4751           involved, but rather just use the GQuark of the
4752           type name as key, since it needs to be looked up
4753           anyway to get the type name string.
4754
4755         * tests/check/gst/gstobject.c: (GST_START_TEST):
4756           Fix various leaks.
4757
4758 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
4759
4760         * gst/gstbin.c: (compare_interface), (gst_bin_get_by_interface),
4761         (gst_bin_iterate_all_by_interface):
4762           Can't use GPOINTER_TO_INT and GINT_TO_POINTER with GTypes.
4763           GTypes are gulongs and thus the top 4 bytes might be cut
4764           off on some platforms when doing GPOINTER_TO_INT, leading
4765           to invalid GTypes and bad things happening (see RH bug #179654).
4766           Also add a check to make sure the type passed in is really
4767           an interface type.
4768
4769 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
4770
4771         * .cvsignore:
4772           Ignore more.
4773
4774 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
4775
4776         * Makefile.am:
4777         * configure.ac:
4778         * gst-element-check.m4:
4779         * gst-element-check.m4.in:
4780           Make gst-element-check-$VERSION.m4 call gst-inspect-$VERSION
4781           instead of the unversioned gst-inspect (#324176, #168659).
4782
4783 2006-07-06  Wim Taymans  <wim@fluendo.com>
4784
4785         * gst/gstmessage.h:
4786         Use a valid int for the _MESSAGE_ANY enum value to avoid compiler
4787         warnings.
4788
4789 2006-07-06  Wim Taymans  <wim@fluendo.com>
4790
4791         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
4792         (gst_base_src_wait), (gst_base_src_update_length),
4793         (gst_base_src_get_range), (gst_base_src_default_check_get_range),
4794         (gst_base_src_check_get_range), (gst_base_src_pad_check_get_range),
4795         (gst_base_src_loop), (gst_base_src_start),
4796         (gst_base_src_activate_pull):
4797         Update docs.
4798         blocksize == 0 now means the default blocksize when working in push
4799         based mode.
4800         Remove some pointless asserts in _wait function.
4801         Fix offset/length calculations and EOS handling. We can now pull 0
4802         bytes as well, which is allowed.
4803         use _check_get_range() to decide if we can operate in _pull based
4804         mode.
4805         Fix refcounting leak when check_get_range function was not 
4806         implemented.
4807         API GstBaseSrc::blocksize range can be 0 too now (default)
4808
4809         * tests/check/elements/filesrc.c: (GST_START_TEST),
4810         (filesrc_suite):
4811         Added check to test _get_range() behaviour.
4812
4813 2006-07-06  Wim Taymans  <wim@fluendo.com>
4814
4815         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
4816         (gst_pad_push), (gst_pad_check_pull_range), (gst_pad_get_range),
4817         (gst_pad_pull_range):
4818         * gst/gstpad.h:
4819         Lots of comments and docs added to the pad functions.
4820         Flesh out the expected behaviour of the get_range() functions.
4821
4822 2006-07-06  Wim Taymans  <wim@fluendo.com>
4823
4824         * gst/gstbus.h:
4825         * gst/gstclock.h:
4826         * gst/gstevent.h:
4827         * gst/gstiterator.h:
4828         * gst/gstpad.h:
4829         * gst/gstplugin.h:
4830         * gst/gsttask.h:
4831         Remove comma at end of enumerator list. 
4832
4833 2006-07-05  Sebastien Moutte  <sebastien@moutte.net>
4834
4835         * win32/common/libgstbase.def:
4836         * win32/common/libgstdataprotocol.def:
4837         * win32/common/libsgtreamer.def:
4838         Add new exported functions.
4839
4840 2006-07-05  Wim Taymans  <wim@fluendo.com>
4841
4842         * libs/gst/base/gstpushsrc.c: (gst_push_src_check_get_range):
4843         Add some more docs here and there.
4844
4845 2006-07-05  Wim Taymans  <wim@fluendo.com>
4846
4847         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_object),
4848         (gst_base_sink_loop), (gst_base_sink_get_position):
4849         When operating in pull mode update the offset so that we
4850         read sequentially.
4851
4852 2006-07-05  Wim Taymans  <wim@fluendo.com>
4853
4854         * gst/gstregistryxml.c: (read_string):
4855         Avoid strdup. (will happen in libxml, but hey!)
4856
4857         * gst/gsturi.c:
4858         Add some more docs.
4859
4860 2006-07-05  Wim Taymans  <wim@fluendo.com>
4861
4862         * gst/gstbuffer.c: (_gst_buffer_copy), (gst_buffer_create_sub):
4863         * tests/check/gst/gstbuffer.c: (GST_START_TEST),
4864         (gst_buffer_suite):
4865         No point in checking if the size of the subbuffer > 0, the
4866         code handles it correclty as demonstrated by unit test.
4867         Also add a unit test for the zero sized _new_and_alloc and
4868         _copy. Fixes #346663.
4869
4870 2006-07-05  Wim Taymans  <wim@fluendo.com>
4871
4872         * libs/gst/base/gstbasetransform.c:
4873         (gst_base_transform_prepare_output_buffer),
4874         (gst_base_transform_buffer_alloc),
4875         (gst_base_transform_handle_buffer):
4876         Make sure the buffer we pass to transform_ip has a refcount of
4877         1 and thus is writable. Fixes #343196
4878
4879 2006-07-04  Jan Schmidt  <thaytan@mad.scientist.com>
4880
4881         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
4882         (gst_file_src_init), (gst_file_src_set_property),
4883         (gst_file_src_get_property), (gst_file_src_map_region):
4884         * plugins/elements/gstfilesrc.h:
4885         Add "sequential" property, off by default, to use madvise and hint
4886         to the kernel that sequential access is desired.
4887         Touch all retrieved pages by default to ensure they are pulled
4888         into memory. (Closes #345720)
4889
4890 2006-07-03  Wim Taymans  <wim@fluendo.com>
4891
4892         * docs/design/part-block.txt:
4893         * docs/design/part-dynamic.txt:
4894         Small docs updates.
4895
4896 2006-07-03  Wim Taymans  <wim@fluendo.com>
4897
4898         * gst/gstcaps.c: (gst_caps_new_empty), (_gst_caps_free),
4899         (gst_caps_unref), (gst_static_caps_get),
4900         (gst_caps_append_structure):
4901         * gst/gstclock.c: (gst_clock_entry_new), (_gst_clock_id_free):
4902         Use GSlice when the glib we build against is >= 2.10
4903
4904 2006-07-03  Wim Taymans  <wim@fluendo.com>
4905
4906         * gst/gstelement.c: (gst_element_pads_activate):
4907         Small cleanup in pad activation code.
4908
4909 2006-07-03  Wim Taymans  <wim@fluendo.com>
4910
4911         Patch by: Peter Kjellerstedt <pkj at axis dot com>
4912
4913         * gst/gst-i18n-app.h:
4914         * gst/gst-i18n-lib.h:
4915         * tools/gst-inspect.c: (print_signal_info):
4916         The attached patch will make the inclusion of gettext.h unconditional in
4917         gst/gst-i18n-app.h and gst/gst-i18n-lib.h, and it will remove the inclusion of
4918         libintl.h in tools/gst-inspect.c.
4919         This allows use of --disable-nls again and fixes #344642.
4920
4921 2006-07-03  Edward Hervey  <edward@fluendo.com>
4922
4923         * gst/gstpad.c: (handle_pad_block), (gst_pad_push_event):
4924         Implement pad blocking on events according to part-block.txt.
4925         More comments on behaviour.
4926         * tests/check/gst/gstevent.c: (test_event):
4927         Send event to peer pad of blocked pad (else it will block).
4928
4929 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
4930
4931         * libs/gst/check/gstcheck.c: (gst_check_message_error),
4932         (gst_check_run_suite):
4933           if we get the wrong message, give us the types as string
4934         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
4935           Fix a translatable
4936         * tests/check/elements/filesrc.c: (GST_START_TEST):
4937           add a test for trying to open a non-existing file
4938
4939 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
4940
4941         * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
4942           add a test for adding self
4943
4944 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
4945
4946         * libs/gst/check/gstcheck.h:
4947           add some assert_ as alias for fail_unless_*
4948         * tests/check/gst/gst.c: (GST_START_TEST), (gst_suite):
4949           increase test coverage
4950
4951 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4952
4953         * Makefile.am:
4954           include lcov.mak for lcov coverage generation
4955         * tools/Makefile.am:
4956           add to CLEANFILES
4957
4958 2006-07-02  Edward Hervey  <edward@fluendo.com>
4959
4960         * tests/check/elements/.cvsignore:
4961         moaping
4962
4963 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4964
4965         * configure.ac:
4966           don't set CFLAGS and friends for gcov, done from GST_GCOV now
4967         * tests/check/Makefile.am:
4968           clean up gcov files
4969
4970 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4971
4972         * gst/gstcaps.c: (gst_caps_remove_and_get_structure):
4973           remove gst_caps_simplify; it was not declared and not used
4974           and deprecated in 0.8
4975
4976 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4977
4978         * docs/faq/gst-uninstalled:
4979           don't put empty paths on PYTHONPATH
4980         * docs/gst/gstreamer-sections.txt:
4981           remove some symbols that are not there
4982
4983 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4984
4985         * gst/gstcaps.c: (gst_caps_compare_structures):
4986           whitespace fixes
4987         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
4988         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
4989           add more tests
4990
4991 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4992
4993         * libs/gst/dataprotocol/Makefile.am:
4994           build dataprotocol test by linking to the lib, instead of
4995           compiling the source, so we get coverage
4996         * tests/check/Makefile.am:
4997         * tests/check/elements/filesrc.c: (event_func), (setup_filesrc),
4998         (cleanup_filesrc), (GST_START_TEST), (filesrc_suite):
4999           add a test for filesrc
5000
5001 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5002
5003         * tests/check/gst/gststructure.c: (GST_START_TEST),
5004         (gst_structure_suite):
5005           Push coverage from 59.04% to 70.00%
5006
5007 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5008
5009         * tests/check/Makefile.am:
5010           gst-inspect every element; this makes sure that we also get
5011           coverage on element's get/set functions
5012
5013 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5014
5015         * configure.ac:
5016           set CFLAGS and friends to -O0 if gcov is being used
5017           add GCOV LIBS
5018         * gst/Makefile.am:
5019         * libs/gst/base/Makefile.am:
5020         * libs/gst/check/Makefile.am:
5021         * libs/gst/controller/Makefile.am:
5022         * libs/gst/dataprotocol/Makefile.am:
5023         * libs/gst/net/Makefile.am:
5024         * plugins/elements/Makefile.am:
5025         * plugins/indexers/Makefile.am:
5026           add makefile rules to generate gcov data and clean up
5027         * tests/check/Makefile.am:
5028           add a coverage target that generates an html overview
5029           of coverage data
5030
5031 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
5032
5033         * tests/check/elements/fakesink.c:
5034         * tests/check/elements/fakesrc.c:
5035         * tests/check/elements/fdsrc.c:
5036         * tests/check/elements/identity.c:
5037         * tests/check/generic/sinks.c: (gst_sinks_suite):
5038         * tests/check/generic/states.c:
5039         * tests/check/gst/gst.c:
5040         * tests/check/gst/gstabi.c:
5041         * tests/check/gst/gstbin.c:
5042         * tests/check/gst/gstbuffer.c: (gst_buffer_suite):
5043         * tests/check/gst/gstbus.c: (gst_bus_suite):
5044         * tests/check/gst/gstcaps.c: (GST_START_TEST):
5045         * tests/check/gst/gstelement.c:
5046         * tests/check/gst/gstevent.c: (gst_event_suite):
5047         * tests/check/gst/gstghostpad.c:
5048         * tests/check/gst/gstiterator.c: (gst_iterator_suite):
5049         * tests/check/gst/gstmessage.c: (gst_message_suite):
5050         * tests/check/gst/gstminiobject.c:
5051         * tests/check/gst/gstobject.c:
5052         * tests/check/gst/gstpad.c:
5053         * tests/check/gst/gstpipeline.c:
5054         * tests/check/gst/gstplugin.c:
5055         * tests/check/gst/gstquery.c: (gst_query_suite):
5056         * tests/check/gst/gstsegment.c: (gst_segment_suite):
5057         * tests/check/gst/gststructure.c:
5058         * tests/check/gst/gstsystemclock.c:
5059         * tests/check/gst/gsttag.c:
5060         * tests/check/gst/gsttask.c: (gst_task_suite):
5061         * tests/check/gst/gstutils.c:
5062         * tests/check/gst/gstvalue.c:
5063         * tests/check/libs/adapter.c:
5064         * tests/check/libs/basesrc.c:
5065         * tests/check/libs/collectpads.c:
5066         * tests/check/libs/controller.c:
5067         * tests/check/libs/gdp.c: (gst_dp_suite):
5068         * tests/check/libs/gstnetclientclock.c:
5069         * tests/check/libs/gstnettimeprovider.c:
5070         * tests/check/libs/libsabi.c: (libsabi_suite):
5071         * tests/check/libs/typefindhelper.c:
5072         * tests/check/pipelines/cleanup.c:
5073         * tests/check/pipelines/parse-launch.c:
5074         * tests/check/pipelines/simple-launch-lines.c:
5075         * tests/check/pipelines/stress.c: (stress_suite):
5076           use the new macro
5077
5078 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
5079
5080         * libs/gst/check/gstcheck.c: (gst_check_run_suite):
5081         * libs/gst/check/gstcheck.h:
5082           create a macro and function so that the simple unit test
5083           case can be just one macro to create main()
5084
5085 2006-06-30  Tim-Philipp Müller  <tim at centricular dot net>
5086
5087         * gst/gstbin.c: (gst_bin_restore_thyself):
5088         * gst/gstxml.c: (gst_xml_make_element):
5089           Fix deserialisation from XML. Set parent manually
5090           instead of using gst_bin_add(), since gst_bin_add()
5091           will unlink all pads of the element being added.
5092           Fixes #341667.
5093
5094 2006-06-28  Tim-Philipp Müller  <tim at centricular dot net>
5095
5096         Patch by: Peter Kjellerstedt <pkj at axis com>
5097
5098         * gst/gst.c: (prepare_for_load_plugin_func), (split_and_iterate):
5099           Fix missing g_strdup() and double free when using the
5100           --gst-plugin-load command line option (#346097).
5101
5102 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
5103
5104         * gst/gstinfo.c:
5105           Promote GST_DEBUG_CATEGORY_STATIC in example in docs.
5106
5107         * libs/gst/net/gstnetclientclock.c:
5108         * libs/gst/net/gstnettimeprovider.c:
5109           Use GST_DEBUG_CATEGORY_STATIC here too (#342503).
5110
5111 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
5112
5113         * docs/manual/advanced-dataaccess.xml:
5114           Fix buffer probe example compilation in
5115           ADM (#345708).
5116         
5117 2006-06-22  Edward Hervey  <edward@fluendo.com>
5118
5119         * gst/gstelement.c: (gst_element_pads_activate):
5120         We need to deactivate src pads first and then sink pads.
5121         The reason is the src pads might be blocking while holding the streaming
5122         lock, so we need to deactivate them first so that deactivating the sink
5123         pads doesn't block (since it will require the streaming lock).
5124
5125 2006-06-22  Wim Taymans  <wim@fluendo.com>
5126
5127         * libs/gst/base/gstbasetransform.c:
5128         (gst_base_transform_buffer_alloc):
5129         Forgot to remove two unneeded unrefs.
5130         Simplify a check _is_equal allready checks the obvious case.
5131
5132 2006-06-22  Wim Taymans  <wim@fluendo.com>
5133
5134         * docs/design/part-block.txt:
5135         Some docs about what pad_block should do.
5136
5137 2006-06-22  Wim Taymans  <wim@fluendo.com>
5138
5139         * gst/gstcaps.c: (gst_caps_replace):
5140         Fix crasher when passed NULL. Doc clarification.
5141         Optimize for the trivial case.
5142
5143         * gst/gstpipeline.c: (gst_pipeline_change_state):
5144         Small cleanups.
5145
5146         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
5147         Small documentation cleanup.
5148
5149         * libs/gst/base/gstbasetransform.c:
5150         (gst_base_transform_buffer_alloc):
5151         Don't use silly gst_pad_get_negotiated_caps, GST_PAD_CAPS
5152         is what we need and it avoids a whole lot of redundant 
5153         refcount operations.
5154
5155 2006-06-22  Tim-Philipp Müller  <tim at centricular dot net>
5156
5157         Patch by: Philip Jägenstedt  <philip at lysator liu se>
5158
5159         * docs/manual/advanced-dataaccess.xml:
5160           Fix 'Embedding static elements' section to use
5161           GST_PLUGIN_DEFINE_STATIC (#345607).
5162
5163 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
5164
5165         * tests/check/pipelines/simple-launch-lines.c: (test_stop_from_app):
5166           Attempt to 'fix' spuriously failing test case: it seems like the
5167           timeout of half a second is simply too small when the system is under
5168           load otherwise, and the timeout doesn't really seem to serve any
5169           particular purpose here. Give the pipeline a few seconds to preroll
5170           first, and then give it another half a second to go from PAUSED to
5171           PLAYING and marshal the message into the main thread.
5172
5173 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
5174
5175         * tools/gst-feedback-m.m:
5176           Don't only use unversioned tools, try versioned tools as well
5177           (#345086).
5178
5179 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
5180
5181         * gst/gstbus.c: (gst_bus_class_init):
5182           Fix some typos, make docs more explicit.
5183
5184 2006-06-20  Wim Taymans  <wim@fluendo.com>
5185
5186         * tests/check/gst/gstghostpad.c: (block_callback),
5187         (GST_START_TEST), (gst_ghost_pad_suite):
5188         Added some more ghostpad tests, mainly blocking
5189         and probes.
5190
5191 2006-06-16  Wim Taymans  <wim@fluendo.com>
5192
5193         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
5194         (gst_file_sink_close_file), (gst_file_sink_do_seek),
5195         (gst_file_sink_event), (gst_file_sink_render):
5196         * plugins/elements/gstfilesink.h:
5197         Check if we can seek in the file instead of assuming
5198         we always can. Post an error when we are asked to seek in a
5199         non-seekable file (like a fifo). Fixes #343312.
5200         Some cleanups.
5201
5202 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
5203
5204         * tools/gst-launch.1.in:
5205           Un-garble (fourcc) bit in filtered caps section.
5206
5207 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
5208
5209         * docs/manual/advanced-autoplugging.xml:
5210         * docs/manual/basics-helloworld.xml:
5211         * docs/manual/highlevel-components.xml:
5212           Don't leak bus reference in sample code.
5213
5214 2006-06-15  Tim-Philipp Müller  <tim at centricular dot net>
5215
5216         * autogen.sh:
5217           Add default for new --enable-plugin-docs switch.
5218
5219         * configure.ac:
5220           Use new GST_PLUGIN_DOCS macro to check for pyxml etc.
5221           Fixes #344039.
5222
5223         * docs/Makefile.am:
5224           Use new ENABLE_PLUGIN_DOCS conditional.
5225
5226 2006-06-14  Wim Taymans  <wim@fluendo.com>
5227
5228         * gst/gstbin.c: (bin_query_duration_done), (gst_bin_query):
5229         Make it clear with a FIXME and a real define what the #if 0
5230         previously disabled.
5231
5232 2006-06-14  Wim Taymans  <wim@fluendo.com>
5233
5234         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
5235         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
5236         * libs/gst/base/gstbasetransform.c:
5237         (gst_base_transform_sink_eventfunc):
5238         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
5239         Don't randomly and silently reset a segment when the format 
5240         changes as this is a bug somewhere upstream. Fixes #330379.
5241
5242 2006-06-14  Tim-Philipp Müller  <tim at centricular dot net>
5243
5244         Patch by: Wouter Paesen  <wouter at kangaroot net>
5245
5246         * libs/gst/controller/gstcontroller.c:
5247         (gst_controlled_property_new):
5248           Fix controlling of float properties (#344849).
5249
5250         * tests/check/libs/controller.c:
5251         (gst_test_mono_source_get_property),
5252         (gst_test_mono_source_set_property),
5253         (gst_test_mono_source_class_init), (GST_START_TEST):
5254           While we're at it, add some float stuff to unit test.
5255
5256 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
5257
5258         * docs/README:
5259         * docs/images/gdp-header.svg:
5260           add a gdp image
5261         * docs/libs/Makefile.am:
5262         * docs/libs/gdp-header.png:
5263         * libs/gst/dataprotocol/dataprotocol.c:
5264           add it to the API docs
5265         * docs/manual/intro-motivation.xml:
5266           fix typo
5267
5268 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
5269
5270         * gst/gst.c: (scan_and_update_registry), (init_post):
5271           If the fork()'ed child process can't write the updated registry cache
5272           file to disk for some reason, make it exit with a failure exit code,
5273           so that the parent can then re-scan the plugins itself and update the
5274           registry structures in memory and work with that (rather than failing
5275           when creating elements because seemingly no plugins are available).
5276           Refactor registry scanning code into separate function for this and
5277           also separate fork() and non-fork() code paths. Fixes #344748.
5278
5279 2006-06-13  Wim Taymans  <wim@fluendo.com>
5280
5281         * docs/manual/advanced-dataaccess.xml:
5282         Fix wrong PluginDesc. Fixes #344755.
5283
5284 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
5285
5286         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
5287           Fix silly bug that prevented us from creating
5288           ~/.gstreamer-0.10 and writing the registry in one
5289           go (the first call to g_mkstemp() would overwrite the
5290           placeholder in the template string, so the second call
5291           to g_mkstemp() after creating the missing directory
5292           would then error out with 'invalid argument').
5293
5294 2006-06-13  Edward Hervey  <edward@fluendo.com>
5295
5296         * gst/gst.c: (init_post):
5297         Free string.
5298
5299 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
5300
5301         * gst/glib-compat-private.h:
5302         * gst/glib-compat.c:
5303         * gst/glib-compat.h:
5304         * gst/gstvalue.c: (gst_value_serialize_flags):
5305           remove GLib 2.6 compatibility code
5306
5307 2006-06-12  Tim-Philipp Müller  <tim at centricular dot net>
5308
5309         * gst/parse/Makefile.am:
5310           Fix build with 'make -j N' even more (#340016).
5311
5312 2006-06-12  Wim Taymans  <wim@fluendo.com>
5313
5314         * docs/gst/gstreamer-sections.txt:
5315         Fix docs.
5316
5317 2006-06-12  Wim Taymans  <wim@fluendo.com>
5318
5319         * gst/gstsegment.c: (gst_segment_set_duration),
5320         (gst_segment_set_last_stop), (gst_segment_set_seek),
5321         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
5322         (gst_segment_to_running_time), (gst_segment_clip):
5323         Use G_UNLIKELY to help the compiler a bit.
5324
5325 2006-06-12  Wim Taymans  <wim@fluendo.com>
5326
5327         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
5328
5329         * gst/gstevent.c: (gst_event_get_type):
5330         * gst/gstmessage.c:
5331         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
5332         (gst_pad_push):
5333         constify quark registration strings. Fixes #344115
5334         Avoid unneeded type checking is _pad_push() by internally
5335         calling gst_pad_chain_unchecked().
5336
5337 2006-06-12  Wim Taymans  <wim@fluendo.com>
5338
5339         * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_finalize),
5340         (_gst_buffer_copy), (gst_buffer_is_metadata_writable),
5341         (gst_subbuffer_finalize), (gst_buffer_create_sub),
5342         (gst_buffer_is_span_fast), (gst_buffer_span):
5343         Init _type for consistency.
5344         Use _FLAGS macro to avoid type check.
5345         Avoid unneeded type checks in subbufer code.
5346
5347 2006-06-12  Wim Taymans  <wim@fluendo.com>
5348
5349         * gst/gst.c: (gst_debug_help):
5350         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_list_free):
5351         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
5352         (gst_plugin_feature_list_free):
5353         * gst/gstregistry.c: (gst_registry_add_plugin),
5354         (gst_registry_add_feature), (gst_registry_plugin_filter),
5355         (gst_registry_feature_filter), (gst_registry_find_plugin),
5356         (gst_registry_find_feature), (gst_registry_get_plugin_list),
5357         (gst_registry_lookup_feature_locked), (gst_registry_lookup_locked):
5358         * gst/gstregistryxml.c: (load_feature),
5359         (gst_registry_xml_read_cache), (gst_registry_xml_write_cache):
5360         * gst/gstminiobject.c: (gst_mini_object_unref),
5361         (gst_mini_object_replace), (gst_value_mini_object_free),
5362         (gst_value_mini_object_copy):
5363         Use _CAST macros to avoid unneeded type checking.
5364         Added some more G_UNLIKELY.
5365
5366 2006-06-12  Wim Taymans  <wim@fluendo.com>
5367
5368         * gst/gstbuffer.h:
5369         Avoid unneeded type checking.
5370         API: GST_BUFFER_IS_DISCONT
5371
5372         * gst/gstminiobject.h:
5373         Avoid type check in flag accessor.
5374
5375         * gst/gstelementfactory.h:
5376         * gst/gstplugin.h:
5377         * gst/gstpluginfeature.h:
5378         Add _CAST macros.
5379         API: GST_ELEMENT_FACTORY_CAST
5380         API: GST_PLUGIN_CAST
5381         API: GST_PLUGIN_FEATURE_CAST
5382
5383 2006-06-12  Wim Taymans  <wim@fluendo.com>
5384
5385         * gst/gstobject.c: (gst_object_get_type), (gst_object_ref),
5386         (gst_object_unref):
5387         Add G_UNLIKELY in type registration.
5388         Avoid type check in _ref/_unref since that is also
5389         done in glib.
5390
5391 2006-06-12  Wim Taymans  <wim@fluendo.com>
5392
5393         * gst/gsterror.c: (gst_g_error_get_type):
5394         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
5395         (gst_static_pad_template_get_type):
5396         * gst/gsttaglist.c: (gst_tag_list_get_type):
5397         * gst/gsttagsetter.c: (gst_tag_setter_get_type):
5398         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type):
5399         * gst/gsturi.c: (gst_uri_handler_get_type):
5400         * gst/gstvalue.c: (gst_date_get_type):
5401         * gst/gstxml.c: (gst_xml_get_type):
5402         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
5403         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
5404         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type):
5405         Add G_UNLIKELY in type registration.
5406
5407 2006-06-12  Wim Taymans  <wim@fluendo.com>
5408
5409         * tools/gst-inspect.c: (print_signal_info):
5410         Properly print enum values.
5411
5412 2006-06-12  Wim Taymans  <wim@fluendo.com>
5413
5414         * gst/gstinfo.c: (gst_debug_set_active),
5415         (gst_debug_category_set_threshold), (_gst_debug_nameof_funcptr):
5416         * gst/gstinfo.h:
5417         Add some G_[UN]LIKELY.
5418         Maintain __gst_debug_min to avoid formatting the arguments of
5419         debug messages that will be dropped anyway to avoid a lot of 
5420         overhead from the debugging system.
5421
5422 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
5423
5424         * po/POTFILES.in:
5425         * po/POTFILES.skip:
5426           add missing files containing translatable strings, tell intltool about
5427           one exception
5428
5429 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
5430
5431         * tests/check/libs/.cvsignore:
5432         add test-binary to ignore list
5433
5434 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
5435
5436         * docs/libs/gstreamer-libs-docs.sgml:
5437         reorder (put dp into a chapter) and indent
5438
5439 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5440
5441         * configure.ac:
5442           back to HEAD
5443
5444 === release 0.10.8 ===
5445
5446 2006-06-10  Thomas Vander Stichele <thomas at apestaart dot org>
5447
5448         * configure.ac:
5449           releasing 0.10.8, "Soepeke, ik zie ou nog altijd nie"
5450
5451 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5452
5453         * gst/gst.c: (init_post):
5454           move pid declaration to declaration block
5455
5456 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5457
5458         * gst/gst.c: (init_post):
5459           use _exit() instead of exit() in our forked child; this ensures
5460           that none of the registered exit handlers from whatever is using
5461           GStreamer get executed.  This fixes gnome-mixer-applet failing
5462           to load, because ORBit would shut down.
5463           Spotted by: Edward Hervey  <edward@fluendo.com>
5464           Fix suggested by: Tim-Philipp Müller  <tim at centricular dot net>
5465           Fixes #344474
5466
5467 2006-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
5468
5469         * configure.ac:
5470           back to TRUNK
5471
5472 === release 0.10.7 ===
5473
5474 2006-06-09  Thomas Vander Stichele <thomas at apestaart dot org>
5475
5476         * configure.ac:
5477           releasing 0.10.7, "Soepeke, ik zie ou"
5478
5479 2006-06-07  Thomas Vander Stichele  <thomas at apestaart dot org>
5480
5481         * configure.ac:
5482         * po/af.po:
5483         * po/az.po:
5484         * po/bg.po:
5485         * po/ca.po:
5486         * po/cs.po:
5487         * po/de.po:
5488         * po/en_GB.po:
5489         * po/fr.po:
5490         * po/it.po:
5491         * po/nb.po:
5492         * po/nl.po:
5493         * po/ru.po:
5494         * po/sq.po:
5495         * po/sr.po:
5496         * po/sv.po:
5497         * po/tr.po:
5498         * po/uk.po:
5499         * po/vi.po:
5500         * po/zh_CN.po:
5501         * po/zh_TW.po:
5502         * win32/common/config.h:
5503           0.10.6.2 prerelease
5504
5505 2006-06-07  Wim Taymans  <wim@fluendo.com>
5506
5507         * gst/gstindex.c: (gst_index_gtype_resolver):
5508         * tools/gst-xmlinspect.c: (print_plugin_info):
5509         Fix leak spotted by coverity checker. Fixes #343827
5510         Fix another other leak found by paolo borelli.
5511
5512 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5513
5514         * libs/gst/dataprotocol/dataprotocol.c:
5515         (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
5516         (gst_dp_version_get_type), (gst_dp_init),
5517         (gst_dp_header_from_buffer), (gst_dp_header_from_buffer_1_0),
5518         (gst_dp_packet_from_caps), (gst_dp_packet_from_caps_1_0),
5519         (gst_dp_packet_from_event), (gst_dp_packet_from_event_1_0),
5520         (gst_dp_event_from_packet_0_2), (gst_dp_event_from_packet_1_0),
5521         (gst_dp_event_from_packet), (gst_dp_packetizer_new),
5522         (gst_dp_packetizer_free):
5523         * libs/gst/dataprotocol/dataprotocol.h:
5524           API: add a GstDPPacketizer object, and create/free functions
5525           API: add GstDPVersion enum
5526           Add 1.0 event function that uses the string serialization
5527           Serialize more useful buffer flags
5528           Fixes #343988
5529
5530 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5531
5532         * tests/check/Makefile.am:
5533         * tests/check/gst/gstabi.c:
5534         * tests/check/gst/struct_ppc64.h:
5535         * tests/check/libs/libsabi.c:
5536         * tests/check/libs/struct_ppc64.h:
5537           add ppc64 structure sizes
5538
5539 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5540
5541         * tests/check/Makefile.am:
5542         * tests/check/gst/gstabi.c:
5543         * tests/check/gst/struct_x86_64.h:
5544         * tests/check/libs/libsabi.c:
5545         * tests/check/libs/struct_x86_64.h:
5546           generate and add structure size lists for x86_64
5547
5548 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5549
5550         * libs/gst/check/gstcheck.c: (gst_check_abi_list):
5551         * libs/gst/check/gstcheck.h:
5552           factor out the method from tests that checks size of structures,
5553           and add code to generate the header containing these sizes
5554         * tests/check/gst/gstabi.c: (GST_START_TEST):
5555         * tests/check/gst/struct_i386.h:
5556         * tests/check/libs/libsabi.c: (GST_START_TEST):
5557         * tests/check/libs/struct_i386.h:
5558           use it
5559
5560 2006-06-06  Michael Smith  <msmith@fluendo.com>
5561
5562         * gst/gstsegment.h:
5563           Don't use c++-style comments, fixes #343929
5564
5565 2006-06-05  Edward Hervey  <edward@fluendo.com>
5566
5567         * gst/gst.c:
5568         plugin_paths is not used if we build without registry support.
5569
5570         * gst/gstsegment.c: (gst_segment_copy): 
5571         _copy() was always returning NULL...
5572
5573 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5574
5575         * libs/gst/dataprotocol/dataprotocol.c:
5576         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
5577         (gst_dp_packet_from_event):
5578           factor out CRC code
5579
5580 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5581
5582         * libs/gst/check/gstcheck.c: (gst_check_teardown_src_pad):
5583           make sure we unset caps
5584
5585 2006-06-02  Michael Smith  <msmith@fluendo.com>
5586
5587         * libs/gst/check/gstcheck.c: (gst_check_init),
5588         (gst_check_chain_func):
5589         * libs/gst/check/gstcheck.h:
5590           Add a cond/mutex to the check support lib, signal this whenever we
5591           add to the buffers list. This will allow tests to not busy-wait on
5592           the buffer-list.
5593
5594 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5595
5596         * libs/gst/dataprotocol/dataprotocol.c:
5597         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
5598         (gst_dp_packet_from_event):
5599           factor out some common header init code
5600
5601 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5602
5603         * docs/libs/gstreamer-libs-sections.txt:
5604         * docs/libs/tmpl/gstdataprotocol.sgml:
5605         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
5606         * libs/gst/dataprotocol/dataprotocol.h:
5607           API: make gst_dp_crc() public
5608
5609 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
5610
5611         * plugins/indexers/gstindexers.c: (plugin_init):
5612         conditionally register fileindexer (fixes #343598)
5613
5614 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
5615
5616         * gst/gsttagsetter.h:
5617         Can't cast ifaces to a class
5618
5619         * libs/gst/net/gstnetclientclock.h:
5620         * libs/gst/net/gstnettimeprovider.h:
5621         * plugins/elements/gstfakesink.h:
5622         * plugins/elements/gstfakesrc.h:
5623         * plugins/elements/gstfdsink.h:
5624         * plugins/elements/gstfdsrc.h:
5625         * plugins/elements/gstfilesink.h:
5626         * plugins/elements/gstfilesrc.h:
5627         * plugins/elements/gstidentity.h:
5628         * plugins/elements/gstqueue.h:
5629         * plugins/elements/gsttee.h:
5630         * plugins/indexers/gstfileindex.c:
5631         * plugins/indexers/gstmemindex.c:
5632         * tests/old/examples/plugins/example.h:
5633         Fix more gobject macros: obj<->klass, GstXXX<->GstXXXClass
5634
5635 2006-06-01  Thomas Vander Stichele  <thomas at apestaart dot org>
5636
5637         * libs/gst/dataprotocol/dataprotocol.c:
5638         (gst_dp_header_from_buffer):
5639           make sure we zero the whole ABI-compatible area
5640
5641 2006-06-01  Wim Taymans  <wim@fluendo.com>
5642
5643         Patch by: Alessandro Decina <alessandro at nnva dot org>
5644
5645         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop):
5646         Make sure the EOS flag is cleared from pads after a flush
5647         or stop. Fixes #343538.
5648
5649         * tests/check/libs/collectpads.c: (GST_START_TEST),
5650         (gst_collect_pads_suite):
5651         Added test for collectpads reusage after EOS.
5652
5653 2006-05-30  Sebastien Moutte  <sebastien@moutte.net>
5654
5655         * gst/gst.c:
5656          set #include <sys/wait.h> in a #ifdef #ifdef HAVE_FORK
5657         * win32/common/libgstbase.def:
5658          export gst_collect_pads_set_flushing
5659         * win32/common/libgstreamer.def:
5660          export gst_pad_set_acceptcaps_function, gst_structure_empty_new,
5661          gst_value_fraction_multiply
5662         * win32/vs6/gst_inspect.dsp:
5663          add a link to intl.lib
5664
5665 2006-05-30  Wim Taymans  <wim@fluendo.com>
5666
5667         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
5668         (gst_collect_pads_chain):
5669         Handle the case where a pad is removed from the collection
5670         that could cause the other pads to become collectable.
5671
5672 2006-05-30  Wim Taymans  <wim@fluendo.com>
5673
5674         * gst/gstelement.c:
5675         Clarify the use of _release_request_pad() and
5676         _get_request_pad() a bit better.
5677
5678         * libs/gst/base/gstadapter.c: (gst_adapter_peek),
5679         (gst_adapter_take_buffer):
5680         Fix some doc and comment typos.
5681
5682 2006-05-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5683
5684         * docs/gst/gstreamer-sections.txt:
5685         * docs/libs/gstreamer-libs-sections.txt:
5686           add declared symbols
5687
5688 2006-05-30  Jan Schmidt  <thaytan@mad.scientist.com>
5689
5690         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
5691         Add debug that can be enabled using a #define at the top of the file,
5692         for dumping stats about how late/early we were when waking up from
5693         waiting on the clock.
5694
5695 2006-05-30  Wim Taymans  <wim@fluendo.com>
5696
5697         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_check_pads):
5698         When rebuilding the pad list, don't leak the previous list.
5699
5700 2006-05-30  Wim Taymans  <wim@fluendo.com>
5701
5702         Patch by: Lutz Mueller <lutz at topfrose dot de>
5703
5704         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
5705         (gst_base_src_get_query_types), (gst_base_src_update_length):
5706         Publish supported query types.
5707         Update last_stop field in get_range mode so the position
5708         query works. Fixes #342321.
5709
5710 2006-05-30  Tim-Philipp Müller  <tim at centricular dot net>
5711
5712         * docs/gst/gstreamer-sections.txt:
5713         * gst/gsttaglist.c: (_gst_tag_initialize):
5714         * gst/gsttaglist.h:
5715           API: add GST_TAG_PREVIEW_IMAGE (#343341).
5716
5717 2006-05-30  Wim Taymans  <wim@fluendo.com>
5718
5719         Patch by: Alessandro Decina <alessandro at nnva dot org>
5720
5721         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
5722         Unlock mutex when removing an unknown pad.
5723         Fixes #343334.
5724
5725         * tests/check/Makefile.am:
5726         * tests/check/libs/collectpads.c: (collected_cb), (push_buffer),
5727         (push_event), (setup), (teardown), (GST_START_TEST),
5728         (gst_collect_pads_suite), (main):
5729         Added collecpads check, disabled for now as check crashes for
5730         some reason.
5731
5732 2006-05-29  Wim Taymans  <wim@fluendo.com>
5733
5734         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize):
5735         Don't leak pads lists.
5736
5737 2006-05-29  Wim Taymans  <wim@fluendo.com>
5738
5739         * docs/libs/gstreamer-libs-sections.txt:
5740         * libs/gst/base/gstcollectpads.c:
5741         (gst_collect_pads_set_flushing_unlocked),
5742         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
5743         (gst_collect_pads_stop):
5744         * libs/gst/base/gstcollectpads.h:
5745         API: gst_collect_pads_set_flushing()
5746         Added api to set the pads to flushing, useful for seeking
5747         code in elements using collectpads.
5748         Clear segment when receiving a flush.
5749
5750 2006-05-29  Tim-Philipp Müller  <tim at centricular dot net>
5751
5752         * gst/gst.c: (add_path_func), (init_post):
5753           Don't scan registry paths passed via --gst-plugin-path immediately
5754           (will crash, because absolutely nothing is set up and no types are
5755           registered etc.); do this later in init_post(). Fixes #343057.
5756
5757 2006-05-28  Thomas Vander Stichele  <thomas at apestaart dot org>
5758
5759         * gst/gst.c: (init_post):
5760           if we have fork, fork while reading/rebuilding the registry
5761           so the parent doesn't take the hit of having all plugins loaded
5762           in memory.  Fixes #342777.
5763         * configure.ac:
5764           Check if we have fork()
5765         * win32/common/config.h.in:
5766           no fork() on win32
5767
5768 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
5769
5770         * plugins/elements/gstelements.c:
5771         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
5772         (gst_file_src_init), (gst_file_src_set_property),
5773         (gst_file_src_get_property), (gst_file_src_start):
5774         * plugins/elements/gstfilesrc.h:
5775           API: GstFileSrc::use-mmap
5776
5777         Add a use-mmap property to enable easier testing of all code paths.
5778         Bump rank to PRIMARY, so filesrc is the preferred file reader and used
5779         in the absence of gnomevfssrc. (Closes #340501)
5780
5781 2006-05-26  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5782
5783         * tools/gst-inspect.c:
5784         Add missing include, removes warning of ngettext not being defined on
5785         some arches.
5786
5787 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
5788
5789         * gst/gstvalue.c: (gst_value_deserialize_fraction):
5790         Handle NULL input and output pointers silently as a failed conversion,
5791         rather than g_warnings.
5792
5793 2006-05-25  Wim Taymans  <wim@fluendo.com>
5794
5795         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_start):
5796         Initialize variable before using. Fixes #342820.
5797
5798 2006-05-24  Tim-Philipp Müller  <tim at centricular dot net>
5799
5800         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek):
5801           Fix off-by-one bug that would only allow peeks of N-1 bytes
5802           from the start even if the buffer to typefind on contains
5803           in fact N bytes of data (makes vorbis typefinding from a
5804           vorbis identification header buffer work).
5805
5806         * tests/check/Makefile.am:
5807         * tests/check/libs/.cvsignore:
5808         * tests/check/libs/typefindhelper.c: (GST_START_TEST),
5809         (gst_typefindhelper_suite), (main), (foobar_typefind),
5810         (plugin_init):
5811           Add very basic unit test for gst_type_find_helper_for_buffer()
5812           that checks for the problem fixed above.
5813
5814 2006-05-24  Thomas Vander Stichele  <thomas at apestaart dot org>
5815
5816         * tools/gst-inspect.c: (print_interfaces),
5817         (print_element_properties_info), (print_element_list), (main):
5818           add more translatable strings
5819
5820 2006-05-23  Tim-Philipp Müller  <tim at centricular dot net>
5821
5822         Patch by: Julien Moutte  <julien at moutte net>
5823
5824         * docs/gst/gstreamer-sections.txt:
5825           Make new GST_FLOW_IS_SUCCESS macro visible in docs.
5826           
5827         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
5828         (gst_fake_sink_preroll):
5829         * plugins/elements/gstfakesink.h:
5830           API: Add new GstFakeSink::preroll-handoff signal (#337100).
5831
5832 2006-05-23  Wim Taymans  <wim@fluendo.com>
5833
5834         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark):
5835         * gst/gstpad.h:
5836         Added _CUSTOM error and success GstFlowReturn that can be
5837         used be elements internally. 
5838         Added macro to check for SUCCESS flowreturns.
5839         API: GST_FLOW_CUSTOM_SUCCESS
5840         API: GST_FLOW_CUSTOM_ERROR
5841         API: GST_FLOW_IS_SUCCESS
5842
5843         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
5844         Added check for GstFlowReturn sanity.
5845
5846 2006-05-23  Wim Taymans  <wim@fluendo.com>
5847
5848         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
5849
5850         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
5851         (gst_collect_pads_event):
5852         clear/reset segment info in FLUSH_STOP.
5853         Fixes #336929.
5854
5855 2006-05-22  Stefan Kost  <ensonic@users.sf.net>
5856
5857         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop),
5858         (gst_collect_pads_check_collected):
5859         Flush queued buffer on _stop(), fixes playing again (#342454)
5860
5861 2006-05-22  Thomas Vander Stichele  <thomas at apestaart dot org>
5862
5863         * tests/check/gst/gststructure.c: (GST_START_TEST),
5864         (gst_structure_suite):
5865           add a test for a complete structure
5866
5867 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
5868
5869         * docs/faq/developing.xml:
5870         * docs/faq/faq.xml:
5871         * docs/faq/troubleshooting.xml:
5872         * docs/faq/using.xml:
5873           Some minor FAQ updates that won't change the fact that
5874           our FAQ is badly structured, full of information hardly
5875           anyone new to GStreamer needs to know and lacking lots
5876           of information people constantly ask for.
5877           
5878 2006-05-19  Jan Schmidt  <thaytan@mad.scientist.com>
5879
5880         * gst/gstpad.c: (gst_pad_set_caps):
5881           Short-circuit gst_pad_set_caps if setting the existing
5882           caps pointer again, and avoid printing debug and 
5883           reffing/unreffing the caps.
5884
5885         * plugins/elements/gstqueue.c: (gst_queue_push_one):
5886           There's actually no need to set the caps before pushing -
5887           the acceptcaps method will handle it anyway.
5888
5889 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
5890
5891         * docs/gst/gstreamer-sections.txt:
5892         * win32/common/libgstreamer.def:
5893         * gst/gstutils.c: (gst_element_seek_simple):
5894         * gst/gstutils.h:
5895           API: add gst_element_seek_simple() (#342238).
5896
5897 2006-05-18  Edward Hervey  <edward@fluendo.com>
5898
5899         * gst/gsttypefind.c: (gst_type_find_get_type):
5900         * gst/gsttypefind.h:
5901         Added GST_TYPE_TYPE_FIND and gst_type_find_get_type() so a GType gets
5902         registered for GstTypeFind pointers. This allows wrapping the structure
5903         in bindings (i.e. gst-python).
5904
5905 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
5906
5907         * gst/gsttagsetter.c:
5908           Docs additions and fixes (see #339918).
5909
5910 2006-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
5911
5912         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
5913         The caps intersection algorithm can produce multiple copies of the
5914         caps. Until that is fixed, we need to simplify the result to be
5915         sure whether the allowed caps are fixed or not.
5916
5917         * plugins/elements/gstqueue.c: (gst_queue_init),
5918         (gst_queue_bufferalloc), (gst_queue_acceptcaps),
5919         (gst_queue_push_one):
5920         Proxied buffer alloc should not set the caps on the source pad.
5921         When pushing buffers, we always accept the caps change that triggers.
5922         This prevents negotiation errors caused by caps changing mid-stream 
5923         and then being refused on our source pad (because upstream is now
5924         refusing those caps).
5925
5926 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
5927
5928         * tests/examples/helloworld/helloworld.c: (main):
5929           Must plug audioconvert and audioresample between decoder
5930           and audio sink.
5931
5932 2006-05-17  Jan Schmidt  <thaytan@mad.scientist.com>
5933
5934         * gst/gstregistryxml.c: (read_string), (load_pad_template),
5935         (load_feature), (load_plugin):
5936         Allow empty strings for some of the plugin fields so we don't 
5937         drop valid plugin entries that were written out correctly
5938         (Fixes #341479)
5939
5940 2006-05-17  Sebastien Moutte  <sebastien@moutte.net>
5941         
5942         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
5943           Use g_remove and g_rename instead of remove and rename that don't 
5944           handle utf8 characters. rename was failing for users who had specific
5945           characters in their name then the registry was built at each 
5946           gstreamer init.
5947         * win32/vs6/gst_inspect.dsp:
5948         * win32/vs6/gst_launch.dsp:
5949         * win32/vs6/libgstbase.dsp:
5950         * win32/vs6/libgstcoreelements.dsp:
5951         * win32/vs6/libgstreamer.dsp:
5952           Use a debug version of libxml2 (libxml2D.lib,libxml2D.dll) for DEBUG 
5953           build of libgstreamer and clean unused libraries in projects link 
5954           settings.
5955
5956 2006-05-17  Edward Hervey  <edward@fluendo.com>
5957
5958         * plugins/elements/gstqueue.c: (gst_queue_push_one):
5959         The queue is not responsible for pushing an EOS when receiving a fatal
5960         flow error. It's up to the real element driving the pipeline to do that.
5961
5962 2006-05-16  Edward Hervey  <edward@fluendo.com>
5963
5964         * plugins/elements/gstqueue.c: (gst_queue_push_one):
5965         The queue was posting a non-needed GST_MESSAGE_ERROR when pushing a
5966         buffer returned a fatal error. It should just send an EOS and stop
5967         its task.
5968         Upstream elements will then properly receive the GST_FLOW_UNEXPECTED
5969         when pushing buffers on the queue and will be able to handle the event.
5970
5971 2006-05-16  Tim-Philipp Müller  <tim at centricular dot net>
5972
5973         * docs/manual/basics-bins.xml:
5974         * docs/manual/basics-init.xml:
5975           Fix typos and minor errors in sample code (#341856).
5976
5977 2006-05-16  Wim Taymans  <wim@fluendo.com>
5978
5979         * docs/design/part-qos.txt:
5980         Fix indexes in formulas to make more sense.
5981
5982 2006-05-15  Wim Taymans  <wim@fluendo.com>
5983
5984         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
5985         Don't report POSITION based on clock time if sync is
5986         disabled in a sink.
5987
5988 2006-05-15  Tim-Philipp Müller  <tim at centricular dot net>
5989
5990         * gst/gstobject.h:
5991           Add cast to make compiler happy - refcount variable was a gint
5992           in GstObject but is a guint in GObject and g_atomic_int_get()
5993           wants a gint *.
5994
5995 2006-05-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5996
5997         * gst/parse/Makefile.am:
5998           chain commands using &&, which also makes parallel make work
5999
6000 2006-05-14  Tim-Philipp Müller  <tim at centricular dot net>
6001
6002         * docs/gst/gstreamer-sections.txt:
6003         * gst/gstevent.c:
6004         * gst/gstevent.h:
6005         * gst/gstmessage.h:
6006           Minor docs fixes.
6007
6008 === release 0.10.6 ===
6009
6010 2006-05-14  Jan Schmidt <thaytan@mad.scientist.com>
6011
6012         * configure.ac:
6013           releasing 0.10.6, "Take the cannoli"
6014
6015 2006-05-13  Tim-Philipp Müller  <tim at centricular dot net>
6016
6017         * tools/gst-launch.c: (print_tag):
6018           Fix use of uninitialized variable in the hypothetical
6019           case that some broken plugin creates a GST_TAG_IMAGE
6020           tag containing a NULL buffer (#341667).
6021
6022 2006-05-12  Tim-Philipp Müller  <tim at centricular dot net>
6023
6024         * tools/gst-launch.c: (print_tag):
6025           Print something more intelligible for image tags when
6026           using the -t switch (#341556).
6027
6028 2006-05-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6029
6030         * Makefile.am:
6031           updates for win32
6032         * configure.ac:
6033           define GST_MAJORMINOR so we have it available in win32/common/config.h
6034           Possibly remove it from our Makefile.am files later
6035         * win32/common/config.h:
6036         * win32/common/config.h.in:
6037           added GST_MAJORMINOR
6038         * win32/common/gstenumtypes.c: (register_gst_resource_error):
6039         * win32/common/gstversion.h:
6040           updated
6041
6042 2006-05-12  Sebastien Moutte  <sebastien@moutte.net>
6043
6044         * win32/MANIFEST:
6045           Update win32 files listing.
6046         * win32/common/gstversion.h:
6047           Add GST_MAJORMINOR definition.
6048         * win32/common/libgstreamer.def:
6049           Add new exported functions.
6050           
6051 2006-05-12  Michael Smith  <msmith@fluendo.com>
6052
6053         * gst/gstplugin.c: (gst_plugin_load_file):
6054           If an so file has no plugin entry point, unload the module.
6055
6056 2006-05-11  Wim Taymans  <wim@fluendo.com>
6057
6058         * plugins/elements/gstqueue.c: (gst_queue_chain), (gst_queue_loop),
6059         (gst_queue_set_property):
6060         Don't forget to signal the _chain or _loop function 
6061         when the queue size or thresholds change since that might
6062         cause them to make progres again.
6063
6064 2006-05-11  Stefan Kost  <ensonic@users.sf.net>
6065
6066         * gst/gstclock.c: (gst_clock_class_init):
6067         * gst/gstindex.c: (gst_index_class_init):
6068         * gst/gstobject.c: (gst_object_class_init):
6069         * gst/gstpad.c: (gst_pad_class_init):
6070         * gst/gstpipeline.c: (gst_pipeline_class_init):
6071         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
6072         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
6073         * libs/gst/base/gstbasetransform.c:
6074         (gst_base_transform_class_init):
6075         * libs/gst/net/gstnetclientclock.c:
6076         (gst_net_client_clock_class_init):
6077         * libs/gst/net/gstnettimeprovider.c:
6078         (gst_net_time_provider_class_init):
6079         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
6080         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
6081         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
6082         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
6083         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
6084         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
6085         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
6086         * plugins/elements/gstidentity.c: (gst_identity_class_init):
6087         * plugins/elements/gsttee.c: (gst_tee_class_init):
6088         * tests/old/examples/plugins/example.c: (gst_example_class_init):
6089         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
6090           G_OBJECT_CLASS macro usage batch cleanup, fixes #337747 for core
6091
6092 2006-05-11  Wim Taymans  <wim@fluendo.com>
6093
6094         * gst/gstbuffer.c: (_gst_buffer_initialize):
6095         Register subbufer along with the buffer type so that
6096         it does not accidentally gets registered from N
6097         different streaming threads in a non threadsafe way.
6098
6099 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
6100
6101         * gst/gstbuffer.h:
6102         * gst/gstevent.h:
6103         * gst/gstmessage.h:
6104           Make gtk-doc generate docs for our inlined gst_buffer_ref(),
6105           gst_event_ref() and gst_message_ref() functions again
6106           (ugly hack, please do fix if there's a better way besides
6107           overrides.txt, which doesn't seem to work).
6108
6109 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
6110
6111         * libs/gst/check/gstcheck.h:
6112           add an assert for setting state to avoid lots of repetitive code
6113           in the future
6114
6115 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
6116
6117         * gst/gstvalue.c: (gst_value_serialize_flags):
6118           fix a leak if no flags are set
6119         * tests/check/gst/gstvalue.c: (GST_START_TEST):
6120           fix leak in tests
6121
6122 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
6123
6124         * docs/manual/basics-pads.xml:
6125           Expand a bit on caps and filtered links and update
6126           examples that were still using the no longer existing
6127           gst_pad_link_filtered() (#338206).
6128
6129 2006-05-10  Wim Taymans  <wim@fluendo.com>
6130
6131         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
6132         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
6133         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
6134         (gst_collect_pads_stop):
6135         * libs/gst/base/gstcollectpads.h:
6136         No need to call _stop in _finalize.
6137         Iterate the main pad list in _finalize.
6138         Added some more debug.
6139         Free lists and data in the right order.
6140         Also free data whem doing _remove_pad when stopped for
6141         backward compatibility protect ::started with PAD_LOCK as
6142         well.
6143
6144 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
6145
6146         * gst/gststructure.c: (gst_structure_gtype_from_abbr),
6147         (gst_structure_parse_value):
6148           add some comments
6149           rename a method so that it actually says what it does better
6150
6151 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
6152
6153         * gst/gstevent.c: (_gst_event_initialize):
6154         * gst/gstformat.c: (_gst_format_initialize):
6155           make sure some essential types used by events are registered
6156           as part of gst_init()
6157         * gst/gstvalue.c: (gst_value_serialize_flags):
6158           if no flags are set, serialize them to a value that represents NONE
6159           so that deserializing them works
6160         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
6161           add tests for serialization and deserialization of flags
6162
6163 2006-05-10  Wim Taymans  <wim@fluendo.com>
6164
6165         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_collect),
6166         (gst_collect_pads_collect_range), (gst_collect_pads_available),
6167         (gst_collect_pads_check_pads), (gst_collect_pads_check_collected),
6168         (gst_collect_pads_event), (gst_collect_pads_chain):
6169         Update docs.
6170         Better debug info.
6171         Catch and return errors from the collect function
6172         Refuse data on eos pads.
6173
6174 2006-05-10  Edward Hervey  <edward@fluendo.com>
6175
6176         * gst/gstinterface.h:
6177         GST_IMPLEMENTS_INTERFACE and GST_IS_IMPLEMENTS_INTERFACE use the normal
6178         GInterface type checking.
6179         They were previously using non-defined macros.
6180
6181 2006-05-09  Wim Taymans  <wim@fluendo.com>
6182
6183         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_init),
6184         (gst_collect_pads_finalize), (gst_collect_pads_add_pad),
6185         (gst_collect_pads_remove_pad), (gst_collect_pads_set_flushing),
6186         (gst_collect_pads_start), (gst_collect_pads_stop),
6187         (gst_collect_pads_peek), (gst_collect_pads_pop),
6188         (gst_collect_pads_available), (gst_collect_pads_read),
6189         (gst_collect_pads_flush), (gst_collect_pads_check_pads),
6190         (gst_collect_pads_is_collected), (gst_collect_pads_event),
6191         (gst_collect_pads_chain):
6192         * libs/gst/base/gstcollectpads.h:
6193         Clean up the mess that is collectpads, add comments and
6194         FIXMEs where needed.
6195         Maintain a separate pad list so we can add pads while
6196         collecting the other ones. For this we need a new separate 
6197         lock (see comics).
6198         Fix memory leak in finalize.
6199         Refactor some weird code to set/unset pad flushing flags, mark
6200         with comments.
6201         Don't crash in _available, _read, _flush when we're EOS.
6202
6203         * tests/check/libs/.cvsignore:
6204         Ignore adapter check binary.
6205
6206 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
6207
6208         * gst/gstindex.c: (gst_index_resolver_get_type):
6209         * plugins/elements/gstfakesink.c:
6210         (gst_fake_sink_state_error_get_type):
6211         * plugins/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
6212         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type):
6213         * plugins/elements/gstqueue.c: (queue_leaky_get_type):
6214           Const-ify GEnumValue arrays.
6215
6216 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
6217
6218         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
6219           Add test case for flags + gst_buffer_make_metadata_writable().
6220
6221 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
6222
6223         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable):
6224           gst_buffer_make_metadata_writable() should maintain the
6225           buffer flags (those that make sense at least) (see #340859).
6226
6227 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
6228
6229         * tools/gst-inspect.c:
6230         * tools/gst-launch.c:
6231         * tools/gst-typefind.c:
6232         * tools/gst-xmlinspect.c:
6233         * tools/tools.h:
6234           Fix up includes: need to include stdlib.h in tools.h for exit().
6235
6236 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
6237
6238         * gst/gsttaglist.c: (_gst_tag_initialize):
6239         * gst/gsttaglist.h:
6240           API: add GST_TAG_IMAGE tag (#340721).
6241
6242 2006-05-08  Wim Taymans  <wim@fluendo.com>
6243
6244         * gst/gstquery.c:
6245         Added some docs for the segment query.
6246
6247 2006-05-08  Wim Taymans  <wim@fluendo.com>
6248
6249         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
6250         (gst_base_src_loop), (gst_base_src_change_state):
6251         Always push non-flushing serialized events in the streaming 
6252         thread.
6253
6254 2006-05-08  Thomas Vander Stichele  <thomas at apestaart dot org>
6255
6256         * gst/gsterror.c: (_gst_stream_errors_init):
6257           Add a missing error string.
6258
6259 2006-05-08  Jan Schmidt  <thaytan@mad.scientist.com>
6260
6261         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment):
6262         Add applied_rate to the debug
6263
6264         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
6265         Copy applied_rate into the outgoing NEWSEGMENT event
6266
6267 2006-05-08  Wim Taymans  <wim@fluendo.com>
6268
6269         Patch by: Philippe Rouquier <philippero at libertysurf dot fr>
6270
6271         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
6272         (gst_base_sink_change_state):
6273         call ::unlock before taking the PREROLL_LOCK so we can safely
6274         handle elements that lock in ::render.
6275         Fixes #340174.
6276
6277 2006-05-08  Edward Hervey  <edward@fluendo.com>
6278
6279         * autogen.sh: (CONFIGURE_DEF_OPT): 
6280         Darwin's libtoolize is in fact called glibtoolize.
6281         Adding glibtoolize to the list of accepted names for libtoolize.
6282
6283 2006-05-08  Wim Taymans  <wim@fluendo.com>
6284
6285         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
6286         Unify error handling, don't post an error message
6287         when a push() returns EOS but perform our normal EOS
6288         handling code. Fixes #340772.
6289
6290 2006-05-08  Wim Taymans  <wim@fluendo.com>
6291
6292         * docs/design/part-overview.txt:
6293         Make upsteam/downstream concepts more clear.
6294         Give an example of serialized/non-serialized events.
6295
6296         * docs/design/part-events.txt:
6297         * docs/design/part-streams.txt:
6298         Mention applied_rate.
6299
6300         * docs/design/part-trickmodes.txt:
6301         Mention applied rate, flesh out some more use cases.
6302
6303         * gst/gstevent.c: (gst_event_new_new_segment),
6304         (gst_event_parse_new_segment), (gst_event_new_new_segment_full),
6305         (gst_event_parse_new_segment_full), (gst_event_new_tag),
6306         (gst_event_parse_tag), (gst_event_new_buffer_size),
6307         (gst_event_parse_buffer_size), (gst_event_new_qos),
6308         (gst_event_parse_qos), (gst_event_parse_seek),
6309         (gst_event_new_navigation):
6310         * gst/gstevent.h:
6311         Add applied_rate field to NEWSEGMENT event.
6312         API: gst_event_new_new_segment_full()
6313         API: gst_event_parse_new_segment_full()
6314
6315         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_seek),
6316         (gst_segment_set_newsegment), (gst_segment_set_newsegment_full),
6317         (gst_segment_to_stream_time), (gst_segment_to_running_time):
6318         * gst/gstsegment.h:
6319         Add applied_rate to GstSegment structure.
6320         Make calculation of stream_time and running_time more correct
6321         wrt rate/applied_rate.
6322         Add some more docs.
6323         API: GstSegment::applied_rate field
6324         API: gst_segment_set_newsegment_full();
6325
6326         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
6327         (gst_base_sink_get_sync_times), (gst_base_sink_get_position):
6328         * libs/gst/base/gstbasetransform.c:
6329         (gst_base_transform_sink_eventfunc),
6330         (gst_base_transform_handle_buffer):
6331         Parse and use applied_rate in the GstSegment field.
6332
6333         * tests/check/gst/gstevent.c: (GST_START_TEST):
6334         Add check for applied_rate field.
6335
6336         * tests/check/gst/gstsegment.c: (GST_START_TEST),
6337         (gstsegments_suite):
6338         Add more checks for various GstSegment operations.
6339
6340 2006-05-08  Wim Taymans  <wim@fluendo.com>
6341
6342         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
6343         (gst_base_sink_do_sync), (gst_base_sink_chain_unlocked),
6344         (gst_base_sink_get_position), (gst_base_sink_change_state):
6345         Store the sync time of the buffer end position separatly in a
6346         new variable eos_rtime so we can properly sync the EOS event.
6347         Fixes #340697.
6348         Fix the docs for gst_base_sink_set_qos_enabled().
6349         Don't set segment start to invalid value when we receive a 
6350         non TIME newsegment.
6351         get closer to handling position reporting for negative rates 
6352         correctly.
6353
6354 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
6355
6356         * gst/gstcaps.c:
6357         Docs about how to print caps for debug purposes.
6358
6359         * gst/gstpadtemplate.c: (gst_static_pad_template_get):
6360         use gst_caps_make_writable instead of gst_caps_copy, Fixes #340608
6361
6362 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
6363
6364         * gst/gstelement.c:
6365           use full enum names and preprend a '%' in docs strings to make recent 
6366           gtk-doc turn that into a link
6367
6368 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
6369
6370         * docs/manual/basics-bins.xml:
6371         * docs/manual/basics-bus.xml:
6372         * docs/manual/basics-pads.xml:
6373           Some typo fixes, some additions, some clarifications. 
6374
6375 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
6376
6377         * tools/gst-inspect.c: (main):
6378         * tools/gst-launch.c: (main):
6379         * tools/gst-run.c: (main):
6380         * tools/gst-typefind.c: (main):
6381         * tools/gst-xmlinspect.c: (main):
6382           Use the string passed to g_option_context_new() for
6383           what it's intended for - the program name is already
6384           printed elsewhere.
6385
6386 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
6387
6388         * tools/Makefile.am:
6389         * tools/gst-inspect.c: (main):
6390         * tools/gst-launch.c: (main):
6391         * tools/gst-xmlinspect.c: (main):
6392         * tools/tools.h:
6393           Add back --version command line option (#340460).
6394
6395         * tools/gst-typefind.c: (have_type_handler), (typefind_file), (main):
6396           Add --version option and use GOption for argument parsing; refactor a
6397           bit; accept directories as arguments and recurse into them; lastly,
6398           print a decent error message when things go wrong.
6399
6400 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
6401
6402         * docs/manual/basics-bins.xml:
6403         Don't mention GstThread (#340611)
6404         * docs/manual/basics-elements.xml:
6405         Update link to GObject tutorial (#340607)
6406         
6407 2006-05-05  Wim Taymans  <wim@fluendo.com>
6408
6409         * gst/gstbuffer.h:
6410         * gst/gstminiobject.c:
6411         Add note about refcounting and miniobject/buffer writeability
6412         to docs. Fixes #340604
6413
6414         * gst/gstelementfactory.h:
6415         Added some explanation about @klass.
6416
6417 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
6418
6419         * docs/manual/intro-motivation.xml:
6420         * docs/manual/manual.xml:
6421         Avoid CORBA & Bonobo references (#340598)
6422
6423 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
6424
6425         * docs/manual/basics-bus.xml:
6426         * docs/manual/basics-pads.xml:
6427         Fix up some inaccuracies and omissions (#340609)
6428         
6429 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
6430
6431         * gst/gstghostpad.c:
6432           Small typo in docs (#340625)
6433
6434 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
6435
6436         * gst/parse/Makefile.am:
6437           Make 'make -j' proof (see #340698).
6438
6439 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
6440
6441         * configure.ac:
6442           Require GLib-2.8 here as well.
6443
6444 2006-05-05  Wim Taymans  <wim@fluendo.com>
6445
6446         * gst/glib-compat.c:
6447         * gst/gst.c: (init_pre):
6448         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
6449         (gst_object_unref), (gst_object_replace), (gst_object_dispose),
6450         (gst_object_dispatch_properties_changed):
6451         * gst/gstobject.h:
6452         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
6453         * gst/gststructure.c: (gst_structure_set_valist):
6454         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
6455         Remove pre glib2.8 compatibility, fixes #340508
6456
6457 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
6458
6459         * gst/gsttaglist.h:
6460           Mention type of tags in doc blurbs.
6461
6462 2006-05-04  Jan Schmidt  <thaytan@mad.scientist.com>
6463
6464         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
6465         (gst_pad_configure_src), (gst_pad_push):
6466         Restore acceptcaps checking behaviour now that good plugins have
6467         been released.
6468
6469 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
6470
6471         Patch by: James Andrewartha <trs80 at tartarus uwa edu au>
6472
6473         * gst/gst.c:
6474         * gst/gstbus.c:
6475         * gst/gstclock.c:
6476         * gst/gstevent.c:
6477         * gst/gstformat.c:
6478         * gst/gstmessage.c:
6479         * gst/gstparse.c:
6480         * gst/gstquery.c:
6481         * gst/gstutils.c:
6482         * gst/parse/Makefile.am:
6483         * libs/gst/base/gstadapter.c:
6484         * libs/gst/base/gstbasesrc.c:
6485         * libs/gst/base/gstpushsrc.c:
6486         * libs/gst/base/gsttypefindhelper.c:
6487         * plugins/elements/gstfakesrc.c:
6488         * plugins/elements/gstidentity.c:
6489           Make sure gstprivate.h and/or config.h are
6490           always included first, otherwise some of our
6491           defines (like _FILE_OFFSET_BITS) might be
6492           redefined in the system headers. Fixes build
6493           on opensolaris (#340016).
6494
6495 2006-05-04  Wim Taymans  <wim@fluendo.com>
6496
6497         * docs/libs/gstreamer-libs-sections.txt:
6498         API: addition: gst_adapter_take_buffer()
6499         
6500         * libs/gst/base/gstadapter.c: (gst_adapter_push),
6501         (gst_adapter_peek), (gst_adapter_take), (gst_adapter_take_buffer),
6502         (gst_adapter_available_fast):
6503         * libs/gst/base/gstadapter.h:
6504         Prepare for optimizing the hell out of this hugely inefficient
6505         piece of code. 
6506         Added gst_adapter_take_buffer() so we can at least start thinking
6507         about subbuffering and merging.
6508         Added some comments.
6509
6510         * tests/check/Makefile.am:
6511         * tests/check/libs/adapter.c: (GST_START_TEST),
6512         (gst_adapter_suite), (main):
6513         Added GstAdapter check.
6514
6515 2006-05-04  Wim Taymans  <wim@fluendo.com>
6516
6517         * docs/design/part-overview.txt:
6518         Fix some typos, add blurb about buffer flags.
6519
6520 2006-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
6521
6522         * docs/libs/gstreamer-libs-sections.txt:
6523           make sure GstBaseTransformClass shows up in the docs
6524         * libs/gst/base/gstbasetransform.c:
6525         * libs/gst/base/gstbasetransform.h:
6526           move docs so gtk-doc picks it up now
6527
6528 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
6529
6530         * docs/libs/gstreamer-libs-sections.txt:
6531           add missing symbols to docs
6532
6533 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
6534
6535         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
6536           back out the newsegment handling change, see #340060 for ongoing
6537           discussion
6538
6539 2006-04-30  Tim-Philipp Müller  <tim at centricular dot net>
6540
6541         * tools/gst-run.c: (get_candidates), (main):
6542           Fix wrong g_file_test() usage (see glib docs for why it doesn't
6543           work); fix typo in error message. Fixes #340079.
6544
6545 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
6546
6547         * common/Makefile.am:
6548         * docs/Makefile.am:
6549         * docs/faq/Makefile.am:
6550         * docs/gst/Makefile.am:
6551         * docs/libs/Makefile.am:
6552         * docs/manual/Makefile.am:
6553         * docs/plugins/Makefile.am:
6554         * docs/pwg/Makefile.am:
6555         * docs/slides/Makefile.am:
6556         * docs/upload.mak:
6557         * common/upload.mak:
6558           move upload.mak to common
6559
6560 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
6561
6562         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
6563           add more asserts on refcounts
6564           do more cleanup at end of tests
6565           fix test leaks showing in FC5
6566
6567 2006-04-29  Stefan Kost  <ensonic@users.sf.net>
6568
6569         * plugins/elements/gsttypefindelement.c:
6570         (gst_type_find_element_handle_event):
6571         reverted wrong change and reflowed code to avoid others falling into
6572         this trap
6573
6574 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
6575
6576         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
6577           fix changelog entry about last collectpads change,
6578           add notes about proper fix
6579
6580 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
6581
6582         * gst/gst.c:
6583         * gst/gstregistry.c: (gst_registry_scan_path_level),
6584         (gst_registry_scan_path):
6585         * gst/gstregistry.h:
6586           only write out registry if it has changed, fixes #338339
6587
6588 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
6589
6590         * gst/gstbin.c:
6591         * gst/gstpipeline.c:
6592         * plugins/elements/gstcapsfilter.c:
6593         * plugins/elements/gstfakesink.c:
6594         * plugins/elements/gstfakesrc.c:
6595         * plugins/elements/gstfdsink.c:
6596         * plugins/elements/gstfdsrc.c:
6597         * plugins/elements/gstfilesink.c:
6598         * plugins/elements/gstfilesrc.c:
6599         * plugins/elements/gstidentity.c:
6600         * plugins/elements/gstqueue.c:
6601         * plugins/elements/gsttee.c:
6602         * plugins/elements/gsttypefindelement.c:
6603         (gst_type_find_element_handle_event):
6604           make GstElementDetails const
6605
6606 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
6607
6608         * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
6609         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
6610         (gst_collect_pads_is_collected), (gst_collect_pads_event):
6611           more detailed debug and formatting cleanup,
6612           forward newsegments to src-pad (so that e.g. adder not eats them)
6613
6614 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
6615
6616         * gst/gstutils.c: (gst_element_link_pads):
6617           cleanup double code
6618
6619 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
6620
6621         * libs/gst/controller/gstcontroller.c:
6622         (gst_controller_sync_values):
6623           some little tuning
6624         * tests/check/libs/controller.c: (GST_START_TEST),
6625         (gst_controller_suite):
6626           a new test for live value handling
6627
6628 2006-04-28  Wim Taymans  <wim@fluendo.com>
6629
6630         * gst/gstutils.c: (push_and_ref):
6631         Added some more docs.
6632         Fix refcount issue whith gst_element_found_tags() helper 
6633         function. Fixes #338335
6634
6635         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
6636         Added testsuite for gst_element_found_tags().
6637
6638 2006-04-28  Michael Smith  <msmith@fluendo.com>
6639
6640         * gst/gstvalue.c: (gst_value_serialize_flags):
6641           Avoid NULL dereference when trying to serialize flags containing
6642           invalid values.
6643
6644 2006-04-28  Michael Smith  <msmith@fluendo.com>
6645
6646         * plugins/elements/gsttypefindelement.c:
6647         (gst_type_find_element_handle_event):
6648           If we get EOS before any data is accumulated, don't use
6649           uninitialised local variables.
6650
6651 2006-04-28  Michael Smith  <msmith@fluendo.com>
6652
6653         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
6654         (gst_dp_event_from_packet):
6655           Fixes in reading/writing events over GDP (not currently used?) - 
6656           dereferencing NULL events for unknown/invalid event types, memory
6657           leak, and change g_warning to GST_WARNING.
6658
6659 2006-04-28  Wim Taymans  <wim@fluendo.com>
6660
6661         * libs/gst/base/gstbasesink.c: (gst_base_sink_is_too_late),
6662         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
6663         (gst_base_sink_get_position), (gst_base_sink_change_state):
6664         When frame dropping is enabled, we should not ignore frames
6665         without a duration.
6666         Update some documentation.
6667
6668 2006-04-28  Wim Taymans  <wim@fluendo.com>
6669
6670         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
6671         (gst_base_src_send_event), (gst_base_src_change_state):
6672         Documentation updates.
6673
6674 2006-04-28  Wim Taymans  <wim@fluendo.com>
6675
6676         * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
6677         (gst_fd_sink_check_fd), (gst_fd_sink_update_fd):
6678         handle EAGAIN, EINTR and short writes correctly. Also clean
6679         up some error cases, avoid a deadlock on bad file descriptors and
6680         use GST_DEBUG_OBJECT.
6681         Fixes #339843
6682
6683 2006-04-28  Wim Taymans  <wim@fluendo.com>
6684
6685         * gst/gstvalue.c: (gst_value_serialize_buffer),
6686         (gst_value_deserialize_buffer):
6687         Don't try to serialize a GValue with a NULL buffer. 
6688         Fixes #339821.
6689
6690         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
6691         Added check for serialisation of NULL buffers.
6692
6693 2006-04-28  Wim Taymans  <wim@fluendo.com>
6694
6695         * gst/gstminiobject.c: (gst_value_take_mini_object):
6696         Taking a NULL miniobject is valid, fix the case where
6697         we try to unref the NULL miniobject.
6698
6699 2006-04-28  Wim Taymans  <wim@fluendo.com>
6700
6701         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
6702
6703         * gst/gstbin.c: (gst_bin_handle_message_func):
6704         Update docs.
6705         Don't leak bin refcount when a state recalc is
6706         in progress and we delay another one #339808.
6707
6708 2006-04-28  Wim Taymans  <wim@fluendo.com>
6709
6710         * docs/design/part-TODO.txt:
6711         Mention QoS as an ongoing work item.
6712
6713         * docs/design/part-buffering.txt:
6714         New doc about buffering that needs to be fleshed out
6715         at some point.
6716
6717         * docs/design/part-qos.txt:
6718         More QoS policy for decoders/demuxers/transforms
6719
6720         * docs/design/part-trickmodes.txt:
6721         Small update.
6722
6723 2006-04-28  Thomas Vander Stichele  <thomas at apestaart dot org>
6724
6725         * configure.ac:
6726           back to HEAD
6727
6728 === release 0.10.5 ===
6729
6730 2006-04-28  Thomas Vander Stichele <thomas at apestaart dot org>
6731
6732         * configure.ac:
6733           releasing 0.10.5, "Fogo"
6734
6735 2006-04-22  Thomas Vander Stichele  <thomas at apestaart dot org>
6736
6737         patch by: Wim Taymans
6738
6739         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
6740         (gst_pad_configure_src), (gst_pad_push):
6741         * gst/gstpipeline.c: (gst_pipeline_init):
6742           Fix internal data flow errors.  Fixes #338711.
6743
6744 2006-04-12  Wim Taymans  <wim@fluendo.com>
6745
6746         * tests/check/gst/gstelement.c: (GST_START_TEST):
6747         Don't leak the factory.
6748
6749 2006-04-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6750
6751         * configure.ac:
6752         * win32/common/config.h:
6753           prerelease
6754
6755 2006-04-12  Tim-Philipp Müller  <tim at centricular dot net>
6756
6757         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
6758         (gst_controller_unset_all):
6759           Free allocated GstTimedValues when freeing list nodes.
6760           Should fix leaks 'make check-valgrind' complains about.
6761
6762         * win32/common/libgstcontroller.def:
6763           Add gst_controller_unset_all.
6764
6765 2006-04-11  Stefan Kost  <ensonic@users.sf.net>
6766
6767         * docs/libs/gstreamer-libs-sections.txt:
6768         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
6769         (gst_controller_unset_all):
6770         * libs/gst/controller/gstcontroller.h:
6771         API: Added new method gst_controller_unset_all()
6772         fixed gst_controller_unset()
6773         * tests/check/libs/controller.c: (GST_START_TEST),
6774         (gst_controller_suite):
6775         Added two testcases for new and fixed method
6776
6777 2006-04-11  Tim-Philipp Müller  <tim at centricular dot net>
6778
6779         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
6780           MSG_DONTWAIT is not defined on Cygwin, so work
6781           around that (fixes #317048).
6782           
6783 2006-04-11  Wim Taymans  <wim@fluendo.com>
6784
6785         * gst/gstelementfactory.c: (gst_element_register),
6786         (gst_element_factory_create), (gst_element_factory_make):
6787         Some cleanups.
6788         Fixed a FIXME.
6789         Updated docs (Fixes #131079)
6790
6791         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
6792         Small cleanups.
6793
6794         * tests/check/gst/gstelement.c: (GST_START_TEST),
6795         (gst_element_suite):
6796         Added testcase for elementfactory class field.
6797
6798 2006-04-10  Wim Taymans  <wim@fluendo.com>
6799
6800         * gst/gstsegment.c:
6801         Added some more docs.
6802
6803         * libs/gst/base/gstbasesink.c: (gst_base_sink_perform_qos),
6804         (gst_base_sink_reset_qos):
6805         Calculate more accurate rate values.
6806
6807 2006-04-09  Sebastien Moutte  <sebastien@moutte.net>
6808
6809         * gst/gst_private.h:
6810           add a new #ifdef to use __declspec(dllimport) only for
6811           other modules and not for gstreamer core
6812         * gst/gstbasesink.c: (gst_base_sink_perform_qos):
6813           use gst_guint64_to_gdouble for conversion
6814         * win32/common/libgstreamer.def:
6815           add new exported functions
6816         * win32/vs6/gst_inspect.dsp:
6817         * win32/vs6/gst_launch.dsp:
6818         * win32/vs6/libgstbase.dsp:
6819         * win32/vs6/libgstcontroller.dsp:
6820         * win32/vs6/libgstcoreelements.dsp:
6821         * win32/vs6/libgstdataprotocol.dsp:
6822         * win32/vs6/libgstnet.dsp:
6823           update project files
6824
6825 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
6826
6827         * gst/gstbuffer.c: (gst_subbuffer_class_init):
6828         * gst/gstclock.c: (gst_clock_class_init):
6829         * gst/gstelement.c: (gst_element_class_init):
6830         * gst/gstindex.c: (gst_index_class_init):
6831         * gst/gstindexfactory.c: (gst_index_factory_class_init):
6832         * gst/gstobject.c: (gst_object_class_init),
6833         (gst_signal_object_class_init):
6834         * gst/gstpad.c: (gst_pad_class_init):
6835         * gst/gstpadtemplate.c: (gst_pad_template_class_init):
6836         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init):
6837         * gst/gstregistry.c: (gst_registry_class_init):
6838         * gst/gstsystemclock.c: (gst_system_clock_class_init):
6839         * gst/gsttask.c: (gst_task_class_init):
6840         * gst/gstxml.c: (gst_xml_class_init):
6841         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
6842         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
6843         (gst_base_src_loop):
6844         * libs/gst/controller/gstcontroller.c:/
6845         (_gst_controller_class_init):
6846         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
6847         * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
6848         * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init):
6849         * tests/old/examples/plugins/example.c: (gst_example_class_init):
6850         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
6851         Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent)
6852
6853 2006-04-08  Tim-Philipp Müller  <tim at centricular dot net>
6854
6855         * gst/gstpad.c: (gst_pad_link):
6856           Must set peer pads before calling the link function, otherwise
6857           a task started from a link function might get a flow-not-linked
6858           result when trying to push because the other thread where the
6859           linking happens hasn't had a chance to set the peers yet. This
6860           might happen for example when a queue gets linked to a downstream
6861           element, as queue starts a streaming task when its source pad
6862           gets linked. Happens in real life when playing back flac/musepack
6863           files in playbin (#332390).
6864           
6865 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
6866
6867         * gst/gstindex.h:
6868         * gst/gstxml.h:
6869         * libs/gst/base/gstadapter.h:
6870         * libs/gst/base/gstbasesink.h:
6871         * libs/gst/base/gstbasesrc.h:
6872         * libs/gst/base/gstbasetransform.h:
6873         * libs/gst/base/gstcollectpads.h:
6874         * libs/gst/base/gstpushsrc.h:
6875         Fix broken GObject macros
6876
6877 2006-04-07  Wim Taymans  <wim@fluendo.com>
6878
6879         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
6880         Initialize start and stop times, thanks valgrind.
6881
6882 2006-04-07  Wim Taymans  <wim@fluendo.com>
6883
6884         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
6885         Be a bit nicer to badly behaving upstream elements that expect
6886         us to deal with non TIME segments and timestamps (such as fakesrc
6887         in the testsuite).
6888
6889 2006-04-07  Wim Taymans  <wim@fluendo.com>
6890
6891         * gst/gstbus.c:
6892         Small documentation clarification about the signal watch.
6893
6894         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
6895         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
6896         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
6897         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
6898         (gst_base_sink_get_position_last),
6899         (gst_base_sink_get_position_paused), (gst_base_sink_change_state):
6900         Convert and store timestamps in stream time and running time, the
6901         raw timestamps are not useful, also document this better.
6902         Use different window sizes for good and bad QoS observations so
6903         we react to badness a little quicker.
6904         Keep track of the amount of rendered and dropped buffers.
6905         Send QoS timestamps in running time.
6906
6907         * libs/gst/base/gstbasetransform.c:
6908         (gst_base_transform_sink_eventfunc),
6909         (gst_base_transform_handle_buffer):
6910         Compare QoS timestamps against running time.
6911
6912 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
6913
6914         * gst/gstpad.c:
6915           Typo fixes in docs.
6916
6917 2006-04-06  Michael Smith  <msmith@fluendo.com>
6918
6919         * gst/gstpad.c: (gst_pad_set_property):
6920           Use g_value_get_object() instead of g_value_dup_gst_object(),
6921           to avoid double-reffing the pad template (which we then sink,
6922           so this worked previously if (and only if) the pad template
6923           was floating.
6924
6925         * gst/gstpadtemplate.c: (gst_pad_template_init),
6926         (gst_pad_template_pad_created):
6927           Never return floating references to pad templates, create
6928           them as initially-sunken.
6929
6930           Document an extra function (and make this stop sinking our
6931           pad template, since that is now guaranteed to do nothing,
6932           since we created it sunken).
6933
6934         * gst/gstghostpad.c:
6935           Fix docs typo.
6936
6937 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
6938
6939         * gst/gstinfo.c: (__gst_in_valgrind):
6940           Add some newlines.
6941
6942         * plugins/elements/gsttypefindelement.c:
6943         (gst_type_find_element_chain):
6944           Don't leak buffer caps.
6945
6946 2006-04-06  Michael Smith  <msmith@fluendo.com>
6947
6948         * gst/parse/grammar.y:
6949           Fix a leak in parse-launch for any source-or-sink named element 
6950           references used.
6951
6952         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
6953           Unref the pipeline if it exists after we've failed parsing.
6954
6955 2006-04-05  Michael Smith  <msmith@fluendo.com>
6956
6957         * gst/gstpipeline.c: (gst_pipeline_init):
6958           When we create a pipeline bus, initially create it in flushing mode.
6959           Fixes leaks in at least one test, and makes a new pipeline work the
6960           same as one that has gone to READY and then back to NULL.
6961
6962         * gst/gstelement.c:
6963           Typo fix in docs.
6964
6965 2006-04-05  Michael Smith  <msmith@fluendo.com>
6966
6967         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
6968           Unref a pad we reffed.
6969         * tests/check/gst/gstutils.c: (GST_START_TEST):
6970           Unref bins
6971
6972 2006-04-05  Michael Smith  <msmith@fluendo.com>
6973
6974         * gst/gstquery.c: (gst_query_set_formats),
6975         (gst_query_set_formatsv):
6976           Fix leaking GValues in queries, as shown by valgrind/testsuite.
6977
6978 2006-04-05  Michael Smith  <msmith@fluendo.com>
6979
6980         * tests/check/generic/sinks.c: (GST_START_TEST):
6981           Fix a variety of memleaks in sinks check, which are only sometimes 
6982           shown by running the tests under valgrind (weird?).
6983
6984 2006-04-05  Jan Schmidt  <thaytan@mad.scientist.com>
6985
6986         * docs/version.entities.in:
6987           Fix the substituted entity name after thomas' changes on the
6988           weekend.
6989
6990 2006-04-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
6991
6992         * gst/gstinfo.c: (__gst_in_valgrind): Use printf instead of
6993         VALGRIND_PRINTF
6994         
6995 2006-04-05  Andy Wingo  <wingo@pobox.com>
6996
6997         * gst/gstpad.c (gst_pad_set_blocked_async): More debug.
6998
6999         * libs/gst/base/gstbasetransform.c
7000         (gst_base_transform_sink_eventfunc): When resetting our segment on
7001         FLUSH_STOP, also update the flag saying we haven't seen a
7002         newsegment.
7003
7004 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
7005
7006         Patch by: Paolo Borelli  <pborelli at katamail dot com>
7007
7008         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
7009         (gst_plugin_check_license):
7010           minor clean-ups: G_DEFINE_TYPE already takes care of the
7011           parent_class stuff, no need to do it twice. Mark array of
7012           license strings as constant. (#337103)
7013           
7014 2006-04-04  Michael Smith  <msmith@fluendo.com>
7015
7016         * tools/gst-inspect.c: (print_element_list):
7017           Free the right plugin list; fixes a memory leak.
7018
7019 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
7020
7021         Patch by: Mark Nauwelaerts  <manauw at skynet dot be>
7022
7023         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
7024           Don't error out on empty buffers (#336945).
7025           
7026 2006-04-04  Jan Schmidt  <thaytan@mad.scientist.com>
7027
7028         * docs/libs/gstreamer-libs-sections.txt:
7029         * gst/gsttaglist.c:
7030         * libs/gst/base/gstbasesink.c:
7031         * libs/gst/base/gstbasesink.h:
7032         * libs/gst/base/gstbasesrc.c:
7033         * libs/gst/base/gstbasesrc.h:
7034           Documentation updates. Make BaseSink and BaseSrc docs contain the
7035           class structure so that people can actually see the prototypes for
7036           virtual functions they're supposed to be overriding.
7037
7038 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
7039
7040         * plugins/elements/gsttypefindelement.c:
7041         (gst_type_find_element_chain):
7042           More debug info; when skipping typefinding, send cached
7043           events in all cases.
7044
7045 2006-04-01  Thomas Vander Stichele  <thomas at apestaart dot org>
7046
7047         * configure.ac:
7048           use new AS_VERSION and AS_NANO macros
7049         * gst/gst-i18n-lib.h:
7050         * gst/gst.c:
7051         * gst/gsterror.c:
7052         * gst/gstversion.h.in:
7053         * win32/common/config.h:
7054         * win32/common/config.h.in:
7055           update accordingly
7056
7057 2006-03-31  Michael Smith  <msmith@fluendo.com>
7058
7059         * plugins/elements/gsttypefindelement.c:
7060         (gst_type_find_element_chain):
7061           Do not typefind content if the buffers already have caps.
7062           Neccesary for icydemux (#333657), and the right thing to do anyway.
7063
7064 2006-03-30  Wim Taymans  <wim@fluendo.com>
7065
7066         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
7067         (gst_base_sink_finalize), (gst_base_sink_set_qos_enabled),
7068         (gst_base_sink_is_qos_enabled), (gst_base_sink_do_sync),
7069         (gst_base_sink_record_qos_observation),
7070         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
7071         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
7072         (gst_base_sink_change_state):
7073         More QoS measurements as described in the design doc.
7074         Get rid of ringbuffer with observations, running average is
7075         more simple and equally good.
7076         Calculates valid proportion now.
7077         Added beginning of flood measurement.
7078
7079 2006-03-29  Wim Taymans  <wim@fluendo.com>
7080
7081         * docs/design/part-qos.txt:
7082         * gst/gstclock.c:
7083         Small documentation updates and additions.
7084
7085 2006-03-29  Wim Taymans  <wim@fluendo.com>
7086
7087         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
7088         (gst_base_src_send_event), (gst_base_src_loop),
7089         (gst_base_src_change_state):
7090         Perform the EOS logic when we reach the segment stop position.
7091         Fix compilation on gcc4.1
7092
7093 2006-03-29  Wim Taymans  <wim@fluendo.com>
7094
7095         Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
7096
7097         * plugins/elements/gstqueue.c: (gst_queue_init),
7098         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
7099         (gst_queue_set_property):
7100         * plugins/elements/gstqueue.h:
7101         In queue, when EOS is received, if minimum threshold > max_size -
7102         current_level, there is chance that queue blocks forever in conditional
7103         item del wait. This is because the queue is not emptied completely due
7104         to minimum threshold.  Here is another approach. Instead of setting
7105         cur_levels to max in EOS, just zero all minimum threshold levels. This
7106         should make sure that queue gives out all data. When going to READY
7107         (stop) state, just reset the original minimum threshold levels.
7108         Fixes #336336.
7109
7110 2006-03-29  Tim-Philipp Müller  <tim at centricular dot net>
7111
7112         * plugins/elements/gsttypefindelement.c: (stop_typefinding),
7113         (gst_type_find_element_handle_event),
7114         (gst_type_find_element_send_cached_events),
7115         (gst_type_find_element_change_state):
7116         * plugins/elements/gsttypefindelement.h:
7117           When typefinding is done in push mode, we should cache
7118           events we receive during typefinding instead of just
7119           dropping them (e.g. newsegment, custom events from
7120           dvdreadsrc etc.) and then send them out once we've
7121           determined the type of the stream (and decodebin
7122           has had a chance to plug in a decoder/demuxer).
7123           
7124 2006-03-27  Wim Taymans  <wim@fluendo.com>
7125
7126         * docs/design/part-qos.txt:
7127         First QoS ideas.
7128
7129 2006-03-27  Wim Taymans  <wim@fluendo.com>
7130
7131         Inspired by a patch of: Lutz Mueller <lutz at topfrose dot de>
7132
7133         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
7134         (gst_base_src_send_event), (gst_base_src_change_state):
7135         Handle element seek correctly when we are streaming.
7136         Fixes #326998.
7137
7138 2006-03-24  Michael Smith  <msmith@fluendo.com>
7139
7140         * docs/faq/gst-uninstalled:
7141           Set up LD_LIBRARY_PATH to point at all the gstreamer libs. This will
7142           allow you to correctly run intalled applications built against old 
7143           core, using plugins that require updated core (e.g. running
7144           installed totem against a full uninstalled gstreamer stack)
7145
7146 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
7147
7148         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
7149         more debug details
7150
7151 2006-03-24  Wim Taymans  <wim@fluendo.com>
7152
7153         * docs/gst/gstreamer-sections.txt:
7154         Rearrange the order of the methods so that related methods
7155         are grouped together in sections.
7156
7157 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
7158
7159         * gst/gstelement.c:
7160           Little clarification in the docs
7161
7162 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
7163
7164         * docs/README:
7165         formatting fix
7166         * plugins/elements/gstidentity.c:
7167         * plugins/elements/gstqueue.c:
7168         * plugins/elements/gsttee.c:
7169         * plugins/elements/gsttypefindelement.c:
7170         GST_ELEMENT_DETAILS formatting
7171
7172 2006-03-24  Wim Taymans  <wim@fluendo.com>
7173
7174         * libs/gst/base/gstbasesink.h:
7175         Only add fields, not insert or we break ABI.
7176
7177 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
7178
7179         * win32/common/libgstbase.def:
7180         * win32/common/libgstreamer.def:
7181           Update, add recently added functions.
7182
7183 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
7184
7185         * docs/gst/gstreamer-sections.txt:
7186         * gst/gstutils.c: (gst_pad_query_peer_position),
7187         (gst_pad_query_peer_duration), (gst_pad_query_peer_convert):
7188         * gst/gstutils.h:
7189           API: add some new utility functions:
7190            - gst_pad_query_peer_position()
7191            - gst_pad_query_peer_duration()
7192            - gst_pad_query_peer_convert()
7193           
7194 2006-03-23  Wim Taymans  <wim@fluendo.com>
7195
7196         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
7197         (gst_base_sink_init), (gst_base_sink_finalize),
7198         (gst_base_sink_set_qos_enabled), (gst_base_sink_is_qos_enabled),
7199         (gst_base_sink_set_property), (gst_base_sink_get_property),
7200         (gst_base_sink_commit_state), (gst_base_sink_get_sync_times),
7201         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
7202         (gst_base_sink_add_qos_observation), (gst_base_sink_send_qos),
7203         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
7204         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
7205         (gst_base_sink_preroll_object), (gst_base_sink_event),
7206         (gst_base_sink_chain_unlocked), (gst_base_sink_get_position_last),
7207         (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
7208         (gst_base_sink_query), (gst_base_sink_change_state):
7209         Decouple max-lateness and the fact that QoS messages are generated
7210         with a new property (qos).
7211         added API: GstBaseSink::async_play()
7212         Add vmethod so subclasses can be notified of ASYNC playing
7213         state changes.
7214         Collect timestamp start and stop to report better current
7215         position in EOS/PLAYING/PAUSED/READY/NULL.
7216         Refactor QoS/frame dropping and other measurements.
7217         API: GstBaseSrc::qos
7218         Fixes #326311
7219
7220         * libs/gst/base/gstbasesink.h:
7221         Added Private struct.
7222         API: gst_base_sink_set_qos_enabled()
7223         API: gst_base_sink_is_qos_enabled()
7224
7225 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
7226
7227         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
7228           If compiling against GLib-2.8 or newer, try to read the
7229           registry file using GMappedFile first before falling back
7230           to fopen() + fread() (#332151).
7231
7232 2006-03-22  Wim Taymans  <wim@fluendo.com>
7233
7234         * gst/gstinfo.c: (gst_debug_set_active),
7235         (gst_debug_category_set_threshold):
7236         Disable debugging unless explicitly activated.
7237         Fixes #335480.
7238
7239 2006-03-22  Wim Taymans  <wim@fluendo.com>
7240
7241         * gst/gstelement.c: (gst_element_set_locked_state),
7242         (gst_element_dispose):
7243         Cleanup the error case.
7244
7245         * gst/gstobject.c: (gst_object_dispose):
7246         print a critical when some object was disposed with
7247         a parent, also revive the object since it might
7248         crash the parent.
7249
7250 2006-03-22  Tim-Philipp Müller  <tim at centricular dot net>
7251
7252         * tools/gst-launch.1.in:
7253           Fix another typo.
7254
7255 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
7256
7257         * configure.ac:
7258         * tests/check/Makefile.am:
7259           disable some tests when we don't have a registry
7260         * tests/check/gst/gstutils.c: (gst_utils_suite):
7261           don't build the part that needs parsing
7262
7263 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
7264
7265         * gst/Makefile.am
7266         * tests/examples/Makefile.am:
7267           fix --disable-parse build
7268
7269 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
7270
7271         * tools/gst-feedback.1.in:
7272           Fix typo: s/feeback/feedback/ (#133494).
7273
7274 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
7275
7276         * tools/Makefile.am:
7277         * tools/gst-launch.1.in:
7278           Add FILES section and correct entry about GST_REGISTRY_PATH
7279           environment variable (#133495; #133494).
7280
7281 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
7282
7283         * tools/Makefile.am:
7284         * tools/gst-md5sum.1.in:
7285         * tools/gst-md5sum.c:
7286           Remove gst-md5sum and man page (the md5sink element
7287           required was removed ages ago)
7288
7289 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
7290
7291         * gst/gststructure.c: (gst_structure_id_set_value):
7292           Make sure that string fields in structures/taglists
7293           contain valid UTF-8 - we don't want to pass rubbish to
7294           applications because of a buggy plugin (cp. #334167).
7295
7296 2006-03-21  Edward Hervey  <edward@fluendo.com>
7297
7298         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
7299         (gst_bin_handle_message_func):
7300         * gst/gstclock.c: (gst_clock_dispose), (gst_clock_set_master):
7301         * gst/gstelement.c: (gst_element_set_clock), (gst_element_dispose),
7302         (gst_element_set_bus_func):
7303         * gst/gstghostpad.c: (gst_proxy_pad_dispose):
7304         * gst/gstminiobject.c: (gst_value_set_mini_object),
7305         (gst_value_take_mini_object):
7306         * gst/gstpad.c: (gst_pad_set_pad_template):
7307         * gst/gstpipeline.c: (gst_pipeline_dispose),
7308         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
7309         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop),
7310         (gst_collect_pads_chain):
7311         * libs/gst/net/gstnettimeprovider.c:
7312         (gst_net_time_provider_set_property):
7313         Series of fixes for dereferenced pointers that gcc 4.1 complains about.
7314         It's in fact all issues with gst_*object_replace().
7315
7316 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
7317
7318         Patch by: Loïc Minier  <lool + gnome at via dot ecp dot fr>
7319         
7320         * pkgconfig/gstreamer-check-uninstalled.pc.in:
7321         * pkgconfig/gstreamer-check.pc.in:
7322           Use @CHECK_LIBS@ here instead of hard-coding -lcheck (#334109).
7323
7324 2006-03-21  Edward Hervey  <edward@fluendo.com>
7325
7326         * gst/gstbuffer.h:
7327         * gst/gstevent.h:
7328         * gst/gstmessage.h:
7329         gst_[buffer|event|message]_ref() macros are replaced by a static
7330         inline functions because gcc-4.1 will about if the return value
7331         isn't used.
7332         * tests/check/gst/gstevent.c: (event_probe):
7333         gst_event_ref now has to be given a GstEvent* , fix check accordingly.
7334
7335 2006-03-20  Jan Schmidt  <thaytan@mad.scientist.com>
7336
7337         * gst/gstutils.h:
7338         Add G_UNLIKELY to our boilerplate to optimise the 'already registered
7339         the type' case. (Closes: #335195 for now). In the future, when we
7340         depend on GLib 2.10, we could also intern the type name using
7341         g_intern_static_string()
7342
7343 2006-03-20  Wim Taymans  <wim@fluendo.com>
7344
7345         * gst/gstbin.c: (gst_bin_handle_message_func),
7346         (bin_query_max_init), (bin_query_position_fold),
7347         (bin_query_position_done), (gst_bin_query):
7348         Position query should also take max of all streams.
7349
7350 2006-03-20  Wim Taymans  <wim@fluendo.com>
7351
7352         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
7353         (gst_fake_src_finalize):
7354         Fix leaks in fakesrc.
7355
7356         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
7357         Fix leaks in the testcase.
7358
7359 2006-03-19  Sebastien Moutte  <sebastien@moutte.net>
7360
7361         * gst/gst_private.h:
7362           add win32 specific import decoration(__declspec(dllimport)) 
7363           for all extern GstDebugCategory * variables
7364         * win32/common/libgstbase.def:
7365         * win32/common/libgstcontroller.def:
7366         * win32/common/libgstreamer.def:
7367           Add some exports, remove empty lines
7368         * win32/common/libgstdataprotocol.def:
7369         * win32/common/libgstdataprotocol.dsp:
7370         * win32/common/libgstnet.def:
7371         * win32/common/libgstnet.dsp:
7372           new project files and exportation files added
7373         
7374 2006-03-19  Wim Taymans  <wim@fluendo.com>
7375
7376         * tests/check/libs/basesrc.c: (eos_event_counter):
7377         Use proper return value for probe.
7378
7379 2006-03-17  Wim Taymans  <wim@fluendo.com>
7380
7381         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
7382         (gst_pad_push):
7383         Don't leak buffers, caps and pads on negotiation errors.
7384
7385 2006-03-16  Stefan Kost  <ensonic@users.sf.net>
7386
7387         * docs/faq/cvs.xml:
7388         * docs/faq/dependencies.xml:
7389         * docs/faq/developing.xml:
7390         * docs/faq/faq.xml:
7391         * docs/faq/general.xml:
7392         * docs/faq/getting.xml:
7393         * docs/faq/legal.xml:
7394         * docs/faq/troubleshooting.xml:
7395         * docs/faq/using.xml:
7396         Faq review and update.
7397
7398 2006-03-16  Jan Schmidt  <thaytan@mad.scientist.com>
7399
7400         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
7401         (gst_pad_push):
7402         Don't pound the cpu to pieces by checking get_caps when accept_caps
7403         is called with the same caps as the pad already has.
7404         Use GST_DEBUG_OBJECT when outputting caps change information.
7405
7406 2006-03-15  Wim Taymans  <wim@fluendo.com>
7407
7408         * gst/gstclock.c: (gst_clock_class_init):
7409         Fix docs.
7410
7411 2006-03-15  Jan Schmidt  <thaytan@mad.scientist.com>
7412
7413         * gst/gstbuffer.h:
7414         Documentation fix.
7415
7416         * gst/gstpad.c: (gst_pad_init), (gst_pad_acceptcaps_default),
7417         (gst_pad_accept_caps), (gst_pad_configure_sink),
7418         (gst_pad_configure_src), (gst_pad_chain), (gst_pad_push):
7419         Make the default acceptcaps behaviour be to check the requested 
7420         caps against the gst_pad_get_caps output. 
7421
7422         Ensure that gst_pad_accept_caps is used to check caps when a pad
7423         doesn't have a setcaps function, so that pads automatically refuse 
7424         caps that they don't allow in their pad template. (Fixes #332986)
7425
7426         When a buffer with attached caps is pushed, ensure that the source 
7427         pad receives those caps even if the element didn't call
7428         gst_pad_set_caps first.
7429
7430 2006-03-15  Wim Taymans  <wim@fluendo.com>
7431
7432         * libs/gst/base/gstadapter.c:
7433         Add some docs.
7434
7435 2006-03-15  Tim-Philipp Müller  <tim at centricular dot net>
7436
7437         * win32/common/libgstbase.def:
7438         * win32/common/libgstcontroller.def:
7439         * win32/common/libgstreamer.def:
7440           Add a whole bunch of missing functions (#334434).
7441
7442 2006-03-14  Wim Taymans  <wim@fluendo.com>
7443
7444         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
7445         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
7446         (gst_base_sink_do_sync), (gst_base_sink_do_qos):
7447         Better debug info when we receive a segment event.
7448         Reorganize a bit so we can pass the get_times() results around.
7449         Use the segment format when calculating the running time.
7450         Don't do QoS is sync is disabled or we have no clock or the
7451         element does not want us to sync to the clock.
7452         Don't drop buffers if QoS is disabled for now.
7453
7454 2006-03-14  Wim Taymans  <wim@fluendo.com>
7455
7456         * gst/gstclock.c: (gst_clock_class_init), (do_linear_regression):
7457         Marked the stats property as unimplemented so people don't get
7458         wild ideas.
7459         Add debug message when regression goes wrong.
7460         Added some more docs.
7461
7462 2006-03-14  Wim Taymans  <wim@fluendo.com>
7463
7464         * gst/gstsegment.c: (gst_segment_to_stream_time):
7465         Return correct return type in case of errors.
7466
7467 2006-03-14  Wim Taymans  <wim@fluendo.com>
7468
7469         * gst/gstformat.c: (gst_format_get_name), (gst_format_to_quark):
7470           Don't segfault on invalid formats.
7471
7472 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
7473
7474         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
7475           Can't use gst_segment_to_running_time() when the segment
7476           is not in GST_TIME_FORMAT (like with filesink, for example).
7477           Stops flac encoding pipelines from spewing critical warnings
7478           at EOS (#331248).
7479           
7480 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
7481
7482         * gst/gstpipeline.c: (gst_pipeline_class_init):
7483           Add 'Since: 0.10.5' to gtk-doc blurb for added property.
7484
7485         * plugins/elements/gsttypefindelement.c:
7486         (gst_type_find_element_handle_event):
7487           Don't try to typefind empty streams.
7488
7489 2006-03-14  Wim Taymans  <wim@fluendo.com>
7490
7491         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
7492         (gst_base_sink_do_qos):
7493         Separate QoS calculation.
7494         Only drop buffers when lateness is bigger than the 
7495         duration of the buffer.
7496
7497 2006-03-13  Wim Taymans  <wim@fluendo.com>
7498
7499         * gst/gstpipeline.c: (gst_pipeline_set_property),
7500         (gst_pipeline_get_property), (do_pipeline_seek),
7501         (gst_pipeline_change_state), (gst_pipeline_set_delay),
7502         (gst_pipeline_get_delay):
7503         Don't deadlock when reading properties.
7504
7505 2006-03-13  Wim Taymans  <wim@fluendo.com>
7506
7507         * libs/gst/base/gstbasetransform.c:
7508         (gst_base_transform_class_init), (gst_base_transform_init),
7509         (gst_base_transform_sink_event),
7510         (gst_base_transform_sink_eventfunc),
7511         (gst_base_transform_src_event), (gst_base_transform_src_eventfunc),
7512         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
7513         (gst_base_transform_set_property),
7514         (gst_base_transform_get_property),
7515         (gst_base_transform_change_state), (gst_base_transform_update_qos),
7516         (gst_base_transform_set_qos_enabled),
7517         (gst_base_transform_is_qos_enabled):
7518         * libs/gst/base/gstbasetransform.h:
7519         Make basetransform virtual method for src events too.
7520         Handle QOS in basetransform.
7521         API: gst_base_transform_update_qos()
7522         API: gst_base_transform_set_qos_enabled()
7523         API: gst_base_transform_is_qos_enabled()
7524
7525 2006-03-13  Wim Taymans  <wim@fluendo.com>
7526
7527         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
7528         (gst_base_sink_do_sync):
7529         Small cleanups.
7530         Use QOS debug category.
7531
7532 2006-03-13  Wim Taymans  <wim@fluendo.com>
7533
7534         * plugins/elements/gstqueue.c:
7535         Very small doc update.
7536
7537 2006-03-13  Wim Taymans  <wim@fluendo.com>
7538
7539         * gst/gst_private.h:
7540         * gst/gstinfo.c: (_gst_debug_init):
7541         Added QOS debug category
7542
7543 2006-03-13  Wim Taymans  <wim@fluendo.com>
7544
7545         * docs/gst/gstreamer-sections.txt:
7546         * gst/gstbin.c: (bin_bus_handler), (gst_bin_handle_message_func):
7547         * gst/gstbin.h:
7548         * gst/gstbus.c: (gst_bus_class_init):
7549         * gst/gstbus.h:
7550         * gst/gstclock.c:
7551         * gst/gstelement.c: (gst_element_set_locked_state):
7552         * gst/gstsegment.c:
7553         Documentation updates.
7554
7555         * gst/gstpipeline.c: (gst_pipeline_get_type),
7556         (gst_pipeline_class_init), (gst_pipeline_init),
7557         (gst_pipeline_dispose), (gst_pipeline_set_property),
7558         (gst_pipeline_get_property), (do_pipeline_seek),
7559         (gst_pipeline_send_event), (gst_pipeline_change_state),
7560         (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay),
7561         (gst_pipeline_get_delay):
7562         * gst/gstpipeline.h:
7563         Added methods for setting the delay.
7564         API: gst_pipeline_set_delay()
7565         API: gst_pipeline_get_delay()
7566         Add pipeline debug category
7567         Various cleanups.
7568         Updated docs.
7569         Don't reset stream time when seek failed.
7570
7571 2006-03-13  Wim Taymans  <wim@fluendo.com>
7572
7573         * docs/design/draft-klass.txt:
7574         * docs/design/part-clocks.txt:
7575         * docs/design/part-events.txt:
7576         * docs/design/part-gstbin.txt:
7577         * docs/design/part-gstpipeline.txt:
7578         * docs/design/part-messages.txt:
7579         * docs/design/part-negotiation.txt:
7580         * docs/design/part-overview.txt:
7581         * docs/design/part-preroll.txt:
7582         * docs/design/part-seeking.txt:
7583         * docs/design/part-states.txt:
7584         * docs/design/part-streams.txt:
7585         Documentation updates.
7586
7587 2006-03-12  Julien MOUTTE  <julien@moutte.net>
7588
7589         * gst/gsttaglist.c: Fix rubbish docs that are encouraging
7590         us to leak strings...
7591
7592 2006-03-12  Thomas Vander Stichele  <thomas at apestaart dot org>
7593
7594         * libs/gst/net/gstnettimeprovider.c:
7595           fix docs
7596         * win32/common/config.h:
7597           update
7598
7599 2006-03-12  Tim-Philipp Müller  <tim at centricular dot net>
7600
7601         Patch by: Julio M. Merino Vidal <jmmv at netbsd org>
7602
7603         * configure.ac:
7604           Don't check for libgnomeui (leftover from old examples
7605           that aren't built or disted any longer) (#334303).
7606           
7607 2006-03-11  Tim-Philipp Müller  <tim at centricular dot net>
7608
7609         * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
7610         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
7611           Emit RESOURCE_NO_SPACE_LEFT error here as well when
7612           there's no space left on the device.
7613
7614 2006-03-10  Tim-Philipp Müller  <tim at centricular dot net>
7615
7616         * gst/gstclock.h:
7617           Fix GST_CLOCK_TIME_IS_VALID signedness issues - we need
7618           to cast the input to GstClockTime before comparing with
7619           another GstClockTime value.
7620
7621 2006-03-10  Thomas Vander Stichele  <thomas at apestaart dot org>
7622
7623         * configure.ac:
7624           back to trunk
7625
7626 === release 0.10.4 ===
7627
7628 2006-03-10  Thomas Vander Stichele <thomas at apestaart dot org>
7629
7630         * configure.ac:
7631           releasing 0.10.4, "Light"
7632
7633 2006-03-10  Michael Smith  <msmith@fluendo.com>
7634
7635         * libs/gst/dataprotocol/dataprotocol.c:
7636           Fix docs for dataprocotol to not get the return types completely
7637           wrong for a few functions.
7638
7639 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
7640
7641         * docs/gst/gstreamer-sections.txt:
7642         * gst/gstpipeline.c: (gst_pipeline_class_init),
7643         (gst_pipeline_init), (gst_pipeline_set_property),
7644         (gst_pipeline_get_property), (gst_pipeline_change_state),
7645         (gst_pipeline_set_auto_flush_bus),
7646         (gst_pipeline_get_auto_flush_bus):
7647         * gst/gstpipeline.h:
7648           Add new API: gst_pipeline_set_auto_flush_bus() and
7649           gst_pipeline_get_auto_flush_bus() to disable automatic
7650           flushing of the pipeline's GstBus when going from READY
7651           to NULL state (#332045).
7652
7653 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
7654
7655         * docs/gst/gstreamer-sections.txt:
7656         * gst/gsturi.c: (gst_uri_has_protocol):
7657         * gst/gsturi.h:
7658            Add new API: gst_uri_has_protocol() (#333779).
7659
7660 2006-03-09  Wim Taymans  <wim@fluendo.com>
7661
7662         * gst/gstclock.c: (gst_clock_entry_new),
7663         (gst_clock_id_compare_func), (gst_clock_id_wait),
7664         (gst_clock_id_wait_async), (gst_clock_id_unschedule),
7665         (gst_clock_init), (gst_clock_get_internal_time),
7666         (gst_clock_set_master), (do_linear_regression),
7667         (gst_clock_add_observation), (gst_clock_set_property):
7668         * gst/gstclock.h:
7669         Review docs.
7670         Small cleanups.
7671         Fix a possible segfault when the window-size is made smaller.
7672         Calculate jitter before performing the clock wait. Ideally
7673         the clock implementation should calculate jitter but we need
7674         API breakage for that.
7675
7676         * gst/gstsystemclock.c: (gst_system_clock_init):
7677         Docs review.
7678         
7679         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
7680         Remove leftover else
7681
7682         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
7683         (gst_systemclock_suite):
7684         Added check to test GST_CLOCK_DIFF.
7685
7686 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
7687
7688         * libs/gst/base/gsttypefindhelper.c: (helper_find_get_length),
7689         (gst_type_find_helper_get_range):
7690           If we are provided with the size, we should implement
7691           GstTypeFind::get_length, so that typefind functions who
7692           want to can actually peek at the middle of a file.
7693
7694 2006-03-08  Tim-Philipp Müller  <tim at centricular dot net>
7695
7696         * docs/manual/advanced-dataaccess.xml:
7697           Add some very very basic error checking.
7698
7699         * docs/pwg/appendix-checklist.xml:
7700           Some updates to the list of things to check when writing an element.
7701
7702 2006-03-08  Wim Taymans  <wim@fluendo.com>
7703
7704         * docs/design/part-element-transform.txt:
7705         Added some docs about the design of tranform elements.
7706
7707         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
7708         (gst_base_src_loop), (gst_base_src_change_state):
7709         Mark buffers with the DISCONT flag.
7710
7711 2006-03-08  Michael Smith  <msmith@fluendo.com>
7712
7713         * gst/gstregistry.h:
7714         * gst/gstregistryxml.c: (gst_registry_save),
7715         (gst_registry_save_escaped), (gst_registry_xml_save_caps),
7716         (gst_registry_xml_save_pad_template),
7717         (gst_registry_xml_save_feature), (gst_registry_xml_save_plugin),
7718         (gst_registry_xml_write_cache):
7719           Rewrite registry-saving to avoid race conditions and check for
7720           failed writes.
7721
7722 2006-03-08  Wim Taymans  <wim@fluendo.com>
7723
7724         * libs/gst/base/gstbasetransform.c:
7725         (gst_base_transform_transform_caps),
7726         (gst_base_transform_transform_size),
7727         (gst_base_transform_prepare_output_buffer),
7728         (gst_base_transform_get_unit_size),
7729         (gst_base_transform_buffer_alloc),
7730         (gst_base_transform_handle_buffer),
7731         (gst_base_transform_change_state):
7732         Cleanups, separate normal flow from errors, add sensible
7733         DEBUG lines.
7734         Don't try to renegotiate when allocating an output buffer.
7735         Also copy DISCONT buffer flag when copying a buffer.
7736         Reset the transform after we finish streaming, not during.
7737
7738 2006-03-08  Wim Taymans  <wim@fluendo.com>
7739
7740         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
7741         Use last buffer timestamp in qos message.
7742
7743 2006-03-07  Wim Taymans  <wim@fluendo.com>
7744
7745         Patch by: Christophe Fergeau
7746
7747         * docs/pwg/advanced-tagging.xml:
7748         * docs/pwg/building-pads.xml:
7749           fixes #333416
7750
7751 2006-03-07  Wim Taymans  <wim@fluendo.com>
7752
7753         * docs/libs/gstreamer-libs-sections.txt:
7754         Added basesink new methods.
7755
7756         * gst/gstevent.c:
7757         * gst/gstevent.h:
7758         Docs updates. Flesh out the QoS docs.
7759
7760         * libs/gst/base/gstadapter.c:
7761         Small doc clarification about ownership and flushing.
7762
7763         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_sync),
7764         (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
7765         (gst_base_sink_get_max_lateness), (gst_base_sink_set_property),
7766         (gst_base_sink_get_property), (gst_base_sink_do_sync):
7767         * libs/gst/base/gstbasesink.h:
7768         API additions: 
7769         Added new methods to allow subclass to control max-lateness 
7770         and sync.
7771         Generate very basic QoS events based on last sync observation.
7772         Updated docs, fix typo, added some QoS blurb.
7773
7774         * libs/gst/base/gstbasesrc.c:
7775         Remove obsolete _get_state() calls from docs.
7776
7777 2006-03-07  Wim Taymans  <wim@fluendo.com>
7778
7779         * docs/libs/gstreamer-libs-sections.txt:
7780         * libs/gst/base/gstbasetransform.h:
7781         API addition: Fix #333669, Add pad accessor defines for GstBaseTransform
7782         Fix docs for GstBaseSrc.
7783
7784 2006-03-07  Wim Taymans  <wim@fluendo.com>
7785
7786         * docs/gst/gstreamer-sections.txt:
7787         * gst/gstbuffer.h:
7788         * gst/gstvalue.c:
7789         * libs/gst/base/gstbasetransform.h:
7790         Small documentation fixes.
7791
7792 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
7793
7794         * gst/gstvalue.c:
7795           Document thread-unsafety of gst_value_register_foo_func()
7796           when used at the same time as gst_value_foo() (#322628).
7797
7798 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
7799
7800         * libs/gst/base/gstpushsrc.c: (gst_push_src_class_init),
7801         (gst_push_src_check_get_range):
7802           Push sources don't support pull mode by default.
7803
7804 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
7805
7806         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
7807         (gst_base_src_init), (gst_base_src_pad_check_get_range),
7808         (gst_base_src_default_check_get_range):
7809         * libs/gst/base/gstbasesrc.h:
7810           API addition:  Add ::check_get_range() vfunc to GstBaseSrc (#332611),
7811           provide default implementation, and rename
7812           gst_base_src_check_get_range() to
7813           gst_base_src_pad_check_get_range() for clarity.
7814
7815 2006-03-06  Wim Taymans  <wim@fluendo.com>
7816
7817         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
7818         Make property overridable.
7819
7820 2006-03-06  Wim Taymans  <wim@fluendo.com>
7821
7822         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
7823         (gst_base_sink_init), (gst_base_sink_set_property),
7824         (gst_base_sink_get_property), (gst_base_sink_do_sync):
7825         * libs/gst/base/gstbasesink.h:
7826         API addition: Make max-lateness a property.
7827
7828 2006-03-06  Wim Taymans  <wim@fluendo.com>
7829
7830         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock),
7831         (gst_base_sink_do_sync), (gst_base_sink_render_object):
7832         Don't ever draw a frame that is >10ms late.
7833
7834 2006-03-06  Michael Smith  <msmith@fluendo.com>
7835
7836         * gst/gstmessage.c: (_gst_message_copy):
7837           When copying a message, set the parent_refcount of the enclosed
7838           structure to point at the copy, not the original message.
7839
7840 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
7841
7842         Patch by: Christophe Fergeau
7843
7844         * gst/gstutils.h:
7845           Do proper cast here to make GST_BOILERPLATE_WITH_INTERFACE
7846           usable in c++ code (#333417)
7847
7848 2006-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7849
7850         * gst/gstclock.h:
7851           Show GST_CLOCK_TIME_NONE as 99:99:99.999999999
7852
7853 2006-03-05  Tim-Philipp Müller  <tim at centricular dot net>
7854
7855         * libs/gst/base/gstbasetransform.c:
7856         (gst_base_transform_transform_caps):
7857           Make sure caps are writable before passing them to
7858           gst_caps_append().
7859
7860 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
7861
7862         * gst/gsterror.h:
7863           Fix some minor docs errors.
7864
7865 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
7866
7867           Patch by: Ross Burton <ross at burtonini dot com>
7868
7869         * gst/gsterror.c: (_gst_resource_errors_init):
7870         * gst/gsterror.h:
7871           Add GST_RESOURCE_ERROR_NO_SPACE_LEFT (for #333352;
7872
7873 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
7874
7875         * gst/gst.c:
7876         Add a check and output a g_warning when GStreamer is built
7877         against GLib 2.6 but running against 2.8 or higher, and vice 
7878         versa. (Closes: #323542)
7879
7880 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
7881
7882         * gst/parse/parse.l:
7883           Commit patch for parse_launch syntax from #331255. Removes 
7884           support for quoted strings and mimetypes when writing filtered 
7885           caps. See the bug report for more details - I'm pretty sure this
7886           obscure feature is not in use by _anyone_ anywhere.
7887
7888           With this simple change, the size of the gstreamer.so here 
7889           drops from 2193KB to 1565KB.
7890
7891 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
7892
7893         * plugins/elements/gsttypefindelement.h:
7894         * plugins/elements/gsttypefindelement.c:
7895         (gst_type_find_element_src_event), (start_typefinding),
7896         (stop_typefinding), (gst_type_find_element_handle_event),
7897         (gst_type_find_element_chain),
7898         (gst_type_find_element_chain_do_typefinding):
7899           Use gst_type_find_helper_for_buffer() for chain-based
7900           typefinding.
7901
7902 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
7903
7904         * plugins/elements/gsttypefindelement.c:
7905         (gst_type_find_element_class_init),
7906         (gst_type_find_element_set_property),
7907         (gst_type_find_element_get_property):
7908           Deprecate "maximum" property (not only was it only taken into
7909           account for typefinding in push-mode anyway, it also was never
7910           actually possible to set it in the first place because the
7911           property was registered with the numeric property ID for the
7912           "minimum" property). Register "maximum" property correctly,
7913           for the sake of future copy'n'pasters. Remove some cruft
7914           from property get/set functions.
7915
7916 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
7917
7918         * plugins/elements/gsttypefindelement.c:
7919         (gst_type_find_element_activate):
7920           Use gst_type_find_helper_get_range() here, so we
7921           can honour the "minimum" property and also emit
7922           the signal with the correct probability of the found caps.
7923
7924 2006-03-02  Tim-Philipp Müller  <tim at centricular dot net>
7925
7926         * docs/libs/gstreamer-libs-sections.txt:
7927         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
7928         (helper_find_suggest), (gst_type_find_helper_get_range),
7929         (gst_type_find_helper):
7930         * libs/gst/base/gsttypefindhelper.h:
7931           New API: gst_type_find_helper_get_range() (#333042).
7932
7933 2006-03-02  Michael Smith  <msmith@fluendo.com>
7934
7935         * gst/gstregistryxml.c: (load_feature):
7936           Asserting on a failure to read part of the registry is Not Cool.
7937           Just log a warning and return NULL (which is already handled)
7938
7939 2006-02-28  Sebastien Moutte  <sebastien@moutte.net>
7940
7941         * win32/common/libgstbase.def:
7942           added export of gst_type_find_helper_for_buffer
7943         * win32/common/libgstbase.def:
7944           added some exports : gst_bin_iterate_elements, gst_iterator_resync,
7945           gst_ghost_pad_get_target
7946
7947 2006-02-28  Wim Taymans  <wim@fluendo.com>
7948
7949         * docs/design/draft-klass.txt:
7950         We use Filter now.
7951         Added Connector to mark elements that are only used to
7952         allow pipeline connections.
7953         Moved Debug to extra feature since most of them are 
7954         functionally something else.
7955
7956 2006-02-28  Wim Taymans  <wim@fluendo.com>
7957
7958         * docs/design/draft-klass.txt:
7959         Some updates and clarifications.
7960
7961 2006-02-28  Wim Taymans  <wim@fluendo.com>
7962
7963         * docs/design/draft-klass.txt:
7964         Proposal for klass field values.
7965
7966         * docs/design/part-streams.txt:
7967         Start of a doc describing stream anatomy.
7968
7969 2006-02-28  Wim Taymans  <wim@fluendo.com>
7970
7971         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_handle_message_func):
7972         Help the compiler a bit with type registration.
7973         Use existing forward cod path instead of duplicating it when 
7974         handling a message.
7975         
7976         * gst/gstbus.c: (gst_bus_get_type):
7977         * gst/gstcaps.c: (gst_caps_get_type), (gst_static_caps_get_type):
7978         * gst/gstchildproxy.c: (gst_child_proxy_get_type):
7979         * gst/gstclock.c: (gst_clock_get_type):
7980         * gst/gstelement.c: (gst_element_get_type),
7981         * gst/gstelementfactory.c: (gst_element_factory_get_type):
7982         * gst/gstindexfactory.c: (gst_index_factory_get_type):
7983         * gst/gstminiobject.c: (gst_mini_object_get_type):
7984         * gst/gstpad.c: (gst_pad_get_type):
7985         * gst/gstsegment.c: (gst_segment_get_type):
7986         * gst/gststructure.c: (gst_structure_get_type):
7987         * gst/gstsystemclock.c: (gst_system_clock_get_type):
7988         * gst/gsttask.c: (gst_task_get_type), (gst_task_join):
7989         * gst/gstvalue.c:
7990         Help compiler with type registration.
7991
7992         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
7993         Small doc update.
7994
7995 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
7996
7997         * plugins/elements/gsttypefindelement.c:
7998         (gst_type_find_element_handle_event):
7999           When we get an EOS event and have not found a type yet
8000           (most likely because we had not yet accumulated
8001           TYPE_FIND_MIN_SIZE of data yet), try to determine the
8002           type given the data we have so far. Fixes typefinding
8003           for very short streams again, most notably quicktime
8004           redirections as used on Apple's trailer site (#331701).
8005
8006 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
8007
8008         * libs/gst/base/gsttypefindhelper.c: (type_find_factory_rank_cmp),
8009         (gst_type_find_helper):
8010           Try typefinding factories with the highest rank first.
8011
8012 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
8013
8014         * docs/libs/gstreamer-libs-docs.sgml:
8015         * docs/libs/gstreamer-libs-sections.txt:
8016         * libs/gst/base/gsttypefindhelper.c:
8017           Add section for typefind helper and add documentation
8018           for the old and the new function.
8019
8020 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
8021
8022         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek),
8023         (buf_helper_find_suggest), (type_find_factory_rank_cmp),
8024         (gst_type_find_helper_for_buffer):
8025         * libs/gst/base/gsttypefindhelper.h:
8026           New API: gst_type_find_helper_for_buffer() (#332723).
8027           
8028 2006-02-27  Michael Smith  <msmith@fluendo.com>
8029
8030         Patch by: Loïc Minier
8031
8032         * configure.ac:
8033         * docs/Makefile.am:
8034         * docs/slides/Makefile.am:
8035           prevent CVS directories getting disted.
8036
8037 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
8038
8039         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref):
8040           Use the REFCOUNTING category for caps refcounting.
8041           
8042 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
8043
8044         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
8045           This should be 0 not GST_CLOCK_TIME_NONE (see #331701).
8046
8047 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
8048
8049         * plugins/elements/gsttypefindelement.c:
8050         (gst_type_find_element_activate):
8051           Use gst_pad_check_pull_range() before _activate_pull()
8052           to avoid unnecessary open/close (see #331690).
8053
8054 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
8055
8056         * gst/gstutils.c:
8057           Docs enhancement: make it crystal clear what the
8058           gst_pad_add_*_probe() callbacks should look like.
8059
8060 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
8061
8062         * libs/gst/base/gstbasesrc.c:
8063           Document how applications can stop recording from
8064           live sources (see #330996).
8065
8066 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
8067
8068         * tests/check/Makefile.am:
8069         * tests/check/libs/basesrc.c: (eos_event_counter),
8070         (basesrc_eos_events_pull), (basesrc_eos_events_push),
8071         (basesrc_eos_events_push_live_op), (basesrc_eos_events_pull_live_op),
8072         (gst_basesrc_suite), (main):
8073           ... and add some tests for the base source EOS stuff.
8074
8075 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
8076
8077         * tests/check/gst/gstutils.c: (test_buffer_probe_n_times):
8078           Test case originally showed the problem fixed below,
8079           but was then amended. Add checks back at the place
8080           where they used to be.
8081
8082 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
8083
8084         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
8085         (gst_base_src_init), (gst_base_src_loop),
8086         (gst_base_src_activate_push), (gst_base_src_activate_pull),
8087         (gst_base_src_change_state):
8088         * libs/gst/base/gstbasesrc.h:
8089           Don't unconditionally send EOS when going from PAUSED to
8090           READY state, esp. make sure we don't send two EOS events
8091           in some cases (e.g. one when reaching EOS and one when
8092           going from PAUSED to READY). Also, we don't want to send
8093           EOS events when operating in pull mode. However, we do
8094           want to send an EOS event when shutting down a live
8095           source explicitly, for example (fixes #330996).
8096           
8097 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
8098
8099         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
8100           Update src->read_position after a seek when not using mmap.
8101           Fixes #332277, patch by: Renchi Raju <renchi gmail com>
8102
8103 2006-02-21  Jan Schmidt  <thaytan@mad.scientist.com>
8104
8105         * gst/Makefile.am:
8106         * gst/gstparse.h:
8107         * gst/gstutils.c:
8108         * gst/gstutils.h:
8109         Make things work with --disable-parse as they do with 
8110         --disable-load-save - the symbols involved disappear, but the
8111         header is still installed and GST_DISABLE_PARSE is included via
8112         gstconfig.h
8113
8114 2006-02-20  Julien MOUTTE  <julien@moutte.net>
8115
8116         * libs/gst/base/gstbasetransform.c:
8117         (gst_base_transform_change_state): Fix a stupid bug. I was 
8118         sure I compiled that.
8119
8120 2006-02-20  Julien MOUTTE  <julien@moutte.net>
8121
8122         * gst/gstpad.c: (gst_pad_set_blocked_async):
8123         * gst/gstutils.c: (gst_pad_add_data_probe),
8124         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
8125         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
8126         (gst_pad_remove_buffer_probe): Make those function act on the
8127         ghostpad target when it's a ghostpad. (Closes #331727)
8128
8129 2006-02-20  Julien MOUTTE  <julien@moutte.net>
8130
8131         * libs/gst/base/gstbasetransform.c:
8132         (gst_base_transform_change_state): Make basetransform reusable.
8133         (Closes #331898)
8134
8135 2006-02-20  Jan Schmidt  <thaytan@mad.scientist.com>
8136
8137         * docs/random/release:
8138         Move the current documentation of how to do a release to the top
8139         of the file.
8140
8141         * gst/gstbin.c: (gst_bin_class_init),
8142         (gst_bin_handle_message_func):
8143         Allow multiple state-recalculation threads. (Closes #328873)
8144
8145 2006-02-19  Julien MOUTTE  <julien@moutte.net>
8146
8147         * gst/gstinfo.h: Add GST_STR_NULL to the second string.
8148         * gst/gstpad.c: (gst_pad_set_event_function),
8149         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
8150         (gst_pad_set_getcaps_function): GST_DEBUG_PAD_NAME evaluates to
8151         2 strings. You can't use the STR_NULL macro on that.
8152
8153 2006-02-19  Sebastien Moutte <sebastien@moutte.net>
8154
8155         * gst/gstpad.c: (gst_pad_set_event_function),
8156         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
8157         (gst_pad_set_getcaps_function)
8158         * gst/parse/grammar.y: (gst_parse_found_pad), (gst_parse_perform_delayed_link)
8159           Fixed NULL pointer used in GST_CAT_DEBUG using GST_STR_NULL macro
8160           So now, we can use --gst-debug-level=5 on Windows
8161         * win32/common/libgstcontroller.def:
8162           Added export of gst_controller_init
8163         * win32/vs6/libgstcontroller.dsp:
8164           Fixed Release post build configuration
8165
8166 2006-02-17  Wim Taymans  <wim@fluendo.com>
8167
8168         * tests/check/gst/gstquery.c: (GST_START_TEST):
8169         Added another check.
8170
8171 2006-02-15  Tim-Philipp Müller  <tim at centricular dot net>
8172
8173         * plugins/elements/gsttypefindelement.c: (find_peek):
8174           We can do peeks at non-zero offsets, as long as they
8175           fall within the buffer we have.
8176
8177 2006-02-15  Jan Schmidt  <thaytan@mad.scientist.com>
8178
8179         * tests/check/Makefile.am:
8180         * tests/check/pipelines/parse-launch.c: (setup_pipeline),
8181         (expected_fail_pipe), (check_pipeline_runs), (GST_START_TEST),
8182         (parse_suite), (main):
8183           Add testsuite for parse launch syntax
8184
8185 2006-02-14  Tim-Philipp Müller  <tim at centricular dot net>
8186
8187         * plugins/elements/gsttypefindelement.c:
8188         (gst_type_find_element_chain):
8189           When typefinding is unsuccessful in the chain function, don't
8190           error out immediately. Only error out with NO_CAPS_FOUND if
8191           the amount of data is at least MAX_TYPEFIND_SIZE bytes,
8192           otherwise simply wait for more data so we can try typefinding
8193           again with more data later. Also, don't attempt to typefind
8194           if we have less than MIN_TYPEFIND_SIZE data available. Overall,
8195           this should improve typefinding from network sources where the
8196           size of the first buffer can be somewhat random.
8197
8198 2006-02-14  Wim Taymans  <wim@fluendo.com>
8199
8200         * docs/gst/gstreamer-sections.txt:
8201         * gst/gstpadtemplate.c:
8202         * gst/gstpadtemplate.h:
8203         Fix padtemplate docs, fixes #328805.
8204
8205 2006-02-14  Wim Taymans  <wim@fluendo.com>
8206
8207         * tools/gst-launch.c: (main):
8208         NO_PREROLL is not an ERROR so don't send confusing messages
8209         to the user.
8210
8211 2006-02-14  Wim Taymans  <wim@fluendo.com>
8212
8213         Patch by: Torsten Schoenfeld
8214
8215         * gst/gstregistry.c: (gst_registry_get_default),
8216         (_gst_registry_cleanup):
8217         Protect default registry with lock and ref/sink it.
8218         Fixes #324818
8219
8220 2006-02-14  Wim Taymans  <wim@fluendo.com>
8221
8222         * gst/gstbuffer.c:
8223         * gst/gstquery.c: (gst_query_list_add_format),
8224         (gst_query_set_formatsv), (gst_query_parse_formats_length),
8225         (gst_query_parse_formats_nth):
8226         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
8227         Docs fixes.
8228
8229 2006-02-14  Wim Taymans  <wim@fluendo.com>
8230
8231         * docs/gst/gstreamer-sections.txt:
8232         Reworked query docs.
8233
8234         * gst/gstquery.c: (gst_query_new_formats),
8235         (gst_query_list_add_format), (gst_query_set_formats),
8236         (gst_query_set_formatsv), (gst_query_parse_formats_length),
8237         (gst_query_parse_formats_nth):
8238         * gst/gstquery.h:
8239         Flesh out formats query, added some new methods.
8240         Fix part of #324398.
8241
8242         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite):
8243         Added query creation tests.
8244
8245 2006-02-14  Jan Schmidt  <thaytan@mad.scientist.com>
8246
8247         * gst/gstpad.c: (fixate_value):
8248         Add a default fixation for fraction lists.
8249
8250 2006-02-13  Wim Taymans  <wim@fluendo.com>
8251
8252         * gst/gsttask.c: (gst_task_init), (gst_task_func),
8253         (gst_task_set_lock), (gst_task_start), (gst_task_pause),
8254         (gst_task_join):
8255         * gst/gsttask.h:
8256         Detect and warn for obvious deadlocks. fixes #320340
8257         Fix error case where lock was not released.
8258
8259         * tests/check/Makefile.am:
8260         * tests/check/gst/gsttask.c: (task_func2), (GST_START_TEST),
8261         (task_func), (gst_element_suite), (main):
8262         Add task check.
8263
8264 2006-02-13  Wim Taymans  <wim@fluendo.com>
8265
8266         * docs/gst/gstreamer-sections.txt:
8267         * gst/gstbus.c:
8268         Add new functions to docs.
8269
8270 2006-02-13  Wim Taymans  <wim@fluendo.com>
8271
8272         * docs/design/part-TODO.txt:
8273         Updated TODO list, basesrc supports seeking to non-bytes
8274         formats.
8275
8276         * docs/design/part-element-sink.txt:
8277         Update docs.
8278
8279         * gst/gstbin.c: (bin_replace_message),
8280         (gst_bin_handle_message_func):
8281         * gst/gstbus.c: (gst_bus_post), (gst_bus_pop):
8282         * gst/gstevent.c: (gst_event_finalize):
8283         * gst/gstpad.c: (gst_pad_event_default_dispatch),
8284         (gst_pad_send_event):
8285         Use shiny new _TYPE_NAME macros.
8286
8287         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
8288         Move debug statement up.
8289
8290         * gst/gstelement.c: (gst_element_set_locked_state):
8291         Add some debugging.
8292
8293 2006-02-13  Tim-Philipp Müller  <tim at centricular dot net>
8294
8295         * docs/gst/gstreamer-sections.txt:
8296         * gst/gstmessage.h:
8297         * gst/gstquery.h:
8298           New API: add GST_MESSAGE_TYPE_NAME and GST_QUERY_TYPE_NAME
8299           macros (#330906). Also, document the already existing
8300           GST_QUERY_TYPE macro.
8301
8302 2006-02-13  Wim Taymans  <wim@fluendo.com>
8303
8304         * tests/check/gst/gstutils.c: (data_probe), (buffer_probe),
8305         (event_probe), (GST_START_TEST):
8306         Only events up to the pipeline EOS are counted, there are
8307         some more when going to NULL currently which we don't care
8308         about for now.
8309
8310 2006-02-13  Wim Taymans  <wim@fluendo.com>
8311
8312         * gst/gstpad.c: (gst_pad_send_event):
8313         Correctly check flushing and emit probes. fixes #330125
8314
8315 2006-02-10  Andy Wingo  <wingo@pobox.com>
8316
8317         * gst/gstbus.c (gst_bus_class_init): Declare our private data
8318         structure.
8319         (gst_bus_init): Cache the location of the private data in the
8320         instance structure.
8321         (gst_bus_enable_sync_message_emission) 
8322         (gst_bus_disable_sync_message_emission): Implement new public
8323         functions.
8324         (gst_bus_post): Emit the sync-message signal if the user asked for
8325         it. Fixes #330684.
8326
8327         * gst/gstbus.h (GstBus): Use a padding pointer to cache the
8328         location of the bus-private structure.
8329         (gst_bus_enable_sync_message_emission)
8330         (gst_bus_disable_sync_message_emission): API addition
8331
8332 2006-02-10  Jan Schmidt  <thaytan@mad.scientist.com>
8333
8334         Patch by: Vincent Torri
8335
8336         * docs/pwg/building-boiler.xml:
8337         PWG patch from #326800
8338
8339 2006-02-09  Tim-Philipp Müller  <tim at centricular dot net>
8340
8341         * configure.ac:
8342         * docs/Makefile.am:
8343         * docs/design/Makefile.am:
8344           Dist design docs.
8345
8346 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
8347
8348         * configure.ac:
8349           back to CVS
8350
8351 === release 0.10.3 ===
8352
8353 2006-02-08  Jan Schmidt <thaytan@mad.scientist.com>
8354
8355         * configure.ac:
8356           releasing 0.10.3, "Like a virgin"
8357
8358 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
8359
8360         * configure.ac:
8361           2nd prerelease of 0.10.3
8362           Bump libtool versioning.
8363
8364 2006-02-07  Andy Wingo  <wingo@pobox.com>
8365
8366         * libs/gst/base/gstcollectpads.c (gst_collect_pads_chain): Only
8367         update last_stop if we're in TIME format and the timestamp is
8368         valid.
8369
8370         * libs/gst/base/gstcollectpads.c (gst_collect_pads_event) 
8371         * libs/gst/base/gstbasetransform.c (gst_base_transform_eventfunc): 
8372         * libs/gst/base/gstbasesink.c (gst_base_sink_configure_segment):
8373         If we get a new newsegment with a different format, adapt
8374         accordingly.
8375
8376         * gst/gstclock.c (gst_clock_set_calibration): Accept a numerator
8377         of 0. Not a problem, really.
8378
8379         * libs/gst/base/gstbasesink.c (gst_base_sink_chain_unlocked): Only
8380         warn if sync=true.
8381
8382 2006-02-06  Jan Schmidt  <thaytan@mad.scientist.com>
8383
8384         * configure.ac:
8385           Prelease of 0.10.3
8386
8387 2006-02-06  Sebastien Moutte  <sebastien@moutte.net>
8388
8389         * win32/vs7:
8390           project files updated to the default vs7 configuration
8391         * win32/common/libgstbase.def:
8392         * win32/common/libgstreamer.def:
8393           added new symbols,
8394           removed empty lines,
8395           sorted all exported symbols alphabetically
8396         * win32/common/dirent.c:
8397         * win32/common/dirent.h:
8398         * win32/common/gchar.h:
8399           use windows line end.
8400           
8401 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
8402
8403         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
8404           Send EOS event when stopping.
8405
8406 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
8407
8408         * docs/README:
8409           Tell folks what to do if the plugin-foobar.xml file
8410           hasn't been generated for a newly-added plugin.
8411
8412 2006-02-05  Julien MOUTTE  <julien@moutte.net>
8413
8414         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
8415         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
8416         (gst_collect_pads_start), (gst_collect_pads_stop),
8417         (gst_collect_pads_event): Collectpads now holds a reference
8418         to the GstPad that was added. Indeed we don't want to look
8419         at pads that might just go away with no warning...
8420
8421 2006-02-05  Julien MOUTTE  <julien@moutte.net>
8422
8423         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
8424         (gst_collect_pads_start), (gst_collect_pads_stop),
8425         (gst_collect_pads_event), (gst_collect_pads_chain):
8426         * libs/gst/base/gstcollectpads.h: Handle flush. Adapted from
8427         Mark Nauwelaerts's patch on bug #328491.
8428
8429 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
8430
8431         * tests/check/gst/gstutils.c: (test_parse_bin_from_description),
8432         (gst_utils_suite):
8433           Add some simple tests for gst_parse_bin_from_description() and
8434           gst_bin_find_unconnected_pad() (#329069).
8435
8436 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
8437
8438         * tools/gst-launch.c: (event_loop), (main):
8439           Catch errors during preroll (#320084).
8440
8441 2006-02-03  Tim-Philipp Müller  <tim at centricular dot net>
8442
8443         * plugins/elements/gsttypefindelement.c:
8444         (gst_type_find_element_activate):
8445           Post TYPE_NOT_FOUND error message when typefinding
8446           is unsuccessful in the activate function as well.
8447
8448 2006-02-02  Wim Taymans  <wim@fluendo.com>
8449
8450         * docs/design/part-element-sink.txt:
8451         Updated doc.
8452
8453 2006-02-02  Wim Taymans  <wim@fluendo.com>
8454
8455         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
8456         (gst_base_sink_render_object),
8457         (gst_base_sink_queue_object_unlocked):
8458         Only keep track of prerollable items when we are 
8459         prerolling.
8460         Before rendering after preroll, always check if we
8461         have queued items.
8462         Added some more debugging.
8463
8464 2006-02-02  Wim Taymans  <wim@fluendo.com>
8465
8466         * gst/gstelement.c: (gst_element_continue_state),
8467         (gst_element_set_state_func), (gst_element_change_state):
8468         Fixed #326576, been running this for quite some time with
8469         no regressions at all.
8470
8471 2006-02-02  Wim Taymans  <wim@fluendo.com>
8472
8473         * common/gst.supp:
8474         Added more suppressions
8475
8476 2006-02-02  Wim Taymans  <wim@fluendo.com>
8477
8478         * docs/design/part-element-sink.txt:
8479         Updated document.
8480
8481         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
8482         (gst_base_sink_finalize), (gst_base_sink_preroll_queue_flush),
8483         (gst_base_sink_configure_segment), (gst_base_sink_commit_state),
8484         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
8485         (gst_base_sink_do_sync), (gst_base_sink_render_object),
8486         (gst_base_sink_preroll_object),
8487         (gst_base_sink_queue_object_unlocked),
8488         (gst_base_sink_queue_object), (gst_base_sink_event),
8489         (gst_base_sink_chain_unlocked), (gst_base_sink_chain),
8490         (gst_base_sink_loop), (gst_base_sink_activate_pull),
8491         (gst_base_sink_get_position), (gst_base_sink_change_state):
8492         * libs/gst/base/gstbasesink.h:
8493         Totally refactored matching the design doc.
8494         Use two segments, one to clip incomming buffers and another to
8495         perform sync.
8496         Handle queueing correctly, bypass the queue when playing.
8497         Make EOS cancelable.
8498         Handle errors correctly when operating in pull based mode.
8499
8500         * tests/check/elements/fakesink.c: (GST_START_TEST),
8501         (fakesink_suite):
8502         Added new check for sinks.
8503
8504 2006-02-02  Wim Taymans  <wim@fluendo.com>
8505
8506         * gst/gstsegment.c: (gst_segment_clip):
8507         No reason to refuse to clip when start == -1
8508
8509 2006-02-02  Stefan Kost  <ensonic@users.sf.net>
8510
8511         * docs/README:
8512         * docs/manual/intro-basics.xml:
8513         * docs/manual/intro-preface.xml:
8514         * docs/manual/manual.xml:
8515         * docs/pwg/advanced-dparams.xml:
8516         * docs/pwg/intro-basics.xml:
8517         * docs/pwg/intro-preface.xml:
8518         * docs/pwg/pwg.xml:
8519           describe dparams (controller) for plugins
8520           unify docs a little more
8521
8522 2006-02-02  Tim-Philipp Müller  <tim at centricular dot net>
8523
8524         * docs/gst/gstreamer-sections.txt:
8525         * gst/gstutils.c: (element_find_unconnected_pad),
8526         (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description):
8527         * gst/gstutils.h:
8528           Add new API: gst_parse_bin_from_description() and
8529           gst_bin_find_unconnected_pad() (#329069).
8530
8531 2006-02-01  Stefan Kost  <ensonic@users.sf.net>
8532
8533         * docs/manual/README:
8534           uncover a nasty detail of the docs build
8535
8536 2006-01-31  Wim Taymans  <wim@fluendo.com>
8537
8538         * gst/gstbin.c: (bin_remove_messages), (bin_query_duration_done):
8539         Don't cache duration messages if we're not going to use or
8540         free them.
8541
8542 2006-01-31  Stefan Kost  <ensonic@users.sf.net>
8543
8544         * docs/manual/advanced-dparams.xml:
8545         * docs/pwg/advanced-dparams.xml:
8546           more dparam docs
8547         * gst/gstindex.c:
8548           fix docs
8549         * libs/gst/controller/lib.c: (gst_controller_init):
8550           init just once
8551
8552 2006-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
8553
8554         * gst/gstelement.c: (gst_element_message_full):
8555           also show file/line/func if no additional debug was given
8556
8557 2006-01-31  Sebastien Moutte  <sebastien@moutte.net>
8558         
8559         * win32/vs7/grammar.vcproj:
8560           activate copy of autogenerated files for Release mode
8561
8562 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
8563         
8564         * win32/common/libgstreamer.def:
8565           export gst_value_compare
8566
8567 2006-01-30  Jan Schmidt  <thaytan@mad.scientist.com>
8568
8569         * plugins/elements/Makefile.am:
8570         * plugins/elements/gstelements.c:
8571         * plugins/elements/gstfdsink.c: (_do_init),
8572         (gst_fd_sink_base_init), (gst_fd_sink_class_init),
8573         (gst_fd_sink_init), (gst_fd_sink_dispose), (gst_fd_sink_query),
8574         (gst_fd_sink_render), (gst_fd_sink_check_fd), (gst_fd_sink_start),
8575         (gst_fd_sink_stop), (gst_fd_sink_unlock), (gst_fd_sink_update_fd),
8576         (gst_fd_sink_set_property), (gst_fd_sink_uri_get_type),
8577         (gst_fd_sink_uri_get_protocols), (gst_fd_sink_uri_get_uri),
8578         (gst_fd_sink_uri_set_uri), (gst_fd_sink_uri_handler_init):
8579         * plugins/elements/gstfdsink.h:
8580         Port fdsink to 0.10 (patch by Philippe Rouquier) (Fixes #325490)
8581
8582 2006-01-30  Stefan Kost  <ensonic@users.sf.net>
8583
8584         * docs/manual/advanced-dparams.xml:
8585           describe controller
8586         * docs/manual/advanced-position.xml:
8587         * docs/manual/basics-init.xml:
8588         * docs/manual/manual.xml:
8589         * docs/manual/titlepage.xml:
8590         * docs/pwg/pwg.xml:
8591         * docs/pwg/titlepage.xml:
8592           cleanup xml (more to come)
8593         * libs/gst/controller/gstcontroller.c:
8594           fix typo
8595
8596 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
8597         
8598         * win32/vs6/grammar.dsp:
8599           add autogen of gstmarshal.c,h for Release mode
8600                 
8601 2006-01-30  Wim Taymans  <wim@fluendo.com>
8602
8603         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
8604         (gst_base_sink_preroll_queue_empty), (gst_base_sink_commit_state),
8605         (gst_base_sink_handle_object), (gst_base_sink_event),
8606         (gst_base_sink_is_prerolled), (gst_base_sink_wait),
8607         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
8608         (gst_base_sink_handle_buffer), (gst_base_sink_set_flushing),
8609         (gst_base_sink_deactivate), (gst_base_sink_activate),
8610         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
8611         (gst_base_sink_query), (gst_base_sink_change_state):
8612         Basesink cleanups, remove some old code.
8613         Handle the case where a subclass can preroll in the render
8614         method (mostly audiosinks).
8615         Handle more events.
8616         Remove some locks around variables that are now protected
8617         with the PREROLL_LOCK (clock_id, flushing, ..).
8618         Optimize position query some more, do correct locking.
8619         Remove old code to push queue in state change, this is not
8620         needed anymore since preroll blocks on all prerollable items 
8621         now.
8622         Almost implemented as described in design doc.
8623
8624 2006-01-30  Wim Taymans  <wim@fluendo.com>
8625
8626         * tests/check/gst/gstbin.c: (GST_START_TEST):
8627         Wait for refcount to settle down before checking.
8628
8629 2006-01-30  Wim Taymans  <wim@fluendo.com>
8630
8631         * docs/design/part-element-sink.txt:
8632         Pseudo code overview of desired sink behaviour regarding
8633         preroll.
8634
8635 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
8636         * win32/vs6/grammar.dsp:
8637           fix some bugs in Release mode for autogenerated files
8638                 
8639 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
8640         * win32/common/libgstbase.def:
8641         * win32/common/libgstreamer.def:
8642           export some new symbols: gst_base_src_set_format,
8643           gst_iterator_next, gst_structure_set_valist
8644
8645 2006-01-29  Julien MOUTTE  <julien@moutte.net>
8646
8647         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
8648         Set pad functions unconditionally. Fixes #329105.
8649
8650 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
8651         * win32/vs8:
8652           add vs8 project files created by Sergey Scobich
8653
8654 2006-01-28  Jan Schmidt  <thaytan@mad.scientist.com>
8655
8656         * gst/gstutils.c: (gst_element_unlink_pads):
8657         Don't leak pad references.
8658
8659         * tests/check/elements/fakesink.c: (GST_START_TEST):
8660         * tests/check/generic/sinks.c: (GST_START_TEST):
8661         * tests/check/generic/states.c: (GST_START_TEST):
8662         * tests/check/gst/gstbin.c: (GST_START_TEST):
8663         * tests/check/gst/gstcaps.c: (GST_START_TEST):
8664         * tests/check/gst/gstelement.c: (GST_START_TEST):
8665         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
8666         * tests/check/gst/gstiterator.c: (GST_START_TEST):
8667         * tests/check/gst/gstvalue.c: (GST_START_TEST):
8668         Fix a bunch of leaks. Make generic/sinks.c
8669         use a bit less cpu by slowing the buffer rate
8670         between fakesrc and fakesink.
8671         
8672 2006-01-27  Stefan Kost  <ensonic@users.sf.net>
8673         * gst/gstcaps.c:
8674         * gst/gstelement.c: (gst_element_send_event):
8675         * gst/gstevent.c:
8676         * gst/gstinfo.c:
8677         * gst/gstiterator.c:
8678         * gst/gstiterator.h:
8679         * gst/gstpad.c: (gst_pad_send_event):
8680         * gst/gststructure.c:
8681         * gst/gsturi.c:
8682         * gst/gstutils.c:
8683         * gst/gstvalue.c:
8684         * libs/gst/base/gstadapter.c:
8685           doc fixes, to link to function, just write gst_cool_function(), don't
8686           prefix with '#'
8687
8688 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
8689
8690         * plugins/elements/gsttee.c: (gst_tee_do_push),
8691         (gst_tee_handle_buffer):
8692         Always prefer an actual return value from a src
8693         pad in place of NOT_LINKED. This means we return
8694         WRONG_STATE when all src pads are WRONG_STATE
8695         instead of NOT_LINKED.
8696
8697         Lock when replacing the last message to prevent
8698         racing with the get_property method.
8699
8700         Add debug output
8701
8702 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
8703
8704         * tests/check/Makefile.am:
8705         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite),
8706         (main):
8707         Add a very simple check that should have caught the memleak I fixed
8708         last night (if not for the slice allocator hiding it)
8709
8710 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
8711
8712         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
8713         (gst_bin_remove_func), (gst_bin_handle_message_func),
8714         (bin_query_duration_fold), (bin_query_generic_fold):
8715         Clean up references to the clock provider when disposed or when
8716         handling a clock-lost message from it.
8717
8718         Unref sinks when performing a query via gst_iterator_fold, as the
8719         gst_bin_iterate_sinks iterator refs each item. (Fixes #323874)
8720
8721         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_dispose),
8722         (gst_clock_set_master):
8723         Drop our reference to the master clock, if any, when we are disposed.
8724
8725         * gst/gsttypefindfactory.c: (gst_type_find_factory_dispose):
8726         Chain up in dispose. 
8727
8728 2006-01-26  Wim Taymans  <wim@fluendo.com>
8729
8730         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
8731         Add some debugging.
8732
8733 2006-01-26  Julien MOUTTE  <julien@moutte.net>
8734
8735         * plugins/elements/gsttee.c: (gst_tee_do_push),
8736         (gst_tee_handle_buffer): Apply patch from #328715. Tee now
8737         handles pad being NOT_LINKED or in WRONG_STATE.
8738
8739 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
8740
8741         * win32/MANIFEST:
8742           more updating
8743
8744 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
8745
8746         * win32/MANIFEST:
8747           remove obsolete entry
8748
8749 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
8750
8751         * docs/gst/gstreamer-sections.txt:
8752         * gst/gstbin.c: (bin_element_is_src), (src_iterator_filter),
8753         (gst_bin_iterate_sources), (gst_bin_send_event):
8754         * gst/gstbin.h:
8755         * gst/gstelement.c: (gst_element_send_event):
8756         * gst/gstevent.c:
8757         * gst/gstpad.c: (gst_pad_send_event):
8758           added code for downstream events, reviewed docs in gstevent.c
8759
8760 2006-01-25  Julien MOUTTE  <julien@moutte.net>
8761
8762         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
8763         We only query position using the clock in the playing state.
8764         Query peer in the other cases.
8765         * win32/common/config.h: Updates.
8766
8767 2006-01-24  Wim Taymans  <wim@fluendo.com>
8768
8769         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
8770         A clock entry that is scheduled for the exact time of the
8771         clock is still in time.
8772
8773         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8774         (gst_base_sink_do_sync):
8775         Add some more debug info.
8776
8777 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
8778
8779         * win32/vs7:
8780           Add new vs7 project files and solution.
8781
8782 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
8783
8784         * win32/vs7:
8785           all files removed as they were out-dated.
8786
8787 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8788
8789         * docs/random/release:
8790           update notes
8791         * gst/gstbin.c: (gst_bin_init):
8792         * gst/gstbus.c: (gst_bus_new):
8793         * gst/gstbus.h:
8794         * gst/gstpipeline.c: (gst_pipeline_init):
8795           use gst_bus_new(), improve logging, fix docs
8796         * win32/common/config.h:
8797           update for cvs build
8798
8799 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8800
8801         * autogen.sh:
8802           up required version of automake to 1.7
8803
8804 2006-01-20  Sebastien Moutte  <sebastien@moutte.net>
8805
8806         * win32/common/libgstreamer.def:
8807           export gst_buffer_is_metadata_writable
8808
8809 2006-01-20  Tim-Philipp Müller  <tim at centricular dot net>
8810
8811         * docs/gst/gstreamer-sections.txt:
8812         * gst/gstevent.h:
8813           Add gst_event_replace() (#327001)
8814
8815 2006-01-20  Wim Taymans  <wim@fluendo.com>
8816
8817         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
8818         Make it actually compile too..
8819
8820 2006-01-20  Wim Taymans  <wim@fluendo.com>
8821
8822         * gst/gstcaps.c:
8823         Clarify behaviour of _is_equal() when passing NULL parameters.
8824
8825         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
8826         (gst_pad_set_caps):
8827         Cleanups. Don't unref NULL caps.
8828         When setting the same caps, protect caps of the pad with
8829         proper lock.
8830         Use full functionality of _is_equal() when comparing caps.
8831
8832 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
8833
8834         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
8835         Don't loop infinitely if there are no buffers to present. Partially
8836         fixes #327197, but collectpads is just broken for reusing elements
8837         to do multiple encodes atm.
8838
8839 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
8840
8841         * tools/gst-inspect.c: (print_element_features):
8842         * tools/gst-xmlinspect.c: (main):
8843         URL_HANDLER is not a plugin feature we can search for in
8844         the registry.
8845
8846 2006-01-19  Edward Hervey  <edward@fluendo.com>
8847
8848         * gst/gstelement.c: (gst_element_pads_activate): 
8849         When activating, do src pads first, then sink pads.
8850         When de-activating, do sink pads first, then src pads.
8851
8852 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
8853
8854         * docs/gst/gstreamer-sections.txt:
8855         Add gst_index_add_associationv to the docs
8856
8857 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
8858
8859         * gst/gstevent.c:
8860           Fix docs typo
8861
8862         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event),
8863         (gst_queue_chain), (gst_queue_push_one), (gst_queue_loop):
8864           Do some refactoring. Doesn't actually change functionality,
8865           but makes landing the DRAIN event easier later.
8866
8867 2006-01-19  Tim-Philipp Müller  <tim at centricular dot net>
8868
8869         * docs/pwg/advanced-scheduling.xml:
8870           Update from 0.9.x to 0.10 API and make example a bit
8871           clearer.
8872
8873 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
8874
8875         * docs/gst/gstreamer-sections.txt:
8876         Add gst_buffer_(is|make)_metadata_writable methods.
8877
8878 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
8879
8880         * docs/design/part-sparsestreams.txt:
8881         Update sparse streams doc, hopefully for greater clarity
8882
8883 2006-01-18  Jan Schmidt  <thaytan@mad.scientist.com>
8884
8885         * docs/design/part-events.txt:
8886         Remove mention of FILLER events.
8887         Add DRAIN event.
8888
8889         * docs/design/part-sparsestreams.txt:
8890         Write some things about using NEWSEGMENT to keep sparse streams
8891         flowing.
8892
8893 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
8894
8895         * gst/gstbin.c: (gst_bin_dispose):
8896           Guard gst_object_unref call against a NULL object (dispose
8897           can theoretically be called multiple times).
8898           
8899 2006-01-18  Wim Taymans  <wim@fluendo.com>
8900
8901         * gst/gstbin.c: (gst_bin_element_set_state):
8902         * gst/gstclock.c: (gst_clock_id_wait):
8903         Added some more debug info.
8904
8905         * libs/gst/base/gstadapter.c:
8906         Added more docs.
8907
8908         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8909         (gst_base_sink_do_sync), (gst_base_sink_chain):
8910         Added some comments.
8911
8912 2006-01-18  Wim Taymans  <wim@fluendo.com>
8913
8914         * tests/check/Makefile.am:
8915         * tests/check/elements/fakesink.c: (chain_async_buffer),
8916         (chain_async), (chain_async_return), (GST_START_TEST),
8917         (fakesink_suite), (main):
8918         Added fakesink test that checks prerolling and clipping
8919         behaviour.
8920
8921         * tests/check/gst/gstutils.c: (GST_START_TEST):
8922         Make check run faster so that buildbots don't timeout.
8923
8924 2006-01-18  Wim Taymans  <wim@fluendo.com>
8925
8926         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8927         (gst_base_sink_do_sync):
8928         Some cleanups.
8929         When the sink finishes blocking on the preroll buffer, it can
8930         immediatly render it instead of rendering when the next buffer
8931         arrives.
8932
8933 2006-01-18  Wim Taymans  <wim@fluendo.com>
8934
8935         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_property),
8936         (gst_base_sink_get_property), (gst_base_sink_do_sync),
8937         (gst_base_sink_chain):
8938         Small cleanups.
8939         GST_ELEMENT_CLOCK and sync are protected with LOCK.
8940         Don't store _last_stop if the buffer is dropped.
8941
8942 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
8943
8944         * plugins/elements/gsttypefindelement.c:
8945         (gst_type_find_element_class_init):
8946           'have-type' signal needs to be G_SIGNAL_RUN_FIRST, as it is the
8947           object method handler that sets the caps on the pad and we want
8948           that to happen before we emit the signal (fixes e.g. feeding a
8949           plain text file to decodebin).
8950
8951 2006-01-18  Christian Schaller  <Christian@fluendo.com>
8952
8953         * gst/gstplugin.c: Add MPL and Proprietary as license options
8954
8955 2006-01-18  Andy Wingo  <wingo@pobox.com>
8956
8957         * gst/gstindex.h (gst_index_add_associationv): Add to header. The
8958         symbol was exported before, it appears this was just an oversight.
8959         Fixes #168703.
8960         Patch by: Torsten Schoenfeld <kaffeetisch at gmx.de>
8961
8962         * gst/gstindex.c (gst_index_add_associationv): Changed int in
8963         prototype to gint. OK since this prototype was not in the header.
8964
8965 2006-01-17  Andy Wingo  <wingo@pobox.com>
8966
8967         * gst/gstregistry.c (_gst_registry_remove_cache_plugins): Lock the
8968         registry while we remove plugins.
8969
8970         * tools/gst-inspect.c (print_element_info): Don't unref the
8971         factory arg, that should be the responsibility of whatever code
8972         received the ref. Fixes a double-free when called from
8973         print_element_list via gst-inspect-0.10 -a. Fixes #327324.
8974         (main): Unref the factory if we have one.
8975         (print_element_list): No change -- relies on the
8976         plugin_feature_list_free to free the list of features.
8977
8978 2006-01-17  Jan Schmidt  <thaytan@mad.scientist.com>
8979
8980         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
8981         (gst_buffer_make_metadata_writable):
8982         * gst/gstbuffer.h:
8983         * libs/gst/base/gstbasetransform.c:
8984         (gst_base_transform_prepare_output_buf):
8985         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
8986         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
8987           Replace gst_buffer_(make|is)_metadata_writable patch now
8988           that the release is out.
8989
8990 2006-01-17  Andy Wingo  <wingo@pobox.com>
8991
8992         * gst/gstregistry.c: Reflow design comment. Update so as to speak
8993         in the present tense without reference to versions.
8994
8995         * gst/gstregistry.c (gst_registry_add_plugin)
8996         (gst_registry_remove_plugin, gst_registry_remove_feature)
8997         (gst_registry_find_feature, gst_registry_get_feature_list)
8998         (gst_registry_get_plugin_list, gst_registry_lookup_feature)
8999         (gst_registry_lookup, gst_registry_scan_path)
9000         (_gst_registry_remove_cache_plugins)
9001         (gst_registry_get_feature_list_by_plugin): Add argument
9002         validation.
9003
9004 === release 0.10.2 ===
9005
9006 2006-01-16  Thomas Vander Stichele <thomas at apestaart dot org>
9007
9008         * configure.ac:
9009           releasing 0.10.2, "If man is five"
9010
9011 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
9012
9013         * gst/gstbuffer.c:
9014         * gst/gstbuffer.h:
9015         * libs/gst/base/gstbasetransform.c:
9016         (gst_base_transform_prepare_output_buf):
9017         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
9018         * tests/check/gst/gstbuffer.c: (gst_test_suite):
9019           Back out patch until after the release.
9020
9021 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
9022
9023         * gst/gstminiobject.c:
9024           Spelling fix in docs.
9025         * ChangeLog - remove conflict indicator
9026
9027 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
9028
9029         Reviewed By: Andy Wingo
9030
9031         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
9032         (gst_buffer_make_metadata_writable):
9033         * gst/gstbuffer.h:
9034           Add gst_buffer_(is|make)_metadata_writable as analogues of
9035           gst_buffer_(is|make)_writable.
9036
9037         * libs/gst/base/gstbasetransform.c:
9038         (gst_base_transform_prepare_output_buf):
9039         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
9040           Use name gst_buffer_(is|make)_metadata_writable functions.
9041
9042         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
9043           Test gst_buffer_(is|make)_metadata_writable
9044         
9045           (Closes: #324162)
9046
9047 2006-01-14  Thomas Vander Stichele  <thomas at apestaart dot org>
9048
9049         * docs/manual/Makefile.am:
9050           don't do parallel make
9051         * configure.ac:
9052           AC_SUBST HOST_CPU
9053         * win32/common/config.h.in:
9054           add generations for HOST_CPU and GST_MAJORMINOR
9055         * win32/common/config.h:
9056           commit generated result
9057
9058 2006-01-13  Tim-Philipp Müller  <tim at centricular dot net>
9059
9060         * docs/manual/appendix-integration.xml:
9061           Update GNOME integration section to use gst_init_get_option_group()
9062           instead of the old popt stuff (#322911). Also, GNOME applications
9063           should  now use gconf*sink and gconf*src instead of the old gconf
9064           helper lib we had.
9065
9066 2006-01-13  Stefan Kost  <ensonic@users.sf.net>
9067
9068
9069         * docs/gst/gstreamer-docs.sgml:
9070         * docs/gst/gstreamer-sections.txt:
9071         * docs/libs/gstreamer-libs-sections.txt:
9072           add new API entries to the docs
9073         * libs/gst/controller/Makefile.am:
9074         * libs/gst/controller/gstcontroller.c:
9075         * libs/gst/controller/gstcontroller.h:
9076         * libs/gst/controller/gstcontrollerprivate.h:
9077         * libs/gst/controller/gsthelper.c:
9078         * libs/gst/controller/gstinterpolation.c:
9079           move private structs to private header
9080         * po/README:
9081           gstreamer-0.7 -> gstreamer-0.10
9082         * tests/check/libs/struct_i386.h:
9083           remove private structs
9084
9085 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9086
9087         * plugins/indexers/Makefile.am:
9088           Fixes as part of #317048
9089
9090 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9091
9092         * plugins/indexers/Makefile.am:
9093           fix #316086 - compilation when mmap is missing
9094
9095 2006-01-12  Sebastien Moutte  <sebastien@moutte.net>
9096
9097         * libs/gst/base/gstbasesink.c:
9098           *cur = (now - base) * basesink->segment.abs_rate + time; replaced by 
9099           *cur = gst_guint64_to_gdouble(now - base) * basesink->segment.abs_rate + time; for vs6
9100         * win32/common/config.h:
9101           added some defines GST_MAJORMINOR and HOST_CPU
9102         * win32/common/libgstbase.def:
9103         * win32/common/libgstreamer.def:
9104           added some exported functions.
9105
9106 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
9107
9108         * libs/gst/controller/gstcontroller.c:
9109         (gst_controlled_property_set_interpolation_mode),
9110         (gst_controlled_property_new):
9111         * libs/gst/controller/gstcontroller.h:
9112         * libs/gst/controller/gstinterpolation.c:
9113         (interpolate_none_get_string_value_array):
9114           make G_TYPE_STRING controlable
9115
9116 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
9117
9118         * tools/README:
9119         * tools/gst-feedback.1.in:
9120         * tools/gst-inspect.1.in:
9121         * tools/gst-launch.1.in:
9122         * tools/gst-md5sum.1.in:
9123         * tools/gst-typefind.1.in:
9124         * tools/gst-xmlinspect.1.in:
9125         * tools/gst-xmllaunch.1.in:
9126           cleanup man-pages, remove reference to gst-register, document env-vars
9127
9128 2006-01-12  Jan Schmidt  <thaytan@mad.scientist.com>
9129
9130         * gst/gstbuffer.c: (gst_buffer_span):
9131           gst_buffer_span should copy the timestamp of the first buffer
9132           if they were both originally overlapping subbuffers of the 
9133           same parent, using the same logic as the 'slow copy' case.
9134
9135 2006-01-11  Jan Schmidt  <thaytan@mad.scientist.com>
9136
9137         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop):
9138           Need to awaken ALL the pads when we pop a buffer, otherwise
9139           collectpads only works when there is 2 input streams.
9140
9141 2006-01-11  Stefan Kost  <ensonic@users.sf.net>
9142
9143         * docs/random/ensonic/media-device-daemon.txt:
9144           more ideas (dbus)
9145         * gst/gstbuffer.c:
9146           fix doc example, add clarification
9147         * tools/gst-launch.1.in:
9148           add initial info about GST_PLUGIN_PATH, needs more work
9149
9150 2006-01-11  Tim-Philipp Müller  <tim at centricular dot net>
9151
9152         * docs/manual/basics-bins.xml:
9153         * docs/manual/basics-elements.xml:
9154         * docs/manual/intro-basics.xml:
9155           Some more minor docs additions and updates.
9156
9157 2006-01-11  Wim Taymans  <wim@fluendo.com>
9158
9159         * docs/manual/basics-bins.xml:
9160         * docs/manual/basics-elements.xml:
9161         Some small fixes as pointed out by Ser-ver on IRC.
9162
9163 2006-01-10  Edward Hervey  <edward@fluendo.com>
9164
9165         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
9166         Set the buffer offset/offset_end to GST_CLOCK_TIME_NONE when using
9167         the single-segment mode.
9168
9169 2006-01-10  Brian Cameron  <brian dot cameron at sun dot com>
9170
9171         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
9172
9173         * libs/gst/base/gstbasesrc.c: (gst_base_src_init),
9174         (gst_base_src_perform_seek), (gst_base_src_send_event),
9175         (gst_base_src_set_property), (gst_base_src_get_property),
9176         (gst_base_src_loop), (gst_base_src_start),
9177         (gst_base_src_activate_push):
9178         * libs/gst/base/gstbasesrc.h:
9179           Name (private) union; makes Sun's Forte compiler happy (#324900).
9180
9181 2006-01-09  Tim-Philipp Müller  <tim at centricular dot net>
9182
9183         * README:
9184           gst-register is gone.
9185
9186 2006-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
9187
9188         * gst/gstvalue.c: (_gst_value_initialize):
9189           make the G_TYPE_DATE instantiation work if debug is disabled
9190
9191 2006-01-06  Tim-Philipp Müller  <tim at centricular dot net>
9192
9193         * gst/gstmessage.c: (gst_message_parse_tag),
9194         (gst_message_parse_error), (gst_message_parse_warning):
9195           Don't crash when return location for error/warning debug
9196           string is NULL; add fact that return locations can be
9197           NULL to docs where appropriate.
9198
9199 2006-01-05  Wim Taymans  <wim@fluendo.com>
9200
9201         * gst/gstplugin.c: (gst_plugin_load_file):
9202         Replace strdup by g_strdup.
9203
9204 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
9205
9206         * docs/pwg/advanced-types.xml:
9207           fix doc borkage
9208
9209 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
9210
9211         submitted by: Abel Cheung
9212
9213         * po/LINGUAS:
9214         * po/zh_TW.po:
9215           Added Chinese (traditional) translation
9216
9217 2006-01-04  Wim Taymans  <wim@fluendo.com>
9218
9219         * docs/manual/basics-pads.xml:
9220         * docs/plugins/Makefile.am:
9221         * docs/plugins/gstreamer-plugins-docs.sgml:
9222         * docs/plugins/gstreamer-plugins-sections.txt:
9223         * docs/pwg/advanced-clock.xml:
9224         * docs/pwg/advanced-scheduling.xml:
9225         * docs/pwg/advanced-types.xml:
9226         * plugins/elements/gstfdsink.c:
9227         * plugins/elements/gstfdsrc.c:
9228         * plugins/elements/gstfdsrc.h:
9229         * plugins/elements/gstidentity.c: (gst_identity_class_init):
9230         * plugins/elements/gstidentity.h:
9231         * plugins/elements/gstqueue.h:
9232         * plugins/elements/gsttee.c:
9233         * plugins/elements/gsttee.h:
9234         * plugins/elements/gsttypefindelement.c:
9235         (gst_type_find_element_class_init):
9236         * plugins/elements/gsttypefindelement.h:
9237         Small updates to various docs.
9238         Added core plugins to docs.
9239
9240 2006-01-03  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
9241
9242         * common/gst.supp:
9243           add a suppression for liboil's uninitialized variable
9244
9245 2006-01-02  James Livingston  <jrl at ids dot org dot au>
9246
9247         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
9248
9249         * gst/gstutils.h:
9250           Add prototype for _get_type() function to GST_BOILERPLATE_FULL
9251           macro, so that gcc doesn't complain if the -Wmissing-prototypes
9252           compiler switch is being used (#325429).
9253
9254 2005-12-29  Tim-Philipp Müller  <tim at centricular dot net>
9255
9256         * gst/gstbin.c: (gst_bin_query):
9257           Disable duration query caching in bins until it gets
9258           fixed (see #324807).
9259
9260 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
9261
9262         * tools/gst-inspect.c: (print_element_properties_info):
9263           Handle properties of POINTER and BOXED type.
9264
9265 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
9266
9267         * gst/gst.c: (init_post):
9268           Init tags stuff and some other things before loading
9269           any static plugins (there may be other static plugins
9270           than just the GStreamer ones, and they may want to
9271           register their own tags or formats or whatever, and
9272           preferably without segfaulting).
9273
9274         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
9275           Print at least a warning in the debug logs if we drop a
9276           query just because we don't know how to adjust the value
9277           in the particular format.
9278
9279 2005-12-24  David Schleef  <ds@schleef.org>
9280
9281         * tools/gstreamer-completion:
9282           Replacement for gst-complete written in sh and sed.  Only
9283           completes names of features, but that's 90% of what I want
9284           it for.  Properties are not available in registry.xml.  (Maybe
9285           they should be...)
9286
9287 === release 0.10.1 ===
9288
9289 2005-12-23  Thomas Vander Stichele <thomas at apestaart dot org>
9290
9291         * configure.ac:
9292           releasing 0.10.1, "Nollaig chridheil"
9293
9294 2005-12-22  Tim-Philipp Müller  <tim at centricular dot net>
9295
9296         * docs/faq/cvs.xml:
9297           Add missing quote, should be make ERROR_CFLAGS="".
9298
9299 2005-12-20  Wim Taymans  <wim@fluendo.com>
9300
9301         * docs/design/part-trickmodes.txt:
9302         More documentation on trickmodes.
9303
9304 2005-12-20  Edward Hervey  <edward@fluendo.com>
9305
9306         * gst/gstcaps.c: (gst_static_caps_get_type):
9307         * gst/gstcaps.h:
9308           API addition: GST_TYPE_STATIC_CAPS
9309         Added gpointer GType for GstStaticCaps so we can wrap them in bindings.
9310         * gst/gstpadtemplate.c: (gst_static_pad_template_get_type):
9311         * gst/gstpadtemplate.h:
9312           API addition: GST_TYPE_STATIC_PAD_TEMPLATE
9313         Added gpointer GType for GstStaticPadTemplate so we can wrap them in
9314         bindings.
9315
9316 2005-12-18  Wim Taymans  <wim@fluendo.com>
9317
9318         * libs/gst/base/gstadapter.c:
9319         * libs/gst/base/gstadapter.h:
9320         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
9321         (gst_base_sink_get_position):
9322         * libs/gst/base/gstbasesink.h:
9323         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
9324         (gst_base_src_default_query), (gst_base_src_default_do_seek),
9325         (gst_base_src_do_seek), (gst_base_src_perform_seek),
9326         (gst_base_src_send_event), (gst_base_src_update_length),
9327         (gst_base_src_get_range), (gst_base_src_loop),
9328         (gst_base_src_start):
9329         * libs/gst/base/gstbasesrc.h:
9330         * libs/gst/base/gstbasetransform.h:
9331         * libs/gst/base/gstcollectpads.h:
9332         * libs/gst/base/gstpushsrc.c:
9333         * libs/gst/base/gstpushsrc.h:
9334         * libs/gst/dataprotocol/dataprotocol.c:
9335         * libs/gst/dataprotocol/dataprotocol.h:
9336         * libs/gst/net/gstnetclientclock.h:
9337         * libs/gst/net/gstnettimeprovider.h:
9338         Documentation updates.
9339
9340 2005-12-18  Tim-Philipp Müller  <tim at centricular dot net>
9341
9342         * docs/manual/basics-helloworld.xml:
9343           Remove superfluous closing bracket in helloworld example.
9344
9345 2005-12-17  Tim-Philipp Müller  <tim at centricular dot net>
9346
9347         * tools/gst-launch.1.in:
9348           Update gst-launch man page; add a section with useful
9349           environment variables. Fixes #323882.
9350
9351 2005-12-16  Stefan Kost  <ensonic@users.sf.net>
9352
9353         * gst/gst.c:
9354         * gst/gst_private.h:
9355           change some char* into char[]
9356
9357 2005-12-16  Wim Taymans  <wim@fluendo.com>
9358
9359         * gst/gstregistryxml.c: (load_feature):
9360         Cleanups.
9361         Don't use g_object_unref on GstObjects so that we avoid
9362         leaks on unsafe glibs.
9363
9364 2005-12-16  Wim Taymans  <wim@fluendo.com>
9365
9366         * gst/gstbin.c: (gst_bin_recalc_state):
9367         Small doc updates.
9368
9369 2005-12-16  Wim Taymans  <wim@fluendo.com>
9370
9371         * common/check.mak:
9372         Added make forever target for check.
9373
9374 2005-12-16  Thomas Vander Stichele  <thomas at apestaart dot org>
9375
9376         * gst/gst.c: (init_post):
9377           make the registry cache file HOST_CPU-dependent
9378
9379 2005-12-16  Andy Wingo  <wingo@pobox.com>
9380
9381         * plugins/elements/gstbufferstore.c
9382         (gst_buffer_store_cleared_func): Pay attention to g_list_append
9383         return value.
9384
9385         * tests/check/gst/gstobject.c
9386         (test_fake_object_name_threaded_unique): Pay attention to
9387         g_list_sort return value.
9388
9389 2005-12-16  Tim-Philipp Müller  <tim at centricular dot net>
9390
9391         * tools/gst-feedback-m.m:
9392           Update for 0.9/0.10 (fixes #323870).
9393
9394 2005-12-15  Tim-Philipp Müller  <tim at centricular dot net>
9395
9396         * gst/gstminiobject.c: (gst_value_mini_object_lcopy):
9397           Fix lcopy for mini objects, the mini object needs to be ref'ed.
9398           
9399         * tests/check/gst/gstminiobject.c: (my_foo_init),
9400         (my_foo_get_property), (my_foo_set_property), (my_foo_class_init),
9401         (test_value_collection), (gst_mini_object_suite):
9402           Add test to ensure refcounts end up as expected when passing
9403           GstMiniObjects through g_object_get() and g_object_set().
9404
9405 2005-12-14  Julien MOUTTE  <julien@moutte.net>
9406
9407         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
9408         (gst_collect_pads_remove_pad), (gst_collect_pads_is_collected),
9409         (gst_collect_pads_event), (gst_collect_pads_chain): Refactoring
9410         of collectpads. This version removes a lot of races without
9411         touching API/ABI. Yay !
9412
9413 2005-12-14  Jan Schmidt  <thaytan@mad.scientist.com>
9414
9415         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_link_prepare):
9416           Don't allow activation of a srcpad in pull_range if it has no
9417           getrange function.
9418           Change some debug statements to be a little clearer
9419
9420         * plugins/elements/gsttypefindelement.c:
9421         (gst_type_find_handle_src_query):
9422           Check that we have a peer before executing queries thereupon.
9423
9424         * tests/examples/metadata/read-metadata.c: (message_loop):
9425           Use gst_bus_pop instead of gst_bus_poll when we just want it to
9426           immediately return us any available message with 0 timeout.
9427
9428 2005-12-12  Michael Smith  <msmith@fluendo.com>
9429
9430         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
9431           Don't unref factories after calling them.
9432         * libs/gst/base/gsttypefindhelper.c: (gst_type_find_helper):
9433         * plugins/elements/gsttypefindelement.c:
9434         (gst_type_find_element_chain):
9435           Free lists of factories after using them. Fixing typefinding memory
9436           leaks.
9437
9438 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
9439
9440         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
9441         (gst_plugin_feature_load):
9442           more meaningful debug output
9443         * configure.ac:
9444         * tests/Makefile.am:
9445         * tests/old/examples/Makefile.am:
9446           make make distcheck happy again
9447
9448 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
9449
9450         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
9451           Catch the special case where we are operating chain-based,
9452           but the downstream peer pad has no chain function. Emit a
9453           custom error message in this case instead of letting the
9454           core generate one implying that this is some sort of core
9455           bug. It's not, it just means that whatever got plugged
9456           into the pipeline downstream when we announced the type
9457           can only operate pull-based, while our source can only
9458           operate push-based (e.g. http://foo/bar.mov ! qtdemux ! ...)
9459           Error string has not been marked for translation yet, as
9460           it probably needs some more work first.
9461
9462         (gst_type_find_element_get_best_possibility):
9463           Add helper function to find the best of all available
9464           found possibilities that qualify given the min. threshold.
9465
9466         (gst_type_find_element_handle_event):
9467           Fix the case where we get an EOS while still in TYPEFIND
9468           mode (we want to chose the best of all possible types,
9469           not just the first type that happens to be in our unsorted
9470           list of possible types).
9471
9472         (gst_type_find_element_chain):
9473           Make sure we return GST_FLOW_ERROR when we errored out
9474           in stop_typefinding(); also, don't just find the best of
9475           all found type entries and then use the last examined
9476           type entry, but actually use the best entry.
9477
9478 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
9479
9480         * tests/examples/typefind/typefind.c: (type_found):
9481         * tests/examples/xml/runxml.c: (xml_loaded):
9482           More gcc4 fixes and a mem leak fix.
9483
9484 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
9485
9486         * tests/examples/xml/createxml.c: (object_saved):
9487           gcc 4 fixes
9488
9489 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
9490
9491         * tests/Makefile.am:
9492           enable the examples even more
9493
9494 2005-12-12  Andy Wingo  <wingo@pobox.com>
9495
9496         * libs/gst/net/gstnettimeprovider.c
9497         (gst_net_time_provider_class_init, gst_net_time_provider_init)
9498         (gst_net_time_provider_set_property)
9499         (gst_net_time_provider_get_property):
9500         API addition: Export "active" as a GObject property.
9501         (gst_net_time_provider_thread): Only respond to time queries if
9502         the time provider is active.
9503
9504         * libs/gst/net/gstnettimeprovider.h: Add an "active" boolean to
9505         NetTimeProvider, preserving binary compat.
9506
9507 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
9508
9509         * tests/examples/controller/audio-example.c: (main):
9510         * tests/examples/launch/Makefile.am:
9511           convert comments again
9512
9513 2005-12-12  Wim Taymans  <wim@fluendo.com>
9514
9515         * libs/gst/base/gstpushsrc.c:
9516         Fix typo.
9517
9518 2005-12-12  Wim Taymans  <wim@fluendo.com>
9519
9520         * docs/libs/gstreamer-libs-sections.txt:
9521         Added new symbol to docs.
9522
9523         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
9524         (gst_base_src_init), (gst_base_src_set_format),
9525         (gst_base_src_default_query), (gst_base_src_query),
9526         (gst_base_src_default_do_seek), (gst_base_src_do_seek),
9527         (gst_base_src_perform_seek), (gst_base_src_send_event),
9528         (gst_base_src_default_event), (gst_base_src_event_handler),
9529         (gst_base_src_set_property), (gst_base_src_get_property),
9530         (gst_base_src_wait), (gst_base_src_do_sync),
9531         (gst_base_src_update_length), (gst_base_src_get_range),
9532         (gst_base_src_check_get_range), (gst_base_src_loop),
9533         (gst_base_src_default_negotiate), (gst_base_src_start),
9534         (gst_base_src_activate_push), (gst_base_src_activate_pull),
9535         (gst_base_src_change_state):
9536         * libs/gst/base/gstbasesrc.h:
9537         Implement seeking to other formats than _BYTES.
9538         Implement more seeking methods correctly.
9539         Doc updates.
9540         Added query vmethod.
9541         Added do_seek vmethod to make life easier for subclasses
9542         when seeking.
9543         API addition: gst_base_src_set_format()
9544
9545 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
9546
9547         * tests/examples/Makefile.am:
9548           added that too
9549
9550 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
9551
9552         * configure.ac:
9553         * docs/random/ensonic/media-device-daemon.txt:
9554         * tests/examples/controller/.cvsignore:
9555         * tests/examples/controller/Makefile.am:
9556         * tests/examples/controller/audio-example.c: (main):
9557         * tests/examples/helloworld/.cvsignore:
9558         * tests/examples/helloworld/Makefile.am:
9559         * tests/examples/helloworld/helloworld.c: (event_loop), (main):
9560         * tests/examples/launch/.cvsignore:
9561         * tests/examples/launch/Makefile.am:
9562         * tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
9563         * tests/examples/metadata/.cvsignore:
9564         * tests/examples/metadata/Makefile.am:
9565         * tests/examples/metadata/read-metadata.c: (message_loop),
9566         (make_pipeline), (print_tag), (main):
9567         * tests/examples/queue/.cvsignore:
9568         * tests/examples/queue/Makefile.am:
9569         * tests/examples/queue/queue.c: (event_loop), (main):
9570         * tests/examples/typefind/.cvsignore:
9571         * tests/examples/typefind/Makefile.am:
9572         * tests/examples/typefind/typefind.c: (type_found), (event_loop),
9573         (main):
9574         * tests/examples/xml/.cvsignore:
9575         * tests/examples/xml/Makefile.am:
9576         * tests/examples/xml/createxml.c: (object_saved), (main):
9577         * tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
9578         * tests/old/examples/Makefile.am:
9579         * tests/old/examples/TODO:
9580         * tests/old/examples/controller/.cvsignore:
9581         * tests/old/examples/controller/Makefile.am:
9582         * tests/old/examples/controller/audio-example.c:
9583         * tests/old/examples/helloworld/.cvsignore:
9584         * tests/old/examples/helloworld/Makefile.am:
9585         * tests/old/examples/helloworld/helloworld.c:
9586         * tests/old/examples/launch/.cvsignore:
9587         * tests/old/examples/launch/Makefile.am:
9588         * tests/old/examples/launch/mp3parselaunch.c:
9589         * tests/old/examples/launch/mp3play:
9590         * tests/old/examples/manual/Makefile.am:
9591         * tests/old/examples/metadata/Makefile.am:
9592         * tests/old/examples/metadata/read-metadata.c:
9593         * tests/old/examples/queue/.cvsignore:
9594         * tests/old/examples/queue/Makefile.am:
9595         * tests/old/examples/queue/queue.c:
9596         * tests/old/examples/typefind/.cvsignore:
9597         * tests/old/examples/typefind/Makefile.am:
9598         * tests/old/examples/typefind/typefind.c:
9599         * tests/old/examples/xml/.cvsignore:
9600         * tests/old/examples/xml/Makefile.am:
9601         * tests/old/examples/xml/createxml.c:
9602         * tests/old/examples/xml/runxml.c:
9603           applied some simple fixing to some examples
9604           re-enabled the working examples
9605
9606 2005-12-12  Wim Taymans  <wim@fluendo.com>
9607
9608         * gst/gstsegment.c: (gst_segment_init),
9609         (gst_segment_set_last_stop), (gst_segment_set_seek),
9610         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
9611         (gst_segment_to_running_time):
9612         Added more documentation.
9613         Make sure the last_pos value is updated properly.
9614         Make sure to_stream_time and to_running_time don't
9615         operate on wrong values.
9616
9617         * tests/check/gst/gstsegment.c: (GST_START_TEST):
9618         Update check.
9619
9620 2005-12-12  Michael Smith  <msmith@fluendo.com>
9621
9622         * plugins/elements/gsttypefindelement.c: (free_entry),
9623         (gst_type_find_element_chain):
9624           Now that we're not leaking factories, make sure we keep references
9625           to them while we need them.
9626
9627 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9628
9629         * tests/check/gst/struct_i386.h:
9630           ifdef out the XML structs
9631
9632 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9633
9634         * gst/gstvalue.c: (gst_value_transform_double_fraction):
9635           floor is not needed, F is always positive; this obviates the
9636           need for adding -lm when building without libxml
9637
9638 2005-12-12  Wim Taymans  <wim@fluendo.com>
9639
9640         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
9641         Take current playback rate into account when reporting
9642         the position.
9643
9644 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
9645
9646         * docs/manual/mime-world.fig:
9647           Let's try this again, this time with a file that is
9648           actually in XFig format.
9649
9650 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
9651
9652         * docs/manual/mime-world.fig:
9653           Add audioconvert element to diagram so that it
9654           matches the text and the code (fixes #319526).
9655
9656 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
9657
9658         * docs/pwg/building-chainfn.xml:
9659         * docs/pwg/building-pads.xml:
9660         * docs/pwg/building-state.xml:
9661         * docs/pwg/other-source.xml:
9662           Update state change stuff for 0.10 (fixes #322969).
9663
9664 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
9665
9666         * docs/manual/advanced-dataaccess.xml:
9667         * docs/manual/appendix-checklist.xml:
9668         * docs/manual/appendix-programs.xml:
9669         * docs/manual/basics-pads.xml:
9670         * docs/manual/highlevel-components.xml:
9671         * docs/manual/manual.xml:
9672           Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
9673           add converters in front of pipelines; remove curly
9674           brackets for threads stuff, they no longer exist; use
9675           GST_TYPE_FRACTION for framerates; update some pieces of
9676           code to 0.10, but there's plenty more to do.
9677
9678         * docs/manual/appendix-porting.xml:
9679           Expand on asynchroneous state changes; s/0.9/0.10/;
9680           mention disappearance of gst_init_get_popt_table()
9681           (fixes #322916).
9682
9683 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
9684
9685         * docs/faq/using.xml:
9686           Spider no longer exists, and neither does gst-launch-ext.
9687           Update examples to use decodebin and playbin and put
9688           converters in front of sinks (fixes #323726).
9689
9690 2005-12-09  Michael Smith  <msmith@fluendo.com>
9691
9692         * plugins/elements/gsttypefindelement.c: (find_peek),
9693         (gst_type_find_element_chain):
9694           Fix leaking element factories in typefinding.
9695           Fix problem where we forgot about a probable type on non-seekable
9696           files, and thus later mis-typefound it.
9697
9698 2005-12-09  Michael Smith  <msmith@fluendo.com>
9699
9700         * common/m4/gst-makecontext.m4:
9701         * common/m4/gst-mcsc.m4:
9702         * configure.ac:
9703         * win32/common/config.h:
9704         * win32/common/config.h.in:
9705           Remove makecontext stuff; not used in 0.10 and causes problems on
9706           HPUX according to bug #322441
9707
9708 2005-12-07  Wim Taymans  <wim@fluendo.com>
9709
9710         * tests/check/Makefile.am:
9711         * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
9712         (main):
9713         * tests/check/libs/struct_i386.h:
9714         Added ABI check for libs
9715
9716 2005-12-07  Wim Taymans  <wim@fluendo.com>
9717
9718         * tests/check/Makefile.am:
9719         And add the struct_i386.h to dist.
9720
9721 2005-12-07  Wim Taymans  <wim@fluendo.com>
9722
9723         * tests/check/Makefile.am:
9724         * tests/check/gst/.cvsignore:
9725         * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
9726         (main):
9727         * tests/check/gst/struct_i386.h:
9728         Added check for ABI compatibility.
9729
9730 2005-12-07  Wim Taymans  <wim@fluendo.com>
9731
9732         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
9733         (gst_fake_src_get_times), (gst_fake_src_create):
9734         Fix broken sync option, fixes #323259
9735
9736 2005-12-07  Wim Taymans  <wim@fluendo.com>
9737
9738         * gst/gstbuffer.c:
9739         Small docs update.
9740
9741         * gst/gstcaps.c: (gst_caps_is_equal):
9742         Don't assert on NULL <--> X. Fixes #323260
9743
9744         * gst/gstminiobject.c: (gst_mini_object_replace):
9745         If we're doing atomic operations, we might just as well use
9746         the proper way to get an atomic pointer.
9747
9748         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
9749         Clean up debugging.
9750
9751 2005-12-07  Michael Smith  <msmith@fluendo.com>
9752
9753         * gst/parse/grammar.y:
9754           Remove handling of { } for threads.
9755
9756 2005-12-06  David Schleef  <ds@schleef.org>
9757
9758         * libs/gst/base/gstbasetransform.c: speling fix.
9759
9760 2005-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
9761
9762         * docs/libs/tmpl/gstdataprotocol.sgml:
9763         * docs/random/omega/testing/gstobject.c:
9764         * gst/gst.c:
9765         * gst/gstclock.c:
9766         * gst/gstelement.c:
9767         * gst/gstelementfactory.c:
9768         * gst/gsterror.c:
9769         * gst/gstevent.c:
9770         * gst/gstghostpad.c:
9771         * gst/gstinfo.c:
9772         * gst/gstpadtemplate.c:
9773         * gst/gstregistryxml.c:
9774         * gst/gsttaglist.c:
9775         * gst/gsttagsetter.c:
9776         * gst/gsttypefind.c:
9777         * gst/gstvalue.c:
9778         * libs/gst/base/gstbasesrc.c:
9779         * libs/gst/net/gstnetclientclock.c:
9780         * libs/gst/net/gstnettimeprovider.c:
9781         * plugins/elements/gstfakesrc.c:
9782         * plugins/elements/gstfdsrc.c:
9783         * plugins/elements/gstfilesrc.c:
9784         * plugins/elements/gstidentity.c:
9785         * plugins/elements/gstqueue.c:
9786         * plugins/elements/gsttypefindelement.c:
9787         * plugins/indexers/gstfileindex.c:
9788         * plugins/indexers/gstmemindex.c:
9789         * tests/check/gst/gsttag.c:
9790         * tests/old/examples/cutter/cutter.c:
9791         * tests/old/examples/mixer/mixer.c:
9792         * tests/old/examples/xml/runxml.c: (main):
9793         * tests/old/testsuite/caps/normalisation.c:
9794         * tests/old/testsuite/debug/global.c:
9795         * tests/old/testsuite/parse/parse1.c:
9796         * tools/gst-xmlinspect.c:
9797         * win32/common/dirent.c:
9798           expand tabs
9799
9800 === release 0.10.0 ===
9801
9802 2005-12-05  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
9803
9804         * configure.ac:
9805           releasing 0.10.0, "Maroilles"
9806
9807 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
9808
9809         submitted by: Funda Wang <fundawang@linux.net.cn>
9810
9811         * po/LINGUAS:
9812         * po/zh_CN.po:
9813           added Chinese (Traditional) translation
9814
9815 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
9816
9817         * docs/gst/gstreamer-sections.txt:
9818         * docs/libs/tmpl/gstdataprotocol.sgml:
9819         * docs/random/thomasvs/TODO:
9820         * gst/gstutils.c:
9821         * gst/gstutils.h:
9822           fix docs
9823
9824 2005-12-05  Andy Wingo  <wingo@pobox.com>
9825
9826         patch by: Wim Taymans <wim@fluendo.com>
9827
9828         * libs/gst/base/gstbasetransform.c
9829         (gst_base_transform_prepare_output_buf)
9830         (gst_base_transform_buffer_alloc):
9831         * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
9832         alloc_buffer_and_set_caps.
9833
9834         * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
9835         set_caps on the source pad.
9836         (gst_pad_alloc_buffer_and_set_caps): New function, does what
9837         alloc_buffer used to do. Fixes #322874.
9838
9839         * docs/gst/gstreamer-sections.txt: 
9840         * docs/design/part-negotiation.txt: 
9841         * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
9842         changes.
9843
9844 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
9845
9846         patch by: Sebastien Moutte
9847
9848         * win32/MANIFEST:
9849         * win32/common/config.h.in:
9850         * win32/vs6/libgstcontroller.dsp:
9851           win32 build fixes
9852
9853 2005-12-05  Wim Taymans  <wim@fluendo.com>
9854
9855         * gst/gstcaps.c: (gst_caps_is_equal):
9856         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
9857         (gst_fake_src_create):
9858         Back out previous code changes, leave doc updates, file bugs 
9859         instead. 
9860
9861 2005-12-05  Wim Taymans  <wim@fluendo.com>
9862
9863         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
9864         (gst_fake_src_get_times), (gst_fake_src_create):
9865         * plugins/elements/gstfakesrc.h:
9866         Fix broken sync code.
9867
9868 2005-12-05  Wim Taymans  <wim@fluendo.com>
9869
9870         * gst/gstcaps.c: (gst_caps_is_equal):
9871         Comparing NULL against !NULL yields different caps, not a
9872         failure.
9873
9874 2005-12-05  Wim Taymans  <wim@fluendo.com>
9875
9876         * gst/gstpipeline.c:
9877         Fix small typo in docs.
9878
9879 2005-12-05  Andy Wingo  <wingo@pobox.com>
9880
9881         patch by: Thomas Vander Stichele  <thomas at apestaart dot org>
9882
9883         * gst/gst.c (init_post): remove hard-coded 0.9 location for
9884         registries/plugins with a MAJORMINOR one.
9885         (plugin_desc): Rename library from gstcoreleements to
9886         staticelements. Fixes #323222.
9887
9888 2005-12-05  Tim-Philipp Müller  <tim at centricular dot net>
9889
9890         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
9891           Change debug category to 'collectpads' from 'collect_pads'
9892           (fixes #323250).
9893
9894 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
9895
9896         patch by: Sebastien Moutte
9897
9898         * libs/gst/controller/gstinterpolation.c:
9899           use convert function for uint64/double
9900         * win32/vs6/libgstcontroller.dsp:
9901           link to GLib
9902
9903 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
9904
9905         * gst/gstutils.c: (gst_util_guint64_to_gdouble),
9906         (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
9907         * gst/gstutils.h:
9908         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
9909           add tests that seem to show that the guint64/gdouble conversions
9910           are correct.
9911
9912 2005-12-02  Wim Taymans  <wim@fluendo.com>
9913
9914         * gst/gstregistry.c: (gst_registry_add_path):
9915         * gst/gstregistry.h:
9916         * gst/gstregistryxml.c:
9917         Fix docs again.
9918
9919 2005-12-02  Wim Taymans  <wim@fluendo.com>
9920
9921         * gst/gstutils.c: (gst_util_uint64_scale_int64),
9922         (gst_util_uint64_scale_int):
9923         Small cleanup.
9924
9925         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
9926         Add debug log line.
9927
9928         * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
9929         Add FIXME.
9930
9931 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
9932
9933         * win32/MANIFEST:
9934         * win32/common/config.h:
9935         * win32/vs6/gstreamer.dsw:
9936         * win32/vs6/libgstcoreelements.dsp:
9937         * win32/vs6/libgstelements.dsp:
9938           renamed core elements plugin
9939
9940 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
9941
9942         * tools/gst-run.c: (compare_major_minor), (find_highest_version),
9943         (get_candidates):
9944           do piece-wise major/minor comparison so 0.9 < 0.10
9945           also allow .exe extensions for tools
9946
9947 2005-12-02  Michael Smith  <msmith@fluendo.com>
9948
9949         * gst/gst.c:
9950           Escape a % to make gtkdoc happier; bug 322958.
9951
9952 === release 0.9.7 ===
9953
9954 2005-12-01  Thomas Vander Stichele <thomas (at) apestaart (dot) org>
9955
9956         * configure.ac:
9957           releasing 0.9.7, "My Dog Has No Nose"
9958
9959 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
9960
9961         * common/gst-xmlinspect.py:
9962         * configure.ac:
9963         * docs/libs/tmpl/gstdataprotocol.sgml:
9964         * docs/random/release:
9965         * po/af.po:
9966         * po/az.po:
9967         * po/bg.po:
9968         * po/ca.po:
9969         * po/cs.po:
9970         * po/de.po:
9971         * po/en_GB.po:
9972         * po/fr.po:
9973         * po/it.po:
9974         * po/nb.po:
9975         * po/nl.po:
9976         * po/ru.po:
9977         * po/sq.po:
9978         * po/sr.po:
9979         * po/sv.po:
9980         * po/tr.po:
9981         * po/uk.po:
9982         * po/vi.po:
9983         * win32/common/config.h:
9984         * win32/common/config.h.in:
9985         * win32/vs6/gst_inspect.dsp:
9986         * win32/vs6/gst_launch.dsp:
9987         * win32/vs6/libgstbase.dsp:
9988         * win32/vs6/libgstelements.dsp:
9989         * win32/vs6/libgstreamer.dsp:
9990         * win32/vs7/GStreamer.vcproj:
9991         * win32/vs7/gst-inspect.vcproj:
9992         * win32/vs7/gst-launch.vcproj:
9993         * win32/vs7/libgstbase.vcproj:
9994           bump GST_MAJORMINOR to 0.10
9995           reset libtool version
9996
9997 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
9998
9999         * po/LINGUAS:
10000         * po/bg.po:
10001           Added Bulgarian translation by (Alexander Shopov)
10002
10003 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
10004
10005         * tests/check/gst/gstplugin.c:
10006           fix test
10007
10008 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
10009
10010         * common/gst-xmlinspect.py:
10011         * common/gtk-doc-plugins.mak:
10012         * configure.ac:
10013         * docs/Makefile.am:
10014         * docs/gst/Makefile.am:
10015         * docs/gst/gstreamer-docs.sgml:
10016         * docs/gst/gstreamer-sections.txt:
10017         * docs/gst/gstreamer.types:
10018         * docs/gst/gstreamer.types.in:
10019         * docs/plugins/Makefile.am:
10020         * docs/plugins/gstreamer-plugins-docs.sgml:
10021         * docs/plugins/gstreamer-plugins-sections.txt:
10022         * docs/plugins/gstreamer-plugins.types:
10023         * docs/plugins/inspect.stamp:
10024         * docs/plugins/inspect/plugin-coreelements.xml:
10025         * docs/plugins/inspect/plugin-coreindexers.xml:
10026         * docs/plugins/scanobj-build.stamp:
10027         * gstreamer.spec.in:
10028         * plugins/elements/Makefile.am:
10029         * plugins/elements/gstelements.c:
10030         * plugins/elements/gstfakesink.c:
10031         * plugins/elements/gstfakesrc.c:
10032         * plugins/elements/gstfilesink.c:
10033         * plugins/elements/gstfilesrc.c:
10034         * plugins/elements/gstqueue.c:
10035         * plugins/indexers/Makefile.am:
10036         * plugins/indexers/gstindexers.c:
10037           document core plugins in a separate document just like all the
10038           others
10039           rename these plugins to something starting with core
10040
10041 2005-12-01  Andy Wingo  <wingo@pobox.com>
10042
10043         * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
10044         padding here before, but it missed the commit.
10045
10046 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
10047
10048         * libs/gst/controller/gstinterpolation.c:
10049           whitespace prices have crashed, we should feel free to use some now
10050           use gst_guint64_to_gdouble
10051
10052 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
10053
10054         * libs/gst/controller/gstcontroller.c:
10055         * libs/gst/controller/gsthelper.c:
10056         * libs/gst/controller/gstinterpolation.c:
10057         * libs/gst/controller/lib.c:
10058           wrap config.h include
10059
10060 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
10061
10062         * docs/gst/gstreamer-sections.txt:
10063           update docs
10064
10065 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
10066
10067         * plugins/elements/gstelements.c:
10068         * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
10069         (gst_fd_sink__class_init), (gst_fd_sink__init),
10070         (gst_fd_sink__chain), (gst_fd_sink__set_property),
10071         (gst_fd_sink__get_property):
10072         * plugins/elements/gstfdsink.h:
10073         * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
10074         (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
10075         (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
10076         (gst_fd_src_unlock), (gst_fd_src_set_property),
10077         (gst_fd_src_get_property), (gst_fd_src_create),
10078         (gst_fd_src_is_seekable), (gst_fd_src_get_size),
10079         (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
10080         (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
10081         (gst_fd_src_uri_handler_init):
10082         * plugins/elements/gstfdsrc.h:
10083         * plugins/elements/gstqueue.c: (gst_queue_get_type):
10084           more anal cleanup
10085
10086 2005-11-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
10087
10088         * docs/gst/Makefile.am:
10089         * docs/gst/gstreamer.types.in:
10090         * gst/Makefile.am:
10091           fix the docs build
10092
10093 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10094
10095         * configure.ac:
10096         * gst/Makefile.am:
10097         * gst/gst.c:
10098         * gst/gstplugin.h:
10099         * gst/gstregistry.h:
10100         * tests/benchmarks/complexity.c:
10101         * tests/benchmarks/mass-elements.c:
10102         * tests/check/Makefile.am:
10103         * tools/Makefile.am:
10104         * tools/gst-inspect.c:
10105         * tools/gst-xmlinspect.c:
10106           various fixes to make
10107           --disable-nls --disable-registry --disable-loadsave
10108           --disable-parse --disable-gst-debug
10109           work and get the core .so down to 360444 bytes after stripping
10110
10111 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10112
10113         * Makefile.am:
10114         * configure.ac:
10115           descend into tests
10116         * docs/random/thomasvs/TODO:
10117         * tests/Makefile.am:
10118         * tests/README:
10119           add a README
10120
10121 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10122
10123         * win32/GStreamer.vcproj:
10124         * win32/MANIFEST:
10125         * win32/Makefile:
10126         * win32/Makefile.inspect:
10127         * win32/Makefile.launch:
10128         * win32/Makefile.register:
10129         * win32/README.txt:
10130         * win32/gst-inspect.vcproj:
10131         * win32/gst-launch.vcproj:
10132         * win32/gst-register.vcproj:
10133         * win32/gstelements.vcproj:
10134         * win32/gstgetbits.def:
10135         * win32/gstgetbits.vcproj:
10136         * win32/gstreamer-dbg.def:
10137         * win32/gstreamer.def:
10138         * win32/libgstbase.def:
10139         * win32/libgstbase.vcproj:
10140         * win32/link_oldruntime.c:
10141         * win32/mman.c:
10142         * win32/mman.h:
10143         * win32/mman.inl:
10144         * win32/msvc71.sln:
10145           move even more stuff, win32/ is nice and clean now
10146
10147 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10148
10149         * libs/gst/control/.cvsignore:
10150         * win32/MANIFEST:
10151         * win32/config.h:
10152         * win32/dirent.c:
10153         * win32/dirent.h:
10154         * win32/gstbytestream.def:
10155         * win32/gstbytestream.vcproj:
10156         * win32/gstconfig.h:
10157         * win32/gstenumtypes.c:
10158         * win32/gstenumtypes.h:
10159         * win32/gstoptimalscheduler.vcproj:
10160         * win32/gstversion.h:
10161         * win32/gtchar.h:
10162         * win32/testsuite/bins.vcproj:
10163         * win32/testsuite/bytestream.vcproj:
10164         * win32/testsuite/caps.vcproj:
10165         * win32/testsuite/cleanup.vcproj:
10166         * win32/testsuite/clock.vcproj:
10167         * win32/testsuite/debug.vcproj:
10168         * win32/testsuite/dlopen.vcproj:
10169         * win32/testsuite/dynparams.vcproj:
10170         * win32/testsuite/elements.vcproj:
10171         * win32/testsuite/ghostpads.vcproj:
10172         * win32/testsuite/indexers.vcproj:
10173         * win32/testsuite/negotiation.vcproj:
10174         * win32/testsuite/parse.vcproj:
10175         * win32/testsuite/plugin.vcproj:
10176         * win32/testsuite/refcounting.vcproj:
10177         * win32/testsuite/schedulers.vcproj:
10178         * win32/testsuite/states.vcproj:
10179         * win32/testsuite/tags.vcproj:
10180         * win32/testsuite/threads.vcproj:
10181           remove old win32 stuff that isn't maintained and should be
10182           reorganized
10183
10184 2005-11-30  Andy Wingo  <wingo@pobox.com>
10185
10186         * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
10187         loading the gst.interfaces python module bork.
10188
10189         * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
10190         available since GLib 2.2. Fixes #318031.
10191
10192 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10193
10194         * Makefile.am:
10195         * check/.cvsignore:
10196         * check/Makefile.am:
10197         * check/elements/.cvsignore:
10198         * check/elements/fakesrc.c:
10199         * check/elements/fdsrc.c:
10200         * check/elements/identity.c:
10201         * check/generic/.cvsignore:
10202         * check/generic/states.c:
10203         * check/gst-libs/.cvsignore:
10204         * check/gst-libs/controller.c:
10205         * check/gst-libs/gdp.c:
10206         * check/gst/.cvsignore:
10207         * check/gst/capslist.h:
10208         * check/gst/gst.c:
10209         * check/gst/gstbin.c:
10210         * check/gst/gstbuffer.c:
10211         * check/gst/gstbus.c:
10212         * check/gst/gstcaps.c:
10213         * check/gst/gstelement.c:
10214         * check/gst/gstevent.c:
10215         * check/gst/gstghostpad.c:
10216         * check/gst/gstiterator.c:
10217         * check/gst/gstmessage.c:
10218         * check/gst/gstminiobject.c:
10219         * check/gst/gstobject.c:
10220         * check/gst/gstpad.c:
10221         * check/gst/gstpipeline.c:
10222         * check/gst/gstplugin.c:
10223         * check/gst/gstsegment.c:
10224         * check/gst/gststructure.c:
10225         * check/gst/gstsystemclock.c:
10226         * check/gst/gsttag.c:
10227         * check/gst/gstutils.c:
10228         * check/gst/gstvalue.c:
10229         * check/net/.cvsignore:
10230         * check/net/gstnetclientclock.c:
10231         * check/net/gstnettimeprovider.c:
10232         * check/pipelines/.cvsignore:
10233         * check/pipelines/cleanup.c:
10234         * check/pipelines/simple_launch_lines.c:
10235         * check/pipelines/stress.c:
10236         * check/states/.cvsignore:
10237         * check/states/sinks.c:
10238         * configure.ac:
10239         * examples/Makefile.am:
10240         * examples/appreader/.cvsignore:
10241         * examples/appreader/Makefile.am:
10242         * examples/appreader/appreader.c:
10243         * examples/controller/.cvsignore:
10244         * examples/controller/Makefile.am:
10245         * examples/controller/audio-example.c:
10246         * examples/cutter/.cvsignore:
10247         * examples/cutter/Makefile.am:
10248         * examples/cutter/cutter.c:
10249         * examples/cutter/cutter.h:
10250         * examples/events/Makefile.am:
10251         * examples/events/seek.c:
10252         * examples/helloworld/.cvsignore:
10253         * examples/helloworld/Makefile.am:
10254         * examples/helloworld/helloworld.c:
10255         * examples/helloworld2/.cvsignore:
10256         * examples/helloworld2/Makefile.am:
10257         * examples/helloworld2/helloworld2.c:
10258         * examples/launch/.cvsignore:
10259         * examples/launch/Makefile.am:
10260         * examples/launch/mp3parselaunch.c:
10261         * examples/launch/mp3play:
10262         * examples/manual/.cvsignore:
10263         * examples/manual/Makefile.am:
10264         * examples/manual/extract.pl:
10265         * examples/metadata/Makefile.am:
10266         * examples/metadata/read-metadata.c:
10267         * examples/mixer/.cvsignore:
10268         * examples/mixer/Makefile.am:
10269         * examples/mixer/mixer.c:
10270         * examples/mixer/mixer.h:
10271         * examples/pingpong/.cvsignore:
10272         * examples/pingpong/Makefile.am:
10273         * examples/pingpong/pingpong.c:
10274         * examples/plugins/.cvsignore:
10275         * examples/plugins/Makefile.am:
10276         * examples/plugins/example.c:
10277         * examples/plugins/example.h:
10278         * examples/pwg/.cvsignore:
10279         * examples/pwg/Makefile.am:
10280         * examples/pwg/extract.pl:
10281         * examples/queue/.cvsignore:
10282         * examples/queue/Makefile.am:
10283         * examples/queue/queue.c:
10284         * examples/queue2/.cvsignore:
10285         * examples/queue2/Makefile.am:
10286         * examples/queue2/queue2.c:
10287         * examples/queue3/.cvsignore:
10288         * examples/queue3/Makefile.am:
10289         * examples/queue3/queue3.c:
10290         * examples/queue4/.cvsignore:
10291         * examples/queue4/Makefile.am:
10292         * examples/queue4/queue4.c:
10293         * examples/retag/.cvsignore:
10294         * examples/retag/Makefile.am:
10295         * examples/retag/retag.c:
10296         * examples/retag/transcode.c:
10297         * examples/thread/.cvsignore:
10298         * examples/thread/Makefile.am:
10299         * examples/thread/thread.c:
10300         * examples/typefind/.cvsignore:
10301         * examples/typefind/Makefile.am:
10302         * examples/typefind/typefind.c:
10303         * examples/xml/.cvsignore:
10304         * examples/xml/Makefile.am:
10305         * examples/xml/createxml.c:
10306         * examples/xml/runxml.c:
10307         * tests/Makefile.am:
10308         * tests/check/Makefile.am:
10309         * testsuite/.cvsignore:
10310         * testsuite/Makefile.am:
10311         * testsuite/Rules:
10312         * testsuite/caps/.cvsignore:
10313         * testsuite/caps/Makefile.am:
10314         * testsuite/caps/app_fixate.c:
10315         * testsuite/caps/audioscale.c:
10316         * testsuite/caps/caps.c:
10317         * testsuite/caps/caps.h:
10318         * testsuite/caps/caps_strings:
10319         * testsuite/caps/compatibility.c:
10320         * testsuite/caps/deserialize.c:
10321         * testsuite/caps/enumcaps.c:
10322         * testsuite/caps/eratosthenes.c:
10323         * testsuite/caps/filtercaps.c:
10324         * testsuite/caps/fixed.c:
10325         * testsuite/caps/fraction-convert.c:
10326         * testsuite/caps/fraction-multiply-and-zero.c:
10327         * testsuite/caps/intersect2.c:
10328         * testsuite/caps/intersection.c:
10329         * testsuite/caps/normalisation.c:
10330         * testsuite/caps/random.c:
10331         * testsuite/caps/renegotiate.c:
10332         * testsuite/caps/sets.c:
10333         * testsuite/caps/simplify.c:
10334         * testsuite/caps/string-conversions.c:
10335         * testsuite/caps/structure.c:
10336         * testsuite/caps/subtract.c:
10337         * testsuite/caps/union.c:
10338         * testsuite/debug/.cvsignore:
10339         * testsuite/debug/Makefile.am:
10340         * testsuite/debug/category.c:
10341         * testsuite/debug/commandline.c:
10342         * testsuite/debug/global.c:
10343         * testsuite/debug/output.c:
10344         * testsuite/debug/printf_extension.c:
10345         * testsuite/dlopen/.cvsignore:
10346         * testsuite/dlopen/Makefile.am:
10347         * testsuite/dlopen/dlopen_gst.c:
10348         * testsuite/dlopen/loadgst.c:
10349         * testsuite/elements/.cvsignore:
10350         * testsuite/elements/Makefile.am:
10351         * testsuite/elements/gst-inspect-check.in:
10352         * testsuite/elements/struct_i386.h:
10353         * testsuite/elements/struct_size.c:
10354         * testsuite/indexers/.cvsignore:
10355         * testsuite/indexers/Makefile.am:
10356         * testsuite/indexers/cache1.c:
10357         * testsuite/indexers/indexdump.c:
10358         * testsuite/parse/.cvsignore:
10359         * testsuite/parse/Makefile.am:
10360         * testsuite/parse/parse1.c:
10361         * testsuite/parse/parse2.c:
10362         * testsuite/plugin/.cvsignore:
10363         * testsuite/plugin/Makefile.am:
10364         * testsuite/plugin/README:
10365         * testsuite/plugin/dynamic.c:
10366         * testsuite/plugin/linked.c:
10367         * testsuite/plugin/loading.c:
10368         * testsuite/plugin/registry.c:
10369         * testsuite/plugin/static.c:
10370         * testsuite/plugin/static2.c:
10371         * testsuite/plugin/testplugin.c:
10372         * testsuite/plugin/testplugin2.c:
10373         * testsuite/plugin/testplugin2_s.c:
10374         * testsuite/plugin/testplugin_s.c:
10375         * testsuite/refcounting/.cvsignore:
10376         * testsuite/refcounting/Makefile.am:
10377         * testsuite/refcounting/bin.c:
10378         * testsuite/refcounting/element.c:
10379         * testsuite/refcounting/element_pad.c:
10380         * testsuite/refcounting/mainloop.c:
10381         * testsuite/refcounting/mem.c:
10382         * testsuite/refcounting/mem.h:
10383         * testsuite/refcounting/object.c:
10384         * testsuite/refcounting/pad.c:
10385         * testsuite/refcounting/sched.c:
10386         * testsuite/refcounting/thread.c:
10387         * testsuite/states/.cvsignore:
10388         * testsuite/states/Makefile.am:
10389         * testsuite/states/bin.c:
10390         * testsuite/states/locked.c:
10391         * testsuite/states/parent.c:
10392         * testsuite/threads/.cvsignore:
10393         * testsuite/threads/159566.c:
10394         * testsuite/threads/159852.c:
10395         * testsuite/threads/Makefile.am:
10396         * testsuite/threads/queue.c:
10397         * testsuite/threads/signals.c:
10398         * testsuite/threads/staticrec.c:
10399         * testsuite/threads/thread.c:
10400         * testsuite/threads/threadb.c:
10401         * testsuite/threads/threadc.c:
10402         * testsuite/threads/threadd.c:
10403         * testsuite/threads/threade.c:
10404         * testsuite/threads/threadf.c:
10405         * testsuite/threads/threadg.c:
10406         * testsuite/threads/threadh.c:
10407         * testsuite/threads/threadi.c:
10408           move all of these under tests
10409
10410 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10411
10412         * configure.ac:
10413         * tests/Makefile.am:
10414           fix distcheck
10415
10416 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10417
10418         * docs/gst/gstreamer-sections.txt:
10419         * tests/sched/.cvsignore:
10420         * tests/sched/Makefile.am:
10421         * tests/sched/cases/(fs-fs).xml:
10422         * tests/sched/cases/(fs-i-fs).xml:
10423         * tests/sched/cases/(fs-i-i-fs).xml:
10424         * tests/sched/cases/(fs-i-q[i-fs]).xml:
10425         * tests/sched/dynamic-pipeline.c:
10426         * tests/sched/interrupt1.c:
10427         * tests/sched/interrupt2.c:
10428         * tests/sched/interrupt3.c:
10429         * tests/sched/runtestcases:
10430         * tests/sched/runxml.c:
10431         * tests/sched/sched-stress.c:
10432         * tests/sched/sort.c:
10433         * tests/sched/testcases:
10434         * tests/sched/testcases1.tc:
10435         * tests/seeking/.cvsignore:
10436         * tests/seeking/Makefile.am:
10437         * tests/seeking/seeking1.c:
10438         * tests/threadstate/.cvsignore:
10439         * tests/threadstate/Makefile.am:
10440         * tests/threadstate/test1.c:
10441         * tests/threadstate/test2.c:
10442         * tests/threadstate/threadstate1.c:
10443         * tests/threadstate/threadstate2.c:
10444         * tests/threadstate/threadstate3.c:
10445         * tests/threadstate/threadstate4.c:
10446         * tests/threadstate/threadstate5.c:
10447           remove obsolete tests
10448         * configure.ac:
10449         * tests/bench-complexity.scm:
10450         * tests/bench-mass_elements.scm:
10451         * tests/complexity.c:
10452         * tests/complexity.gnuplot:
10453         * tests/instantiate/.cvsignore:
10454         * tests/instantiate/Makefile.am:
10455         * tests/instantiate/caps.c:
10456         * tests/mass_elements.c:
10457         * tests/network-clock-utils.scm:
10458         * tests/network-clock.scm:
10459         * tests/plot-data:
10460         First pass at cleaning up tests/ dir before moving the rest
10461         Combined with CVS surgery
10462
10463 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10464
10465         * po/POTFILES.in:
10466           queue has moved, update
10467
10468 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10469
10470         * docs/gst/gstreamer-sections.txt:
10471           remove double entries from the docs
10472         * gst/gst_private.h:
10473         * gst/gstinfo.c: (_gst_debug_init):
10474           remove the THREAD debug category
10475         * gst/Makefile.am:
10476         * gst/gstqueue.c:
10477         * gst/gstqueue.h:
10478         * docs/gst/gstreamer.types:
10479         * plugins/elements/gstqueue.c: (gst_queue_get_type),
10480         (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
10481           completely move queue and fix up debugging categories
10482
10483 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10484
10485         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
10486           make initialization portable, using LL is not
10487
10488 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10489
10490         * win32/common/gstconfig.h:
10491           add large padding
10492
10493 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10494
10495         * win32/common/libgstreamer.def:
10496           rename symbols; sort base section
10497
10498 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10499
10500         * gst/gstclock.c: (do_linear_regression):
10501           remove crack non-portable handrolled DEBUG macro
10502
10503 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10504
10505         * docs/random/release:
10506           update notes
10507         * win32/common/gstenumtypes.c: (register_gst_object_flags),
10508         (gst_object_flags_get_type), (register_gst_bin_flags),
10509         (gst_bin_flags_get_type), (register_gst_buffer_flag),
10510         (gst_buffer_flag_get_type), (register_gst_bus_flags),
10511         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
10512         (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
10513         (gst_caps_flags_get_type), (register_gst_clock_return),
10514         (gst_clock_return_get_type), (register_gst_clock_entry_type),
10515         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
10516         (gst_clock_flags_get_type), (register_gst_state),
10517         (gst_state_get_type), (register_gst_state_change_return),
10518         (gst_state_change_return_get_type), (register_gst_state_change),
10519         (gst_state_change_get_type), (register_gst_element_flags),
10520         (gst_element_flags_get_type), (register_gst_core_error),
10521         (gst_core_error_get_type), (register_gst_library_error),
10522         (gst_library_error_get_type), (register_gst_resource_error),
10523         (gst_resource_error_get_type), (register_gst_stream_error),
10524         (gst_stream_error_get_type), (register_gst_event_type_flags),
10525         (gst_event_type_flags_get_type), (register_gst_event_type),
10526         (gst_event_type_get_type), (register_gst_seek_type),
10527         (gst_seek_type_get_type), (register_gst_seek_flags),
10528         (gst_seek_flags_get_type), (register_gst_format),
10529         (gst_format_get_type), (register_gst_index_certainty),
10530         (gst_index_certainty_get_type), (register_gst_index_entry_type),
10531         (gst_index_entry_type_get_type),
10532         (register_gst_index_lookup_method),
10533         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
10534         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
10535         (gst_index_resolver_method_get_type), (register_gst_index_flags),
10536         (gst_index_flags_get_type), (register_gst_debug_level),
10537         (gst_debug_level_get_type), (register_gst_debug_color_flags),
10538         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
10539         (gst_iterator_result_get_type), (register_gst_iterator_item),
10540         (gst_iterator_item_get_type), (register_gst_message_type),
10541         (gst_message_type_get_type), (register_gst_mini_object_flags),
10542         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
10543         (gst_pad_link_return_get_type), (register_gst_flow_return),
10544         (gst_flow_return_get_type), (register_gst_activate_mode),
10545         (gst_activate_mode_get_type), (register_gst_pad_direction),
10546         (gst_pad_direction_get_type), (register_gst_pad_flags),
10547         (gst_pad_flags_get_type), (register_gst_pad_presence),
10548         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
10549         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
10550         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
10551         (gst_plugin_error_get_type), (register_gst_plugin_flags),
10552         (gst_plugin_flags_get_type), (register_gst_rank),
10553         (gst_rank_get_type), (register_gst_query_type),
10554         (gst_query_type_get_type), (register_gst_tag_merge_mode),
10555         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
10556         (gst_tag_flag_get_type), (register_gst_task_state),
10557         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
10558         (gst_alloc_trace_flags_get_type),
10559         (register_gst_type_find_probability),
10560         (gst_type_find_probability_get_type), (register_gst_uri_type),
10561         (gst_uri_type_get_type), (register_gst_parse_error),
10562         (gst_parse_error_get_type):
10563         * win32/common/gstenumtypes.h:
10564         * win32/common/gstversion.h:
10565           update visual studio generated files
10566
10567 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10568
10569         * win32/vs6/libgstbase.dsp:
10570         * win32/vs6/libgstelements.dsp:
10571           update project files for new locations
10572
10573 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10574
10575         * Makefile.am:
10576           remove some files
10577         * README:
10578           reinstate and update
10579         * DEVEL:
10580         * REQUIREMENTS:
10581           removed
10582         * LICENSE:
10583         * docs/random/LICENSE:
10584           moved to random
10585
10586 2005-11-30  Edward Hervey  <edward@fluendo.com>
10587
10588         * gst/gsttypefind.c: (gst_type_find_register):
10589         * gst/gsttypefind.h:
10590         * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
10591         (gst_type_find_factory_dispose):
10592         * gst/gsttypefindfactory.h:
10593         Fix memory leak in GstTypeFindFactory.
10594
10595 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
10596
10597         * gst/gst.c:
10598         * plugins/elements/Makefile.am:
10599         * plugins/elements/gstelements.c:
10600         * plugins/elements/gstqueue.c:
10601           move queue from core to the elements plugin
10602
10603 2005-11-29  Andy Wingo  <wingo@pobox.com>
10604
10605         * libs/gst/base/gstbasetransform.h: 
10606         * libs/gst/base/gstbasesrc.h: 
10607         * libs/gst/base/gstbasesink.h: en-LARGE the padding.
10608
10609         * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
10610         of pointers by which to pad very extensible base classes (like the
10611         ones in libs/gst/base).
10612
10613 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
10614
10615         * docs/gst/gstreamer-docs.sgml:
10616         * docs/gst/gstreamer-sections.txt:
10617         * docs/libs/gstreamer-libs-docs.sgml:
10618         * docs/libs/gstreamer-libs-sections.txt:
10619           moving documentation from core to lib
10620
10621 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
10622
10623         * check/Makefile.am:
10624         * configure.ac:
10625         * docs/gst/Makefile.am:
10626         * gst/Makefile.am:
10627         * gst/base/.cvsignore:
10628         * gst/base/Makefile.am:
10629         * gst/base/README:
10630         * gst/base/gstadapter.c:
10631         * gst/base/gstadapter.h:
10632         * gst/base/gstbasesink.c:
10633         * gst/base/gstbasesink.h:
10634         * gst/base/gstbasesrc.c:
10635         * gst/base/gstbasesrc.h:
10636         * gst/base/gstbasetransform.c:
10637         * gst/base/gstbasetransform.h:
10638         * gst/base/gstcollectpads.c:
10639         * gst/base/gstcollectpads.h:
10640         * gst/base/gstpushsrc.c:
10641         * gst/base/gstpushsrc.h:
10642         * gst/base/gsttypefindhelper.c:
10643         * gst/base/gsttypefindhelper.h:
10644         * gst/check/Makefile.am:
10645         * gst/check/gstcheck.c:
10646         * gst/check/gstcheck.h:
10647         * gst/net/Makefile.am:
10648         * gst/net/gstnet.h:
10649         * gst/net/gstnetclientclock.c:
10650         * gst/net/gstnetclientclock.h:
10651         * gst/net/gstnettimepacket.c:
10652         * gst/net/gstnettimepacket.h:
10653         * gst/net/gstnettimeprovider.c:
10654         * gst/net/gstnettimeprovider.h:
10655         * libs/gst/Makefile.am:
10656         * libs/gst/base/Makefile.am:
10657         * libs/gst/base/gstbasetransform.c:
10658         * libs/gst/check/Makefile.am:
10659         * plugins/elements/Makefile.am:
10660         * po/POTFILES.in:
10661           CVS surgery + support to move base, check, and net out of gst
10662           and into libs/gst
10663
10664 2005-11-29  Andy Wingo  <wingo@pobox.com>
10665
10666         * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
10667
10668         * gst/gststructure.h (struct _GstStructure): Only one pointer of
10669         padding.
10670
10671         * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
10672
10673         * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
10674
10675         * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
10676
10677         * gst/gstobject.h: (struct _GstObject): Only one pointer of
10678         padding; reduces object size by about 30%. We don't expect
10679         anything else to go into gstobject.
10680
10681         * gst/gstminiobject.h (struct _GstMiniObject)
10682         (struct _GstMiniObjectClass): Only one pointer of padding; the
10683         payload is only a pointer and two ints anyway. For the class there
10684         are only two methods as well.
10685         
10686         * gst/gstelement.h (struct _GstElementClass): Removed
10687         the state_changed signal callback, it is not used.
10688
10689 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10690
10691         * docs/gst/gstreamer.types:
10692           fix includes, though they are a little dinky
10693
10694 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
10695
10696         * check/Makefile.am:
10697           look in the right place for elements, a lot more chance of
10698           success
10699         * gst/Makefile.am:
10700           remove indexers and elements subdirs
10701         * plugins/Makefile.am:
10702           make indexers conditional
10703
10704 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
10705
10706         * Makefile.am:
10707         * configure.ac:
10708         * plugins/elements/Makefile.am:
10709         * plugins/elements/gstcapsfilter.c:
10710         * plugins/elements/gstfilesink.c:
10711         * plugins/elements/gstfilesrc.c:
10712         * plugins/elements/gstidentity.c:
10713         * plugins/indexers/Makefile.am:
10714           do CVS surgery and related build fixery to move elements
10715           and indexers in a new gstreamer/plugins directory, out of the
10716           gst/ directory
10717
10718 2005-11-29  Andy Wingo  <wingo@pobox.com>
10719
10720         * check/Makefile.am:
10721         * pkgconfig/gstreamer-net-uninstalled.pc.in:
10722         * pkgconfig/gstreamer-net.pc.in:
10723         * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
10724         #322257.
10725
10726 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10727
10728         * tools/Makefile.am:
10729         * tools/gst-complete.1.in:
10730         * tools/gst-complete.c:
10731         * tools/gst-compprep.1.in:
10732         * tools/gst-compprep.c:
10733           removing -compprep and -complete
10734
10735 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10736
10737         * gst/gstevent.c: (gst_event_new_new_segment),
10738         (gst_event_parse_new_segment):
10739         * gst/gstevent.h:
10740           fix #320529 - clean up new_segment API and structure.
10741           Let's hope everyone was using the methods, and not the structure.
10742
10743 2005-11-29  Edward Hervey  <edward@fluendo.com>
10744
10745         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10746         (gst_base_sink_event), (gst_base_sink_do_sync),
10747         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
10748         Properly handle non GST_FORMAT_TIME segment
10749         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
10750         Properly handle non GST_FORMAT_TIME segment
10751         * gst/gstsegment.c:
10752         This function is valid if the accumulator is 0 and the format
10753         is different from the requested format.
10754         
10755 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
10756
10757         * docs/gst/gstreamer-sections.txt:
10758         Add gst_query_new_seeking and gst_query_parse_seeking to the
10759         docs.
10760
10761 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
10762
10763         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
10764           Treat a pad alloc with new caps the same as if we were not
10765           negotiated, in order to allow a changing upstream output
10766           to produce a new format of data.
10767
10768 2005-11-29  Edward Hervey  <edward@fluendo.com>
10769
10770         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
10771         (gst_base_transform_event), (gst_base_transform_eventfunc):
10772         The event virtual method is now properly implemented, with a default
10773         handler
10774         Sub classes should call the parent_class event method. They should
10775         return FALSE if they had a problem handling the given event, or don't
10776         want GstBaseTransform to send that even downstream
10777         * gst/elements/gstidentity.c: (gst_identity_class_init),
10778         (gst_identity_init), (gst_identity_event),
10779         (gst_identity_transform_ip), (gst_identity_set_property),
10780         (gst_identity_get_property):
10781         * gst/elements/gstidentity.h:
10782         Added the single-segment boolean property.
10783         If set to TRUE, it will output a single segment of data, starting from
10784         0, will eat up all incoming newsegment, and modify the timestamp of the
10785         buffers accordingly
10786
10787 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
10788
10789         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
10790           Don't ref NULL target pad (#322751). Improve docs.
10791
10792 2005-11-29  Michael Smith  <msmith@fluendo.com>
10793
10794         * gst/gstregistryxml.c: (load_plugin):
10795           Don't crash if we failed to load a feature from a plugin. 
10796
10797 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
10798
10799         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
10800         (GST_START_TEST):
10801           use more check API and less GLib API
10802
10803 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
10804
10805         * Makefile.am:
10806           don't run checks if we don't have check
10807         * common/check.mak:
10808           remove the registry when running make torture
10809         * docs/gst/gstreamer-sections.txt:
10810           remove second multiply
10811         * gst/gstqueue.c: (gst_queue_loop):
10812           fix a compile warning when disabling debug
10813
10814 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
10815
10816         * gst/gstinfo.h:
10817         Hey! Let's print the pad name if the pointer != NULL instead
10818         of when it == NULL :-)
10819
10820 2005-11-28  Wim Taymans  <wim@fluendo.com>
10821
10822         * check/gst/gstutils.c: (GST_START_TEST):
10823         Updated check, add some scaling accuracy checking code.
10824
10825         * gst/gstutils.c: (gst_util_div128_64),
10826         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
10827         (gst_util_uint64_scale_int):
10828         Fix 6 times faster division code. Optimize for common 
10829         1/1 and less common X/1 cases.
10830
10831 2005-11-28  Wim Taymans  <wim@fluendo.com>
10832
10833         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
10834         More checks.
10835
10836         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
10837         (do_linear_regression), (gst_clock_add_observation):
10838         Cleanups.
10839         Release lock when the clock cannot be slaved.
10840         Catch the case where the regression returned an invalid denominator.
10841
10842         * gst/gstutils.c: (gst_util_div128_64_iterate),
10843         (gst_util_div128_64), (gst_util_uint64_scale_int64),
10844         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
10845         Add protentially more performant non-iterative 128/64 divide function
10846         that unfortunatly does not work yet.
10847         Shortcut the trivial 0/X = 0 case.
10848         Remove the warnings on overflow.
10849
10850 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
10851
10852         * gst/gstplugin.c: (gst_plugin_register_func):
10853           everything causing a plugin not to load should be at least a WARNING
10854
10855 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
10856
10857         * docs/random/ensonic/dparams.txt:
10858           some TODOs for the next dev cycle
10859         * libs/gst/controller/gstcontroller.c:
10860         (gst_controlled_property_set_interpolation_mode),
10861         (gst_controlled_property_new):
10862         * libs/gst/controller/gstcontroller.h:
10863           use base type to assign acccessor functions
10864
10865 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
10866
10867         * check/Makefile.am:
10868         Oops, that should have been top_srcdir
10869
10870 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
10871
10872         * check/Makefile.am:
10873         * check/elements/fdsrc.c: (GST_START_TEST):
10874         Use a cmdline define to specify the location of a file to use for
10875         testing, to avoid breaking distcheck.
10876
10877 2005-11-28  Andy Wingo  <wingo@pobox.com>
10878
10879         * gst/gstpad.c (fixate_value): Use array functions for arrays.
10880
10881 2005-11-28  Edward Hervey  <edward@fluendo.com>
10882
10883         * tools/gst-launch.c: (main):
10884         Clarify the output strings, makes it easier to translate.
10885         Fixes #322626
10886
10887 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
10888
10889         * gst/Makefile.am:
10890           don't try and build net if we don't even have <sys/socket.h>
10891
10892 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
10893
10894         * check/Makefile.am:
10895         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
10896         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
10897           Add tests for fdsrc seekability
10898
10899         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
10900         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
10901         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
10902         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
10903         * gst/elements/gstfdsrc.h:
10904           fdsrc should not be a 'live' source.
10905           Implement seeking on seekable fd's.
10906
10907         * gst/gstquery.c: (gst_query_new_seeking),
10908         (gst_query_parse_seeking):
10909         * gst/gstquery.h:
10910           Implement SEEKING query functions: 
10911             *_new_seeking and *_parse_seeking
10912
10913 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
10914
10915         * gst/gstelement.c: (gst_element_dispose):
10916           don't loop forever
10917
10918         * gst/gstiterator.c:
10919         * gst/gststructure.c:
10920           doc fixes
10921
10922         * libs/gst/controller/gstcontroller.c:
10923         (gst_controlled_property_set_interpolation_mode):
10924         * libs/gst/controller/gstcontroller.h:
10925         * libs/gst/controller/gstinterpolation.c:
10926         (interpolate_none_get_enum_value_array):
10927           support controlling enums
10928
10929 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
10930
10931         * gst/gstvalue.c:
10932           Improve documentation for gst_value_union().
10933
10934         * gst/gstvalue.h:
10935           Change return value for union, intersect and subtract functions
10936           from gint to gboolean.
10937
10938 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
10939
10940         * gst/gstvalue.c: (gst_value_serialize_any_list),
10941         (gst_value_transform_any_list_string),
10942         (gst_value_deserialize_list), (gst_value_deserialize_array),
10943         (gst_value_set_int_range), (gst_value_deserialize_int_range),
10944         (gst_value_set_double_range), (gst_value_deserialize_double_range),
10945         (gst_value_set_fraction_range_full),
10946         (gst_value_deserialize_fraction_range),
10947         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
10948         (gst_value_deserialize_boolean),
10949         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
10950         (gst_value_serialize_float), (gst_value_deserialize_float),
10951         (gst_string_wrap), (gst_value_deserialize_string),
10952         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
10953         (gst_value_union_int_range_int_range),
10954         (gst_value_intersect_int_range_int_range),
10955         (gst_value_intersect_double_range_double_range),
10956         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
10957         (gst_value_subtract_int_range_int_range),
10958         (gst_value_subtract_double_double_range),
10959         (gst_value_subtract_double_range_double_range),
10960         (gst_value_deserialize_fraction):
10961         * gst/gstvalue.h:
10962           Use gint, gdouble and gchar in our API instead of int, double and
10963           char (and make usage in gstvalue.c more consistent).
10964
10965 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
10966
10967         * check/Makefile.am:
10968         * libs/gst/controller/Makefile.am:
10969         * libs/gst/dataprotocol/Makefile.am:
10970           fix up Makefile.am and remove GST_ENABLE_NEW
10971
10972 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
10973
10974         * configure.ac:
10975         * gst/Makefile.am:
10976         * gst/base/Makefile.am:
10977         * gst/check/Makefile.am:
10978         * gst/elements/Makefile.am:
10979         * gst/net/Makefile.am:
10980           update LDFLAGS use some more
10981
10982 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
10983
10984         * common/m4/gst-doc.m4:
10985           Fixes #312589
10986
10987 2005-11-26  Edward Hervey  <edward@fluendo.com>
10988
10989         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
10990         This shouldn't issue a g_warning since it returns NULL if it
10991         couldn't find the plugin, and all functions using this behave
10992         properly on a NULL return. Switching to a GST_WARNING.
10993
10994 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
10995
10996         * gst/gstbin.c: (gst_bin_handle_message_func):
10997         Don't leak clock messages.
10998
10999 2005-11-25  Wim Taymans  <wim@fluendo.com>
11000
11001         * gst/gstutils.c: (gst_util_uint64_scale_int64),
11002         (gst_util_uint64_scale_int):
11003         Optimisations, remove unneeded vars.
11004
11005 2005-11-25  Wim Taymans  <wim@fluendo.com>
11006
11007         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
11008         Added more checks for the high precision uint64 cases.
11009
11010         * gst/gstutils.c: (gst_util_uint64_scale_int64),
11011         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
11012         Implement high precision (guint64 * guint64) / guint64.
11013
11014 2005-11-24  Wim Taymans  <wim@fluendo.com>
11015
11016         * gst/base/gstbasesrc.c: (gst_base_src_query):
11017         Fix wrong percentage query.
11018
11019         * gst/gstutils.c: (gst_util_uint64_scale),
11020         (gst_util_uint64_scale_int):
11021         Add some more common cases that can be handled 
11022         efficiently to _scale.
11023
11024 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
11025
11026         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
11027         (gst_mini_object_suite):
11028           don't use check calls from threads; check probably isn't
11029           threadsafe and using a lock to make it threadsafe would
11030           defeat the purpose of this check
11031         * gst/check/gstcheck.c:
11032         * gst/check/gstcheck.h:
11033           use GST_DEBUG some more
11034
11035 2005-11-24  Wim Taymans  <wim@fluendo.com>
11036
11037         * gst/gstutils.c: (gst_util_uint64_scale),
11038         (gst_util_uint64_scale_int):
11039         Chain trivial case to _scale_int.
11040
11041 2005-11-24  Wim Taymans  <wim@fluendo.com>
11042
11043         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
11044         Added test for scaling.
11045
11046         * gst/gstclock.h:
11047         Small doc fix.
11048
11049         * gst/gstutils.c: (gst_util_uint64_scale_int):
11050         Implemented high precision scaling code.
11051
11052 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
11053
11054         * gst/gstinfo.h:
11055           do not crash on pad==NULL
11056
11057 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
11058
11059         Patch by: Stefan Kost
11060
11061         * common/gtk-doc.mak:
11062         * docs/gst/Makefile.am:
11063         * docs/libs/Makefile.am:
11064           Fix distcheck issues for the libraries docs build
11065           Closes #319599.
11066
11067 2005-11-24  Michael Smith <msmith@fluendo.com>
11068
11069         * docs/manual/basics-helloworld.xml:
11070           Fix bug #315027: memory leak in example code in docs.
11071
11072 2005-11-24  Michael Smith <msmith@fluendo.com>
11073
11074         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
11075           Unlock the PREROLL_LOCK in a failure case.
11076
11077 2005-11-24  Wim Taymans  <wim@fluendo.com>
11078
11079         * docs/gst/gstreamer-sections.txt:
11080         * gst/base/gstadapter.h:
11081         * gst/base/gstbasesink.h:
11082         * gst/base/gstbasesrc.h:
11083         * gst/base/gstbasetransform.h:
11084         * gst/base/gstpushsrc.h:
11085         * gst/elements/gstfakesink.h:
11086         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
11087         * gst/elements/gstfakesrc.h:
11088         * gst/elements/gstfilesink.h:
11089         * gst/elements/gstfilesrc.h:
11090         * gst/gst.c:
11091         * gst/gstbin.c:
11092         * gst/gstbuffer.c: (_gst_buffer_copy):
11093         * gst/gstbus.h:
11094         * gst/gstcaps.c:
11095         * gst/gstchildproxy.c:
11096         * gst/gstclock.c:
11097         * gst/gstelement.c:
11098         * gst/gstelementfactory.c:
11099         * gst/gstelementfactory.h:
11100         * gst/gstevent.c:
11101         * gst/gstghostpad.h:
11102         * gst/gstindex.h:
11103         * gst/gstinterface.h:
11104         * gst/gstminiobject.c:
11105         * gst/gstminiobject.h:
11106         * gst/gstpad.c:
11107         * gst/gstpad.h:
11108         * gst/gstpadtemplate.h:
11109         * gst/gstpipeline.h:
11110         * gst/gstpluginfeature.h:
11111         * gst/gstquery.h:
11112         * gst/gstqueue.h:
11113         * gst/gsttaglist.c:
11114         * gst/gsttaglist.h:
11115         * gst/gsttagsetter.c:
11116         * gst/gsttagsetter.h:
11117         * gst/gsttrace.c:
11118         * gst/gsttrace.h:
11119         * gst/gsttypefind.h:
11120         * gst/gsturi.h:
11121         * gst/gstvalue.c:
11122         * gst/net/gstnetclientclock.c:
11123         * gst/net/gstnetclientclock.h:
11124         * gst/net/gstnettimepacket.c:
11125         * gst/net/gstnettimeprovider.c:
11126         * gst/net/gstnettimeprovider.h:
11127         Doc fixes.
11128
11129 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
11130
11131         * configure.ac: back to HEAD
11132
11133 === release 0.9.6 ===
11134
11135 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
11136
11137         * configure.ac:
11138           releasing 0.9.6, "Always On Time"
11139
11140 2005-11-23  Wim Taymans  <wim@fluendo.com>
11141
11142         * docs/gst/gstreamer-sections.txt:
11143         * gst/glib-compat.c:
11144         * gst/gsttagsetter.c:
11145         * gst/gstvalue.c:
11146         * gst/net/gstnetclientclock.c:
11147         * gst/net/gstnettimepacket.h:
11148         Doc updates.
11149
11150 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
11151
11152         * docs/faq/using.xml:
11153         * docs/libs/tmpl/gstcontrol.sgml:
11154         * docs/manual/advanced-dparams.xml:
11155         * docs/manual/appendix-checklist.xml:
11156         * docs/manual/basics-elements.xml:
11157         * docs/pwg/other-source.xml:
11158         * docs/random/moving-plugins:
11159         * gst/gstpad.c:
11160         * tools/gst-launch.1.in:
11161           remove mentions of sinesrc
11162
11163 2005-11-23  Michael Smith <msmith@fluendo.com>
11164
11165         * docs/gst/gstreamer-sections.txt:
11166           Update for new API and API changes.
11167         * gst/gstobject.h:
11168           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
11169         * gst/gstvalue.c:
11170           Documentation typo fix.
11171         * gst/net/gstnettimepacket.c:
11172           Documentation fixes for arguments.
11173
11174 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
11175
11176         * gst/gststructure.c: (gst_structure_get_fraction),
11177         (gst_structure_parse_value),
11178         (gst_structure_fixate_field_nearest_fraction):
11179         * gst/gststructure.h:
11180         * gst/gstutils.c: (gst_util_uint64_scale_int):
11181         * gst/gstutils.h:
11182         * scripts/update-funcnames:
11183         API Changes. 
11184         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
11185         Make gst_structure_fixate_field_nearest_fraction take a numerator
11186         and denominator argument instead of a GValue
11187         add gst_structure_get_fraction helper function.
11188
11189 2005-11-23  Wim Taymans  <wim@fluendo.com>
11190
11191         * docs/design/part-TODO.txt:
11192         Update TODO.
11193
11194         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
11195         * gst/net/gstnetclientclock.h:
11196         Use parent fields for timeout and window_size.
11197
11198 2005-11-23  Andy Wingo  <wingo@pobox.com>
11199
11200         * check/net/gstnetclientclock.c (test_functioning): Adjust to
11201         rate_num/rate_denom change.
11202
11203         * gst/net/gstnetclientclock.c
11204         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
11205         OBJECT_LOCK. Don't call add_observation with the lock.
11206
11207         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
11208         fraction.
11209         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
11210         rate fraction.
11211         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
11212         deal with rate as a fraction whose numerator and denominator are
11213         GstClockTime values.
11214         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
11215         master; the other fields are protected by the SLAVE_LOCK.
11216         (do_linear_regression): Note that this must be called with the
11217         SLAVE_LOCK.
11218         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
11219         OBJECT_LOCK. Call set_calibration instead of touching the
11220         variables directly.
11221         (gst_clock_set_property, gst_clock_get_property): Protect
11222         master/slave parameters with the SLAVE_LOCK.
11223
11224         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
11225         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
11226         note that all of the instance variables that add_observation and
11227         the set_master functions use are protected by that lock and not
11228         the OBJECT_LOCK.
11229         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
11230
11231         * gst/gstclock.c (gst_clock_add_observation): No longer requires
11232         the caller to take the object lock.
11233
11234 2005-11-23  Wim Taymans  <wim@fluendo.com>
11235
11236         * gst/gsterror.c: (_gst_core_errors_init):
11237         * gst/gsterror.h:
11238         Add error for clock stuff.
11239
11240         * gst/gstpipeline.c: (gst_pipeline_change_state),
11241         (gst_pipeline_set_clock):
11242         Post clock error when clock cannot be used in a pipeline.
11243
11244 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
11245
11246         * docs/gst/gstreamer-sections.txt:
11247           make two symbols from gstinfo private for the docs
11248         * gst/base/gstcollectpads.h:
11249         * gst/gstutils.c:
11250           fix doc typos, update docs
11251
11252 2005-11-22  Wim Taymans  <wim@fluendo.com>
11253
11254         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
11255         (gst_base_sink_wait), (gst_base_sink_do_sync),
11256         (gst_base_sink_handle_event):
11257         * gst/base/gstbasesink.h:
11258         No need to store the clock, the parent element class already
11259         has it.
11260
11261         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
11262         Updates for clock_set returning a gboolean
11263
11264         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
11265         (gst_clock_id_wait_async), (gst_clock_class_init),
11266         (gst_clock_init), (gst_clock_finalize),
11267         (gst_clock_get_internal_time), (gst_clock_get_time),
11268         (gst_clock_slave_callback), (gst_clock_set_master),
11269         (gst_clock_get_master), (do_linear_regression),
11270         (gst_clock_add_observation), (gst_clock_set_property),
11271         (gst_clock_get_property):
11272         * gst/gstclock.h:
11273         Implement master/slave. When setting a clock as a slave, a
11274         periodic timeout is scheduled to sample master and slave times.
11275         Then the slave clock is recalibrated to match offset and rate
11276         of the master clock.
11277         Update logging a bit.
11278         Add flag so that a clock can state that is cannot be slaved to
11279         another clock.
11280
11281         * gst/gstelement.c: (gst_element_set_clock):
11282         * gst/gstelement.h:
11283         The set clock returns a gboolean for when an element cannot
11284         deal with the selected clock in the pipeline. 
11285
11286         * gst/gstpipeline.c: (gst_pipeline_change_state),
11287         (gst_pipeline_set_clock):
11288         * gst/gstpipeline.h:
11289         Handle the case where the selected clock cannot be set on
11290         the pipeline.
11291
11292         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
11293         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
11294         (gst_net_client_clock_set_property),
11295         (gst_net_client_clock_get_property),
11296         (gst_net_client_clock_observe_times):
11297         * gst/net/gstnetclientclock.h:
11298         Use regression code in GstClock parent, remove duplicated
11299         functionality.
11300
11301 2005-11-22  Michael Smith <msmith@fluendo.com>
11302
11303         * gst/gstutils.c: (gst_util_clock_time_scale):
11304         * gst/gstutils.h:
11305         * docs/gst/gstreamer-sections.txt:
11306           Rename method to have extra underscore.
11307
11308 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
11309
11310         * gst/elements/Makefile.am:
11311         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
11312         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
11313         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
11314         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
11315         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
11316         * gst/elements/gstfakesrc.h:
11317         * gst/gstqueue.c: (queue_leaky_get_type):
11318           correctly fix GEnumValues so that nick is the short lowercase
11319           dashed tag
11320         * tools/gst-inspect.c: (print_element_properties_info):
11321           also show the nick, since it's useful to use from parse_launch
11322           syntax
11323           Fixes #322139
11324
11325 2005-11-22  Michael Smith <msmith@fluendo.com>
11326
11327         * gst/gstutils.c: (gst_util_clocktime_scale):
11328         * gst/gstutils.h:
11329         * docs/gst/gstreamer-sections.txt:
11330           Add util method for scaling a clocktime by a fraction. Useful 
11331           implementation is left as an exercise for the reader.
11332
11333 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
11334
11335         * gst/gstvalue.c: (gst_value_collect_fraction_range):
11336         If needed, allocate storage in the destination value during
11337         collection.
11338
11339 2005-11-22  Edward Hervey  <edward@fluendo.com>
11340
11341         * docs/gst/gstreamer-sections.txt:
11342         * gst/Makefile.am:
11343         * gst/gst.h:
11344         * gst/gsturitype.c:
11345         * gst/gsturitype.h:
11346         * gst/gstutils.c: (gst_util_set_object_arg):
11347         * tools/gst-compprep.c: (main):
11348         * tools/gst-inspect.c: (print_element_properties_info):
11349         Removed GstURI, closes bug #321061
11350
11351 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
11352
11353         * check/gst/gststructure.c: (GST_START_TEST):
11354         * gst/gststructure.c: (gst_structure_parse_value):
11355           Oops, broke automatic string type parsing.
11356           Add a test to catch it in future.
11357
11358 2005-11-22  Andy Wingo  <wingo@pobox.com>
11359
11360         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
11361         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
11362         Actually rename the function implementations. Grr.
11363
11364 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
11365
11366         * check/gst/capslist.h:
11367           Comment test cases
11368         * check/gst/gststructure.c: (GST_START_TEST),
11369         (gst_structure_suite):
11370           Test automatic value type detection in gst_structure_from_string.
11371         * gst/gststructure.c: (gst_structure_parse_value):
11372           Add fraction as a type we try and guess automatically in
11373           caps/structure strings.
11374
11375 2005-11-22  Andy Wingo  <wingo@pobox.com>
11376
11377         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
11378
11379         * gst/gsttagsetter.h:
11380         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
11381         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
11382         (gst_tag_setter_add_tag_valist)
11383         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
11384         _add_values, _add_valist, and _add_valist_values. Since this is an
11385         interface the function suffixes should be more explicit so
11386         language binding don't end up with element.add_valist ->
11387         gst_tag_setter_add_valist, for example. Fixes #322069.
11388
11389 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
11390
11391         * check/gst/gstcaps.c: (GST_START_TEST):
11392           Extend caps string tests to check that a caps to string
11393           conversion is reversible and produces the same caps.
11394
11395         * gst/gststructure.c: (gst_structure_value_get_generic_type):
11396           Output "fraction" as the generic type fraction range, so caps
11397           serialisation and deserialisation works.
11398         * check/gst/capslist.h:
11399         * gst/gstvalue.c: (gst_value_deserialize_fraction):
11400           Support 'MIN' and 'MAX' for deserialising fractions.
11401
11402 2005-11-22  Andy Wingo  <wingo@pobox.com>
11403
11404         * gst/gstevent.h (gst_event_new_new_segment)
11405         (gst_event_parse_new_segment, gst_event_new_buffer_size)
11406         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
11407         Renamed from *_newsegment, *_buffersize, *_notarget.
11408
11409         * scripts/update-funcnames: New script, performs the changes
11410         listed above.
11411
11412 2005-11-22  Wim Taymans  <wim@fluendo.com>
11413
11414         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
11415         Make sure the GstFlowReturn is returned.
11416
11417         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
11418         (gst_bus_add_signal_watch):
11419         * gst/gstbus.h:
11420         add gst_bus_add_signal_watch_full.
11421
11422         * gst/gstplugin.c: (gst_plugin_load_file):
11423         Small style cleanup.
11424
11425 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
11426
11427         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
11428           Block the fakesrc srcpad when we send an event, to avoid
11429           contention on the stream_lock causing random test failures.
11430
11431 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
11432
11433         * check/gst/gstvalue.c: (GST_START_TEST):
11434         * gst/gstvalue.c: (gst_value_fraction_subtract):
11435           Fix subtraction.
11436
11437 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
11438
11439         * gst/gst.h:
11440           include "gstchildproxy.h"
11441         * gst/gstchildproxy.h:
11442         * libs/gst/controller/gstcontroller.h:
11443           use G_GNUC_NULL_TERMINATED
11444
11445 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
11446
11447         * check/gst/capslist.h:
11448         * check/gst/gstcaps.c: (GST_START_TEST):
11449         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
11450         * gst/gststructure.c: (gst_structure_parse_range),
11451         (gst_structure_fixate_field_nearest_fraction):
11452         * gst/gststructure.h:
11453         * gst/gstvalue.c: (gst_value_init_fraction_range),
11454         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
11455         (gst_value_collect_fraction_range),
11456         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
11457         (gst_value_set_fraction_range_full),
11458         (gst_value_get_fraction_range_min),
11459         (gst_value_get_fraction_range_max),
11460         (gst_value_serialize_fraction_range),
11461         (gst_value_transform_fraction_range_string),
11462         (gst_value_compare_fraction_range),
11463         (gst_value_deserialize_fraction_range),
11464         (gst_value_intersect_fraction_fraction_range),
11465         (gst_value_intersect_fraction_range_fraction_range),
11466         (gst_value_subtract_fraction_fraction_range),
11467         (gst_value_subtract_fraction_range_fraction),
11468         (gst_value_subtract_fraction_range_fraction_range),
11469         (gst_value_collect_fraction), (gst_value_fraction_multiply),
11470         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
11471         (gst_value_transform_string_fraction), (_gst_value_initialize):
11472         * gst/gstvalue.h:
11473           Implement fraction ranges and extend GstFraction to support
11474           arithmetic subtraction, as well as deserialization from integer
11475           strings such as "100"
11476           Add a testsuite as for int and double range set operations
11477
11478 2005-11-21  Andy Wingo  <wingo@pobox.com>
11479
11480         * gst/gsttaglist.h: 
11481         * gst/gstcaps.h: 
11482         * gst/gststructure.h: Add glib-compat.h.
11483
11484 2005-11-21  Wim Taymans  <wim@fluendo.com>
11485
11486         * gst/gstbin.c: (gst_bin_change_state_func):
11487         Fix for #321595
11488
11489 2005-11-21  Wim Taymans  <wim@fluendo.com>
11490
11491         * gst/gstsegment.h:
11492         And add a nice define too.
11493
11494 2005-11-21  Wim Taymans  <wim@fluendo.com>
11495
11496         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
11497         (gst_segment_new), (gst_segment_free), (gst_segment_init),
11498         (gst_segment_set_duration), (gst_segment_set_last_stop),
11499         (gst_segment_set_seek), (gst_segment_set_newsegment),
11500         (gst_segment_to_stream_time), (gst_segment_to_running_time),
11501         (gst_segment_clip):
11502         * gst/gstsegment.h:
11503         Make binding friendly.
11504
11505 2005-11-21  Andy Wingo  <wingo@pobox.com>
11506
11507         * gst/gsttagsetter.h: 
11508         * gst/gsttaglist.h: 
11509         * gst/gststructure.h: 
11510         * gst/gstcaps.h: 
11511         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
11512         #319940.
11513
11514         * gst/gsterror.c (_gst_core_errors_init):
11515         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
11516         category.
11517
11518         * gst/Makefile.am (gst_headers): Add glib-compat.h.
11519         (noinst_HEADERS): noinst the -private.
11520
11521 2005-11-21  Michael Smith <msmith@fluendo.com>
11522
11523         * gst/gstplugin.h:
11524         * gst/gstregistry.h:
11525           Remove unimplemented declarations for which we can see no sensible
11526           use.
11527
11528 2005-11-21  Andy Wingo  <wingo@pobox.com>
11529
11530         * gst/gst.h: Include glib-compat.h.
11531
11532         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
11533
11534         * gst/glib-compat.c: Include the public and the private header.
11535
11536         * gst/glib-compat-private.h: Copied here from glib-compat.h.
11537
11538         * gst/gstvalue.c: 
11539         * gst/gstpad.c: 
11540         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
11541
11542         * check/gst/gstevent.c (create_custom_events): Check that
11543         FLUSH_STOP is serialized.
11544
11545         * check/elements/identity.c (event_func): 
11546         * check/elements/fakesrc.c (event_func): No stream lock, the core
11547         takes it.
11548
11549         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
11550         stream lock taking, yay.
11551
11552         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
11553         ensure that core takes the stream lock.
11554
11555         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
11556         lock name change.
11557
11558         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
11559         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
11560         it already. For the flush start we do take it though so we get the
11561         right preroll state change messages.
11562
11563         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
11564         the stream lock here, the core does it for us.
11565
11566         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
11567         GST_STREAM_GET_LOCK.
11568         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
11569         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
11570         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
11571         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
11572         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
11573         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
11574
11575         * gst/gstpad.c: Update for stream lock name change.
11576
11577         * gst/base/gstbasesink.c: Update for preroll lock name change.
11578
11579 2005-11-21  Wim Taymans  <wim@fluendo.com>
11580
11581         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
11582         (gst_clock_get_master):
11583         * gst/gstclock.h:
11584         * gst/gstsystemclock.c: (gst_system_clock_init):
11585         Convert Clock flags to object flags.
11586         Added methods to manage master/slave clocks.
11587
11588 2005-11-21  Wim Taymans  <wim@fluendo.com>
11589
11590         * check/gst/gstsegment.c: (GST_START_TEST):
11591         * docs/design/part-TODO.txt:
11592         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
11593         (gst_base_sink_event), (gst_base_sink_do_sync),
11594         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
11595         (gst_base_sink_query), (gst_base_sink_change_state):
11596         * gst/base/gstbasesink.h:
11597         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
11598         (gst_base_src_default_newsegment),
11599         (gst_base_src_configure_segment), (gst_base_src_do_seek),
11600         (gst_base_src_get_range), (gst_base_src_loop),
11601         (gst_base_src_change_state):
11602         * gst/base/gstbasesrc.h:
11603         * gst/base/gstbasetransform.c:
11604         (gst_base_transform_prepare_output_buf),
11605         (gst_base_transform_event), (gst_base_transform_change_state):
11606         * gst/base/gstbasetransform.h:
11607         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
11608         (gst_collect_pads_event):
11609         * gst/base/gstcollectpads.h:
11610         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
11611         (gst_fake_src_create):
11612         * gst/elements/gstfakesrc.h:
11613         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
11614         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
11615         (gst_segment_set_last_stop), (gst_segment_set_seek),
11616         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
11617         (gst_segment_to_running_time), (gst_segment_clip):
11618         * gst/gstsegment.h:
11619         More segment updates, replace code in plugins with segment
11620         helper functions.
11621
11622 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
11623
11624         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
11625         Don't ignore sscanf results
11626
11627 2005-11-21  Andy Wingo  <wingo@pobox.com>
11628
11629         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
11630
11631         * *.h:
11632         * *.c: Ran scripts/update-macros. Oh yes.
11633
11634         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
11635         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
11636         GST_GET_LOCK, etc.
11637
11638         * scripts/update-macros: New script. Run it on your files to
11639         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
11640         well.
11641
11642 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
11643
11644         * docs/gst/Makefile.am:
11645         * docs/gst/gstreamer-docs.sgml:
11646         * docs/gst/gstreamer-sections.txt:
11647         * docs/gst/gstreamer.types:
11648         * gst/gstinfo.h:
11649           more docs fixes, add new api to the docs
11650
11651 2005-11-21  Andy Wingo  <wingo@pobox.com>
11652
11653         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
11654         state_broadcast call.
11655
11656         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
11657
11658 2005-11-21  Julien MOUTTE  <julien@moutte.net>
11659
11660         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
11661         function calls for arrays.
11662
11663 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
11664
11665         * docs/random/ensonic/media-device-daemon.txt:
11666           wild idea, can this be done?
11667         * docs/gst/gstreamer-sections.txt:
11668         * gst/gsterror.h:
11669         * gst/gstfilter.c:
11670         * gst/gstfilter.h:
11671         * gst/gstplugin.h:
11672         * gst/gstpluginfeature.c:
11673         * gst/gsttrace.c:
11674         * gst/gstvalue.c:
11675         * gst/gstvalue.h:
11676           doc fixes and additions
11677
11678 2005-11-21  Andy Wingo  <wingo@pobox.com>
11679
11680         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
11681         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
11682         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
11683         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
11684         private to the basesrc implementation.
11685
11686         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
11687         behalf of event function if necessary. It should no longer be
11688         necessary to take the stream lock in pad's event functions. Fixes
11689         #320299.
11690
11691 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
11692         * docs/gst/gstreamer-sections.txt:
11693         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
11694         (gst_structure_fixate_field_nearest_double),
11695         (gst_structure_fixate_field_boolean):
11696         * gst/gststructure.h:
11697         * win32/common/libgstreamer.def:
11698         * win32/gstreamer.def:
11699
11700         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
11701         (#322027)
11702
11703 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
11704
11705         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
11706         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
11707         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
11708         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
11709         (gst_fdsrc_uri_handler_init):
11710         * gst/elements/gstfdsrc.h:
11711           Port fd:// URI handler from 0.8 to fdsrc
11712
11713 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
11714
11715         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
11716         (gst_value_serialize_fourcc):
11717         * gst/gstvalue.h:
11718           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
11719           consistent with our other format defines (#320324).
11720
11721 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
11722
11723         * gst/gstvalue.c: (gst_value_is_fixed):
11724           Revert previous commit. Value lists are by definition
11725           not fixed, as they are a list of possible values.
11726
11727 2005-11-21  Andy Wingo  <wingo@pobox.com>
11728
11729         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
11730         during the stable series if we need it. Fixes #319178.
11731
11732         * gst/gstevent.c (gst_event_new_filler): Removed.
11733
11734         * check/gst/gstevent.c: Update comment about filler events.
11735
11736 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
11737
11738         * gst/gstvalue.c: (gst_value_is_fixed):
11739           Should handle both value arrays and value lists.
11740
11741 2005-11-21  Andy Wingo  <wingo@pobox.com>
11742
11743         patch by: Alessandro Dessina <alessandro nnva org>
11744
11745         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
11746         functions to access arrays. Fixes #321962.
11747
11748 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
11749
11750         * docs/gst/gstreamer.types:
11751           gst_collectpads_get_type => gst_collect_pads_get_type.
11752           
11753         * gst/base/gstbasetransform.c:
11754           Remove unused SIGNAL_HANDOFF enum.
11755
11756 2005-11-21  Andy Wingo  <wingo@pobox.com>
11757
11758         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
11759         the event type (upstream, downstream, serialized). Renamed
11760         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
11761         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
11762         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
11763
11764         * gst/gstevent.c: Update for new CUSTOM event names.
11765
11766         * check/gst/gstevent.c: Update check for new CUSTOM event names.
11767
11768         * gst/gstevent.h:
11769         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
11770         bug #319392.
11771
11772 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
11773
11774         * docs/gst/gstreamer-sections.txt:
11775         * win32/common/libgstbase.def:
11776         * win32/libgstbase.def:
11777         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
11778         (gst_collect_pads_class_init), (gst_collect_pads_init),
11779         (gst_collect_pads_finalize), (gst_collect_pads_new),
11780         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
11781         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
11782         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
11783         (gst_collect_pads_start), (gst_collect_pads_stop),
11784         (gst_collect_pads_peek), (gst_collect_pads_pop),
11785         (gst_collect_pads_available), (gst_collect_pads_read),
11786         (gst_collect_pads_flush), (gst_collect_pads_event),
11787         (gst_collect_pads_chain):
11788         * gst/base/gstcollectpads.h:
11789           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
11790           unimplemented functions as unimplemented. Add padding to
11791           GstCollectData. (#320766, #320423)
11792
11793 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
11794
11795         * gst/gstmessage.c:
11796           Improve docs for DURATION message (usage of duration parameter)
11797           (#320113)
11798
11799 2005-11-20  Wim Taymans  <wim@fluendo.com>
11800
11801         * check/Makefile.am:
11802         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
11803         (main):
11804         * gst/Makefile.am:
11805         * gst/gst.h:
11806         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
11807         (gst_segment_set_seek), (gst_segment_set_newsegment),
11808         (gst_segment_to_stream_time), (gst_segment_to_running_time),
11809         (gst_segment_clip):
11810         * gst/gstsegment.h:
11811         Added segment helper structure and methods. Not fully implemented
11812         yet.
11813         Added segment check.
11814
11815 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
11816
11817         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
11818           Add a deserialisation test for fractions
11819         * examples/metadata/read-metadata.c: (message_loop),
11820         (make_pipeline), (main):
11821           Fix up metadata reading sample.
11822         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
11823           Debug format fix
11824         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
11825           Don't try and fixate empty caps
11826         * gst/gst_private.h:
11827           Wrap in G_BEGIN_DECLS/G_END_DECLS
11828         * gst/gstvalue.c: (gst_value_collect_fraction),
11829         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
11830         (gst_value_transform_string_fraction),
11831         (gst_value_compare_fraction):
11832           Add some extra guards to ensure that we don't end up 
11833           with an invalid denominator of 0 in a gstfraction and
11834           that fractions always get reduced.
11835
11836 2005-11-20  Wim Taymans  <wim@fluendo.com>
11837
11838         * docs/gst/gstreamer-sections.txt:
11839         * gst/gstbuffer.h:
11840         * gst/gstelement.c:
11841         * gst/gstformat.c:
11842         * gst/gstformat.h:
11843         * gst/gstindex.h:
11844         * gst/gstquery.c:
11845         * gst/gstquery.h:
11846         * gst/gstvalue.c:
11847         Doc fixes.
11848
11849 2005-11-20  Wim Taymans  <wim@fluendo.com>
11850
11851         * docs/design/part-TODO.txt:
11852         * gst/gstcaps.h:
11853         Make a proper enum of the flag.
11854
11855 2005-11-19  Wim Taymans  <wim@fluendo.com>
11856
11857         * docs/design/part-TODO.txt:
11858         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
11859         (gst_format_to_quark), (gst_format_register):
11860         * gst/gstformat.h:
11861         * gst/gstquery.c: (_gst_query_initialize),
11862         (gst_query_type_get_name), (gst_query_type_to_quark),
11863         (gst_query_type_register):
11864         * gst/gstquery.h:
11865         Add type to quark and type to string conversions.
11866
11867 2005-11-19  Andy Wingo  <wingo@pobox.com>
11868
11869         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
11870         #320097.
11871
11872 2005-11-19  Wim Taymans  <wim@fluendo.com>
11873
11874         * docs/design/part-TODO.txt:
11875         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
11876         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
11877         (gst_bin_handle_message_func):
11878         * gst/gstbin.h:
11879         Make message handling overridable.
11880
11881 2005-11-19  Andy Wingo  <wingo@pobox.com>
11882
11883         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
11884
11885         * gst/gstclock.h:
11886         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
11887         be a GstClockTime.
11888         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
11889         is a GstClockTime. Fixes #321710.
11890
11891         * gst/gstclock.h (GstClock): Remove offset property. Add
11892         internal_calibration and external_calibration. Fix padding. Pad
11893         also by GstClockTime so we don't run into problems.
11894
11895         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
11896         (gst_clock_get_rate_offset): Remove.
11897         (gst_clock_set_time_adjust): Remove. Fixes #321712.
11898
11899         * gst/gstutils.h:
11900         * gst/gstutils.c (g_static_rec_cond_wait)
11901         (g_static_rec_cond_timed_wait): Removed, no longer needed.
11902
11903         * gst/gstbin.c: Remove terrible continue_state prototype.
11904
11905         * gst/gstelement.h (gst_element_continue_state): Make public.
11906
11907         * gst/gstelement.h:
11908         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
11909         by continue_state. Fixes #319389.
11910
11911         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
11912         Really fixes #168438. However I don't see anywhere where the
11913         filter function is called... stupid GStreamer...
11914         
11915         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
11916         don't have a dispose function, so it won't get called when the
11917         object is unreffed, but oh well!
11918
11919         * gst/gstindex.c (gst_index_set_filter_full): New API function,
11920         allows a destroy function to be set so user_data can be freed.
11921         Fixes #168438.
11922         (gst_index_set_filter): Call gst_index_set_filter_full.
11923
11924         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
11925
11926         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
11927         string should produce an error, given the lack of a way to
11928         represent NULL strings. Fixes #165650.
11929         
11930         * gst/gstvalue.h: 
11931         * gst/gstvalue.c (gst_value_array_append_value) 
11932         (gst_value_array_prepend_value, gst_value_array_get_size) 
11933         (gst_value_array_get_value): New API, copied from
11934         gst_value_list_*, only operates on arrays.
11935         (gst_value_list_append_value, gst_value_list_prepend_value) 
11936         (gst_value_list_concat, gst_value_list_get_size) 
11937         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
11938
11939         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
11940         init_list, because it works on both.
11941         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
11942         (gst_value_copy_list_or_array): Renamed from copy_list.
11943         (gst_value_free_list_or_array): Renamed from free_list.
11944         (gst_value_collect_list_or_array): Renamed from collect_list.
11945         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
11946         (gst_value_list_or_array_peek_pointer): Renamed from
11947         list_peek_pointer.
11948         (_gst_value_array_value_table, _gst_value_list_value_table):
11949         Update value table functions.
11950         (gst_value_compare_list_or_array): Renamed from compare_list.
11951
11952         * gsttaglist.h: Whoops, foreach function returns void. Also fix
11953         some constness.
11954
11955         * gst/gsttaglist.c:
11956         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
11957         GstTagList*. Fixes #143472.
11958
11959         * gst/gststructure.h: Clarify what the foreach/map functions can
11960         or can't do to their arguments.
11961
11962 2005-11-18  Wim Taymans  <wim@fluendo.com>
11963
11964         * gst/gstclock.c: (gst_clock_set_calibration),
11965         (gst_clock_get_calibration):
11966         Doc and API fixes.
11967         Calibration can be set with internal time equal to current
11968         internal time too.
11969
11970 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
11971
11972         * gst/gsterror.c:
11973         * gst/gsterror.h:
11974           document
11975
11976 2005-11-18  Andy Wingo  <wingo@pobox.com>
11977
11978         * configure.ac: 
11979         * pkgconfig/gstreamer-net.pc.in:
11980         * pkgconfig/gstreamer-net-uninstalled.pc.in:
11981         * pkgconfig/Makefile.am: Add net pkgconfig files.
11982
11983 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
11984
11985         * gst/gstcaps.c:
11986         * gst/gstghostpad.c:
11987         * gst/gsttrace.c:
11988         * gst/gstvalue.c:
11989         * gst/gstvalue.h:
11990           docs fixes
11991
11992 2005-11-18  Andy Wingo  <wingo@pobox.com>
11993
11994         * gst/net/gstnetclientclock.c: Turn off debugging.
11995
11996         * check/net/gstnetclientclock.c (test_functioning): Assert that the
11997         times connverge somewhat. Can't make a real test.
11998
11999         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
12000         integer arithmetic. Return the minimum of the domain, which can be
12001         set as "internal" for gst_clock_set_calibration.
12002         (gst_net_client_clock_observe_times): Call _set_calibration.
12003         (gst_net_client_clock_new): Call _set_calibration instead of
12004         rate_offset.
12005
12006         * check/net/gstnetclientclock.c (test_functioning): Use the right
12007         adjustment api.
12008
12009         * gst/gstclock.h:
12010         * gst/gstclock.c (gst_clock_get_calibration) 
12011         (gst_clock_set_calibration): New functions, obsolete the ones I
12012         added yesterday. Doh. Precision issues mean we have to extrapolate
12013         from a point in the more recent past than 1970.
12014         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
12015         obsolete.
12016         (gst_clock_adjust_unlocked): Use the right calibration data.
12017
12018 2005-11-18  Edward Hervey  <edward@fluendo.com>
12019
12020         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
12021         Also reset the ->current_* values in READY->PAUSED
12022
12023 2005-11-18  Andy Wingo  <wingo@pobox.com>
12024
12025         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
12026         Whoops, check the right fd. Also add some debugging.
12027         (gst_net_client_clock_observe_times): Adjust for int64 offset.
12028         (do_linear_regression): Add a crapload of debugging. Subtract off
12029         the minimum values from the input series to discard unneeded bits.
12030         Use only int arithmetic. There is still double arithmetic when
12031         calculating the intercept that needs fixing. Return boolean to
12032         indicate success; FALSE would mean the domain or range is too
12033         great. Still needs fixes.
12034
12035 2005-11-18  Wim Taymans  <wim@fluendo.com>
12036
12037         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
12038         For the current position in stream time, we need to subtract
12039         accumulated time.
12040         
12041         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
12042         Release lock before calling the callback function of async
12043         entries.
12044
12045 2005-11-18  Andy Wingo  <wingo@pobox.com>
12046
12047         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
12048         Port goes all the way to MAXUINT16.
12049
12050         * gst/net/gstnettimeprovider.c: Make the port range the same as
12051         for the kernel: 0 assigns, otherwise ports are less than
12052         MAXUINT16.
12053
12054         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
12055         port change.
12056
12057         * check/net/gstnetclientclock.c (test_functioning): Add the start
12058         of another test. 
12059
12060 2005-11-18  Wim Taymans  <wim@fluendo.com>
12061
12062         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
12063         (gst_bin_remove_func), (bin_bus_handler):
12064         * gst/gstbin.h:
12065         Removing a clock provider from a bin, triggers a clock lost message
12066         so that a new clock will be selected.
12067         Adding a clock to a bin triggers a clock provider message.
12068         Make sure we reselect a clock when we received a clock lost message.
12069         Keep a reference to the element that provided the clock.
12070
12071 2005-11-18  Andy Wingo  <wingo@pobox.com>
12072
12073         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
12074         the clock initially so it produces values around the base time.
12075         (gst_net_client_clock_class_init): Typo fix.
12076         (gst_net_client_clock_thread): Add note on when the socket gets
12077         closed.
12078
12079 2005-11-17  Wim Taymans  <wim@fluendo.com>
12080
12081         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
12082         Free remote and local time arrays.
12083
12084 2005-11-17  Wim Taymans  <wim@fluendo.com>
12085
12086         * gst/net/gstnetclientclock.c: (do_linear_regression),
12087         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
12088         Fix compilation, uninitialized vars and a forgotten continue.
12089
12090 2005-11-17  Andy Wingo  <wingo@pobox.com>
12091
12092         * check/Makefile.am (check_PROGRAMS): 
12093         * check/net/gstnetclientclock.c: Add a most minimal test for the
12094         net client clock. More to come later.
12095
12096         * gst/net/gstnet.h: 
12097         * gst/net/Makefile.am: Add netclientclock.
12098
12099         * gst/net/gstnetclientclock.h:
12100         * gst/net/gstnetclientclock.c: New files, implement an untested
12101         GstClock that takes its time from a network time provider.
12102         Implements the algorithm in network-clock.scm.
12103
12104         * tests/network-clock.scm (*window-size*): Rename from
12105         *queue-length*.
12106         * tests/network-clock.scm (network-time): 
12107         * tests/network-clock-utils.scm (q-push): Update callers.
12108
12109 2005-11-17  Wim Taymans  <wim@fluendo.com>
12110
12111         * gst/gstbin.c: (gst_bin_provide_clock_func),
12112         (gst_bin_sort_iterator_new):
12113         And unref the child too..
12114
12115 2005-11-17  Wim Taymans  <wim@fluendo.com>
12116
12117         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
12118         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
12119         Refactor the sort iterator so it can be used while holding the
12120         LOCK too.
12121         Make clock selection select a clock closest to the source.
12122
12123 2005-11-17  Michael Smith <msmith@fluendo.com>
12124
12125         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
12126         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
12127         * gst/gstclock.h:
12128           Anonymous structs are a gcc (and some other compilers) extension, so
12129           don't use them. Since this is only for ABI-compatibility, and our
12130           API/ABI freeze is over in a few days, this whole thing will only
12131           last a few days, so don't bother trying to think up a meaningful
12132           name for the struct.
12133
12134 2005-11-17  Andy Wingo  <wingo@pobox.com>
12135
12136         * gst/gstclock.h (GstClock): Add rate and offset properties,
12137         preserving ABI stability. Add rate/offset accessors. Will file bug
12138         for the freeze break.
12139
12140         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
12141         and offset, trying to keep precision and avoiding
12142         underflow/overflow.
12143         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
12144         functions. Make gst_clock_set_time_adjust obsolete.
12145         (gst_clock_set_time_adjust): Note that this function is obsolete.
12146         Will file bug soon.
12147
12148         * gst/base/gstbasetransform.h: Make the ABI-stability hack
12149         greppable by using GST_PADDING-1+1.
12150
12151 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
12152
12153         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
12154
12155         * gst/gstmessage.c: (gst_message_parse_clock_lost):
12156           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
12157
12158         * gst/gstpadtemplate.h:
12159         * gst/gstpluginfeature.h:
12160           Don't use c++ style comments in headers (#321638).
12161
12162 2005-11-16  Andy Wingo  <wingo@pobox.com>
12163
12164         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
12165         buffer.
12166
12167         * check/net/gstnettimeprovider.c: Check to see that the time
12168         provider actually provides times. Works, yo!
12169
12170 2005-11-16  Wim Taymans  <wim@fluendo.com>
12171
12172         * check/Makefile.am:
12173         Enable more tests.
12174
12175         * check/elements/fakesrc.c: (GST_START_TEST):
12176         Set element to NULL before disposing it.
12177
12178 2005-11-16  Andy Wingo  <wingo@pobox.com>
12179
12180         * gst/net/Makefile.am:
12181         * gst/net/gstnet.h:
12182         * gst/net/gstnettimeprovider.c: 
12183         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
12184         provider, include it from gstnet.h, and add it to the build.
12185
12186         * gst/net/gstnettimepacket.h: 
12187         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
12188         sending and receiving.
12189
12190 2005-11-16  Wim Taymans  <wim@fluendo.com>
12191
12192         * check/Makefile.am:
12193         Enable valgrind check.
12194
12195         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
12196         (gst_fake_src_alloc_buffer):
12197         Fix memleak.
12198
12199 2005-11-16  Wim Taymans  <wim@fluendo.com>
12200
12201         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
12202         Call parent finalize too.
12203
12204 2005-11-16  Wim Taymans  <wim@fluendo.com>
12205
12206         * check/Makefile.am:
12207         Enable valgrind check that should work fine now.
12208
12209         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
12210         * gst/gstqueue.c: (gst_queue_init):
12211         Fix memleaks in pad allocation.
12212
12213 2005-11-16  Andy Wingo  <wingo@pobox.com>
12214
12215         * gst/net/Makefile.am:
12216         * gst/net/gstnet.h: New part of core to hold network elements and
12217         objects. Put in core because it exposes API that applications want
12218         to use. The library is named libgstnet-tempname right now because
12219         of the existing libgstnet in gst-plugins-base. Solution is
12220         probably to rename the one in plugins-base; will file a bug for
12221         the freeze break.
12222
12223         * gst/net/gstnettimeprovider.c: 
12224         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
12225         get_time call over the network.
12226
12227         * configure.ac: 
12228         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
12229
12230         * check/Makefile.am:
12231         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
12232         get additions shortly.
12233
12234 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
12235
12236         * gst/gstpad.c: (gst_pad_new_from_static_template):
12237         * gst/gstpad.h:
12238           add gst_pad_new_from_static_template functions
12239         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
12240         (gst_check_setup_sink_pad):
12241         * gst/elements/gsttee.c: (gst_tee_init):
12242           and use them
12243
12244 2005-11-16  Wim Taymans  <wim@fluendo.com>
12245
12246         * gst/gstpad.c: (gst_pad_pause_task):
12247         Removed warning, it's not really an error either.
12248
12249 2005-11-16  Wim Taymans  <wim@fluendo.com>
12250
12251         * gst/base/gstbasetransform.c:
12252         (gst_base_transform_prepare_output_buf),
12253         (gst_base_transform_event):
12254         Check if the caps are NULL, this can happen if the element
12255         is shutting down and the pad caps are set to NULL.
12256
12257 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
12258
12259         * gst/elements/gsttee.c: (gst_tee_init):
12260           fix pad template leak in tee
12261
12262 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
12263
12264         * gst/glib-compat.c: (g_value_dup_gst_object):
12265         * gst/glib-compat.h:
12266         * gst/gstpad.c: (gst_pad_set_property):
12267           use gst_object_ref when setting the pad template; this will
12268           trigger the pad template leaks on GLib 2.6 and the slaves
12269
12270 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
12271
12272         * gst/glib-compat.c: (gst_flags_get_first_value):
12273         * gst/glib-compat.h:
12274         * gst/gstregistryxml.c:
12275           remove functions copied from GLib 2.6
12276
12277 2005-11-16  Michael Smith <msmith@fluendo.com>
12278
12279         * gst/Makefile.am:
12280           Don't link against VALGRIND_LIBS. That was always the wrong thing to
12281           do, but only breaks with newer valgrind versions. We're not a
12282           valgrind tool, we have no link-time dependencies on libcoregrind.
12283
12284 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
12285
12286         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
12287           some debug changes
12288         * gst/gstmessage.h:
12289           typo fixes
12290
12291 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
12292
12293         * gst/base/gstbasesrc.c: (gst_base_src_init):
12294         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
12295         * gst/gstqueue.c: (gst_queue_init):
12296         * gst/gstregistryxml.c: (load_feature):
12297           Revert all these unrefs, they don't even pass make check !
12298
12299 2005-11-15  Johan Dahlin  <johan@gnome.org>
12300
12301         * gst/base/gstbasesrc.c: (gst_base_src_init):
12302         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
12303         * gst/gstqueue.c: (gst_queue_init): 
12304         Free pad templates, fixes a couple of leaks.
12305
12306 2005-11-15  Daniel Fischer  <dan at f3c dot com>
12307
12308         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
12309
12310         * gst/gstpad.c: (gst_pad_get_property):
12311           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
12312           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
12313           (#321452)
12314
12315 2005-11-15  Wim Taymans  <wim@fluendo.com>
12316
12317         * gst/gstevent.c:
12318         Small doc update.
12319
12320 2005-11-15  Andy Wingo  <wingo@pobox.com>
12321
12322         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
12323
12324         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
12325         using GST_CLOCK_TIME_NONE to disable base time management.
12326         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
12327         time if it was NONE before.
12328         (gst_pipeline_change_state): Only munge the base time if
12329         stream_time != GST_CLOCK_TIME_NONE.
12330
12331         * check/gst/gstpipeline.c (test_base_time): Punt around the
12332         problem of the probe not being called, because that's not the
12333         issue I'm looking at. Add a check that setting stream_time to NONE
12334         disables base time management.
12335         
12336 2005-11-15  Wim Taymans  <wim@fluendo.com>
12337
12338         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
12339         segment_stop == -1 at startup.
12340
12341         * gst/base/gstbasetransform.c: (gst_base_transform_event),
12342         (gst_base_transform_change_state):
12343         Init segment values at start.
12344
12345 2005-11-15  Wim Taymans  <wim@fluendo.com>
12346
12347         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
12348         0 segment values are 0 in any format.
12349
12350         * gst/base/gstbasetransform.c: (gst_base_transform_event):
12351         * gst/base/gstbasetransform.h:
12352         Parse newsegment correctly in basetransform
12353
12354         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
12355         Sync to clock using updated segment values.
12356
12357 2005-11-15  Andy Wingo  <wingo@pobox.com>
12358
12359         * check/gst/gstpipeline.c (test_base_time): Add check that the
12360         base time and stream time are reset correctly.
12361
12362 2005-11-15  Wim Taymans  <wim@fluendo.com>
12363
12364         * docs/design/part-TODO.txt:
12365         Some more TODO items.
12366
12367 2005-11-15  Andy Wingo  <wingo@pobox.com>
12368
12369         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
12370         error if the user selected "no clock" as the clocking method.
12371
12372         * check/gst/gstpipeline.c (test_base_time): New test for buffer
12373         timestamps with live capture.
12374
12375         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
12376         is 0 but we are a live source, timestamp the buffers using the
12377         element's clock.
12378
12379 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
12380
12381         * docs/gst/gstreamer-sections.txt:
12382         * gst/gsterror.c:
12383         * gst/gstghostpad.c:
12384         * gst/gstobject.h:
12385         * gst/gstxml.c:
12386           more section docs
12387
12388 2005-11-14  Wim Taymans  <wim@fluendo.com>
12389
12390         * common/gst.supp:
12391           add suppressions from Wim's Debian machine
12392
12393 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
12394
12395         * common/gst.supp:
12396           add suppressions from Andy's AMD64 Ubuntu machine
12397
12398 2005-11-14  Andy Wingo  <wingo@pobox.com>
12399
12400         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
12401         STATE_LOCK not necessary. Fixes #311489.
12402
12403         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
12404         #305291.
12405
12406         * gst/gstindex.c (gst_index_add_object): Note in the docs that
12407         this function is not implemented.
12408
12409 2005-11-14  Julien MOUTTE  <julien@moutte.net>
12410
12411         * gst/base/gstbasetransform.c:
12412         (gst_base_transform_prepare_output_buf):
12413         Ref the source pad caps while we need them.
12414         Fixes (#321386)
12415
12416 2005-11-11  Wim Taymans  <wim@fluendo.com>
12417
12418         * docs/gst/gstreamer-sections.txt:
12419         Added some docs for GstCollectData.
12420
12421         * gst/base/gstadapter.c:
12422         Some small code example fix.
12423
12424         * gst/base/gstcollectpads.c:
12425         * gst/base/gstcollectpads.h:
12426         Document some more.
12427
12428 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
12429
12430         * configure.ac: back to HEAD
12431
12432 === release 0.9.5 ===
12433
12434 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
12435
12436         * configure.ac:
12437           releasing 0.9.5, "Bike Lunch Day"
12438
12439 2005-11-11  Wim Taymans  <wim@fluendo.com>
12440
12441         * gst/gstbuffer.c: (_gst_buffer_copy):
12442         Copy more flags.
12443
12444         * gst/gstcaps.c: (gst_caps_is_equal):
12445         Fix some docs.
12446         Make _is_equal fast in the trivial cases.
12447
12448         * gst/gstminiobject.c:
12449         * gst/gstminiobject.h:
12450         More docs. Spifify .h file.
12451
12452         * gst/gstutils.c:
12453         Small doc update.
12454
12455 2005-11-11  Wim Taymans  <wim@fluendo.com>
12456
12457         * gst/base/gstbasetransform.c:
12458         (gst_base_transform_prepare_output_buf),
12459         (gst_base_transform_handle_buffer):
12460         Small cleanups.
12461         If we're processing a buffer and need to allocate an output
12462         buffer, we cannot accept a format change. If we did get a 
12463         format change, we have to alloc a buffer ourselves of the 
12464         right size.
12465
12466 2005-11-11  Wim Taymans  <wim@fluendo.com>
12467
12468         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
12469         While checking the flag for reentrancy in the gstcaps function
12470         is nice to detect recursive invocations, it also makes it 
12471         impossible to call getcaps from multiple threads, which must be
12472         possible. So, checking for recursive calls has to go.
12473
12474 2005-11-11  Michael Smith <msmith@fluendo.com>
12475
12476         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
12477           Don't sync on buffers that fall partially outside our current
12478           segment. Prevents an assertion failure/abort playing some files.
12479
12480 2005-11-10  Andy Wingo  <wingo@pobox.com>
12481
12482         * check/gst/gstbin.c (test_message_state_changed_children): Style
12483         fix..
12484
12485         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
12486         gst_bus_poll with the signal watch. Ensures that poll and a signal
12487         watch see the same messages.
12488
12489         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
12490         a poll and a watch at the same time get the same messages.
12491
12492 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
12493
12494         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
12495         * gst/gstcaps.c: (gst_caps_intersect):
12496           Don't call gst_caps_do_simplify - it doesn't respect order of caps
12497           and it's not needed.
12498
12499 2005-11-10  Wim Taymans  <wim@fluendo.com>
12500
12501         * docs/design/part-TODO.txt:
12502         Updated todo.
12503
12504 2005-11-10  Wim Taymans  <wim@fluendo.com>
12505
12506         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
12507         * gst/base/gstbasesrc.c: (gst_base_src_wait),
12508         (gst_base_src_do_sync), (gst_base_src_get_range):
12509         Implement clock sync in base class.
12510
12511 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
12512
12513         patch by: Tim-Philipp Müller <tim at centricular dot net>
12514
12515         * gst/gststructure.c: (gst_structure_parse_field),
12516         (gst_structure_from_string):
12517           Forward-port a 0.8 patch to handle escaped spaces in structure string,
12518           so that gst_parse_launch() can deal with spaces in filtered link
12519           caps (fixes #164479)
12520         * check/gst/capslist.h:
12521         * check/gst/gststructure.c: (GST_START_TEST):
12522           add unit tests for this change
12523
12524 2005-11-10  Wim Taymans  <wim@fluendo.com>
12525
12526         * docs/gst/gstreamer-sections.txt:
12527         * gst/gstelement.c:
12528         * gst/gstelement.h:
12529         Fix docs, move some STATE macros to private.
12530
12531 2005-11-10  Wim Taymans  <wim@fluendo.com>
12532
12533         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
12534         Added check for bug #317341
12535
12536         * gst/gstbuffer.c:
12537         * gst/gstbuffer.h:
12538         Some more spiffifying.
12539
12540         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
12541         Call peer linkfunction if we are a source pad. Totally fixes
12542         #317341
12543
12544         * gst/gstpad.c:
12545         Update docs, source pads should call the peer linkfunction
12546         so they can atomically perform the pad link.
12547
12548 2005-11-09  Wim Taymans  <wim@fluendo.com>
12549
12550         * gst/gstbuffer.c:
12551         * gst/gstbuffer.h:
12552         Uber-spiffy-spiffify some more.
12553
12554 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
12555
12556         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
12557         * gst/elements/gstfilesink.c: (gst_file_sink_init):
12558         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
12559         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
12560         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
12561         * gst/gstpad.c: (gst_pad_init):
12562           Use GST_DEBUG_FUNCPTR() more extensively.
12563
12564 2005-11-09  Wim Taymans  <wim@fluendo.com>
12565
12566         * gst/gstobject.c: (gst_object_class_init):
12567         * gst/gstobject.h:
12568         Documentation fixes.
12569
12570 2005-11-09  Edward Hervey  <edward@fluendo.com>
12571
12572         * gst/gsttypefindfactory.c:
12573         Fix docs.
12574         
12575 2005-11-09  Edward Hervey  <edward@fluendo.com>
12576
12577         * gst/base/gsttypefindhelper.c:
12578         * gst/gsttypefind.c:
12579         * gst/gsttypefind.h:
12580         Fix docs.
12581
12582 2005-11-09  Wim Taymans  <wim@fluendo.com>
12583
12584         * gst/gstiterator.c:
12585         Fix revision data.
12586
12587         * gst/gsttask.c:
12588         * gst/gsttask.h:
12589         Fix docs.
12590
12591 2005-11-09  Wim Taymans  <wim@fluendo.com>
12592
12593         * gst/gstevent.h:
12594         * gst/gsturi.h:
12595         Fix docs.
12596
12597 2005-11-09  Wim Taymans  <wim@fluendo.com>
12598
12599         * docs/gst/gstreamer-sections.txt:
12600         Moved the message async delivery private lock and cond
12601         to the private section.
12602
12603         * gst/gstmessage.c:
12604         * gst/gstmessage.h:
12605         Fixed docs.
12606
12607 2005-11-09  Edward Hervey  <edward@fluendo.com>
12608
12609         * docs/gst/gstreamer-sections.txt:
12610         * gst/gsturi.c:
12611         * gst/gsturi.h:
12612         Document GstURIHandler
12613
12614 2005-11-09  Wim Taymans  <wim@fluendo.com>
12615
12616         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
12617         (gst_iterator_find_custom):
12618         * gst/gstiterator.h:
12619         Fix iterator docs.
12620
12621 2005-11-09  Wim Taymans  <wim@fluendo.com>
12622
12623         * gst/gstbin.h:
12624         Document another field.
12625
12626         * gst/gststructure.c:
12627         * gst/gststructure.h:
12628         Document.
12629
12630 2005-11-09  Wim Taymans  <wim@fluendo.com>
12631
12632         * gst/gstbin.h:
12633         Documented structs.
12634
12635 2005-11-09  Wim Taymans  <wim@fluendo.com>
12636
12637         * docs/gst/gstreamer-sections.txt:
12638         Added some new macros.
12639
12640         * gst/gstclock.c:
12641         * gst/gstclock.h:
12642         * gst/gstobject.h:
12643         Docs updates.
12644
12645 2005-11-09  Wim Taymans  <wim@fluendo.com>
12646
12647         * docs/design/part-TODO.txt:
12648         Some more items for the TODO
12649
12650         * gst/gstcaps.c:
12651         * gst/gstcaps.h:
12652         Document GstCaps.
12653
12654 2005-11-09  Andy Wingo  <wingo@pobox.com>
12655
12656         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
12657         to work on something else now tho...
12658
12659         * gst/base/gstadapter.c: More adapter docs.
12660
12661         * gst/elements/gstfilesink.c (gst_file_sink_start) 
12662         (gst_file_sink_stop): New functions, replace the state change
12663         handler.
12664         (gst_file_sink_class_init): Hook up the start and stop functions.
12665         (gst_file_sink_base_init): Don't set the state change handler any
12666         more. It was a bit ugly too, being set from here...
12667         (gst_file_sink_get_property, gst_file_sink_set_property):
12668         Cleanups...
12669         (gst_file_sink_set_location): More robust check that doesn't call
12670         GST_STATE. Ugggggg.
12671
12672 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
12673
12674         * gst/base/gstbasetransform.c: (gst_base_transform_event):
12675           Hold STREAM_LOCK while pushing newsegment or tag events as well.
12676
12677 2005-11-08  Wim Taymans  <wim@fluendo.com>
12678
12679         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
12680         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
12681         (gst_base_sink_chain), (gst_base_sink_change_state):
12682         * gst/base/gstbasesink.h:
12683         * gst/base/gstbasesrc.h:
12684         * gst/gstelement.h:
12685         * gst/gstevent.h:
12686         Avoid excessive typechecking in macros.
12687
12688         * gst/gstminiobject.c: (gst_mini_object_get_type),
12689         (gst_mini_object_init), (gst_mini_object_new),
12690         (gst_mini_object_free):
12691         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
12692         (gst_object_finalize):
12693         Remove cruft code, optimize alloc_trace.
12694
12695 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
12696
12697         * docs/faq/gst-uninstalled:
12698           fix up PS1 for systems that try to reset it
12699
12700 2005-11-07  Wim Taymans  <wim@fluendo.com>
12701
12702         * gst/base/gstbasesrc.c: (gst_base_src_init),
12703         (gst_base_src_get_range):
12704         Set the segment_end to -1 initially. Fixed typefind.
12705
12706 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
12707
12708         * gst/base/gstadapter.c:
12709           Debug category should be 'adapter', not 'GstAdapter'.
12710           
12711         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
12712         (gst_collectpads_class_init), (gst_collectpads_init),
12713         (gst_collectpads_peek), (gst_collectpads_pop),
12714         (gst_collectpads_event), (gst_collectpads_chain):
12715           Add debug category and some debugging output. Use boilerplate
12716           macros. Remove some extraneous words from docs.
12717
12718 2005-11-05  Andy Wingo  <wingo@pobox.com>
12719
12720         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
12721         macro.
12722
12723 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
12724
12725         * docs/gst/gstreamer-sections.txt:
12726         * gst/gstcaps.h:
12727         * gst/gstinfo.c:
12728         * gst/gstminiobject.h:
12729         * gst/gstobject.h:
12730         * gst/gstutils.h:
12731           more docs added
12732
12733 2005-11-04  Wim Taymans  <wim@fluendo.com>
12734
12735         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
12736         Small update to stop at the configured segment_end
12737         position.
12738
12739 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
12740
12741         * gst/gstregistry.c:
12742         * gst/gstregistry.h:
12743           added missing docs
12744
12745 2005-11-04  Edward Hervey  <edward@fluendo.com>
12746
12747         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
12748         Check if we are doing a segment seek and have arrived at the
12749         end of that segment.
12750
12751 2005-11-04  Wim Taymans  <wim@fluendo.com>
12752
12753         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
12754         Don't leak a mutex unlock in case of an error.
12755
12756         * gst/gstbus.h:
12757         Doc fixes.
12758
12759 2005-11-04  Wim Taymans  <wim@fluendo.com>
12760
12761         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
12762         (gst_bus_post):
12763         Get the context to wake up only once.
12764
12765 2005-11-03  Wim Taymans  <wim@fluendo.com>
12766
12767         * check/states/sinks.c: (GST_START_TEST):
12768         Uncomment fixed check.
12769
12770         * docs/design/part-TODO.txt:
12771         Updated TODO.
12772
12773         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
12774         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
12775         (gst_base_sink_get_position):
12776         If we are going to PLAYING, post the right pending state
12777         when we post the intermediate paused message.
12778
12779         * gst/gstelement.c: (gst_element_continue_state),
12780         (gst_element_set_state_func), (gst_element_change_state):
12781         Don't post state changes that were between the same state
12782         and were not ASYNC.
12783
12784 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
12785
12786         * docs/gst/gstreamer-sections.txt:
12787         * gst/gstcaps.h:
12788         * gst/gstinfo.c:
12789         * gst/gstminiobject.h:
12790         * gst/gstobject.h:
12791         * gst/gstutils.h:
12792           more docs and doc style fixes
12793
12794 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
12795
12796         * docs/gst/gstreamer-sections.txt:
12797         * gst/gstelement.c:
12798         * gst/gstminiobject.c:
12799         doc fixes
12800
12801 2005-11-03  Andy Wingo  <wingo@pobox.com>
12802
12803         * check/states/sinks.c (test_livesrc_sink): Add checks that the
12804         state-changed messages actually have the right order and the right
12805         values.
12806
12807 2005-11-03  Wim Taymans  <wim@fluendo.com>
12808
12809         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
12810         Added some more checks. Specifically the case where NO_PREROLL
12811         elements are in the pipeline.
12812
12813         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
12814         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
12815         (gst_base_sink_get_position):
12816         Post READY->PAUSED state change messages too.
12817         Fix bug where VOID was posted as pending state...
12818
12819         * gst/gstbin.c: (gst_bin_recalc_state):
12820         use _element_continue_state() to continue the state change.
12821
12822         * gst/gstelement.c: (gst_element_continue_state),
12823         (gst_element_commit_state), (gst_element_set_state_func),
12824         (gst_element_change_state), (gst_element_change_state_func):
12825         Lots of state change cleanups, assign the STATE_RETURN in
12826         a new continue_state() function that also propagates the
12827         last return value from a state change to the app.
12828         Update some debug statements with proper category.
12829
12830 2005-11-03  Wim Taymans  <wim@fluendo.com>
12831
12832         * docs/design/part-events.txt:
12833         * docs/design/part-gstpipeline.txt:
12834         * docs/design/part-messages.txt:
12835         * docs/design/part-overview.txt:
12836         * docs/design/part-seeking.txt:
12837         * docs/design/part-states.txt:
12838         * docs/design/part-trickmodes.txt:
12839         * docs/manual/advanced-position.xml:
12840         Small docs updates.
12841
12842         * gst/gstobject.h:
12843         People think !! is ugly, this looks better.
12844
12845         * gst/gstpad.c: (gst_pad_set_blocked_async):
12846         Remove !! since it's fixed elsewhere now.
12847
12848 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
12849
12850         * gst/gstminiobject.h:
12851         * gst/gstobject.h:
12852           Add !! to _FLAG_IS_SET macros to make the result boolean.
12853
12854 2005-11-03  Edward Hervey  <edward@fluendo.com>
12855
12856         * gst/gstpad.c: (gst_pad_set_blocked_async):
12857         comparing a flag and a gboolean rarely returns coherent results...
12858         Added two characters (!!) to make that work correctly.
12859         
12860 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
12861
12862         * gst/gstbus.c: (gst_bus_class_init):
12863           Fix some typos.
12864           
12865         * gst/gstqueue.c: (gst_queue_loop):
12866           Don't assume a miniobject that isn't a buffer is an
12867           event (it could be that there is a refcounting
12868           problem somewhere and the pointer is stale and
12869           refers to an already destroyed miniobject).
12870
12871 2005-11-03  Julien MOUTTE  <julien@moutte.net>
12872
12873         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
12874
12875 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
12876
12877         * docs/manual/advanced-position.xml:
12878           Update seek example and explanations to current 0.9 API.
12879
12880         * gst/elements/gsttypefindelement.c:
12881         (gst_type_find_element_activate):
12882           Remove FIXME comment now that the found caps
12883           are unreffed.
12884
12885 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
12886
12887         * gst/gstregistryxml.c: (load_feature):
12888           Add another GST_STR_NULL instance
12889
12890 2005-11-02  Edward Hervey  <edward@fluendo.com>
12891
12892         * gst/gstpad.c: (handle_pad_block):
12893         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
12894         
12895 2005-11-02  Wim Taymans  <wim@fluendo.com>
12896
12897         * gst/gstbin.c:
12898         Fix typo in docs.
12899
12900         * gst/gstelement.c: (gst_element_commit_state):
12901         Remove unused value.
12902
12903         * gst/gstiterator.c:
12904         Mention that the returned element is reffed in the docs.
12905
12906 2005-11-02  Wim Taymans  <wim@fluendo.com>
12907
12908         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
12909         (gst_pad_push), (gst_pad_push_event):
12910         Unlock blocked pads when they are flushed.
12911
12912 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12913
12914         * docs/README:
12915         * docs/gst/gstreamer-sections.txt:
12916         * gst/gstbin.c:
12917           doc updates
12918         * gst/gstregistry.c: (gst_registry_scan_path_level):
12919           fix for a nasty little missed situation where an installed plug-in
12920           which was in the cache did not get overridden by an uninstalled one
12921           which was earlier in the plugin path because the newly created plugin
12922           for the uninstalled one (not in the registry) didn't get its
12923           ->registered set to TRUE
12924
12925 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
12926
12927         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
12928         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
12929         (gst_collectpads_is_active), (gst_collectpads_collect),
12930         (gst_collectpads_collect_range), (gst_collectpads_start),
12931         (gst_collectpads_stop), (gst_collectpads_peek),
12932         (gst_collectpads_pop), (gst_collectpads_available),
12933         (gst_collectpads_read), (gst_collectpads_flush):
12934           Guard public API with assertions.
12935         
12936         * gst/gstpad.c:
12937           Fix docs for gst_pad_set_link_function().
12938
12939 2005-11-02  Johan Dahlin  <johan@gnome.org>
12940
12941         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
12942         Unref found_caps after we used it.
12943
12944 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
12945
12946         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
12947           Don't try to ref NULL.
12948
12949 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12950
12951         * win32/common/config.h.in:
12952           provide a GST_FUNCTION that just gives a string for now
12953
12954 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12955
12956         * win32/common/gstenumtypes.c: (register_gst_object_flags),
12957         (gst_object_flags_get_type), (register_gst_bin_flags),
12958         (gst_bin_flags_get_type), (register_gst_buffer_flag),
12959         (gst_buffer_flag_get_type), (register_gst_bus_flags),
12960         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
12961         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
12962         (gst_clock_return_get_type), (register_gst_clock_entry_type),
12963         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
12964         (gst_clock_flags_get_type), (register_gst_state),
12965         (gst_state_get_type), (register_gst_state_change_return),
12966         (gst_state_change_return_get_type), (register_gst_state_change),
12967         (gst_state_change_get_type), (register_gst_element_flags),
12968         (gst_element_flags_get_type), (register_gst_core_error),
12969         (gst_core_error_get_type), (register_gst_library_error),
12970         (gst_library_error_get_type), (register_gst_resource_error),
12971         (gst_resource_error_get_type), (register_gst_stream_error),
12972         (gst_stream_error_get_type), (register_gst_event_type),
12973         (gst_event_type_get_type), (register_gst_seek_type),
12974         (gst_seek_type_get_type), (register_gst_seek_flags),
12975         (gst_seek_flags_get_type), (register_gst_format),
12976         (gst_format_get_type), (register_gst_index_certainty),
12977         (gst_index_certainty_get_type), (register_gst_index_entry_type),
12978         (gst_index_entry_type_get_type),
12979         (register_gst_index_lookup_method),
12980         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
12981         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
12982         (gst_index_resolver_method_get_type), (register_gst_index_flags),
12983         (gst_index_flags_get_type), (register_gst_debug_level),
12984         (gst_debug_level_get_type), (register_gst_debug_color_flags),
12985         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
12986         (gst_iterator_result_get_type), (register_gst_iterator_item),
12987         (gst_iterator_item_get_type), (register_gst_message_type),
12988         (gst_message_type_get_type), (register_gst_mini_object_flags),
12989         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
12990         (gst_pad_link_return_get_type), (register_gst_flow_return),
12991         (gst_flow_return_get_type), (register_gst_activate_mode),
12992         (gst_activate_mode_get_type), (register_gst_pad_direction),
12993         (gst_pad_direction_get_type), (register_gst_pad_flags),
12994         (gst_pad_flags_get_type), (register_gst_pad_presence),
12995         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
12996         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
12997         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
12998         (gst_plugin_error_get_type), (register_gst_plugin_flags),
12999         (gst_plugin_flags_get_type), (register_gst_rank),
13000         (gst_rank_get_type), (register_gst_query_type),
13001         (gst_query_type_get_type), (register_gst_tag_merge_mode),
13002         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
13003         (gst_tag_flag_get_type), (register_gst_task_state),
13004         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
13005         (gst_alloc_trace_flags_get_type),
13006         (register_gst_type_find_probability),
13007         (gst_type_find_probability_get_type), (register_gst_uri_type),
13008         (gst_uri_type_get_type), (register_gst_parse_error),
13009         (gst_parse_error_get_type):
13010         * win32/common/gstversion.h:
13011           update win32 copies
13012
13013 2005-11-01  Luca Ognibene  <luogni@tin.it>
13014
13015         * gst/gst.c:
13016           fix docs. popt is dead, long live GOption.
13017
13018 2005-10-31  Wim Taymans  <wim@fluendo.com>
13019
13020         * gst/gstbuffer.h:
13021         Small doc fix.
13022
13023 2005-10-31  Andy Wingo  <wingo@pobox.com>
13024
13025         * Boo!
13026
13027         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
13028
13029         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
13030         need to serialize property notifications on GLib 2.8. GLib 2.6 has
13031         the possibility of deadlocks here if code calling notify() or
13032         set() has a lock that can be taken in another notify handler (ABBA
13033         with class lock and e.g. python GIL state lock).
13034
13035 2005-10-28  Julien MOUTTE  <julien@moutte.net>
13036
13037         * gst/gstbus.c: Doc updates.
13038
13039 2005-10-28  Wim Taymans  <wim@fluendo.com>
13040
13041         * docs/design/part-TODO.txt:
13042         * gst/gstiterator.c:
13043         * gst/gstsystemclock.c:
13044         * gst/gstsystemclock.h:
13045         Doc updates.
13046
13047 2005-10-28  Edward Hervey  <edward@fluendo.com>
13048
13049         * docs/gst/gstreamer-docs.sgml:
13050         * docs/gst/gstreamer-sections.txt:
13051         the GstURIType documentation page is private, it only defines GstURIType
13052         which should be defined in the GstURIHandler page
13053         
13054 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
13055
13056         * gst/gstbin.c: (gst_bin_class_init):
13057         * gst/gstbin.h:
13058         * gst/gstutils.c:
13059         Documentation updates.
13060
13061 2005-10-28  Wim Taymans  <wim@fluendo.com>
13062
13063         * docs/gst/gstreamer-sections.txt:
13064         * gst/gstclock.c:
13065         * gst/gstclock.h:
13066         Documented the clocks.
13067
13068 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
13069
13070         * docs/gst/gstreamer-sections.txt:
13071           move some macros to private sections
13072         * gst/gstminiobject.c:
13073         * gst/gstminiobject.h:
13074           add descriptions provided by ds and some more
13075         * gst/gstpad.h:
13076           mark macro as to be removed
13077
13078 2005-10-28  Wim Taymans  <wim@fluendo.com>
13079
13080         * docs/design/part-TODO.txt:
13081         Add an item to TODO.
13082
13083         * gst/gstiterator.c: (gst_iterator_fold),
13084         (gst_iterator_find_custom):
13085         * gst/gstiterator.h:
13086         Add iterator docs.
13087
13088 2005-10-28  Wim Taymans  <wim@fluendo.com>
13089
13090         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
13091         (gst_base_transform_init):
13092         Don't leak class.
13093
13094         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
13095         An EOS event marks the queue as completely filled.
13096
13097 2005-10-27  Wim Taymans  <wim@fluendo.com>
13098
13099         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13100         (gst_base_sink_do_sync), (gst_base_sink_get_position):
13101         Some more debugging.
13102
13103         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
13104         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
13105         (gst_base_transform_event), (gst_base_transform_getrange),
13106         (gst_base_transform_chain):
13107         * gst/base/gstbasetransform.h:
13108         Fix debugging,
13109         Protect transform and concurrent buffer alloc with a new lock.
13110         Try not to break ABI/API.
13111
13112 2005-10-27  Wim Taymans  <wim@fluendo.com>
13113
13114         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
13115         (gst_base_src_init), (gst_base_src_query),
13116         (gst_base_src_default_newsegment),
13117         (gst_base_src_configure_segment), (gst_base_src_do_seek),
13118         (gst_base_src_send_event), (gst_base_src_event_handler),
13119         (gst_base_src_pad_get_range), (gst_base_src_loop),
13120         (gst_base_src_unlock), (gst_base_src_default_negotiate),
13121         (gst_base_src_start), (gst_base_src_deactivate),
13122         (gst_base_src_activate_push), (gst_base_src_change_state):
13123         Move some stuff around and cleanup things.
13124
13125 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
13126
13127         * gst/base/gstbasesrc.c: (gst_base_src_query):
13128           Add missing break statements.
13129
13130 2005-10-27  Wim Taymans  <wim@fluendo.com>
13131
13132         * check/gst/gstbin.c: (GST_START_TEST):
13133         An extra refcount is taken in basesrc.
13134
13135         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
13136         (gst_base_src_get_range), (gst_base_src_pad_get_range),
13137         (gst_base_src_loop):
13138         Small cleanups, check for flushing after being unlocked from the 
13139         LIVE_LOCK. take refcounts correctly (not yet everywhere).
13140         Don't send out EOS when going to READY.
13141
13142 2005-10-27  Wim Taymans  <wim@fluendo.com>
13143
13144         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13145         (gst_base_sink_get_position):
13146         Some more debug.
13147
13148         * gst/gstbin.c: (message_check), (bin_replace_message),
13149         (bin_remove_messages), (is_eos), (gst_bin_add_func),
13150         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
13151         (bin_query_duration_init), (bin_query_duration_fold),
13152         (bin_query_duration_done), (bin_query_generic_fold),
13153         (gst_bin_query):
13154         * tools/gst-launch.c: (main):
13155         Remove old option.
13156
13157 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
13158
13159         * examples/controller/audio-example.c: (main):
13160         * examples/queue/queue.c: (event_loop):
13161         * gst/base/gstbasetransform.h:
13162         * gst/gstelement.c: (gst_element_send_event):
13163         * gst/gstevent.h:
13164         * gst/gstpad.c: (gst_pad_send_event):
13165           fixing examples
13166           fixing docs typos
13167           changing log priority in error situations
13168
13169 2005-10-25  Wim Taymans  <wim@fluendo.com>
13170
13171         * gst/gstbin.c: (message_check), (bin_replace_message),
13172         (bin_remove_messages), (is_eos), (gst_bin_add_func),
13173         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
13174         (bin_query_duration_init), (bin_query_duration_fold),
13175         (bin_query_duration_done), (bin_query_generic_fold),
13176         (gst_bin_query):
13177         Some doc and debug updates.
13178         Cache previously requested query DURATION for speed. invalidate
13179         cached duration if element posts a DURATION message.
13180
13181 2005-10-25  Wim Taymans  <wim@fluendo.com>
13182
13183         * docs/design/part-TODO.txt:
13184         Update TODO.
13185
13186         * gst/gstbin.c: (message_check), (bin_replace_message),
13187         (bin_remove_messages), (is_eos), (gst_bin_add_func),
13188         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
13189         (bin_query_duration_init), (bin_query_duration_fold),
13190         (bin_query_duration_done), (bin_query_generic_fold),
13191         (gst_bin_query):
13192         Handle SEGMENT_START/DONE messages correctly.
13193         More evolved query algorithm that handles duration queries
13194         correctly.
13195
13196         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
13197         (gst_element_get_state_func), (gst_element_abort_state),
13198         (gst_element_commit_state), (gst_element_lost_state):
13199         Some more debugging.
13200
13201         * gst/gstmessage.h:
13202         Added doc.
13203
13204 2005-10-25  Wim Taymans  <wim@fluendo.com>
13205
13206         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
13207         Don't use invalid stream_time.
13208
13209         * gst/gstevent.c: (gst_event_new_newsegment):
13210         stream_time in newsegment cannot be undefined.
13211
13212 2005-10-24  Wim Taymans  <wim@fluendo.com>
13213
13214         * gst/gstbus.c:
13215         Doc fix.
13216
13217         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
13218         (gst_queue_loop):
13219         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
13220
13221 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
13222
13223         * docs/libs/tmpl/gstdparam.sgml:
13224         * docs/libs/tmpl/gstdplinint.sgml:
13225         * docs/libs/tmpl/gstdpman.sgml:
13226         * docs/libs/tmpl/gstdpsmooth.sgml:
13227         * docs/libs/tmpl/gstunitconvert.sgml:
13228           these are obsolete
13229
13230 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
13231
13232         * configure.ac:
13233           back to HEAD
13234
13235 === release 0.9.4 ===
13236
13237 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
13238
13239         * configure.ac:
13240           releasing 0.9.4, "Tyrannosaurus Rex"
13241
13242 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
13243
13244         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
13245         (gst_file_sink_get_current_offset):
13246           Use fseeko() and ftello() if available. When falling back on
13247           lseek() to get the current offset, fflush() first to make sure
13248           everything is up-to-date and we get the right offset.
13249
13250 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
13251
13252         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
13253         * gst/base/gstbasesrc.c: (gst_base_src_loop):
13254         * gst/gsterror.c: (_gst_stream_errors_init):
13255         * gst/gsterror.h:
13256         * gst/gstqueue.c: (gst_queue_loop):
13257         * po/POTFILES.in:
13258           remove prematurely added error category and clean up the instances
13259
13260 2005-10-21  Wim Taymans  <wim@fluendo.com>
13261
13262         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
13263         (gst_base_sink_get_position), (gst_base_sink_query),
13264         (gst_base_sink_change_state):
13265         Simply set the right flag when going to playing, that's all
13266         we need to do instead of calling a function inside the object
13267         lock (that could take the lock as well and deadlock)
13268
13269 2005-10-21  Wim Taymans  <wim@fluendo.com>
13270
13271         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
13272         (gst_base_src_loop):
13273         Don't warn, the peer element knows what to do best when
13274         the seek failed, it might try something else.
13275
13276 2005-10-21  Wim Taymans  <wim@fluendo.com>
13277
13278         * gst/base/gstbasesrc.c: (gst_base_src_init),
13279         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
13280         Fix seeking.
13281
13282 2005-10-21  Wim Taymans  <wim@fluendo.com>
13283
13284         * docs/design/part-segments.txt:
13285         More docs.
13286
13287         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
13288         Correctly set caps, even on the subbufer.
13289
13290 2005-10-21  Wim Taymans  <wim@fluendo.com>
13291
13292         * docs/gst/gstreamer-docs.sgml:
13293         * docs/gst/gstreamer-sections.txt:
13294         * gst/gstelement.h:
13295         * gst/gstevent.c:
13296         * gst/gstevent.h:
13297         * gst/gstmessage.h:
13298         * gst/gstpad.h:
13299         * gst/gstparse.h:
13300         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
13301         * gst/gsttask.h:
13302         * gst/gstutils.c:
13303         * gst/gstutils.h:
13304         And 2% more doc coverage.
13305
13306 2005-10-21  Andy Wingo  <wingo@pobox.com>
13307
13308         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
13309         position reporting.
13310
13311 2005-10-20  Wim Taymans  <wim@fluendo.com>
13312
13313         * gst/gsterror.c: (gst_error_get_message):
13314         * gst/gstparse.h:
13315         * gst/gstquery.h:
13316         * gst/gststructure.c:
13317         * gst/gsttrace.c:
13318         * gst/gstutils.c:
13319         More docs.
13320
13321 2005-10-20  Wim Taymans  <wim@fluendo.com>
13322
13323         * gst/gstbuffer.h:
13324         * gst/gstpad.c:
13325         * gst/gstparse.c:
13326         Another 1% more coverage.
13327
13328 2005-10-20  Wim Taymans  <wim@fluendo.com>
13329
13330         * docs/gst/gstreamer-sections.txt:
13331         * gst/gstelement.c: (gst_element_get_state_func),
13332         (gst_element_abort_state), (gst_element_commit_state),
13333         (gst_element_lost_state):
13334         * gst/gstevent.h:
13335         * gst/gstquery.c: (gst_query_set_position),
13336         (gst_query_parse_position), (gst_query_set_duration),
13337         (gst_query_parse_duration), (gst_query_new_convert):
13338         * gst/gstutils.c:
13339         Yay! 1% more docs coverage.
13340
13341 2005-10-20  Wim Taymans  <wim@fluendo.com>
13342
13343         * gst/gstpad.h:
13344         * gst/gstquery.c: (gst_query_set_position),
13345         (gst_query_parse_position), (gst_query_set_duration),
13346         (gst_query_parse_duration), (gst_query_new_convert):
13347         * gst/gstquery.h:
13348         * gst/gstutils.c: (gst_element_query_convert):
13349         * gst/gstutils.h:
13350         Docs and consistency fixes.
13351
13352 2005-10-20  Wim Taymans  <wim@fluendo.com>
13353
13354         * gst/gsttask.c:
13355         * gst/gsttask.h:
13356         More docs.
13357
13358 2005-10-20  Wim Taymans  <wim@fluendo.com>
13359
13360         * gst/gstbin.c: (message_check), (bin_replace_message),
13361         (bin_remove_messages), (is_eos), (gst_bin_add_func),
13362         (update_degree), (gst_bin_sort_iterator_next),
13363         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
13364         Reworked the message handling a bit, cache the messages instead of
13365         only the senders. alows us to do more in the future.
13366
13367 2005-10-20  Wim Taymans  <wim@fluendo.com>
13368
13369         * docs/design/part-TODO.txt:
13370         Update TODO
13371
13372         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
13373         (gst_base_sink_query):
13374         Don't use clock time to report position when in EOS.
13375
13376 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
13377
13378         * tools/gst-inspect.c: (print_interfaces),
13379         (print_element_properties_info), (print_element_info):
13380           Fix interface output with gst-inspect -a; don't print
13381           newlines after double/float properties.
13382
13383 2005-10-20  Wim Taymans  <wim@fluendo.com>
13384
13385         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
13386         (gst_base_sink_query):
13387         Speed up current position calculation.
13388
13389         * gst/base/gstbasesrc.c: (gst_base_src_query),
13390         (gst_base_src_default_newsegment):
13391         Correctly set stream position in newsegment.
13392
13393         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
13394         (update_degree), (gst_bin_sort_iterator_next),
13395         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
13396         * gst/gstmessage.c: (gst_message_new_custom):
13397         Clean up debugging info
13398
13399         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
13400         (gst_queue_loop), (gst_queue_handle_src_query):
13401         Pause task faster.
13402
13403 2005-10-19  Wim Taymans  <wim@fluendo.com>
13404
13405         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
13406         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
13407         Fix query handling again.
13408
13409 2005-10-19  Wim Taymans  <wim@fluendo.com>
13410
13411         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
13412         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
13413         * gst/base/gstbasesrc.c: (gst_base_src_query):
13414         * gst/elements/gstfilesink.c: (gst_file_sink_query):
13415         * gst/elements/gsttypefindelement.c:
13416         (gst_type_find_handle_src_query), (find_element_get_length),
13417         (gst_type_find_element_activate):
13418         API change fix.
13419
13420         * gst/gstquery.c: (gst_query_new_position),
13421         (gst_query_set_position), (gst_query_parse_position),
13422         (gst_query_new_duration), (gst_query_set_duration),
13423         (gst_query_parse_duration), (gst_query_set_segment),
13424         (gst_query_parse_segment):
13425         * gst/gstquery.h:
13426         Bundling query position/duration is not a good idea since duration
13427         does not change much and we don't want to recalculate it for every
13428         position query, so they are separated again..
13429         Base value in segment query is not needed.
13430
13431         * gst/gstqueue.c: (gst_queue_handle_src_query):
13432         * gst/gstutils.c: (gst_element_query_position),
13433         (gst_element_query_duration), (gst_pad_query_position),
13434         (gst_pad_query_duration):
13435         * gst/gstutils.h:
13436         Updates for query API change.
13437         Added some docs here and there.
13438
13439 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13440
13441         * check/gst/gstbin.c: (GST_START_TEST):
13442         * check/gst/gstghostpad.c: (GST_START_TEST):
13443         * check/pipelines/cleanup.c: (GST_START_TEST):
13444           wait on thread to die so we can check refcount correctly
13445
13446 2005-10-18  Wim Taymans  <wim@fluendo.com>
13447
13448         * check/pipelines/stress.c: (GST_START_TEST):
13449         Make check a little more time consuming.
13450
13451 2005-10-18  Wim Taymans  <wim@fluendo.com>
13452
13453         * check/Makefile.am:
13454         * check/pipelines/stress.c: (GST_START_TEST),
13455         (simple_launch_lines_suite), (main):
13456         Small state change torture test.
13457
13458         * docs/design/part-states.txt:
13459         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
13460         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
13461         (gst_base_sink_change_state):
13462         Never take state lock from streaming thread, clean up ugly
13463         hacks. Unfortunatly core does not yet support nice ways to
13464         async commit state.
13465         
13466         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
13467         (bin_bus_handler):
13468         Start state recalc if a STATE_DIRTY message is posted, but only
13469         on the toplevel bin.
13470
13471         * gst/gstelement.c: (gst_element_sync_state_with_parent),
13472         (gst_element_get_state_func), (gst_element_abort_state),
13473         (gst_element_commit_state), (gst_element_lost_state),
13474         (gst_element_set_state_func), (gst_element_change_state):
13475         * gst/gstelement.h:
13476         State variables are now protected with the LOCK, the state
13477         lock is only used to serialize _set_state().
13478
13479 2005-10-18  Wim Taymans  <wim@fluendo.com>
13480
13481         * check/gst/gstbin.c: (GST_START_TEST):
13482         * check/gst/gstmessage.c: (GST_START_TEST):
13483         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
13484         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
13485         (bin_bus_handler):
13486         * gst/gstelement.c: (gst_element_abort_state),
13487         (gst_element_commit_state), (gst_element_lost_state):
13488         * gst/gstmessage.c: (gst_message_new_state_changed),
13489         (gst_message_new_state_dirty), (gst_message_new_segment_start),
13490         (gst_message_new_segment_done), (gst_message_new_duration),
13491         (gst_message_parse_state_changed),
13492         (gst_message_parse_segment_start),
13493         (gst_message_parse_segment_done), (gst_message_parse_duration):
13494         * gst/gstmessage.h:
13495         * tools/gst-launch.c: (event_loop):
13496         Seriously, this is better than a previous commit as we only need
13497         to notify the fact that an element changed state in a streaming
13498         thread, marking the state of the parents dirty, hence the 
13499         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
13500         message.
13501
13502 2005-10-18  Wim Taymans  <wim@fluendo.com>
13503
13504         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
13505         (gst_bin_recalc_func):
13506         * gst/gstelement.c: (gst_element_set_clock),
13507         (gst_element_abort_state), (gst_element_lost_state):
13508         Cleanups, prepare for state change fixes.
13509
13510 2005-10-18  Wim Taymans  <wim@fluendo.com>
13511
13512         * gst/gstbin.h:
13513         * gst/gstelement.c: (gst_element_class_init),
13514         (gst_element_set_state), (gst_element_set_state_func):
13515         * gst/gstelement.h:
13516         Pending ABI changes.
13517         GThreadPool in GstBinClass to monitor async state changes.
13518         state_cookie in GstElement to detect concurrent gst/set state.
13519         set_state is now virtual too in case a very complicated element
13520         has to be constructed.
13521
13522 2005-10-18  Wim Taymans  <wim@fluendo.com>
13523
13524         * check/gst/gstbin.c: (GST_START_TEST):
13525         * check/gst/gstmessage.c: (GST_START_TEST):
13526         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
13527         * gst/gstbin.c: (bin_bus_handler):
13528         * gst/gstelement.c: (gst_element_commit_state),
13529         (gst_element_lost_state):
13530         * gst/gstmessage.c: (gst_message_new_state_changed),
13531         (gst_message_new_segment_start), (gst_message_new_segment_done),
13532         (gst_message_new_duration), (gst_message_parse_state_changed),
13533         (gst_message_parse_segment_start),
13534         (gst_message_parse_segment_done), (gst_message_parse_duration):
13535         * gst/gstmessage.h:
13536         * tools/gst-launch.c: (event_loop):
13537         Make messages future proof.
13538         state-change gets a flag if it was a message comming from the
13539         streaming thread.
13540         segment-start/stop can also be specified in other formats.
13541         A message to notify an app that a pipeline changed playback 
13542         duration.
13543         Also fix a GstMessage leak in -launch
13544
13545 2005-10-18  Andy Wingo  <wingo@pobox.com>
13546
13547         * gst/gstelement.c (gst_element_dispose): More helpful message.
13548
13549 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
13550
13551         reviewed by: <delete if not using a buddy>
13552
13553         * common/gtk-doc.mak:
13554
13555 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
13556
13557         * gst/gstregistry.c: (gst_registry_scan_path_level):
13558           unref a plug-in we get that was already initialized
13559
13560 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
13561
13562         * docs/gst/gstreamer-sections.txt:
13563         * docs/libs/gstreamer-libs-sections.txt:
13564         * gst/gstelement.h:
13565           add new api entries
13566           hide internal macro
13567
13568 2005-10-17  Andy Wingo  <wingo@pobox.com>
13569
13570         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
13571         cleanup.
13572
13573         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
13574
13575         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
13576
13577         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
13578         (gst_element_get_state_func): Better debug message.
13579         (gst_element_commit_state): s/INFO/DEBUG/.
13580         (gst_element_lost_state, gst_element_change_state): 
13581
13582         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
13583         (gst_message_new_custom): s/INFO/LOG/.
13584
13585 2005-10-17  Michael Smith <msmith@fluendo.com>
13586
13587         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
13588           Check if end time is valid using end time, not start time.
13589
13590 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
13591
13592         * check/gst-libs/controller.c: (GST_START_TEST),
13593         (gst_controller_suite):
13594         * libs/gst/controller/gstcontroller.c:
13595         (gst_controlled_property_set_interpolation_mode):
13596         * libs/gst/controller/gstcontroller.h:
13597         * libs/gst/controller/gstinterpolation.c:
13598         * testsuite/controller/.cvsignore:
13599         * testsuite/controller/Makefile.am:
13600         * testsuite/controller/interpolator.c:
13601           merge controller testsuites
13602           fix broken tests
13603           remove mem-chunk from docs
13604
13605 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
13606
13607         * gst/gstmemchunk.c:
13608         * gst/gstmemchunk.h:
13609         * gst/gsttrashstack.c:
13610         * gst/gsttrashstack.h:
13611           out.  get out.  you're fired.  to the Attic !
13612
13613 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
13614
13615         * gst/gstcaps.c: (gst_caps_intersect):
13616           fix signedness issues in a (hopefully) correct way
13617         * gst/gstelement.c: (gst_element_pads_activate):
13618           some debugging
13619         * gst/gstobject.c: (gst_object_set_parent):
13620           some debugging
13621
13622 2005-10-17  Julien MOUTTE  <julien@moutte.net>
13623
13624         * gst/gstvalue.h: Fix prototypes.
13625
13626 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
13627
13628         * docs/gst/gstreamer-sections.txt:
13629         * gst/gst.c: (gst_version_string):
13630         * gst/gst.h:
13631         * gst/gstversion.h.in:
13632         * win32/common/libgstreamer.def:
13633           add gst_version_string ()
13634
13635 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
13636
13637         * configure.ac:
13638           clean up further
13639         * gst/gst.c: (init_post):
13640         * win32/common/config.h.in:
13641           it's PLUGINDIR now
13642         * gst/gstcaps.c: (gst_caps_intersect):
13643           use gint64, the range could be bigger than a guint
13644
13645 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
13646
13647         * gst/gstclock.h:
13648           document potential problem in 2038
13649
13650 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
13651
13652         * gst/gstcaps.c: (gst_caps_intersect):
13653           Fix guint j diving under 0
13654
13655 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
13656
13657         * configure.ac:
13658         * win32/common/config.h:
13659         * win32/common/config.h.in:
13660           check for process.h, declares getpid() on Windows
13661         * gst/gstinfo.c:
13662           include process.h if we have it
13663         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
13664         * gst/gstmemchunk.h:
13665           fix signedness issues
13666         * win32/common/libgstreamer.def:
13667           fix get_type's
13668
13669 2005-10-16  Julien MOUTTE  <julien@moutte.net>
13670
13671         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
13672         fix. Because of unsigned ints, caps intersection was going nuts and
13673         trying to access structures with G_MAXUINT index. That fixes
13674         videotestsrc ! ffmpegcolorspace ! fakesink
13675         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
13676         consistency.
13677
13678 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
13679
13680         * configure.ac:
13681           use the gettext macro
13682         * gst/elements/gstelements.c:
13683         * gst/gst.c:
13684         * gst/indexers/gstindexers.c:
13685           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
13686         * win32/common/config.h:
13687           updated config.h
13688         * win32/common/config.h.in:
13689           add the template to generate config.h
13690         * win32/common/gstenumtypes.c:
13691         * win32/common/gstversion.h:
13692           updated copies
13693
13694 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
13695
13696         * gst/gst.c: (gst_version):
13697         * gst/gstversion.h.in:
13698           add the nano
13699
13700 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
13701
13702         * gst/gstevent.h:
13703           Oops, add missing closing bracket.
13704
13705 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
13706
13707         * configure.ac:
13708           use common m4's for argument checking
13709
13710 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
13711
13712         * docs/gst/gstreamer-sections.txt:
13713         * gst/gstevent.h:
13714           Add GST_EVENT_TYPE_NAME() macro.
13715
13716 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
13717
13718         * gst/gstinfo.c:
13719         * gst/gstpluginfeature.c:
13720         * gst/gsttask.c:
13721           privatize more symbols
13722
13723 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
13724
13725         * configure.ac:
13726           add srcdir, builddir includes to GST_ALL_CFLAGS, since
13727           everything that uses GStreamer API should have the includes
13728
13729 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
13730
13731         * docs/gst/gstreamer-sections.txt:
13732         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
13733         * gst/gstvalue.h:
13734           give each value a _get_type, removes the DATA exports
13735
13736 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
13737
13738         * gst/gst.c:
13739         * gst/gst.h:
13740           remove _gst_registry_auto_load, not used anymore
13741         * gst/gstbin.c: (gst_bin_get_type):
13742         * gst/gstbin.h:
13743         * gst/gstelement.c: (gst_element_get_type):
13744         * gst/gstelement.h:
13745         * gst/gstobject.c: (gst_object_get_type):
13746         * gst/gstobject.h:
13747         * gst/gstpad.c: (gst_pad_get_type):
13748         * gst/gstpad.h:
13749           make _get_type functions similar, fixes data export from library
13750
13751 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
13752
13753         * configure.ac:
13754           correctly make conditionals
13755         * gst/elements/Makefile.am:
13756         * gst/elements/gstelements.c:
13757           fix typo causing fdsrc not to build
13758
13759 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
13760
13761         * testsuite/Makefile.am:
13762         * testsuite/bytestream/.cvsignore:
13763         * testsuite/bytestream/Makefile.am:
13764         * testsuite/bytestream/filepadsink.c:
13765         * testsuite/bytestream/gstbstest.c:
13766         * testsuite/bytestream/test1.c:
13767         * testsuite/bytestream/testfile1:
13768         * testsuite/caps/normalisation.c:
13769         * testsuite/caps/random.c: (main):
13770         * testsuite/cleanup/.cvsignore:
13771         * testsuite/cleanup/Makefile.am:
13772         * testsuite/cleanup/cleanup1.c:
13773         * testsuite/cleanup/cleanup2.c:
13774         * testsuite/cleanup/cleanup3.c:
13775         * testsuite/cleanup/cleanup4.c:
13776         * testsuite/cleanup/cleanup5.c:
13777         * testsuite/controller/interpolator.c:
13778         * testsuite/debug/printf_extension.c: (main):
13779         * testsuite/elements/tee.c:
13780         * testsuite/negotiation/.cvsignore:
13781         * testsuite/negotiation/Makefile.am:
13782         * testsuite/negotiation/pad_link.c:
13783         * testsuite/pad/Makefile.am:
13784         * testsuite/pad/chainnopull.c:
13785         * testsuite/pad/getnopush.c:
13786         * testsuite/pad/link.c:
13787         * testsuite/refcounting/sched.c: (create_pipeline):
13788         * testsuite/registry/Makefile.am:
13789         * testsuite/registry/gst-print-formats.c:
13790         * testsuite/schedulers/.cvsignore:
13791         * testsuite/schedulers/142183-2.c:
13792         * testsuite/schedulers/142183.c:
13793         * testsuite/schedulers/143777-2.c:
13794         * testsuite/schedulers/143777.c:
13795         * testsuite/schedulers/147713.c:
13796         * testsuite/schedulers/147819.c:
13797         * testsuite/schedulers/147894-2.c:
13798         * testsuite/schedulers/147894.c:
13799         * testsuite/schedulers/Makefile.am:
13800         * testsuite/schedulers/group_link.c:
13801         * testsuite/schedulers/queue_link.c:
13802         * testsuite/schedulers/relink.c:
13803         * testsuite/schedulers/unlink.c:
13804         * testsuite/schedulers/unref.c:
13805         * testsuite/schedulers/useless_iteration.c:
13806         * testsuite/states/bin.c:
13807           clean out/remove some stuff from the testsuite directories
13808
13809 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
13810
13811         * configure.ac:
13812           check for some headers
13813         * gst/elements/Makefile.am:
13814         * gst/elements/gstelements.c:
13815           don't compile fdsrc without sys/socket.h
13816         * gst/indexers/Makefile.am:
13817         * gst/indexers/gstindexers.c: (plugin_init):
13818           don't compile fileindex without mmap
13819
13820 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
13821
13822         * configure.ac:
13823           reorganize
13824           clean up
13825           document more
13826           remove cruft
13827         * check/Makefile.am:
13828         * docs/gst/Makefile.am:
13829         * examples/helloworld/Makefile.am:
13830         * gst/Makefile.am:
13831         * gst/base/Makefile.am:
13832         * gst/check/Makefile.am:
13833         * gst/elements/Makefile.am:
13834         * gst/indexers/Makefile.am:
13835         * gst/parse/Makefile.am:
13836         * libs/gst/controller/Makefile.am:
13837         * libs/gst/dataprotocol/Makefile.am:
13838         * examples/helloworld/helloworld.c: (event_loop):
13839           compile fixes, though it's not being compiled currently
13840
13841 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
13842
13843         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
13844           Add some simple tests for the new taglist date API.
13845
13846 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
13847
13848         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
13849         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
13850           Beautify 'last-message' output: print 'none' for buffer timestamps
13851           and durations if none is set; improve alignment with next messages.
13852
13853 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
13854
13855         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
13856         * gst/gstpluginfeature.h:
13857         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
13858         * gst/gstregistry.h:
13859         * docs/gst/gstreamer-sections.txt:
13860           Add new API to check plugin feature version requirements.
13861
13862         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
13863           Some basic tests for the above.         
13864
13865 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13866
13867         * gst/gststructure.c: (gst_structure_to_string):
13868           guard against NULL printf - happens when for example
13869           a message structure with GstClock gets serialized
13870
13871 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
13872
13873         * gst/base/gstcollectpads.c: (gst_collectpads_event):
13874           Fix presumable copy'n'pasto.
13875
13876 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13877
13878         * gst/elements/gstfakesrc.h:
13879         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
13880         * gst/elements/gsttypefindelement.c:
13881           fix some signedness
13882         * gst/elements/gstfilesink.c: (gst_file_sink_render):
13883           I wonder if this could actually write +2GB files before
13884
13885 2005-10-13  Andy Wingo  <wingo@pobox.com>
13886
13887         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
13888         Fix Timmeke Waymans bug.
13889         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
13890         string of the proper length to gst_caps_from_string. There's a
13891         potential for, before this fix, that this could cause someone
13892         connecting over the network to cause a segfault if the payload is
13893         not NUL-terminated.
13894
13895 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
13896
13897         * docs/design/draft-push-pull.txt:
13898         * docs/design/part-overview.txt:
13899         * docs/random/TODO-pre-0.9:
13900         * docs/random/old/ChangeLog.gstreamer:
13901         * gst/base/gstpushsrc.c:
13902         * gst/gstclock.c:
13903           fixed typos
13904
13905 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13906
13907         * gst/glib-compat.c: (gst_flags_get_first_value):
13908         * gst/glib-compat.h:
13909         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
13910         (gst_value_compare_double), (gst_value_serialize_flags):
13911           GLib 2.6 g_flags_get_first_value has a bug that triggers an
13912           infinite loop
13913
13914 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13915
13916         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
13917         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
13918           fix up debugging
13919         * tools/gst-launch.c: (event_loop):
13920           print out clock nicely
13921
13922 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
13923
13924         * docs/gst/gstreamer-sections.txt:
13925         * gst/gsttaglist.h:
13926         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
13927         (gst_tag_list_get_date_index):
13928           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
13929           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
13930
13931 2005-10-13  Julien MOUTTE  <julien@moutte.net>
13932
13933         * gst/base/gstcollectpads.c: (gst_collectpads_event),
13934         (gst_collectpads_chain):
13935         * gst/base/gstcollectpads.h: Handle newsegment and store informations
13936         in CollectData.
13937
13938 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
13939
13940         * docs/gst/gstreamer-sections.txt:
13941         * gst/gst.c:
13942         * gst/gsterror.h:
13943         * tools/gst-inspect.c: (main):
13944         * tools/gst-launch.c: (main):
13945         * tools/gst-run.c: (main):
13946         * tools/gst-xmlinspect.c: (main):
13947           fix GOption context leaks
13948           doc fixes
13949
13950 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13951
13952         * gst/gstbus.c:
13953           use HAVE_UNISTD_H
13954         * win32/common/config.h:
13955           update config
13956         * win32/vs6/grammar.dsp:
13957         * win32/vs6/libgstelements.dsp:
13958         * win32/vs6/libgstreamer.dsp:
13959           update vs6 files
13960
13961 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
13962
13963         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
13964         * gst/base/gstbasesrc.c: (gst_base_src_query):
13965           fix more guint64<->gdouble conversions
13966
13967 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
13968
13969         * Makefile.am:
13970           add win32-update target
13971         * win32/common/gstconfig.h:
13972         * win32/common/gstenumtypes.c:
13973         * win32/common/gstenumtypes.h:
13974         * win32/common/gstversion.h:
13975           add files that visual studio can't generate
13976
13977 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
13978
13979         * Makefile.am:
13980           add a win32-update target
13981         * configure.ac:
13982
13983 2005-10-12  Wim Taymans  <wim@fluendo.com>
13984
13985         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
13986         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
13987         * gst/gstelement.c: (gst_element_commit_state),
13988         (gst_element_set_state):
13989         Protect flags with proper lock.
13990         unref provided cached clock in dispose.
13991
13992 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
13993
13994         * gst/gst.c:
13995         * gst/gstminiobject.h:
13996         * gst/gstpad.h:
13997         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
13998           removed unused flags from miniobject
13999           doc fixes
14000
14001 2005-10-12  Wim Taymans  <wim@fluendo.com>
14002
14003         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
14004         (gst_file_sink_event), (gst_file_sink_render):
14005         Flush before seeking.
14006
14007 2005-10-12  Andy Wingo  <wingo@pobox.com>
14008
14009         * gst/gst.c (gst_init_check): Ignore unknown options, as has
14010         always been the case.
14011
14012 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
14013
14014         * check/gst/gstbin.c: (GST_START_TEST):
14015         * docs/gst/gstreamer-sections.txt:
14016         * gst/base/gstbasesink.c: (gst_base_sink_init):
14017         * gst/base/gstbasesrc.c: (gst_base_src_init),
14018         (gst_base_src_get_range), (gst_base_src_check_get_range),
14019         (gst_base_src_start), (gst_base_src_stop):
14020         * gst/base/gstbasesrc.h:
14021         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
14022         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
14023         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
14024         (bin_bus_handler):
14025         * gst/gstbin.h:
14026         * gst/gstbuffer.h:
14027         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
14028         * gst/gstbus.h:
14029         * gst/gstelement.c: (gst_element_is_locked_state),
14030         (gst_element_set_locked_state), (gst_element_commit_state),
14031         (gst_element_set_state):
14032         * gst/gstelement.h:
14033         * gst/gstindex.c: (gst_index_init):
14034         * gst/gstindex.h:
14035         * gst/gstminiobject.h:
14036         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
14037         (gst_object_set_parent):
14038         * gst/gstobject.h:
14039         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
14040         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
14041         * gst/gstpad.h:
14042         * gst/gstpadtemplate.h:
14043         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
14044         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
14045         * gst/gstpipeline.h:
14046         * gst/indexers/gstfileindex.c: (gst_file_index_load),
14047         (gst_file_index_commit):
14048         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
14049         * testsuite/pad/link.c: (gst_test_src_init),
14050         (gst_test_filter_init), (gst_test_sink_init):
14051         * testsuite/states/locked.c: (main):
14052           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
14053           moved bitshift from macro to enum definition
14054
14055 2005-10-12  Wim Taymans  <wim@fluendo.com>
14056
14057         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
14058         * gst/elements/gstfilesink.c: (gst_file_sink_event),
14059         (gst_file_sink_render):
14060         Some more debugging info.
14061
14062 2005-10-12  Wim Taymans  <wim@fluendo.com>
14063
14064         * docs/design/part-states.txt:
14065         * tools/gst-launch.c: (main):
14066         Some doc updates.
14067         Revert non-intentional change.
14068
14069 2005-10-12  Wim Taymans  <wim@fluendo.com>
14070
14071         * check/gst/gstbin.c: (GST_START_TEST):
14072         * check/gst/gstelement.c: (GST_START_TEST):
14073         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
14074         * check/gst/gstghostpad.c: (GST_START_TEST):
14075         * check/gst/gstpipeline.c: (GST_START_TEST):
14076         * check/pipelines/simple_launch_lines.c: (run_pipeline):
14077         * check/states/sinks.c: (GST_START_TEST):
14078         * gst/elements/gsttypefindelement.c: (stop_typefinding):
14079         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
14080         (gst_bin_remove_func), (gst_bin_get_state_func),
14081         (gst_bin_recalc_state), (gst_bin_change_state_func),
14082         (bin_bus_handler):
14083         * gst/gstelement.c: (gst_element_get_state_func),
14084         (gst_element_get_state), (gst_element_abort_state),
14085         (gst_element_commit_state), (gst_element_set_state),
14086         (gst_element_change_state), (gst_element_change_state_func):
14087         * gst/gstelement.h:
14088         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
14089         (gst_pipeline_provide_clock_func):
14090         * gst/gstutils.c: (gst_element_link_pads_filtered):
14091         * tools/gst-launch.c: (main):
14092         * tools/gst-typefind.c: (main):
14093         Use GstClockTime in _get_state() instead of GTimeVal.
14094         Remove old code in gstutils.c
14095
14096 2005-10-12  Andy Wingo  <wingo@pobox.com>
14097
14098         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
14099         removed.
14100
14101         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
14102         there is no task. Shouldn't affect any code, as nothing in our
14103         plugins checks this return value.
14104         (gst_pad_stop_task): Also take the stream lock if the pad has no
14105         task. Docs updated.
14106
14107 2005-10-12  Wim Taymans  <wim@fluendo.com>
14108
14109         * gst/gstpad.c: (pre_activate), (post_activate),
14110         (gst_pad_activate_pull), (gst_pad_activate_push):
14111         Cleanup activation code. Reset old state if
14112         activation failed.
14113
14114 2005-10-12  Wim Taymans  <wim@fluendo.com>
14115
14116         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14117         (gst_base_sink_change_state):
14118         No need to prerol after receiving EOS.
14119
14120         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
14121         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
14122         * gst/elements/gstidentity.c: (gst_identity_event):
14123         Print events more verbosely.
14124
14125 2005-10-12  Wim Taymans  <wim@fluendo.com>
14126
14127         * check/Makefile.am:
14128         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
14129         * check/states/sinks2.c:
14130         Moved sinks2 testcode in sinks check.
14131
14132         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
14133         (gst_bin_remove_func), (gst_bin_recalc_state),
14134         (gst_bin_change_state_func), (bin_bus_handler):
14135         Fix potential race condition when _get_state() iterated over an
14136         ASYNC element right before it posted a state completion.
14137
14138         * gst/gstclock.h:
14139         Do proper cast here.
14140
14141         * gst/gstevent.c: (gst_event_new_newsegment),
14142         (gst_event_parse_newsegment):
14143         A playback rate of 0.0 is not allowed.
14144
14145 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
14146
14147         * win32/common/config.h:
14148         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
14149         (_trewinddir), (_ttelldir), (_tseekdir):
14150         * win32/common/dirent.h:
14151         * win32/common/gtchar.h:
14152         * win32/common/libgstbase.def:
14153         * win32/common/libgstreamer.def:
14154         * win32/vs6/grammar.dsp:
14155         * win32/vs6/gst_inspect.dsp:
14156         * win32/vs6/gst_launch.dsp:
14157         * win32/vs6/gstreamer.dsw:
14158         * win32/vs6/libgstbase.dsp:
14159         * win32/vs6/libgstelements.dsp:
14160         * win32/vs6/libgstreamer.dsp:
14161           Visual Studio 6 project files, and a new common directory.
14162           Phear.
14163
14164 2005-10-11  Wim Taymans  <wim@fluendo.com>
14165
14166         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14167         (gst_base_sink_do_sync), (gst_base_sink_query),
14168         (gst_base_sink_change_state):
14169         * gst/base/gstbasesink.h:
14170         Correctly parse newsegment info.
14171
14172 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
14173
14174         * gst/gst.c: (init_post):
14175           split plugin paths correctly
14176
14177 2005-10-11  Wim Taymans  <wim@fluendo.com>
14178
14179         * check/gst/gstevent.c: (GST_START_TEST):
14180         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14181         (gst_base_sink_change_state):
14182         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
14183         * gst/base/gstbasetransform.c: (gst_base_transform_event):
14184         * gst/elements/gstfilesink.c: (gst_file_sink_event):
14185         * gst/gstevent.c: (gst_event_new_newsegment),
14186         (gst_event_parse_newsegment):
14187         * gst/gstevent.h:
14188         Added extra flag to newsegment for future API freeze.
14189         Updated check and base elements.
14190
14191 2005-10-11  Julien MOUTTE  <julien@moutte.net>
14192
14193         * gst/base/gstcollectpads.c: (gst_collectpads_init),
14194         (gst_collectpads_add_pad), (gst_collectpads_pop),
14195         (gst_collectpads_event), (gst_collectpads_chain):
14196         * gst/base/gstcollectpads.h: Handle EOS correctly.
14197
14198 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
14199
14200         * tools/gst-launch.c: (main):
14201           more null protecting
14202
14203 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
14204
14205         * gst/gst-i18n-lib.h:
14206           check for ENABLE_NLS, not GETTEXT_PACKAGE
14207         * gst/gstregistry.c: (gst_registry_add_plugin),
14208         (gst_registry_scan_path_level),
14209         (_gst_registry_remove_cache_plugins):
14210           protect possibly NULL strings
14211         * gst/parse/types.h:
14212           config.h already included before
14213         * tools/gst-inspect.c: (main):
14214           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
14215           check for ENABLE_NLS, not GETTEXT_PACKAGE
14216         * tools/gst-launch.c: (main):
14217           check for ENABLE_NLS, not GETTEXT_PACKAGE
14218
14219 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
14220
14221         * configure.ac:
14222           if we don't have glib, fail before testing 2.8
14223         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
14224           fix a leak, should fix plugins-base testsuite
14225
14226 2005-10-11  Andy Wingo  <wingo@pobox.com>
14227
14228         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
14229         take the mode we're going to as an arg. Go head and set the mode
14230         and flushing flags now, so that if the activate function starts a
14231         thread all the flags will be in the right state.
14232         (post_activate): Renamed also. Just handle making sure streaming
14233         finishes for the deactivation case, and setting the deactivated
14234         mode.
14235         (gst_pad_set_active): Complain loudly if deactivation fails.
14236         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
14237         (gst_pad_activate_push): Adapt to pre/post_activate changes,
14238         remove the terrible hack.
14239
14240 2005-10-11  Wim Taymans  <wim@fluendo.com>
14241
14242         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
14243         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
14244         (gst_bin_recalc_state), (gst_bin_change_state_func),
14245         (gst_bin_dispose), (bin_bus_handler):
14246         * gst/gstbin.h:
14247         Prepare to make current EOS message queue more generic.
14248         Fix some typos.
14249
14250         * gst/gstevent.c: (gst_event_new_newsegment),
14251         (gst_event_parse_newsegment):
14252         * gst/gstevent.h:
14253         Rename base to stream_time.
14254
14255         * gst/gstmessage.h:
14256         Fix typo in docs.
14257
14258 2005-10-11  Wim Taymans  <wim@fluendo.com>
14259
14260         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
14261         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
14262         (gst_bin_change_state_func), (bin_bus_handler):
14263         * gst/gstbin.h:
14264         Work on proper clock selection.
14265
14266 2005-10-11  Edward Hervey  <edward@fluendo.com>
14267
14268         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
14269         * libs/gst/controller/gstcontroller.h:
14270         Added GList* version of _remove_properties() in order to be able to wrap
14271         it in bindings.
14272
14273 2005-10-11  Wim Taymans  <wim@fluendo.com>
14274
14275         * docs/design/part-states.txt:
14276         Some more docs.
14277
14278         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
14279         (gst_bin_change_state_func), (bin_bus_handler):
14280         Doc updates. Don't distribute the same clock over and over again.
14281
14282         * gst/gstclock.c:
14283         * gst/gstclock.h:
14284         Doc updates.
14285
14286         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
14287         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
14288         (gst_pad_send_event):
14289         * gst/gstpad.h:
14290         Make probe emission threadsafe again.
14291         Register quarks and move _get_name() from utils.
14292         Doc updates.
14293
14294         * gst/gstpipeline.c: (gst_pipeline_class_init),
14295         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
14296         Only redistribute the clock of it changed.
14297
14298         * gst/gstsystemclock.h:
14299         Doc updates. 
14300
14301         * gst/gstutils.c:
14302         * gst/gstutils.h:
14303         Moved the _flow_get_name() to GstPad.
14304
14305 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
14306
14307         * check/gst-libs/gdp.c: (GST_START_TEST):
14308         * check/gst/gstcaps.c: (GST_START_TEST):
14309         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
14310         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
14311         (gst_dp_packet_from_caps):
14312           fix more valgrind warnings before turning up the heat
14313
14314 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
14315
14316         * gst/parse/grammar.y:
14317           some cleanup before the hacking
14318
14319 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14320
14321         * gst/base/gstbasesrc.c: (gst_base_src_query):
14322           use conversions
14323         * gst/gstutils.c: (gst_guint64_to_gdouble),
14324         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
14325         * gst/gstutils.h:
14326           externalize, basesrc uses it
14327           obviously the implementation needs testing
14328
14329 2005-10-10  Wim Taymans  <wim@fluendo.com>
14330
14331         * tests/sched/Makefile.am:
14332         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
14333         (make_pipeline3), (make_pipeline4), (print_elem), (main):
14334
14335 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14336
14337         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
14338           apparently converting from guint64 to double is not implemented
14339           on MSVC
14340
14341 2005-10-10  Wim Taymans  <wim@fluendo.com>
14342
14343         * check/Makefile.am:
14344         * check/generic/states.c: (GST_START_TEST):
14345         * check/gst/gstbin.c: (GST_START_TEST):
14346         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
14347         * check/states/sinks.c: (GST_START_TEST):
14348         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
14349         (main):
14350         Check fixes, use API as stated in design docs, remove hacks.
14351
14352         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14353         (gst_base_sink_change_state):
14354         Catch stopping our task while we're shutting down.
14355
14356         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
14357         (gst_bin_remove_func), (gst_bin_get_state_func),
14358         (gst_bin_recalc_state), (gst_bin_change_state_func),
14359         (bin_bus_handler):
14360         * gst/gstbin.h:
14361         * gst/gstelement.c: (gst_element_init),
14362         (gst_element_get_state_func), (gst_element_abort_state),
14363         (gst_element_commit_state), (gst_element_lost_state),
14364         (gst_element_set_state), (gst_element_change_state),
14365         (gst_element_change_state_func):
14366         * gst/gstelement.h:
14367         New state change algorithm (see #318116)
14368
14369         * gst/gstpipeline.c: (gst_pipeline_class_init),
14370         (gst_pipeline_init), (gst_pipeline_set_property),
14371         (gst_pipeline_get_property), (do_pipeline_seek),
14372         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
14373         * gst/gstpipeline.h:
14374         Remove crude state change hacks.
14375
14376         * gst/gstutils.h:
14377         Remove crude hacks.
14378
14379         * tools/gst-launch.c: (main):
14380         Fixes for state change. Needs some more work to fully use the
14381         new stuff.
14382
14383 2005-10-10  Andy Wingo  <wingo@pobox.com>
14384
14385         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
14386
14387         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
14388         this flag, but it's not even in GLib 2.6. Odd. Hack around the
14389         issue.
14390
14391 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
14392
14393         * gst/gstiterator.c: (gst_iterator_new):
14394           Fix my previous commit: GTypes passed to gst_iterator_new()
14395           can be fundamental types.
14396
14397 2005-10-10  Wim Taymans  <wim@fluendo.com>
14398
14399         * gst/gstelement.c: (gst_element_iterate_pad_list),
14400         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
14401         (gst_element_iterate_sink_pads):
14402         Use src/sink pads lists for the respective iterators instead
14403         of filtering.
14404
14405 2005-10-10  Andy Wingo  <wingo@pobox.com>
14406
14407         Merged in popt removal + GOption addition patch from Ronald, bug
14408         #169772.
14409
14410         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
14411         GstElement macros around, remove popt-related symbols, add goption
14412         stuff.
14413
14414         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
14415         
14416         * docs/gst/Makefile.am:
14417         * docs/libs/Makefile.am: No POPT_CFLAGS.
14418         
14419         * examples/manual/Makefile.am:
14420         * docs/manual/basics-init.xml: Doc updates with an example.
14421         
14422         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
14423         (gst_init), (parse_one_option), (parse_goption_arg):
14424         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
14425         bit of hand merging and debugging to get the GOption stuff working
14426         tho.
14427         
14428         * tests/Makefile.am:
14429         * tools/Makefile.am:
14430         * tools/gst-inspect.c: (main):
14431         * tools/gst-launch.c: (main):
14432         * tools/gst-run.c: (main):
14433         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
14434
14435 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
14436
14437         * gst/gstiterator.c: (gst_iterator_new):
14438           Add assertions to make sure passed GType is likely to really
14439           be a GType (as the compiler won't catch it if the size and
14440           GType arguments get mixed up, see #318447).
14441
14442 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
14443
14444         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
14445
14446         * gst/gstbin.c: (gst_bin_iterate_sorted):
14447           Pass GType and size arguments to gst_iterator_new() in the right
14448           order (maybe we should make _new() take the GType as first argument
14449           just like _new_list()?) (#318447).
14450           
14451
14452 2005-10-10  Wim Taymans  <wim@fluendo.com>
14453
14454         * gst/gstelement.c: (gst_element_finalize):
14455         And free the GStaticRecMutex too
14456
14457 2005-10-10  Andy Wingo  <wingo@pobox.com>
14458
14459         * gst/gstelement.c (gst_element_init, gst_element_finalize):
14460         Allocate and free the mutex properly.
14461
14462         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
14463         New macros.
14464         (GstElement): The state_lock is now recursive. Rebuild your
14465         plugins, suckers. Old macros adapted.
14466
14467         * docs/gst/gstreamer-sections.txt: Doc updates.
14468
14469         * gst/gstutils.h:
14470         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
14471         (g_static_rec_cond_wait): Ported from state changes patch, while
14472         we wait on bug #317802 to be solved in a well-distributed GLib.
14473
14474         * gst/gstelement.c (gst_element_change_state_func): Renamed from
14475         gst_element_change_state, variable name changes.
14476         (gst_element_change_state): Split out of gst_element_set_state in
14477         preparation for the state change merge. Doesn't pay attention to
14478         the 'transition' argument.
14479         (gst_element_set_state): Updates, hopefully purely cosmetic.
14480         (gst_element_sync_state_with_parent): MT-safety. Ported from the
14481         state change patch.
14482         (gst_element_get_state_func): Renamed from get_state, cosmetic
14483         changes.
14484
14485 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14486
14487         * gst/elements/gstelements.c:
14488         * win32/GStreamer.vcproj:
14489         * win32/config.h:
14490         * win32/dirent.c: (_tseekdir):
14491         * win32/gst-inspect.vcproj:
14492         * win32/gst-launch.vcproj:
14493         * win32/gstconfig.h:
14494         * win32/gstelements.vcproj:
14495         * win32/gstenumtypes.c: (gst_object_flags_get_type):
14496         * win32/gstreamer.def:
14497         * win32/msvc71.sln:
14498           updates for the win32 build (patch from Sebastien Moutte)
14499
14500 2005-10-10  Andy Wingo  <wingo@pobox.com>
14501
14502         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
14503         gst_bin_get_state, cleaned up (but no logic changes).
14504         (bin_element_is_sink): Comment updates.
14505         (sink_iterator_filter): Remove needless cast.
14506         (gst_bin_iterate_sinks): Doc update.
14507         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
14508         cleaned up (but no logic changes).
14509
14510         * check/states/sinks.c (test_src_sink): Cleanups from the state
14511         change patch.
14512         (test_livesrc_sink): Sync on the state.
14513
14514         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
14515         the state change patch.
14516
14517         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
14518         change patch.
14519
14520         * check/gst/gstbin.c: Merge in some style fixes and additional
14521         checks from Wim's state change patch.
14522
14523 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
14524
14525         * gst/base/gsttypefindhelper.c: (helper_find_peek),
14526         (gst_type_find_helper):
14527           Check whether we have the requested data already in our list of
14528           cached buffers before pulling a new buffer; also make the buffer
14529           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
14530
14531 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14532
14533         * gst/gstcaps.c:
14534         * gst/gstevent.c:
14535           doc updates
14536         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
14537           don't use long long, it's not portable.  Replacing with
14538           gint64 seems to work; let's hope no skeletons fall out of the closet.
14539
14540 2005-10-10  Andy Wingo  <wingo@pobox.com>
14541
14542         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
14543
14544 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
14545
14546         * docs/gst/gstreamer-sections.txt:
14547         * gst/gstevent.c:
14548         * gst/gstevent.h:
14549         * gst/gstinfo.c:
14550         * gst/gstinfo.h:
14551         * gst/gstmessage.c: (gst_message_parse_state_changed):
14552         * gst/gstpad.c:
14553         * gst/gstpad.h:
14554           more docs, fix compilation
14555
14556 2005-10-09  Philippe Khalaf <burger@speedy.org>
14557         * gst/gstmessage.c:
14558           Fixed a few forgotten variables on previous commit
14559
14560 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
14561
14562         * gst/base/gsttypefindhelper.c: (helper_find_peek):
14563           Fix evil typefind crasher: getrange() might return a short
14564           buffer at the end of a file, but gst_type_find_peek() must
14565           either return the full data as requested or NULL, but
14566           never a short buffer.
14567
14568 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
14569
14570         * gst/gstmessage.c: (gst_message_new_state_changed),
14571         (gst_message_parse_state_changed):
14572         * gst/gstmessage.h:
14573           don't use "new", it's a C++ keyword
14574
14575 2005-10-08  Wim Taymans  <wim@fluendo.com>
14576
14577         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
14578         * gst/gstelement.c: (gst_element_post_message):
14579         * gst/gstpipeline.c: (gst_pipeline_change_state):
14580         Small docs and debug updates.
14581
14582 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
14583
14584         * docs/gst/gstreamer-sections.txt:
14585         * gst/gstelementfactory.c:
14586         * gst/gstevent.c:
14587         * gst/gsttaglist.c:
14588           more docs
14589
14590 2005-10-08  Wim Taymans  <wim@fluendo.com>
14591
14592         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
14593         (gst_bin_dispose), (bin_bus_handler):
14594         Fix typos, add comments.
14595         Clear EOS list when going to PAUSED from any direction and do it
14596         in a threadsafe way.
14597         Get base time in a threadsafe way too.
14598         Fix confusing debug in the change_state function.
14599         Various other small cleanups.
14600         
14601         * gst/gstelement.c: (gst_element_post_message):
14602         Fix very verbose bus posting code.
14603
14604         * gst/gstpipeline.c: (gst_pipeline_class_init),
14605         (gst_pipeline_set_property), (gst_pipeline_get_property),
14606         (gst_pipeline_change_state):
14607         Small ARG_ -> PROP_ cleanup
14608
14609 2005-10-08  Wim Taymans  <wim@fluendo.com>
14610
14611         * gst/gstbin.c: (is_eos), (bin_bus_handler):
14612         Do a less CPU demanding EOS check because we can.
14613
14614 2005-10-08  Wim Taymans  <wim@fluendo.com>
14615
14616         * libs/gst/dataprotocol/dataprotocol.c:
14617         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
14618         (gst_dp_packet_from_event):
14619         * libs/gst/dataprotocol/dataprotocol.h:
14620         * libs/gst/dataprotocol/dp-private.h:
14621         It's about time we bump the version number.
14622         Since event types don't fit in the guint8 anymore describing
14623         the payload type, make payload type 16 bits wide.
14624
14625 2005-10-08  Wim Taymans  <wim@fluendo.com>
14626
14627         * docs/design/part-TODO.txt:
14628         * docs/design/part-clocks.txt:
14629         * docs/design/part-events.txt:
14630         * docs/design/part-gstbin.txt:
14631         * docs/design/part-gstelement.txt:
14632         * docs/design/part-gstpipeline.txt:
14633         * docs/design/part-live-source.txt:
14634         * docs/design/part-messages.txt:
14635         * docs/design/part-overview.txt:
14636         * docs/design/part-states.txt:
14637         Many doc updates.
14638
14639 2005-10-08  Wim Taymans  <wim@fluendo.com>
14640
14641         * gst/gstevent.c:
14642         * gst/gstevent.h:
14643         Fix event quark registration.
14644         Add some space between events so we can insert them in the
14645         right groups.
14646
14647 2005-10-08  Wim Taymans  <wim@fluendo.com>
14648
14649         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14650         (gst_base_sink_handle_buffer):
14651         Better log message.
14652
14653         * gst/gstbus.h:
14654         * gst/gstelement.h:
14655         More docs.
14656
14657         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
14658         (gst_queue_set_property), (gst_queue_get_property):
14659         * gst/gstqueue.h:
14660         Remove old unused properties.
14661
14662 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
14663         * docs/gst/gstreamer-sections.txt:
14664         * gst/gstmessage.c:
14665         * gst/gstmessage.h:
14666         * gst/gstminiobject.c:
14667         * gst/gstminiobject.h:
14668         * gst/gstobject.h:
14669         * gst/gstpad.h:
14670         * gst/gstutils.h:
14671           lots of new docs and doc fixes
14672
14673 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
14674
14675         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
14676         * gst/gstplugin.h:
14677         * gst/gstregistry.c: (gst_registry_lookup_locked),
14678         (gst_registry_scan_path_level):
14679         * gst/gstregistryxml.c: (load_plugin):
14680           Only ever load one plugin for a given plugin basename.
14681           This ensures correct overriding of GST_PLUGIN_PATH over
14682           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
14683           system installed plugins.
14684
14685 2005-10-08  Wim Taymans  <wim@fluendo.com>
14686
14687         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14688         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
14689         Prepare for doing QOS.
14690
14691 2005-10-08  Wim Taymans  <wim@fluendo.com>
14692
14693         * check/gst/gstbin.c: (GST_START_TEST):
14694         * check/pipelines/cleanup.c: (GST_START_TEST):
14695         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
14696         Allow new clock message too.
14697
14698 2005-10-08  Wim Taymans  <wim@fluendo.com>
14699
14700         * gst/gstmessage.c: (gst_message_new_error),
14701         (gst_message_new_warning), (gst_message_new_tag),
14702         (gst_message_new_state_changed), (gst_message_new_clock_provide),
14703         (gst_message_new_clock_lost), (gst_message_new_new_clock),
14704         (gst_message_new_segment_start), (gst_message_new_segment_done),
14705         (gst_message_parse_state_changed),
14706         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
14707         (gst_message_parse_new_clock):
14708         * gst/gstmessage.h:
14709         Also carry the clock in question.
14710
14711 2005-10-08  Wim Taymans  <wim@fluendo.com>
14712
14713         * gst/gstmessage.c: (gst_message_new_custom),
14714         (gst_message_new_eos), (gst_message_new_error),
14715         (gst_message_new_warning), (gst_message_new_tag),
14716         (gst_message_new_state_changed), (gst_message_new_clock_provide),
14717         (gst_message_new_new_clock), (gst_message_new_segment_start),
14718         (gst_message_new_segment_done), (gst_message_parse_state_changed),
14719         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
14720         * gst/gstmessage.h:
14721         Clean up.
14722         Added clock related messages.
14723
14724         * gst/gstpipeline.c: (gst_pipeline_change_state):
14725         Post message when the clock changed.
14726
14727         * tools/gst-launch.c: (event_loop):
14728         Print new clock.
14729
14730 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
14731
14732         * tools/gst-inspect.c: (print_element_properties_info):
14733           Can't pass NULL strings to g_print() on windows.
14734
14735 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
14736
14737         * docs/Makefile.am:
14738         * docs/gst/Makefile.am:
14739         * docs/gst/gstreamer-docs.sgml:
14740         * docs/gst/running.xml:
14741         * docs/version.entities.in:
14742           add a chapter on running GStreamer.
14743           document GST_DEBUG and GST_PLUGIN* env vars
14744
14745 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
14746
14747         * Makefile.am:
14748           remove include dir
14749         * configure.ac:
14750           remove PLUGINS_BUILDDIR stuff
14751         * gst/gst.c: (init_post):
14752           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
14753         * idiottest.mak:
14754           remove, it was condescending and not needed
14755
14756 2005-10-08  Wim Taymans  <wim@fluendo.com>
14757
14758         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
14759         (gst_base_sink_handle_object), (gst_base_sink_event),
14760         (gst_base_sink_wait), (gst_base_sink_handle_event),
14761         (gst_base_sink_change_state):
14762         * gst/base/gstbasesink.h:
14763         Repost EOS message while going to PLAYING if still EOS.
14764         Make sure that when receiving a FLUSH_START we don't attempt
14765         to sync on the clock anymore.
14766
14767 2005-10-08  Wim Taymans  <wim@fluendo.com>
14768
14769         * tools/gst-launch.c: (event_loop):
14770         Better message printout.
14771
14772 2005-10-08  Wim Taymans  <wim@fluendo.com>
14773
14774         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
14775         (gst_bin_child_proxy_get_children_count):
14776         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
14777         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
14778         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
14779         (gst_child_proxy_set_valist):
14780         * gst/parse/grammar.y:
14781         Make ChildProxy threadsafe and fix mem leaks.
14782
14783 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
14784
14785         * gst/gst.c: (init_post):
14786           debug the GST_PLUGIN_ env vars
14787
14788 2005-10-08  Wim Taymans  <wim@fluendo.com>
14789
14790         * check/gst/gstbin.c: (GST_START_TEST):
14791         * check/gst/gstmessage.c: (GST_START_TEST):
14792         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
14793         * gst/gstelement.c: (gst_element_commit_state),
14794         (gst_element_lost_state):
14795         * gst/gstmessage.c: (gst_message_new_state_changed),
14796         (gst_message_parse_state_changed):
14797         * gst/gstmessage.h:
14798         * tools/gst-launch.c: (event_loop):
14799         Added extra field to STATE_CHANGE message with the pending
14800         state, which will be different from the new state soon.
14801
14802 2005-10-08  Wim Taymans  <wim@fluendo.com>
14803
14804         * gst/gstbus.c: (gst_bus_pop):
14805         * gst/gstclock.c:
14806         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
14807         Small cleanups and doc updates.
14808
14809 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
14810
14811         * gst/gst.c: (init_pre):
14812         * gst/gstbin.c: (gst_bin_add_func):
14813           log distributing clocks and base time
14814         * gst/gstregistry.c: (gst_registry_add_plugin),
14815         (gst_registry_scan_path_level), (gst_registry_scan_path):
14816           clean up the debugging output a little
14817         * gst/gstutils.c: (gst_element_state_get_name):
14818           warn about a memleak (I've actually seen this be used, though
14819           it was probably a bug)
14820
14821 2005-10-07  Wim Taymans  <wim@fluendo.com>
14822
14823         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
14824         (gst_base_src_init), (gst_base_src_default_newsegment),
14825         (gst_base_src_newsegment), (gst_base_src_do_seek),
14826         (gst_base_src_loop), (gst_base_src_start):
14827         * gst/base/gstbasesrc.h:
14828         Make the newsegment event customizable by subclasses.
14829
14830 2005-10-07  Wim Taymans  <wim@fluendo.com>
14831
14832         * gst/gstevent.c: (gst_event_new_buffersize),
14833         (gst_event_parse_buffersize):
14834         * gst/gstevent.h:
14835         New event for future idea.
14836
14837 2005-10-07  Andy Wingo  <wingo@pobox.com>
14838
14839         * gst/gstelement.c (gst_element_post_message): Doc update.
14840
14841         * docs/gst/gstreamer-sections.txt: Update.
14842
14843         * gst/gstmessage.c (gst_message_new_application): Made into a
14844         function like honest API calls.
14845         (gst_message_new_element): New message type.
14846
14847         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
14848
14849         * check/elements/fakesrc.c (test_no_preroll): New check, checks
14850         that setting a live fakesrc to PAUSED returns NO_PREROLL both
14851         times.
14852
14853         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
14854         NO_PREROLL from gst_element_change_state to fall through.
14855
14856 2005-10-07  Wim Taymans  <wim@fluendo.com>
14857
14858         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
14859         (gst_ghost_pad_do_activate_push):
14860         Activating a ghostpad with no internal pad in push mode
14861         is ok.
14862
14863 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
14864
14865         * gst/gstobject.h:
14866           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
14867           Fixes compilation on Windows.
14868
14869 2005-10-07  Michael Smith <msmith@fluendo.com>
14870
14871         * tools/gst-inspect.c:
14872           Print out feature and plugin count at the end when printing out
14873           all features.
14874
14875 2005-10-04  Michael Smith <msmith@fluendo.com>
14876
14877         * gst/gsterror.c: (_gst_stream_errors_init):
14878           Add another error string used in a few existing plugins.
14879
14880         * gst/gstplugin.c:
14881         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
14882         * tools/gst-inspect.c: (print_element_info):
14883           When a feature disappears from a plugin (and the feature exists in
14884           the cached registry file), things went horribly wrong. This isn't a
14885           complete fix, we should actually be removing the 'missing' features
14886           from the features list when we load the actual plugin. That's not
14887           yet implemented. 
14888
14889 2005-10-04  Johan Dahlin  <johan@gnome.org>
14890
14891         * check/gst/gstiterator.c: (GST_START_TEST):
14892         * gst/gstbin.c: (gst_bin_iterate_elements),
14893         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
14894         * gst/gstelement.c: (gst_element_iterate_pads):
14895         * gst/gstformat.c: (gst_format_iterate_definitions):
14896         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
14897         (gst_iterator_new_list), (gst_iterator_filter):
14898         * gst/gstiterator.h:
14899         * gst/gstquery.c: (gst_query_type_iterate_definitions):
14900         Add a GType to GstIterator, update callsites and tests.
14901
14902 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
14903
14904         * gst/gstpad.c: (gst_pad_event_default_dispatch):
14905           give events a chance to be handled by event probes when the pad
14906           is not linked
14907
14908 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
14909
14910         * gst/gstevent.c: (gst_event_type_get_name),
14911         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
14912         * gst/gstevent.h:
14913           add string representations for event types
14914
14915 2005-10-06  Wim Taymans  <wim@fluendo.com>
14916
14917         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
14918         Don't use NULL pointers.
14919
14920 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
14921
14922         * gst/gst_private.h:
14923         * gst/gstbus.c:
14924         * gst/gstelement.c:
14925         * gst/gstinfo.c:
14926         * gst/gstpluginfeature.c:
14927           widen the debug category in output to fit the biggest one we have
14928           add a bus category and use it
14929           play with the colors
14930           fix up some categories
14931
14932 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
14933
14934         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
14935           add push activation of sink ghost pads.
14936           Andye, please verify
14937
14938 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
14939
14940         * gst/gstutils.c: (gst_element_link_pads):
14941           fix a bug in the case where neither element has a pad
14942         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
14943           add a test for that case
14944
14945 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
14946
14947         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
14948           emit have-data before checking for peers.  This allows
14949           for probe handlers to connect elements.  This helps autopluggers.
14950         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
14951         (gst_pad_suite):
14952           add six checks, linked/unlinked with no/true/false probe
14953
14954 2005-10-04  Wim Taymans  <wim@fluendo.com>
14955
14956         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
14957         (gst_fake_sink_event), (gst_fake_sink_preroll),
14958         (gst_fake_sink_render), (gst_fake_sink_change_state):
14959         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
14960         (gst_fake_src_get_property), (gst_fake_src_create),
14961         (gst_fake_src_stop):
14962         * gst/elements/gstidentity.c: (gst_identity_stop):
14963         Protect last_message with lock.
14964
14965 2005-10-04  Edward Hervey  <edward@fluendo.com>
14966
14967         * gst/gstformat.h: 
14968         Added precision in the comments for GST_FORMAT_DEFAULT
14969
14970 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
14971
14972         * tools/gst-launch.c: (main):
14973           Don't try to run erroneous pipelines.
14974
14975 2005-10-04  Julien MOUTTE  <julien@moutte.net>
14976
14977         * gst/gstbus.c: We don't need this header.
14978
14979 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
14980
14981         * configure.ac:
14982           back to development
14983
14984 === release 0.9.3 ===
14985
14986 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
14987
14988         * README:
14989         * configure.ac:
14990           Releasing 0.9.3, "Unregistered"
14991
14992 2005-10-03  Andy Wingo  <wingo@pobox.com>
14993
14994         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
14995         whereby calling a pad's activatepush() function can start a thread
14996         that starts to push or pull before the pad gets the FLUSHING flag
14997         unset. Hack around it by holding the stream lock until the flag is
14998         set. Need to replace this with a proper solution. Together with
14999         the ghost pad fixes, this fixes mp3 playing/tagreading.
15000
15001         * docs/design/part-gstghostpad.txt: Add a note about activation of
15002         proxy pads outside of ghost pads.
15003
15004         * gst/gstghostpad.c: Implement the ghost pad activation design.
15005
15006 2005-10-02  Andy Wingo  <wingo@pobox.com>
15007
15008         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
15009         It is volatile, after all.
15010
15011         * docs/design/part-gstghostpad.txt: Flesh out activation with
15012         ghost pads.
15013
15014         * gst/base/gstbasesrc.c (gst_base_src_init): Use
15015         GST_DEBUG_FUNCPTR.
15016
15017 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
15018
15019         * configure.ac:
15020           Fix (unused) AM_CONDITIONAL tests.
15021
15022 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
15023
15024         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
15025
15026         * gst/gstutils.c: (gst_pad_query_convert):
15027           Add assertion that makes sure src_val is >=0, just like
15028           gst_query_new_convert() has. (#315895)
15029
15030 2005-09-30  Edward Hervey  <edward@fluendo.com>
15031
15032         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
15033         Let's not iterate pads we're not interested in, it avoids getting 
15034         sky-high refcounts on sinkpad.
15035
15036 2005-09-30  Wim Taymans  <wim@fluendo.com>
15037
15038         * gst/gstelement.c: (gst_element_set_state),
15039         (gst_element_change_state):
15040         Small tweak, element in ASYNC remains ASYNC.
15041
15042 2005-09-30  Wim Taymans  <wim@fluendo.com>
15043
15044         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
15045         Only error is an error.
15046
15047         * gst/gstbin.c: (gst_bin_change_state):
15048         Better debugging.
15049
15050         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
15051         Also call pad_block in pad alloc.
15052
15053         * gst/gstutils.c: (gst_flow_get_name):
15054         Better debugging.
15055
15056 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
15057
15058         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
15059         (gst_base_src_get_range):
15060           Fix documentation typos. Add some more debug info.
15061
15062 2005-09-29  David Schleef  <ds@schleef.org>
15063
15064         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
15065           more end-user friendly.
15066         * tools/gst-inspect.c: (main): Check if command-line argument is
15067           a file and attempt to load that file as a plugin.
15068
15069 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
15070
15071         * check/gst/gstbin.c:
15072         * check/states/sinks.c:
15073           fix tests for the new warning
15074         * check/gst/gstpipeline.c:
15075           add a test for pipeline and bus interaction
15076         * gst/gstelement.c:
15077           elements should be NULL if they get disposed; add a warning if not
15078
15079 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
15080
15081         * gst/gstobject.c:
15082           for 2.6 refcounting, make debug log more correct by printing
15083           the actual refcounts at the time of swap (Wim)
15084
15085 2005-09-29  Andy Wingo  <wingo@pobox.com>
15086
15087         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
15088         removes signal watches previously added via
15089         gst_bus_add_signal_watch.
15090         (gst_bus_add_signal_watch): Don't return the source id, just store
15091         it on the bus if there wasn't an id already.
15092
15093         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
15094         add_signal_watch and remove_signal_watch.
15095
15096 2005-09-29  Edward Hervey  <edward@fluendo.com>
15097
15098         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
15099         Better if we actually iterate the list :)
15100
15101 2005-09-29  Wim Taymans  <wim@fluendo.com>
15102
15103         * check/gst/gstbin.c: (GST_START_TEST):
15104         Change for new bus API.
15105
15106         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
15107         (send_messages), (GST_START_TEST), (gstbus_suite):
15108         Change for new bus signal API.
15109
15110         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
15111         (gst_bus_source_prepare), (gst_bus_source_check),
15112         (gst_bus_create_watch), (gst_bus_add_watch_full),
15113         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
15114         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
15115         * gst/gstbus.h:
15116         Remove support for multiple GSources operating on different
15117         message types as it is too complex and unneeded when using
15118         signals.
15119         Added support for receiving signals from the bus.
15120
15121 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
15122
15123         * docs/libs/tmpl/gstdataprotocol.sgml:
15124         * docs/manual/advanced-dataaccess.xml:
15125         * gst/elements/gstcapsfilter.c:
15126         * gst/gstutils.c:
15127           rename filter-caps to caps property
15128
15129 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
15130
15131         * gst/gstvalue.c: (gst_value_deserialize_fraction):
15132           More robust fraction string parsing.
15133
15134         * docs/pwg/appendix-porting.xml:
15135           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
15136
15137 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
15138
15139         * gst/gstcaps.c: (gst_caps_do_simplify):
15140           Thou shalt not free a structure and then continue using it
15141           in the next loop iteration.
15142
15143         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
15144         (gst_caps_suite):
15145           Add test case for caps simplification.
15146
15147 2005-09-29  Wim Taymans  <wim@fluendo.com>
15148
15149         * check/gst/gstbin.c: (GST_START_TEST):
15150         Oops.
15151
15152 2005-09-29  Wim Taymans  <wim@fluendo.com>
15153
15154         * check/gst/gstbin.c: (GST_START_TEST):
15155         Add bus to bin.
15156
15157         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
15158         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
15159         (find_element), (gst_bin_sort_iterator_next),
15160         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
15161         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
15162         (gst_bin_change_state), (gst_bin_dispose):
15163         A bin does not have a bus, it gets the bus from the parent.
15164
15165         * gst/gstelement.c: (gst_element_requires_clock),
15166         (gst_element_provides_clock), (gst_element_is_indexable),
15167         (gst_element_is_locked_state), (gst_element_change_state),
15168         (gst_element_set_bus_func):
15169         Small cleanups.
15170
15171         * gst/gstpipeline.c: (gst_pipeline_class_init),
15172         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
15173         The pipeline provides a bus.
15174
15175 2005-09-28  Johan Dahlin  <johan@gnome.org>
15176
15177         * gst/gstmessage.c (gst_message_parse_state_changed): Use
15178         gst_structure_get_enum instead of gst_structure_get_int
15179
15180         * gst/gststructure.c (gst_structure_get_enum): Impl.
15181
15182         * gst/gststructure.h (gst_structure_get_enum): Add
15183
15184         * docs/gst/gstreamer-sections.txt: Ditto
15185
15186         * gst/gstmessage.c (gst_message_new_state_changed): Use
15187         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
15188         which does introspection.
15189         Reviewed by Christian Schaller
15190
15191 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
15192
15193         * gst/gstinfo.c: (gst_debug_log_default):
15194           don't do dummy g_strdup()s
15195         * libs/gst/controller/gstcontroller.c:
15196         (on_object_controlled_property_changed),
15197         (gst_controlled_property_new), (gst_controller_new_valist),
15198         (gst_controller_new_list),
15199         (gst_controller_remove_properties_valist), (gst_controller_set),
15200         (gst_controller_get), (gst_controller_sync_values),
15201         (gst_controller_get_value_array), (_gst_controller_class_init),
15202         (gst_controller_get_type):
15203         * libs/gst/controller/gstcontroller.h:
15204         * libs/gst/controller/gstinterpolation.c:
15205         (gst_controlled_property_find_timed_value_node):
15206           convert // to /**/ comments
15207
15208 2005-09-28  Wim Taymans  <wim@fluendo.com>
15209
15210         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
15211         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
15212         (gst_bus_sync_signal_handler):
15213         * gst/gstbus.h:
15214         Added async-message and sync-message signals to the bus.
15215         Added helper BusFunc to emit signals for all posted messages.
15216
15217         * gst/gstmessage.c: (gst_message_type_get_name),
15218         (gst_message_type_to_quark), (gst_message_get_type):
15219         * gst/gstmessage.h:
15220         Register quarks for message names.
15221
15222 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
15223
15224         * docs/libs/gstreamer-libs-sections.txt:
15225         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
15226         (gst_controller_new_list):
15227         * libs/gst/controller/gstcontroller.h:
15228           added another constructor for language bindings
15229
15230 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
15231
15232         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
15233           add another check
15234         * gst/gstbus.c:
15235           add some doc
15236         * gst/gstinfo.c: (_gst_debug_init):
15237           slightly more readable color for refcount debugging
15238
15239 2005-09-28  Wim Taymans  <wim@fluendo.com>
15240
15241         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
15242         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
15243         (find_element), (gst_bin_sort_iterator_next),
15244         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
15245         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
15246         (gst_bin_change_state), (gst_bin_dispose):
15247         Small doc fixes. get_clock -> provide_clock.
15248
15249         * gst/gstelement.c: (gst_element_class_init),
15250         (gst_element_provides_clock), (gst_element_provide_clock),
15251         (gst_element_get_clock), (gst_element_commit_state),
15252         (gst_element_lost_state):
15253         * gst/gstelement.h:
15254         Make get/set_clock() symetric. Add provide_clock vmethod since
15255         that is actually what this function does.
15256
15257         * gst/gstpipeline.c: (gst_pipeline_class_init),
15258         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
15259         (gst_pipeline_get_clock):
15260         get_clock -> provide_clock.
15261
15262 2005-09-28  Andy Wingo  <wingo@pobox.com>
15263
15264         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
15265         lieu of real docs...
15266
15267         * gst/elements/gstfdsrc.c: Cleaned up a bit.
15268
15269 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
15270
15271         * gst/elements/gstcapsfilter.c:
15272         * gst/elements/gstfakesink.c:
15273         * gst/elements/gstfakesrc.c:
15274         * gst/elements/gstfdsink.c:
15275         * gst/elements/gstfdsrc.c:
15276         * gst/elements/gstfilesink.c:
15277         * gst/elements/gstfilesrc.c:
15278         * gst/elements/gstidentity.c:
15279         * gst/elements/gsttee.c:
15280         * gst/elements/gsttypefindelement.c:
15281           Make element details static.
15282
15283 2005-09-28  Wim Taymans  <wim@fluendo.com>
15284
15285         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
15286         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
15287         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
15288         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
15289         (gst_bin_change_state), (gst_bin_dispose):
15290         Some documentation updates.
15291         Clean up dispose handlers.
15292
15293         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
15294         * gst/gstpad.c: (gst_pad_dispose):
15295         Clean up dispose handler.
15296
15297         * gst/gstpipeline.c: (gst_pipeline_change_state):
15298         Removed spurious UNLOCK.
15299
15300 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
15301
15302         * docs/gst/gstreamer-sections.txt:
15303         * gst/base/gstbasesrc.h:
15304         * gst/gstelement.h:
15305         * gst/gstevent.h:
15306         * gst/gstobject.h:
15307         * gst/gstpad.h:
15308         * gst/gstpipeline.c:
15309         * gst/gstpipeline.h:
15310         * gst/gstutils.h:
15311         * gst/gstxml.h:
15312           added two new functions to the docs
15313                 documents all undocumented GstXXXFlags
15314                 completed some incomplete docs 
15315
15316 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
15317
15318         * gst/gstbin.c: (gst_bin_dispose):
15319         * gst/gstelement.c: (gst_element_dispose):
15320           remove now useless and leaky resurrection code in dispose
15321         * gst/base/gstbasesrc.c: (gst_base_src_init):
15322         * gst/gstelementfactory.c: (gst_element_factory_create):
15323         * gst/gstobject.c: (gst_object_set_parent):
15324           add some debugging
15325
15326 2005-09-27  Wim Taymans  <wim@fluendo.com>
15327
15328         * docs/design/part-TODO.txt:
15329         Update TODO.
15330
15331         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
15332         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
15333         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
15334         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
15335         (gst_bin_change_state):
15336         * gst/gstelement.h:
15337         Remove element variable, we keep element info in the iterator now.
15338
15339 2005-09-27  Andy Wingo  <wingo@pobox.com>
15340
15341         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
15342         values.
15343
15344 2005-09-27  Wim Taymans  <wim@fluendo.com>
15345
15346         * check/gst/gstbin.c: (GST_START_TEST):
15347         Enable check that works now.
15348
15349         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
15350         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
15351         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
15352         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
15353         (gst_bin_change_state):
15354         * gst/gstbin.h:
15355         Redid the state change algorithm using a topological sort algo.
15356         Handles all cases correctly.
15357         Exposed iterator for state change order.
15358
15359         * gst/gstelement.h:
15360         Temp storage for state changes. Need to get rid of this soon.
15361
15362 2005-09-27  Wim Taymans  <wim@fluendo.com>
15363
15364         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
15365         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
15366         (link_fold_func), (gst_pad_proxy_setcaps):
15367         Leak fixes, the fold functions need to unref the passed object and
15368         _get_parent_*() returns ref to parent.
15369
15370 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
15371
15372         * check/gst/gstbuffer.c: (test_make_writable):
15373           Plug leak in test case and fix 'make check-valgrind'
15374
15375 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
15376
15377         * gst/gstbuffer.c: (gst_subbuffer_init):
15378           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
15379           works correctly in all circumstances (we could have just copied
15380           the parent buffer's readonly flag, but conceptually it seems
15381           cleaner to mark all subbuffers as read-only). (based on patch
15382           by Alessandro Decina, #314710).
15383         
15384         * check/gst/gstbuffer.c: (create_read_only_buffer),
15385         (test_make_writable), (test_subbuffer_make_writable),
15386         (gst_test_suite):
15387           Add some tests for gst_buffer_make_writable().
15388
15389 2005-09-27  Wim Taymans  <wim@fluendo.com>
15390
15391         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
15392         use gst_object_has_ancestor().
15393
15394         * gst/gstobject.c: (gst_object_has_ancestor):
15395         * gst/gstobject.h:
15396         gst_object_has_ancestor() copied from gstbin.c as it is a
15397         useful function.
15398
15399         * tests/instantiate/create.c: (create_all_elements):
15400         * tests/lat.c: (handoff_src), (handoff_sink):
15401         * tests/sched/runxml.c: (main):
15402         * tests/seeking/seeking1.c: (main):
15403         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
15404         (main):
15405         Fix compilation of some tests.
15406
15407 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
15408
15409         * gst/gsterror.h:
15410           Remove comment. GST_TYPE_G_ERROR is here to stay,
15411           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
15412           (#316961, #300610).
15413
15414 2005-09-26  Wim Taymans  <wim@fluendo.com>
15415
15416         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
15417         Added check that shows error in state change order.
15418
15419 2005-09-26  Wim Taymans  <wim@fluendo.com>
15420
15421         * gst/gstbin.c: (gst_bin_change_state):
15422         Make state change function use 3 queues again, we were
15423         adding elements in the wrong order.
15424
15425         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
15426         Some debug info,
15427
15428         * gst/gstpad.c: (gst_pad_dispose):
15429         Added some debug info first.
15430
15431 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
15432
15433         * docs/design/draft-push-pull.txt:
15434         * docs/design/part-events.txt:
15435         * docs/design/part-overview.txt:
15436         * docs/design/part-scheduling.txt:
15437           Replace all _pull_region() with _pull_range()
15438           
15439 2005-09-26  Andy Wingo  <wingo@pobox.com>
15440
15441         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
15442
15443         * check/gst-libs/controller.c: Update for controller api change.
15444
15445         * configure.ac: 
15446         * tests/Makefile.am:
15447         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
15448         over by GLib bug 118439.
15449         
15450         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
15451         routines to a function.
15452
15453         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
15454
15455         * libs/gst/controller/gsthelper.c:
15456         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
15457         (gst_object_sync_values): Renamed from sink_values. Ugh.
15458
15459         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
15460
15461         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
15462         Renamed from controller_key, as it is exported.
15463
15464         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
15465
15466 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
15467
15468         * gst/Makefile.am:
15469         * gst/gst.h:
15470         * gst/gstpad.h:
15471         * gst/gstpadtemplate.h:
15472         * gst/gstquery.c:
15473         * gst/gstquery.h:
15474         * gst/gstqueryutils.c:
15475         * gst/gstqueryutils.h:
15476           remove queryutils headers after moving the two used functions
15477           to gstquery.  also fixes build problem for gstsiddec
15478
15479 2005-09-26  Michael Smith <msmith@fluendo.com>
15480
15481         * tools/gst-launch.1.in:
15482         Correct documentation in manpage of debug syntax
15483
15484 2005-09-26  Wim Taymans  <wim@fluendo.com>
15485
15486         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
15487         (gst_base_src_is_seekable), (gst_base_src_change_state):
15488         Some more debugging info.
15489
15490 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
15491
15492         * docs/gst/gstreamer-sections.txt:
15493         * gst/base/gstbasetransform.h:
15494         * gst/gstindex.h:
15495           added more docs
15496
15497 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
15498
15499         * docs/gst/.cvsignore:
15500         * docs/gst/tmpl/.cvsignore:
15501         * docs/gst/tmpl/gstpipeline.sgml:
15502         * docs/gst/tmpl/gstplugin.sgml:
15503         * gst/gstpipeline.c:
15504         * gst/gstplugin.c:
15505         * gst/gstplugin.h:
15506           inlined the last two docs files
15507           removed the tmpl directory from cvs (no more conflicts here!)
15508
15509 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
15510
15511         * docs/gst/gstreamer-sections.txt:
15512         * docs/gst/tmpl/.cvsignore:
15513         * docs/gst/tmpl/gstpad.sgml:
15514         * docs/gst/tmpl/gstpadtemplate.sgml:
15515         * gst/Makefile.am:
15516         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
15517         (gst_pad_finalize), (gst_pad_set_pad_template):
15518         * gst/gstpad.h:
15519         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
15520         (gst_pad_template_class_init), (gst_pad_template_init),
15521         (gst_pad_template_dispose), (name_is_valid),
15522         (gst_static_pad_template_get), (gst_pad_template_new),
15523         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
15524         (gst_pad_template_pad_created):
15525         * gst/gstpadtemplate.h:
15526           inlined two more docs
15527           factored gstpadtemplate out of gstpad
15528
15529 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
15530
15531         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
15532         (test_children_state_change_order_semi_sink):
15533           Fix test case: we can't rely on a fixed state change order when
15534           going from READY => PAUSED because the sink might commit its 
15535           new state first when the first buffer created by the source 
15536           reaches the sink before the source has finished its change state.
15537           (Test case still fails at times, see #316856, comment 5 onwards)
15538
15539 2005-09-24  Wim Taymans  <wim@fluendo.com>
15540
15541         * docs/design/part-events.txt:
15542         * docs/design/part-gstbus.txt:
15543         * docs/design/part-gstpipeline.txt:
15544         * docs/design/part-messages.txt:
15545         * docs/design/part-overview.txt:
15546         * docs/design/part-segments.txt:
15547         * gst/gstbin.c:
15548         * gst/gstbuffer.c:
15549         * gst/gstclock.c:
15550         * gst/gstelement.c:
15551         * gst/gstevent.c:
15552         * gst/gstfilter.c:
15553         * gst/gstiterator.c:
15554         Various documentation updates.
15555
15556 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
15557
15558         * gst/gstclock.h:
15559           Well, that's embarassing.  Luckily we weren't using
15560           GST_CLOCK_DIFF anywhere.
15561
15562 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
15563
15564         * common/gtk-doc.mak:
15565           don't fail on building XML, FC4 slave shows a bunch of doc
15566           missing bits that I don't get
15567         * gst/gstpad.c:
15568         * gst/gstpipeline.c:
15569         * gst/gststructure.c:
15570           some doc updates
15571
15572 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
15573
15574         * docs/design/part-gstbin.txt:
15575         * docs/design/part-gstbus.txt:
15576         * gst/gstbus.c:
15577           Add blurb about how the bus goes into flushing mode and
15578           drops all messages when its bin goes from READY into NULL 
15579           state.
15580
15581 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
15582
15583         * docs/gst/gstreamer-sections.txt:
15584         * gst/gststructure.c: (gst_structure_get_clock_time):
15585         * gst/gststructure.h:
15586           add a method to get a GstClockTime out of a structure
15587
15588 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
15589
15590         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
15591         (test_children_state_change_order_semi_sink), (gst_bin_suite):
15592           Added test to check state change order in bins (can still be made
15593           to fail here under heavy disk load; bails out with 'Push on pad
15594           fakesink:sink0, but it was not activated in push mode').
15595
15596         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
15597           Fix state change order when there is only a semi sink (#316856)
15598
15599         * gst/gstbus.c: (gst_bus_class_init):
15600           Use _class_peek_parent(), not _class_ref(); fix docs to say
15601           'default main context' instead of 'mainloop' where that is
15602           what's meant.
15603
15604         * gst/gstelement.c: (gst_element_commit_state),
15605         (gst_element_set_state):
15606           Fix typos in debug messages
15607
15608 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
15609
15610         * docs/README:
15611         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
15612         * gst/gstpluginfeature.c:
15613         * gst/gstutils.c:
15614           various doc updates
15615         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
15616           change an assert into an error until it gets fixed properly
15617
15618 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
15619
15620         * docs/gst/gstreamer-sections.txt:
15621         * docs/gst/tmpl/.cvsignore:
15622         * docs/gst/tmpl/gstelement.sgml:
15623         * docs/gst/tmpl/gstinfo.sgml:
15624         * docs/gst/tmpl/gstobject.sgml:
15625         * gst/gstelement.c:
15626         * gst/gstelement.h:
15627         * gst/gstinfo.c:
15628         * gst/gstinfo.h:
15629         * gst/gstobject.c: (gst_object_class_init):
15630         * gst/gstobject.h:
15631           inlined 3 more biiiig doc files and added some missing docs on the fly
15632
15633 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
15634
15635         * check/gst/.cvsignore:
15636         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
15637         * gst/gstregistryxml.c: (load_plugin),
15638         (gst_registry_xml_save_plugin):
15639           put back source in registry.  add checks for find_plugin.
15640         * testsuite/states/bin.c: (assert_state), (empty_bin),
15641         (test_adding_one_element), (main):
15642         * testsuite/states/locked.c: (main):
15643           some compile/run fixes
15644
15645 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
15646
15647         * check/gst/gstvalue.c: (GST_START_TEST):
15648           fix leaks in the test itself
15649
15650 2005-09-22  Wim Taymans  <wim@fluendo.com>
15651
15652         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
15653         (gst_base_sink_send_event), (gst_base_sink_peer_query),
15654         (gst_base_sink_query):
15655         Prepare for more accurate position reporting and query
15656         handling.
15657
15658         * gst/gstelement.c: (gst_element_send_event),
15659         (gst_element_set_state):
15660         Add some comment.
15661
15662 2005-09-22  Wim Taymans  <wim@fluendo.com>
15663
15664         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
15665         (gst_query_parse_segment):
15666         * gst/gstquery.h:
15667         More documentation.
15668         Add segment query for future use.
15669
15670 2005-09-22  Wim Taymans  <wim@fluendo.com>
15671
15672         * gst/gstbin.c: (gst_bin_add_func):
15673         Some more debug info.
15674
15675         * gst/gstelement.c: (gst_element_send_event):
15676         Simplify send_event
15677
15678         * gst/gstelement.h:
15679         Don't know how flags got broken.
15680
15681         * gst/gstquery.h:
15682         Added new query.
15683
15684 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
15685
15686         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
15687           Add simplistic test suite for GST_TYPE_DATE serialisation and
15688           deserialisation.
15689
15690 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
15691
15692         * docs/gst/gstreamer-sections.txt:
15693         * gst/gststructure.c: (gst_structure_set_valist),
15694         (gst_structure_get_date):
15695         * gst/gststructure.h:
15696         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
15697         (gst_date_copy), (gst_value_compare_date),
15698         (gst_value_serialize_date), (gst_value_deserialize_date),
15699         (gst_value_transform_date_string),
15700         (gst_value_transform_string_date), (_gst_value_initialize):
15701         * gst/gstvalue.h:
15702           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
15703           bunch of utility functions along with a hack that checks that
15704           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
15705           is required. Part of the grand scheme in #170777.
15706
15707 2005-09-22  Andy Wingo  <wingo@pobox.com>
15708
15709         * gst/gstconfig.h.in: Psych out gtk-doc.
15710
15711         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
15712
15713         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
15714
15715         * tools/gst-inspect.c (print_element_list): Plug some
15716         inconsequential leaks.
15717
15718         * gst/gstregistry.c (gst_registry_get_default): Doc.
15719
15720         * check/gst/gstplugin.c: 
15721         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
15722         * gst/gstelementfactory.c (gst_element_factory_create): 
15723         * gst/gstindexfactory.c (gst_index_factory_create): Update for
15724         refcount changes.
15725
15726         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
15727         (gst_plugin_feature_load): Doc, don't eat refs.
15728
15729         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
15730         (gst_plugin_list_free): Doc.
15731         (gst_plugin_load_file): Doc updates.
15732
15733         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
15734         accessors returning refcounted objects, return a ref.
15735
15736         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
15737         accessor for caps. IDEMPOTENCE. Oh yes.
15738
15739 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
15740
15741         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
15742
15743         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
15744         (_gst_debug_register_funcptr):
15745           Add mutex to serialise access to the hash table with
15746           the function pointer => function name string mapping;
15747           make that hash table static scope (#316809).
15748
15749         * gst/registries/.cvsignore:
15750           Remove left-over file.
15751
15752 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
15753
15754         * docs/pwg/appendix-porting.xml:
15755           And something about newsegment events and caps-on-buffers to
15756           the porting guide (feel free to improve).
15757
15758 2005-09-21  Andy Wingo  <wingo@pobox.com>
15759
15760         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
15761         data and event probes on the same pad.
15762         (test_buffer_probe_once): Test that removing probes from within
15763         the probe functions works.
15764
15765 2005-09-21  Andy Wingo  <wingo@pobox.com>
15766
15767         * check/gst/gstutils.c: New file.
15768         (test_buffer_probe_n_times): A simple buffer probe test. More to
15769         come, foolios.
15770
15771         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
15772         have-data::buffer, not have-data.
15773         (gst_pad_add_event_probe): Likewise for have-data::event.
15774         (gst_pad_add_data_probe): More docs. The part about 'resolving the
15775         peer' isn't quite right yet though.
15776         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
15777         (gst_pad_remove_data_probe): Change to take the guint handler_id
15778         as their arg, not the function+data, which is more glib-like.
15779
15780         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
15781         the signal emission to indicate if the data is a buffer or an
15782         event.
15783         (gst_pad_get_type): Initialize buffer and event quarks.
15784         (gst_pad_class_init): have-data is now a detailed signal, yes it
15785         is.
15786
15787 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
15788
15789         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
15790         * gst/gstutils.c: (gst_util_set_value_from_string),
15791         (gst_util_set_object_arg):
15792           Don't put functional code in g_return_if_fail() or
15793           g_return_val_if_fail() statements, otherwise things will 
15794           break when G_DISABLE_CHECKS is defined during compilation.
15795
15796 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
15797
15798         * docs/gst/tmpl/.cvsignore:
15799         * docs/gst/tmpl/gstvalue.sgml:
15800         * gst/gstvalue.c:
15801         * gst/gstvalue.h:
15802           inlied another one and added  some obvious docs
15803
15804 2005-09-21  Wim Taymans  <wim@fluendo.com>
15805
15806         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
15807         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
15808         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
15809         (gst_fdsrc_get_property), (gst_fdsrc_create):
15810         * gst/elements/gstfdsrc.h:
15811         Properly implement fdsrc. Removed signal and timeout,
15812         better implemented somewhere else.
15813
15814 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
15815
15816         * docs/gst/tmpl/.cvsignore:
15817         * docs/gst/tmpl/gstimplementsinterface.sgml:
15818         * gst/gstinterface.c:
15819           inlined more docs
15820
15821 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
15822
15823         * docs/gst/gstreamer-sections.txt:
15824         * docs/gst/tmpl/.cvsignore:
15825         * docs/gst/tmpl/gstenumtypes.sgml:
15826           remove obsolete doc file
15827
15828 2005-09-21  David Schleef  <ds@schleef.org>
15829
15830         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
15831         little beer, fix a little leak.
15832
15833 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
15834
15835         * docs/gst/gstreamer-docs.sgml:
15836         * docs/gst/gstreamer-sections.txt:
15837         * docs/gst/tmpl/.cvsignore:
15838         * gst/Makefile.am:
15839         * gst/gst.h:
15840         * gst/gstbin.c:
15841         * gst/gstelement.h:
15842         * gst/gstindex.c: (gst_index_class_init):
15843         * gst/gstindex.h:
15844         * gst/gstindexfactory.c: (gst_index_factory_get_type),
15845         (gst_index_factory_class_init), (gst_index_factory_init),
15846         (gst_index_factory_finalize), (gst_index_factory_new),
15847         (gst_index_factory_destroy), (gst_index_factory_find),
15848         (gst_index_factory_create), (gst_index_factory_make):
15849         * gst/gstindexfactory.h:
15850         * gst/gstpluginfeature.c:
15851         * gst/gstpluginfeature.h:
15852         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
15853           more docs inlined, splitted gstindex.{c,h}
15854
15855 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
15856
15857         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
15858           fix a leak
15859
15860 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
15861
15862         * gst/elements/gstfilesink.c: (gst_file_sink_init):
15863           Set sync to FALSE by default.
15864
15865 2005-09-20  Wim Taymans  <wim@fluendo.com>
15866
15867         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
15868         (gst_base_sink_init):
15869         Make sync property settable from subclass.
15870
15871         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
15872         (gst_fake_sink_change_state):
15873         Set sync to FALSE by default.
15874
15875 2005-09-20  Wim Taymans  <wim@fluendo.com>
15876
15877         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
15878         * tools/gst-launch.c: (main):
15879         The timeout handler should have lower priority than the source
15880         so we don't timeout before popping a message with 0 timeout.
15881         Dump error messages after failed state change.
15882
15883 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
15884
15885         * tools/gst-inspect.c: (print_element_properties_info):
15886           Fix two typos.
15887
15888 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
15889
15890         * check/gst/gstevent.c:
15891         * gst/elements/gstfakesink.c:
15892         * gst/elements/gstfakesink.h:
15893           remove the sync property from fakesink.
15894           has the side effect of setting sync TRUE
15895           for fakesink, which is a change.  Anyone who knows how
15896           to fix this nicely in a GObject-y way, feel free.
15897
15898 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
15899
15900         * docs/gst/gstreamer-docs.sgml:
15901           remove probe refsection
15902
15903 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
15904
15905         * check/Makefile.am:
15906           disable valgrinding the controller test again
15907         * docs/gst/gstreamer-sections.txt:
15908           update for api-changes
15909
15910 2005-09-20  Wim Taymans  <wim@fluendo.com>
15911
15912         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
15913         (gst_base_sink_set_property), (gst_base_sink_get_property),
15914         (gst_base_sink_do_sync):
15915         * gst/base/gstbasesink.h:
15916         Added sync property to basesink to disable clock sync.
15917
15918 2005-09-20  Andy Wingo  <wingo@pobox.com>
15919
15920         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
15921         eating the caller's refcount.
15922
15923         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
15924         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
15925         refcount.
15926
15927         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
15928         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
15929         of GLib 2.8 public, so we can know which refcount to check in
15930         tests.
15931
15932         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
15933         (gst_object_init): Only set the gst refcount if we're going ahead
15934         with the refcount hack.
15935
15936 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
15937
15938         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
15939         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
15940           more leaks plumbed, added more debug-logging
15941         * gst/gstmacros.h:
15942           whitespace fix
15943
15944 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
15945
15946         * gst/gstmessage.c:
15947           remove include of gstmemchunk.h
15948
15949 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
15950
15951         * gst/gstclock.c: (_gst_clock_id_free):
15952           Commit from the Political Party For More Atomic CVS Commits,
15953           so that people don't waste too much of their day fishing
15954           out obvious leaks out of massive commits.
15955           Oh, and fix a pretty damn obvious leak in the memchunk
15956           removal code.
15957
15958 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
15959
15960         * check/Makefile.am:
15961         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
15962           plug mem-leak, re-add to valgrindable tests
15963
15964 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
15965
15966         * gst/gstplugin.h:
15967           unbreak the build for those who have chronic arthritis
15968           and typing "make check" is just too taxing on the hands
15969
15970 2005-09-20  Andy Wingo  <wingo@pobox.com>
15971
15972         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
15973         really want it out, you should fix plugins at the same time.
15974
15975 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
15976
15977         * configure.ac:
15978         * docs/gst/gstreamer-sections.txt:
15979         * gst/gstobject.c:
15980           added missing symbols to api docs
15981           disable ref-count hack if we have glib >= 2.8
15982
15983 2005-09-19  David Schleef  <ds@schleef.org>
15984
15985         * docs/gst/Makefile.am: Ignore a few more internal headers
15986         * docs/gst/gstreamer-docs.sgml: Remove old sections
15987         * docs/gst/gstreamer-sections.txt: Remove old sections
15988         * docs/gst/tmpl/gstobject.sgml: update
15989         * docs/gst/tmpl/gstplugin.sgml: update
15990         * docs/gst/tmpl/gstpluginfeature.sgml: update
15991         * docs/random/ds/0.9-suggested-changes: update.
15992         * gst/Makefile.am: remove memchunk and trashstack, since they're
15993           not used.
15994         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
15995         * gst/gst.h: don't include some headers
15996         * gst/gstchildproxy.c: add gstmarshal.h
15997         * gst/gstclock.c: Don't use memchunks
15998         * gst/gstminiobject.c: Add some docs
15999         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
16000         * gst/gstobject.h: same
16001         * gst/gstplugin.c: include gstmacros.h
16002         * gst/gstplugin.h: don't include gstmacros.h, since it's private
16003         * gst/gstquery.c: don't use memchunks
16004         * gst/gstregistry.c: rename gst_registry_deinit()
16005         * gst/gstregistry.h: same
16006
16007 2005-09-19  David Schleef  <ds@schleef.org>
16008
16009         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
16010         * docs/libs/gstreamer-libs-sections.txt:
16011         * docs/libs/tmpl/gstgetbits.sgml:
16012         * docs/libs/tmpl/gstputbits.sgml:
16013
16014 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
16015
16016         * win32/gstenumtypes.c:
16017         * win32/gstenumtypes.h:
16018           Update.
16019
16020 2005-09-19  Wim Taymans  <wim@fluendo.com>
16021
16022         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
16023         Automatically PAUSE and RESUME a pipeline when a flushing seek
16024         is performed.
16025
16026 2005-09-19  Andy Wingo  <wingo@pobox.com>
16027
16028         * gst/gstregistry.h: Spacing fixen.
16029
16030 2005-09-19  Wim Taymans  <wim@fluendo.com>
16031
16032         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
16033         Handle state change failure more correctly.
16034
16035 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
16036
16037         * check/Makefile.am:
16038         * check/pipelines/cleanup.c: (run_pipeline):
16039         * check/pipelines/simple_launch_lines.c: (run_pipeline),
16040         (GST_START_TEST):
16041           enable cleanup again after fixing the leak
16042         * docs/README:
16043           some more info on docs
16044
16045 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
16046
16047         * check/Makefile.am:
16048           re-enable tests now that leaks are plugged
16049         * check/gst/gst.c:
16050         * check/gst/gstbin.c:
16051         * check/gst/gstpipeline.c:
16052           add some more tests while fixing leaks
16053         * common/check.mak:
16054           make sure binaries are uptodate when valgrinding/gdbing
16055         * gst/gst.c:
16056         * gst/gstelementfactory.c:
16057           remove a ref too many, and add a FIXME for when we get
16058           round to disposing of classes
16059         * gst/gstplugin.c:
16060           fix the refcounting when loading a plugin from a file and
16061           the code pretends that the pointer is the same even though
16062           of course it can change
16063         * gst/gstpluginfeature.c:
16064           unref plugins marked cached (a bit confusing as a name)
16065           as the docs state should be done
16066           various doc additions to explain refcounting
16067         * gst/gstregistry.c:
16068         * gst/gstregistryxml.c:
16069           debugging
16070
16071 2005-09-19  Wim Taymans  <wim@fluendo.com>
16072
16073         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
16074         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
16075         (send_messages), (GST_START_TEST), (gstbus_suite):
16076         * check/gst/gstpipeline.c: (GST_START_TEST):
16077         * check/pipelines/cleanup.c: (run_pipeline):
16078         * check/pipelines/simple_launch_lines.c: (run_pipeline),
16079         (GST_START_TEST):
16080         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
16081         (gst_bus_source_check), (gst_bus_source_dispatch),
16082         (gst_bus_create_watch), (gst_bus_add_watch_full),
16083         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
16084         * gst/gstbus.h:
16085         * tools/gst-launch.c: (event_loop):
16086         * tools/gst-md5sum.c: (event_loop):
16087         GstBusHandler -> GstBusFunc, return value has the same meaning as
16088         any other GSource (FALSE == remove source).
16089         _add_watch() and _add_watch_full() now take a MessageType mask to
16090         only handle specific types of messages.
16091         _poll() returns the GstMessage instead of the message type to avoid
16092         race conditions.
16093         _have_pending() takes a MessageType mask now too.
16094         Added testsuite for multiple bus watches.
16095         Fix testsuites and applications for new bus API.
16096
16097 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
16098
16099         * check/Makefile.am:
16100           mark a bunch of the tests as to fix until we fix them
16101
16102 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
16103
16104         * common/check.mak:
16105           use GST_PLUGIN settings for valgrind tests as well, so we're
16106           valgrinding the correct thing
16107         * gst/gst.c: (init_post):
16108           plug another leak
16109
16110 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
16111
16112         * gst/gst.c: (init_post), (gst_deinit):
16113         * gst/gstelementfactory.c: (gst_element_factory_class_init),
16114         (gst_element_factory_finalize), (gst_element_factory_cleanup):
16115         * gst/gstindex.c: (gst_index_factory_class_init),
16116         (gst_index_factory_finalize):
16117         * gst/gstobject.c: (gst_object_dispose):
16118         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
16119         (gst_plugin_load_file), (gst_plugin_desc_free):
16120         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
16121         (gst_plugin_feature_finalize):
16122         * gst/gstregistry.c: (gst_registry_class_init),
16123         (gst_registry_init), (gst_registry_finalize),
16124         (gst_registry_get_default), (gst_registry_deinit):
16125         * gst/gstregistry.h:
16126         * gst/gstregistryxml.c: (load_feature), (load_plugin):
16127           various cleanups and memleak plugging.  make valgrind is happy now.
16128
16129 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
16130
16131         * common/check.mak:
16132           add a check-valgrind target
16133
16134 2005-09-18  David Schleef  <ds@schleef.org>
16135
16136         * tools/gst-inspect.c: Revert the GOption code.
16137
16138 2005-09-17  David Schleef  <ds@schleef.org>
16139
16140         * check/Makefile.am: Fix environment variables.
16141         * check/gst/gstplugin.c: Fix for API changes.
16142         * tools/gst-inspect.c: Fix for API changes.
16143         * tools/gst-xmlinspect.c: Fix for API changes.
16144         * gst/gstelementfactory.c:
16145         * gst/gstplugin.c:
16146         * gst/gstplugin.h:
16147         * gst/gstpluginfeature.c:
16148         * gst/gstpluginfeature.h:
16149         * gst/gstregistry.c:
16150         * gst/gstregistry.h:
16151         * gst/gstregistryxml.c:
16152         * gst/gsttypefind.c:
16153         * gst/gsttypefindfactory.c:
16154         * gst/indexers/gstfileindex.c:
16155         * gst/indexers/gstmemindex.c:
16156         * gst/schedulers/Makefile.am:
16157           Change registry to keep track of both plugins and features,
16158           removing the feature tracking from plugins themselves.
16159
16160 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
16161
16162         * check/Makefile.am:
16163         * tools/gst-register.1.in:
16164           remove gst-register
16165
16166 2005-09-15  David Schleef  <ds@schleef.org>
16167
16168         * check/gst/gstplugin.c:
16169         * gst/gstelementfactory.c:
16170         * gst/gstplugin.c:
16171         * gst/gstpluginfeature.c:
16172         * gst/gstregistry.c:
16173           Getting tired of debugging.  Disabled all the unreffing of
16174           plugins and features, which fixes the segfaults, but of
16175           course leaks like crazy.  At least playbin works.
16176
16177 2005-09-15  David Schleef  <ds@schleef.org>
16178
16179         * check/gst/gstplugin.c: (register_check_elements),
16180         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
16181         More testing
16182         * gst/elements/gsttypefindelement.c: Fix refcounting.
16183         * gst/gsttypefind.c:
16184         * gst/gsttypefindfactory.c:
16185         * gst/gsttypefindfactory.h:
16186
16187 2005-09-15  David Schleef  <ds@schleef.org>
16188
16189         * gst/gstindex.c: get refcounting correct.
16190         * gst/gstregistry.c: Handle the case where a feature/plugin is
16191           not found.
16192
16193 2005-09-15  David Schleef  <ds@schleef.org>
16194
16195         * check/Makefile.am:
16196         * check/gst/gstplugin.c: Add test
16197         * gst/gstplugin.c: Fix problems noticed by testsuite
16198         * gst/gstplugin.h:
16199         * gst/gstregistry.c: 
16200         * gst/gstregistry.h:
16201
16202 2005-09-15  David Schleef  <ds@schleef.org>
16203
16204         * gst/gstplugin.c: Implement semi-decent recounting and locking
16205           in plugins and plugin features.
16206         * gst/gstplugin.h:
16207         * gst/gstpluginfeature.c:
16208         * gst/gstpluginfeature.h:
16209         * gst/gstregistry.c:
16210
16211 2005-09-15  Michael Smith <msmith@fluendo.com>
16212
16213         * gst/gstregistry.c: (gst_registry_get_feature_list):
16214           Implement this. Makes oggdemux work; decodebin still broken.
16215
16216 2005-09-14  David Schleef  <ds@schleef.org>
16217
16218         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
16219           #316076)
16220         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
16221         * gst/check/Makefile.am:
16222         * libs/gst/controller/Makefile.am:
16223         * libs/gst/dataprotocol/Makefile.am:
16224
16225 2005-09-14  David Schleef  <ds@schleef.org>
16226
16227         * configure.ac: Remove getbits library.  Nothing uses it, and
16228           it should be in something like liboil if someone did want
16229           to use it.
16230         * libs/gst/Makefile.am:
16231         * libs/gst/getbits/Makefile.am:
16232         * libs/gst/getbits/gbtest.c:
16233         * libs/gst/getbits/getbits.c:
16234         * libs/gst/getbits/getbits.h:
16235         * libs/gst/getbits/gstgetbits_generic.c:
16236         * libs/gst/getbits/gstgetbits_i386.s:
16237         * libs/gst/getbits/gstgetbits_inl.h:
16238
16239 2005-09-14  David Schleef  <ds@schleef.org>
16240
16241         * gst/Makefile.am: Dist glib-compat.h
16242
16243 2005-09-14  David Schleef  <ds@schleef.org>
16244
16245         * configure.ac: Remove gst/registries, since it's no longer used.
16246         * gst/registries/Makefile.am:
16247         * gst/registries/gstlibxmlregistry.c:
16248         * gst/registries/gstlibxmlregistry.h:
16249         * gst/registries/gstxmlregistry.c:
16250         * gst/registries/gstxmlregistry.h:
16251         * gst/registries/registrytest.c:
16252
16253 2005-09-14  David Schleef  <ds@schleef.org>
16254
16255         * gst/glib-compat.h:
16256         * gst/gstregistryxml.c:
16257           Convergence is near.  Seriously.
16258
16259 2005-09-14  David Schleef  <ds@schleef.org>
16260
16261         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
16262         * gst/glib-compat.h:
16263           Attempt #4 to appease the buildbots.
16264
16265 2005-09-14  David Schleef  <ds@schleef.org>
16266
16267         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
16268           Attempt #3.
16269
16270 2005-09-14  David Schleef  <ds@schleef.org>
16271
16272         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
16273         Attempt #2.
16274
16275 2005-09-14  David Schleef  <ds@schleef.org>
16276
16277         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
16278           the new functions.
16279
16280 2005-09-14  David Schleef  <ds@schleef.org>
16281
16282         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
16283         * gst/glib-compat.h: Add some functions that are in newer versions
16284           of glib than we care to require.
16285         * gst/gstregistryxml.c: Use them.
16286
16287 2005-09-14  David Schleef  <ds@schleef.org>
16288
16289         * po/POTFILES.in: remove gst-register.c
16290
16291 2005-09-14  David Schleef  <ds@schleef.org>
16292
16293         * docs/gst/gstreamer-docs.sgml:
16294         * docs/gst/gstreamer-sections.txt:
16295         * docs/gst/gstreamer.types:
16296         * docs/gst/tmpl/gstelement.sgml:
16297         * docs/gst/tmpl/gstplugin.sgml:
16298         * docs/gst/tmpl/gstpluginfeature.sgml:
16299           Documentation updates for registry changes.
16300
16301 2005-09-14  David Schleef  <ds@schleef.org>
16302
16303         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
16304           because we don't require glib-2.8.
16305
16306 2005-09-14  David Schleef  <ds@schleef.org>
16307
16308         * gst/gstregistryxml.c: Added.  Essentially moved out of the
16309           registries directory.
16310
16311 2005-09-14  David Schleef  <ds@schleef.org>
16312
16313         * check/Makefile.am:
16314         * check/generic/states.c:
16315         * gst/Makefile.am:
16316         * gst/gst.c:
16317         * gst/gst.h:
16318         * gst/gst_private.h:
16319         * gst/gstelementfactory.c:
16320         * gst/gstindex.c:
16321         * gst/gstinfo.c:
16322         * gst/gstplugin.c:
16323         * gst/gstplugin.h:
16324         * gst/gstpluginfeature.c:
16325         * gst/gstpluginfeature.h:
16326         * gst/gstregistry.c:
16327         * gst/gstregistry.h:
16328         * gst/gstregistrypool.c: remove
16329         * gst/gstregistrypool.h: remove
16330         * gst/gsttypefind.c:
16331         * gst/gsttypefindfactory.c:
16332         * gst/gsturi.c:
16333         * tools/Makefile.am:
16334         * tools/gst-compprep.c:
16335         * tools/gst-inspect.c:
16336         * tools/gst-register.c: remove
16337         * tools/gst-xmlinspect.c:
16338           Registry rewrite.  Changes registry from being a file created
16339           by a tool into a simple cache file created automatically by 
16340           libgstreamer.  Removed gst-register (because it's no longer
16341           needed).  Remove registry pools, because we only have one
16342           registry implementation (XML).  Fix up other subsystems as
16343           necessary.
16344
16345 2005-09-13  Michael Smith <msmith@fluendo.com>
16346
16347         * gst/gstconfig.h.in:
16348           Don't Use windows linking attributes for MinGW. Fixes #316157
16349
16350 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
16351
16352         * gst/gstutils.c: (set_state_async_thread_func),
16353         (gst_element_set_state_async):
16354           Apparently people think it's better if this function doesn't
16355           try to set the state to whatever state was asked for on the first
16356           call to this function for any object.  Seriously.
16357
16358 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
16359
16360         * check/gst/gstpipeline.c: (GST_START_TEST):
16361         * docs/gst/gstreamer-sections.txt:
16362         * gst/gstutils.c: (set_state_async_thread_func),
16363         (gst_element_set_state_async):
16364         * gst/gstutils.h:
16365           add a "gst_element_set_state_async" method that
16366           sets the state and starts a thread to make sure the state
16367           change completes as best as it can
16368
16369 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
16370
16371         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
16372           codify design+behaviour in testsuite after discussion
16373
16374 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
16375
16376         * docs/gst/tmpl/gstelement.sgml:
16377         * docs/manual/appendix-quotes.xml:
16378           add a quote
16379         * gst/gstelement.c: (gst_element_set_state):
16380           add some debug
16381
16382 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
16383
16384         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
16385         (gst_base_transform_prepare_output_buf),
16386         (gst_base_transform_handle_buffer):
16387         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
16388         (gst_capsfilter_prepare_buf):
16389           Remove the requirement for sub-classes to call the parent
16390           implementation of prepare_output_buffer with a wrapper function.
16391           
16392         * gst/gsttaglist.h:
16393         * gst/gsttagsetter.h:
16394           Fix #define wrapper
16395
16396 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
16397
16398         * docs/gst/gstreamer-sections.txt:
16399           more doc cleanups
16400
16401 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
16402
16403         * docs/gst/gstreamer-sections.txt:
16404         * docs/gst/tmpl/gstelement.sgml:
16405         * docs/gst/tmpl/gstplugin.sgml:
16406         * gst/gstminiobject.c:
16407         * gst/gstvalue.h:
16408           docs now stop throwing warnings
16409
16410 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
16411
16412         * docs/gst/gstreamer-sections.txt:
16413         * docs/gst/gstreamer.types:
16414         * docs/gst/tmpl/gstpad.sgml:
16415         * docs/gst/tmpl/gsttypes.sgml:
16416         * gst/base/gstadapter.h:
16417         * gst/base/gstbasesink.h:
16418         * gst/base/gstbasesrc.h:
16419         * gst/gstbin.h:
16420         * gst/gstbuffer.h:
16421         * gst/gstbus.h:
16422         * gst/gstcaps.h:
16423         * gst/gstclock.h:
16424         * gst/gstelement.h:
16425         * gst/gstevent.h:
16426         * gst/gstmessage.h:
16427         * gst/gstpad.h:
16428         * gst/gststructure.c:
16429         * gst/registries/gstlibxmlregistry.h:
16430           various documentation fixes
16431
16432 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
16433
16434         * docs/gst/gstreamer-sections.txt:
16435         * docs/gst/tmpl/gstvalue.sgml:
16436           rearrange gstvalue section
16437         * gst/gstutils.c: (gst_element_state_get_name):
16438           NONE -> VOID
16439         * gst/gstvalue.c: (_gst_value_initialize):
16440         * gst/gstvalue.h:
16441           doc updates
16442
16443 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
16444
16445         * check/gst-libs/controller.c:
16446           Header include fix.
16447         * gst/base/gstbasetransform.c:
16448         (gst_base_transform_default_prepare_buf),
16449         (gst_base_transform_handle_buffer):
16450         * gst/base/gstbasetransform.h:
16451           Some more basetransform changes and fixes to enable sub-classes
16452           that modify buffer metadata only.
16453         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
16454         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
16455         (gst_capsfilter_prepare_buf):
16456           If the output pad has fixed allowed caps and input buffers 
16457           don't have any, set the fixed caps on outgoing buffers.
16458
16459 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
16460         * check/elements/identity.c: (GST_START_TEST):
16461           Make the error a little clearer when the test fails because
16462           identity made a copy of the buffer.
16463         * docs/gst/gstreamer-sections.txt:
16464           New symbols in gstbasetransform.h
16465         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
16466         (gst_base_transform_init), (gst_base_transform_transform_size),
16467         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
16468         (gst_base_transform_default_prepare_buf),
16469         (gst_base_transform_get_unit_size),
16470         (gst_base_transform_buffer_alloc),
16471         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
16472         (gst_base_transform_change_state),
16473         (gst_base_transform_set_passthrough),
16474         (gst_base_transform_set_in_place),
16475         (gst_base_transform_is_in_place):
16476         * gst/base/gstbasetransform.h:
16477           Change BaseTransform to separate in_place operate from same_caps
16478           output. in_place implies that the element can perform the transform
16479           on incoming buffers in-place, even if the caps on the output are
16480           different.
16481           Sub-class elements can now implement special buffer allocation
16482           methods for outgoing buffers if they wish to.
16483           Big documentation addition.
16484         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
16485         * gst/elements/gstelements.c:
16486           Changes for basetransform modifications.
16487         * gst/elements/Makefile.am:
16488         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
16489           Compile fix. Extra debug output.
16490
16491 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
16492
16493         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
16494         (gst_pad_suite):
16495           add tests for valid pad naming
16496         * gst/check/gstcheck.c: (gst_check_log_message_func),
16497         (gst_check_log_critical_func):
16498           add ASSERT_WARNING
16499           remove printing of code, it is fragile when the code contains
16500           % and the line number is enough info
16501         * gst/check/gstcheck.h:
16502         * gst/gstpad.c: (gst_pad_template_new):
16503           fix memleaks
16504
16505 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
16506
16507         * configure.ac:
16508           say what CHECK flags we use
16509         * docs/libs/gstreamer-libs.types:
16510         * libs/gst/controller/Makefile.am:
16511         * libs/gst/controller/gst-controller.c:
16512         * libs/gst/controller/gst-controller.h:
16513         * libs/gst/controller/gst-helper.c:
16514         * libs/gst/controller/gst-interpolation.c:
16515         * libs/gst/controller/gstcontroller.c:
16516         * libs/gst/controller/gsthelper.c:
16517         * libs/gst/controller/gstinterpolation.c:
16518         * tools/gst-inspect.c: (print_plugin_info):
16519           we don't use dashes in header names
16520
16521 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
16522
16523         * check/Makefile.am:
16524         * check/gst/.cvsignore:
16525         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
16526         (gst_pipeline_suite), (main):
16527           adding a test for pipelines and state changes
16528         * gst/gstutils.c: (get_state_func):
16529           add some debugging
16530         * gstreamer.spec.in:
16531           fix up spec file
16532
16533 2005-09-08  Michael Smith <msmith@fluendo.com>
16534
16535         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
16536         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
16537         (gst_file_src_is_seekable), (gst_file_src_get_size),
16538         (gst_file_src_start):
16539         * gst/elements/gstfilesrc.h:
16540           Various fixes for unseekable, unmmapable, and non-normal files, so
16541           that fallback to read() rather than mmap() works.
16542         * gst/gstevent.c: (gst_event_new_newsegment):
16543           Allow newsegment events with segment_start == segment_end, as will
16544           correctly happen if you use filesrc on a zero-size file, for
16545           example.
16546
16547 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
16548
16549         * gst/gstplugin.c: (gst_plugin_load_file):
16550           Call g_module_close when we don't load the module
16551
16552         * gst/registries/gstlibxmlregistry.c:
16553         (gst_xml_registry_get_property):
16554           Port leak fix from 0.8
16555
16556 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
16557
16558         * docs/gst/gstreamer-docs.sgml:
16559         * docs/gst/tmpl/.cvsignore:
16560         * docs/gst/tmpl/gsttrace.sgml:
16561         * docs/gst/tmpl/gsttrashstack.sgml:
16562         * gst/Makefile.am:
16563         * gst/gst.h:
16564         * gst/gstelement.h:
16565         * gst/gstevent.h:
16566         * gst/gstmessage.c:
16567         * gst/gstmessage.h:
16568         * gst/gsttag.c:
16569         * gst/gsttag.h:
16570         * gst/gsttaginterface.c:
16571         * gst/gsttaginterface.h:
16572         * gst/gsttaglist.c:
16573         * gst/gsttaglist.h:
16574         * gst/gsttagsetter.c:
16575         * gst/gsttagsetter.h:
16576         * gst/gsttrace.c:
16577         * gst/gsttrace.h:
16578         * gst/gsttrashstack.c:
16579           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
16580           inlined docs for gsttrace, gsttrashstack
16581
16582 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
16583
16584         * gst/Makefile.am:
16585         * gst/elements/gstbufferstore.h:
16586         * gst/elements/gsttypefindelement.c:
16587         * gst/elements/gsttypefindelement.h:
16588         * gst/gst.h:
16589         * gst/gsttypefind.c:
16590         * gst/gsttypefind.h:
16591         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
16592         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
16593         (gst_type_find_factory_dispose),
16594         (gst_type_find_factory_unload_thyself),
16595         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
16596         (gst_type_find_factory_get_caps),
16597         (gst_type_find_factory_get_extensions),
16598         (gst_type_find_factory_call_function):
16599         * gst/gsttypefindfactory.h:
16600         * gst/registries/gstlibxmlregistry.c:
16601         * gst/registries/gstxmlregistry.c:
16602           splitted gsttypefind into gsttypefind, gsttypefindfactory
16603
16604 2005-09-07  Andy Wingo  <wingo@pobox.com>
16605
16606         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
16607         condition whereby the pad's task function is entered before the
16608         pad_mode variable was set.
16609
16610 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
16611
16612         * gst/gstpad.c: (gst_pad_alloc_buffer):
16613           Catch misbehaving pad_alloc functions that don't
16614           set up caps and do it for them.
16615
16616 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
16617
16618         * check/pipelines/simple_launch_lines.c: (run_pipeline):
16619           test for pipe!=NULL
16620         * docs/gst/tmpl/.cvsignore:
16621         * docs/gst/tmpl/gstmemchunk.sgml:
16622         * docs/gst/tmpl/gstparse.sgml:
16623         * docs/gst/tmpl/gsttaglist.sgml:
16624         * docs/gst/tmpl/gsttagsetter.sgml:
16625         * docs/gst/tmpl/gsttypefind.sgml:
16626         * docs/gst/tmpl/gsttypefindfactory.sgml:
16627         * gst/gstmemchunk.c:
16628         * gst/gstparse.c:
16629         * gst/gsttag.c:
16630         * gst/gsttaginterface.c:
16631         * gst/gsttypefind.c:
16632         * gst/gsttypefind.h:
16633           inlined more docs
16634
16635 === release 0.9.2 ===
16636
16637 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
16638
16639         * NEWS:
16640         * RELEASE:
16641         * configure.ac:
16642           releasing 0.9.2, "South"
16643
16644 2005-09-05  Andy Wingo  <wingo@pobox.com>
16645
16646         * gst/registries/gstxmlregistry.h:
16647         * gst/registries/gstxmlregistry.c: Um... resurrect...
16648         
16649         * gst/registries/gstxmlregistry.h:
16650         * gst/registries/gstxmlregistry.c: and update to newer API.
16651         Incidentally they should be a bit faster now that they don't have
16652         to parse the caps.
16653         
16654 2005-09-05  Andy Wingo  <wingo@pobox.com>
16655
16656         * gst/registries/gstxmlregistry.h:
16657         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
16658         replaced by the libxml registry a while back
16659
16660 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
16661
16662         * docs/gst/tmpl/gstplugin.sgml:
16663         * gst/elements/gstelements.c:
16664         * gst/gst.c:
16665         * gst/gstplugin.c: (gst_plugin_register_func),
16666         (gst_plugin_desc_copy), (gst_plugin_desc_free),
16667         (gst_plugin_get_source):
16668         * gst/gstplugin.h:
16669         * gst/registries/gstlibxmlregistry.c: (load_plugin),
16670         (gst_xml_registry_save_plugin):
16671         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
16672         (gst_xml_registry_save_plugin):
16673         * tools/gst-inspect.c: (print_plugin_info):
16674           add a "source" plugin description field, to represent the source
16675           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
16676           will set it to PACKAGE, which is automake's idea of the name of
16677           the source project.
16678
16679 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
16680
16681         * Makefile.am:
16682         * autogen.sh:
16683         * configure.ac:
16684         * docs/Makefile.am:
16685         * docs/faq/Makefile.am:
16686         * docs/gst/tmpl/gstelement.sgml:
16687         * docs/gst/tmpl/gsttypes.sgml:
16688         * docs/htmlinstall.mak:
16689         * docs/manual/Makefile.am:
16690         * docs/pwg/Makefile.am:
16691           reorganize doc build a little
16692           split out docbook and gtk-doc stuff
16693           have two separate --enable's and enable them through autogen
16694           but disable by default in configure (to be similar to other
16695           projects)
16696         * gstreamer.spec.in:
16697           clean up docs install
16698         * po/af.po:
16699         * po/az.po:
16700         * po/ca.po:
16701         * po/cs.po:
16702         * po/de.po:
16703         * po/en_GB.po:
16704         * po/fr.po:
16705         * po/it.po:
16706         * po/nb.po:
16707         * po/nl.po:
16708         * po/ru.po:
16709         * po/sq.po:
16710         * po/sr.po:
16711         * po/sv.po:
16712         * po/tr.po:
16713         * po/uk.po:
16714         * po/vi.po:
16715           translation updates
16716
16717 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
16718
16719         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
16720           Add comment.
16721           
16722         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
16723         (gst_fake_sink_change_state):
16724           Make state change function thread-safe.
16725           
16726         * gst/gstpad.c: (gst_pad_alloc_buffer):
16727           Set offset on generic buffer allocated by fallback.
16728
16729 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
16730
16731         * docs/gst/gstreamer-sections.txt:
16732         * docs/gst/tmpl/gstelement.sgml:
16733         * gst/gstpad.c:
16734         * libs/gst/controller/gst-controller.c:
16735         (gst_controlled_property_set_interpolation_mode),
16736         (gst_controlled_property_new),
16737         (gst_controller_find_controlled_property):
16738          run the wingo-magic script against the docs
16739
16740 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
16741
16742         * docs/gst/gstreamer-docs.sgml:
16743         * docs/gst/gstreamer-sections.txt:
16744         * docs/gst/tmpl/.cvsignore:
16745         * docs/gst/tmpl/gstelementdetails.sgml:
16746         * docs/gst/tmpl/gstelementfactory.sgml:
16747         * gst/gst.c:
16748         * gst/gstbus.c:
16749         * gst/gstelementfactory.c:
16750         * gst/gstelementfactory.h:
16751           merged elementdetails docs into elementfactory docs
16752           inlined both
16753
16754 2005-09-02  Andy Wingo  <wingo@pobox.com>
16755
16756         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
16757         consider this enum an enum and not a flags.
16758
16759 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
16760
16761         * docs/gst/gstreamer-docs.sgml:
16762         * docs/gst/tmpl/.cvsignore:
16763         * docs/gst/tmpl/gstghostpad.sgml:
16764         * docs/gst/tmpl/gstiterator.sgml:
16765         * docs/gst/tmpl/gstmacros.sgml:
16766         * docs/gst/tmpl/gstrealpad.sgml:
16767         * docs/gst/tmpl/gstregistry.sgml:
16768         * docs/gst/tmpl/gstregistrypool.sgml:
16769         * docs/gst/tmpl/gststructure.sgml:
16770         * docs/gst/tmpl/gstsystemclock.sgml:
16771         * docs/gst/tmpl/gsttrace.sgml:
16772         * gst/gstghostpad.c:
16773         * gst/gstmacros.h:
16774         * gst/gstmemchunk.c:
16775         * gst/gstmemchunk.h:
16776         * gst/gstqueue.c:
16777         * gst/gstregistry.c:
16778         * gst/gstregistrypool.c:
16779         * gst/gststructure.c:
16780         * gst/gstsystemclock.c:
16781           more docs inlined
16782
16783 2005-09-02  Andy Wingo  <wingo@pobox.com>
16784
16785         * gst/gstelement.h (GstState): Renamed from GstElementState,
16786         changed to be a normal enum instead of flags.
16787         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
16788         munged to be GST_STATE_CHANGE_*.
16789         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
16790         work with the new state representation.
16791         (GstStateChange): New enumeration of possible state transitions.
16792         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
16793         (GstElementClass::change_state): Pass the GstStateChange along as
16794         an argument. Helps language bindings, so they don't have to use
16795         tricky lock-needing macros like GST_STATE_CHANGE ().
16796
16797         * scripts/update-states (file): New script. Run it on a file to
16798         update it for state naming and API changes. Updates files in
16799         place.
16800
16801         * All files updated for the new API.
16802
16803 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
16804
16805         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
16806         * gst/gstutils.c: (gst_util_set_value_from_string),
16807         (gst_util_set_object_arg):
16808           fix a bunch of unchecked return values
16809         * tools/gst-complete.c: (main):
16810         * gstreamer.spec.in:
16811           clean up a little
16812
16813 2005-09-01  Wim Taymans  <wim@fluendo.com>
16814
16815         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
16816         (gst_base_sink_event), (gst_base_sink_do_sync),
16817         (gst_base_sink_handle_event):
16818         * gst/base/gstbasesink.h:
16819         Handle newsegments more correctly.
16820
16821         * gst/gstbus.c:
16822         Fix docs.
16823
16824         * gst/gstevent.c: (gst_event_new_newsegment):
16825         A newsegment cannot have a start_time of -1
16826
16827 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
16828
16829         * win32/gstenumtypes.c:
16830         * win32/gstenumtypes.h:
16831           Update
16832
16833 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
16834
16835         * libs/gst/controller/gst-controller.c:
16836         (gst_controlled_property_set_interpolation_mode),
16837         (gst_controlled_property_new):
16838          fixed boolean again
16839
16840 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
16841
16842         * docs/faq/gst-uninstalled:
16843           add -good
16844         * gst/gstevent.c:
16845         * gst/gstevent.h:
16846           remove wrong docs
16847         * gst/gstutils.c: (gst_element_link_filtered):
16848         * gst/gstutils.h:
16849           add gst_element_link_filtered
16850
16851 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
16852
16853         * docs/gst/gstreamer-docs.sgml:
16854         * docs/gst/gstreamer-sections.txt:
16855         * docs/gst/tmpl/.cvsignore:
16856         * docs/gst/tmpl/gsterror.sgml:
16857         * docs/gst/tmpl/gstfilter.sgml:
16858         * docs/gst/tmpl/gsturihandler.sgml:
16859         * docs/gst/tmpl/gsturitype.sgml:
16860         * docs/gst/tmpl/gstutils.sgml:
16861         * docs/gst/tmpl/gstxml.sgml:
16862         * gst/gsterror.c:
16863         * gst/gsterror.h:
16864         * gst/gstfilter.c:
16865         * gst/gsturi.c:
16866         * gst/gsturitype.c:
16867         * gst/gstutils.c:
16868         * gst/gstxml.c:
16869           inlined more docs, fixed double id-ref
16870
16871 2005-08-31  Wim Taymans  <wim@fluendo.com>
16872
16873         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
16874         (gst_base_transform_handle_buffer):
16875         Passthrough elements don't need the caps as they don't care.
16876
16877 2005-08-31  Wim Taymans  <wim@fluendo.com>
16878
16879         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
16880         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
16881         Don't leak refcounts on buffers.
16882
16883 2005-08-31  Wim Taymans  <wim@fluendo.com>
16884
16885         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
16886         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
16887         (gst_base_transform_chain), (gst_base_transform_change_state):
16888         * gst/base/gstbasetransform.h:
16889         Handle the case where we are not negotiated more gracefully.
16890
16891 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
16892
16893         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
16894         (gst_file_src_map_region):
16895           Set READONLY flag on mmap'ed buffers, otherwise
16896           gst_buffer_make_writable() won't work properly (#314708).
16897
16898 2005-08-31  Wim Taymans  <wim@fluendo.com>
16899
16900         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
16901         passthrough elements can even do inplace on non writable
16902         buffers (as they don't touch them).
16903
16904 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
16905
16906         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
16907         (gst_test_mono_source_set_property),
16908         (gst_test_mono_source_class_init), (GST_START_TEST),
16909         (gst_controller_suite):
16910           more tests (hehe I have the most)
16911         * gst/gstbus.c:
16912           describe popping messages whenusing mulltiple sources
16913         * libs/gst/controller/gst-controller.c:
16914         (gst_controlled_property_set_interpolation_mode),
16915         (gst_controlled_property_new):
16916         * libs/gst/controller/gst-controller.h:
16917         * libs/gst/controller/gst-interpolation.c:
16918           implement boolean properties
16919
16920 2005-08-31  Wim Taymans  <wim@fluendo.com>
16921
16922         * gst/gstminiobject.c: (gst_mini_object_ref):
16923         Cannot assert that the refcount has to be positive
16924         since a disposed object can be resurrected.
16925
16926 2005-08-31  Wim Taymans  <wim@fluendo.com>
16927
16928         * gst/gstpad.c: (gst_pad_init):
16929         Revert change, need to first fix badly behaving 
16930         apps.
16931
16932 2005-08-30  Wim Taymans  <wim@fluendo.com>
16933
16934         * check/elements/fakesrc.c: (setup_fakesrc):
16935         * check/elements/identity.c: (setup_identity):
16936         Activate pads before using them.
16937
16938 2005-08-30  Wim Taymans  <wim@fluendo.com>
16939
16940         * gst/base/gstadapter.c: (gst_adapter_flush):
16941         Flushing out 0 bytes is ok for this function.
16942
16943         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
16944         no newsegment gives a warning and sets the start/stop to 
16945         invalid.
16946
16947         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
16948         (gst_base_transform_set_passthrough):
16949         Some debug info.
16950
16951         * gst/gstminiobject.c: (gst_mini_object_ref):
16952         Check refcount here too.
16953
16954         * gst/gstpad.c: (gst_pad_init):
16955         Pads are initially flushing and refusing data.
16956
16957         * gst/gstutils.c: (gst_element_link_pads_filtered):
16958         When adding a capsfilter element make sure it has the
16959         same state as the parent bin.
16960
16961 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
16962
16963         * docs/gst/tmpl/.cvsignore:
16964         * docs/gst/tmpl/gstformat.sgml:
16965         * docs/gst/tmpl/gstversion.sgml:
16966         * gst/gstbus.h:
16967         * gst/gstformat.c:
16968         * gst/gstformat.h:
16969         * gst/gstversion.h.in:
16970           more docs and two more inlined
16971
16972 2005-08-30  Wim Taymans  <wim@fluendo.com>
16973
16974         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
16975         Don't sync to clock.
16976
16977 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
16978
16979         * docs/gst/gstreamer-sections.txt:
16980           ultral33t func10ns deserve to appear in the docs actually
16981         * docs/gst/tmpl/.cvsignore:
16982         * docs/gst/tmpl/gstcompat.sgml:
16983         * docs/gst/tmpl/gstconfig.sgml:
16984         * gst/check/gstcheck.c:
16985         * gst/gstcompat.h:
16986         * gst/gstconfig.h.in:
16987           inlined more docs
16988
16989 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
16990
16991         * docs/gst/tmpl/.cvsignore:
16992         * docs/gst/tmpl/gstquery.sgml:
16993         * docs/gst/tmpl/gstutils.sgml:
16994         * gst/gstquery.c:
16995         * gst/gstquery.h:
16996           inlined and extended docs
16997
16998 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
16999
17000         * check/gst-libs/controller.c: (GST_START_TEST),
17001         (gst_controller_suite):
17002           more tests
17003         * docs/gst/tmpl/gstutils.sgml:
17004         * docs/libs/gstreamer-libs-sections.txt:
17005         * docs/libs/tmpl/gstdataprotocol.sgml:
17006           include path fixes
17007         * examples/controller/audio-example.c: (main):
17008           controller example works now
17009         * gst/gstclock.h:
17010           doc fixes
17011         * tools/gst-inspect.c: (print_element_properties_info):
17012           show param spec flags
17013
17014 2005-08-29  Andy Wingo  <wingo@pobox.com>
17015
17016         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
17017
17018 2005-08-28  Andy Wingo  <wingo@pobox.com>
17019
17020         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
17021         as having two arguments instead of just one. Allows superclasses
17022         to access information on subclasses -- see the terrible for() loop
17023         in gtype.c:g_type_create_instance for the reason why. All callers
17024         changed.
17025
17026 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
17027
17028         * docs/design/part-messages.txt:
17029           update info
17030         * docs/gst/tmpl/.cvsignore:
17031         * docs/gst/tmpl/gstcaps.sgml:
17032         * docs/gst/tmpl/gstclock.sgml:
17033         * gst/gstbus.c:
17034         * gst/gstcaps.c:
17035         * gst/gstcaps.h:
17036         * gst/gstclock.c:
17037         * gst/gstclock.h:
17038         * gst/gstmessage.c:
17039           added descriptions for bus and message
17040           inline caps and clock docs
17041
17042 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
17043
17044         * gst/gstmessage.c:
17045         * gst/gstmessage.h:
17046           doc fixes
17047
17048 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
17049
17050         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
17051           fix div-by-zero
17052
17053 2005-08-26  Andy Wingo  <wingo@pobox.com>
17054
17055         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
17056         element_set_state's return val.
17057         (test_2_elements): Add test that's been disabled for months.
17058
17059         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
17060         can-activate-pull properties.
17061
17062         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
17063         can-activate-pull properties. Implement is_seekable so fakesrc can
17064         operate in pull mode.
17065
17066         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
17067         properties.
17068         (gst_base_sink_activate, gst_base_sink_activate_pull)
17069         (gst_base_sink_activate_push): Make activation mode choosing work.
17070         Cleanups.
17071         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
17072         is right. Make pull mode work. Post an eos before pausing in pull
17073         mode.
17074         (gst_base_sink_change_state): Pay attention to the core's
17075         change_state() return val.
17076         
17077         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
17078         has-getrange properties. Cleanups.
17079         
17080         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
17081         has_getrange and replace with can_activate_pull and
17082         can_activate_push.
17083
17084         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
17085         locking comments. Remove has_loop, has_chain and replace with
17086         can_activate_pull and can_activate_push.
17087
17088 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
17089
17090         * configure.ac:
17091         * examples/Makefile.am:
17092         * examples/metadata/Makefile.am:
17093         * examples/metadata/read-metadata.c: (message_loop),
17094         (have_pad_handler), (make_pipeline), (print_tag), (main):
17095           Add metadata reading example that loops over a list of filenames,
17096           dumping any tags found.
17097
17098         * gst/gstbus.c: (gst_bus_dispose):
17099         * gst/gstelement.c: (gst_element_dispose):
17100           Release a few potentially-held references in dispose.
17101
17102 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
17103
17104         * docs/gst/tmpl/gstminiobject.sgml:
17105           do *not* add tmpl/*.sgml files to CVS!
17106
17107 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
17108
17109         * libs/gst/bytestream/.cvsignore:
17110         * libs/gst/bytestream/Makefile.am:
17111         * libs/gst/bytestream/adapter.c:
17112         * libs/gst/bytestream/adapter.h:
17113         * libs/gst/bytestream/bytestream.c:
17114         * libs/gst/bytestream/bytestream.h:
17115         * libs/gst/bytestream/filepad.c:
17116         * libs/gst/bytestream/filepad.h:
17117           removing obsolete files
17118
17119 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
17120
17121         * docs/gst/gstreamer-docs.sgml:
17122         * docs/libs/gstreamer-libs-docs.sgml:
17123           disabed additional index entries again, as this makes docs-gen just
17124           slow and they aren't useful yet
17125         * docs/libs/gstreamer-libs-sections.txt:
17126           little -section.txt cleanup for libs
17127
17128 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
17129
17130         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
17131         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
17132           fix up some debugging
17133         (gst_base_transform_get_unit_size),
17134         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
17135         (gst_base_transform_handle_buffer):
17136         * gst/base/gstbasetransform.h:
17137           handle and store timed NEWSEGMENT events so that subclasses that
17138           calculate time by counting samples have a segment_start time they
17139           need to add to their timestamps - see audioresample
17140
17141 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
17142
17143         * gst/gstbin.h:
17144           removed ';' from the end of macro defs
17145         * docs/gst/gstreamer-docs.sgml:
17146         * docs/gst/gstreamer-sections.txt:
17147         * docs/gst/tmpl/.cvsignore:
17148         * gst/gstbus.h:
17149         * gst/gstelement.c: (gst_element_class_init),
17150         (gst_element_set_state), (activate_pads),
17151         (gst_element_save_thyself):
17152         * gst/gstevent.c: (gst_event_new_newsegment):
17153         * gst/gstevent.h:
17154         * gst/gstiterator.c:
17155         * gst/gstiterator.h:
17156         * gst/gstpad.c:
17157         * gst/gstprobe.h:
17158         * gst/gstutils.c: (gst_pad_query_convert):
17159         * gst/gstutils.h:
17160           fixed parameter name mismatches between source, header and docs
17161           added some more docs, resolved the last batch of unused elements in
17162           docs (now someone needs to doc them)
17163
17164 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
17165
17166         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
17167         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
17168           don't walk through the plugins backwards.  Where is all this
17169           reversed logic coming from ?
17170
17171 2005-08-25  Wim Taymans  <wim@fluendo.com>
17172
17173         * gst/base/gstbasetransform.c: (gst_base_transform_init),
17174         (gst_base_transform_transform_size),
17175         (gst_base_transform_configure_caps),
17176         (gst_base_transform_get_unit_size),
17177         (gst_base_transform_buffer_alloc),
17178         (gst_base_transform_change_state):
17179         * gst/base/gstbasetransform.h:
17180         Cache caps unit_size.
17181         Make sure we cannot negotiate up and downstream at the
17182         same time.
17183
17184 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
17185
17186         * gst/gst.c: (init_pre), (init_post):
17187           register the installed plugin path after the env var
17188         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
17189         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
17190           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
17191           directories, so the tests can prefer uninstalled over installed
17192
17193 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
17194
17195         * gst/base/gstbasetransform.h:
17196           comment
17197         * gst/gstpad.c:
17198           add to docs
17199
17200 2005-08-25  Wim Taymans  <wim@fluendo.com>
17201
17202         * gst/gstbin.c: (bin_bus_handler):
17203         Be a bit more conservative about the posted message.
17204         
17205         * gst/gstbus.c: (gst_bus_post):
17206         Some cleanups, warn wrong return values.
17207
17208 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
17209
17210         * check/gst/gstbin.c: (GST_START_TEST):
17211         * gst/gstbin.c: (bin_bus_handler):
17212         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
17213         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
17214         (gst_message_new_warning), (gst_message_new_tag),
17215         (gst_message_new_state_changed), (gst_message_new_segment_start),
17216         (gst_message_new_segment_done), (gst_message_new_custom):
17217         * gst/gstmessage.h:
17218         * tools/gst-launch.c: (event_loop):
17219         * tools/gst-md5sum.c: (event_loop):
17220           Revert unpopular change for GST_MESSAGE_SRC to GObject.
17221
17222 2005-08-25  Wim Taymans  <wim@fluendo.com>
17223
17224         * check/generic/states.c: (GST_START_TEST):
17225         Cleanup can be done at the end.
17226
17227         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
17228         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
17229         (gst_task_get_state), (gst_task_start), (gst_task_pause):
17230         Oh boy.. Thanks for finding this, Thomas. 
17231
17232 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
17233
17234         * docs/gst/gstreamer.types:
17235           added missing types
17236
17237 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
17238
17239         * docs/gst/gstreamer-docs.sgml:
17240         * docs/gst/gstreamer-sections.txt:
17241         * docs/gst/tmpl/.cvsignore:
17242         * gst/gstbin.c:
17243         * gst/gstiterator.c:
17244         * gst/gstutils.c:
17245         * gst/registries/gstxmlregistry.h:
17246           added missing classes and symbols (123 more to go)
17247           removed removed symbols from section file
17248           fixed many doc-comments
17249
17250 2005-08-24  Wim Taymans  <wim@fluendo.com>
17251
17252         * check/generic/states.c: (GST_START_TEST):
17253         Make sure all tasks are stopped.
17254
17255         * check/gst/gstbin.c: (GST_START_TEST):
17256         Unref after usage for proper valgrinding.
17257
17258         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
17259         Really wait for the task to stop before destroying the
17260         mutex.
17261
17262         * gst/gstqueue.c: (gst_queue_sink_activate_push),
17263         (gst_queue_src_activate_push):
17264         Small cleanups. Don't stop the task when we did not start
17265         it.
17266
17267         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
17268         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
17269         (gst_task_get_state), (gst_task_start), (gst_task_pause),
17270         (gst_task_join):
17271         * gst/gsttask.h:
17272         Protect the stream lock with the object lock.
17273         Disallow setting the stream lock when running.
17274         Add cleanup_all to wait for the threadpool to finish.
17275         Remove code to autoallocate a mutex if none was provided.
17276         Add _join() to wait for a task to stop.
17277         Protect the thread pool with a global lock.
17278
17279 2005-08-24  Wim Taymans  <wim@fluendo.com>
17280
17281         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
17282         (gst_base_sink_get_times), (gst_base_sink_do_sync),
17283         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
17284         * gst/base/gstbasesink.h:
17285         Handle newsegment events correctly.
17286         Drop buffers out of the segment range.
17287
17288 2005-08-22  Andy Wingo  <wingo@pobox.com>
17289
17290         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
17291         macro, implements an interface and gstimplementsinterface for a
17292         new type.
17293
17294 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
17295
17296         * check/Makefile.am:
17297         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
17298           add a test that does a bunch of state changes on elements
17299           needs some fixing for valgrind
17300         * check/states/sinks.c: (gst_object_suite):
17301           whitespace
17302         * gst/gstcaps.h:
17303           add prototype for gst_caps_is_equal_fixed
17304         * gst/gstplugin.c:
17305         * gst/gstregistrypool.c:
17306           doc fixes
17307
17308 2005-08-24  Andy Wingo  <wingo@pobox.com>
17309
17310         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
17311         convert a negative value. Doesn't make much sense. Mostly this is
17312         here to force callers to ensure -1 maps to -1.
17313
17314 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
17315
17316         * docs/pwg/advanced-types.xml:
17317           Well done to Michael for catching my deliberate introduction
17318           of this spelling mistake. 
17319         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
17320         * gst/gstelement.h:
17321           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
17322           unlink pads before removing the element from the bin.
17323
17324 2005-08-24  Andy Wingo  <wingo@pobox.com>
17325
17326         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
17327         the same thing as GST_DEBUG=*:4.
17328         (parse_debug_level, parse_debug_category): New helper parsers.
17329
17330 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
17331
17332         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
17333         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
17334         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
17335         (gst_base_transform_buffer_alloc),
17336         (gst_base_transform_handle_buffer):
17337           use gboolean return values and pointers to size so we can use the
17338           full GST_BUFFER_SIZE range (guint) for buffer sizes
17339           use GstPadDirection for transform_caps
17340         * gst/base/gstbasetransform.h:
17341           rename get_size to get_unit_size since that's what it is
17342         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
17343           use GstPadDirection for transform_caps
17344         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
17345         * gst/gstutils.h:
17346           cleanup and debugging
17347
17348 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
17349
17350         * gst/gstelement.c: (gst_element_class_init),
17351         (gst_element_set_state), (activate_pads),
17352         (gst_element_save_thyself):
17353         * tools/gst-compprep.c: (main):
17354         * tools/gst-inspect.c: (print_element_properties_info):
17355         * tools/gst-xmlinspect.c: (print_element_properties):
17356           Fixed long standing mem-leak
17357
17358 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
17359
17360         * check/gst/gstbin.c: (GST_START_TEST):
17361         * gst/gstbin.c: (bin_bus_handler):
17362         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
17363         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
17364         (gst_message_new_warning), (gst_message_new_tag),
17365         (gst_message_new_state_changed), (gst_message_new_segment_start),
17366         (gst_message_new_segment_done), (gst_message_new_custom):
17367         * gst/gstmessage.h:
17368         * tools/gst-launch.c: (event_loop):
17369         * tools/gst-md5sum.c: (event_loop):
17370           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
17371           that applications can sensibly post custom messages with references
17372           to their own objects.
17373
17374 2005-08-24  Andy Wingo  <wingo@pobox.com>
17375
17376         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
17377         already.
17378
17379 2005-08-24  Wim Taymans  <wim@fluendo.com>
17380
17381         * gst/base/gstbasetransform.c: (gst_base_transform_init),
17382         (gst_base_transform_transform_caps),
17383         (gst_base_transform_transform_size),
17384         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
17385         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
17386         (gst_base_transform_handle_buffer):
17387         * gst/base/gstbasetransform.h:
17388         Many fixes and new features added by Thomas. Can now also do
17389         transforms with variable sizes and a custom fixate_caps function.
17390
17391 2005-08-24  Wim Taymans  <wim@fluendo.com>
17392
17393         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
17394         Some debugging.
17395
17396         * gst/gstclock.h:
17397         Cast to ClockTime before formatting to time.
17398
17399         * gst/gstutils.h:
17400         Cleanups.
17401
17402 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
17403
17404         * check/gst-libs/controller.c: (GST_START_TEST),
17405         (gst_controller_suite):
17406         * docs/gst/tmpl/gstcaps.sgml:
17407         * docs/gst/tmpl/gstghostpad.sgml:
17408         * docs/gst/tmpl/gstquery.sgml:
17409         * docs/gst/tmpl/gstutils.sgml:
17410         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
17411         (gst_object_sink_values), (gst_object_get_value_arrays),
17412         (gst_object_get_value_array):
17413           gracefully handle helper method calls to objects that are not beeing
17414           controlled, added test case for that          
17415
17416 2005-08-23  Wim Taymans  <wim@fluendo.com>
17417
17418         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
17419         (gst_event_new_newsegment), (gst_event_parse_newsegment),
17420         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
17421         (gst_event_parse_qos), (gst_event_new_seek),
17422         (gst_event_parse_seek):
17423         * gst/gstevent.h:
17424         Some more debugging output and doc cleanups.
17425
17426         * gst/gstqueue.c: (gst_queue_handle_sink_event):
17427         Fix possible deadlock.
17428
17429 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
17430
17431         * docs/gst/gstreamer-docs.sgml:
17432         * docs/gst/gstreamer-sections.txt:
17433         * docs/gst/gstreamer.types:
17434         * docs/gst/tmpl/.cvsignore:
17435         * gst/gstbin.h:
17436         * gst/gstbus.c:
17437         * gst/gstelement.c:
17438         * gst/gstevent.h:
17439           added 100 symbols from gstreamer-unused.txt to the right sections
17440           fixed more broken comments
17441           added GstBus to docs
17442
17443 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
17444
17445         * docs/gst/gstreamer-sections.txt:
17446         * docs/gst/tmpl/.cvsignore:
17447         * docs/gst/tmpl/gstbin.sgml:
17448         * docs/gst/tmpl/gstbuffer.sgml:
17449         * gst/base/gstbasesrc.c:
17450         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
17451         * gst/gstbuffer.c:
17452         * gst/gstbuffer.h:
17453         * tools/gst-launch.1.in:
17454           inlined more doc comments, added missing comments and fixed comments
17455           fixed typos
17456
17457 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
17458
17459         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
17460           some debugging
17461         * gst/gstcaps.h:
17462           whitespace fixes
17463         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
17464           more debugging
17465         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
17466         * gst/gststructure.h:
17467           add a fixate function for booleans; add a FIXME that these func
17468           names should probably be gst_structure_fixate_*
17469
17470 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
17471
17472         * docs/gst/gstreamer-docs.sgml:
17473         * docs/gst/gstreamer-sections.txt:
17474         * gst/Makefile.am:
17475         * gst/gstbin.c: (gst_bin_get_type),
17476         (gst_bin_child_proxy_get_child_by_index),
17477         (gst_bin_child_proxy_get_children_count),
17478         (gst_bin_child_proxy_init):
17479         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
17480         (gst_child_proxy_get_child_by_index),
17481         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
17482         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
17483         (gst_child_proxy_get), (gst_child_proxy_set_property),
17484         (gst_child_proxy_set_valist), (gst_child_proxy_set),
17485         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
17486         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
17487         * gst/gstchildproxy.h:
17488         * gst/parse/grammar.y:
17489         * tools/gst-inspect.c: (print_interfaces),
17490         (print_element_properties_info), (print_element_info):
17491           ported gstchildproxy over from 0.8
17492           ported gst-inspect fixes and enhancements over from 0.8
17493
17494 2005-08-22  Wim Taymans  <wim@fluendo.com>
17495
17496         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
17497         (gst_base_transform_handle_buffer):
17498         Also call the transform function if we have ANY caps.
17499
17500         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
17501         Fix debug info.
17502
17503 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
17504
17505         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
17506           Don't pretend to handle seek events if the source is not seekable
17507
17508 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
17509
17510         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
17511           Remove extra parameter to debug output
17512
17513         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
17514         (gst_base_src_do_seek), (gst_base_src_activate_push):
17515           Fix seek event handling.
17516
17517         * gst/gstpipeline.c: (gst_pipeline_change_state):
17518         * gst/gstqueue.c: (gst_queue_handle_sink_event),
17519         (gst_queue_src_activate_push):
17520           Don't start the src pad task on FLUSH_STOP if the pad
17521           isn't linked.
17522           Debug changes.
17523
17524 2005-08-22  Wim Taymans  <wim@fluendo.com>
17525
17526         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
17527         Added check for gst_static_caps_get() refcounting.
17528
17529 2005-08-22  Wim Taymans  <wim@fluendo.com>
17530
17531         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
17532         Make _static_caps_get() refcounting sane.
17533         
17534         * gst/gstelement.c: (gst_element_set_state):
17535         Add g_return_val_if_fail() to protect against segfaults.
17536
17537 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
17538
17539         * docs/gst/tmpl/gstevent.sgml:
17540         * gst/gstevent.c:
17541         * gst/gstevent.h:
17542           inlined remaining docs, added missing doc comments
17543
17544 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
17545
17546         * check/gst/gstbin.c: (GST_START_TEST):
17547           since we don't know when preroll is done, use refcount range
17548           check for the sink
17549         * gst/check/gstcheck.h:
17550           add macro for checking refcount range
17551
17552 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
17553
17554         * check/Makefile.am:
17555           clean up environment for when registry gets built versus
17556           when actual tests are run; valgrind seems to not report
17557           leaks if GST_PLUGIN_PATH is set to some specific values
17558         * check/gst/gstbin.c: (GST_START_TEST):
17559           add more refcounting checks; maybe this exposes a
17560           preroll lock bug ?
17561         * common/check.mak:
17562         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
17563         * gst/check/gstcheck.h:
17564         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
17565         (gst_bin_change_state):
17566         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
17567           add/fix debugging/whitespace
17568
17569 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
17570
17571         * check/gst/gstevent.c: (event_probe), (test_event),
17572         (GST_START_TEST):
17573          Er, don't call gst_bin_watch_for_state_change you idiot.
17574
17575 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
17576
17577         * check/Makefile.am:
17578           Use CHECK_CFLAGS and CHECK_LIBS
17579         * check/gst/gstevent.c: (event_probe), (test_event),
17580         (GST_START_TEST):
17581           Don't leak events.
17582         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
17583         (gst_base_src_start), (gst_base_src_stop),
17584         (gst_base_src_activate_push), (gst_base_src_activate_pull),
17585         (gst_base_src_change_state):
17586           Sprinkle gst_base_src_stop liberally around error paths to fix
17587           problems reusing a source after failed state changes.
17588         * gst/base/gsttypefindhelper.c: (helper_find_peek),
17589         (helper_find_suggest), (gst_type_find_helper):
17590           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
17591         * gst/gstevent.h:
17592         * docs/gst/tmpl/gstevent.sgml:
17593           Migrate part of the docs from the SGML file. Wait for ensonic to
17594           tell me how I did it wrong ;)
17595         * tools/gst-typefind.c: (main):
17596           Extra robustness to state changes between files.
17597
17598 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
17599
17600         * check/Makefile.am:
17601           don't valgrind the controller test - it's leaking - Stefan, HELP
17602         * gst/check/gstcheck.c: (gst_check_message_error),
17603         (gst_check_chain_func), (gst_check_setup_element),
17604         (gst_check_teardown_element), (gst_check_setup_src_pad),
17605         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
17606         (gst_check_teardown_sink_pad):
17607         * gst/check/gstcheck.h:
17608           add a bunch of methods to set up elements, and src and sink pads
17609         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
17610         * check/elements/identity.c: (setup_identity), (cleanup_identity),
17611         (GST_START_TEST):
17612           use them
17613         * gst/gstmessage.c:
17614         * gst/gsttag.h:
17615           whitespace/doc fixes
17616
17617 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
17618
17619         * gst/gstelement.h:
17620           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
17621           be handled by the application and not always printed as well
17622
17623 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
17624
17625         * check/Makefile.am:
17626           set GST_TOOLS_DIR
17627         * gst/check/gstcheck.c: (gst_check_message_error):
17628         * gst/check/gstcheck.h:
17629           add a fail_unless_equals_int
17630           add fail_unless for error messages
17631
17632 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
17633
17634         * check/Makefile.am:
17635         * check/gst.supp:
17636         * common/Makefile.am:
17637         * common/check.mak:
17638         * common/gst.supp:
17639           factor out some of the common stuff so we can use it
17640
17641 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
17642
17643         * check/Makefile.am:
17644         * check/gst/gstiterator.c: (GST_START_TEST):
17645         * check/gst/gstsystemclock.c: (GST_START_TEST),
17646         (gst_systemclock_suite):
17647         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
17648         * gst/gstclock.c:
17649           valgrind more tests
17650
17651 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
17652
17653         * check/elements/.cvsignore:
17654         * check/elements/gstfakesrc.c:
17655           rename to name of element
17656         * check/elements/identity.c: (chain_func), (event_func),
17657         (setup_identity), (cleanup_identity), (GST_START_TEST),
17658         (identity_suite), (main):
17659           add a test for identity
17660         * check/Makefile.am:
17661         * pkgconfig/Makefile.am:
17662         * pkgconfig/gstreamer-check.pc.in:
17663         * pkgconfig/gstreamer-check-uninstalled.pc.in:
17664         * gst/check:
17665         * gst/Makefile.am:
17666         * configure.ac:
17667           move the check stuff to a library that gets installed
17668         * check/gst-libs/controller.c: (GST_START_TEST):
17669         * check/gst-libs/gdp.c:
17670         * check/gst/gst.c: (GST_START_TEST):
17671         * check/gst/gstbin.c:
17672         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
17673         * check/gst/gstbus.c:
17674         * check/gst/gstcaps.c: (GST_START_TEST):
17675         * check/gst/gstelement.c:
17676         * check/gst/gstghostpad.c:
17677         * check/gst/gstiterator.c:
17678         * check/gst/gstmessage.c:
17679         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
17680         * check/gst/gstobject.c:
17681         * check/gst/gstpad.c: (GST_START_TEST):
17682         * check/gst/gststructure.c: (GST_START_TEST):
17683         * check/gst/gstsystemclock.c: (GST_START_TEST),
17684         (gst_systemclock_suite):
17685         * check/gst/gsttag.c: (gst_tag_suite):
17686         * check/gst/gstvalue.c:
17687         * check/pipelines/cleanup.c:
17688         * check/pipelines/simple_launch_lines.c:
17689         * check/states/sinks.c:
17690           change include statement
17691
17692         * docs/gst/gstreamer-sections.txt:
17693         * docs/gst/tmpl/gstpad.sgml:
17694           document more pad stuff
17695         * gst/gstminiobject.c: (gst_mini_object_ref),
17696         (gst_mini_object_unref):
17697           debug refcounting
17698
17699 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
17700
17701         * docs/gst/tmpl/gst.sgml:
17702         * gst/gst.c:
17703           eliminate another tmpl file, fix spelling in the long-description
17704
17705 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
17706
17707         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
17708         (test_event), (timediff), (gstevents_suite):
17709           Should fix build on 64-bit arch's
17710
17711 2005-08-18  Andy Wingo  <wingo@pobox.com>
17712
17713         Make sure that when a pipeline goes to PLAYING, that data has
17714         actually hit the sink.
17715
17716         * check/states/sinks.c (test_sink): A sink that doesn't get any
17717         data shouldn't return SUCCESS for going to either PLAYING or
17718         PAUSED. Test also the return values on the way back down.
17719
17720         * gst/gstelement.c (gst_element_set_state): When changing the
17721         state of an element currently changing state asynchronously, go to
17722         lost-state after commiting the pending state. Makes future calls
17723         to get_state continue to return ASYNC.
17724
17725         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
17726         ASYNC when going to PLAYING if we still don't have preroll, as can
17727         happen with live sources.
17728
17729 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
17730
17731         * docs/pwg/advanced-types.xml:
17732           Hack long paragraph into 2 chunks as a workaround for buggy
17733           jadetex version in sid and breezy that loops infinitely and
17734           eats all RAM.
17735
17736 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
17737
17738         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
17739         (test_event), (timediff), (gstevents_suite):
17740           Provide more error margin in clock measurements to allow for 
17741           g_get_current_time inaccuracies.
17742
17743 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
17744
17745         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
17746         (test_event), (timediff), (gstevents_suite):
17747            Fix error message output so I might be able to tell why the
17748            test works here but fails on the build farm.
17749
17750 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
17751
17752         * check/Makefile.am:
17753         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
17754         (test_event), (timediff), (gstevents_suite), (main):
17755           I wrote a test!
17756
17757         * docs/design/part-seeking.txt:
17758           Spelling correction
17759
17760         * docs/gst/tmpl/gstevent.sgml:
17761         * docs/gst/tmpl/gstfakesrc.sgml:
17762           Docs updates.
17763
17764         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
17765           Treat a buffer-without-newsegment the same as a receiving 
17766           a newsegment not in time format, and disable syncing to the clock
17767           with a warning.
17768
17769         * gst/gstbus.c: (gst_bus_set_sync_handler):
17770           Assert if anyone tries to replace the existing sync_handler for bus, 
17771           as only the owner should be setting it.
17772
17773         * gst/gstevent.h:
17774           Have a fixed set of custom event enums with events identified by
17775           their structure name (as in 0.8), rather than a free-for-all
17776           allowing collisions between enum values from different plugins.
17777
17778         * gst/gstpad.c: (gst_pad_class_init):
17779           Docs change.
17780           
17781         * gst/gstqueue.c: (gst_queue_handle_sink_event):
17782           Handle out-of-band downstream events from the sending thread.
17783
17784 2005-08-17  Andy Wingo  <wingo@pobox.com>
17785
17786         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
17787         play-timeout==0 to mean no timeout at all. In that case, don't
17788         bother with a get_state or a warning, just return directly, even
17789         if it's ASYNC.
17790
17791         * gst/base/gstbasetransform.c: Debug changes.
17792
17793         * gst/gstutils.h:
17794         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
17795         ensure bins post state change messages. A bit of a hack but I can't
17796         think of a way to avoid it.
17797
17798         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
17799
17800 2005-08-16  Andy Wingo  <wingo@pobox.com>
17801
17802         * gst/base/gstadapter.h:
17803         * gst/base/gstadapter.c (gst_adapter_take): New function, like
17804         peek() but you own the data. Not terribly efficient atm.
17805
17806 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17807
17808         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
17809         (gst_element_found_tags):
17810         * gst/gstutils.h:
17811           Add two utility functions for tag handling.
17812
17813 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17814
17815         * docs/manual/advanced-dataaccess.xml:
17816         * docs/manual/basics-helloworld.xml:
17817           Fix docs to use _bin_add() before _link(), which fixes the examples
17818           with recent core versions (reported by Madhan Raj M
17819           <raj_madan@rediffmail.com>, #313199).
17820
17821 2005-08-16  Wim Taymans  <wim@fluendo.com>
17822
17823         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
17824         Added subtract checks.
17825
17826         * docs/design/part-events.txt:
17827         Some more docs about newsegment
17828
17829         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
17830         Fix FIXME
17831
17832         * gst/gstcaps.c: (gst_caps_to_string):
17833         Add comments, cleanups.
17834         
17835         * gst/gstelement.c: (gst_element_save_thyself):
17836         cleanups
17837         
17838         * gst/gstvalue.c: (gst_value_collect_int_range),
17839         (gst_string_unwrap), (gst_value_union_int_int_range),
17840         (gst_value_union_int_range_int_range),
17841         (gst_value_intersect_int_int_range),
17842         (gst_value_intersect_int_range_int_range),
17843         (gst_value_intersect_double_double_range),
17844         (gst_value_intersect_double_range_double_range),
17845         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
17846         (gst_value_subtract_int_range_int),
17847         (gst_value_subtract_double_range_double),
17848         (gst_value_subtract_double_range_double_range),
17849         (gst_value_subtract_from_list), (gst_value_subtract_list),
17850         (gst_value_can_compare), (gst_value_compare_fraction):
17851         Cleanups, add comments, remove unneeded asserts.
17852
17853 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
17854
17855         * tools/gst-launch.c: (event_loop):
17856           don't convert NULL structures to strings
17857
17858 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
17859
17860         * docs/gst/gstreamer-sections.txt:
17861           made some defines private
17862         * docs/gst/tmpl/gstconfig.sgml:
17863         * docs/gst/tmpl/gstqueue.sgml:
17864         * docs/gst/tmpl/gsttaglist.sgml:
17865         * docs/gst/tmpl/gsttypes.sgml:
17866         * docs/gst/tmpl/gstutils.sgml:
17867         * docs/pwg/appendix-porting.xml:
17868         * gst/base/gstbasesink.h:
17869         * gst/base/gstbasesrc.c:
17870         * gst/base/gstbasesrc.h:
17871         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
17872         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
17873         * gst/gstelement.c: (gst_element_class_init):
17874         * gst/gstpad.c: (gst_pad_class_init):
17875         * gst/gstqueue.c: (gst_queue_class_init):
17876         * gst/gstxml.c: (gst_xml_class_init):
17877           documented all undocumented signal inline
17878         * libs/gst/controller/gst-controller.h:
17879           added padding
17880
17881 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17882
17883         * docs/pwg/appendix-porting.xml:
17884           Document _set_link_function -> _set_setcaps_function.
17885
17886 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
17887
17888         * check/Makefile.am:
17889           add a .check target for running the check
17890         * check/gst-libs/controller.c: (GST_START_TEST):
17891           cosmetic fixups
17892         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
17893           complete checks for gstbuffer; would be nice if I could get the
17894           gcov stuff to work so I can see if I actually completed gstbuffer.c
17895         * check/gstcheck.h:
17896           add ASSERT_BUFFER_REFCOUNT
17897
17898 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
17899
17900         * docs/gst/gstreamer-sections.txt:
17901         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
17902         * gst/gsttag.h:
17903           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
17904           spew out a warning if a tag that is already registered
17905           is re-registered, unless it is re-registered with a 
17906           different type (#308438).
17907
17908 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
17909
17910         * docs/pwg/appendix-porting.xml:
17911         * docs/pwg/building-state.xml:
17912           Add some paragraphs about state changes in 0.9 to the PWG
17913           and the porting guide, in particular about the new meaning
17914           of GST_STATE_PAUSED and how to write state change functions
17915           with concurrent access by multiple threads in mind.
17916
17917 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
17918
17919         * docs/gst/gstreamer-docs.sgml:
17920         * docs/libs/gstreamer-libs-docs.sgml:
17921           added deprecation and since indexes
17922         * libs/gst/controller/gst-controller.c:
17923         * libs/gst/controller/gst-helper.c:
17924           added since tags
17925
17926
17927 2005-08-11  Wim Taymans  <wim@fluendo.com>
17928
17929         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
17930         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
17931         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
17932         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
17933         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
17934         (gst_ghost_pad_set_target):
17935         Actually implement (re)setting the target on a ghostpad
17936         as described in the docs.
17937
17938 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
17939
17940         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
17941           Check whether GST_DEBUG_NO_COLOR environment variable is
17942           set and disable coloured debug output if that is the case.
17943
17944 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
17945
17946         * gst/base/gsttypefindhelper.c: (helper_find_peek),
17947         (gst_type_find_helper):
17948           The memory returned by gst_type_find_peek() needs to
17949           stay valid until the end of a typefind function, and
17950           typefind functions may keep results from different 
17951           offsets around, so we can't just unref the buffer from
17952           the previous _peek(), but have to save all buffers 
17953           returned by _peek() until typefinding is done and only
17954           free them then.
17955
17956 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
17957
17958         * docs/gst/gstreamer-sections.txt:
17959         * gst/gstutils.h:
17960           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
17961
17962 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17963
17964         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
17965           Fix a pretty good memleak.
17966
17967 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
17968
17969         * gst/gstiterator.h:
17970           Fix wrong include and 'make distcheck'.
17971
17972 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17973
17974         * gst/gstbin.c: (bin_bus_handler):
17975           Use gst_element_post_message() instead.
17976
17977 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
17978
17979         * gst/base/gstadapter.h:
17980         * gst/base/gstbasesink.h:
17981         * gst/base/gstbasesrc.h:
17982         * gst/base/gstbasetransform.h:
17983         * gst/base/gstcollectpads.h:
17984         * gst/base/gstpushsrc.h:
17985         * gst/gstiterator.h:
17986           Add padding to our base elements' class and instance structs and
17987           to GstIterator (you will need to rebuild all plugins and apps!)
17988
17989 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17990
17991         * gst/gstbin.c: (bin_bus_handler):
17992           Make default message forwarding from child->bus to bin->bus
17993           threadsafe and make it not emit warnings if the parent has no bus.
17994
17995 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17996
17997         * gst/gstelement.c: (activate_pads):
17998           On paused->ready, set pad->caps to NULL, as is the documented
17999           behaviour in this state change. Fixes playback of series of
18000           media files when visualization is enabled in Totem.
18001
18002 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18003
18004         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
18005           Allow NULL as filter-caps (which means "any").
18006
18007 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
18008
18009         * docs/libs/gstreamer-libs-sections.txt:
18010         * libs/gst/controller/gst-controller.c:
18011         * libs/gst/controller/gst-controller.h:
18012         * libs/gst/controller/gst-helper.c:
18013           adding more entries to the docs and fix small doc-bugs
18014
18015 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
18016
18017         * docs/gst/gstreamer-docs.sgml:
18018         * docs/gst/gstreamer-sections.txt:
18019         * docs/gst/gstreamer.types:
18020         * docs/gst/tmpl/gstbasesink.sgml:
18021         * docs/gst/tmpl/gstbasesrc.sgml:
18022         * docs/gst/tmpl/gstbasetransform.sgml:
18023         * docs/gst/tmpl/gstfakesrc.sgml:
18024         * gst/base/gstcollectpads.c:
18025         * gst/base/gstcollectpads.h:
18026         * libs/gst/controller/gst-controller.c:
18027         * libs/gst/controller/gst-controller.h:
18028         * libs/gst/controller/gst-helper.c:
18029         * libs/gst/controller/gst-interpolation.c:
18030         * libs/gst/controller/lib.c:
18031           added long/short desc for controller docs
18032           added collectpads base class docs
18033           added correct includes to base-class docs
18034
18035 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
18036
18037         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
18038         (gst_test_mono_source_set_property),
18039         (gst_test_mono_source_class_init), (GST_START_TEST),
18040         (gst_controller_suite):
18041         * docs/gst/gstreamer-docs.sgml:
18042         * docs/gst/gstreamer-sections.txt:
18043         * docs/gst/gstreamer.types:
18044         * docs/libs/gstreamer-libs-docs.sgml:
18045         * docs/libs/gstreamer-libs-sections.txt:
18046         * gst/base/gstadapter.c:
18047         * libs/gst/controller/gst-controller.c:
18048         (gst_controlled_property_new), (gst_controlled_property_free),
18049         (gst_controller_new_valist),
18050         (gst_controller_remove_properties_valist),
18051         (gst_controller_sink_values), (_gst_controller_finalize):
18052         * libs/gst/controller/gst-controller.h:
18053         * libs/gst/controller/gst-helper.c:
18054         (gst_object_control_properties), (gst_object_uncontrol_properties),
18055         (gst_object_get_controller), (gst_object_set_controller),
18056         (gst_object_sink_values), (gst_object_get_value_arrays),
18057         (gst_object_get_value_array):
18058           more tests (and fixes) for the controller
18059           more docs for the controller
18060           integrated companies docs for the adapter 
18061
18062 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
18063
18064         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
18065         (GST_START_TEST), (fakesrc_suite):
18066           add tests for sizetype
18067
18068 2005-08-04  Andy Wingo  <wingo@pobox.com>
18069
18070         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
18071         fixes buffer_alloc proxying among other things.
18072
18073         * gst/base/gstbasetransform.c:
18074         * gst/base/gstbasetransform.h:
18075         Revert patch to gstbasetransform from 7-28 removing
18076         delay_configure.
18077
18078         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
18079         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
18080         Semantics changed, should return not the size of the output buffer
18081         but the byte size of a buffer with a given caps.
18082
18083         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
18084         debug object.
18085         (gst_base_transform_configure_caps): Don't set out_size here: (in,
18086         out) are not the pad caps until setcaps finishes.
18087         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
18088         not-in-place case as well. Deal with changing from in-place to
18089         not-in-place within calling pad_alloc_buffer. Still a bit
18090         concerned about the overhead here...
18091
18092 2005-08-03  Andy Wingo  <wingo@pobox.com>
18093
18094         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
18095         fixating is an error.
18096
18097 2005-08-04  Edward Hervey  <edward@fluendo.com>
18098
18099         * gst/base/gstadapter.h: 
18100         Added gst_adapter_get_type() to the header
18101
18102 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
18103
18104         * check/Makefile.am:
18105         * check/gst-libs/controller.c:
18106         * libs/gst/controller/gst-controller.c:
18107         (gst_controller_new_valist):
18108           added check test suite for the controller
18109         * gst/base/gstpushsrc.c:
18110           fixed a doc typo
18111
18112 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
18113
18114         * docs/gst/Makefile.am:
18115         * docs/gst/gstreamer-docs.sgml:
18116         * docs/gst/gstreamer-sections.txt:
18117         * docs/gst/gstreamer.types:
18118         * docs/gst/tmpl/gstfakesrc.sgml:
18119         * gst/base/README:
18120         * gst/base/gstbasesink.c:
18121         * gst/base/gstbasesink.h:
18122         * gst/base/gstbasesrc.c:
18123         * gst/base/gstbasesrc.h:
18124         * gst/base/gstbasetransform.c:
18125         * gst/base/gstpushsrc.c:
18126         * gst/base/gstpushsrc.h:
18127           add short/long description docs to base classes
18128           add pushsrc to the docs
18129           remove consolidated doc fragments
18130
18131 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
18132
18133         * configure.ac:
18134         * docs/libs/Makefile.am:
18135         * docs/libs/gstreamer-libs-docs.sgml:
18136         * docs/libs/gstreamer-libs-sections.txt:
18137         * docs/libs/gstreamer-libs.types:
18138         * examples/Makefile.am:
18139         * examples/controller/.cvsignore:
18140         * examples/controller/Makefile.am:
18141         * examples/controller/audio-example.c: (main):
18142         * libs/gst/Makefile.am:
18143         * libs/gst/controller/.cvsignore:
18144         * libs/gst/controller/Makefile.am:
18145         * libs/gst/controller/gst-controller.c:
18146         (on_object_controlled_property_changed), (gst_timed_value_compare),
18147         (gst_timed_value_find),
18148         (gst_controlled_property_set_interpolation_mode),
18149         (gst_controlled_property_new), (gst_controlled_property_free),
18150         (gst_controller_find_controlled_property),
18151         (gst_controller_new_valist), (gst_controller_new),
18152         (gst_controller_remove_properties_valist),
18153         (gst_controller_remove_properties), (gst_controller_set),
18154         (gst_controller_set_from_list), (gst_controller_unset),
18155         (gst_controller_get), (gst_controller_get_all),
18156         (gst_controller_sink_values), (gst_controller_get_value_arrays),
18157         (gst_controller_get_value_array),
18158         (gst_controller_set_interpolation_mode),
18159         (_gst_controller_finalize), (_gst_controller_init),
18160         (_gst_controller_class_init), (gst_controller_get_type):
18161         * libs/gst/controller/gst-controller.h:
18162         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
18163         (g_object_uncontrol_properties), (g_object_get_controller),
18164         (g_object_set_controller), (g_object_sink_values),
18165         (g_object_get_value_arrays), (g_object_get_value_array):
18166         * libs/gst/controller/gst-interpolation.c:
18167         (gst_controlled_property_find_timed_value_node),
18168         (interpolate_none_get), (interpolate_trigger_get),
18169         (interpolate_trigger_get_value_array):
18170         * libs/gst/controller/lib.c: (gst_controller_init):
18171         * pkgconfig/Makefile.am:
18172         * pkgconfig/gstreamer-control-uninstalled.pc.in:
18173         * pkgconfig/gstreamer-control.pc.in:
18174         * testsuite/Makefile.am:
18175         * testsuite/controller/.cvsignore:
18176         * testsuite/controller/Makefile.am:
18177         * testsuite/controller/interpolator.c: (main):
18178           added controller code
18179           removed dparam pc files
18180
18181 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
18182         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
18183         (gst_collectpads_stop):
18184           Broadcast the condition when shutting down, to make sure we wake all
18185           threads up. Shut down pads on finalize, for safety.
18186
18187 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
18188         * gst/base/gstbasetransform.c: (gst_base_transform_init),
18189         (gst_base_transform_handle_buffer),
18190         (gst_base_transform_change_state):
18191           Handle PAUSED->READY->PAUSED transition after negotiation
18192           occurred already.
18193         * gst/gstmessage.c: (gst_message_init):
18194           Extra piece of debug for new messages.
18195
18196 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
18197
18198         * configure.ac:
18199         * docs/gst/tmpl/gstbasesrc.sgml:
18200         * docs/gst/tmpl/gstelement.sgml:
18201         * docs/gst/tmpl/gstevent.sgml:
18202         * docs/gst/tmpl/gstfakesrc.sgml:
18203         * docs/gst/tmpl/gstformat.sgml:
18204         * docs/gst/tmpl/gstghostpad.sgml:
18205         * docs/gst/tmpl/gstpad.sgml:
18206         * docs/gst/tmpl/gstquery.sgml:
18207         * docs/gst/tmpl/gststructure.sgml:
18208         * docs/gst/tmpl/gsttaglist.sgml:
18209         * docs/gst/tmpl/gstvalue.sgml:
18210         * docs/libs/gstreamer-libs-docs.sgml:
18211         * docs/libs/gstreamer-libs-sections.txt:
18212         * docs/libs/gstreamer-libs.types:
18213         * libs/gst/Makefile.am:
18214         * libs/gst/control/.cvsignore:
18215         * libs/gst/control/Makefile.am:
18216         * libs/gst/control/control.c:
18217         * libs/gst/control/control.h:
18218         * libs/gst/control/dparam.c:
18219         * libs/gst/control/dparam.h:
18220         * libs/gst/control/dparam_smooth.c:
18221         * libs/gst/control/dparam_smooth.h:
18222         * libs/gst/control/dparamcommon.h:
18223         * libs/gst/control/dparammanager.c:
18224         * libs/gst/control/dparammanager.h:
18225         * libs/gst/control/dplinearinterp.c:
18226         * libs/gst/control/dplinearinterp.h:
18227         * libs/gst/control/unitconvert.c:
18228         * libs/gst/control/unitconvert.h:
18229         * testsuite/Makefile.am:
18230         * testsuite/dynparams/.cvsignore:
18231         * testsuite/dynparams/Makefile.am:
18232         * testsuite/dynparams/dparamstest.c:
18233         * tools/Makefile.am:
18234         * tools/gst-inspect.c: (print_element_info), (main):
18235         * tools/gst-xmlinspect.c: (print_element_info), (main):
18236           deactivate and remove dparams (libgstcontrol)
18237
18238 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
18239
18240         * gst/elements/gsttypefindelement.c:
18241         (gst_type_find_element_have_type), (gst_type_find_element_init),
18242         (stop_typefinding), (gst_type_find_element_handle_event),
18243         (gst_type_find_element_chain), (gst_type_find_element_getrange):
18244         * gst/elements/gsttypefindelement.h:
18245           Set caps on all outgoing buffers, not just the first one.
18246
18247 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
18248
18249         * gst/elements/gsttypefindelement.c:
18250         (gst_type_find_element_have_type),
18251         (gst_type_find_element_check_set_buffer_caps),
18252         (gst_type_find_element_init), (stop_typefinding),
18253         (gst_type_find_element_handle_event),
18254         (gst_type_find_element_chain), (gst_type_find_element_getrange):
18255         * gst/elements/gsttypefindelement.h:
18256           Set caps on first outgoing buffer when we've found the type.
18257
18258 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
18259
18260         * docs/gst/gstreamer-docs.sgml:
18261         * docs/gst/gstreamer-sections.txt:
18262         * docs/gst/tmpl/gstscheduler.sgml:
18263         * docs/gst/tmpl/gstschedulerfactory.sgml:
18264           Remove some old cruft from docs.
18265
18266 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
18267
18268         * gst/gstpad.h:
18269           Fix inline docs for GstPadLinkReturn.
18270           
18271         * gst/gststructure.c: (gst_structure_has_name):
18272         * gst/gststructure.h:
18273         * docs/gst/gstreamer-sections.txt:
18274           New API: gst_structure_has_name().
18275
18276 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
18277
18278         * configure.ac:
18279           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
18280           and _LARGEFILE_SOURCE in config.h as required. Do not 
18281           export those flags in our .pc files any longer (#142209).
18282
18283           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
18284
18285         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
18286         (gst_file_sink_do_seek), (gst_file_sink_event),
18287         (gst_file_sink_get_current_offset), (gst_file_sink_render):
18288           Redo seek/tell calls with large file support in mind; add some
18289           debugging messages; add log message that tells us when large
18290           file support is unavailable or not enabled for some reason.
18291
18292         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
18293           Add log message that tells us when large file support 
18294           is unavailable or not enabled for some reason.
18295
18296 2005-07-29  Wim Taymans  <wim@fluendo.com>
18297
18298         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
18299         Added test for removing an element with ghostpad from a bin.
18300         Fixed test as current implementation does the right thing.
18301
18302         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
18303         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
18304         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
18305         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
18306         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
18307         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
18308         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
18309         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
18310         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
18311         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
18312         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
18313         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
18314         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
18315         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
18316         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
18317         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
18318         * gst/gstghostpad.h:
18319         Clean up ghostpads, remove properties for internal stuff.
18320         Make threadsafe.
18321         Fix refcounting.
18322         Prepare for switching targets, not all use cases work yet.
18323
18324 2005-07-29  Wim Taymans  <wim@fluendo.com>
18325
18326         * docs/design/part-gstghostpad.txt:
18327         Small update.
18328
18329         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
18330         (gst_bin_remove_func):
18331         Unlinking pads while holding the bin LOCK is not a good
18332         idea.
18333
18334         * gst/gstpad.c: (gst_pad_class_init),
18335         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
18336         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
18337         No prob setting template after creating the pad.
18338
18339 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
18340
18341         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
18342         (gst_bus_peek), (gst_bus_source_dispatch),
18343         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
18344         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
18345           gst_bus_poll may be called from other threads. Handle
18346           this nicely by not making poll_data disappear off the
18347           stack once gst_bus_poll returns.
18348           gst_bus_peek now increments the refcount on the returned
18349           message.
18350
18351 2005-07-29  Wim Taymans  <wim@fluendo.com>
18352
18353         * docs/design/part-gstghostpad.txt:
18354         Overview of current GhostPad datastructures and use
18355         cases for changing the target.
18356
18357 2005-07-28  Wim Taymans  <wim@fluendo.com>
18358
18359         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
18360         Added checks for hierarchy consistency whan adding linked
18361         elements to bins.
18362
18363         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
18364         Added check to test element scheduling without bin/pipeline.
18365
18366         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
18367         First add elements to bin, then link.
18368         
18369         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
18370         (gst_bin_remove_func):
18371         Unlink pads from elements added/removed from bin to maintain
18372         hierarchy consistency.
18373
18374 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18375
18376         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
18377         (gst_base_transform_handle_buffer):
18378         * gst/base/gstbasetransform.h:
18379           Remove broken delay_configure (fixes renegotiation of software
18380           scaling pipelines); remove some leftover printf()s.
18381
18382 2005-07-28  Wim Taymans  <wim@fluendo.com>
18383
18384         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
18385         Added some more tests for wrong hierarchy
18386
18387         * docs/design/part-overview.txt:
18388         Some updates.
18389
18390         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
18391         Cleanups.
18392
18393         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
18394         (gst_element_dispose):
18395         Some more cleanups.
18396
18397         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
18398         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
18399         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
18400         (gst_pad_set_caps), (gst_pad_send_event):
18401         Check for correct hierarchy when linking pads. Moving to
18402         strict requirement for ghostpads when linking elements in
18403         different bins.
18404
18405         * gst/gstpad.h:
18406         Clean ups. Added WRONG_HIERARCHY return value.
18407
18408 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18409
18410         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
18411           Better debug if no transform is possible.
18412
18413 2005-07-27  Wim Taymans  <wim@fluendo.com>
18414
18415         * docs/random/wtay/network-transp:
18416         Some old doc I had.
18417
18418 2005-07-27  Wim Taymans  <wim@fluendo.com>
18419
18420         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
18421         (gst_dp_event_from_packet):
18422         Fix serialization of seek events.
18423
18424 2005-07-27  Wim Taymans  <wim@fluendo.com>
18425
18426         * check/gst-libs/gdp.c: (GST_START_TEST):
18427         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
18428         Fix compilation and fix event serialization.
18429
18430 2005-07-27  Wim Taymans  <wim@fluendo.com>
18431
18432         * CHANGES-0.9:
18433         * docs/design/part-TODO.txt:
18434         * docs/design/part-events.txt:
18435         Some docs updates
18436
18437         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
18438         (gst_base_sink_event), (gst_base_sink_do_sync),
18439         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
18440         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
18441         (gst_base_src_do_seek), (gst_base_src_event_handler),
18442         (gst_base_src_loop):
18443         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
18444         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
18445         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
18446         (gst_base_transform_event), (gst_base_transform_handle_buffer),
18447         (gst_base_transform_set_passthrough),
18448         (gst_base_transform_is_passthrough):
18449         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
18450         * gst/elements/gstfilesink.c: (gst_file_sink_event):
18451         Event updates.
18452
18453         * gst/gstbuffer.h:
18454         Use faster casts.
18455
18456         * gst/gstelement.c: (gst_element_seek):
18457         * gst/gstelement.h:
18458         Update gst_element_seek.
18459
18460         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
18461         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
18462         (gst_event_new_flush_start), (gst_event_new_flush_stop),
18463         (gst_event_new_eos), (gst_event_new_newsegment),
18464         (gst_event_parse_newsegment), (gst_event_new_tag),
18465         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
18466         (gst_event_parse_qos), (gst_event_new_seek),
18467         (gst_event_parse_seek), (gst_event_new_navigation):
18468         * gst/gstevent.h:
18469         Make GstEvent use GstStructure. Add parsing code, make sure the
18470         API is sufficiently generic.
18471         Mark possible directions of events and serialization.
18472
18473         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
18474         (_gst_message_copy), (gst_message_new_segment_start),
18475         (gst_message_new_segment_done), (gst_message_new_custom),
18476         (gst_message_parse_segment_start),
18477         (gst_message_parse_segment_done):
18478         Small cleanups.
18479
18480         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
18481         (gst_pad_set_caps), (gst_pad_send_event):
18482         Update for new events. 
18483         Catch events sent in wrong directions.
18484
18485         * gst/gstqueue.c: (gst_queue_link_src),
18486         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
18487         (gst_queue_handle_src_query):
18488         Event updates.
18489
18490         * gst/gsttag.c:
18491         * gst/gsttag.h:
18492         Remove event code from this file.
18493
18494         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
18495         (gst_dp_event_from_packet):
18496         Event updates.
18497
18498 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18499
18500         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
18501         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
18502         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
18503           Make debugging actually useful.
18504
18505 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18506
18507         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
18508         (gst_pad_fixate_caps):
18509           Implement default fixation once again, so that gst_pad_fixate()
18510           actually does anything at all. This probably needs to be some
18511           sort of a last resort, and use profile-based fixation first, but
18512           since that doesn't exist yet, this is the best we have. Fixes
18513           visualization in Totem.
18514
18515 2005-07-22  Wim Taymans  <wim@fluendo.com>
18516
18517         * docs/design/part-events.txt:
18518         Small update.
18519
18520         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
18521         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
18522         (gst_base_sink_activate_pull):
18523         Some more comments.
18524
18525         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
18526         (gst_fake_src_create):
18527         Fix handoff marshall.
18528
18529         * gst/elements/gstidentity.c: (gst_identity_class_init),
18530         (gst_identity_transform_ip):
18531         We're a real inplace element.
18532
18533         * gst/gstbus.c: (gst_bus_post):
18534         Added some comments.
18535
18536         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
18537         * tests/muxing/case1.c: (main):
18538         * tests/sched/dynamic-pipeline.c: (main):
18539         * tests/sched/interrupt1.c: (main):
18540         * tests/sched/interrupt2.c: (main):
18541         * tests/sched/interrupt3.c: (main):
18542         * tests/sched/runxml.c: (main):
18543         * tests/sched/sched-stress.c: (main):
18544         * tests/seeking/seeking1.c: (event_received), (main):
18545         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
18546         (main):
18547         * tests/threadstate/threadstate3.c: (main):
18548         * tests/threadstate/threadstate4.c: (main):
18549         * tests/threadstate/threadstate5.c: (main):
18550         Fix the tests.
18551
18552 2005-07-21  Wim Taymans  <wim@fluendo.com>
18553
18554         * docs/design/part-seeking.txt:
18555         Some small additions.
18556
18557         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
18558         (gst_base_sink_get_times), (gst_base_sink_do_sync),
18559         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
18560         * gst/base/gstbasesink.h:
18561         discont values are gint64, handle the math correctly.
18562
18563         * gst/base/gstbasesrc.c: (gst_base_src_loop):
18564         Make the basesrc report error if the source pad is not linked.
18565
18566         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
18567         (gst_queue_loop), (gst_queue_handle_src_query),
18568         (gst_queue_src_activate_push):
18569         Make queue collect data even if the srcpad is not linked.
18570         Start pushing out data as soon as it is linked.
18571
18572         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
18573         * gst/gstutils.h:
18574         Added gst_flow_get_name() to ease error reporting.
18575
18576 2005-07-20  Wim Taymans  <wim@fluendo.com>
18577
18578         * gst/gstmessage.c: (gst_message_new_segment_start),
18579         (gst_message_new_segment_done), (gst_message_parse_segment_start),
18580         (gst_message_parse_segment_done):
18581         * gst/gstmessage.h:
18582         Added a bunch of messages for advanced seeking.
18583
18584         * gst/parse/grammar.y:
18585         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
18586         (gst_dpman_state_changed):
18587         Fix some new-pad -> pad-added signals
18588
18589 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18590
18591         * docs/manual/appendix-porting.xml:
18592         * docs/pwg/appendix-porting.xml:
18593           Document new-pad/state-change signal renames and the FixedList
18594           type rename.
18595
18596 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18597
18598         * docs/manual/advanced-autoplugging.xml:
18599         * docs/manual/basics-helloworld.xml:
18600         * docs/manual/basics-pads.xml:
18601         * docs/random/ds/0.9-suggested-changes:
18602         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
18603         * gst/gstelement.h:
18604         * gst/gstevent.h:
18605         * gst/gstformat.h:
18606         * gst/gstquery.h:
18607         * gst/gststructure.c: (gst_structure_value_get_generic_type),
18608         (gst_structure_parse_array), (gst_structure_parse_value):
18609         * gst/gstvalue.c: (gst_type_is_fixed),
18610         (gst_value_list_prepend_value), (gst_value_list_append_value),
18611         (gst_value_list_get_size), (gst_value_list_get_value),
18612         (gst_value_transform_array_string), (gst_value_serialize_array),
18613         (gst_value_deserialize_array), (gst_value_intersect_array),
18614         (gst_value_is_fixed), (_gst_value_initialize):
18615         * gst/gstvalue.h:
18616           GstElement::new-pad -> pad-added, GstElement::state-change ->
18617           state-changed, GstValueFixedList -> GstValueArray, add format and
18618           flags as their own arguments in gst_element_seek() (should improve
18619           "bindeability"), remove function generators since they don't work
18620           under a whole bunch of compilers (they were deprecated already
18621           anyway).
18622
18623 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18624
18625         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
18626         (_gst_debug_register_funcptr):
18627         * gst/gstinfo.h:
18628           Fix illegal cast on some platforms (#309253).
18629
18630 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18631
18632         * gst/gstmessage.c: (gst_message_new_custom):
18633         * gst/gstmessage.h:
18634           Add _new_custom, make _new_application a macro to _new_custom.
18635
18636 2005-07-20  Wim Taymans  <wim@fluendo.com>
18637
18638         * gst/base/gstbasesrc.c: (gst_base_src_init),
18639         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
18640         * gst/base/gstbasesrc.h:
18641         Add a gboolean to decide when to push out a discont.
18642
18643         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
18644         (gst_queue_loop), (gst_queue_handle_src_query),
18645         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
18646         (gst_queue_set_property), (gst_queue_get_property):
18647         Some cleanups.
18648
18649         * tests/threadstate/threadstate1.c: (main):
18650         Make a thread test compile and run... very silly..
18651
18652
18653 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18654
18655         * docs/manual/appendix-porting.xml:
18656           Mention removal of libgstgconf-0.9.la and existence of gconf
18657           elements.
18658
18659 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18660
18661         * docs/pwg/advanced-clock.xml:
18662         * docs/pwg/appendix-porting.xml:
18663         * docs/pwg/intro-preface.xml:
18664         * docs/pwg/other-base.xml:
18665         * docs/pwg/other-manager.xml:
18666         * docs/pwg/other-nton.xml:
18667         * docs/pwg/other-ntoone.xml:
18668         * docs/pwg/other-oneton.xml:
18669         * docs/pwg/pwg.xml:
18670           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
18671           demuxer), remove n-to-n (was never written), fix some code examples
18672           and links and update the porting section to include all this.
18673
18674 2005-07-19  Wim Taymans  <wim@fluendo.com>
18675
18676         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
18677         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
18678         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
18679         (gst_queue_src_activate_push), (gst_queue_change_state),
18680         (gst_queue_get_property):
18681         * gst/gstqueue.h:
18682         Propagate GstFlowReturn more intelligently upstream and output
18683         an ERROR/EOS when streaming stopped due to fatal error.
18684
18685 2005-07-19  Wim Taymans  <wim@fluendo.com>
18686
18687         * tools/gst-launch.c: (check_intr), (event_loop), (main):
18688         Don't block forever for the state change to complete, the
18689         pipeline already did with a sensible timeout.
18690
18691 2005-07-19  Wim Taymans  <wim@fluendo.com>
18692
18693         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
18694         Make sure we never call the create function is we
18695         got deactivated.
18696
18697 2005-07-19  Andy Wingo  <wingo@pobox.com>
18698
18699         * gst/parse/parse.l: Attempt to solve bug #172815.
18700
18701 2005-07-19  Wim Taymans  <wim@fluendo.com>
18702
18703         * docs/design/part-clocks.txt:
18704         * docs/design/part-events.txt:
18705         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
18706         Small docs updates.
18707         Only update the seeking values when we are not
18708         busy streaming.
18709
18710 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
18711
18712         * gst/base/gstbasesrc.c: (gst_base_src_loop):
18713           Oops, ignore the result of gst_pad_push_event here.
18714
18715 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
18716
18717         * gst/base/gstbasesrc.c: (gst_base_src_loop),
18718         (gst_base_src_activate_push):
18719           Send discont event from the loop function, as pads
18720           aren't activated yet in the activate_push handler.
18721
18722         * gst/gstbin.c: (bin_bus_handler):
18723           Don't leak element name.
18724
18725 2005-07-18  Andy Wingo  <wingo@pobox.com>
18726
18727         * configure.ac: Use AS_LIBTOOL_TAGS.
18728
18729 2005-07-18  Wim Taymans  <wim@fluendo.com>
18730
18731         * docs/gst/gstreamer.types:
18732         Remove deleted types.
18733
18734 2005-07-18  Wim Taymans  <wim@fluendo.com>
18735
18736         * check/elements/gstfakesrc.c: (GST_START_TEST):
18737         * configure.ac:
18738         * gst/Makefile.am:
18739         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
18740         (init_popt_callback):
18741         * gst/gst.h:
18742         * gst/gst_private.h:
18743         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
18744         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
18745         * gst/gstbin.h:
18746         * gst/gstbus.h:
18747         * gst/gstconfig.h.in:
18748         * gst/gstelement.c: (gst_element_class_init),
18749         (gst_element_set_base_time), (gst_element_get_base_time),
18750         (iterator_fold_with_resync), (gst_element_change_state),
18751         (gst_element_dispose), (gst_element_get_bus):
18752         * gst/gstelement.h:
18753         * gst/gstelementfactory.h:
18754         * gst/gsterror.c: (_gst_core_errors_init):
18755         * gst/gsterror.h:
18756         * gst/gstevent.h:
18757         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
18758         * gst/gstindex.c:
18759         * gst/gstinfo.c: (_gst_debug_init):
18760         * gst/gstmessage.c: (_gst_message_copy):
18761         * gst/gstmessage.h:
18762         * gst/gstminiobject.h:
18763         * gst/gstobject.c:
18764         * gst/gstobject.h:
18765         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
18766         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
18767         * gst/gstpad.h:
18768         * gst/gstparse.h:
18769         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
18770         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
18771         (gst_pipeline_get_last_stream_time):
18772         * gst/gstpipeline.h:
18773         * gst/gstpluginfeature.h:
18774         * gst/gstquery.h:
18775         * gst/gstscheduler.c:
18776         * gst/gstscheduler.h:
18777         * gst/gststructure.h:
18778         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
18779         (gst_task_finalize), (gst_task_func), (gst_task_create),
18780         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
18781         (gst_task_stop), (gst_task_pause):
18782         * gst/gsttask.h:
18783         * gst/gsttypefind.h:
18784         * gst/gsttypes.h:
18785         * gst/registries/gstlibxmlregistry.c: (load_feature),
18786         (gst_xml_registry_load), (gst_xml_registry_save_feature):
18787         * gst/registries/gstxmlregistry.c:
18788         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
18789         * gst/schedulers/threadscheduler.c:
18790         * libs/gst/control/dparammanager.h:
18791         * tools/gst-inspect.c: (print_element_list),
18792         (print_plugin_features), (print_element_features):
18793         * tools/gst-xmlinspect.c: (print_element_list),
18794         (print_plugin_info), (main):
18795         Removed plugable schedulers.
18796         Removed Scheduler/Manager from elements.
18797         Removed gsttypes.h, rearranged includes.
18798         Removed dependency pad<->element, element<>pipeline, and
18799         various others,  fix includes.
18800         implement gst_pad_get_parent() with gst_object_get_parent()
18801         Make GstTask sefcontained.
18802         Fix _get_state() on GstBin, it did not return ASYNC with a 0
18803         timeout.
18804         Fix endless loop in iterator_fold_with_resync.
18805
18806
18807 2005-07-18  Wim Taymans  <wim@fluendo.com>
18808
18809         * gst/Makefile.am:
18810         * gst/gstarch.h:
18811         Remove old file.
18812
18813 2005-07-18  Wim Taymans  <wim@fluendo.com>
18814
18815         * gst/Makefile.am:
18816         No more cothreads.h
18817
18818 2005-07-18  Wim Taymans  <wim@fluendo.com>
18819
18820         * gst/cothreads.c:
18821         * gst/cothreads.h:
18822         Let's remove these.
18823
18824 2005-07-18  Wim Taymans  <wim@fluendo.com>
18825
18826         * docs/design/part-dynamic.txt:
18827         * docs/design/part-events.txt:
18828         * docs/design/part-seeking.txt:
18829         Some more docs in the works.
18830
18831         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
18832         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
18833         (gst_base_transform_setcaps), (gst_base_transform_get_size),
18834         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
18835         (gst_base_transform_handle_buffer),
18836         (gst_base_transform_sink_activate_push),
18837         (gst_base_transform_src_activate_pull),
18838         (gst_base_transform_set_passthrough),
18839         (gst_base_transform_is_passthrough):
18840         Refcounting fixes.
18841
18842         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
18843         Cleanups.
18844
18845         * gst/gstevent.c: (gst_event_finalize):
18846         Set SRC to NULL.
18847
18848         * gst/gstutils.c: (gst_element_unlink),
18849         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
18850         (gst_pad_proxy_setcaps):
18851         * gst/gstutils.h:
18852         Add _get_parent_element() to get a pads parent as an element.
18853
18854 2005-07-18  Wim Taymans  <wim@fluendo.com>
18855
18856         * check/gst/gstbin.c: (GST_START_TEST):
18857         Remove bogus test.
18858
18859 2005-07-18  Wim Taymans  <wim@fluendo.com>
18860
18861         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
18862         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
18863         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
18864         (gst_base_sink_event), (gst_base_sink_do_sync),
18865         (gst_base_sink_chain), (gst_base_sink_loop),
18866         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
18867         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
18868         Refcounting fixes.
18869         Fix logic for returning ASYNC when not prerolled.
18870
18871 2005-07-18  Wim Taymans  <wim@fluendo.com>
18872
18873         * gst/gstqueue.c: (gst_queue_handle_sink_event):
18874         Fix nasty refcount bug.
18875
18876 2005-07-16 Philippe Khalaf <burger@speedy.org>
18877
18878         * gst/elements/gstfdsrc.c:
18879         * gst/elements/gstfdsrc.h:
18880         * gst/elements/gstelements.c:
18881         * gst/elements/Makefile.am:
18882         Ported fdsrc to 0.9.
18883
18884 2005-07-16  Wim Taymans  <wim@fluendo.com>
18885
18886         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
18887         (gst_base_sink_do_sync):
18888         Fix compile error.
18889
18890 2005-07-16  Wim Taymans  <wim@fluendo.com>
18891
18892         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
18893         (gst_base_sink_event), (gst_base_sink_get_times),
18894         (gst_base_sink_do_sync), (gst_base_sink_change_state):
18895         * gst/base/gstbasesink.h:
18896         Store and use discont values when syncing buffers as described
18897         in design docs.
18898         
18899         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
18900         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
18901         (gst_base_src_activate_push):
18902         Push discont event when starting.
18903
18904         * gst/elements/gstidentity.c: (gst_identity_transform):
18905         Small cleanups.
18906
18907         * gst/gstbin.c: (gst_bin_change_state):
18908         Small cleanups in base_time  distribution.
18909
18910         * gst/gstelement.c: (gst_element_set_base_time),
18911         (gst_element_get_base_time), (gst_element_change_state):
18912         * gst/gstelement.h:
18913         Added methods for the base_time of the element.
18914         Some MT fixes.
18915
18916         * gst/gstpipeline.c: (gst_pipeline_send_event),
18917         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
18918         (gst_pipeline_get_last_stream_time):
18919         * gst/gstpipeline.h:
18920         MT fixes.
18921         Handle seeking as described in design doc, remove stream_time
18922         hack.
18923         Cleanups clock and stream_time selection code. Added accessors
18924         for the stream_time.
18925         
18926
18927 2005-07-16  Andy Wingo  <wingo@pobox.com>
18928
18929         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
18930         (#305291).
18931
18932 2005-07-16  Wim Taymans  <wim@fluendo.com>
18933
18934         * check/gst/gstbin.c: (GST_START_TEST):
18935         Make elements silent as the deep_notify refs the
18936         parent, which might make the test fail.
18937
18938         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
18939         Don't hold the lock for too long.
18940
18941 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
18942
18943         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
18944           Don't unref the caps we passed to gst_caps_make_writable() after
18945           passing them. gst_caps_make_writable() will do that for us.
18946
18947 2005-07-15  Andy Wingo  <wingo@pobox.com>
18948
18949         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
18950         (#157311).
18951
18952         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
18953         own marshalling function for the handoff signal. Properly type the
18954         buffer as a buffer. Fixes some warnings. Should do a more general
18955         solution.
18956         (gst_identity_class_init): Plug into the right marshaller.
18957
18958 2005-07-15  Wim Taymans  <wim@fluendo.com>
18959
18960         * docs/design/part-TODO.txt:
18961         * docs/design/part-clocks.txt:
18962         * docs/design/part-element-sink.txt:
18963         * docs/design/part-events.txt:
18964         * docs/design/part-gstpipeline.txt:
18965         Updated docs, mostly DISCONT related.
18966
18967 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
18968
18969         * docs/pwg/building-pads.xml:
18970           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
18971
18972 2005-07-15  Andy Wingo  <wingo@pobox.com>
18973
18974         * tools/gst-typefind.c: Update, add copyright block.
18975
18976         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
18977         Normalize and truncate caps before fixation.
18978
18979         * gst/gstcaps.h:
18980         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
18981         discards all but the first structure from its argument.
18982
18983 2005-07-15  Wim Taymans  <wim@fluendo.com>
18984
18985         * gst/base/gstbasetransform.c: (gst_base_transform_init),
18986         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
18987         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
18988         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
18989         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
18990         (gst_base_transform_chain), (gst_base_transform_change_state),
18991         (gst_base_transform_set_passthrough),
18992         (gst_base_transform_is_passthrough):
18993         * gst/base/gstbasetransform.h:
18994         Make passthrough work using the bufferpools.
18995         Changed API a bit, subclasses have to write into a buffer
18996         provided by the base class.
18997         More debug info in nego functions.
18998         
18999         * gst/elements/gstidentity.c: (gst_identity_init),
19000         (gst_identity_transform):
19001         Port to new base class.
19002
19003 2005-07-15  Wim Taymans  <wim@fluendo.com>
19004
19005         * gst/gstmessage.c: (gst_message_new_state_changed):
19006         * tools/gst-launch.c: (event_loop), (main):
19007         Totally dump messages in -launch with the -m option.
19008         Fix message name for State messages,
19009
19010 2005-07-14  Wim Taymans  <wim@fluendo.com>
19011
19012         * gst/base/gstbasesrc.c: (gst_base_src_loop):
19013         Post error messages on errors.
19014
19015 2005-07-14  Wim Taymans  <wim@fluendo.com>
19016
19017         * gst/gstcaps.c: (gst_caps_do_simplify):
19018         Remove debug info.
19019
19020         * gst/gsterror.h:
19021         Define error for stream stopped.
19022
19023         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
19024         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
19025         Do proper return values.
19026
19027         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
19028         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
19029         (gst_pad_get_range):
19030         Better return values.
19031
19032         * gst/gstpad.h:
19033         Reorganise return values, add macro to check for fatal errors.
19034
19035         * gst/gstqueue.c: (gst_queue_chain):
19036         Return proper GstFlowReturn values,
19037
19038 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
19039
19040         * docs/gst/gstreamer-sections.txt:
19041         * docs/gst/gstreamer.types:
19042         * docs/gst/tmpl/gst.sgml:
19043         * docs/gst/tmpl/gstbasesink.sgml:
19044         * docs/gst/tmpl/gstbasesrc.sgml:
19045         * docs/gst/tmpl/gstbasetransform.sgml:
19046         * docs/gst/tmpl/gstbin.sgml:
19047         * docs/gst/tmpl/gstbuffer.sgml:
19048         * docs/gst/tmpl/gstcaps.sgml:
19049         * docs/gst/tmpl/gstclock.sgml:
19050         * docs/gst/tmpl/gstcompat.sgml:
19051         * docs/gst/tmpl/gstconfig.sgml:
19052         * docs/gst/tmpl/gstelement.sgml:
19053         * docs/gst/tmpl/gstelementdetails.sgml:
19054         * docs/gst/tmpl/gstelementfactory.sgml:
19055         * docs/gst/tmpl/gstenumtypes.sgml:
19056         * docs/gst/tmpl/gsterror.sgml:
19057         * docs/gst/tmpl/gstevent.sgml:
19058         * docs/gst/tmpl/gstfakesink.sgml:
19059         * docs/gst/tmpl/gstfakesrc.sgml:
19060         * docs/gst/tmpl/gstfilesink.sgml:
19061         * docs/gst/tmpl/gstfilesrc.sgml:
19062         * docs/gst/tmpl/gstfilter.sgml:
19063         * docs/gst/tmpl/gstformat.sgml:
19064         * docs/gst/tmpl/gstghostpad.sgml:
19065         * docs/gst/tmpl/gstimplementsinterface.sgml:
19066         * docs/gst/tmpl/gstindex.sgml:
19067         * docs/gst/tmpl/gstindexfactory.sgml:
19068         * docs/gst/tmpl/gstinfo.sgml:
19069         * docs/gst/tmpl/gstiterator.sgml:
19070         * docs/gst/tmpl/gstmacros.sgml:
19071         * docs/gst/tmpl/gstmemchunk.sgml:
19072         * docs/gst/tmpl/gstminiobject.sgml:
19073         * docs/gst/tmpl/gstobject.sgml:
19074         * docs/gst/tmpl/gstpad.sgml:
19075         * docs/gst/tmpl/gstpadtemplate.sgml:
19076         * docs/gst/tmpl/gstparse.sgml:
19077         * docs/gst/tmpl/gstpipeline.sgml:
19078         * docs/gst/tmpl/gstplugin.sgml:
19079         * docs/gst/tmpl/gstpluginfeature.sgml:
19080         * docs/gst/tmpl/gstquery.sgml:
19081         * docs/gst/tmpl/gstqueue.sgml:
19082         * docs/gst/tmpl/gstregistry.sgml:
19083         * docs/gst/tmpl/gstregistrypool.sgml:
19084         * docs/gst/tmpl/gstscheduler.sgml:
19085         * docs/gst/tmpl/gstschedulerfactory.sgml:
19086         * docs/gst/tmpl/gststructure.sgml:
19087         * docs/gst/tmpl/gstsystemclock.sgml:
19088         * docs/gst/tmpl/gsttaglist.sgml:
19089         * docs/gst/tmpl/gsttagsetter.sgml:
19090         * docs/gst/tmpl/gsttrace.sgml:
19091         * docs/gst/tmpl/gsttrashstack.sgml:
19092         * docs/gst/tmpl/gsttypefind.sgml:
19093         * docs/gst/tmpl/gsttypefindfactory.sgml:
19094         * docs/gst/tmpl/gsttypes.sgml:
19095         * docs/gst/tmpl/gsturihandler.sgml:
19096         * docs/gst/tmpl/gsturitype.sgml:
19097         * docs/gst/tmpl/gstutils.sgml:
19098         * docs/gst/tmpl/gstvalue.sgml:
19099         * docs/gst/tmpl/gstversion.sgml:
19100         * docs/gst/tmpl/gstxml.sgml:
19101         * docs/libs/tmpl/gstcontrol.sgml:
19102         * docs/libs/tmpl/gstdataprotocol.sgml:
19103         * docs/libs/tmpl/gstdparam.sgml:
19104         * docs/libs/tmpl/gstdplinint.sgml:
19105         * docs/libs/tmpl/gstdpman.sgml:
19106         * docs/libs/tmpl/gstdpsmooth.sgml:
19107         * docs/libs/tmpl/gstgetbits.sgml:
19108         * docs/libs/tmpl/gstunitconvert.sgml:
19109         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
19110         (gst_push_src_base_init), (gst_push_src_class_init),
19111         (gst_push_src_init), (gst_push_src_create):
19112         * gst/base/gstpushsrc.h:
19113         * gst/elements/gstelements.c:
19114         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
19115         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
19116         (gst_fake_sink_init), (gst_fake_sink_set_property),
19117         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
19118         (gst_fake_sink_event), (gst_fake_sink_preroll),
19119         (gst_fake_sink_render), (gst_fake_sink_change_state):
19120         * gst/elements/gstfakesink.h:
19121         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
19122         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
19123         (gst_fake_src_base_init), (gst_fake_src_class_init),
19124         (gst_fake_src_init), (gst_fake_src_event_handler),
19125         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
19126         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
19127         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
19128         (gst_fake_src_create_buffer), (gst_fake_src_create),
19129         (gst_fake_src_start), (gst_fake_src_stop):
19130         * gst/elements/gstfakesrc.h:
19131         * gst/elements/gstfilesink.c: (_do_init),
19132         (gst_file_sink_base_init), (gst_file_sink_class_init),
19133         (gst_file_sink_init), (gst_file_sink_dispose),
19134         (gst_file_sink_set_location), (gst_file_sink_set_property),
19135         (gst_file_sink_get_property), (gst_file_sink_open_file),
19136         (gst_file_sink_close_file), (gst_file_sink_query),
19137         (gst_file_sink_event), (gst_file_sink_render),
19138         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
19139         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
19140         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
19141         * gst/elements/gstfilesink.h:
19142         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
19143         (gst_file_src_class_init), (gst_file_src_init),
19144         (gst_file_src_finalize), (gst_file_src_set_location),
19145         (gst_file_src_set_property), (gst_file_src_get_property),
19146         (gst_file_src_map_region), (gst_file_src_map_small_region),
19147         (gst_file_src_create_mmap), (gst_file_src_create_read),
19148         (gst_file_src_create), (gst_file_src_is_seekable),
19149         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
19150         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
19151         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
19152         (gst_file_src_uri_handler_init):
19153         * gst/elements/gstfilesrc.h:
19154           more autistic cleanliness in functions/names/defines
19155
19156 2005-07-13  Andy Wingo  <wingo@pobox.com>
19157
19158         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
19159         source couldn't negotiate.
19160
19161         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
19162         connections again.
19163
19164         * gst/gstutils.h:
19165         * gst/gstutils.c (gst_element_link_pads_filtered): New old
19166         function. I am channeling Hades. Put your boots on suckers!!!
19167
19168 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
19169
19170         * testsuite/caps/Makefile.am:
19171         * testsuite/caps/value_compare.c:
19172         * testsuite/caps/value_intersect.c:
19173         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
19174           move two testsuite apps over to the check dir
19175
19176 2005-07-12  Wim Taymans  <wim@fluendo.com>
19177
19178         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
19179         Added more debug info in the negotiate process.
19180
19181         * gst/gstmessage.h:
19182         Prepare for segment playback.
19183
19184         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
19185         Better debugging.
19186
19187         * gst/gstutils.c:
19188         Some more docs.
19189
19190         * tools/gst-launch.c: (main):
19191         NULL pipeline on errors.
19192
19193 2005-07-12  Andy Wingo  <wingo@pobox.com>
19194
19195         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
19196         not it comes from a malloc region. Make sure our copy gets freed.
19197
19198 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
19199
19200         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
19201         * check/gst/gstmessage.c: (GST_START_TEST):
19202         * check/gst/gststructure.c: (GST_START_TEST),
19203         (gst_structure_suite), (main):
19204           more testing
19205         * gst/gstelement.c: (gst_element_message_full):
19206           clean up GError and debug string now that they get copied
19207         * gst/gstmessage.c: (gst_message_new_error),
19208         (gst_message_new_warning), (gst_message_parse_error),
19209         (gst_message_parse_warning):
19210           use GST_TYPE_G_ERROR for structure_new, and take copies of
19211           arguments, so that we don't mess up refcounting
19212
19213 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
19214
19215         * check/Makefile.am:
19216           add per-test valgrind targets
19217         * check/gst-libs/gdp.c: (GST_START_TEST),
19218         (gst_data_protocol_suite), (main):
19219           clean up
19220
19221 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
19222
19223         * check/Makefile.am:
19224           instate more valgrindable tests
19225         * check/elements/gstfakesrc.c: (chain_func), (event_func),
19226         (GST_START_TEST), (fakesrc_suite):
19227         * check/gst/gstpad.c: (GST_START_TEST):
19228         * check/gst/gststructure.c: (GST_START_TEST):
19229           fix test leaks
19230         * docs/gst/tmpl/gstminiobject.sgml:
19231         * gst/gstpad.c: (gst_pad_finalize):
19232           fix the static mutex leak
19233
19234 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
19235
19236         * check/Makefile.am:
19237           add two more tests for valgrinding
19238         * check/gst/gstvalue.c: (GST_START_TEST):
19239           test refcount of deserialized buffer, found a leak
19240         * docs/gst/gstreamer-docs.sgml:
19241         * docs/gst/gstreamer-sections.txt:
19242         * docs/gst/gstreamer.types:
19243         * docs/gst/tmpl/gstminiobject.sgml:
19244           add miniobject to docs
19245         * gst/gstminiobject.c:
19246           add some docs
19247         * gst/gstvalue.c: (gst_value_deserialize_buffer),
19248         (gst_string_unwrap):
19249           fix a hard-to-find invalid write for one of the tests
19250           fix a leak for deserialized buffers
19251
19252 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19253
19254         * docs/pwg/advanced-events.xml:
19255         * docs/pwg/advanced-request.xml:
19256         * docs/pwg/advanced-scheduling.xml:
19257         * docs/pwg/appendix-porting.xml:
19258         * docs/pwg/building-boiler.xml:
19259         * docs/pwg/intro-preface.xml:
19260         * docs/pwg/other-ntoone.xml:
19261           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
19262           of example code and explanation for pad activation, loop() and
19263           getrange() functions and a bit more. Remove old comments pointing
19264           to loop-functions.
19265         * examples/pwg/Makefile.am:
19266           Add loop/getrange examples.
19267
19268 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
19269
19270         * configure.ac:
19271           check for valgrind binary + some fixes
19272         * check/gst.supp:
19273           valgrind suppressions for the tests
19274         * check/Makefile.am:
19275           add a valgrind: target that valgrinds the unit tests
19276         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
19277         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
19278         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
19279         * check/gst/gstghostpad.c:
19280           added some cleanup
19281         * check/gst/gstdata.c:
19282           removed
19283         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
19284         (thread_unref), (gst_mini_object_suite), (main):
19285           added
19286         * gst/gst.c: (gst_deinit):
19287         * gst/gst.h:
19288           add a method to clean up.
19289         * gst/gstsystemclock.c: (gst_system_clock_dispose),
19290         (gst_system_clock_obtain):
19291           allow for disposing the system clock.
19292         * tools/gst-launch.c: (main):
19293           deinit
19294
19295 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
19296
19297         * docs/gst/tmpl/gstbasesrc.sgml:
19298         * docs/gst/tmpl/gstfakesrc.sgml:
19299         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
19300         (gst_base_src_init), (gst_base_src_set_property),
19301         (gst_base_src_get_property), (gst_base_src_get_range),
19302         (gst_base_src_start):
19303         * gst/base/gstbasesrc.h:
19304           add num-buffers property
19305         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
19306         (gst_fakesrc_init), (gst_fakesrc_set_property),
19307         (gst_fakesrc_get_property), (gst_fakesrc_create),
19308         (gst_fakesrc_start):
19309           remove num-buffers property
19310
19311 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
19312
19313         * docs/gst/gstreamer-sections.txt:
19314         * docs/gst/tmpl/gstbasesink.sgml:
19315         * docs/gst/tmpl/gstbasesrc.sgml:
19316         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
19317         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
19318         (gst_base_sink_finalize), (gst_base_sink_set_clock),
19319         (gst_base_sink_set_property), (gst_base_sink_get_property),
19320         (gst_base_sink_handle_object), (gst_base_sink_event),
19321         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
19322         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
19323         (gst_base_sink_loop), (gst_base_sink_deactivate),
19324         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
19325         (gst_base_sink_change_state):
19326         * gst/base/gstbasesink.h:
19327         * gst/base/gstbasesrc.h:
19328         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
19329         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
19330         (gst_filesink_init):
19331           more macro splitting
19332
19333 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
19334
19335         * gst/gstelement.c: (gst_element_get_bus):
19336           add debug
19337         * tools/gst-launch.c: (check_intr), (event_loop):
19338           fix bus leaks
19339
19340 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
19341
19342         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
19343           fix a caps leak
19344
19345 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
19346
19347         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
19348         (gst_base_src_finalize):
19349           add finalize method and clean up properly
19350         * gst/gstpipeline.c: (gst_pipeline_dispose):
19351           add debug
19352
19353 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
19354
19355         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
19356         (gst_bin_suite):
19357           add more things to check
19358         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
19359         * gst/gstelement.c:
19360           more debug
19361
19362 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
19363
19364         * check/elements/gstfakesrc.c: (chain_func), (event_func),
19365         (GST_START_TEST), (fakesrc_suite):
19366         * check/gst-libs/gdp.c: (GST_START_TEST):
19367         * check/gst/gst.c: (GST_START_TEST):
19368         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
19369         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
19370         * check/gst/gstbus.c: (GST_START_TEST):
19371         * check/gst/gstcaps.c: (GST_START_TEST):
19372         * check/gst/gstdata.c: (GST_START_TEST):
19373         * check/gst/gstelement.c: (GST_START_TEST):
19374         * check/gst/gstghostpad.c: (GST_START_TEST):
19375         * check/gst/gstiterator.c: (GST_START_TEST):
19376         * check/gst/gstmessage.c: (GST_START_TEST):
19377         * check/gst/gstobject.c: (GST_START_TEST):
19378         * check/gst/gstpad.c: (GST_START_TEST):
19379         * check/gst/gststructure.c: (GST_START_TEST):
19380         * check/gst/gstsystemclock.c: (GST_START_TEST),
19381         (gst_systemclock_suite):
19382         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
19383         * check/gst/gstvalue.c: (GST_START_TEST):
19384         * check/pipelines/cleanup.c: (GST_START_TEST):
19385         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
19386         * check/states/sinks.c: (GST_START_TEST):
19387         * check/gstcheck.c: (gst_check_init):
19388         * check/gstcheck.h:
19389           add debugging category
19390           use GST_START_TEST now, so we add a debug line
19391
19392 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
19393
19394         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
19395           add test for state change message on a bin
19396         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
19397           add another test
19398         * gst/gstbin.c: (gst_bin_init):
19399         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
19400         * gst/gstelement.c: (gst_element_post_message),
19401         (gst_element_set_state):
19402         * gst/gstelementfactory.c: (gst_element_factory_create):
19403         * gst/gstmessage.c: (gst_message_new):
19404         * gst/gstscheduler.c:
19405           various debugging additions and cleanups
19406
19407 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
19408
19409         * check/Makefile.am:
19410         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
19411         (main):
19412           adding tests for elements
19413         * gst/gstelement.c: (gst_element_dispose):
19414
19415 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
19416
19417         * gst/registries/gstlibxmlregistry.c: (load_feature):
19418           plug more leaks.  A simple gst_init() now is leakfree, yay.
19419
19420 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
19421
19422         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
19423         (gst_xml_registry_load):
19424           plug another memleak
19425
19426 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
19427
19428         * configure.ac:
19429           use GST_SET_ERROR_CFLAGS
19430         * docs/faq/cvs.xml:
19431           change to ERROR_CFLAGS
19432
19433 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
19434
19435         * configure.ac:
19436           make GST_ERROR_CFLAGS overridable and re-enable Werror
19437         * docs/faq/cvs.xml:
19438           add a note about error CFLAGS
19439         * docs/gst/tmpl/gstfakesrc.sgml:
19440         * gst/elements/gstfakesrc.c:
19441           comment out some unused code
19442         * gst/gst.c: (split_and_iterate):
19443         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
19444         (load_feature):
19445           plug some memleaks
19446
19447 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
19448
19449         * common/Makefile.am:
19450         * common/gtk-doc.mak:
19451         * docs/gst/Makefile.am:
19452           factor out gtk-doc.mak
19453
19454 2005-07-07  Wim Taymans  <wim@fluendo.com>
19455
19456         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
19457         (gst_thread_scheduler_dispose):
19458         Unlock the STREAM_LOCK completely.
19459
19460 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
19461
19462         * check/Makefile.am:
19463         * check/elements/.cvsignore:
19464         * check/elements/gstfakesrc.c: (chain_func), (event_func),
19465         (START_TEST), (fakesrc_suite), (main):
19466         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
19467         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
19468         (gst_fakesrc_create), (gst_fakesrc_start):
19469         * gst/elements/gstfakesrc.h:
19470           adding a first element test
19471
19472 2005-07-07  Andy Wingo  <wingo@pobox.com>
19473
19474         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
19475         debug message.
19476
19477 2005-07-07  Wim Taymans  <wim@fluendo.com>
19478
19479         * gst/gstquery.c:
19480         * gst/gstquery.h:
19481         Remove old types
19482
19483 2005-07-07  Wim Taymans  <wim@fluendo.com>
19484
19485         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
19486         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
19487         Allow subclasses to implement their own negotiation.
19488
19489 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
19490
19491         * docs/design/part-gstbin.txt:
19492         * docs/design/part-gstpipeline.txt:
19493           Update design notes to reflect the movement of
19494           responsibility for bus handling from GstPipeline to
19495           GstBin
19496
19497 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
19498
19499         * configure.ac:
19500           Remove unnecessary queue2/3/4 examples.
19501
19502 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
19503
19504         * examples/Makefile.am:
19505         * examples/helloworld/helloworld.c: (event_loop), (main):
19506         * examples/queue/queue.c: (event_loop), (main):
19507         * examples/queue2/queue2.c: (main):
19508           Update a couple of the examples to work again.
19509
19510         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
19511         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
19512          Spelling corrections and extra debug.
19513         
19514         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
19515         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
19516         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
19517         * gst/gstbin.h:
19518         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
19519         (gst_pipeline_change_state):
19520         * gst/gstpipeline.h:
19521           Move the bus handler for children to the GstBin, and create a
19522           separate bus for receiving messages from children to the one the
19523           bus sends 'upwards' on.
19524
19525 2005-07-06  Wim Taymans  <wim@fluendo.com>
19526
19527         * gst/base/README:
19528         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
19529         (gst_base_sink_handle_object), (gst_base_sink_loop),
19530         (gst_base_sink_change_state):
19531         * gst/base/gstbasesink.h:
19532         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
19533         (gst_base_src_init), (gst_base_src_setcaps),
19534         (gst_base_src_getcaps), (gst_base_src_loop),
19535         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
19536         (gst_base_src_start), (gst_base_src_change_state):
19537         * gst/base/gstbasesrc.h:
19538         Make basesrc negotiate.
19539         Handle the case where preroll fails in basesink.
19540         Update README.
19541
19542 2005-07-06  Wim Taymans  <wim@fluendo.com>
19543
19544         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
19545         Implement the fixate function.
19546         Clean up acceptcaps.
19547
19548 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19549
19550         * docs/pwg/building-filterfactory.xml:
19551         * docs/pwg/pwg.xml:
19552           Remove never-written filter-factory chapter; I'll add the various
19553           base classes to part 4 ("other element types") later on.
19554
19555 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19556
19557         * docs/pwg/advanced-negotiation.xml:
19558         * docs/pwg/building-boiler.xml:
19559         * docs/pwg/building-pads.xml:
19560         * docs/pwg/pwg.xml:
19561         * examples/pwg/Makefile.am:
19562           Add a chapter on caps negotiation, simplify the original code
19563           samples a bit w.r.t. caps negotiation, add link to the advanced
19564           section. Add a bunch of examples showing different use cases of
19565           different types of caps negotiation. Upstream renegotiation isn't
19566           fully documented yet since nobody knows how that works.
19567
19568 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
19569
19570         * check/gst/gstpad.c:
19571         * check/gstcheck.c:
19572         * gst/gstpad.c: (gst_pad_get_internal_links_default):
19573           if pad has no parent, return NULL as list of internal links
19574
19575 2005-07-05  Andy Wingo  <wingo@pobox.com>
19576
19577         * gst/elements/gstfilesrc.c:
19578         * gst/elements/gstfakesrc.c: 
19579         * gst/base/gstpushsrc.c:
19580         * gst/base/gstbasesrc.h: 
19581         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
19582         
19583 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
19584
19585         * Makefile.am:
19586           better report generation target (lcov needs a patch)
19587
19588 2005-07-05  Andy Wingo  <wingo@pobox.com>
19589
19590         * gst/elements, testsuite: Null if we got it...
19591
19592 2005-07-05  Wim Taymans  <wim@fluendo.com>
19593
19594         * configure.ac:
19595         * libs/gst/dataprotocol/Makefile.am:
19596         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
19597         * libs/gst/dataprotocol/dataprotocol.h:
19598         * pkgconfig/Makefile.am:
19599         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
19600         * pkgconfig/gstreamer-dataprotocol.pc.in:
19601         Ported dataprotol to 0.9. 
19602         Added pkgconfig files.
19603
19604 2005-07-05  Andy Wingo  <wingo@pobox.com>
19605
19606         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
19607         Default to returning TRUE for the case when tranform_caps returns
19608         a fixed caps, like for identity or volume.
19609
19610         * check/gst/gstbus.c (pound_bus_with_messages): 
19611         * check/gst/gstmessage.c (START_TEST): 
19612         * check/pipelines/simple_launch_lines.c (got_handoff): Application
19613         message API change.
19614
19615         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
19616         logic weaks here: always run transform_caps, trying passthrough
19617         operation only if the original caps intersects with the transform.
19618
19619         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
19620         source and sink caps.
19621
19622         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
19623         Intersect the peer caps with the pad template before going into
19624         transform_caps.
19625         (gst_base_transform_transform_caps): More debugging.
19626
19627         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
19628         src argument.
19629
19630 2005-07-04  Edward Hervey  <edward@fluendo.com>
19631
19632         * gst/gstutils.c:
19633         * gst/gstutils.h:
19634         (gst_pad_add_*_probe): now returns the signal id for better wrapping
19635         in bindings.
19636
19637 2005-07-04  Andy Wingo  <wingo@pobox.com>
19638
19639         * check/gst/gstpad.c: Only set explicit caps on pads.
19640
19641 2005-07-01  Andy Wingo  <wingo@pobox.com>
19642
19643         * tests/network-clock.scm: Commentary update.
19644
19645         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
19646         Didn't really make sense, not implementable with basetransform,
19647         etc.
19648         (gst_identity_transform): Unref inbuf via make_writable. Feeble
19649         attempt at implementing the sync property, needs an unlock method.
19650
19651         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
19652         New func, by default returns the same caps (the identity
19653         transformation).
19654         (gst_base_transform_getcaps): Uses transform_caps to return
19655         something sensible.
19656         (gst_base_transform_setcaps): Complicated logic to get caps on
19657         both pads, even if they are different, and to call set_caps once
19658         for every time both pads get their caps set.
19659         (gst_base_transform_handle_buffer): Give the ref to the transform
19660         function. Allows in-place modification of the buffer.
19661
19662         * gst/base/gstbasetransform.h (transform_caps): New class method.
19663         Given caps on one side, what can I do on the other.
19664         (set_caps): Take two caps, one for each side of the element.
19665
19666         * gst/gstpad.h:
19667         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
19668         caps in place. This is safe because we can check the mutability of
19669         the caps, and a good idea because fixate functions are just called
19670         as a matter of last resort. (Not actually implemented.)
19671         (gst_pad_set_caps): If the caps we're setting is actually the same
19672         as the existing pad caps, just update the pointer without calling
19673         setcaps. Assert that caps is either NULL or fixed, as per the
19674         docs.
19675
19676         * gst/gstghostpad.c: Update for fixate changes.
19677
19678 2005-07-02  Andy Wingo  <wingo@pobox.com>
19679
19680         * gst/gstcaps.c:
19681         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
19682         two refcounts makes it immutable, which is enough. Doc more.
19683
19684 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
19685
19686         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
19687           Put the mini_object into GValue as a mini_object,
19688           not a gpointer, since that's how we declared
19689           the signal.
19690
19691 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19692
19693         * examples/pwg/Makefile.am:
19694           Fix buildbot again.
19695
19696 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19697
19698         * docs/pwg/building-testapp.xml:
19699           Add extra check.
19700         * examples/pwg/Makefile.am:
19701           Fix buildbot.
19702
19703 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19704
19705         * configure.ac:
19706         * examples/Makefile.am:
19707         * examples/pwg/Makefile.am:
19708         * examples/pwg/extract.pl:
19709           Enable building the PWG examples.
19710         * docs/pwg/advanced-interfaces.xml:
19711           Add URI interface stub.
19712         * docs/pwg/advanced-types.xml:
19713         * docs/pwg/other-autoplugger.xml:
19714         * docs/pwg/appendix-porting.xml:
19715         * docs/pwg/pwg.xml:
19716           Add porting guide (mostly stubs), remove autoplugging (see ADM).
19717         * docs/pwg/building-boiler.xml:
19718         * docs/pwg/building-chainfn.xml:
19719         * docs/pwg/building-pads.xml:
19720         * docs/pwg/building-props.xml:
19721         * docs/pwg/building-state.xml:
19722         * docs/pwg/building-testapp.xml:
19723           Update the building-*.xml parts for 0.9 changes. All examples
19724           code blocks compile in examples/pwg/*.
19725
19726 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19727
19728         * docs/manual/advanced-autoplugging.xml:
19729         * docs/manual/appendix-checklist.xml:
19730         * docs/manual/appendix-integration.xml:
19731         * docs/manual/highlevel-components.xml:
19732           Fix playbin/decodebin examples, update docs a bit, mention bus
19733           instead of signals in various places, mention kmplayer and
19734           kaffeine since they have a working GStreamer backend in the KDE
19735           section.
19736
19737 2005-06-30  Wim Taymans  <wim@fluendo.com>
19738
19739         * CHANGES-0.9:
19740         * docs/design/draft-ghostpads.txt:
19741         * docs/design/draft-push-pull.txt:
19742         * docs/design/draft-query.txt:
19743         * docs/design/part-TODO.txt:
19744         * docs/design/part-query.txt:
19745         Added CHANGES-0.9 doc, updated status of other docs.
19746         
19747         * gst/gstquery.h:
19748         Remove "hmm" macro
19749
19750 2005-06-30  Wim Taymans  <wim@fluendo.com>
19751
19752         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
19753         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
19754         (gst_base_sink_change_state):
19755         * gst/base/gstbasesink.h:
19756         Some tweaks, only EOS and a buffer complete a preroll.
19757
19758 2005-06-30  Andy Wingo  <wingo@pobox.com>
19759
19760         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
19761         activate_push down to the internal pad as well.
19762
19763 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
19764
19765         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19766
19767         * gst/gsttaginterface.c:
19768           Some documentation fixes (#307394 and #307397).
19769
19770 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
19771
19772         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19773
19774         * gst/gstvalue.c: (gst_value_intersect_list):
19775           Fix memleak (#309125).
19776
19777 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19778
19779         * docs/manual/advanced-dataaccess.xml:
19780           Fix fakesrc example to compile; doesn't work, bug somewhere...?
19781         * docs/manual/basics-pads.xml:
19782           Add reference for filtered caps to above chapter.
19783
19784 2005-06-30  Wim Taymans  <wim@fluendo.com>
19785
19786         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
19787         (gst_bin_change_state):
19788         Probes are gone.
19789         Lame attempt at making the state change function a bit
19790         more readable.
19791
19792 2005-06-30  Wim Taymans  <wim@fluendo.com>
19793
19794         * docs/design/part-clocks.txt:
19795         * docs/design/part-element-sink.txt:
19796         * docs/design/part-events.txt:
19797         * docs/design/part-preroll.txt:
19798         * docs/design/part-states.txt:
19799         Some more tweeks and additions to the docs.
19800
19801 2005-06-30  Wim Taymans  <wim@fluendo.com>
19802
19803         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
19804         (default_have_data), (gst_pad_class_init), (gst_pad_init),
19805         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
19806         (gst_pad_check_pull_range), (gst_pad_get_range),
19807         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
19808         * gst/gstpad.h:
19809         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
19810         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
19811         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
19812         (gst_pad_remove_buffer_probe):
19813         Removed atomic operations, use existing LOCK.
19814         Move exception handling out of main code path.
19815
19816 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19817
19818         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
19819         (silly_return_true_function), (gst_pad_class_init),
19820         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
19821         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
19822         (gst_pad_send_event):
19823           Fix accumulator, add default value by using _emitv() instead
19824           of _emit() for signal emission.
19825
19826 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19827
19828         * docs/manual/advanced-dataaccess.xml:
19829         * examples/manual/Makefile.am:
19830           Add probe example.
19831         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
19832           Make work (??).
19833
19834 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
19835
19836         * gst/elements/gstfilesink.c: (gst_filesink_render):
19837           Simplify code so that we don't have to handle short
19838           writes and return GST_FLOW_ERROR if an error occured.
19839
19840 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19841
19842         * docs/gst/gstreamer-docs.sgml:
19843           Remove probes more.
19844
19845 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19846
19847         * docs/gst/gstreamer-sections.txt:
19848         * docs/gst/tmpl/gstpad.sgml:
19849         * docs/gst/tmpl/gstprobe.sgml:
19850         * gst/Makefile.am:
19851         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
19852         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
19853         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
19854         (gst_pad_push_event), (gst_pad_send_event):
19855         * gst/gstpad.h:
19856         * gst/gstutils.c: (gst_pad_add_data_probe),
19857         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
19858         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
19859         (gst_pad_remove_buffer_probe):
19860         * gst/gstutils.h:
19861           Remove old probes, add new g-signal-based probes and some utility
19862           functions.
19863
19864 2005-06-29  Edward Hervey  <edward@fluendo.com>
19865
19866         * gst/gstelementfactory.c:
19867         * gst/gstutils.h:
19868         * gst/gstutils.c:
19869         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
19870         the definition to the header file.
19871
19872 2005-06-29  Andy Wingo  <wingo@pobox.com>
19873
19874         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
19875         plugins from the source directory.
19876
19877 2005-06-29  Wim Taymans  <wim@fluendo.com>
19878
19879         * docs/gst/tmpl/gstbuffer.sgml:
19880         * docs/gst/tmpl/gstclock.sgml:
19881         Some fixings for blantently wrong text.
19882
19883 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
19884
19885         * check/Makefile.am:
19886         * gst/gst.c: (add_path_func), (init_pre):
19887         * gst/gstregistry.c: (gst_registry_add_path):
19888           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
19889           only scan the GST_PLUGIN_PATH locations, and not add
19890           system locations
19891
19892 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
19893
19894         * docs/gst/gstreamer-sections.txt:
19895         * docs/gst/tmpl/gstbasesrc.sgml:
19896         * gst/gstelement.c:
19897         * gst/gstelement.h:
19898         * gst/gstevent.c:
19899         * gst/gstutils.c:
19900           doc fixes
19901
19902 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19903
19904         * docs/manual/advanced-autoplugging.xml:
19905           Fix autoplugging example.
19906
19907 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19908
19909         * docs/manual/advanced-autoplugging.xml:
19910         * docs/manual/mime-world.fig:
19911           Try to get autoplugging working, fix type detection. Fix text
19912           in hello-world image.
19913
19914 2005-06-29  Wim Taymans  <wim@fluendo.com>
19915
19916         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
19917         (gst_base_sink_change_state):
19918         Small debug line.
19919
19920         * gst/gstclock.h:
19921         map SIGNAL and BROADCAST to the right function.
19922
19923         * gst/gstobject.h:
19924         Remove redundant braces.
19925
19926         * gst/gstpad.c: (gst_pad_set_caps):
19927         Don't call setcaps function when reseting caps to NULL.
19928
19929         * gst/gstsystemclock.c: (gst_system_clock_dispose),
19930         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
19931         (gst_system_clock_id_unschedule):
19932         Use BROADCAST as this is what we do.
19933
19934 2005-06-29  Wim Taymans  <wim@fluendo.com>
19935
19936         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
19937         We are actually prerolling before commiting the state
19938         change. 
19939
19940 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19941
19942         * docs/manual/advanced-clocks.xml:
19943         * docs/manual/advanced-interfaces.xml:
19944         * docs/manual/advanced-metadata.xml:
19945         * docs/manual/advanced-position.xml:
19946         * docs/manual/advanced-schedulers.xml:
19947         * docs/manual/advanced-threads.xml:
19948         * docs/manual/appendix-porting.xml:
19949         * docs/manual/basics-bins.xml:
19950         * docs/manual/basics-bus.xml:
19951         * docs/manual/basics-elements.xml:
19952         * docs/manual/basics-helloworld.xml:
19953         * docs/manual/basics-pads.xml:
19954         * docs/manual/highlevel-components.xml:
19955         * docs/manual/manual.xml:
19956         * docs/manual/thread.fig:
19957           Update (until threads/scheduling) Application Development Manual;
19958           remove GstThread, add GstBus, add simple porting checklist, add
19959           documentation for tag writing, clocks, make all examples until this
19960           part compile and run.
19961         * examples/manual/Makefile.am:
19962           Update from changes to Application Development Manual; add bus
19963           example, remove thread example.
19964
19965 2005-06-28  Wim Taymans  <wim@fluendo.com>
19966
19967         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
19968         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
19969         (gst_bus_source_dispatch):
19970         Add debugging messages.
19971         Make internal methods static.
19972         Handle the case where the bus is flushed in the handler.
19973         
19974         * gst/gstelement.c: (gst_element_get_bus):
19975         Fix refcount in _get_bus();
19976
19977         * gst/gstpipeline.c: (gst_pipeline_change_state),
19978         (gst_pipeline_get_clock_func):
19979         Clock refcounting fixes.
19980         Handle the case where preroll timed out more gracefully.
19981         
19982         * gst/gstsystemclock.c: (gst_system_clock_dispose):
19983         Clean up the internal thread in dispose. This is needed
19984         for subclasses that actually get disposed.
19985         
19986         * gst/schedulers/threadscheduler.c:
19987         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
19988         (gst_thread_scheduler_dispose):
19989         Free thread pool in dispose.
19990
19991 2005-06-28  Andy Wingo  <wingo@pobox.com>
19992
19993         * tests/network-clock-utils.scm (debug, print-event): New utils.
19994
19995         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
19996         (*packet-loss*): Unified loss probability.
19997         (network-time): Report out-of-band events.
19998
19999         * tests/plot-data: Add support for out-of-band events. Hack it
20000         into this script instead of passing it down the pipe; should fix
20001         this later.
20002
20003 2005-06-28  Wim Taymans  <wim@fluendo.com>
20004
20005         * docs/gst/gstreamer.types:
20006         * docs/gst/tmpl/gstbasesrc.sgml:
20007         * docs/gst/tmpl/gstpad.sgml:
20008         Docs fixes.
20009
20010 2005-06-28  Wim Taymans  <wim@fluendo.com>
20011
20012         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
20013         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
20014         (gst_proxy_pad_do_fixatecaps):
20015         Correctly proxy the check_pull_range function.
20016
20017 2005-06-28  Andy Wingo  <wingo@pobox.com>
20018
20019         * tests/network-clock.scm: Removed need for slib.
20020         
20021 2005-06-28  Wim Taymans  <wim@fluendo.com>
20022
20023         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
20024         (gst_basesink_preroll_queue_flush):
20025         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
20026         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
20027         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
20028         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
20029         (gst_proxy_pad_set_property):
20030         * gst/gstpad.c:
20031         * gst/gstpad.h:
20032         * gst/gstqueue.c: (gst_queue_init):
20033         The deprecated pad loop function is removed now.
20034
20035 2005-06-28  Andy Wingo  <wingo@pobox.com>
20036
20037         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
20038         New parameters, simulate network packet loss.
20039
20040         * tests/network-clock-utils.scm: Initialize the RNG.
20041
20042 2005-06-28  Wim Taymans  <wim@fluendo.com>
20043
20044         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
20045         (gst_basesink_event), (gst_basesink_deactivate):
20046         Flushing the preroll queue always needs to unlock the waiters.
20047
20048 2005-06-28  Edward Hervey  <edward@fluendo.com>
20049
20050         * gst/gstpipeline.c: (gst_pipeline_send_event): 
20051         Wheen a seek was successful on a pipeline, set the stream_time to the
20052         seek offset in order to have a synchronized stream_time.
20053
20054 2005-06-28  Wim Taymans  <wim@fluendo.com>
20055
20056         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
20057         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
20058         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
20059         (gst_proxy_pad_do_fixatecaps):
20060         Call wrapper function instead of just calling the function
20061         pointers. This takes care of any locking and whatmore.
20062
20063 2005-06-28  Wim Taymans  <wim@fluendo.com>
20064
20065         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
20066         (gst_pad_pull_range):
20067         * gst/gstpad.h:
20068         CONNECTED -> LINKED.
20069
20070 2005-06-28  Andy Wingo  <wingo@pobox.com>
20071
20072         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
20073         source-munging commit!!!
20074
20075         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
20076         (gst_object_sink): Take gpointer arguments, not GstObject --
20077         avoids casts. Like GLib.
20078
20079         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
20080         activate.
20081
20082 2005-06-27  Andy Wingo  <wingo@pobox.com>
20083
20084         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
20085         remaining buffer.
20086
20087         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
20088         returns a sorted copy of the trace list.
20089         (gst_alloc_trace_print_live): New API, only prints traces with
20090         live objects. Sort the list.
20091         (gst_alloc_trace_print_all): Sort the list.
20092         (gst_alloc_trace_print): Align columns.
20093
20094         * gst/elements/gstttypefindelement.c:
20095         * gst/elements/gsttee.c:
20096         * gst/base/gstbasesrc.c:
20097         * gst/base/gstbasesink.c:
20098         * gst/base/gstbasetransform.c:
20099         * gst/gstqueue.c: Adapt for pad activation changes.
20100
20101         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
20102         sched.
20103         (gst_pipeline_dispose): Drop ref on sched.
20104
20105         * gst/gstpad.c (gst_pad_init): Set the default activate func.
20106         (gst_pad_activate_default): Push mode by default.
20107         (pre_activate_switch, post_activate_switch): New stubs, things to
20108         do before and after switching activation modes on pads.
20109         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
20110         the pad's activate function to choose which mode to activate.
20111         Shortcut on deactivation and call the right function directly.
20112         (gst_pad_activate_pull): New API, (de)activates a pad in pull
20113         mode.
20114         (gst_pad_activate_push): New API, same for push mode.
20115         (gst_pad_set_activate_function) 
20116         (gst_pad_set_activatepull_function) 
20117         (gst_pad_set_activatepush_function): Setters for new API.
20118
20119         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
20120         Trace all miniobjects.
20121         (gst_mini_object_make_writable): Unref the arg if we copy, like
20122         gst_caps_make_writable.
20123
20124         * gst/gstmessage.c (_gst_message_initialize): No trace init.
20125
20126         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
20127         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
20128         Adapt for new pad API.
20129
20130         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
20131
20132         * gst/gstelement.h:
20133         * gst/gstelement.c (gst_element_iterate_src_pads) 
20134         (gst_element_iterate_sink_pads): New API functions.
20135         
20136         * gst/gstelement.c (iterator_fold_with_resync): New utility,
20137         should fold into gstiterator.c in some form.
20138         (gst_element_pads_activate): Simplified via use of fold and
20139         delegation of decisions to gstpad->activate.
20140
20141         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
20142         help in debugging.
20143
20144         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
20145         class once in init, like gstmessage. Didn't run into this issue
20146         but it seems correct. Don't initialize a trace, gstminiobject does
20147         that.
20148
20149         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
20150         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
20151         to the bus.
20152         (assert_live_count): New util function, uses alloc traces to check
20153         cleanup.
20154
20155         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
20156         To be modified when unlink drops the internal pad.
20157
20158 2005-06-27  Wim Taymans  <wim@fluendo.com>
20159
20160         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
20161         (gst_bin_change_state):
20162         Cleanup the get_state() function a little, make sure it
20163         iterates the same set of elements.
20164         Added stub iterate_state_order().
20165
20166 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
20167
20168         * docs/gst/gstreamer-docs.sgml:
20169         * docs/gst/gstreamer-sections.txt:
20170         * docs/gst/gstreamer.types:
20171         * docs/gst/tmpl/gstbasesink.sgml:
20172         * docs/gst/tmpl/gstbasesrc.sgml:
20173         * docs/gst/tmpl/gstbasetransform.sgml:
20174         * docs/gst/tmpl/gstelement.sgml:
20175         * docs/gst/tmpl/gstiterator.sgml:
20176         * gst/base/gstbasesrc.c:
20177         * gst/base/gstbasesrc.h:
20178         * gst/base/gstbasetransform.h:
20179         * gst/gstelement.c:
20180         * gst/gstiterator.h:
20181           adding basetransform and iterator docs
20182
20183 2005-06-27  Andy Wingo  <wingo@pobox.com>
20184
20185         * docs/design/part-activation.txt: Notes on how activation should
20186         work -- not quite implemented yet.
20187
20188 2005-06-25  Wim Taymans  <wim@fluendo.com>
20189
20190         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
20191         At least get the chain function correct, needs more
20192         fixing.
20193
20194 2005-06-25  Wim Taymans  <wim@fluendo.com>
20195
20196         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
20197         (gst_basesink_handle_object), (gst_basesink_event),
20198         (gst_basesink_do_sync), (gst_basesink_handle_event),
20199         (gst_basesink_change_state):
20200         * gst/gsttask.h:
20201         Right, two problems here: ghostpads don't take locks and
20202         glib _rec_mutex_lock_full() with depth==0 still locks.
20203         Catch illegal locking and g_warn them.
20204
20205 2005-06-25  Wim Taymans  <wim@fluendo.com>
20206
20207         * check/states/sinks.c: (START_TEST), (gst_object_suite):
20208         Have to check for completion now...
20209
20210 2005-06-25  Wim Taymans  <wim@fluendo.com>
20211
20212         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
20213         (gst_basesink_handle_object), (gst_basesink_event),
20214         (gst_basesink_do_sync), (gst_basesink_handle_event),
20215         (gst_basesink_change_state):
20216         * gst/gstpad.h:
20217         Unlock STREAM_LOCK whatever the recursion was.
20218
20219 2005-06-25  Wim Taymans  <wim@fluendo.com>
20220
20221         * gst/base/gstbasesink.c: (gst_basesink_set_property),
20222         (gst_basesink_preroll_queue_empty),
20223         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
20224         (gst_basesink_event), (gst_basesink_do_sync),
20225         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
20226         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
20227         (gst_basesink_change_state):
20228         Reworked the base sink, handle event and buffer serialisation
20229         correctly and removed possible deadlock.
20230         Handle EOS correctly.
20231
20232 2005-06-25  Wim Taymans  <wim@fluendo.com>
20233
20234         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
20235         (gst_pipeline_change_state):
20236         * tools/gst-launch.c: (check_intr), (event_loop), (main):
20237         Allow elements to post EOS in the state change function.
20238         Fix up -launch, make it exit the poll loop when the
20239         pipeline actually changed state.
20240         Fix up warning parsing in -launch.
20241
20242 2005-06-25  Wim Taymans  <wim@fluendo.com>
20243
20244         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
20245         (gst_tee_sink_activate):
20246         Core takes STREAM_LOCK for us now.
20247
20248 2005-06-25  Wim Taymans  <wim@fluendo.com>
20249
20250         * gst/gstelement.c: (gst_element_get_state_func),
20251         (gst_element_set_state):
20252         * gst/gstelement.h:
20253         * gst/gstmessage.c: (gst_message_parse_error),
20254         (gst_message_parse_warning):
20255         Keep track of current target state while performing a state
20256         change so that subclasses can do something interesting.
20257         Fix parsing of warning/error messages when GError is NULL.
20258
20259 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
20260
20261         * docs/gst/Makefile.am:
20262         * docs/gst/gstreamer-docs.sgml:
20263         * docs/gst/gstreamer-sections.txt:
20264         * docs/gst/gstreamer.types:
20265         * docs/gst/tmpl/gstbasesink.sgml:
20266         * docs/gst/tmpl/gstbasesrc.sgml:
20267         * docs/gst/tmpl/gstbin.sgml:
20268         * docs/gst/tmpl/gstcompat.sgml:
20269         * docs/gst/tmpl/gstfakesink.sgml:
20270         * docs/gst/tmpl/gstfakesrc.sgml:
20271         * docs/gst/tmpl/gstfilesink.sgml:
20272         * docs/gst/tmpl/gstfilesrc.sgml:
20273         * docs/gst/tmpl/gstindex.sgml:
20274         * docs/manual/appendix-quotes.xml:
20275         * gst/base/gstbasesrc.h:
20276         * gst/elements/gstfakesrc.h:
20277         * gst/gstmessage.h:
20278           start pulling in base classes and elements in our docs
20279
20280 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
20281
20282         * docs/gst/Makefile.am:
20283         * docs/libs/Makefile.am:
20284           fixed make distcheck with gtk-doc 1.3
20285
20286 2005-06-23  Wim Taymans  <wim@fluendo.com>
20287
20288         * gst/gstelement.c: (gst_element_get_state_func),
20289         (gst_element_set_state), (gst_element_change_state):
20290         When the state did not change, also report NO_PREROLL
20291         when it matters.
20292
20293 2005-06-23  Wim Taymans  <wim@fluendo.com>
20294
20295         * gst/gstpad.c: (gst_pad_event_default):
20296         * gst/gstqueue.c: (gst_queue_loop):
20297         No unsafe task pausing please.
20298
20299 2005-06-23  Wim Taymans  <wim@fluendo.com>
20300
20301         * gst/schedulers/threadscheduler.c:
20302         (gst_thread_scheduler_task_start),
20303         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
20304         Ref the task before pushing it on the threadpool. This
20305         makes sure that we have a ref when the threadfunction is
20306         actually called.
20307
20308 2005-06-23  Andy Wingo  <wingo@pobox.com>
20309
20310         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
20311         offset is greater than the file's size.
20312
20313         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
20314         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
20315         * gst/gstobject.c (gst_object_class_init): Make the class lock
20316         recursive. Wim won't let me drop deep_notify. Decodebin works
20317         again, whoopdy doo.
20318
20319         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
20320         internal pad, and hacks accordingly. Doesn't do it on the target
20321         pad because we change its caps. Probably catches all cases of
20322         interest tho.
20323         (gst_ghost_pad_set_property): Connect to notify::caps as
20324         appropritate.
20325
20326         * tests/network-clock.scm (plot-simulation): Pipe data to the
20327         elite python skript.
20328
20329         * tests/network-clock-utils.scm (define-parameter): New macro,
20330         defines a parameter that can be set via the command line.
20331         (set-parameter!, parse-parameter-arguments): Command line args
20332         parser.
20333
20334         * tests/plot-data: Simple matplotlib-based plotter, takes input on
20335         stdin.
20336
20337 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
20338
20339         * gst/elements/gsttypefindelement.c:
20340         (gst_type_find_element_handle_event):
20341           Don't restart typefinding on a discont.
20342         * gst/gstelement.c: (gst_element_set_state):
20343           Debug spelling fix.
20344         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
20345           Allow changing mode of an active pad.
20346           Debug output fixes.
20347         * gst/registries/gstlibxmlregistry.c: (load_feature):
20348           Don't cast a static pad template to a normal pad template.
20349
20350 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
20351
20352         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
20353         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
20354           remove gst_strtoll completely, since it didn't actually do
20355           anything more than what g_ascii_strtoull already does.
20356           check for range errors when deserializing
20357           do a cast for the unsigned cases; but further fixing needs
20358           a decision on what the interpretation of "(int)" and
20359           deserialization should be for values that fall outside the
20360           type's boundaries (ie, refuse, or interpret as casting)
20361
20362 2005-06-23  Wim Taymans  <wim@fluendo.com>
20363
20364         * check/Makefile.am:
20365         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
20366         * docs/design/part-live-source.txt:
20367         * docs/design/part-states.txt:
20368         * gst/base/gstbasesrc.c: (gst_basesrc_init),
20369         (gst_basesrc_set_live), (gst_basesrc_is_live),
20370         (gst_basesrc_get_range), (gst_basesrc_activate),
20371         (gst_basesrc_change_state):
20372         * gst/base/gstbasesrc.h:
20373         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
20374         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
20375         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
20376         * gst/gstelement.c: (gst_element_get_state_func),
20377         (gst_element_set_state):
20378         * gst/gstelement.h:
20379         * gst/gsttypes.h:
20380         * tools/gst-launch.c: (event_loop), (main):
20381         Added support for live sources and other elements that
20382         cannot do preroll.
20383         Updated design docs, added live-source design doc.
20384         Implemented live source functionality in basesrc
20385         Fix error condition in _bin_get_state()
20386         Implement live source handling in -launch.
20387         Added check for live sources.
20388         Fixed case in GstBin where elements were changed state
20389         multiple times.
20390
20391
20392 2005-06-23  Andy Wingo  <wingo@pobox.com>
20393
20394         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
20395         borken refcounting.
20396
20397         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
20398         gst_caps_replace takes care of this for us.
20399
20400         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
20401         gst_pad_set_caps on the target, not just its setcaps() function.
20402
20403         * tests/network-clock.scm: 
20404         * tests/network-clock-utils.scm: A network clock simulator.
20405         Something of an algorithmic testbed before doing something in C.
20406
20407 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
20408
20409         * check/Makefile.am:
20410         * check/gst/capslist.h:
20411           copy over from 0.8, and add two with bitmasks specified with
20412           (int) 0xFF...
20413         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
20414           add test to parse everything from capslist.h
20415         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
20416         (main):
20417           add test for structure deserialization
20418         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
20419           add tests for deserialization of strings to int types
20420         * gst/gststructure.c: (gst_structure_nth_field_name):
20421         * gst/gststructure.h:
20422           add a way to get the name of a field referenced by index
20423         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
20424           instead of checking if the resulting long long lies between
20425           min and max, we check if the long long would fit into
20426           a number of bytes for the final type.
20427           This fixes cases where a string represents 2^32 - 1, which
20428           when cast to int would be the (valid) -1, but is bigger than
20429           G_MAXINT
20430
20431 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
20432
20433         * gst/parse/grammar.y:
20434           add a log line for type deserialization
20435
20436 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
20437
20438         * check/gst/gstvalue.c: (START_TEST):
20439         * gst/gstvalue.c: (gst_value_deserialize):
20440           return long long, not int, so gint64 deserialization actually
20441           works.  Is there any flag that makes the compiler check this ?
20442           Fixes #308559
20443
20444 2005-06-22  Wim Taymans  <wim@fluendo.com>
20445
20446         * gst/gstbuffer.h:
20447         Added convenience macros for setting buffers in GValue.
20448
20449 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
20450
20451         * check/gst/.cvsignore:
20452         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
20453           add a test deserializing int64, and comment part out because
20454           it fails, yay !
20455
20456 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
20457
20458         * check/Makefile.am:
20459         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
20460         * testsuite/Makefile.am:
20461         * testsuite/caps/Makefile.am:
20462         * testsuite/caps/value_serialize.c:
20463         * testsuite/test_gst_init.c:
20464           move a value_serialize test over
20465
20466 2005-06-20  Wim Taymans  <wim@fluendo.com>
20467
20468         * gst/gstpad.c:
20469         Small doc updates.
20470         
20471         * gst/gstvalue.c: (gst_value_compare_buffer),
20472         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
20473         (gst_value_compare_flags), (gst_value_serialize_flags),
20474         (gst_value_deserialize_flags), (_gst_value_initialize):
20475         Fix serialisation of buffers, they are not boxed types anymore
20476
20477 2005-06-20  Wim Taymans  <wim@fluendo.com>
20478
20479         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
20480         Testcase to show error in buffer-on-caps serialisation.
20481
20482 2005-06-20  Andy Wingo  <wingo@pobox.com>
20483
20484         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
20485         will be adding to later.
20486
20487         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
20488         if its socks fill with rocks.
20489         (gst_system_clock_obtain): Set the name on object construction.
20490         Avoid double-checked locking.
20491
20492 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
20493
20494         * gst/gsturi.c: (gst_element_make_from_uri):
20495           Fix potential endless loop.
20496
20497 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
20498
20499         * check/Makefile.am:
20500           add gsttag
20501         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
20502         (main):
20503           move over from testsuite dir and clean up
20504         * configure.ac:
20505         * gst/gsttag.c:
20506         * testsuite/Makefile.am:
20507         * testsuite/tags/.cvsignore:
20508         * testsuite/tags/Makefile.am:
20509         * testsuite/tags/merge.c:
20510           remove testsuite/tags
20511
20512 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
20513
20514         * docs/gst/gstreamer-sections.txt:
20515         * docs/gst/tmpl/gstenumtypes.sgml:
20516         * win32/gstenumtypes.c:
20517           clean up documentation build a little
20518
20519 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
20520
20521         * check/gstcheck.h:
20522           add macros for checking refcounts on objects and caps
20523         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
20524           add some more unit tests
20525         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
20526         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
20527           fix leaked refcounts (I hope :)) so unittest works
20528         * gst/gstpad.h:
20529           whitespace removal
20530
20531 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
20532
20533         * configure.ac: back to HEAD
20534
20535 === release 0.9.1 ===
20536
20537 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
20538
20539         * NEWS:
20540         * RELEASE:
20541           updated
20542
20543 2005-06-17  Andy Wingo  <wingo@pobox.com>
20544
20545         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
20546         assert; it's always possible that the pad gets deactivated in
20547         between the checks in gstpad.c and the implementation. Rely on
20548         finish_preroll() to return a FLUSHING or similar instead of on the
20549         assert.
20550         
20551         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
20552         clock and post an EOS message if we come out of finish_preroll in
20553         the playing state.
20554
20555 2005-06-16  David Schleef  <ds@schleef.org>
20556
20557         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
20558         (gst_capsfilter_set_property): Allow NULL as possible value
20559         for filter_caps property, indicating GST_CAPS_ANY.
20560
20561 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
20562
20563         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
20564           fix debug output
20565         * gst/schedulers/Makefile.am:
20566           use libgst prefix
20567         * gstreamer.spec.in:
20568           fix spec for it
20569
20570 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
20571
20572         * gstreamer.spec.in:
20573           clean up
20574
20575 2005-06-08  Andy Wingo  <wingo@pobox.com>
20576
20577         * gst/gstutils.c: RPAD fixes all around.
20578         (gst_element_link_pads): Refcounting fixes.
20579
20580         * tools/gst-inspect.c:
20581         * tools/gst-xmlinspect.c:
20582         * parse/grammar.y:
20583         * gst/base/gsttypefindhelper.c:
20584         * gst/base/gstbasesink.c:
20585         * gst/gstqueue.c: RPAD fixes.
20586
20587         * gst/gstghostpad.h:
20588         * gst/gstghostpad.c: New ghost pad implementation as full proxy
20589         pads. The tricky thing is they provide both source and sink
20590         interfaces, since they proxy the internal pad for the external
20591         pad, and vice versa. Implement with lower-level ProxyPad objects,
20592         with the interior proxy pad as a child of the exterior ghost pad.
20593         Should write a doc on this.
20594         
20595         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
20596         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
20597         gst_object API.
20598         
20599         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
20600         pads are real pads. No ghost pads in this file. Not documenting
20601         the myriad s/RPAD/PAD/ and REALIZE fixes.
20602         (gst_pad_class_init): Add properties for "direction" and
20603         "template". Both are construct-only, so they can't change during
20604         the life of the pad. Fixes properly deriving from GstPad.
20605         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
20606         derived objects, just set properties when creating the objects via
20607         g_object_new.
20608         (gst_pad_get_parent): Implement as a function, return NULL if the
20609         parent is not an element.
20610         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
20611         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
20612         
20613         * gst/gstobject.c (gst_object_class_init): Make name a construct
20614         property. Don't set it in the object init.
20615
20616         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
20617         with UNKNOWN direction.
20618         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
20619         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
20620         (gst_element_remove_pad): Remove ghost-pad special cases.
20621         (gst_element_pads_activate): Remove rpad cruft.
20622
20623         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
20624         catch the pad's-parent-not-an-element case.
20625
20626         * gst/gst.h: Include gstghostpad.h.
20627
20628         * gst/gst.c (init_post): No more real, ghost pads.
20629
20630         * gst/Makefile.am: Add gstghostpad.[ch].
20631
20632         * check/Makefile.am:
20633         * check/gst/gstbin.c:
20634         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
20635         into a bin creates ghost pads, and that the refcounts are right.
20636         Partly moved from gstbin.c.
20637
20638 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
20639
20640         * check/gst-libs/.cvsignore:
20641         * check/gst/.cvsignore:
20642         * check/pipelines/.cvsignore:
20643           ignore more
20644         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
20645         (START_TEST), (cleanup_suite), (main):
20646           add some tests related to cleanup after running pipelines
20647
20648 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
20649
20650         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
20651           add a testsuite for GstBuffer
20652
20653 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
20654
20655         * gst/gstminiobject.h:
20656           add defines for accessing the refcount
20657
20658 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
20659
20660         * Makefile.am: added support for html unit test coverage reports
20661
20662 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
20663
20664         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
20665           Free existing caps if the capsfilter changes. Add a FIXME about
20666           setting those caps on the pads.
20667
20668         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
20669           Before adding a ghost pad to a parent bin, check that there isn't
20670           already one for the element on the bin. Prevents infinite recursion
20671           when using decodebin in parse pipelines. Andy says he'll rewrite the
20672           way this works anyway, so ignore the hack.
20673
20674 2005-06-02  Andy Wingo  <wingo@pobox.com>
20675
20676         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
20677         file size, pass it on to the type find helper.
20678
20679         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
20680         segment_start and segment_end properly according to the seek
20681         method. Segment_end is still a bit flaky because offset can be
20682         negative for CUR and END cases, but it takes -1 as an "unset"
20683         value.
20684
20685 2005-06-02  Wim Taymans  <wim@fluendo.com>
20686
20687         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
20688         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
20689         (gst_basesink_activate):
20690         * gst/base/gstbasesink.h:
20691         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
20692         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
20693         (gst_pad_query), (gst_pad_start_task):
20694         * gst/gstpad.h:
20695         * gst/gstqueue.c: (gst_queue_bufferalloc),
20696         (gst_queue_handle_sink_event), (gst_queue_chain):
20697         Bufferalloc: return GstFlowReturn to more accuratly report
20698         why allocation failed.
20699
20700 2005-06-02  Wim Taymans  <wim@fluendo.com>
20701
20702         * gst/gstpipeline.c: (gst_pipeline_send_event):
20703         Take snapshot of state without blocking.
20704
20705 2005-06-02  Wim Taymans  <wim@fluendo.com>
20706
20707         * docs/design/part-TODO.txt:
20708         * docs/design/part-caps.txt:
20709         * docs/design/part-clocks.txt:
20710         * docs/design/part-negotiation.txt:
20711         * docs/design/part-preroll.txt:
20712         Small doc updates 
20713
20714 2005-05-30  Wim Taymans  <wim@fluendo.com>
20715
20716         * gst/elements/gstidentity.c: (gst_identity_event),
20717         (gst_identity_transform), (gst_identity_get_property):
20718         Protect last_message property as it is accessed from
20719         multiple threads.
20720
20721 2005-05-30  Wim Taymans  <wim@fluendo.com>
20722
20723         * gst/gstelement.c: (gst_element_init),
20724         (gst_element_pads_activate), (gst_element_change_state):
20725         Slicker pad activation code.
20726
20727 2005-05-30  Wim Taymans  <wim@fluendo.com>
20728
20729         * gst/Makefile.am:
20730         * gst/gstelement.h:
20731         * gst/gstelementfactory.h:
20732         * gst/gsttypes.h:
20733         Move elementfactory methods to separate .h file.
20734
20735 2005-05-30  Wim Taymans  <wim@fluendo.com>
20736
20737         * docs/design/part-overview.txt:
20738         * gst/gstsystemclock.h:
20739         Small typo fixes, doc updates.
20740
20741 2005-05-30  Wim Taymans  <wim@fluendo.com>
20742
20743         * gst/gst.c: (gst_init_get_popt_table), (init_post),
20744         (init_popt_callback):
20745         Remove cpu-opt flag.
20746
20747 2005-05-30  Wim Taymans  <wim@fluendo.com>
20748
20749         * gst/gstbuffer.c: (gst_subbuffer_finalize),
20750         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
20751         * gst/gstbuffer.h:
20752         Avoid typechecking in places where not needed.
20753         Added accessor for malloc_data.
20754
20755 2005-05-30  Wim Taymans  <wim@fluendo.com>
20756
20757         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
20758         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
20759         (gst_pad_configure_sink), (gst_pad_configure_src),
20760         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
20761         (gst_pad_start_task):
20762         Propagate errors from _set_caps() in configure_src/sink
20763         functions instead of returning TRUE.
20764         FLUSH events can travel up and downstream
20765
20766
20767 2005-05-30  Wim Taymans  <wim@fluendo.com>
20768
20769         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
20770         (gst_basesink_activate):
20771         Handle EOS in preroll.
20772
20773 2005-05-30  Wim Taymans  <wim@fluendo.com>
20774
20775         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
20776         (gst_queue_loop), (gst_queue_handle_src_event):
20777         Remove old pieces of code
20778         Flushing the queue in an upstream event is a very bad idea.
20779
20780 2005-05-26  Andy Wingo  <wingo@pobox.com>
20781
20782         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
20783         gst_value_set_mini_object so as to add a ref on the object (which
20784         will be removed when the value is unset).
20785
20786         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
20787         arg type in ::handoff.
20788
20789         * gst/gstelement.c (gst_element_change_state): Also deactivate
20790         pads in READY->NULL, just in case the element didn't make it to
20791         PAUSED. Wingo tested, Wim approved.
20792
20793 2005-05-26  Wim Taymans  <wim@fluendo.com>
20794
20795         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
20796         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
20797         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
20798         A flushing pad cannot be used to alloc_buffer from.
20799
20800 2005-05-26  Wim Taymans  <wim@fluendo.com>
20801
20802         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
20803         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
20804         (gst_bus_source_dispatch), (gst_bus_source_finalize),
20805         (gst_bus_create_watch), (gst_bus_add_watch_full):
20806         * gst/gstbus.h:
20807         Implement a real GSource and use g_main_context_wakeup() to
20808         signal new messages instead of the socketpair.
20809
20810 2005-05-25  Wim Taymans  <wim@fluendo.com>
20811
20812         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
20813         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
20814         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
20815         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
20816         (gst_pad_send_event), (gst_pad_start_task):
20817         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
20818         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
20819         (gst_queue_sink_activate), (gst_queue_src_activate),
20820         (gst_queue_change_state):
20821         * gst/gstqueue.h:
20822         Fix state changes for non sinks. We now change sinks, then elements
20823         with unconnected srcpads, then the rest.
20824         More efficient queue unlocking in flush and state changes.
20825         Set the pad activate mode even if it does not have an activate
20826         function.
20827
20828 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20829
20830         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
20831           Don't go in pull mode for non-seekable sources.
20832         * gst/elements/gsttypefindelement.h:
20833         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
20834         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
20835         (free_entry), (stop_typefinding),
20836         (gst_type_find_element_handle_event), (find_peek),
20837         (gst_type_find_element_chain), (do_pull_typefind),
20838         (gst_type_find_element_change_state):
20839           Allow typefinding (w/o seeking) in push-mode, simplified version
20840           of what was in 0.8.
20841         * gst/gstutils.c: (gst_buffer_join):
20842         * gst/gstutils.h:
20843           gst_buffer_join() from 0.8.
20844
20845 2005-05-25  Wim Taymans  <wim@fluendo.com>
20846
20847         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
20848         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
20849         (gst_pad_send_event), (gst_pad_start_task):
20850         Disable attempt at mode switching until it is figured out.
20851
20852 2005-05-25  Wim Taymans  <wim@fluendo.com>
20853
20854         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
20855         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
20856         (gst_basesink_finish_preroll), (gst_basesink_chain),
20857         (gst_basesink_loop), (gst_basesink_activate),
20858         (gst_basesink_change_state):
20859         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
20860         (gst_basesrc_get_range), (gst_basesrc_loop),
20861         (gst_basesrc_activate):
20862         * gst/elements/gsttee.c: (gst_tee_sink_activate):
20863         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
20864         (gst_real_pad_init), (gst_real_pad_set_property),
20865         (gst_real_pad_get_property), (gst_pad_set_active),
20866         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
20867         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
20868         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
20869         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
20870         (gst_pad_event_default_dispatch), (gst_pad_event_default),
20871         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
20872         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
20873         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
20874         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
20875         (gst_pad_stop_task):
20876         * gst/gstpad.h:
20877         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
20878         (gst_queue_loop), (gst_queue_src_activate):
20879         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
20880         (gst_task_get_state):
20881         * gst/gsttask.h:
20882         * gst/schedulers/threadscheduler.c:
20883         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
20884         Implement gst_pad_pause/start/stop_task(), take STREAM lock
20885         in task function.
20886         Remove ACTIVE pad flag, use FLUSHING everywhere
20887         Added _pad_chain(), _pad_get_range() to call chain/getrange 
20888         functions.
20889         Add locks around IS_FLUSHING when reading.
20890         Take STREAM lock in chain(), get_range() functions so plugins
20891         don't need to take it anymore.
20892         
20893
20894
20895 2005-05-25  Wim Taymans  <wim@fluendo.com>
20896
20897         * tools/gst-launch.c: (event_loop):
20898         Unref message after using its contents instead of
20899         before.
20900
20901 2005-05-24  Wim Taymans  <wim@fluendo.com>
20902
20903         * docs/design/draft-ghostpads.txt:
20904         * docs/design/draft-push-pull.txt:
20905         * docs/design/draft-query.txt:
20906         * docs/design/part-overview.txt:
20907         Docs updates, added general overview doc.
20908
20909 2005-05-21  David Schleef  <ds@schleef.org>
20910
20911         * docs/gst/tmpl/old/GstBin.sgml:
20912         * docs/gst/tmpl/old/GstBuffer.sgml:
20913         * docs/gst/tmpl/old/GstCaps.sgml:
20914         * docs/gst/tmpl/old/GstClock.sgml:
20915         * docs/gst/tmpl/old/GstCompat.sgml:
20916         * docs/gst/tmpl/old/GstData.sgml:
20917         * docs/gst/tmpl/old/GstElement.sgml:
20918         * docs/gst/tmpl/old/GstEvent.sgml:
20919         * docs/gst/tmpl/old/GstIndex.sgml:
20920         * docs/gst/tmpl/old/GstStructure.sgml:
20921         * docs/gst/tmpl/old/GstTag.sgml:
20922         * docs/gst/tmpl/old/cothreads.sgml:
20923         * docs/gst/tmpl/old/cothreads_compat.sgml:
20924         * docs/gst/tmpl/old/gettext.sgml:
20925         * docs/gst/tmpl/old/gobject2gtk.sgml:
20926         * docs/gst/tmpl/old/grammar.tab.sgml:
20927         * docs/gst/tmpl/old/gst-i18n-app.sgml:
20928         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
20929         * docs/gst/tmpl/old/gst_private.sgml:
20930         * docs/gst/tmpl/old/gstaggregator.sgml:
20931         * docs/gst/tmpl/old/gstarch.sgml:
20932         * docs/gst/tmpl/old/gstatomic_impl.sgml:
20933         * docs/gst/tmpl/old/gstbufferstore.sgml:
20934         * docs/gst/tmpl/old/gstdata_private.sgml:
20935         * docs/gst/tmpl/old/gstdisksink.sgml:
20936         * docs/gst/tmpl/old/gstdisksrc.sgml:
20937         * docs/gst/tmpl/old/gstelementfactory.sgml:
20938         * docs/gst/tmpl/old/gstextratypes.sgml:
20939         * docs/gst/tmpl/old/gstfakesink.sgml:
20940         * docs/gst/tmpl/old/gstfakesrc.sgml:
20941         * docs/gst/tmpl/old/gstfdsink.sgml:
20942         * docs/gst/tmpl/old/gstfdsrc.sgml:
20943         * docs/gst/tmpl/old/gstfilesink.sgml:
20944         * docs/gst/tmpl/old/gstfilesrc.sgml:
20945         * docs/gst/tmpl/old/gsthttpsrc.sgml:
20946         * docs/gst/tmpl/old/gstidentity.sgml:
20947         * docs/gst/tmpl/old/gstindexfactory.sgml:
20948         * docs/gst/tmpl/old/gstmarshal.sgml:
20949         * docs/gst/tmpl/old/gstmd5sink.sgml:
20950         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
20951         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
20952         * docs/gst/tmpl/old/gstpadtemplate.sgml:
20953         * docs/gst/tmpl/old/gstpipefilter.sgml:
20954         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
20955         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
20956         * docs/gst/tmpl/old/gstshaper.sgml:
20957         * docs/gst/tmpl/old/gstspider.sgml:
20958         * docs/gst/tmpl/old/gstspideridentity.sgml:
20959         * docs/gst/tmpl/old/gststatistics.sgml:
20960         * docs/gst/tmpl/old/gsttee.sgml:
20961         * docs/gst/tmpl/old/gsttimecache.sgml:
20962         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
20963         * docs/gst/tmpl/old/gstxmlregistry.sgml:
20964         * docs/gst/tmpl/old/gthread-cothreads.sgml:
20965         * docs/gst/tmpl/old/types.sgml:
20966           I didn't intend to add these or check them in.
20967
20968 2005-05-19  David Schleef  <ds@schleef.org>
20969
20970         * configure.ac: Use -no-common everywhere.  In a sane world, it
20971           would be the default in libtool, because without it, you can't
20972           build DLLs on Windows.
20973         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
20974         * docs/gst/gstreamer-sections.txt:
20975         * docs/gst/tmpl/gstcpu.sgml:
20976         * docs/gst/tmpl/gstdata.sgml:
20977         * docs/gst/tmpl/gstthread.sgml:
20978
20979 2005-05-19  David Schleef  <ds@schleef.org>
20980
20981         * gst/gstminiobject.c: (gst_value_set_mini_object),
20982         (gst_value_take_mini_object), (gst_value_get_mini_object):
20983         * gst/gstminiobject.h: Add GValue set/get functions.
20984
20985 2005-05-19  Wim Taymans  <wim@fluendo.com>
20986
20987         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
20988         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
20989         (gst_subbuffer_init), (gst_buffer_is_span_fast):
20990         * gst/gstbuffer.h:
20991         * gst/gstbus.c: (gst_bus_post):
20992         * gst/gstelement.c: (gst_element_get_random_pad):
20993         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
20994         Make subbufer unref the parent in finalize.
20995         some more debugging info.
20996
20997
20998 2005-05-19  Wim Taymans  <wim@fluendo.com>
20999
21000         * gst/base/gstbasesink.c: (gst_basesink_class_init),
21001         (gst_basesink_init), (gst_basesink_finalize),
21002         (gst_basesink_activate), (gst_basesink_change_state):
21003         Don't free preroll queue too early.
21004
21005 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21006
21007         * gst/Makefile.am:
21008         * gst/ROADMAP:
21009           Hi, I'm outdated. Please shoot me.
21010
21011 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21012
21013         * gst/gstpipeline.c: (gst_pipeline_send_event):
21014           Do not access variables after they have been deleted.
21015
21016 2005-05-19  Wim Taymans  <wim@fluendo.com>
21017
21018         * tools/gst-inspect.c: (print_plugin_features):
21019         A plugin feature does unfortunatly not use the
21020         object name yet...
21021
21022 2005-05-18  Wim Taymans  <wim@fluendo.com>
21023
21024         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
21025         Port _span() functions to new subbuffers.
21026
21027 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21028
21029         * gst/gstbin.c: (gst_bin_add_func):
21030           Fix clock settery in bins when adding kids after the clock has
21031           been selected.
21032
21033 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21034
21035         * gst/elements/gstidentity.c: (gst_identity_class_init):
21036           Workaround until signals support GstMiniObject.
21037
21038 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
21039
21040         * gst/gstbuffer.c:
21041         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
21042
21043 2005-05-18  Wim Taymans  <wim@fluendo.com>
21044
21045         * gst/base/Makefile.am:
21046         * gst/base/gstadapter.c: (gst_adapter_base_init),
21047         (gst_adapter_class_init), (gst_adapter_init),
21048         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
21049         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
21050         (gst_adapter_flush), (gst_adapter_available),
21051         (gst_adapter_available_fast):
21052         * gst/base/gstadapter.h:
21053         Ported and added adapter to the base classes.
21054
21055 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
21056
21057         * gst/gst.c:
21058         * gst/gstmessage.c:
21059           Make sure the class is reffed/unreffed once before threads can be
21060           used.  Fixes #304551.
21061
21062 2005-05-17  Wim Taymans  <wim@fluendo.com>
21063
21064         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
21065         (gst_basesink_chain_unlocked), (gst_basesink_activate):
21066         * gst/gstminiobject.c: (gst_mini_object_get_type),
21067         (gst_mini_object_free):
21068         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
21069         (gst_pad_push), (gst_pad_push_event):
21070         * gst/gstqueue.c: (gst_queue_change_state):
21071         Don't queue buffers in basesink when we are flushing.
21072         Unref buffer when flushing in basesink.
21073         Flush queue when going to READY
21074         Unref buffer when _push() returns an error.
21075         Don't free MiniObject instance when refcount is incremented
21076         in _finalize() so that we can recover objects.
21077
21078 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
21079
21080         * docs/manual/advanced-schedulers.xml:
21081         * docs/manual/appendix-checklist.xml:
21082         * docs/pwg/advanced-clock.xml:
21083         * docs/pwg/advanced-interfaces.xml:
21084         * docs/pwg/advanced-request.xml:
21085         * docs/pwg/advanced-types.xml:
21086         * docs/pwg/intro-preface.xml:
21087         * examples/plugins/example.c: (gst_example_get_type),
21088         (gst_example_class_init), (gst_example_chain),
21089         (gst_example_set_property), (gst_example_get_property),
21090         (gst_example_change_state), (plugin_init):
21091         * examples/plugins/example.h:
21092           small doc fixes
21093
21094 2005-05-17  Wim Taymans  <wim@fluendo.com>
21095
21096         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
21097         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
21098         * gst/gstqueue.c: (gst_queue_change_state):
21099         Clear queue when going to READY.
21100         Remove IN_SETCAPS flag too.
21101
21102 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
21103
21104         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
21105           Remove implicit cast from gboolean to GstElementStateReturn;
21106           make sure we still return failure in paused => ready case if
21107           the parent class fails to change state and our own stop 
21108           vfunc succeeds.
21109
21110 2005-05-17  Wim Taymans  <wim@fluendo.com>
21111
21112         * tools/gst-launch.c: (event_loop):
21113         Message was unreffed too soon.
21114
21115 2005-05-16  Andy Wingo  <wingo@pobox.com>
21116
21117         * gst/gstbin.c (sink_iterator_filter): Err... um...
21118
21119         * check/gst/gstbin.c (test_ghost_pads): New test for the
21120         ghosting-if-elements-not-in-same-bin behavior.
21121
21122 2005-05-16  David Schleef  <ds@schleef.org>
21123
21124         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
21125         accessing refcount directly.
21126
21127 2005-05-15  David Schleef  <ds@schleef.org>
21128
21129         * check/Makefile.am: remove GstData checks
21130         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
21131         * gst/Makefile.am: add miniobject, remove data
21132         * gst/gst.h: add miniobject, remove data
21133         * gst/gstdata.c: remove
21134         * gst/gstdata.h: remove
21135         * gst/gstdata_private.h: remove
21136         * gst/gsttypes.h: remove GstEvent and GstMessage
21137         * gst/gstelement.c: (gst_element_post_message): fix for API changes
21138         * gst/gstmarshal.list: change BOXED -> OBJECT
21139
21140         Implement GstMiniObject.
21141         * gst/gstminiobject.c:
21142         * gst/gstminiobject.h:
21143
21144         Modify to be subclasses of GstMiniObject.
21145         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
21146         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
21147         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
21148         (gst_subbuffer_get_type), (gst_subbuffer_init),
21149         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
21150         (gst_buffer_span):
21151         * gst/gstbuffer.h:
21152         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
21153         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
21154         (_gst_event_copy), (gst_event_new):
21155         * gst/gstevent.h:
21156         * gst/gstmessage.c: (_gst_message_initialize),
21157         (gst_message_get_type), (gst_message_class_init),
21158         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
21159         (gst_message_new), (gst_message_new_error),
21160         (gst_message_new_warning), (gst_message_new_tag),
21161         (gst_message_new_state_changed), (gst_message_new_application):
21162         * gst/gstmessage.h:
21163         * gst/gstprobe.c: (gst_probe_perform),
21164         (gst_probe_dispatcher_dispatch):
21165         * gst/gstprobe.h:
21166         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
21167         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
21168         (_gst_query_copy), (gst_query_new):
21169
21170         Update elements for GstData -> GstMiniObject changes
21171         * gst/gstquery.h:
21172         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
21173         (gst_queue_chain), (gst_queue_loop):
21174         * gst/elements/gstbufferstore.c:
21175         (gst_buffer_store_add_buffer_func),
21176         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
21177         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
21178         (gst_fakesink_render):
21179         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
21180         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
21181         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
21182         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
21183         (gst_filesrc_create_read):
21184         * gst/elements/gstidentity.c: (gst_identity_class_init):
21185         * gst/elements/gsttypefindelement.c:
21186         (gst_type_find_element_src_event), (free_entry_buffers),
21187         (gst_type_find_element_handle_event):
21188         * libs/gst/dataprotocol/dataprotocol.c:
21189         (gst_dp_header_from_buffer):
21190         * libs/gst/dataprotocol/dataprotocol.h:
21191         * libs/gst/dataprotocol/dp-private.h:
21192
21193 2005-05-15  David Schleef  <ds@schleef.org>
21194
21195         * gst/elements/gstelements.c: Don't include headers that were
21196         just removed.
21197
21198 2005-05-15  David Schleef  <ds@schleef.org>
21199
21200         * gst/elements/Makefile.am: Remove some elements that don't
21201         need to be in the core (or even exist at all).
21202         * gst/elements/gstaggregator.c:
21203         * gst/elements/gstaggregator.h:
21204         * gst/elements/gstmd5sink.c:
21205         * gst/elements/gstmd5sink.h:
21206         * gst/elements/gstmultifilesrc.c:
21207         * gst/elements/gstmultifilesrc.h:
21208         * gst/elements/gstpipefilter.c:
21209         * gst/elements/gstpipefilter.h:
21210         * gst/elements/gstshaper.c:
21211         * gst/elements/gstshaper.h:
21212         * gst/elements/gststatistics.c:
21213         * gst/elements/gststatistics.h:
21214         * po/POTFILES.in: Remove above files.
21215
21216 2005-05-14  Andy Wingo  <wingo@pobox.com>
21217
21218         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
21219         so as to get the refs right.
21220         (sink_iterator_filter): New function, wraps bin_element_is_sink,
21221         unreffing objects that don't pass the filter.
21222
21223         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
21224         gst_element_set_bus.
21225         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
21226         normal cases, this will destroy the bus.
21227
21228         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
21229         object.
21230
21231         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
21232         has no sinks.
21233
21234 2005-05-13  Andy Wingo  <wingo@pobox.com>
21235
21236         * gst/gstutils.c (gst_element_link_pads): Instead of calling
21237         gst_pad_link, call pad_link_maybe_ghosting,
21238         (pad_link_maybe_ghosting): Links pads, making sure that the
21239         elements being linked are in the same bin.
21240         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
21241         Helpers for pad_link_maybe_ghosting.
21242
21243 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
21244
21245         * configure.ac:
21246           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
21247
21248 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
21249
21250         * docs/design/part-element-source.txt:
21251           Mention GstPushSrc
21252
21253 2005-05-12  Wim Taymans  <wim@fluendo.com>
21254
21255         * gst/base/gstbasesink.c: (gst_basesink_init),
21256         (gst_basesink_activate):
21257         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
21258         (gst_basesrc_is_seekable):
21259         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
21260         (bin_element_is_sink), (gst_bin_change_state):
21261         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
21262         * gst/gstelement.h:
21263         Identify sinks by their flag to avoid overly complicated
21264         checks (fow now).
21265         Do state changes even for elements not reachable from the
21266         sinks.
21267         BaseSink is a sink now :)
21268         Some more debugging info in the basesrc.
21269
21270
21271 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21272
21273         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
21274           Implement _query on a bin, similar to _send_event.
21275
21276 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
21277
21278         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
21279           Discont event offset format should be GST_FORMAT_BYTES,
21280           not GST_FORMAT_TIME.
21281
21282 2005-05-12  Wim Taymans  <wim@fluendo.com>
21283
21284         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
21285         Same fix as Ronald's but without the signal. 
21286
21287 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21288
21289         * gst/gstutils.c: (gst_element_query_position):
21290           No, an element is not a pad.
21291
21292 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21293
21294         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
21295         (gst_bin_get_state):
21296           If a child is removed from a bin while we remove the child from
21297           the bin and while we're retrieving its state, signal this to the
21298           get_state function so we abort the wait (instead of waiting for
21299           a timeout) and can immediately re-iterate over all other elements.
21300
21301 2005-05-12  Wim Taymans  <wim@fluendo.com>
21302
21303         * gst/base/Makefile.am:
21304         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
21305         (gst_basesrc_start):
21306         * gst/base/gstbasesrc.h:
21307         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
21308         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
21309         (gst_pushsrc_init), (gst_pushsrc_create):
21310         * gst/base/gstpushsrc.h:
21311         Added is_seekable to BaseSrc
21312         Added simple PushSrc.
21313
21314 2005-05-11  Wim Taymans  <wim@fluendo.com>
21315
21316         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
21317         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
21318         (gst_element_link_pads), (gst_element_query_position),
21319         (gst_element_query_convert), (intersect_caps_func),
21320         (gst_pad_query_position), (gst_pad_query_convert):
21321         Fix refcounting in utils function.
21322         No point in trying to activate a pad when it's added, it could
21323         be added from the state change function and then we deadlock, the
21324         element has to decide what to do.
21325
21326 2005-05-10  Andy Wingo  <wingo@pobox.com>
21327
21328         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
21329         *all* the arguments.
21330
21331         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
21332         stream lock if it's a FLUSH_DONE; normal flushes don't get the
21333         lock (according to the docs -- if this is wrong change the docs).
21334
21335         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
21336         flush messages in the NULL state.
21337
21338         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
21339         message immediately and return.
21340         (gst_bus_set_flushing): New function. If a bus is flushing, it
21341         flushes out any queued messages and immediately unrefs new
21342         messages. This is so when an element goes to NULL, all of the
21343         unhandled messages coming from it can be freed, and their
21344         references to the element dropped. In other words: message source
21345         ref considered harmful :P
21346
21347         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
21348         we're finished with it.
21349
21350         * gst/gstmessage.c (gst_message_new_state_changed): 
21351
21352 2005-05-10  Wim Taymans  <wim@fluendo.com>
21353
21354         * gst/gstvalue.c: (gst_value_compare_flags),
21355         (gst_value_serialize_flags), (gst_value_deserialize_flags),
21356         (_gst_value_initialize):
21357         Added flags serialize/deserialize/compare code.
21358
21359 2005-05-09  Andy Wingo  <wingo@pobox.com>
21360
21361         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
21362         Intersect the peer's caps with our caps.
21363
21364 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21365
21366         * gst/base/gsttypefindhelper.c: (helper_find_peek):
21367         * gst/elements/gsttypefindelement.c: (find_peek):
21368           Handle negative offsets better. Fixes decodebin.
21369
21370 2005-05-09  Wim Taymans  <wim@fluendo.com>
21371
21372         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
21373         (gst_base_transform_event):
21374         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
21375         Implement accept_caps.
21376         Fix silly lock/unlock mismatch in base class.
21377
21378 2005-05-09  Wim Taymans  <wim@fluendo.com>
21379
21380         * docs/design/draft-push-pull.txt:
21381         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
21382         * gst/elements/gstfilesink.c: (gst_filesink_init),
21383         (gst_filesink_query):
21384         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
21385         (gst_type_find_handle_src_query), (find_element_get_length):
21386         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
21387         * gst/gstelement.h:
21388         * gst/gstmessage.c:
21389         * gst/gstmessage.h:
21390         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
21391         (gst_real_pad_get_caps_unlocked),
21392         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
21393         (gst_pad_event_default_dispatch), (gst_pad_event_default),
21394         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
21395         (gst_real_pad_dispose), (gst_real_pad_finalize),
21396         (gst_pad_load_and_link), (gst_pad_save_thyself),
21397         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
21398         (gst_pad_check_pull_range), (gst_pad_pull_range),
21399         (gst_pad_template_get_type), (gst_pad_template_class_init),
21400         (gst_pad_template_init), (gst_pad_template_dispose),
21401         (name_is_valid), (gst_static_pad_template_get),
21402         (gst_pad_template_new), (gst_static_pad_template_get_caps),
21403         (gst_pad_template_get_caps), (gst_pad_set_element_private),
21404         (gst_pad_get_element_private), (gst_pad_start_task),
21405         (gst_pad_pause_task), (gst_pad_stop_task),
21406         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
21407         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
21408         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
21409         (gst_ghost_pad_new):
21410         * gst/gstpad.h:
21411         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
21412         (gst_query_new_position), (gst_query_set_position),
21413         (gst_query_parse_position), (gst_query_new_convert),
21414         (gst_query_set_convert), (gst_query_parse_convert):
21415         * gst/gstquery.h:
21416         * gst/gstqueryutils.c:
21417         * gst/gstqueryutils.h:
21418         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
21419         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
21420         (gst_queue_handle_src_query):
21421         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
21422         (gst_element_query_position), (gst_element_query_convert),
21423         (intersect_caps_func), (gst_pad_query_position),
21424         (gst_pad_query_convert):
21425         * gst/gstutils.h:
21426         * tools/gst-inspect.c: (print_pad_info):
21427         * tools/gst-xmlinspect.c: (print_element_info):
21428         Remove old query functions. Ported old code.
21429         Added position/convert helper functions to gstutils.
21430         Reordered gstpad.c code, grouping relevant things.
21431         Remove gst_message_new(), always need to speficy a specific
21432         message.
21433
21434
21435 2005-05-09  Andy Wingo  <wingo@pobox.com>
21436
21437         * gst/gstiterator.h: Add some includes.
21438
21439         * gst/gstqueryutils.h: Include more headers.
21440
21441         * gst/gstpad.h:
21442         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
21443         some uses of gst_pad_query.
21444
21445         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
21446         NULL out parameters.
21447         (gst_query_new_position): New proc, allocates a new position
21448         query.
21449
21450         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
21451         gstqueryutils.c to the build.
21452
21453         * gst/gststructure.c (gst_structure_set_valist): Implement with
21454         the generic G_VALUE_COLLECT.
21455         
21456 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
21457
21458         * gst/Makefile.am: (gst_headers):
21459         Added gstqueryutils.h to the list of headers to install, that was
21460         a 'nachty' move wingo :)
21461
21462 2005-05-06  Andy Wingo  <wingo@pobox.com>
21463
21464         * gst/gstquery.h
21465         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
21466         GstData, init a memchunk.
21467         (standard_definitions): Add a few query types, deprecate a few.
21468         (gst_query_get_type): New proc.
21469         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
21470         implementation.
21471         (gst_query_new_application, gst_query_get_structure): New public
21472         procs.
21473
21474         * docs/design/draft-query.txt: Removed LINKS from the query types,
21475         because all the rest can be dispatched to other pads -- seemed
21476         ugly to have a query that couldn't be dispatched. internal_links
21477         is fine as a pad method.
21478
21479         * gst/gstpad.h: Add query2 as a pad method, add the new functions
21480         in gstpad.c, but maintain binary compatibility for the moment.
21481         Will fix before 0.9 is out.
21482
21483         * gst/gstqueryutils.c: 
21484         * gst/gstqueryutils.h: New files, implement 3 methods for each
21485         query type: parse_query, parse_response, and set. Probably need an
21486         allocator as well.
21487
21488         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
21489
21490         * gst/elements/gstfilesink.c (gst_filesink_query2):
21491         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
21492         query_types, and formats methods.
21493
21494         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
21495         (gst_pad_set_query2_function): New functions.
21496         (gst_real_pad_init): Set query2_default as the default query2
21497         function. Basically just dispatches to internally linked pads.
21498
21499         Needs review!
21500         
21501         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
21502         without using the atomic operations. Only one thread can possibly
21503         be accessing the data at this point. Changed so as to avoid
21504         gst_atomic operations.
21505
21506 2005-05-06  Wim Taymans  <wim@fluendo.com>
21507
21508         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
21509         Also set caps if we use the fallback buffer alloc.
21510
21511 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
21512
21513         * docs/gst/Makefile.am:
21514         * docs/gst/gstreamer-docs.sgml:
21515         * docs/gst/gstreamer-sections.txt:
21516         * docs/gst/tmpl/gstatomic.sgml:
21517         * docs/gst/tmpl/gstmemchunk.sgml:
21518         * testsuite/elements/struct_i386.h:
21519         * win32/GStreamer.vcproj:
21520         * win32/Makefile:
21521           Purge GstAtomic stuff from docs and win32 makefiles as well
21522
21523 2005-05-06  Wim Taymans  <wim@fluendo.com>
21524
21525         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
21526         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
21527         * gst/gstpad.c: (gst_pad_peer_get_caps):
21528         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
21529         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
21530         (gst_queue_src_activate), (gst_queue_change_state):
21531         * gst/gstqueue.h:
21532         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
21533         (intersect_caps_func):
21534         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
21535         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
21536         Some fixes for the peer_get_caps() change.
21537
21538 2005-05-06  Wim Taymans  <wim@fluendo.com>
21539
21540         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
21541         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
21542         (gst_basesink_activate):
21543         Actually do something with error codes returned from the push
21544         functions.
21545
21546 2005-05-06  Wim Taymans  <wim@fluendo.com>
21547
21548         * docs/design/part-element-sink.txt:
21549         * docs/design/part-element-source.txt:
21550         * gst/base/gstbasesink.c: (gst_basesink_class_init),
21551         (gst_basesink_event), (gst_basesink_activate):
21552         * gst/base/gstbasesink.h:
21553         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
21554         (gst_basesrc_activate):
21555         * gst/base/gstbasesrc.h:
21556         * gst/gstelement.c: (gst_element_pads_activate):
21557         Some more documentation.
21558         Fixed scheduling decision in _pads_activate().
21559
21560 2005-05-05  Andy Wingo  <wingo@pobox.com>
21561
21562         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
21563         the test suite.
21564
21565 2005-05-05  Wim Taymans  <wim@fluendo.com>
21566
21567         * gst/base/Makefile.am:
21568         * gst/base/gstbasesink.h:
21569         * gst/base/gstbasesrc.c: (gst_basesrc_init),
21570         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
21571         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
21572         (gst_collectpads_class_init), (gst_collectpads_init),
21573         (gst_collectpads_finalize), (gst_collectpads_new),
21574         (gst_collectpads_set_function), (gst_collectpads_add_pad),
21575         (find_pad), (gst_collectpads_remove_pad),
21576         (gst_collectpads_is_active), (gst_collectpads_collect),
21577         (gst_collectpads_collect_range), (gst_collectpads_start),
21578         (gst_collectpads_stop), (gst_collectpads_peek),
21579         (gst_collectpads_pop), (gst_collectpads_available),
21580         (gst_collectpads_read), (gst_collectpads_flush),
21581         (gst_collectpads_chain):
21582         * gst/base/gstcollectpads.h:
21583         * gst/elements/Makefile.am:
21584         * gst/elements/gstelements.c:
21585         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
21586         (gst_fakesink_get_times), (gst_fakesink_event),
21587         (gst_fakesink_preroll), (gst_fakesink_render):
21588         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
21589         (gst_filesink_init), (gst_filesink_set_location),
21590         (gst_filesink_open_file), (gst_filesink_close_file),
21591         (gst_filesink_pad_query), (gst_filesink_event),
21592         (gst_filesink_render), (gst_filesink_change_state):
21593         * gst/elements/gstfilesink.h:
21594         Added object to help in making collect pad based elements.
21595         Ported filesink.
21596         Make event function in sink baseclass return gboolean.
21597
21598 2005-05-05  Wim Taymans  <wim@fluendo.com>
21599
21600         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
21601         (gst_bin_get_by_name):
21602         * gst/gstbuffer.h:
21603         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
21604         (gst_clock_finalize):
21605         * gst/gstdata.c: (gst_data_replace):
21606         * gst/gstdata.h:
21607         * gst/gstelement.c: (gst_element_request_pad),
21608         (gst_element_pads_activate):
21609         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
21610         (gst_object_unref):
21611         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
21612         (gst_pad_set_checkgetrange_function),
21613         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
21614         (gst_pad_check_pull_range), (gst_pad_pull_range),
21615         (gst_static_pad_template_get_caps), (gst_pad_start_task),
21616         (gst_pad_pause_task), (gst_pad_stop_task):
21617         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
21618         (gst_element_request_pad), (gst_pad_proxy_getcaps):
21619         Fix name lookup in GstBin.
21620         Added _data_replace() function and _buffer_replace()
21621         Use finalize method to clean up clock.
21622         Fix refcounting on request pads.
21623         Fix pad schedule mode error.
21624         Some more object refcounting debug info,
21625
21626
21627 2005-05-04  Andy Wingo <wingo@pobox.com>
21628
21629         * check/Makefile.am:
21630         * docs/gst/tmpl/gstatomic.sgml:
21631         * docs/gst/tmpl/gstplugin.sgml:
21632         * gst/base/gstbasesink.c: (gst_basesink_activate):
21633         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
21634         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
21635         (gst_basesrc_query), (gst_basesrc_set_property),
21636         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
21637         (gst_basesrc_activate):
21638         * gst/base/gstbasesrc.h:
21639         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
21640         (gst_base_transform_src_activate):
21641         * gst/elements/gstelements.c:
21642         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
21643         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
21644         * gst/elements/gsttee.c: (gst_tee_sink_activate):
21645         * gst/elements/gsttypefindelement.c: (find_element_get_length),
21646         (gst_type_find_element_checkgetrange),
21647         (gst_type_find_element_activate):
21648         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
21649         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
21650         (gst_caps_load_thyself):
21651         * gst/gstelement.c: (gst_element_pads_activate),
21652         (gst_element_save_thyself), (gst_element_restore_thyself):
21653         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
21654         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
21655         * gst/gstpad.h:
21656         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
21657         (gst_xml_parse_file), (gst_xml_parse_memory),
21658         (gst_xml_get_element), (gst_xml_make_element):
21659         * gst/indexers/gstfileindex.c: (gst_file_index_load),
21660         (_file_index_id_save_xml), (gst_file_index_commit):
21661         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
21662         (read_enum), (load_pad_template), (load_feature), (load_plugin),
21663         (load_paths):
21664         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
21665         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
21666         * tools/gst-complete.c: (main):
21667         * tools/gst-compprep.c: (main):
21668         * tools/gst-inspect.c: (print_element_properties_info):
21669         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
21670         * tools/gst-xmlinspect.c: (print_element_properties):
21671         GCC 4 fixen.
21672         
21673 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
21674
21675         * gst/gstplugin.c: (gst_plugin_check_module),
21676         (gst_plugin_check_file), (gst_plugin_load_file):
21677             apply patch from #172526 to make register work on MacOSX
21678
21679 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
21680
21681         * docs/gst/tmpl/gstconfig.sgml:
21682         * gst/gstconfig.h.in:
21683           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
21684         * testsuite/debug/printf_extension.c: (main):
21685           Do not use GST_PTR_FORMAT on pointers to types with
21686           sizeof < sizeof(gpointer).  Fixes test on 64-bit
21687         * testsuite/elements/property.h:
21688           use correct printf format
21689
21690 2005-05-02  Wim Taymans  <wim@fluendo.com>
21691
21692         * docs/design/draft-push-pull.txt:
21693         * docs/design/draft-query.txt:
21694         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
21695         (gst_basesrc_start):
21696         Added draft for new query API.
21697         Added draft for better selecting scheduling methods.
21698         Make basesrc ignore length if the subclass does not support
21699         it.
21700
21701 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
21702
21703         * gst/Makefile.am:
21704           possible fixes for automake-1.5 - _LIBADD is reserved
21705
21706 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
21707
21708         * docs/faq/Makefile.am:
21709         * docs/manual/Makefile.am:
21710         * docs/manuals.mak:
21711         * docs/pwg/Makefile.am:
21712         * gst/Makefile.am:
21713           possible fixes for automake-1.5
21714
21715 2005-04-28  Wim Taymans  <wim@fluendo.com>
21716
21717         * gst/base/gstbasesink.c: (gst_basesink_base_init),
21718         (gst_basesink_pad_getcaps), (gst_basesink_init),
21719         (gst_basesink_do_sync):
21720         * gst/gstclock.c: (gst_clock_entry_new):
21721         * gst/gstevent.c: (gst_event_discont_get_value):
21722         * gst/gstpipeline.c: (pipeline_bus_handler),
21723         (gst_pipeline_change_state):
21724         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
21725         Better debugging of clocking info.
21726         Allow NULL values when getting discont values.
21727
21728 2005-04-27  Wim Taymans  <wim@fluendo.com>
21729
21730         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
21731         * check/gst/gstpad.c: (gst_pad_suite):
21732         Increase timeout for checks.
21733
21734 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
21735
21736         * check/Makefile.am:
21737           fix the broken rule for cleanup.  Apparently this rule is
21738           only needed on FC2, so maybe this warrants further autotool
21739           inspection.
21740
21741 2005-04-26  Wim Taymans  <wim@fluendo.com>
21742
21743         * gst/gsttrashstack.h:
21744         Ooohh. a nasty one! After having a failed pop() from the stack,
21745         it's possible that the stack is empty. In that case, don't
21746         follow the NULL pointer.
21747
21748 2005-04-25  Wim Taymans  <wim@fluendo.com>
21749
21750         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
21751         (gst_pad_set_checkgetrange_function),
21752         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
21753         (gst_pad_check_pull_range), (gst_pad_pull_range),
21754         (gst_static_pad_template_get_caps), (gst_pad_start_task),
21755         (gst_pad_pause_task), (gst_pad_stop_task):
21756         * gst/gstplugin.c: (gst_plugin_load):
21757         * gst/gstplugin.h:
21758         Remove gst_library_load as it does more harm than good with
21759         the new g_module flags.
21760         Revert bogus caps template check in pad linking, pad caps
21761         are important when linking not the template, which is more
21762         general than the current caps.
21763
21764 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21765
21766         * gst/autoplug/.cvsignore:
21767         * gst/autoplug/Makefile.am:
21768         * gst/autoplug/gstsearchfuncs.c:
21769         * gst/autoplug/gstsearchfuncs.h:
21770         * gst/autoplug/gstspider.c:
21771         * gst/autoplug/gstspider.h:
21772         * gst/autoplug/gstspideridentity.c:
21773         * gst/autoplug/gstspideridentity.h:
21774         * gst/autoplug/spidertest.c:
21775           Die, spider, die.
21776
21777 2005-04-25  Wim Taymans  <wim@fluendo.com>
21778
21779         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
21780         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
21781         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
21782         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
21783         * gst/gstpad.h:
21784         Added stubs for unimplemented functions. 
21785
21786 2005-04-24  David Schleef  <ds@schleef.org>
21787
21788         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
21789         please fix.
21790
21791 2005-04-24  David Schleef  <ds@schleef.org>
21792
21793         Convert everything from GstAtomicInt to g_atomic_int_*, and
21794         remove gstatomic.
21795         * gst/Makefile.am:
21796         * gst/gstatomic.c:
21797         * gst/gstatomic.h:
21798         * gst/gstatomic_impl.h:
21799         * gst/gstbuffer.c:
21800         * gst/gstcaps.c:
21801         * gst/gstcaps.h:
21802         * gst/gstclock.c:
21803         * gst/gstclock.h:
21804         * gst/gstdata.c:
21805         * gst/gstdata.h:
21806         * gst/gstdata_private.h:
21807         * gst/gstevent.c:
21808         * gst/gstinfo.c:
21809         * gst/gstinfo.h:
21810         * gst/gstmessage.c:
21811         * gst/gstobject.c:
21812         * gst/gstobject.h:
21813         * gst/gststructure.c:
21814         * gst/gststructure.h:
21815         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
21816         * gst/gstutils.h:
21817
21818 2005-04-24  David Schleef  <ds@schleef.org>
21819
21820         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
21821         make the regressions tests work.  Remove some code that is no
21822         longer true.
21823         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
21824         Disable warning for pads without templates.
21825
21826 2005-04-24  David Schleef  <ds@schleef.org>
21827
21828         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
21829         functions that handle filtered links.
21830         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
21831         removed functions.
21832         * gst/gstutils.c: Fix/remove utility functions that handle
21833         filtered caps.
21834         * gst/gstutils.h:
21835         * gst/gstvalue.c: Add serialization/deserialization of caps
21836         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
21837         requires fixing so that the filter caps notation creates
21838         a capsfilter element and sets the filter_caps property.  I
21839         think everyone probably wants to keep the shorthand notation.
21840         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
21841         * docs/gst/tmpl/gstpad.sgml:
21842
21843         * gst/elements/gstelements.c: Register capsfilter element.
21844         * gst/Makefile.am: fix spacing
21845         * docs/random/ds/0.9-suggested-changes: random
21846
21847 2005-04-23  David Schleef  <ds@schleef.org>
21848
21849         * gst/elements/Makefile.am:
21850         * gst/elements/gstcapsfilter.c: New element that acts like an
21851         identity, but filters caps.  Will eventually replace filtered
21852         caps in pad linking.
21853         * gst/gstutils.c: (gst_element_create_all_pads): New function
21854         to create all the ALWAYS pads that are registered with an
21855         element class.  This functionality should eventually be
21856         merged in with GstElement initialization.
21857         * gst/gstutils.h:
21858         * testsuite/trigger/README: part of trigger test code that should
21859         have been checked in a long time ago.
21860
21861 2005-04-23  David Schleef  <ds@schleef.org>
21862
21863         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
21864         needed with new versions of libtool (nobody will confirm this),
21865         and hard to carry around.
21866         * gst/autoplug/Makefile.am:
21867         * gst/base/Makefile.am:
21868         * gst/elements/Makefile.am:
21869         * gst/indexers/Makefile.am:
21870         * gst/schedulers/Makefile.am:
21871         * libs/gst/bytestream/Makefile.am:
21872         * libs/gst/control/Makefile.am:
21873         * libs/gst/dataprotocol/Makefile.am:
21874         * libs/gst/getbits/Makefile.am:
21875
21876 2005-04-21  Wim Taymans  <wim@fluendo.com>
21877
21878         * docs/design/draft-push-pull.txt:
21879         * docs/design/part-MT-refcounting.txt:
21880         * docs/design/part-TODO.txt:
21881         * docs/design/part-caps.txt:
21882         * docs/design/part-events.txt:
21883         * docs/design/part-gstbus.txt:
21884         * docs/design/part-gstpipeline.txt:
21885         * docs/design/part-messages.txt:
21886         * docs/design/part-push-pull.txt:
21887         * docs/design/part-query.txt:
21888         Some more docs.
21889
21890 2005-04-21  Wim Taymans  <wim@fluendo.com>
21891
21892         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
21893         (gst_message_new), (gst_message_new_error),
21894         (gst_message_new_warning), (gst_message_new_tag),
21895         (gst_message_new_state_changed), (gst_message_new_application),
21896         (gst_message_get_structure):
21897         * gst/gstmessage.h:
21898         * gst/gststructure.c: (gst_structure_set_parent_refcount),
21899         (gst_structure_copy_conditional):
21900         Use parent refcount in GstMessage to ensure GstStructure
21901         consistency.
21902         Cleaned up headers a bit.
21903         
21904
21905 2005-04-20  Wim Taymans  <wim@fluendo.com>
21906
21907         * gst/base/gstbasesink.c: (gst_basesink_base_init),
21908         (gst_basesink_pad_getcaps), (gst_basesink_init),
21909         (gst_basesink_chain_unlocked):
21910         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
21911         (gst_type_find_helper):
21912         * gst/elements/gsttypefindelement.c:
21913         (gst_type_find_element_have_type), (gst_type_find_element_init),
21914         (stop_typefinding), (gst_type_find_element_handle_event),
21915         (find_suggest), (gst_type_find_element_chain),
21916         (gst_type_find_element_checkgetrange),
21917         (gst_type_find_element_getrange), (do_typefind),
21918         (gst_type_find_element_activate):
21919         * gst/gstbuffer.c: (_gst_buffer_sub_free),
21920         (gst_buffer_default_free), (gst_buffer_default_copy),
21921         (gst_buffer_set_caps):
21922         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
21923         (gst_caps_replace):
21924         * gst/gstmessage.c: (gst_message_new),
21925         (gst_message_new_state_changed):
21926         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
21927         (gst_pad_set_checkgetrange_function),
21928         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
21929         (gst_pad_set_caps), (gst_pad_check_pull_range),
21930         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
21931         * gst/gstpad.h:
21932         * gst/gsttypefind.c: (gst_type_find_register):
21933         Make gst_caps_replace() work like other _replace() functions.
21934         Use _caps_replace() where possible.
21935         Make sure _message_new() initialises its field.
21936         Add gst_static_pad_template_get_caps()
21937
21938
21939 2005-04-18  Andy Wingo  <wingo@pobox.com>
21940
21941         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
21942         on the peer, not the pad. I think that was a typo. Pass an extra
21943         arg to see if random access is possible. Activate the pads as
21944         PULL_RANGE if possible.
21945
21946         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
21947
21948         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
21949         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
21950         to PROP_....
21951
21952 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21953
21954         * docs/faq/using.xml:
21955           Add note on gstreamer-properties (#154996).
21956
21957 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21958
21959         * docs/random/bbb/optional-properties:
21960           Some analysis on optional properties.
21961
21962 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21963
21964         * docs/gst/tmpl/gstelementfactory.sgml:
21965         * gst/gstelement.h:
21966         * gst/gstelementfactory.c: (gst_element_factory_init),
21967         (gst_element_factory_cleanup), (gst_element_register),
21968         (__gst_element_factory_add_static_pad_template),
21969         (gst_element_factory_get_static_pad_templates),
21970         (gst_element_factory_can_src_caps),
21971         (gst_element_factory_can_sink_caps):
21972         * gst/registries/Makefile.am:
21973         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
21974         (gst_xml_registry_class_init), (gst_xml_registry_init),
21975         (gst_xml_registry_new), (gst_xml_registry_set_property),
21976         (gst_xml_registry_get_property), (get_time), (make_dir),
21977         (gst_xml_registry_get_perms_func),
21978         (plugin_times_older_than_recurse), (plugin_times_older_than),
21979         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
21980         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
21981         (add_to_char_array), (read_string), (read_uint), (read_enum),
21982         (load_pad_template), (load_feature), (load_plugin), (load_paths),
21983         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
21984         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
21985         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
21986         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
21987         (gst_xml_registry_rebuild):
21988         * gst/registries/gstlibxmlregistry.h:
21989         * tools/gst-compprep.c: (main):
21990         * tools/gst-inspect.c: (print_pad_templates_info):
21991         * tools/gst-xmlinspect.c: (print_element_info):
21992           Use libxml2 for registry parsing, use staticpadtemplates in
21993           elementfactories. Makes gst_init() +/- 10x faster.
21994
21995 2005-04-12  Wim Taymans  <wim@fluendo.com>
21996
21997         * gst/base/Makefile.am:
21998         * gst/base/gstbasesink.c: (gst_basesink_base_init),
21999         (gst_basesink_pad_getcaps), (gst_basesink_init),
22000         (gst_basesink_event), (gst_basesink_change_state):
22001         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
22002         (gst_basesrc_init), (gst_basesrc_query),
22003         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
22004         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
22005         (gst_basesrc_check_get_range), (gst_basesrc_loop),
22006         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
22007         (gst_basesrc_stop), (gst_basesrc_activate),
22008         (gst_basesrc_change_state):
22009         * gst/base/gsttypefindhelper.c: (helper_find_peek),
22010         (helper_find_suggest), (gst_type_find_helper):
22011         * gst/base/gsttypefindhelper.h:
22012         * gst/elements/Makefile.am:
22013         * gst/elements/gstelements.c:
22014         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
22015         (gst_fakesink_get_times), (gst_fakesink_event),
22016         (gst_fakesink_preroll), (gst_fakesink_render):
22017         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
22018         (gst_fakesrc_init), (gst_fakesrc_event_handler),
22019         (gst_fakesrc_get_property), (gst_fakesrc_create),
22020         (gst_fakesrc_start), (gst_fakesrc_stop):
22021         * gst/elements/gstfakesrc.h:
22022         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
22023         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
22024         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
22025         (gst_filesrc_create_read), (gst_filesrc_create),
22026         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
22027         (gst_filesrc_start):
22028         * gst/elements/gsttypefindelement.c:
22029         (gst_type_find_element_have_type), (gst_type_find_element_init),
22030         (start_typefinding), (stop_typefinding), (push_buffer_store),
22031         (gst_type_find_element_handle_event),
22032         (gst_type_find_element_chain),
22033         (gst_type_find_element_checkgetrange),
22034         (gst_type_find_element_getrange), (do_typefind),
22035         (gst_type_find_element_activate),
22036         (gst_type_find_element_change_state):
22037         * gst/elements/gsttypefindelement.h:
22038         * gst/gstpipeline.c: (pipeline_bus_handler):
22039         Added typefind helper.
22040         Small preroll fix in the base sink.
22041         Disable typefind code in basesrc.
22042         Crude port of typefindelement.
22043         Fakesrc cleanups.
22044
22045
22046 2005-04-11  Wim Taymans  <wim@fluendo.com>
22047
22048         * check/gst/gstbus.c: (gstbus_suite):
22049         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
22050         * check/gstcheck.h:
22051           Fix up the timeout so that the test does not fail.
22052
22053 2005-04-06  Wim Taymans  <wim@fluendo.com>
22054
22055         * gst/base/README:
22056         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
22057         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
22058         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
22059         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
22060         (gst_basesrc_check_get_range), (gst_basesrc_loop),
22061         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
22062         (gst_basesrc_stop), (gst_basesrc_activate),
22063         (gst_basesrc_change_state), (basesrc_find_peek),
22064         (basesrc_find_suggest), (gst_basesrc_type_find):
22065         * gst/base/gstbasesrc.h:
22066         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
22067         (gst_filesrc_class_init), (gst_filesrc_init),
22068         (gst_filesrc_finalize), (gst_filesrc_set_location),
22069         (gst_filesrc_set_property), (gst_filesrc_get_property),
22070         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
22071         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
22072         (gst_filesrc_create_read), (gst_filesrc_create),
22073         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
22074         * gst/elements/gstfilesrc.h:
22075         * gst/gstelement.c: (gst_element_get_state_func),
22076         (gst_element_lost_state), (gst_element_pads_activate):
22077         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
22078         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
22079         (gst_pad_pull_range):
22080         * gst/gstpad.h:
22081         More work on the generic source base class, implement seeking,
22082         query.
22083         Make filesrc extend the base source class.
22084         Added gst_pad_set_checkgetrange_function to GstPad.
22085
22086 2005-04-06  Andy Wingo  <wingo@pobox.com>
22087
22088         * pkgconfig/gstreamer-base.pc.in:
22089         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
22090
22091         * pkgconfig/Makefile.am:
22092         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
22093
22094 2005-04-04  Wim Taymans  <wim@fluendo.com>
22095
22096         * gst/base/Makefile.am:
22097         * gst/base/README:
22098         * gst/base/gstbasesink.c: (gst_basesink_base_init),
22099         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
22100         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
22101         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
22102         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
22103         (gst_basesrc_base_init), (gst_basesrc_class_init),
22104         (gst_basesrc_init), (gst_basesrc_get_formats),
22105         (gst_basesrc_get_query_types), (gst_basesrc_query),
22106         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
22107         (gst_basesrc_set_property), (gst_basesrc_get_property),
22108         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
22109         (gst_basesrc_loop), (gst_basesrc_activate),
22110         (gst_basesrc_change_state):
22111         * gst/base/gstbasesrc.h:
22112         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
22113         (gst_fakesrc_class_init), (gst_fakesrc_init),
22114         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
22115         (gst_fakesrc_get_property), (gst_fakesrc_create):
22116         * gst/elements/gstfakesrc.h:
22117         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
22118         (gst_filesrc_open_file), (gst_filesrc_loop),
22119         (gst_filesrc_activate), (filesrc_find_peek),
22120         (gst_filesrc_type_find):
22121         Made base source class, make fakesrc extend it.
22122         Add comments to basesink class.
22123         Some filesrc cleanup.
22124
22125 2005-03-31  David Schleef  <ds@schleef.org>
22126
22127         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
22128         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
22129         expected to link against libgstreamer.
22130         * gst/base/Makefile.am: link against libgstreamer
22131         * gst/elements/Makefile.am: same
22132
22133 2005-03-31  Andy Wingo  <wingo@pobox.com>
22134
22135         * tests/instantiate/Makefile.am:
22136         * tests/instantiate/caps.c: Add test to test speed of caps copy
22137         and free.
22138
22139         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
22140         GMemChunk to be fair.
22141
22142         * gst/gsttrashstack.h: Remove warning about using the fallback
22143         trash stack implementation, it's still faster than malloc.
22144
22145 2005-03-30  Andy Wingo  <wingo@pobox.com>
22146
22147         * tests/complexity.c: Add a copyright.
22148
22149 2005-03-31  Wim Taymans  <wim@fluendo.com>
22150
22151         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
22152         (gst_base_transform_class_init), (gst_base_transform_init),
22153         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
22154         (gst_base_transform_get_property),
22155         (gst_base_transform_sink_activate),
22156         (gst_base_transform_src_activate),
22157         (gst_base_transform_change_state):
22158         * gst/base/gstbasetransform.h:
22159         * gst/elements/gstidentity.c: (gst_identity_class_init),
22160         (gst_identity_event), (gst_identity_check_perfect),
22161         (gst_identity_transform), (gst_identity_start),
22162         (gst_identity_stop):
22163         Added start/stop methods to transform base class so subclasses 
22164         don't need to deal with state changes even.
22165
22166 2005-03-31  Wim Taymans  <wim@fluendo.com>
22167
22168         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
22169         (gst_event_new_discontinuous), (gst_event_discont_get_value):
22170         * gst/gstevent.h:
22171         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
22172         (gst_pad_pull_range):
22173         Added rate to the discont event to prepare for variable speed
22174         and reverse playback.
22175
22176 2005-03-29  David Schleef  <ds@schleef.org>
22177
22178         * configure.ac:
22179         * testsuite/trigger/Makefile.am:
22180         * testsuite/trigger/trigger.c: A little example program to show
22181         how trigger-based elements can work.
22182
22183 2005-03-29  Wim Taymans  <wim@fluendo.com>
22184
22185         * gst/base/Makefile.am:
22186         * gst/base/README:
22187         * gst/base/gstbasesink.c: (gst_basesink_get_type),
22188         (gst_basesink_base_init), (gst_basesink_class_init),
22189         (gst_basesink_pad_getcaps), (gst_basesink_init),
22190         (gst_basesink_activate), (gst_basesink_change_state):
22191         * gst/base/gstbasesink.h:
22192         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
22193         (gst_base_transform_base_init), (gst_base_transform_finalize),
22194         (gst_base_transform_class_init), (gst_base_transform_init),
22195         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
22196         (gst_base_transform_event), (gst_base_transform_getrange),
22197         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
22198         (gst_base_transform_set_property),
22199         (gst_base_transform_get_property),
22200         (gst_base_transform_sink_activate),
22201         (gst_base_transform_src_activate),
22202         (gst_base_transform_change_state):
22203         * gst/base/gstbasetransform.h:
22204         * gst/elements/gstidentity.c: (gst_identity_finalize),
22205         (gst_identity_class_init), (gst_identity_init),
22206         (gst_identity_event), (gst_identity_check_perfect),
22207         (gst_identity_transform), (gst_identity_set_property),
22208         (gst_identity_get_property), (gst_identity_change_state):
22209         * gst/elements/gstidentity.h:
22210         * gst/gstelement.c: (gst_element_get_state_func),
22211         (gst_element_lost_state), (gst_element_pads_activate):
22212         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
22213         (gst_pad_check_pull_range), (gst_pad_pull_range):
22214         * gst/gstpad.h:
22215         Simplify pad activation.
22216         Added function to check if pull_range can be performed.
22217         Error out when pulling inactive or flushing pads.
22218         Removed const from refcounted types as it does not make sense.
22219         Simplify pad templates in basesink
22220         Added base class for simple 1-to-1 transforms.
22221         Make identity subclass the base transform.
22222
22223 2005-03-29  Andy Wingo  <wingo@pobox.com>
22224
22225         * docs/libs/gstreamer-libs-overrides.txt: 
22226         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
22227         really don't understand what's going on, but like whatever. I want
22228         green buildbot!
22229
22230         * docs/gst/Makefile.am:
22231         * docs/libs/Makefile.am: Dist the overrides files.
22232
22233         * check/Makefile.am (clean-local): Remove .libs directories.
22234
22235         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
22236         elements to EXTRA_DIST, so po/ files are happy.
22237
22238         * po/POTFILES.in: Er, remove it here.
22239
22240         * po/POTFILES: Remove gstspider.c.
22241
22242         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
22243
22244         * docs/libs/gstreamer-libs-docs.sgml: 
22245         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
22246         bytestream.
22247
22248         * tests/complexity.c (main): Set the length of the preroll queue
22249         on the sinks to prevent a lockup.
22250
22251         * libs/gst/dataprotocol/Makefile.am: 
22252         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
22253         the same as the one in check/gst-libs/gdp.c.
22254
22255         * po/, docs/gst/: Commit automatic changes to docs and po files.
22256
22257         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
22258         the versioned libgstbase.
22259
22260         * check/Makefile.am: Depend on an unversioned gst-register, seems
22261         to make autoconf happier.
22262
22263         * gst/base/Makefile.am: Make libgstbase a versioned lib.
22264
22265 2005-03-28  Wim Taymans  <wim@fluendo.com>
22266
22267         * configure.ac:
22268         * docs/design/part-gstelement.txt:
22269         * docs/design/part-negotiation.txt:
22270         * docs/design/part-preroll.txt:
22271         * docs/design/part-scheduling.txt:
22272         * docs/design/part-states.txt:
22273         * gst/Makefile.am:
22274         * gst/base/Makefile.am:
22275         * gst/base/README:
22276         * gst/base/gstbasesink.c: (gst_basesink_get_template),
22277         (gst_basesink_base_init), (gst_basesink_class_init),
22278         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
22279         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
22280         (gst_basesink_set_pad_functions),
22281         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
22282         (gst_basesink_set_property), (gst_basesink_get_property),
22283         (gst_base_sink_get_template), (gst_base_sink_get_caps),
22284         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
22285         (gst_basesink_preroll_queue_push),
22286         (gst_basesink_preroll_queue_empty),
22287         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
22288         (gst_basesink_event), (gst_basesink_get_times),
22289         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
22290         (gst_basesink_chain_unlocked), (gst_basesink_chain),
22291         (gst_basesink_loop), (gst_basesink_activate),
22292         (gst_basesink_change_state):
22293         * gst/base/gstbasesink.h:
22294         * gst/elements/Makefile.am:
22295         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
22296         (gst_fakesink_class_init), (gst_fakesink_init),
22297         (gst_fakesink_set_property), (gst_fakesink_get_property),
22298         (gst_fakesink_get_times), (gst_fakesink_event),
22299         (gst_fakesink_preroll), (gst_fakesink_render),
22300         (gst_fakesink_change_state):
22301         * gst/elements/gstfakesink.h:
22302         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
22303         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
22304         * gst/gstelement.c: (gst_element_add_pad),
22305         (gst_element_get_state_func), (gst_element_abort_state),
22306         (gst_element_commit_state), (gst_element_lost_state),
22307         (gst_element_set_state), (gst_element_pads_activate):
22308         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
22309         * gst/gstpipeline.c: (gst_pipeline_send_event),
22310         (gst_pipeline_change_state):
22311         Added state change code.
22312         Added/updated docs.
22313         Added sink base class, make fakesink extend the base class.
22314         Small cleanups in GstPipeline.
22315
22316 2005-03-26  David Schleef  <ds@schleef.org>
22317
22318         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
22319         is broken and should be implemented in a different library.
22320         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
22321         * gst/gst.h: remove gstcpu.h
22322         * gst/gstcpu.c: remove
22323         * gst/gstcpu.h: remove
22324         * gst/Makefile.am.future: Remove this file.  It's ancient.
22325
22326 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22327
22328         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
22329         (gst_bin_send_event):
22330           Add default event/set_manager handlers. The set_manager handler
22331           takes care that the manager is distributed over kids that were
22332           already in the bin before the manager was set. The event handler
22333           is a utility virtual function that sends the event over all sinks,
22334           so that gst_element_send_event (bin, event); has the expected
22335           behaviour.
22336         * gst/gstpad.c: (gst_pad_event_default):
22337           Re-install default event handling for discontinuities, so that
22338           seeking works without requiring hacks in applications or extra
22339           code in sinks.
22340         * gst/gstpipeline.c: (gst_pipeline_class_init),
22341         (gst_pipeline_send_event):
22342           Half hack, half utility: set a pipeline to PAUSED for seek events,
22343           since that is the only way we can guarantee a/v sync. Means that
22344           you can do gst_element_seek (pipeline, method, pos); on a pipeline
22345           and it "just works".
22346
22347 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22348
22349         * gst/gstpipeline.c: (gst_pipeline_use_clock):
22350           Lock/unlock mismatch.
22351
22352 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
22353
22354         * docs/faq/gst-uninstalled:
22355           add gst-plugins-base
22356         * docs/gst/Makefile.am:
22357           don't error out until docs are fixed
22358         * docs/gst/gstreamer.types:
22359           remove thread
22360
22361 2005-03-22  Wim Taymans  <wim@fluendo.com>
22362
22363         * check/Makefile.am:
22364         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
22365         * gst/gststructure.c: (gst_structure_set_valist),
22366         (gst_structure_copy_conditional):
22367         Activated more tests.
22368         Added message test.
22369         Added G_TYPE_POINTER to GstStructure.
22370         
22371
22372 2005-03-22  Wim Taymans  <wim@fluendo.com>
22373
22374         * docs/design/part-TODO.txt:
22375         * docs/design/part-events.txt:
22376         * docs/design/part-gstbin.txt:
22377         * docs/design/part-gstbus.txt:
22378         * docs/design/part-gstpipeline.txt:
22379         * docs/design/part-messages.txt:
22380         * gst/gstbus.c:
22381         * gst/gstmessage.c:
22382         Docs updates
22383
22384 2005-03-21  Wim Taymans  <wim@fluendo.com>
22385
22386         * gst/gstbus.c: (gst_bus_post):
22387         Fix copy-and-paste error.
22388
22389 2005-03-21  Wim Taymans  <wim@fluendo.com>
22390
22391         * check/Makefile.am:
22392         * gst/Makefile.am:
22393         * gst/elements/Makefile.am:
22394         * gst/elements/gstelements.c:
22395         * gst/elements/gstfakesink.c: (gst_fakesink_init),
22396         (gst_fakesink_event), (gst_fakesink_chain):
22397         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
22398         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
22399         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
22400         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
22401         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
22402         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
22403         (gst_fakesrc_loop), (gst_fakesrc_activate),
22404         (gst_fakesrc_change_state):
22405         * gst/elements/gstfakesrc.h:
22406         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
22407         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
22408         (gst_filesrc_open_file), (gst_filesrc_loop),
22409         (gst_filesrc_activate), (gst_filesrc_change_state),
22410         (filesrc_find_peek), (filesrc_find_suggest),
22411         (gst_filesrc_type_find):
22412         * gst/elements/gstidentity.c: (gst_identity_finalize),
22413         (gst_identity_class_init), (gst_identity_init),
22414         (gst_identity_proxy_getcaps), (identity_queue_push),
22415         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
22416         (gst_identity_getrange), (gst_identity_chain),
22417         (gst_identity_sink_loop), (gst_identity_src_loop),
22418         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
22419         (gst_identity_set_property), (gst_identity_get_property),
22420         (gst_identity_change_state):
22421         * gst/elements/gstidentity.h:
22422         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
22423         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
22424         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
22425         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
22426         (gst_tee_sink_activate):
22427         * gst/elements/gsttee.h:
22428         * gst/gst.c: (gst_register_core_elements), (init_post):
22429         * gst/gst.h:
22430         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
22431         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
22432         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
22433         (gst_bin_change_state):
22434         * gst/gstbin.h:
22435         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
22436         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
22437         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
22438         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
22439         (gst_bus_set_sync_handler), (gst_bus_create_watch),
22440         (bus_watch_callback), (bus_watch_destroy),
22441         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
22442         (poll_timeout), (gst_bus_poll):
22443         * gst/gstbus.h:
22444         * gst/gstcaps.h:
22445         * gst/gstdata.h:
22446         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
22447         (gst_element_post_message), (gst_element_message_full),
22448         (gst_element_get_state_func), (gst_element_get_state),
22449         (gst_element_abort_state), (gst_element_commit_state),
22450         (gst_element_lost_state), (gst_element_set_state),
22451         (gst_element_pads_activate), (gst_element_change_state),
22452         (gst_element_dispose), (gst_element_set_manager_func),
22453         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
22454         (gst_element_set_manager), (gst_element_get_manager),
22455         (gst_element_set_bus), (gst_element_get_bus),
22456         (gst_element_set_scheduler), (gst_element_get_scheduler):
22457         * gst/gstelement.h:
22458         * gst/gstevent.c: (gst_event_new_segment_seek),
22459         (gst_event_new_flush):
22460         * gst/gstevent.h:
22461         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
22462         (_gst_message_free), (gst_message_get_type), (gst_message_new),
22463         (gst_message_new_eos), (gst_message_new_error),
22464         (gst_message_new_warning), (gst_message_new_tag),
22465         (gst_message_new_state_changed), (gst_message_new_application),
22466         (gst_message_get_structure), (gst_message_parse_tag),
22467         (gst_message_parse_state_changed), (gst_message_parse_error),
22468         (gst_message_parse_warning):
22469         * gst/gstmessage.h:
22470         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
22471         (gst_real_pad_set_property), (gst_pad_set_active),
22472         (gst_pad_is_active), (gst_pad_set_blocked_async),
22473         (gst_pad_set_blocked), (gst_pad_is_blocked),
22474         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
22475         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
22476         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
22477         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
22478         (gst_pad_link_filtered), (gst_pad_relink_filtered),
22479         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
22480         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
22481         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
22482         (gst_pad_set_caps), (gst_pad_configure_sink),
22483         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
22484         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
22485         (gst_real_pad_dispose), (gst_real_pad_finalize),
22486         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
22487         (gst_pad_event_default_dispatch), (gst_pad_event_default),
22488         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
22489         * gst/gstpad.h:
22490         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
22491         (pipeline_bus_handler), (gst_pipeline_change_state),
22492         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
22493         * gst/gstpipeline.h:
22494         * gst/gstprobe.h:
22495         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
22496         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
22497         (gst_queue_link_src), (gst_queue_bufferalloc),
22498         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
22499         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
22500         (gst_queue_loop), (gst_queue_handle_src_event),
22501         (gst_queue_handle_src_query), (gst_queue_src_activate),
22502         (gst_queue_change_state):
22503         * gst/gstqueue.h:
22504         * gst/gstscheduler.c: (gst_scheduler_init),
22505         (gst_scheduler_dispose), (gst_scheduler_create_task),
22506         (gst_scheduler_factory_create):
22507         * gst/gstscheduler.h:
22508         * gst/gststructure.c: (gst_structure_get_type),
22509         (gst_structure_copy_conditional):
22510         * gst/gststructure.h:
22511         * gst/gsttaginterface.h:
22512         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
22513         (gst_task_init), (gst_task_dispose), (gst_task_create),
22514         (gst_task_get_state), (gst_task_start), (gst_task_stop),
22515         (gst_task_pause):
22516         * gst/gsttask.h:
22517         * gst/gstthread.c:
22518         * gst/gstthread.h:
22519         * gst/gsttypes.h:
22520         * gst/schedulers/Makefile.am:
22521         * gst/schedulers/cothreads_compat.h:
22522         * gst/schedulers/entryscheduler.c:
22523         * gst/schedulers/faircothreads.c:
22524         * gst/schedulers/faircothreads.h:
22525         * gst/schedulers/fairscheduler.c:
22526         * gst/schedulers/gstbasicscheduler.c:
22527         * gst/schedulers/gstoptimalscheduler.c:
22528         * gst/schedulers/gthread-cothreads.h:
22529         * gst/schedulers/threadscheduler.c:
22530         (gst_thread_scheduler_task_get_type),
22531         (gst_thread_scheduler_task_class_init),
22532         (gst_thread_scheduler_task_init),
22533         (gst_thread_scheduler_task_start),
22534         (gst_thread_scheduler_task_stop),
22535         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
22536         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
22537         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
22538         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
22539         (plugin_init):
22540         * libs/gst/Makefile.am:
22541         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
22542         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
22543         (gst_file_pad_parent_set):
22544         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
22545         (gst_dp_event_from_packet):
22546         * tests/complexity.c: (main):
22547         * tests/mass_elements.c: (main):
22548         * testsuite/states/locked.c: (message_received), (main):
22549         * testsuite/states/parent.c: (main):
22550         * tools/gst-inspect.c: (print_element_flag_info),
22551         (print_implementation_info), (print_pad_info):
22552         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
22553         (main):
22554         * tools/gst-md5sum.c: (event_loop), (main):
22555         * tools/gst-typefind.c: (main):
22556         * tools/gst-xmlinspect.c: (print_element_info):
22557         Next big merge.
22558         Added GstBus for mainloop integration.
22559         Added GstMessage for sending notifications on the bus.
22560         Added GstTask as an abstraction for pipeline entry points.
22561         Removed GstThread.
22562         Removed Schedulers.
22563         Simplified GstQueue for multithreaded core.
22564         Made _link threadsafe, removed old capsnego.
22565         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
22566         Added pad blocking functions.
22567         Reworked scheduling functions in GstPad to prepare for
22568         scheduling updates soon.
22569         Moved events out of data stream.
22570         Simplified GstEvent types.
22571         Added return values to push/pull.
22572         Removed clocking from GstElement.
22573         Added prototypes for state change function for next merge.
22574         Removed iterate from bins and state change management.
22575         Fixed some elements, disabled others for now.
22576         Fixed -inspect and -launch.
22577         Added check for GstBus.
22578
22579 2005-03-10  Wim Taymans  <wim@fluendo.com>
22580
22581         * docs/design/part-MT-refcounting.txt:
22582         * docs/design/part-clocks.txt:
22583         * docs/design/part-gstelement.txt:
22584         * docs/design/part-gstobject.txt:
22585         * docs/design/part-standards.txt:
22586         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
22587         (gst_bin_remove_func), (gst_bin_remove):
22588         * gst/gstbin.h:
22589         * gst/gstbuffer.c:
22590         * gst/gstcaps.h:
22591         * testsuite/clock/clock1.c: (main):
22592         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
22593         (main):
22594         * testsuite/dlopen/loadgst.c: (do_test):
22595         * testsuite/refcounting/bin.c: (add_remove_test1),
22596         (add_remove_test2), (main):
22597         * testsuite/refcounting/element.c: (main):
22598         * testsuite/refcounting/element_pad.c: (main):
22599         * testsuite/refcounting/pad.c: (main):
22600         * tools/gst-launch.c: (sigint_handler_sighandler):
22601         * tools/gst-typefind.c: (main):
22602         Doc updates.
22603         Added doc about clock.
22604         removed gst_bin_iterate_recurse_up(), marked methods
22605         for removal.
22606         Fix more testsuites.
22607
22608 2005-03-09  Wim Taymans  <wim@fluendo.com>
22609
22610         * gst/gstpad.c: (gst_pad_get_direction),
22611         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
22612         (gst_pad_collect_valist):
22613         * testsuite/bins/interface.c: (main):
22614         * testsuite/caps/audioscale.c: (test_caps):
22615         * testsuite/caps/caps.c: (test1), (test2), (test3):
22616         * testsuite/caps/deserialize.c: (main):
22617         * testsuite/caps/enumcaps.c: (main):
22618         * testsuite/caps/filtercaps.c: (main):
22619         * testsuite/caps/intersect2.c: (main):
22620         * testsuite/caps/random.c: (main):
22621         * testsuite/caps/renegotiate.c: (my_fixate), (main):
22622         * testsuite/caps/sets.c: (check_caps):
22623         * testsuite/caps/simplify.c: (check_caps), (main):
22624         * testsuite/caps/subtract.c: (check_caps):
22625         Fix _pad_get_direction wrt ghostpads.
22626         Fix caps testsuite.
22627
22628 2005-03-09  Wim Taymans  <wim@fluendo.com>
22629
22630         * check/Makefile.am:
22631         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
22632         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
22633         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
22634         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
22635         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
22636         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
22637         (gst_bin_remove), (gst_bin_iterate_recurse_up),
22638         (bin_element_is_sink), (gst_bin_iterate_sinks),
22639         (gst_bin_iterate_all_by_interface):
22640         * gst/gstbin.h:
22641         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
22642         (gst_element_change_state), (gst_element_dispose),
22643         (gst_element_finalize), (gst_element_set_loop_function):
22644         * gst/gstelement.h:
22645         * gst/gstiterator.c: (find_custom_fold_func):
22646         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
22647         (gst_pad_collectv), (gst_pad_collect_valist),
22648         (gst_pad_template_new):
22649         * gst/gstpipeline.c: (gst_pipeline_class_init),
22650         (gst_pipeline_dispose), (gst_pipeline_set_property),
22651         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
22652         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
22653         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
22654         * gst/gstutils.h:
22655         * gst/schedulers/entryscheduler.c:
22656         * gst/schedulers/gstbasicscheduler.c:
22657         (gst_basic_scheduler_cothreaded_chain),
22658         (gst_basic_scheduler_chain_add_element):
22659         * testsuite/bins/interface.c: (main):
22660         Added GstBin test.
22661         Added GstSystemClock test.
22662         Implemented clock distribution code in GstBin.
22663         Implemented iterate sinks method for future use.
22664         Rearranged gstelement.h
22665         Fix GstIterator comparison bug.
22666         Moved some code to GstPipeline, mostly clocking related.
22667
22668 2005-03-09  Wim Taymans  <wim@fluendo.com>
22669
22670         * configure.ac:
22671         * gst/gst_private.h:
22672         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
22673         (gst_bin_remove_func), (gst_bin_remove),
22674         (gst_bin_get_by_name_recurse_up):
22675         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
22676         (gst_clock_id_compare_func), (gst_clock_id_wait),
22677         (gst_clock_id_wait_async), (gst_clock_init),
22678         (gst_clock_adjust_unlocked), (gst_clock_get_time):
22679         * gst/gstelement.h:
22680         * gst/gstinfo.c: (_gst_debug_init):
22681         * gst/gstobject.h:
22682         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
22683         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
22684         * gst/gstpad.h:
22685         Bump version number, we're now 0.9.0
22686         Add future debugging category.
22687         Fix NULL _unref() in _get_by_name_recurse_up
22688         Rearrange gstpad.h.
22689         Update some docs.
22690
22691 2005-03-08  Wim Taymans  <wim@fluendo.com>
22692
22693         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
22694         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
22695         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
22696         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
22697         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
22698         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
22699         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
22700         * gst/elements/gstidentity.c: (gst_identity_class_init):
22701         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
22702         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
22703         * gst/elements/gstshaper.c: (gst_shaper_class_init):
22704         * gst/elements/gststatistics.c: (gst_statistics_class_init):
22705         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
22706         (gst_tee_link):
22707         * gst/gstelement.c: (gst_element_class_init),
22708         (gst_element_base_class_init), (gst_element_init),
22709         (gst_element_get_random_pad), (gst_element_wait_state_change),
22710         (gst_element_change_state), (gst_element_dispose),
22711         (gst_element_finalize), (gst_element_set_loop_function):
22712         * gst/gstelement.h:
22713         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
22714         * gst/gstthread.c: (gst_thread_class_init),
22715         (gst_thread_release_children_locks), (gst_thread_change_state):
22716         * gst/schedulers/gstbasicscheduler.c:
22717         (gst_basic_scheduler_loopfunc_wrapper),
22718         (gst_basic_scheduler_chain_wrapper),
22719         (gst_basic_scheduler_src_wrapper),
22720         (gst_basic_scheduler_remove_element):
22721         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
22722         Remove threadsafe properties. Fix elements because GObject
22723         complains when installing a property before declaring a
22724         set/get_property handler.
22725         Rearrange gstelement.h file, use STATE macros for state locks.
22726         Free mutexes in the finalize method instead of dispose.
22727
22728 2005-03-08  Wim Taymans  <wim@fluendo.com>
22729
22730         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
22731         * gst/gstthread.c: (gst_thread_release_children_locks):
22732         Added parentage check.
22733         Fix build og GstThread again.
22734
22735 2005-03-08  Wim Taymans  <wim@fluendo.com>
22736
22737         * docs/design/part-MT-refcounting.txt:
22738         * docs/design/part-conventions.txt:
22739         * docs/design/part-gstobject.txt:
22740         * docs/design/part-relations.txt:
22741         * docs/design/part-standards.txt:
22742         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
22743         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
22744         (gst_bin_get_by_name), (gst_bin_get_by_interface),
22745         (gst_bin_iterate_all_by_interface):
22746         * gst/gstbuffer.h:
22747         * gst/gstclock.h:
22748         * gst/gstelement.c: (gst_element_class_init),
22749         (gst_element_change_state), (gst_element_set_loop_function):
22750         * gst/gstelement.h:
22751         * gst/gstiterator.c:
22752         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
22753         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
22754         (gst_object_dispatch_properties_changed), (gst_object_set_name),
22755         (gst_object_set_parent), (gst_object_unparent),
22756         (gst_object_check_uniqueness):
22757         * gst/gstobject.h:
22758         Docs updates, clean up some headers.
22759
22760 2005-03-07  Wim Taymans  <wim@fluendo.com>
22761
22762         * check/.cvsignore:
22763         * check/Makefile.am:
22764         * check/gst-libs/.cvsignore:
22765         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
22766         * check/gst/.cvsignore:
22767         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
22768         (START_TEST), (gstbus_suite), (main):
22769         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
22770         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
22771         (gst_data_suite), (main):
22772         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
22773         (add_fold_func), (gstiterator_suite), (main):
22774         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
22775         (thread_name_object), (thread_name_object_default),
22776         (gst_object_name_compare), (gst_object_suite), (main):
22777         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
22778         (gst_pad_suite), (main):
22779         * check/gstcheck.c: (gst_check_log_message_func),
22780         (gst_check_log_critical_func), (gst_check_init):
22781         * check/gstcheck.h:
22782         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
22783         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
22784         Added checks.
22785
22786 2005-03-07  Wim Taymans  <wim@fluendo.com>
22787
22788         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
22789         (gst_list_iterator_next), (gst_list_iterator_resync),
22790         (gst_list_iterator_free), (gst_iterator_new_list),
22791         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
22792         (gst_iterator_free), (gst_iterator_push), (filter_next),
22793         (filter_resync), (filter_uninit), (filter_free),
22794         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
22795         (gst_iterator_foreach), (find_custom_fold_func),
22796         (gst_iterator_find_custom):
22797         * gst/gstiterator.h:
22798         Added missing files.
22799
22800 2005-03-07  Wim Taymans  <wim@fluendo.com>
22801
22802         * Makefile.am:
22803         * configure.ac:
22804         * docs/design/part-MT-refcounting.txt:
22805         * docs/design/part-conventions.txt:
22806         * docs/design/part-gstobject.txt:
22807         * docs/design/part-relations.txt:
22808         * examples/mixer/mixer.c: (main):
22809         * examples/thread/thread.c: (eos), (main):
22810         * gst/Makefile.am:
22811         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
22812         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
22813         (gst_spider_plug_from_srcpad):
22814         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
22815         (gst_spider_identity_change_state),
22816         (gst_spider_identity_sink_loop_type_finding):
22817         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
22818         * gst/elements/gstidentity.c: (gst_identity_init):
22819         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
22820         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
22821         * gst/elements/gsttypefindelement.c: (free_entry):
22822         * gst/gst.c:
22823         * gst/gst.h:
22824         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
22825         (gst_bin_set_clock_func), (gst_bin_auto_clock),
22826         (gst_bin_set_index), (gst_bin_set_element_sched),
22827         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
22828         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
22829         (gst_bin_iterate_elements), (iterate_child_recurse),
22830         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
22831         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
22832         (compare_interface), (gst_bin_get_by_interface),
22833         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
22834         * gst/gstbin.h:
22835         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
22836         (gst_buffer_default_free), (gst_buffer_default_copy),
22837         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
22838         (gst_buffer_create_sub):
22839         * gst/gstbuffer.h:
22840         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
22841         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
22842         (gst_caps_unref), (gst_static_caps_get),
22843         (gst_caps_remove_and_get_structure), (gst_caps_append),
22844         (gst_caps_append_structure), (gst_caps_remove_structure),
22845         (gst_caps_copy_nth), (gst_caps_set_simple),
22846         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
22847         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
22848         (gst_caps_structure_intersect_field), (gst_caps_intersect),
22849         (gst_caps_structure_subtract_field), (gst_caps_subtract),
22850         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
22851         (gst_caps_structure_figure_out_union),
22852         (gst_caps_switch_structures), (gst_caps_do_simplify),
22853         (gst_caps_replace), (gst_caps_from_string),
22854         (gst_caps_copy_conditional):
22855         * gst/gstcaps.h:
22856         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
22857         (_gst_clock_id_free), (gst_clock_id_unref),
22858         (gst_clock_id_compare_func), (gst_clock_id_wait),
22859         (gst_clock_id_wait_async), (gst_clock_class_init),
22860         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
22861         (gst_clock_get_time), (gst_clock_set_time_adjust),
22862         (gst_clock_set_property), (gst_clock_get_property):
22863         * gst/gstclock.h:
22864         * gst/gstcompat.h:
22865         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
22866         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
22867         * gst/gstdata.h:
22868         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
22869         (gst_element_requires_clock), (gst_element_provides_clock),
22870         (gst_element_set_clock), (gst_element_clock_wait),
22871         (gst_element_wait), (gst_element_set_time_delay),
22872         (gst_element_is_indexable), (gst_element_add_pad),
22873         (gst_element_add_ghost_pad), (gst_element_remove_pad),
22874         (pad_compare_name), (gst_element_get_static_pad),
22875         (gst_element_request_pad), (gst_element_get_request_pad),
22876         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
22877         (gst_element_class_get_pad_template_list),
22878         (gst_element_class_get_pad_template), (gst_element_error_func),
22879         (gst_element_get_random_pad), (gst_element_get_event_masks),
22880         (gst_element_send_event), (gst_element_seek),
22881         (gst_element_get_query_types), (gst_element_query),
22882         (gst_element_get_formats), (gst_element_convert),
22883         (gst_element_is_locked_state), (gst_element_set_locked_state),
22884         (gst_element_sync_state_with_parent), (gst_element_change_state),
22885         (gst_element_finalize), (gst_element_yield),
22886         (gst_element_interrupt), (gst_element_set_scheduler),
22887         (gst_element_get_scheduler), (gst_element_set_loop_function):
22888         * gst/gstelement.h:
22889         * gst/gstevent.h:
22890         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
22891         (gst_format_get_by_nick), (gst_format_get_details),
22892         (gst_format_iterate_definitions):
22893         * gst/gstformat.h:
22894         * gst/gstindex.c: (gst_index_gtype_resolver):
22895         * gst/gstinfo.c:
22896         * gst/gstinfo.h:
22897         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
22898         (gst_mem_chunk_free):
22899         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
22900         (gst_object_ref), (gst_object_unref), (gst_object_sink),
22901         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
22902         (gst_object_dispatch_properties_changed),
22903         (gst_object_set_name_default), (gst_object_set_name),
22904         (gst_object_get_name), (gst_object_set_name_prefix),
22905         (gst_object_get_name_prefix), (gst_object_set_parent),
22906         (gst_object_get_parent), (gst_object_unparent),
22907         (gst_object_check_uniqueness), (gst_object_save_thyself),
22908         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
22909         (gst_object_set_property), (gst_object_get_property),
22910         (gst_object_get_path_string):
22911         * gst/gstobject.h:
22912         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
22913         (gst_real_pad_init), (gst_real_pad_get_property),
22914         (gst_pad_custom_new), (gst_pad_get_direction),
22915         (gst_pad_set_active), (gst_pad_is_active),
22916         (gst_pad_set_event_function), (gst_pad_is_linked),
22917         (gst_pad_link_free), (gst_pad_link_intersect),
22918         (gst_pad_link_fixate), (gst_pad_set_caps),
22919         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
22920         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
22921         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
22922         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
22923         (gst_pad_get_caps), (gst_pad_peer_get_caps),
22924         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
22925         (gst_pad_realize), (gst_pad_get_allowed_caps),
22926         (gst_real_pad_dispose), (gst_real_pad_finalize),
22927         (gst_pad_collectv), (gst_pad_collect_valist),
22928         (gst_pad_template_dispose), (gst_pad_template_new),
22929         (gst_pad_get_internal_links):
22930         * gst/gstpad.h:
22931         * gst/gstpipeline.c: (gst_pipeline_dispose),
22932         (gst_pipeline_change_state):
22933         * gst/gstpipeline.h:
22934         * gst/gstplugin.c:
22935         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
22936         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
22937         * gst/gstpluginfeature.h:
22938         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
22939         * gst/gstquery.c: (_gst_query_type_initialize),
22940         (gst_query_type_register), (gst_query_type_get_by_nick),
22941         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
22942         * gst/gstquery.h:
22943         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
22944         * gst/gstscheduler.c: (gst_scheduler_add_element),
22945         (gst_scheduler_factory_create):
22946         * gst/gststructure.c: (gst_structure_set_parent_refcount),
22947         (gst_structure_free), (gst_structure_set_name),
22948         (gst_structure_id_set_value), (gst_structure_set_value),
22949         (gst_structure_set_valist), (gst_structure_remove_field),
22950         (gst_structure_remove_fields),
22951         (gst_structure_remove_fields_valist),
22952         (gst_structure_remove_all_fields), (gst_structure_foreach),
22953         (gst_structure_map_in_place),
22954         (gst_caps_structure_fixate_field_nearest_int),
22955         (gst_caps_structure_fixate_field_nearest_double):
22956         * gst/gststructure.h:
22957         * gst/gstsystemclock.c: (gst_system_clock_class_init),
22958         (gst_system_clock_init), (gst_system_clock_dispose),
22959         (gst_system_clock_async_thread),
22960         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
22961         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
22962         * gst/gstsystemclock.h:
22963         * gst/gsttag.c: (gst_tag_list_add_value_internal),
22964         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
22965         * gst/gsttaginterface.c:
22966         * gst/gstthread.c: (gst_thread_dispose),
22967         (gst_thread_release_children_locks), (gst_thread_change_state),
22968         (gst_thread_main_loop):
22969         * gst/gsttrashstack.h:
22970         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
22971         * gst/gsttypes.h:
22972         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
22973         (gst_element_request_pad), (gst_element_get_pad_from_template),
22974         (gst_element_request_compatible_pad),
22975         (gst_element_get_compatible_pad_filtered),
22976         (gst_element_get_compatible_pad), (gst_element_state_get_name),
22977         (gst_element_link_pads_filtered), (gst_element_link_filtered),
22978         (gst_element_link_many), (gst_element_link),
22979         (gst_element_link_pads), (gst_element_unlink_pads),
22980         (gst_element_unlink_many), (gst_element_unlink),
22981         (gst_pad_can_link_filtered), (gst_pad_can_link),
22982         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
22983         (gst_object_default_error), (gst_bin_add_many),
22984         (gst_bin_remove_many), (gst_element_populate_std_props),
22985         (gst_element_class_install_std_props), (gst_buffer_merge),
22986         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
22987         (link_fold_func), (gst_pad_proxy_setcaps):
22988         * gst/gstutils.h:
22989         * gst/gstvalue.c: (gst_value_deserialize_string):
22990         * gst/parse/grammar.y:
22991         * gst/schedulers/gstbasicscheduler.c:
22992         (gst_basic_scheduler_cothreaded_chain),
22993         (gst_basic_scheduler_chain_recursive_add),
22994         (gst_basic_scheduler_pad_link):
22995         * gst/schedulers/gstoptimalscheduler.c:
22996         (get_group_schedule_function),
22997         (gst_opt_scheduler_state_transition),
22998         (gst_opt_scheduler_add_element), (element_get_reachables_func):
22999         * libs/gst/bytestream/bytestream.c:
23000         * libs/gst/dataprotocol/dataprotocol.c:
23001         (gst_dp_header_from_buffer):
23002         * po/nb.po:
23003         * po/ru.po:
23004         * tests/threadstate/threadstate2.c: (eos):
23005         * tools/gst-compprep.c: (main):
23006         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
23007         (print_pad_info), (print_children_info):
23008         * tools/gst-launch.c: (idle_func), (main):
23009         * tools/gst-md5sum.c: (idle_func), (main):
23010         * tools/gst-xmlinspect.c: (print_element_info):
23011         First THREADED backport attempt, focusing on adding locks and
23012         making sure the API is threadsafe. Needs more work. More docs
23013         follow this week.
23014
23015 2005-02-24  Andy Wingo  <wingo@pobox.com>
23016
23017         * tests/bench-complexity.scm:
23018         * tests/complexity.gnuplot: New files, good for running complexity
23019         benchmarks.
23020
23021         * tests/Makefile.am:
23022         * tests/complexity.c: New test, sets up N elements, at each level
23023         teeing into M streams per element. Eeeenteresting.
23024
23025         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
23026         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
23027         running bench-mass_elements.scm.
23028
23029         * tests/bench-mass_elements.scm: New script, runs mass_elements
23030         for various numbers of identities, outputting the results to a
23031         file. Requires guile 1.6. Just for testing.
23032
23033 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
23034
23035         * gst/schedulers/fairscheduler.c:
23036           compile with debug disabled
23037
23038 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
23039
23040         * configure.ac:
23041           hunting season on 0.9 is now OPEN