gst/parse/Makefile.am: Fix the build by correcting the rule that gave wrong files...
[platform/upstream/gstreamer.git] / ChangeLog
1 2007-04-19  Stefan Kost  <ensonic@users.sf.net>
2
3         * gst/parse/Makefile.am:
4           Fix the build by correcting the rule that gave wrong files to flex.
5
6 2007-04-19  Stefan Kost  <ensonic@users.sf.net>
7
8         * tests/benchmarks/complexity.c:
9         * tests/benchmarks/mass-elements.c:
10           Change licence to LGPL as granted by Benjamin and Andy.
11
12 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
13
14         * gst/parse/Makefile.am:
15         Add correct grammar.tab.h dependency if compiling without new enough
16         flex. Fixes #431150.
17
18 2007-04-18  Sebastian Dröge  <slomo@circular-chaos.org>
19
20         * gst/parse/Makefile.am:
21         Fix typo and use outdated sources if the flex/bison sources are newer
22         than the pregenerated ones but flex is too old. Print a warning in
23         that case. This should fix the build on the build bot.
24
25 2007-04-18  Sebastian Dröge  <slomo@circular-chaos.org>
26
27         Patch by: Marc-Andre Lureau <marcandre dot lureau at gmail dot com>
28         * gst/parse/Makefile.am:
29         * gst/parse/grammar.y:
30         * gst/parse/parse.l:
31         Make the parser reentrant and recursively callable. This requires flex
32         >= 2.5.31, for older versions pregenerated sources are used as we
33         can't bump the build dependency. Finally fixes #349180.
34
35         * gst/gstparse.c: (gst_parse_launch):
36         Drop the HAVE_MT_SAVE_FLEX #ifdefs as we always use a new enough flex
37         now anyway.
38
39         * docs/gst/Makefile.am:
40         * docs/gst/Makefile.am:
41         * gst/parse/grammar.tab.pre.c: (__gst_parse_strdup),
42         (__gst_parse_strfree), (__gst_parse_link_new),
43         (__gst_parse_link_free), (__gst_parse_chain_new),
44         (__gst_parse_chain_free), (SET_ERROR), (YYPRINTF),
45         (gst_parse_element_set), (gst_parse_free_link),
46         (gst_parse_found_pad), (gst_parse_perform_delayed_link),
47         (gst_parse_perform_link), (yytnamerr), (yysyntax_error), (yyerror),
48         (_gst_parse_launch):
49         * gst/parse/grammar.tab.pre.h:
50         * gst/parse/lex._gst_parse_yy.pre.c: (PRINT), (yy_get_next_buffer),
51         (yy_get_previous_state), (yy_try_NUL_trans), (input),
52         (_gst_parse_yyrestart), (_gst_parse_yy_switch_to_buffer),
53         (_gst_parse_yy_load_buffer_state), (_gst_parse_yy_create_buffer),
54         (_gst_parse_yy_delete_buffer), (_gst_parse_yy_init_buffer),
55         (_gst_parse_yy_flush_buffer), (_gst_parse_yypush_buffer_state),
56         (_gst_parse_yypop_buffer_state),
57         (_gst_parse_yyensure_buffer_stack), (_gst_parse_yy_scan_buffer),
58         (_gst_parse_yy_scan_string), (_gst_parse_yy_scan_bytes),
59         (yy_fatal_error), (_gst_parse_yyget_extra),
60         (_gst_parse_yyget_lineno), (_gst_parse_yyget_column),
61         (_gst_parse_yyget_in), (_gst_parse_yyget_out),
62         (_gst_parse_yyget_leng), (_gst_parse_yyget_text),
63         (_gst_parse_yyset_extra), (_gst_parse_yyset_lineno),
64         (_gst_parse_yyset_column), (_gst_parse_yyset_in),
65         (_gst_parse_yyset_out), (_gst_parse_yyget_debug),
66         (_gst_parse_yyset_debug), (_gst_parse_yyget_lval),
67         (_gst_parse_yyset_lval), (_gst_parse_yylex_init),
68         (yy_init_globals), (_gst_parse_yylex_destroy), (yy_flex_strncpy),
69         (yy_flex_strlen), (_gst_parse_yyalloc), (_gst_parse_yyrealloc),
70         (_gst_parse_yyfree):
71         If the installed flex version is too old use pre-generated parser
72         sources. These pre-generated parser sources are always updated when
73         the actual flex/bison sources change but require everybody who wants
74         to change something in the parser to have flex >= 2.5.31 installed.
75
76 2007-04-18  Stefan Kost  <ensonic@users.sf.net>
77
78         * common/m4/gst-gettext.m4:
79         * gst/gst-i18n-lib.h:
80           Make --disable-nls to work
81
82 2007-04-17  Wim Taymans  <wim@fluendo.com>
83
84         * gst/gstconfig.h.in:
85         Revert previous change that broke the build.
86
87 2007-04-17  Stefan Kost  <ensonic@users.sf.net>
88
89         * configure.ac:
90         * gst/Makefile.am:
91         * gst/gstconfig.h.in:
92           Drop libxml2 dependency when building with 
93           --enable-binary-registry --disable-loadsave
94
95 2007-04-16  Tim-Philipp Müller  <tim at centricular dot net>
96
97         * gst/gstregistrybinary.c: (gst_registry_binary_write_cache),
98         (gst_registry_binary_read_cache):
99         * gst/gstregistrybinary.h:
100           Remove unnecessary <sys/mman.h> include which broke the win32 build
101           with MingW; move includes from header file to .c file, even if the
102           header file isn't installed; use g_strerror() where UTF-8 strings
103           are expected, such as in GST_DEBUG messages.
104
105 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
106
107         * docs/libs/gstreamer-libs-sections.txt:
108         Remove bogus addition for API I didn't end up keeping.
109
110         * libs/gst/base/gstbasesrc.h:
111         Mention Since: 0.10.13 in the documentation.
112
113         Add the API keyword to the previous ChangeLog entry.
114
115 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
116
117         * docs/libs/gstreamer-libs-sections.txt:
118         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
119         (gst_base_src_default_prepare_seek_segment),
120         (gst_base_src_prepare_seek_segment), (gst_base_src_perform_seek):
121         * libs/gst/base/gstbasesrc.h:
122         Allow basesrc derived classes to execute seeks in other formats
123         by providing a prepare_seek_segment vmethod. Sub-classes can choose
124         to prepare the GstSegment in any format that their perform_seek method
125         will be able to understand. The default implementation provides the
126         old behaviour of attempting to convert the seek offsets to the 
127         configured native format.
128
129         API: basesrc::prepare_seek_segment vmethod.
130
131 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
132
133         * gst/gstelement.c: (gst_element_get_state_func):
134         Don't output the same debug statement twice.
135
136         * libs/gst/base/gstadapter.c: (gst_adapter_try_to_merge_up),
137         (gst_adapter_peek), (gst_adapter_take_buffer):
138         Optimise the case where we have buffers at the head of the queue that
139         can be joined quickly (because they're contiguous sub-buffers) by
140         merging them together rather than copying data out into new memory.
141
142         * gst/parse/grammar.y:
143         * tests/check/pipelines/parse-launch.c:
144         Fix a leak in an error path for parse_launch, and add a check 
145         for it to the testsuite.
146
147 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
148
149         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_release_pad):
150           Don't deadlock when releasing a pad - gst_pad_set_active may try
151           and take the multiqueue lock too.
152
153 2007-04-12  Tim-Philipp Müller  <tim at centricular dot net>
154
155         * gst/gsterror.c: (_gst_core_errors_init):
156         * gst/gsterror.h:
157           API: add GST_CORE_ERROR_DISABLED (#392804).
158
159 2007-04-12  Thomas Vander Stichele  <thomas at apestaart dot org>
160
161         * docs/faq/gst-uninstalled:
162           don't get empty paths on the PATH variables
163         * gst/gstpad.c (gst_pad_is_active, gst_pad_set_blocked_async):
164           Don't format for the uncommon terminal width of 84 characters.
165
166 2007-04-06  Wim Taymans  <wim@fluendo.com>
167
168         * gst/gstpipeline.c: (reset_stream_time),
169         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time):
170         Only try to select a different pipeline clock when we went back to
171         PAUSED and not when we merely got flushed.
172
173 2007-04-05  Michael Smith  <msmith@fluendo.com>
174
175         * tools/gst-launch.1.in:
176           fractions are better supported in gstreamer than ractions, so
177           suggest using those.
178
179 2007-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
180
181         Submitted by: Mogens Jaeger <mogens@jaeger.tf>
182
183         * po/LINGUAS:
184         * po/da.po:
185           Added Danish translation.
186
187 2007-04-05  Wim Taymans  <wim@fluendo.com>
188
189         * libs/gst/base/gstbasesink.c:
190         (gst_base_sink_queue_object_unlocked), (gst_base_sink_event):
191         Fix leak caused when refusing newsegment after EOS.
192
193         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
194         (gst_fake_sink_init), (gst_fake_sink_set_property),
195         (gst_fake_sink_get_property), (gst_fake_sink_preroll),
196         (gst_fake_sink_render), (gst_fake_sink_change_state):
197         * plugins/elements/gstfakesink.h:
198         Add num-buffers property to make the element generate EOS after a
199         configurable amount of buffers.
200         API: fakesink::num-buffers property.
201
202         * tests/check/elements/fakesink.c: (GST_START_TEST),
203         (fakesink_suite):
204         Fix GstBus leak in test.
205         Test for fakesink num-buffers.
206
207 2007-04-05  Wim Taymans  <wim@fluendo.com>
208
209         * libs/gst/base/gstbasesink.c:
210         (gst_base_sink_queue_object_unlocked), (gst_base_sink_event),
211         (gst_base_sink_change_state):
212         Don't accept anything after an EOS, return UNEXPECTED instead.
213
214         * tests/check/elements/fakesink.c: (GST_START_TEST),
215         (fakesink_suite):
216         Unit test for new EOS behaviour.
217
218 2007-04-05  Wim Taymans  <wim@fluendo.com>
219
220         * gst/gstelement.c: (gst_element_get_request_pad):
221         Make padtemplates also work when they don't contain %s or %d.
222
223 2007-04-05  Wim Taymans  <wim@fluendo.com>
224
225         * docs/gst/gstreamer-sections.txt:
226         * gst/gstclock.c: (gst_clock_adjust_unlocked),
227         (gst_clock_unadjust_unlocked), (gst_clock_set_calibration):
228         * gst/gstclock.h:
229         Improve _adjust_unlocked() so that it overflows less.
230         Add gst_clock_unadjust_unlocked to convert from external time to
231         internal time based on calibration.
232         Add some more debug.
233         API: GstClock::gst_clock_unadjust_unlocked()
234
235 2007-04-03  Wim Taymans  <wim@fluendo.com>
236
237         Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
238
239         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_release_pad):
240         Deactivate pads and free GstSingleQueue with gst_single_queue_free()
241         when releasing sink pad. Fixes #425400.
242
243 2007-04-02  Stefan Kost  <ensonic@users.sf.net>
244
245         * docs/random/ensonic/dynlink.txt:
246           More work on proposal for new core api.
247
248         * docs/libs/gstreamer-libs-sections.txt:
249         * libs/gst/base/gstbasetransform.h:
250           API: GST_BASE_TRANSFORM_LOCK/UNLOCK added
251           
252         * libs/gst/controller/gstcontroller.c:
253         (on_object_controlled_property_changed),
254         (gst_controller_sync_values),
255         (gst_controller_set_interpolation_mode):
256         * libs/gst/controller/gstcontroller.h:
257           Less verbose logging add docs for unimplemented parts and correctly
258           return when using unavailable parts.
259
260 2007-03-29  Jan Schmidt  <thaytan@mad.scientist.com>
261
262         * gst/gstclock.c: (gst_clock_set_master), (do_linear_regression):
263         Move all the debug to the CLOCK category, and associate it with
264         the clock object.
265
266 2007-03-29  Jan Schmidt  <thaytan@mad.scientist.com>
267
268         * libs/gst/base/gstadapter.c: (gst_adapter_take_buffer):
269         Make take_buffer a bit quicker by removing redundant checks
270         caused by calling gst_adapter_take.
271
272 2007-03-28  Tim-Philipp Müller  <tim at centricular dot net>
273
274         * plugins/elements/gstmultiqueue.c: (gst_single_queue_free):
275           Don't leak GCond.
276
277         * tests/check/Makefile.am:
278         * tests/check/elements/.cvsignore:
279         * tests/check/elements/multiqueue.c: (setup_multiqueue),
280         (GST_START_TEST), (multiqueue_suite):
281           Add some dead simple unit tests for the 'multiqueue' element
282           (some bits don't work yet and are disabled for now).
283
284 2007-03-28  Tim-Philipp Müller  <tim at centricular dot net>
285
286         * gst/gstelement.c: (gst_element_get_request_pad),
287         (gst_element_class_get_request_pad_template):
288           Make gst_element_get_request_pad() create request pads only for
289           request pad templates and not for, say, sometimes pad templates.
290
291 2007-03-28  Stefan Kost  <ensonic@users.sf.net>
292
293         * docs/design/draft-klass.txt:
294           Add example that needs more thinking.
295         
296         * docs/design/draft-missing-plugins.txt:
297           More thoughts about wrapper plugins.
298         
299         * docs/random/ensonic/embedded.txt:
300         * docs/random/ensonic/profiling.txt:
301           More design work.
302
303 2007-03-25  Wim Taymans  <wim@fluendo.com>
304
305         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range),
306         (gst_base_src_loop):
307         Only push the segment events in the PLAYING state for live sources.
308
309 2007-03-23  Jan Schmidt  <thaytan@mad.scientist.com>
310
311         * gst/gstpipeline.c: (gst_pipeline_change_state):
312         Modify the clock distribution path in PAUSED->PLAYING so that we 
313         never attempt to choose a new clock unless we're actually leaving
314         the PAUSED state for the first time. This prevents choosing a
315         different clock when the state_change gets called for a 2nd time due
316         to some element doing an async state change.
317
318 2007-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
319
320         * gst/gstpad.c: (gst_pad_set_caps), (gst_pad_configure_sink),
321         (gst_pad_configure_src), (gst_pad_alloc_buffer_full),
322         (gst_pad_chain_unchecked), (gst_pad_push):
323         Revert last commit. This needs some more thoughts.
324
325 2007-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
326
327         * gst/gstpad.c: (gst_pad_set_caps), (gst_pad_alloc_buffer_full),
328         (gst_pad_chain_unchecked), (gst_pad_push):
329         Check in set_caps if the caps are compatible with the pad and remove
330         two functions that are redundant now. Fixes #421543.
331
332 2007-03-22  Wim Taymans  <wim@fluendo.com>
333
334         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
335         (mixed_thread), (mixed_async_cb), (gst_systemclock_suite):
336         Unref some more to make valgrind happy.
337
338 2007-03-22  Wim Taymans  <wim@fluendo.com>
339
340         * gst/gstsystemclock.c: (gst_system_clock_id_wait_jitter_unlocked),
341         (gst_system_clock_id_wait_jitter),
342         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
343         Fix anoying regression that survived a few releases. When adding an
344         async entry while blocking on a sync entry, the sync entry will unblock
345         but still be busy, so it should continue to wait instead of returning
346         _BUSY to the app.
347         Add some comments here and there.
348
349         * tests/check/gst/gstsystemclock.c: (mixed_thread),
350         (mixed_async_cb), (GST_START_TEST), (gst_systemclock_suite):
351         Add testcase for this.
352
353 2007-03-22  Wim Taymans  <wim@fluendo.com>
354
355         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
356         Handle errors from the clock sync better, only UNSCHEDULED indicates a
357         WRONG_STATE and can silently pause the task. All other cases should
358         error out.
359
360 2007-03-22  Wim Taymans  <wim@fluendo.com>
361
362         Patch by: <syrjala at sci dot fi>
363
364         * gst/gstpad.c: (gst_pad_alloc_buffer_full), (gst_pad_send_event):
365         Fix possible deadlock if pad eventfunc is not specified.  Fixes #421177.
366         Improve debugging.
367
368 2007-03-21  Michael Smith  <msmith@fluendo.com>
369
370         * docs/pwg/advanced-types.xml:
371           Fix some errors in the typefinding docs pointed out on irc.
372
373 2007-03-21  Jan Schmidt  <thaytan@mad.scientist.com>
374
375         * libs/gst/base/gstbasesrc.c:
376         Clarify FIXME comment in the face of having added unlock_stop()
377
378 2007-03-21  Wim Taymans  <wim@fluendo.com>
379
380         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_element_set_state):
381         Prepare for release where we warn against possible app breakage in the
382         case of live pipelines along with an env var to enable/disable live
383         preroll mode (GST_COMPAT=[no-]live-preroll).
384
385 2007-03-20  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
386
387         * plugins/elements/gstidentity.c (gst_identity_check_imperfect_offset):
388         So we should use correct constants for checking for None offset.
389
390 2007-03-20  Wim Taymans  <wim@fluendo.com>
391
392         * docs/design/part-block.txt:
393         Mention the fact that the newly switched element should be set to at
394         least PAUSED.
395
396 2007-03-20  Wim Taymans  <wim@fluendo.com>
397
398         * gst/gst.c:
399         Fix compilation with registry disabled as spotted by Saur.
400
401 2007-03-20  Wim Taymans  <wim@fluendo.com>
402
403         Patch by: Olivier Crete <tester at tester dot ca>
404
405         * gst/gstelement.c: (gst_element_sync_state_with_parent):
406         Look at the pending state too when syncing the element state to the
407         parent. Fixes #420133.
408
409 2007-03-19  Jan Schmidt  <thaytan@mad.scientist.com>
410
411         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
412         (gst_base_sink_change_state):
413         * libs/gst/base/gstbasesink.h:
414         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
415         (gst_base_src_default_event), (gst_base_src_unlock_stop),
416         (gst_base_src_deactivate):
417         * libs/gst/base/gstbasesrc.h:
418         Add ::unlock_stop to basesrc and basesink. This allows an opportunity
419         for sub-classes to correctly clear any state they set trying to
420         unlock, such as clearing out unlock commands from a command fd.
421
422         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init),
423         (gst_fd_sink_render), (gst_fd_sink_unlock),
424         (gst_fd_sink_unlock_stop):
425         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init),
426         (gst_fd_src_init), (gst_fd_src_unlock), (gst_fd_src_unlock_stop),
427         (gst_fd_src_create), (gst_fd_src_get_size), (gst_fd_src_do_seek):
428
429         Implement unlock_stop in fdsrc and fdsink.
430         Implement seeking in fdsrc when a seekable fd is passed, as in
431         gst-launch-0.10 fdsrc ! ... ! xvimagesink < /path/to/file
432
433 2007-03-19  Wim Taymans  <wim@fluendo.com>
434
435         Patch by: Evan Nemerson <evan at coeus dash group dot com>
436
437         * gst/gstelement.c: (gst_element_class_init):
438         Fix pad-added and pad-removed signal signatures so that the pad type is
439         stated as GST_TYPE_PAD instead of G_TYPE_OBJECT. Fixes #419851.
440
441 2007-03-19  Wim Taymans  <wim@fluendo.com>
442
443         * docs/gst/gstreamer-sections.txt:
444         Add new element field and method.
445
446         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
447         (bin_remove_messages), (gst_bin_add_func), (gst_bin_remove_func),
448         (gst_bin_recalc_state), (gst_bin_get_state_func),
449         (gst_bin_element_set_state), (gst_bin_change_state_func),
450         (gst_bin_continue_func), (bin_bus_handler),
451         (bin_push_state_continue), (bin_handle_async_start),
452         (bin_handle_async_done), (gst_bin_handle_message_func):
453         Make async state changes a bit smarter by using new ASYNC_START and
454         ASYNC_DONE messages. This reduces the number of times we run the state
455         recalculation thread.
456         Don't change state of element with a pending ASYNC_START message.
457         Deprecate STATE_DIRTY messages.
458         
459         * gst/gstelement.c: (gst_element_init), (gst_element_send_event),
460         (gst_element_get_state_func), (gst_element_continue_state),
461         (gst_element_lost_state), (gst_element_set_state_func),
462         (gst_element_change_state):
463         * gst/gstelement.h:
464         Keep the state that was last set by the app in a new element field.
465         Don't allow state changes when handling an element event.
466         Post ASYNC_START and ASYNC_DONE messages.
467         Change lost_state so that we go to PAUSED and wait for the parent to set
468         us to PLAYING again (so latency calculation can be performed)
469         Export gst_element_change_state() method so that subclasses can use it.
470         API: gst_element_change_state()
471         API: GST_STATE_TARGET
472
473         * gst/gstpipeline.c: (gst_pipeline_class_init),
474         (reset_stream_time), (gst_pipeline_change_state),
475         (gst_pipeline_handle_message), (gst_pipeline_set_new_stream_time):
476         Using the new ASYNC_START message we can reset the base_time when
477         needed. This can then be used to implement base_time redistribution in
478         flushing seeks so that we can remove the explicit seek handling.
479         Perform latency query and configuration when going to PLAYING.
480
481         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
482         (gst_base_sink_query), (gst_base_sink_change_state):
483         Post new ASYNC_START/ASYNC_DONE messages.
484
485         * tests/check/generic/sinks.c: (GST_START_TEST):
486         Fix test because the bin will not set the async element to PLAYING right
487         away.
488
489         * tests/check/gst/gstbin.c: (pop_async_done), (GST_START_TEST):
490         Make the message check a little stronger.
491         Handle ASYNC messages.
492
493         * tests/check/pipelines/cleanup.c: (GST_START_TEST):
494         * tests/check/pipelines/simple-launch-lines.c: (GST_START_TEST):
495         Expect ASYNC_DONE messages.
496
497 2007-03-19  Wim Taymans  <wim@fluendo.com>
498
499         * docs/gst/gstreamer-sections.txt:
500         * gst/gstmessage.c: (gst_message_new_async_start),
501         (gst_message_new_async_done), (gst_message_parse_info),
502         (gst_message_parse_async_start):
503         * gst/gstmessage.h:
504         Add ASYNC_START and ASYNC_DONE messages to prepare for latency
505         support.
506
507 2007-03-15  Tim-Philipp Müller  <tim at centricular dot net>
508
509         * tools/gst-inspect.c:
510         (print_plugin_automatic_install_info_codecs):
511           Now that we don't check for the 'Codec' keyword any longer in the
512           klass, we shouldn't spew a warning if the klass isn't a decoder or
513           encoder (since it might be a Source/Network, for example).
514
515 2007-03-14  Tim-Philipp Müller  <tim at centricular dot net>
516
517         * tools/gst-inspect.c:
518         (print_plugin_automatic_install_info_codecs):
519           Don't require decoder/demuxer/depayloader elements or
520           encoder/muxer/paylader elements to have 'Codec' as part of their
521           factory class string when introspecting a plugin's capabilities.
522           draft-klass.txt mentions that it might be removed in future, and
523           flump3dec doesn't have it as part of its class string, so chances
524           are others might also not have it.
525
526 2007-03-14  Thomas Vander Stichele  <thomas at apestaart dot org>
527
528         * po/af.po:
529         * po/az.po:
530         * po/bg.po:
531         * po/ca.po:
532         * po/cs.po:
533         * po/de.po:
534         * po/en_GB.po:
535         * po/fr.po:
536         * po/it.po:
537         * po/nb.po:
538         * po/nl.po:
539         * po/ru.po:
540         * po/sq.po:
541         * po/sr.po:
542         * po/sv.po:
543         * po/tr.po:
544         * po/uk.po:
545         * po/vi.po:
546         * po/zh_CN.po:
547         * po/zh_TW.po:
548           Update translations from translation project
549
550 2007-03-14  Stefan Kost  <ensonic@users.sf.net>
551
552         * gst/gstchildproxy.c: (gst_child_proxy_get_property),
553         (gst_child_proxy_set_property):
554           Invert precondition check to be alike the ones in the mimiced gobject
555           api.
556
557 2007-03-13  Stefan Kost  <ensonic@users.sf.net>
558
559         * docs/design/draft-tagreading.txt:
560         * docs/random/ensonic/audiobaseclasses.txt:
561           Do some Architect work.
562
563         * gst/gstobject.c: (gst_object_set_name):
564           Add a WARNING.
565
566         * gst/gstpad.c:
567           Add docs that point from gst_pad_get_range to gst_pad_pull_range
568
569 2007-03-12  Jan Schmidt  <thaytan@mad.scientist.com>
570
571         * gst/gstsystemclock.c: (gst_system_clock_init),
572         (gst_system_clock_start_async), (gst_system_clock_id_wait_async):
573         Defer starting the async system clock thread until the first async
574         wait is scheduled. Fixes #414986.
575
576 2007-03-12  Tim-Philipp Müller  <tim at centricular dot net>
577
578         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_finalize),
579         (gst_single_queue_free):
580           Fix small leak (free GstSingleQueue structure too, not only contents).
581
582 2007-03-10  Sebastien Moutte  <sebastien@moutte.net>
583
584         * gst/gstbin.c:(gst_bin_add):
585         Use GST_STR_NULL to prevent NULL pointer to be passed to GST_CAT_DEBUG.
586         * win32/common/libgstbase.def:
587         * win32/common/libgstreamer.def:
588         Add new exported functions.
589
590 2007-03-09  Wim Taymans  <wim@fluendo.com>
591
592         * docs/plugins/gstreamer-plugins-sections.txt:
593         Fix GstTee docs.
594
595 2007-03-09  Wim Taymans  <wim@fluendo.com>
596
597         * docs/gst/gstreamer-sections.txt:
598         * gst/gstbuffer.c: (gst_buffer_copy_metadata), (_gst_buffer_copy):
599         * gst/gstbuffer.h:
600         Add metadata copy functions. Fixes #393099.
601
602         * gst/gstutils.c: (gst_buffer_stamp):
603         * libs/gst/base/gstbasetransform.c:
604         (gst_base_transform_prepare_output_buffer):
605         Use new metadata copy functions.
606
607 2007-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
608
609         * plugins/elements/gstidentity.c: (gst_identity_class_init),
610         (gst_identity_init), (gst_identity_check_perfect),
611         (gst_identity_check_imperfect_timestamp),
612         (gst_identity_check_imperfect_offset), (gst_identity_transform_ip),
613         (gst_identity_set_property), (gst_identity_get_property):
614         * plugins/elements/gstidentity.h:
615         Separate out check-imperfect-timestamp and check-imperfect-offset.
616         Put back check-perfect as it was to keep compatibility.
617
618 2007-03-09  Jan Schmidt  <thaytan@mad.scientist.com>
619
620         * gst/gstelement.c: (gst_element_dispose):
621         There's no need to warn if VOID_PENDING is not NONE here, as
622         long as the state is NULL it's ok, and that's checked immediately
623         above.
624
625 2007-03-08  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
626
627         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
628         Fix check for perfect stream to ignore buffers with -1 
629         offsets/offset ends when checking data contiguity.
630
631 2007-03-08  Wim Taymans  <wim@fluendo.com>
632
633         * tools/gst-launch.c: (event_loop):
634         Print INFO messages.
635
636 2007-03-08  Wim Taymans  <wim@fluendo.com>
637
638         * libs/gst/base/gstbasetransform.c:
639         (gst_base_transform_sink_eventfunc),
640         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
641         (gst_base_transform_activate):
642         * libs/gst/base/gstbasetransform.h:
643         Add support for dropping buffers with custom GstFlowReturn.
644         Set DISCONT flags on outgoing buffers based on QoS, incomming DISCONT
645         buffers or dropped buffers.
646
647         * docs/libs/gstreamer-libs-sections.txt:
648         docs for new custom return code.
649
650         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
651         Use drop support in base class to implement drop-probability.
652
653 2007-03-07  Tim-Philipp Müller  <tim at centricular dot net>
654
655         * gst/gst.c: (load_plugin_func):
656         * gst/gstplugin.c: (gst_plugin_load_by_name), (gst_plugin_load):
657         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
658         * gst/gsttrace.c: (gst_trace_new), (gst_alloc_trace_set_flags_all):
659           Remove newlines at end of debug log strings.
660
661 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
662
663         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
664         Only post bus message at max, once per buffer received.
665
666 2007-03-07  Wim Taymans  <wim@fluendo.com>
667
668         * docs/design/Makefile.am:
669         * docs/design/part-synchronisation.txt:
670         Add doc about synchronisation
671
672         * docs/design/draft-latency.txt:
673         * docs/design/part-TODO.txt:
674         * docs/design/part-clocks.txt:
675         * docs/design/part-events.txt:
676         * docs/design/part-gstbus.txt:
677         * docs/design/part-gstpipeline.txt:
678         * docs/design/part-live-source.txt:
679         * docs/design/part-messages.txt:
680         * docs/design/part-overview.txt:
681         * docs/design/part-streams.txt:
682         * docs/design/part-trickmodes.txt:
683         Documentation updates.
684
685 2007-03-07  Jan Schmidt  <thaytan@mad.scientist.com>
686
687         * gstreamer.doap:
688         Update the doap file.
689
690 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
691
692         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
693         Rename non-perfect to imperfect for Mike and for the sanctity of the
694         language.
695         Also make sure bus message gets emitted for data-incontiguities.
696
697 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
698
699         * plugins/elements/gstidentity.c: (gst_identity_check_perfect),
700         (gst_identity_start):
701         * plugins/elements/gstidentity.h:
702         Emit bus message if check-perfect is true and we encounter a
703         non-perfect stream between 2 consecutive buffers.
704         Fixes #415394.
705
706 2007-03-07  Jan Schmidt  <thaytan@mad.scientist.com>
707
708         * configure.ac:
709         Back to CVS
710
711 === release 0.10.12 ===
712
713 2007-03-07  Jan Schmidt <thaytan@mad.scientist.com>
714
715         * configure.ac:
716           releasing 0.10.12, "Inevitable Demise"
717
718 2007-03-01  Jan Schmidt  <thaytan@mad.scientist.com>
719
720         * configure.ac:
721          Version 0.10.11.2 (0.10.12 pre-release)
722          Bump libtool versioning.
723
724 2007-03-01  Stefan Kost  <ensonic@users.sf.net>
725
726         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
727           Log flow-names and not numbers.
728
729 2007-02-28  Thomas Vander Stichele  <thomas at apestaart dot org>
730
731         * configure.ac:
732           Convert to new AG_GST style.
733
734 2007-02-28  Wim Taymans  <wim@fluendo.com>
735
736         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency):
737         Don't unref query twice.
738
739 2007-02-28  Wim Taymans  <wim@fluendo.com>
740
741         * gst/gstvalue.c: (gst_value_transform_object_string),
742         (_gst_value_initialize):
743         Implement GstObject -> string transform so we print object names
744         when serializing GValues containing GstObjects.
745
746 2007-02-28  Wim Taymans  <wim@fluendo.com>
747
748         * docs/gst/gstreamer-sections.txt:
749         Add new stuff to docs.
750
751 2007-02-28  Wim Taymans  <wim@fluendo.com>
752
753         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
754         (gst_base_sink_queue_object_unlocked), (gst_base_sink_send_event),
755         (gst_base_sink_change_state):
756         Improve latency query code.
757         Don't leak latency events.
758
759         * tests/check/gst/gstbin.c: (GST_START_TEST):
760         Improve debugging.
761
762 2007-02-28  Wim Taymans  <wim@fluendo.com>
763
764         * gst/gstelement.c: (gst_element_message_full),
765         (gst_element_get_state_func):
766         * gst/gstelement.h:
767         Improve docs a little. Added Since: for new macro.
768
769         * gst/gstobject.c: (gst_object_sink):
770         * gst/gstpipeline.c: (gst_pipeline_change_state),
771         (gst_pipeline_set_new_stream_time):
772         * gst/gstpipeline.h:
773         Improve debugging and docs.
774
775         * gst/gstutils.c: (gst_element_state_change_return_get_name):
776         Improve debugging.
777
778 2007-02-28  Wim Taymans  <wim@fluendo.com>
779
780         * gst/gstelement.c: (gst_element_message_full),
781         (gst_element_set_locked_state), (gst_element_get_state_func),
782         (gst_element_change_state):
783         Handle INFO messages from the GST_ELEMENT_INFO macro as well.
784         Documentation updates.
785         Small code cleanups.
786
787         * gst/gstmessage.c: (gst_message_new_info),
788         (gst_message_parse_info):
789         * gst/gstmessage.h:
790         API: gst_message_new_info()
791         API: gst_message_parse_info()
792         Add INFO message create and parse code.
793
794 2007-02-28  Wim Taymans  <wim@fluendo.com>
795
796         * gst/gstbin.c: (bin_query_min_max_init), (bin_query_latency_fold),
797         (bin_query_latency_done):
798         Also report the live parameter of a latency query.
799
800 2007-02-28  Thomas Vander Stichele  <thomas at apestaart dot org>
801
802         * tests/check/generic/states.c: (GST_START_TEST), (states_suite):
803           Copy the current generic/states example from -base and adapt so
804           we can use the exact same code everywhere.
805           Check a STATES_IGNORE_ELEMENTS env var which can be used
806           to ignore certain element factories for this test, which is
807           what is being done in -base
808         * tests/check/Makefile.am:
809           Mention this environment variable.
810
811 2007-02-27  Wim Taymans  <wim@fluendo.com>
812
813         * docs/gst/gstreamer-sections.txt:
814         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
815         (gst_bus_timed_pop), (gst_bus_pop):
816         * gst/gstbus.h:
817         API: gst_bus_timed_pop()
818         Implement gst_bus_timed_pop() to do a blocking timed wait for a
819         message to arrive on the bus.
820
821         * tests/check/gst/gstbus.c: (GST_START_TEST), (pop_thread),
822         (gst_bus_suite):
823         Two unit tests for new _timed_pop() function.
824
825 2007-02-23  Wim Taymans  <wim@fluendo.com>
826
827         * gst/gstpipeline.c: (gst_pipeline_change_state),
828         (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay):
829         Don't ref a NULL clock in _provide_clock_func().
830         Don't allow an INVALID delay.
831         Don't try to calculate base_time with an invalid start_time.
832         Also distribute and notify a NULL clock when it was selected.
833
834         * tools/gst-launch.c: (event_loop):
835         Don't crash when a NULL clock was selected in the pipeline.
836
837 2007-02-23  Tim-Philipp Müller  <tim at centricular dot net>
838
839         * docs/design/Makefile.am:
840         * docs/design/draft-missing-plugins.txt:
841         * docs/random/draft-missing-plugins.txt:
842           Some small updates: update plugin system identifier prefix
843           ('gstreamer.net' to 'gstreamer'), mention our new install
844           API in libgstbaseutils rather than libgimme-codec, add
845           reference to the online docs.
846
847 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
848
849         * win32/common/config.h:
850           Pretty sure Bill never made a powerpc version.  Powerpc hackers,
851           use moap cl ci to only check in what is mentioned in the ChangeLog.
852
853 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
854
855         * docs/gst/gstreamer-sections.txt:
856         * gst/gstelement.h:
857           Fix up documentation to link to the correct GstGError section.
858           Add GST_ELEMENT_INFO macro since someone else added a Info message.
859
860 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
861
862         * tools/gst-launch.c: (event_loop):
863           Make sure that we actually show the important message part of a
864           warning message.
865           No need to check if the gerror is not NULL to free; first of all
866           g_free accepts NULL; and second the default error handler would
867           segfault if gerror was NULL.
868
869 2007-02-21  Wim Taymans  <wim@fluendo.com>
870
871         * docs/gst/gstreamer-sections.txt:
872         Removed docs as well.
873
874 2007-02-21  Wim Taymans  <wim@fluendo.com>
875
876         * gst/gstmessage.c: (gst_message_parse_duration):
877         * gst/gstmessage.h:
878         Remove new messages for release.
879
880 2007-02-20  Wim Taymans  <wim@fluendo.com>
881
882         * docs/design/part-gstghostpad.txt:
883         * gst/gstghostpad.c: (gst_ghost_pad_dispose),
884         (gst_ghost_pad_new_full):
885         Make the ghostpad a parent of the internal pad again for better backward
886         compatibility. Don't write code that relies on this however.
887
888         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
889         (gst_pad_link_check_hierarchy):
890         Require that parents should be GstElements in the hierarchy check.
891
892 2007-02-20  Wim Taymans  <wim@fluendo.com>
893
894         * gst/gstbin.c: (bin_replace_message), (gst_bin_add_func),
895         (gst_bin_change_state_func), (bin_query_min_max_init),
896         (bin_query_latency_fold), (bin_query_latency_done),
897         (gst_bin_query):
898         Improve debug info.
899         Implement latency query.
900
901 2007-02-20  Wim Taymans  <wim@fluendo.com>
902
903         * docs/design/part-gstghostpad.txt:
904         * gst/gstghostpad.c: (gst_ghost_pad_class_init),
905         (gst_ghost_pad_internal_do_activate_push),
906         (gst_ghost_pad_internal_do_activate_pull),
907         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
908         (gst_ghost_pad_do_link), (gst_ghost_pad_dispose),
909         (gst_ghost_pad_new_full), (gst_ghost_pad_set_target):
910         Do not set the internal pad as a parent anymore so we can avoid
911         hierarchy linking errors when the ghostpad has no parent yet. This also
912         fixes failed activation because of unlinked internal pads, which in
913         turn fixes the impossible case where you have to activate a pad before
914         you can add it to a running element.
915         Also fix the docs.
916
917         * gst/gstpad.c: (pre_activate), (post_activate),
918         (gst_pad_set_active), (gst_pad_activate_pull),
919         (gst_pad_activate_push), (gst_pad_check_pull_range):
920         Add some more debug info.
921         Mark activation mode in pre_activate so that we don't try to activate in
922         endless loops. Fixes #385084.
923
924 2007-02-19  Wim Taymans  <wim@fluendo.com>
925
926         * libs/gst/base/gstbasetransform.c: (gst_base_transform_init),
927         (gst_base_transform_check_get_range):
928         Implement a checkgetrange function instead of relying on the default
929         core behaviour that assumes we can operate in pull mode if we have a
930         getrange function. First step at fixing #385084.
931
932 2007-02-15  Stefan Kost  <ensonic@users.sf.net>
933
934         * gst/gstchildproxy.h:
935         * libs/gst/base/gstbasesink.h:
936         * libs/gst/base/gstbasesrc.h:
937         * libs/gst/base/gstbasetransform.h:
938         More docs coverage and some ChangeLog surgery (add missing names)
939
940 2007-02-15  Wim Taymans  <wim@fluendo.com>
941
942         * docs/design/part-TODO.txt:
943         * docs/design/part-activation.txt:
944         * docs/design/part-block.txt:
945         * docs/design/part-buffering.txt:
946         * docs/design/part-clocks.txt:
947         * docs/design/part-element-source.txt:
948         * docs/design/part-events.txt:
949         * docs/design/part-gstbin.txt:
950         * docs/design/part-gstbus.txt:
951         * docs/design/part-gstpipeline.txt:
952         * docs/design/part-live-source.txt:
953         * docs/design/part-messages.txt:
954         * docs/design/part-overview.txt:
955         * docs/design/part-qos.txt:
956         * docs/design/part-query.txt:
957         * docs/design/part-states.txt:
958         * docs/design/part-trickmodes.txt:
959         Some doc updates. Start renaming from stream_time to running_time where
960         it was used wrongly.
961
962 2007-02-15  Wim Taymans  <wim@fluendo.com>
963
964         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
965         Answer LATENCY query.
966
967 2007-02-15  Wim Taymans  <wim@fluendo.com>
968
969         * tests/check/gst/gstevent.c: (event_probe), (test_event),
970         (GST_START_TEST):
971         Improve debugging.
972
973 2007-02-15  Wim Taymans  <wim@fluendo.com>
974
975         * gst/gstpad.c: (gst_pad_get_internal_links_default),
976         (gst_pad_dispatcher):
977         Improve debugging of default pad dispatcher and query functions.
978
979 2007-02-15  Wim Taymans  <wim@fluendo.com>
980
981         * docs/gst/gstreamer-sections.txt:
982         Remove old unused method.
983
984 2007-02-13  Wim Taymans  <wim@fluendo.com>
985
986         * tests/check/gst/gstsegment.c: (GST_START_TEST):
987         Fix check
988
989 2007-02-13  Wim Taymans  <wim@fluendo.com>
990
991         * docs/design/part-seeking.txt:
992         Some small update.
993
994         * gst/gstsegment.c: (gst_segment_set_seek):
995         Revert old bogus change that should make seeking work again.
996
997 2007-02-13  Stefan Kost  <ensonic@users.sf.net>
998
999         * docs/random/ensonic/dynlink.txt:
1000         * docs/random/ensonic/interfaces.txt:
1001         * docs/random/ensonic/receipies.txt:
1002           Possible dynamic reconnection api, plus some type fixes the other two
1003           docs.
1004
1005 2007-02-13  Sebastian Dröge  <slomo@circular-chaos.org>
1006
1007         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
1008         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
1009         Also check for an absolute path following file:// in the filesrc
1010         element. Remove redundant check and call g_path_is_absolute() on the
1011         unescaped location.
1012
1013 2007-02-13  Stefan Kost  <ensonic@users.sf.net>
1014
1015         * docs/design/draft-klass.txt:
1016           Add existing category analysis.
1017           
1018         * gst/gstcaps.c:
1019           Fix doc example, framerate is a fraction.
1020
1021 2007-02-12  Stefan Kost  <ensonic@users.sf.net>
1022
1023         * configure.ac:
1024         * docs/gst/Makefile.am:
1025         * docs/libs/Makefile.am:
1026         * docs/plugins/Makefile.am:
1027           Add crossreferences to glib/gobject docs.
1028
1029 2007-02-12  Wim Taymans  <wim@fluendo.com>
1030
1031         * docs/design/draft-latency.txt:
1032         Small update.
1033
1034         * docs/libs/gstreamer-libs-sections.txt:
1035         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
1036         (gst_base_sink_get_latency), (gst_base_sink_query_latency),
1037         (gst_base_sink_wait_clock), (gst_base_sink_send_qos),
1038         (gst_base_sink_perform_qos), (gst_base_sink_queue_object_unlocked),
1039         (gst_base_sink_chain_unlocked), (gst_base_sink_send_event),
1040         (gst_base_sink_get_position), (gst_base_sink_query),
1041         (gst_base_sink_change_state):
1042         * libs/gst/base/gstbasesink.h:
1043         API: gst_base_sink_query_latency() to let subclasses query the upstream
1044         latency.
1045         API: gst_base_sink_get_latency() to let subclasses query the configured
1046         latency in the sink.
1047         Implement query and set latency.
1048         Update some docs.
1049         As spotted by Will Newton <will dot newton at gmail dot com>: Make sure we
1050         don't continue preroll when we are flushing. Fixes #405284.
1051
1052         * tests/check/pipelines/stress.c: (change_state_timeout),
1053         (quit_timeout), (GST_START_TEST), (stress_suite):
1054         Test for #405284.
1055
1056 2007-02-09  Tim-Philipp Müller  <tim at centricular dot net>
1057
1058         Patch by: René Stadler <mail at renestadler de>
1059
1060         * docs/gst/gstreamer-sections.txt:
1061         * gst/gsttaglist.c: (_gst_tag_initialize):
1062         * gst/gsttaglist.h:
1063           API: add GST_TAG_REFERENCE_LEVEL (#403597).
1064
1065 2007-02-11  Stefan Kost  <ensonic@users.sf.net>
1066
1067         * docs/libs/Makefile.am:
1068           Fix path to core docs.
1069
1070         * gst/gstbin.c: (gst_bin_get_by_interface),
1071         (gst_bin_iterate_all_by_interface):
1072           Refix docs by also renaming 'interface' to 'iface' in implementation.
1073
1074         * docs/gst/gstreamer-sections.txt:
1075         * gst/gstcaps.c:
1076         * gst/gstchildproxy.c: (gst_child_proxy_base_init):
1077         * gst/gstchildproxy.h:
1078         * gst/gstelementfactory.c:
1079         * gst/gstpadtemplate.h:
1080         * libs/gst/controller/gstcontroller.c:
1081         (gst_controlled_property_new):
1082           Document more.
1083
1084 2007-02-10  Sébastien Moutte  <sebastien@moutte.net>
1085
1086         * gst/gstbin.h:(gst_bin_get_by_interface),
1087         (gst_bin_iterate_all_by_interface):
1088         Replace interface parameter name by iface as interface is 
1089         a reserved keyword in Visual Studio for C++ projects so it removes
1090         a build error for application developpers using VS.
1091         * plugins/elements/gstfilesrc.c:(gst_file_src_uri_set_uri):
1092         Fix a bug on Windows in uri format check. Now the prefix checked
1093         is file:// and next we check if the path after file:// is absolute.
1094         * win32/common/libgstbase.def:
1095         * win32/common/libgstdataprotocol.def:
1096         * win32/common/libgstgstreamer.def:
1097         Add new exported functions.
1098
1099 2007-02-09  Andy Wingo  <wingo@pobox.com>
1100
1101         * tests/check/pipelines/simple-launch-lines.c
1102         (simple_launch_lines_suite, test_tee): Disable tee test until I
1103         have time to fix it :-(
1104
1105         * tests/check/Makefile.am (noinst_HEADERS): 
1106         * tests/check/libs/libsabi.c: 
1107         * tests/check/libs/struct_ppc32.h: Add ABI checks for PPC32.
1108         * tests/check/gst/gstabi.c: 
1109         * tests/check/gst/struct_ppc32.h: Add ABI checks for PPC32.
1110
1111         * tests/check/pipelines/simple-launch-lines.c (test_tee): Add
1112         tests for push and pull tee behavior.
1113
1114         * plugins/elements/gsttee.h: 
1115         * plugins/elements/gsttee.c: Describe has-sink-loop better, and
1116         mark as deprecated as well as unimplemented. It was a crack idea.
1117         Add support for tee operating in pull mode, off by default.
1118
1119         * gst/gstregistryxml.c (load_feature, load_plugin): Drop some
1120         normal-case logs down to LOG, raise errors to WARNING.
1121         (gst_registry_xml_read_cache): Don't log before calling a function
1122         that logs.
1123
1124         * gst/gstregistry.c (gst_registry_finalize): Less debug on program
1125         exit (registry finalize).
1126         (gst_registry_add_plugin, gst_registry_add_feature): No need for a
1127         DEBUG log when we emit signals that people don't even have the
1128         chance to connect to.
1129         (gst_registry_scan_path_level): Less logging in the normal case.
1130
1131 2007-02-05  Sebastian Dröge  <slomo@circular-chaos.org>
1132
1133         Patch by: Michal Benes <michal dot benes at itonis dot tv>
1134
1135         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
1136         Correctly generate EOS for non-seekable files. We don't have a total
1137         length for them and would get an unexpected end of file if we only
1138         special-cased for regular files. (Fixes: #404569)
1139
1140 2007-02-05  Sebastian Dröge  <slomo@circular-chaos.org>
1141
1142         * tests/check/elements/filesrc.c: (GST_START_TEST),
1143         (filesrc_suite):
1144         Add unit test for the GstURIHandler interface in filesrc. This also
1145         tests the newly added file://localhost/foo/bar support.
1146
1147 2007-02-04  Tim-Philipp Müller  <tim at centricular dot net>
1148
1149         * gst/gstelementfactory.h:
1150           The klass string is not a hierarchy. Add reference to the design doc
1151           for more information and common types.
1152
1153 2007-02-02  Wim Taymans  <wim@fluendo.com>
1154
1155         * gst/gstquery.c: (gst_query_new_latency):
1156         Remove old structure field.
1157
1158 2007-02-02  Stefan Kost  <ensonic@users.sf.net>
1159
1160         * tools/gst-launch.1.in:
1161           Give example for network streaming (#351998)
1162
1163 2007-02-02  Wim Taymans  <wim@fluendo.com>
1164
1165         * docs/gst/gstreamer-sections.txt:
1166         Add docs for new methods.
1167
1168         * gst/gstevent.c: (gst_event_new_latency),
1169         (gst_event_parse_latency):
1170         * gst/gstevent.h:
1171         Add new LATENCY event to configure latency in a pipeline.
1172         API: gst_event_new_latency
1173         API: gst_event_parse_latency
1174
1175         * gst/gstmessage.c: (gst_message_new_buffering),
1176         (gst_message_new_lost_preroll), (gst_message_new_prerolled),
1177         (gst_message_new_latency), (gst_message_parse_buffering),
1178         (gst_message_parse_lost_preroll):
1179         * gst/gstmessage.h:
1180         Added messages used in draft-latency.
1181         API: gst_message_new_lost_preroll
1182         API: gst_message_parse_lost_preroll
1183         API: gst_message_new_prerolled
1184         API: gst_message_new_latency
1185
1186         * gst/gstquery.c: (gst_query_new_latency), (gst_query_set_latency),
1187         (gst_query_parse_latency):
1188         * gst/gstquery.h:
1189         Implemented new latency query as in design doc.
1190         API: gst_query_new_latency
1191         API: gst_query_set_latency
1192         API: gst_query_parse_latency
1193
1194 2007-02-02  Wim Taymans  <wim@fluendo.com>
1195
1196         * docs/design/draft-latency.txt:
1197         Slight redesign to allow for dynamic latency adjustments.
1198
1199         * docs/design/part-negotiation.txt:
1200         Fix some typos.
1201
1202 2007-02-02  Sebastian Dröge  <slomo@circular-chaos.org>
1203
1204         reviewed by: Wim Taymans <wim@fluendo.com>
1205
1206         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
1207         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
1208         Allow file://localhost/foo/bar URLs and correctly fail for every other
1209         hostname that one sets. This was gnomevfssrc is linked for those if
1210         installed as it can handle it (#403172)
1211
1212 2007-02-01  Sebastian Dröge  <slomo@circular-chaos.org>
1213
1214         reviewed by: Tim-Philipp Müller <tim at centricular dot net>
1215
1216         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
1217         (unref_data), (gst_collect_pads_add_pad_full):
1218         * libs/gst/base/gstcollectpads.h:
1219         Don't put the previously added destroy notify in the GstCollectData
1220         struct as all it's padding is already used and we don't want to break
1221         ABI. Instead put in the pad's GObject data for now. This should be
1222         cleaned up for 0.11 (#402393).
1223
1224 2007-02-01  Sebastian Dröge  <slomo@circular-chaos.org>
1225
1226         reviewed by: Wim Taymans <wim@fluendo.com>
1227
1228         * docs/libs/gstreamer-libs-sections.txt:
1229         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
1230         (unref_data), (gst_collect_pads_add_pad),
1231         (gst_collect_pads_add_pad_full):
1232         * libs/gst/base/gstcollectpads.h:
1233         API: Add function to specify a destroy notification for custom
1234         GstCollectData when adding new pads in GstCollectPads (#402393).
1235
1236 2007-02-01  Tim-Philipp Müller  <tim at centricular dot net>
1237
1238         * po/sv.po:
1239           Update Swedish translation (#378255).
1240
1241 2007-01-31  Stefan Kost  <ensonic@users.sf.net>
1242
1243         * docs/design/draft-klass.txt:
1244           Fix the previous change, this is a list of categories and not a hierarchy.
1245
1246 2007-01-31  Stefan Kost  <ensonic@users.sf.net>
1247
1248         * docs/design/draft-klass.txt:
1249           Add info about how to get a list of used classes.
1250
1251 2007-01-30  Tim-Philipp Müller  <tim at centricular dot net>
1252
1253         * plugins/elements/gsttypefindelement.c:
1254         (gst_type_find_element_chain_do_typefinding),
1255         (gst_type_find_element_change_state):
1256           Don't leak found caps in chain function (no idea why that never
1257           showed up as a leak anywhere).
1258
1259 2007-01-30  Stefan Kost  <ensonic@users.sf.net>
1260
1261         * gst/gstplugin.h:
1262           Fix and expand GstPluginDesc API docs.
1263
1264 2007-01-29  Stefan Kost  <ensonic@users.sf.net>
1265
1266         * gst/gstcaps.c:
1267         * gst/gstelementfactory.c:
1268         * gst/gstpadtemplate.h:
1269           api doc fixes
1270
1271         * libs/gst/controller/gstcontroller.c:
1272         (gst_controlled_property_new):
1273         * tests/examples/controller/audio-example.c:
1274           comment fixes
1275
1276 2007-01-29  Stefan Kost  <ensonic@users.sf.net>
1277
1278         * configure.ac:
1279           comment about refining the xml deps
1280
1281         * docs/manuals.mak:
1282           comments about moving away from jade for docs
1283         
1284         * gst/gst.c:
1285           recommit the ifdefs to use the binary registry
1286         
1287         * gst/gstbin.c: (gst_bin_change_state_func):
1288           this break is obsolete
1289
1290         * gst/gstelementfactory.h:
1291           better GST_ELEMENT_DETAILS docs, add comment about translation
1292
1293         * gst/gstinfo.h:
1294           remove eol slash
1295
1296         * gst/gstobject.c: (gst_signal_object_get_type):
1297           add G_UNLIKELY as usual
1298
1299         * gst/gstpad.c: (gst_pad_event_default):
1300           add fall trhu comment
1301
1302         * gst/gstregistrybinary.c: (gst_registry_binary_write),
1303         (gst_registry_binary_initialize_magic),
1304         (gst_registry_binary_save_string),
1305         (gst_registry_binary_save_pad_template),
1306         (gst_registry_binary_save_feature),
1307         (gst_registry_binary_save_plugin),
1308         (gst_registry_binary_write_cache),
1309         (gst_registry_binary_check_magic),
1310         (gst_registry_binary_load_pad_template),
1311         (gst_registry_binary_load_feature),
1312         (gst_registry_binary_load_plugin),
1313         (gst_registry_binary_read_cache):
1314           comment typo and formatting
1315
1316         * gst/gstutils.c: (gst_element_state_get_name),
1317         (gst_element_state_change_return_get_name):
1318           remove obsolete breaks
1319
1320         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
1321           add FIXME 0.11 and remove cpp comment
1322
1323 2007-01-29  Edward Hervey  <edward@fluendo.com>
1324
1325         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
1326         Fix print statement in an even more portable way.
1327
1328 2007-01-29  Tim-Philipp Müller  <tim at centricular dot net>
1329
1330         * docs/gst/gstreamer-sections.txt:
1331         * gst/gstutils.h:
1332           API: add GST_ROUND_DOWN_* macros (#401781).
1333
1334 2007-01-27  Tim-Philipp Müller  <tim at centricular dot net>
1335
1336         * docs/gst/gstreamer.types.in:
1337         * gst/gstregistry.c: (gst_registry_class_init):
1338           Document registry signals and make gtk-doc pick them up (#401381).
1339
1340 2007-01-26  Tim-Philipp Müller  <tim at centricular dot net>
1341
1342         * docs/pwg/building-testapp.xml:
1343           Add some audioconverts and audioresample to the pipeline, and some
1344           more comments and error handling.
1345
1346 2007-01-26  Tim-Philipp Müller  <tim at centricular dot net>
1347
1348         * docs/manual/manual.xml:
1349         * docs/pwg/pwg.xml:
1350           Fix typo (#400987).
1351
1352 2007-01-26  Wim Taymans  <wim@fluendo.com>
1353
1354         * gst/gstcaps.c: (gst_static_caps_get):
1355         Init caps flags too.
1356
1357 2007-01-25  Sebastian Dröge  <slomo@circular-chaos.org>
1358
1359         Patch by: Jindrich Makovicka <jindrich.makovick at itonis dot tv>
1360
1361         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
1362         If not using mmap'ed files try to seek to the end instead of the
1363         start to determine whether we can seek at all. This fixes the case
1364         of 2GB+ files over NFS, where seeks in the first 2GB can succeed but
1365         seeks for everything afterwards fail. Fixes #400656
1366
1367 2007-01-25  Wim Taymans  <wim@fluendo.com>
1368
1369         * gst/gstcaps.c: (_gst_caps_free), (gst_static_caps_get):
1370         Add some refcount debugging.
1371         Make gst_static_caps_get threadsafe, which is needed when autoplugging
1372         in multiple streaming threads.
1373
1374 2007-01-25  Wim Taymans  <wim@fluendo.com>
1375
1376         Patch by: David Schleef <ds at schleef dot org>
1377
1378         * docs/libs/gstreamer-libs-sections.txt:
1379         * libs/gst/base/gstadapter.c: (gst_adapter_copy):
1380         * libs/gst/base/gstadapter.h:
1381         API: gst_adapter_copy() that can reduce the amount of memcpy when
1382         getting data from the adapter. Fixes #388201.
1383
1384 2007-01-25  Edward Hervey  <edward@fluendo.com>
1385
1386         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
1387         In print statements, "%x" is for guint. Fixes build on macosx.
1388
1389 2007-01-24  Edward Hervey  <edward@fluendo.com>
1390
1391         * plugins/elements/gstmultiqueue.c:
1392         (gst_multi_queue_loop):
1393         Small fix.
1394         (single_queue_overrun_cb), (single_queue_underrun_cb),
1395         (single_queue_check_full), (gst_single_queue_new):
1396         Implement single queue growth system.
1397         This uses the extra-size properties, and will grow single queues by
1398         that much if one goes full whereas there are others empty. This is
1399         called extra-mode in the code.
1400         When a single queue's levels go back below the initial max-size
1401         limits, it is no longer in extra-mode. This is to ensure we don't
1402         consume too much memory.
1403         Fixes #399875
1404
1405 2007-01-23  Tim-Philipp Müller  <tim at centricular dot net>
1406
1407         * gst/gst.c: (gst_init_get_option_group):
1408           Make warning about late g_thread_init() calls a bit more explicit,
1409           so that it's more obvious to application developers what they need
1410           to do if a user files a bug against their application.
1411
1412 2007-01-22  Edward Hervey  <edward@fluendo.com>
1413
1414         * plugins/elements/gstmultiqueue.c:
1415         (gst_multi_queue_src_activate_push), (gst_single_queue_new):
1416         Remove previous hack of unsetting the flushing flag for the source pad
1417         instead of activating it. Instead, fix the source pad activate function
1418         so that it no longer depends on having a parent set or not.
1419
1420 2007-01-22  Tim-Philipp Müller  <tim at centricular dot net>
1421
1422         Patch by: Carlos Sanmartin Dominguez <csanmartin@igalia.com>
1423
1424         * docs/manual/basics-bus.xml:
1425           Fix example code, gst_element_unref() doesn't exist any longer.
1426
1427 2007-01-21  Tim-Philipp Müller  <tim at centricular dot net>
1428
1429         Patch by: Mark Nauwelaerts <manauw at skynet be>
1430
1431         * gst/gstpad.c:
1432           Fix two docs typoes (#399094).
1433
1434 2007-01-19  Edward Hervey  <edward@fluendo.com>
1435
1436         * docs/faq/gst-uninstalled:
1437         Add gst-plugins-base/gst/utils/ to LD_LIBRARY_PATH so that plugins
1438         depending on libgstbaseutils can work in uninstalled environment.
1439
1440 2007-01-18  Stefan Kost  <ensonic@users.sf.net>
1441
1442         * gst/gsttaglist.h:
1443         * gst/gsttagsetter.c:
1444         Add more docs regarding tag merge-modes and when to send tags. Fix 'since'
1445         statement for new tag.
1446
1447 2007-01-17  Edward Hervey  <edward@fluendo.com>
1448
1449         * plugins/elements/gstmultiqueue.c: (gst_single_queue_new):
1450         When dynamically creating single queues, activate sinkpad before adding
1451         it.
1452         We should be doing the same thing for the source pad, but we can't
1453         since it would call a method which needs the parent to be set in order
1454         to work propertly. Instead of activating the source pad, we just unset
1455         the flushing flag, which is the minimal requirement for adding a pad
1456         to an element in a state greater than READY.
1457
1458 2007-01-17  Edward Hervey  <edward@fluendo.com>
1459
1460         * docs/faq/gst-uninstalled:
1461         Add DYLD_LIBRARY_PATH declarations so we can also use this script on
1462         Mac OS X.
1463
1464 2007-01-17  Tim-Philipp Müller  <tim at centricular dot net>
1465
1466         * tests/check/gst/gstabi.c:
1467         * tests/check/gst/struct_hppa.h:
1468         * tests/check/libs/libsabi.c:
1469         * tests/check/libs/struct_hppa.h:
1470           Add ABI structs for HPPA (see #393796).
1471
1472 2007-01-16  Tim-Philipp Müller  <tim at centricular dot net>
1473
1474         * libs/gst/check/gstcheck.c: (gst_check_abi_list):
1475           Actually write ABI structs to the file specified in the GST_ABI
1476           environment variable, as the message we print claims we would.
1477
1478 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
1479
1480         * tests/check/gst/gsttask.c:
1481           Fix header comment.
1482
1483 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
1484
1485         * gst/gsttaglist.c: (_gst_tag_initialize):
1486           Change tag type from STRING to DOUBLE. Apply ChangeLog surgery for my
1487           previous two entries.
1488
1489 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
1490
1491         * docs/gst/gstreamer-sections.txt:
1492         * gst/gsttaglist.c: (_gst_tag_initialize):
1493         * gst/gsttaglist.h:
1494           Add tag support for beat-per-minute.
1495
1496 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
1497
1498         * gst/gstregistrybinary.c: (gst_registry_binary_write),
1499         (gst_registry_binary_initialize_magic),
1500         (gst_registry_binary_save_string), (gst_registry_binary_make_data),
1501         (gst_registry_binary_save_pad_template),
1502         (gst_registry_binary_save_feature),
1503         (gst_registry_binary_save_plugin),
1504         (gst_registry_binary_write_cache),
1505         (gst_registry_binary_check_magic),
1506         (gst_registry_binary_load_pad_template),
1507         (gst_registry_binary_load_feature),
1508         (gst_registry_binary_load_plugin),
1509         (gst_registry_binary_read_cache):
1510         * gst/gstregistrybinary.h:
1511           Use glib types, cleanup comments, impement interfaces and uri-types.
1512
1513 2007-01-13  Andy Wingo  <wingo@pobox.com>
1514
1515         * gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Allow
1516         getrange() to return buffers with other caps, while we fix
1517         demuxers and typefind, or otherwise change part-negotiation.txt.
1518
1519 2007-01-12  Andy Wingo  <wingo@pobox.com>
1520
1521         * libs/gst/base/gstbasetransform.c (gst_base_transform_activate):
1522         Factor start/stop into this private function instead of partially
1523         in activate functions and partially in the change_state function.
1524         Fixes setup before the element has changed from READY->PAUSED, as
1525         is the case in pull-mode pipelines.
1526         (gst_base_transform_sink_activate_push)
1527         (gst_base_transform_src_activate_pull): Refactor to use
1528         gst_base_transform_activate().
1529         (gst_base_transform_change_state): Removed, not needed any more.
1530
1531         * libs/gst/base/gstbasesink.c (gst_base_sink_negotiate_pull):
1532         Truncate before fixating.
1533         
1534         * libs/gst/base/gstbasesink.c (gst_base_sink_negotiate_pull):
1535         Don't set_caps() if the result of fixating is ANY, as it's not
1536         supported, and not necessary in the case of a link with no
1537         template caps on either side. Fixes tests/check/libs/basesrc in
1538         some pull-mode tests.
1539
1540         * libs/gst/base/gstbasetransform.c (_GstBaseTransformPrivate):
1541         (gst_base_transform_init, gst_base_transform_sink_activate_push)
1542         (gst_base_transform_src_activate_pull): 
1543         Track the activation mode.
1544         (gst_base_transform_setcaps): In pull mode, when activating the
1545         src pad, after activating the sink pad, activate the sink pad's
1546         peer, as discussed in part-negotiation.txt.
1547
1548         * libs/gst/base/gstbasesrc.h: 
1549         * libs/gst/base/gstbasesrc.c (gst_base_src_fixate): Add fixate
1550         vmethod, as in basesink.
1551
1552         * libs/gst/base/gstbasesink.h: Reformat docs, add fixate vmethod.
1553
1554         * libs/gst/base/gstbasesink.c (gst_base_sink_pad_setcaps): In pull
1555         mode, first proxy the setcaps to the peer pad.
1556         (gst_base_sink_pad_fixate): Add a fixate function that calls the
1557         new fixate vmethod.
1558         (gst_base_sink_default_activate_pull): Rename from
1559         gst_base_sink_activate_pull.
1560         (gst_base_sink_negotiate_pull): New function, performs negotiation
1561         in pull mode before calling ::activate_pull().
1562         (gst_base_sink_pad_activate_pull): Actually call the activate_pull
1563         vmethod instead of the default implementation. I have no idea how
1564         this worked before. Negotiate before calling activate_pull.
1565
1566         * gst/gstpad.c (gst_pad_activate_pull): Refuse to activate unlinked
1567         sink pads in pull mode. In addition to being correct, fixes
1568         filesrc ! decodebin ! identity ! fakesink.
1569         (gst_pad_get_range, gst_pad_pull_range): Don't call
1570         gst_pad_set_caps() if the caps changes; instead error out with
1571         GST_FLOW_NOT_NEGOTIATED, as discussed in part-negotiation.txt.
1572
1573 2007-01-12  Andy Wingo  <wingo@pobox.com>
1574
1575         * docs/design/part-negotiation.txt: Update with more policy.
1576
1577 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
1578
1579         * libs/gst/check/gstbufferstraw.h:
1580         * libs/gst/check/gstcheck.h:
1581           Add G_BEGIN_DECLS and G_END_DECLS. Move GST_CHECK_MAIN where it
1582           belongs.
1583
1584 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
1585
1586         * tests/check/Makefile.am:
1587         * tests/check/gst/.cvsignore:
1588         * tests/check/gst/gsttagsetter.c: (gst_dummy_enc_add_interfaces),
1589         (gst_dummy_enc_base_init), (gst_dummy_enc_class_init),
1590         (gst_dummy_enc_init), (tag_list_foreach), (tag_setter_list_length),
1591         (GST_START_TEST), (gst_tag_setter_suite):
1592           Add minimal unit test for beforementioned GstTagSetter bug.
1593
1594 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
1595
1596         Patch by: René Stadler <mail at renestadler dot de>
1597
1598         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags):
1599           gst_tag_list_merge() returns a new list, so it's not the best idea
1600           to ingore its return value. Effectively meant that tags could only
1601           be merged on a GstTagSetter once using _merge_tags(). Fixes #395554.
1602           Also add function guard to require a non-NULL taglist as input (has
1603           always been so due to gst_tag_list_copy(), just making it explicit).
1604
1605 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
1606
1607         * docs/random/draft-missing-plugins.txt:
1608           Some additions: mention new API that is supposed to be used at the
1609           various stages; short blob about new gst-inspect introspection
1610           option; mention potential future problem with plugins that have
1611           a dynamic list of elements (such as ladspa, pitfdll, libvisual).
1612
1613 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
1614
1615         * tools/gst-inspect.c:
1616         (print_plugin_automatic_install_info_codecs),
1617         (print_plugin_automatic_install_info_protocols),
1618         (print_plugin_automatic_install_info), (main):
1619         Add --print-plugin-auto-install-info option to gst-inspect, so we can
1620         introspect plugin files and get machine-parsable output that corresponds
1621         to the last bit of the missing-plugin installer string (small gotcha:
1622         doesn't take into account ranks).
1623
1624 2007-01-11  Stefan Kost  <ensonic@users.sf.net>
1625
1626         * configure.ac:
1627         * docs/gst/gstreamer-sections.txt:
1628         * gst/Makefile.am:
1629         * gst/gstregistry.c: (gst_registry_lookup_feature_locked),
1630         (gst_registry_lookup_locked):
1631         * gst/gstregistry.h:
1632         * gst/gstregistrybinary.c: (gst_registry_binary_write),
1633         (gst_registry_binary_initialize_magic),
1634         (gst_registry_binary_save_string),
1635         (gst_registry_binary_save_pad_template),
1636         (gst_registry_binary_save_feature),
1637         (gst_registry_binary_save_plugin),
1638         (gst_registry_binary_write_cache),
1639         (gst_registry_binary_check_magic),
1640         (gst_registry_binary_load_pad_template),
1641         (gst_registry_binary_load_feature),
1642         (gst_registry_binary_load_plugin),
1643         (gst_registry_binary_read_cache):
1644         * gst/gstregistrybinary.h:
1645         * gst/gstregistryxml.c: (load_feature),
1646         (gst_registry_xml_read_cache):
1647           commit binary registry (disabled by default, see #359653)
1648
1649 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
1650
1651         * tests/check/gst/gstpad.c: (test_get_allowed_caps):
1652           Fix 'make check' too.
1653
1654 2007-01-10  Andy Wingo  <wingo@pobox.com>
1655
1656         * docs/design/part-negotiation.txt: Fix a typo, add a couple
1657         notes.
1658         
1659         * docs/design/part-negotiation.txt: Update with, um, one way that
1660         pull-mode negotiation might work?
1661
1662         * gst/gstpad.h: 
1663         * gst/gstpad.c (gst_pad_get_allowed_caps): Remove the restriction
1664         that the pad must be a src pad; makes sense to call it the other
1665         way in pull mode, and the logic is symmetric anyway.
1666
1667 2007-01-10  Tim-Philipp Müller  <tim at centricular dot net>
1668
1669         * plugins/elements/gstfilesink.c:
1670           Include <stdio.h> for fseeko().
1671
1672 2007-01-10  Wim Taymans  <wim@fluendo.com>
1673
1674         * gst/gstevent.c:
1675         * gst/gstevent.h:
1676         Reserve LATENCY event.
1677
1678 2007-01-09  Wim Taymans  <wim@fluendo.com>
1679
1680         * docs/design/draft-latency.txt:
1681         Updates.
1682
1683 2007-01-09  Wim Taymans  <wim@fluendo.com>
1684
1685         * docs/design/draft-latency.txt:
1686         Updates.
1687
1688         * gst/gstelement.h:
1689         * gst/gststructure.c:
1690         * gst/gsttrace.c:
1691         Small typo fixes.
1692
1693 2007-01-09  Tim-Philipp Müller  <tim at centricular dot net>
1694
1695         * tests/check/.cvsignore:
1696           Ignore test-registry.xml as well.
1697
1698 2007-01-09  Wim Taymans  <wim@fluendo.com>
1699
1700         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
1701         unref data at the end when we are done with the pad.
1702
1703 2007-01-08  Tim-Philipp Müller  <tim at centricular dot net>
1704
1705         * docs/gst/gstreamer-sections.txt:
1706         * gst/gst.c: (load_plugin_func), (scan_and_update_registry),
1707         (init_post), (gst_deinit), (gst_update_registry):
1708         * gst/gst.h:
1709           API: add gst_update_registry() (#391296).
1710
1711         * tests/check/Makefile.am:
1712         * tests/check/gst/gstregistry.c:
1713         * tests/check/gst/.cvsignore:
1714           Simple unit test for the above.
1715
1716 2007-01-08  Tim-Philipp Müller  <tim at centricular dot net>
1717
1718         * gst/gstregistry.c: (gst_registry_scan_path_level):
1719           Plugin extension on HP-UX is .sl, add that to the list of approved
1720           plugin extensions (see #393796).
1721
1722         * tests/check/gst/gstpad.c: (GST_START_TEST):
1723           ulong => gulong. Fixes compilation with HP-UX compiler.
1724
1725         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
1726           Fix compilation if valgrind headers are not available.
1727
1728 2007-01-07  Sébastien Moutte  <sebastien@moutte.net>
1729
1730         * win32/common/libgstreamer.def: 
1731           Add new exported function.
1732         * win32/vs6/libgstbase.dsp: 
1733           Add gstdataqueue.c to the build.
1734         * win32/vs6/libgstcoreelements.dsp:
1735           Add gstmultiqueue.c to the build.
1736         
1737 2007-01-06  Andy Wingo  <wingo@pobox.com>
1738
1739         * libs/gst/base/gstbasesink.h: New GstBaseSinkClass vmethod,
1740         activate_pull(), providing for a way to specialize the process of
1741         spawning a thread to pull on the sink pad. There is a default
1742         implementation.
1743
1744         * libs/gst/base/gstbasesink.c (gst_base_sink_pad_activate_pull)
1745         (gst_base_sink_pad_activate_push, gst_base_sink_pad_activate)
1746         (gst_base_sink_init): Renamed pad activation functions (inserting
1747         "_pad" in their names). Refactor to use the new activate_pull
1748         vmethod, as appropriate.
1749         (gst_base_sink_class_init, gst_base_sink_activate_pull): Set the
1750         default activate_pull function to start a task pulling from the
1751         sink pad, as before.
1752
1753         * gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Set caps
1754         on the pads if necessary, as in push()/chain(). Update docs.
1755         Shouldn't affect existing pull() usage as it is currently only
1756         being used on buffers without caps.
1757
1758 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
1759
1760         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
1761         (init_pre):
1762           Call g_thread_init() first thing in gst_init() / gst_check_init().
1763           When initialisation is done via gst_init_get_option_group() and
1764           GOption parsing, issue a warning if the GLib thread system has not
1765           been initialised yet by the time gst_init_get_option_group() is
1766           called, as it's quite likely other GLib functions such as
1767           g_option_context_new() have been called already then, and
1768           g_thread_init() must be called before any other GLib function. The
1769           application in question must be fixed in that case, since memory
1770           corruption might happen otherwise.
1771           We issue the warning because even if the GLib folks decide to work
1772           around the problem on their end in future, this is still an issue
1773           with all GLib versions >= 2.10.0, so we should warn until we depend
1774           on a GLib version we know to be safe.
1775           Update documentation as well.
1776           Closes bug #391278.
1777
1778 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
1779
1780         * tools/gst-inspect.c: (main):
1781         * tools/gst-launch.c: (main):
1782         * tools/gst-typefind.c: (main):
1783         * tools/gst-xmlinspect.c: (main):
1784           Call g_thread_init() really really early, before any other GLib
1785           function (see #342564 and recent discussion on gtk-devel-list).
1786
1787 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
1788
1789         Patch by: Vincent Torri  <vtorri at univ-evry dot fr>
1790
1791         * gst/gst_private.h:
1792         * gst/gstconfig.h.in:
1793         * gst/gstinfo.h:
1794           On win32, all the __declspec stuff for symbol exporting is
1795           apparently only needed with MSVC, but doesn't work with MingW.
1796           Fixes compilation with MingW and #391909.
1797
1798 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
1799
1800         * libs/gst/base/gstbasesrc.c: (gst_base_src_activate_push):
1801           Change some GST_ERROR_OBJECT that aren't really errors to
1802           GST_WARNING_OBJECT in order to reduce terminal spam.
1803
1804 2007-01-04  Stefan Kost  <ensonic@users.sf.net>
1805
1806         * tests/check/Makefile.am:
1807           disable test again, as there seem to be still race problems
1808
1809 2007-01-04  Stefan Kost  <ensonic@users.sf.net>
1810
1811         * tests/check/Makefile.am:
1812         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
1813         (GST_START_TEST), (queue_suite):
1814           enable queue test again, add tests for the leaky behaviour
1815
1816 2007-01-02  Tim-Philipp Müller  <tim at centricular dot net>
1817
1818         * configure.ac:
1819         * tests/examples/Makefile.am:
1820           Compile adapter test/example only if the required headers are
1821           available (fixes #391915).
1822
1823 2007-01-01  David Schleef  <ds@schleef.org>
1824
1825         * gst/gstplugin.c:
1826           Restore the previous signal handler for SIGSEGV instead of
1827           setting to default, since we may have stolen it away from
1828           someone.  (i.e., Mono)
1829
1830 2006-12-26  Tim-Philipp Müller  <tim at centricular dot net>
1831
1832         * docs/random/draft-missing-plugins.txt:
1833           Some small additions and clarifications.
1834
1835 2006-12-26  Tim-Philipp Müller  <tim at centricular dot net>
1836
1837         * gst/gstregistryxml.c: (gst_registry_save_escaped):
1838           Make sure we don't pass non-UTF-8 strings to g_markup_escape(),
1839           since that can lead to random memory corruptions and crashes
1840           (may or may not be related to #383244, #386711, and #386711).
1841
1842 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
1843
1844         * tests/check/.cvsignore:
1845         * tests/check/Makefile.am:
1846           sync .cvsignome and CLEANFILES
1847
1848 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
1849
1850         * tests/check/Makefile.am:
1851           fix distcheck
1852
1853 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
1854
1855         * docs/design/part-states.txt:
1856           two tiny additional comments
1857         
1858         * gst/gststructure.c:
1859           doc fixing
1860
1861         * tests/check/Makefile.am:
1862         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
1863         (GST_START_TEST):
1864           disable test for now, unless it gets fixed
1865
1866 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
1867
1868         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
1869         (GST_START_TEST):
1870           fix race in underrun test
1871
1872 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
1873
1874         * tests/check/elements/.cvsignore:
1875           ignore more
1876
1877         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
1878         (GST_START_TEST):
1879           try to narrow test failure
1880
1881 2006-12-21  David Schleef  <ds@schleef.org>
1882
1883         * plugins/elements/gstfakesrc.c:
1884           Use g_random_int_range(), since it produces better random
1885           numbers in a range than almost-correct floating point code.
1886
1887 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
1888
1889         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
1890         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
1891         (gst_check_teardown_sink_pad):
1892           do not automatically (de)activate pads
1893
1894         * tests/check/Makefile.am:
1895         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
1896         (setup_queue), (cleanup_queue), (GST_START_TEST), (queue_suite):
1897           add new, yet simple tests for queue
1898
1899         * tests/check/elements/fakesrc.c: (cleanup_fakesrc):
1900         * tests/check/elements/fdsrc.c: (cleanup_fdsrc):
1901         * tests/check/elements/filesrc.c: (cleanup_filesrc),
1902         (GST_START_TEST):
1903         * tests/check/elements/identity.c: (cleanup_identity):
1904           consistent pad (de)activation
1905
1906 2006-12-20  Tim-Philipp Müller  <tim at centricular dot net>
1907
1908         Patch by: Sebastian Dröge  <slomo ubuntu com>
1909
1910         * libs/gst/base/gstcollectpads.c:
1911           Fix two doc typos (#387866).
1912
1913 2006-12-19  Tim-Philipp Müller  <tim at centricular dot net>
1914
1915         * docs/manual/advanced-dparams.xml:
1916           Fix typo (g_object_control_properties() doesn't exist).
1917
1918 2006-12-19  Edward Hervey  <edward@fluendo.com>
1919
1920         * gst/gstsegment.c: (gst_segment_set_seek):
1921         Fine tune the cases where the segment start/stop values are really
1922         updated.
1923         * tests/check/gst/gstsegment.c: (GST_START_TEST):
1924         Add tests for the return values of gst_segment_set_seek().
1925
1926 2006-12-19  Tim-Philipp Müller  <tim at centricular dot net>
1927
1928         * gst/gst.c:
1929           Docs typo fix.
1930
1931         * plugins/elements/gstqueue.c: (gst_queue_class_init),
1932         (gst_queue_init):
1933           Fix incorrect documentation and flesh it out a bit more.
1934           Set default values for the max properties on the GParamSpec as well,
1935           so it shows up correctly in gst-inspect.
1936
1937 2006-12-18  Stefan Kost  <ensonic@users.sf.net>
1938
1939         * plugins/elements/gstqueue.c: (queue_leaky_get_type):
1940           Correct docs of queue, add more detail and crosslink it more.
1941
1942 2006-12-16  Tim-Philipp Müller  <tim at centricular dot net>
1943
1944         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
1945           Print additional debug info when the stream isn't perfectly
1946           timestamped; don't try to use invalid durations.
1947
1948 2006-12-16  Tim-Philipp Müller  <tim at centricular dot net>
1949
1950         * docs/design/Makefile.am:
1951           Dist new design docs.
1952
1953 2006-12-16  Wim Taymans  <wim@fluendo.com>
1954
1955         Patch by: Sjoerd Simons <sjoerd at luon dot net>
1956
1957         * libs/gst/base/gstcollectpads.c: (ref_data), (unref_data),
1958         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
1959         (gst_collect_pads_stop), (gst_collect_pads_event),
1960         (gst_collect_pads_chain):
1961         * libs/gst/base/gstcollectpads.h:
1962         Add refcounting to the collectpads data so we can track when it's safe
1963         to free the data. Fixes #383382.
1964
1965 2006-12-15  Wim Taymans  <wim@fluendo.com>
1966
1967         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
1968         (gst_collect_pads_remove_pad):
1969         Automatically activate/deactivate pads when they are added to a
1970         started/stoped collectpads.
1971
1972 2006-12-15  Wim Taymans  <wim@fluendo.com>
1973
1974         * gst/gstelement.c: (gst_element_add_pad):
1975         * gst/gstghostpad.c: (gst_ghost_pad_new_full):
1976         * gst/gstpad.c: (gst_pad_init):
1977         Set pads to FLUSHING when they are created. Check, warn and fix when a
1978         demuxer adds an inactive pad to itself when running. Fixes #339326.
1979
1980 2006-12-15  Wim Taymans  <wim@fluendo.com>
1981
1982         * gst/gstelement.c: (gst_element_class_init),
1983         (gst_element_default_send_event), (gst_element_send_event),
1984         (gst_element_default_query), (gst_element_query):
1985         Expose default element send_event and query handling as vmethods that
1986         subclasses can chain up to.
1987
1988 2006-12-15  Wim Taymans  <wim@fluendo.com>
1989
1990         * gst/gstelement.c: (gst_element_set_state_func):
1991         Small documentation fixes.
1992
1993 2006-12-15  Wim Taymans  <wim@fluendo.com>
1994
1995         * docs/design/draft-latency.txt:
1996         Checked in draft for handling latency in pipelines.
1997
1998 2006-12-15  Thomas Vander Stichele  <thomas at apestaart dot org>
1999
2000         * Makefile.am:
2001         * gstreamer.doap:
2002         * gstreamer.spec.in:
2003           adding .doap file
2004
2005 2006-12-14  Tim-Philipp Müller  <tim at centricular dot net>
2006
2007         * gst/gst.c: (init_pre), (init_post):
2008           init_pre() and init_post() might be called via our GOptionGroup or
2009           from gst_init(), and we should skip both of them if we've already
2010           been initialised, otherwise we will init some things twice or add
2011           two default log functions.
2012
2013 2006-12-13  Edward Hervey  <edward@fluendo.com>
2014
2015         * docs/manual/basics-bus.xml:
2016         No, gst_main_loop does not exist. Its g_main_loop.
2017         Discovered by somebody who abused the copy-paste technique of coding :)
2018
2019 2006-12-13  Tim-Philipp Müller  <tim at centricular dot net>
2020
2021         * gst/gstghostpad.c:
2022           Log ghostpad debug stuff to the GST_PADS category as well rather
2023           than just to the default category.
2024
2025 2006-12-12  Tim-Philipp Müller  <tim at centricular dot net>
2026
2027         * configure.ac:
2028         * gst/gst.c: (init_pre):
2029           Add some basic system details such as OS and architecture
2030           to the debug output if possible, courtesy of uname().
2031
2032 2006-12-11  Tim-Philipp Müller  <tim at centricular dot net>
2033
2034         * docs/gst/running.xml:
2035           Document GST_REGISTRY_FORK and GST_DEBUG_NO_COLOR
2036           environment variables.
2037
2038 2006-12-09  Jan Schmidt  <thaytan@mad.scientist.com>
2039
2040         * tests/check/gst/gstbin.c: (GST_START_TEST):
2041         It is acceptable to have a refcount of 2 or 3 at this point in the
2042         test, because the pipeline might be just posting its state_change
2043         message. The next line then waits for that message to appear using
2044         bus_poll, so that should be fine too.
2045
2046 2006-12-09  Jan Schmidt  <thaytan@mad.scientist.com>
2047
2048         * gst/gst.c: (ensure_current_registry_forking):
2049         Ignore EINTR when reading from the child registry pipe.
2050         Explicitly ignore the return value from close, since it makes no
2051         difference.
2052
2053         * gst/gstminiobject.c: (gst_mini_object_ref),
2054         (gst_mini_object_unref):
2055         When debugging refcounts, check GST_IS_MINI_OBJECT and warn.
2056
2057         * gst/gstregistry.c: (_priv_gst_registry_remove_cache_plugins):
2058         When removing cached plugins, remove their features too, so they're
2059         not visible after they've disappeared.
2060
2061         * gst/gstutils.c: (prepare_link_maybe_ghosting):
2062         In the unlikely case that we are linking pads with no parents, don't
2063         crash trying to get the non-existent parent bin.
2064
2065         * gst/parse/grammar.y:
2066         Output debug in the PIPELINE category
2067
2068 2005-03-08  Wim Taymans  <wim@fluendo.com>
2069
2070         Patch by: René Stadler <mail at renestadler dot de>
2071
2072         * gst/gstclock.c: (gst_clock_new_periodic_id):
2073         Reject invalid clock times for interval of periodic ids.
2074         Fixes ##383506.
2075
2076 2006-12-07  Jan Schmidt  <thaytan@mad.scientist.com>
2077
2078         * gst/gstelementfactory.c: (gst_element_factory_create):
2079         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
2080         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
2081         * tools/gst-inspect.c: (print_element_info):
2082         Fix refcounting of gst_plugin_feature_load to match the docs. 
2083         Fixes: #380129
2084
2085 2006-12-07  Wim Taymans  <wim@fluendo.com>
2086
2087         * libs/gst/base/gstbasesink.c: (gst_base_sink_event),
2088         (gst_base_sink_get_position):
2089         Improve debugging of events.
2090
2091 2006-12-07  Wim Taymans  <wim@fluendo.com>
2092
2093         Patch by: René Stadler <mail at renestadler dot de>
2094
2095         * gst/gstclock.c: (gst_clock_id_wait):
2096         Make period ids add the interval to the origial requested time instead
2097         of the possibly updated time which can be wrong when there are multiple
2098         waiters for the same id. Fixes #382592.
2099
2100         * gst/gstsystemclock.c: (gst_system_clock_async_thread),
2101         (gst_system_clock_id_wait_jitter_unlocked),
2102         (gst_system_clock_id_wait_jitter):
2103         Fix restart in the async notify thread when an async entry is added to
2104         the front of the list. Fixes #381492. 
2105
2106         * tests/check/gst/gstsystemclock.c: (store_callback),
2107         (notify_callback), (GST_START_TEST), (gst_systemclock_suite):
2108         Added test for multiple async waits.
2109         Added test for async wait order.
2110
2111 2006-12-07  Wim Taymans  <wim@fluendo.com>
2112
2113         * gst/gstbin.c: (gst_bin_query):
2114         Add some more docs about the POSITION query.
2115
2116 2006-12-07  Jan Schmidt  <thaytan@mad.scientist.com>
2117
2118         * configure.ac:
2119         Bump version nano - back to CVS.
2120
2121 === release 0.10.11 ===
2122
2123 2006-12-06  Jan Schmidt <thaytan@mad.scientist.com>
2124
2125         * configure.ac:
2126           releasing 0.10.11, "Love never runs on time"
2127
2128 2006-12-01  Jan Schmidt  <thaytan@mad.scientist.com>
2129
2130         * win32/common/libgstbase.def:
2131         * win32/common/libgstreamer.def:
2132         * win32/vs8/libgstbase.vcproj:
2133         * win32/vs8/libgstcoreelements.vcproj:
2134         * win32/vs8/libgstreamer.vcproj:
2135         Fix compilation on win32 under VS8
2136         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
2137         Partially fixes #381175
2138
2139 2006-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
2140
2141         * gst/gstvalue.c: (gst_value_compare_fraction):
2142         If someone is foolish enough to compare 2 fractions with denominator =
2143         0, return UNORDERED rather than aborting.
2144
2145 2006-11-28  Edward Hervey  <edward@fluendo.com>
2146
2147         * libs/gst/base/Makefile.am:
2148         * libs/gst/base/gstdataqueue.c: (gst_data_queue_get_type),
2149         (gst_data_queue_base_init), (gst_data_queue_class_init),
2150         (gst_data_queue_init), (gst_data_queue_new),
2151         (gst_data_queue_cleanup), (gst_data_queue_finalize),
2152         (gst_data_queue_locked_flush), (gst_data_queue_locked_is_empty),
2153         (gst_data_queue_locked_is_full), (gst_data_queue_flush),
2154         (gst_data_queue_is_empty), (gst_data_queue_is_full),
2155         (gst_data_queue_set_flushing), (gst_data_queue_push),
2156         (gst_data_queue_pop), (gst_data_queue_drop_head),
2157         (gst_data_queue_set_property), (gst_data_queue_get_property):
2158         * libs/gst/base/gstdataqueue.h:
2159         New GstDataQueue object for threadsafe queueing. Most useful for
2160         elements that need some queueing functionnality.
2161         * docs/libs/gstreamer-libs-docs.sgml:
2162         * docs/libs/gstreamer-libs-sections.txt:
2163         Insert documentation for GstDataQueue
2164         * plugins/elements/Makefile.am:
2165         * plugins/elements/gstelements.c:
2166         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
2167         (gst_multi_queue_class_init), (gst_multi_queue_init),
2168         (gst_multi_queue_finalize), (gst_multi_queue_set_property),
2169         (gst_multi_queue_get_property), (gst_multi_queue_request_new_pad),
2170         (gst_multi_queue_release_pad), (gst_single_queue_push_one),
2171         (gst_multi_queue_item_destroy), (gst_multi_queue_item_new),
2172         (gst_multi_queue_loop), (gst_multi_queue_chain),
2173         (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
2174         (gst_multi_queue_getcaps), (gst_multi_queue_bufferalloc),
2175         (gst_multi_queue_src_activate_push), (gst_multi_queue_acceptcaps),
2176         (gst_multi_queue_src_event), (gst_multi_queue_src_query),
2177         (wake_up_next_non_linked), (compute_next_non_linked),
2178         (single_queue_overrun_cb), (single_queue_underrun_cb),
2179         (single_queue_check_full), (gst_single_queue_new):
2180         * plugins/elements/gstmultiqueue.h:
2181         New multiqueue element, using GstDataQueue. Used for queuing multiple
2182         streams.
2183         Closes #344639 and #347785
2184
2185 2006-11-22  Stefan Kost  <ensonic@users.sf.net>
2186
2187         * docs/pwg/advanced-types.xml:
2188           add more missing type details
2189
2190         * tools/gst-run.c: (main):
2191           remove unused variable
2192
2193 2006-11-21  Stefan Kost  <ensonic@users.sf.net>
2194
2195         * docs/libs/Makefile.am:
2196         * docs/libs/gstreamer-libs.types:
2197           add types of base classes to enable gobject specific stuff in the docs
2198
2199         * docs/random/ensonic/embedded.txt:
2200           more ideas about isolating platform specific things
2201
2202 2006-11-20  Wim Taymans  <wim@fluendo.com>
2203
2204         Patch by: Sebastian Dröge <slomo at ubuntu dot com>
2205
2206         * libs/gst/check/gstcheck.h:
2207         Fix compilation and running against 0.9.4. Fixes #377332.
2208
2209 2006-11-20  Wim Taymans  <wim@fluendo.com>
2210
2211         * gst/gstsegment.c: (gst_segment_set_seek),
2212         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
2213         (gst_segment_to_running_time):
2214         Fix boundary checking in to_running_time() and to_stream_time().
2215         Fixes #377183.
2216
2217         * tests/check/gst/gstsegment.c: (GST_START_TEST):
2218         stream and running time can now be calculated for the complete
2219         clipped segment.
2220
2221 2006-11-15  Tim-Philipp Müller  <tim at centricular dot net>
2222
2223         * gst/gstpad.c: (gst_pad_push_event):
2224           Can't access event structure after giving away ownership of
2225           the event.
2226
2227 2006-11-15  Stefan Kost  <ensonic@users.sf.net>
2228
2229         * docs/random/ensonic/embedded.txt:
2230         * docs/random/ensonic/profiling.txt:
2231         * docs/random/ensonic/receipies.txt:
2232           more thinking
2233
2234 2006-11-13  Wim Taymans  <wim@fluendo.com>
2235
2236         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
2237
2238         * gst/gstpad.c:
2239         Fix documentation for gst_pad_dispatcher. Fixes #374475.
2240
2241 2006-11-13  Wim Taymans  <wim@fluendo.com>
2242
2243         Patch by: Jonathan Matthew <jonathan at kaolin dot wh9 dot net>
2244
2245         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
2246         Store new length in segment duration so we don't keep on calling the
2247         potentially expensize get_size() call. Fixes #370865.
2248
2249 2006-11-10  Tim-Philipp Müller  <tim at centricular dot net>
2250
2251         Patch by: Sergey Scobich  <sergey.scobich at gmail com>
2252
2253         * win32/common/libgstreamer.def:
2254           Add two missing symbols (#366492).
2255
2256 2006-11-10  Jan Schmidt  <thaytan@mad.scientist.com>
2257
2258         * libs/gst/base/gstadapter.c: (gst_adapter_flush),
2259         (gst_adapter_take_buffer):
2260         Fix format string to use all its arguments.
2261         Remove useless >= check on a guint
2262
2263 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
2264
2265         * tests/examples/adapter/.cvsignore:
2266         Ignore build file as commanded by the build-bot
2267
2268 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
2269
2270         * tests/examples/adapter/Makefile.am:
2271         * tests/examples/adapter/adapter_test.c: (run_test_take),
2272         (run_test_take_buffer), (run_tests), (main):
2273
2274         Add new files from the previous commit
2275
2276 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
2277
2278         * Makefile.am:
2279         * configure.ac:
2280         * libs/gst/base/gstadapter.c: (gst_adapter_clear),
2281         (gst_adapter_push), (gst_adapter_peek_into), (gst_adapter_peek),
2282         (gst_adapter_flush), (gst_adapter_take), (gst_adapter_take_buffer):
2283         * libs/gst/base/gstadapter.h:
2284         * tests/check/libs/adapter.c: (create_and_fill_adapter),
2285         (GST_START_TEST), (gst_adapter_suite):
2286         * tests/examples/Makefile.am:
2287         Do some optimisation work in GstAdapter to avoid copies in more cases.
2288         It could still do slightly better by merging buffers when
2289         gst_buffer_is_span_fast is true, but is already faster. 
2290
2291         Also, avoid traversing a single-linked list to append each incoming 
2292         buffer inside the adapter.
2293
2294         Add simple test app that times the adapter behaviour in different
2295         situations, and extend the unit test to check that bytes enter and
2296         exit the adapter in their original order.
2297
2298 2006-11-08  Tim-Philipp Müller  <tim at centricular dot net>
2299
2300         * docs/random/draft-missing-plugins.txt:
2301           Update: use element message instead of adding a new message
2302           type to the core; don't provide GStreamer API to initiate the
2303           plugin download, just provide API to compose the strings needed
2304           and let an external libgimmestuff handle the rest.
2305
2306 2006-11-08  Jan Schmidt  <thaytan@mad.scientist.com>
2307
2308         * tools/gst-inspect.c: (print_element_properties_info):
2309         Print a string instead of 'unknown type' for GValueArray properties
2310
2311 2006-11-08  Christian F.K. Schaller  <christian@fluendo.com>
2312
2313         * docs/random/draft-missing-plugins.txt:
2314         More small fixes.
2315
2316 2006-11-07  Tim-Philipp Müller  <tim at centricular dot net>
2317
2318         * tests/examples/typefind/typefind.c: (type_found), (main):
2319           Make typefind element example work again (#371894); add a
2320           license header.
2321
2322 2006-11-07  Tim-Philipp Müller  <tim at centricular dot net>
2323
2324         * docs/random/draft-missing-plugins.txt:
2325           Commit initial draft about how to deal with missing plugins,
2326           needs work (API too).
2327
2328 2006-11-07  Stefan Kost  <ensonic@users.sf.net>
2329
2330         * docs/pwg/advanced-types.xml:
2331           documents the new caps elements (see #363118)
2332
2333 2006-11-06  Tim-Philipp Müller  <tim at centricular dot net>
2334
2335         * gst/gstplugin.c: (gst_plugin_load_file):
2336         * plugins/elements/gstfilesrc.c: (gst_mmap_buffer_finalize),
2337         (gst_file_src_map_region), (gst_file_src_start):
2338         * plugins/indexers/gstfileindex.c: (gst_file_index_load),
2339         (gst_file_index_commit):
2340           Use g_strerror() instead of strerror() - we want UTF-8.
2341
2342 2006-11-06  Tim-Philipp Müller  <tim at centricular dot net>
2343
2344         Patch by: Peter Kjellerstedt <pkj at axis com>
2345
2346         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
2347           Another printf fix (#371493).
2348
2349 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
2350
2351         * tests/check/gst/gsttag.c:
2352           relicence (okay with author=company)
2353
2354 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
2355
2356         * gst/gstpad.c: (gst_pad_event_default_dispatch),
2357         (gst_pad_push_event):
2358           Enhance debug and improve docs
2359         
2360         * gst/gsturi.c:
2361           Fix docs
2362
2363 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
2364
2365         * docs/random/ensonic/distributed.txt:
2366         * docs/random/ensonic/profiling.txt:
2367           more ideas
2368
2369 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
2370
2371         * docs/gst/gstreamer-sections.txt:
2372           add new API and fix the build
2373           
2374         * gst/gstbin.c: (gst_bin_recalc_state):
2375         * gst/gstelement.c: (gst_element_message_full),
2376         (gst_element_get_state_func), (gst_element_set_state_func):
2377           use new API and improve logging
2378         
2379         * gst/gstutils.c: (gst_element_state_change_return_get_name):
2380         * gst/gstutils.h:
2381           API: add function to get StateChangereturn names to improve logs 
2382
2383 2006-11-04  Thomas Vander Stichele  <thomas at apestaart dot org>
2384
2385         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
2386           I'm considering shooting the next person to put strerror stuff
2387           in the translateable part of the message.
2388
2389 2006-11-03  Wim Taymans  <wim@fluendo.com>
2390
2391         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
2392         Get the type and printf conversion specifiers right.
2393
2394 2006-11-03  Wim Taymans  <wim@fluendo.com>
2395
2396         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
2397
2398         * gst/gstpad.c: (gst_pad_init), (pre_activate),
2399         (gst_pad_set_blocked_async), (gst_pad_acceptcaps_default),
2400         (gst_pad_accept_caps), (handle_pad_block), (gst_pad_push_event):
2401         Some small cleanups. Improve debugging.
2402         * gst/gstpad.h:
2403         Signal all waiting threads with a broadcast instead of just one.
2404         Fixes #369942.
2405
2406 2006-11-03  Wim Taymans  <wim@fluendo.com>
2407
2408         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd),
2409         (gst_fd_src_create):
2410         Add some debugging. 
2411         Only update fd when it's different from the old.
2412
2413 2006-11-02  Tim-Philipp Müller  <tim at centricular dot net>
2414
2415         * plugins/elements/gstfilesrc.c: (gst_file_src_create_mmap):
2416           Printf fixes for PPC/OSX, take two (#369366).
2417
2418 2006-11-02  Tim-Philipp Müller  <tim at centricular dot net>
2419
2420         Based on patch by: Jan David Mol  <j.j.d.mol at tudelft nl>
2421
2422         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
2423         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
2424         (gst_file_src_map_small_region), (gst_file_src_create_mmap):
2425           Printf fixes for gsize parameters on PPC/OSX (#369366). Also,
2426           don't cast to long long for portability reasons, but use
2427           GLib's types instead.
2428
2429 2006-10-30  Michael Smith  <msmith@fluendo.com>
2430
2431         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
2432           Get the arguments to lseek() the right way around.
2433           Fixes 367677.
2434
2435 2006-10-30  Wim Taymans  <wim@fluendo.com>
2436
2437         Patch by: gorshkov <gorshkov at oghma dot on dot ca>
2438
2439         * gst/gstinfo.h:
2440         _declspec should be __declspec (two underscores, not one). Fixes 366572.
2441
2442 2006-10-28  Tim-Philipp Müller  <tim at centricular dot net>
2443
2444         Patch by: Kjartan Maraas  <kmaraas at gnome org>
2445
2446         * docs/design/part-MT-refcounting.txt:
2447         * docs/random/wtay/capsnego2-docs:
2448         * gst/gstclock.c:
2449         * gst/gstxml.c:
2450           Typo fixes (#366212).
2451
2452 2006-10-28  Wim Taymans  <wim@fluendo.com>
2453
2454         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
2455
2456         * gst/gst.c:
2457         * win32/common/libgstbase.def:
2458         * win32/common/libgstreamer.def:
2459         * win32/vs8/libgstbase.vcproj:
2460         * win32/vs8/libgstcontroller.vcproj:
2461         Add needed entries in .def files.
2462         Use HAVE_UNISTD_H.
2463         Rearrange def files in vs8 solutions. Fixes #366286.
2464
2465 2006-10-28  Tim-Philipp Müller  <tim at centricular dot net>
2466
2467         * win32/common/gstconfig.h:
2468           Add GST_SEGMENT_FORMAT and GST_USING_PRINTF_EXTENSION to the
2469           hand-made win32 gstconfig.h. Fixes #366321.
2470
2471 2006-10-27  Wim Taymans  <wim@fluendo.com>
2472
2473         * gst/gstghostpad.c: (gst_proxy_pad_do_acceptcaps),
2474         (gst_ghost_pad_new_full):
2475         Make acceptcaps return TRUE when we don't have a target, just like
2476         setcaps does.
2477
2478 2006-10-27  Wim Taymans  <wim@fluendo.com>
2479
2480         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
2481         Revert previous commit, 0 sized buffers are allowed. Reopens #363095.
2482
2483 2006-10-26  Tim-Philipp Müller  <tim at centricular dot net>
2484
2485         * gst/gststructure.c: (gst_structure_id_set_value):
2486           If someone tries to set a non-UTF8 string field on a structure,
2487           don't just print a warning, but also ignore the request and do
2488           not change/add that field to the structure.
2489
2490         * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
2491           Test for the above.
2492
2493 2006-10-25  David Schleef  <ds@schleef.org>
2494
2495         * gst/gstinfo.c:
2496           g_hash_table_insert() needs a cast to a non-const pointer duh.
2497
2498 2006-10-25  David Schleef  <ds@schleef.org>
2499
2500         * gst/gstinfo.c:
2501         * gst/gstinfo.h:
2502           Change name parameter of _gst_debug_register_funcptr to const
2503           to reflect the constness of its use in the function as well
2504           as to quiet a gcc warning.
2505
2506 2006-10-25  Edward Hervey  <edward@fluendo.com>
2507
2508         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
2509         Don't push the buffer if it's empty.
2510         Closes #363095
2511
2512 2006-10-24  Wim Taymans  <wim@fluendo.com>
2513
2514         * gst/gstevent.h:
2515         Add small comment.
2516
2517         * libs/gst/base/gstbasetransform.c:
2518         (gst_base_transform_sink_eventfunc):
2519         Debug segment values *after* updating them as this is more
2520         interesting.
2521
2522 2006-10-23  Wim Taymans  <wim@fluendo.com>
2523
2524         * docs/design/part-events.txt:
2525         Update some docs.
2526
2527         * docs/design/part-block.txt:
2528         * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
2529         (gst_pad_push_event):
2530         Revert BLOCKING patch, it tries to be smart without really having a
2531         clear idea what or how. So, now we discard all FLUSHING events again on
2532         a blocking pad. Should fix gnonlin again.
2533
2534 2006-10-23  Wim Taymans  <wim@fluendo.com>
2535
2536         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
2537
2538         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
2539         (gst_base_src_start), (gst_base_src_activate_push):
2540         Make sure size is always initialized. Fixes #364388.
2541
2542 2006-10-20  Stefan Kost  <ensonic@users.sf.net>
2543
2544         * docs/random/ensonic/distributed.txt:
2545           add some ideas about doing distributed processing
2546
2547         * docs/random/ensonic/profiling.txt:
2548           get_rusage look promising
2549
2550 2006-10-18  Stefan Kost  <ensonic@users.sf.net>
2551
2552         * docs/manual/basics-helloworld.xml:
2553           Add a cast in example to fix compile warning
2554
2555 2006-10-18  Wim Taymans  <wim@fluendo.com>
2556
2557         * gst/gstsegment.c: (gst_segment_set_last_stop),
2558         (gst_segment_set_seek), (gst_segment_set_newsegment_full):
2559         Relax arg checking again, -1 is allowed.
2560
2561 2006-10-18  Wim Taymans  <wim@fluendo.com>
2562
2563         * gst/gstsegment.c: (gst_segment_set_last_stop),
2564         (gst_segment_set_seek), (gst_segment_set_newsegment_full):
2565         _set_last_stop() must be with a value != -1
2566         A _TYPE_SET to -1 means seek to 0.
2567         Calc last_stop correctly for negative rates.
2568         Make sure we work with positive durations when updating a segment.
2569
2570 2006-10-18  Wim Taymans  <wim@fluendo.com>
2571
2572         * docs/design/part-live-source.txt:
2573         * gst/gstclock.h:
2574         Small docs fixes.
2575
2576 2006-10-18  Tim-Philipp Müller  <tim at centricular dot net>
2577
2578         * gst/gstbuffer.h:
2579           Add an explicit cast to GstBuffer** to keep old code that added an
2580           explicit cast to GstMiniObject** for gst_mini_object_replace()
2581           compiling without warning.
2582
2583 2006-10-18  Stefan Kost  <ensonic@users.sf.net>
2584
2585         * gst/gstvalue.c: (gst_value_set_date), (gst_date_copy):
2586           check for validity of dates
2587
2588 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
2589
2590         * docs/gst/gstreamer-sections.txt:
2591           Forgot this one, makes gtk-doc shut up.
2592
2593 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
2594
2595         Patch by: Peter Kjellerstedt <pkj at axis com>
2596
2597         * gst/gstobject.h:
2598           Don't define xmlNodePtr to gpointer if the core was built with
2599           --disable-loadsave and --disable-registry, this will break
2600           applications that want to use libxml2 but are buildling against a
2601           core that doesn't use libxml2. Use an intermediary type GstXmlNodePtr
2602           instead so we don't have to mess with the libxml2 namespace
2603           (#361675).
2604
2605 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
2606
2607         * gst/gstbuffer.h:
2608           Fix gst_buffer_replace() macro to avoid gst_mini_object_replace()-related
2609           type-punned pointer warnings.
2610
2611 2006-10-16  Tim-Philipp Müller  <tim at centricular dot net>
2612
2613         * gst/gstelement.h:
2614           Add casts to the correct return type to state <=> state transition
2615           macros.
2616
2617 2006-10-16  Stefan Kost  <ensonic@users.sf.net>
2618
2619         * docs/design/part-live-source.txt:
2620           describe howto handle latency
2621         
2622         * docs/random/ensonic/profiling.txt:
2623           more ideas
2624
2625         * tools/gst-plot-timeline.py:
2626           fix log parsing for solaris, remove unused function
2627
2628 2006-10-16  Wim Taymans  <wim@fluendo.com>
2629
2630         * docs/design/part-trickmodes.txt:
2631         * gst/gstevent.c:
2632         Update some docs regarding reverse playback.
2633
2634 2006-10-15  Tim-Philipp Müller  <tim at centricular dot net>
2635
2636         Patch by: Marcus Granado  <mrc dot gran at gmail com>
2637
2638         * win32/vs8/grammar.vcproj:
2639           Error out with a warning if glib-genmarshal.exe is not in path,
2640           instead of creating bogus gstmarshal.[ch] files. Fixes #361720.
2641
2642 2006-10-13  Wim Taymans  <wim@fluendo.com>
2643
2644         * gst/gstsegment.c: (gst_segment_set_seek):
2645         When seeking to stop -1, set last_stop (current position) to the
2646         duration of the segment.
2647
2648 2006-10-13  Wim Taymans  <wim@fluendo.com>
2649
2650         * gst/gstelement.h:
2651         Clarify _NO_PREROLL a bit more.
2652
2653         * gst/gstevent.c:
2654         Fix docs.
2655
2656         * gst/gstpad.c: (gst_pad_link_check_hierarchy),
2657         (gst_pad_get_caps_unlocked), (gst_pad_save_thyself),
2658         (handle_pad_block), (gst_pad_push_event), (gst_pad_send_event):
2659         Patch by: Yves Lefebvre <ivanohe at abacom dot com> Fix possible deadlock
2660         due to wrong locking order. Fixes #361769.
2661         Remove some redundant/misplaced checks in pad_block.
2662
2663         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
2664         For negative rates, count backwards from the duration.
2665
2666 2006-10-13  Tim-Philipp Müller  <tim at centricular dot net>
2667
2668         * gst/gsterror.c: (_gst_library_errors_init):
2669           Fix error message for GST_LIBRARY_ERROR_SETTINGS (feel free to come
2670           up with something better).
2671
2672 2006-10-12  Tim-Philipp Müller  <tim at centricular dot net>
2673
2674         * win32/vs6/libgstreamer.dsp:
2675         * win32/vs7/libgstreamer.vcproj:
2676         * win32/vs8/libgstreamer.vcproj:
2677           Don't reference glib-compat.c which is currently not used and not
2678           disted; add gstquark.c which was recently added. Fixes #361730.
2679
2680 2006-10-12  Tim-Philipp Müller  <tim at centricular dot net>
2681
2682         * win32/common/libgstbase.def:
2683         * win32/common/libgstcontroller.def:
2684         * win32/common/libgstreamer.def:
2685           Add gst_caps_merge() and a bunch of other recently-added functions.
2686           Fixes #361732.
2687
2688 2006-10-11  Wim Taymans  <wim@fluendo.com>
2689
2690         * docs/plugins/gstreamer-plugins.args:
2691         * docs/plugins/inspect/plugin-coreelements.xml:
2692         * docs/plugins/inspect/plugin-coreindexers.xml:
2693         Update element args.
2694
2695         * gst/gstsystemclock.c:
2696         Small comment update.
2697
2698         * plugins/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
2699         (gst_tee_request_new_pad), (gst_tee_release_pad),
2700         (gst_tee_buffer_alloc), (gst_tee_sink_activate_push),
2701         (gst_tee_sink_activate_pull):
2702         * plugins/elements/gsttee.h:
2703         Some tee loving:
2704         Add default property defines.
2705         Implement release pad function.
2706         Give properties better blubs etc.
2707         Activate pads before adding them to a running tee.
2708         Do simple buffer_alloc on the first requested pad.
2709         Post error when activation fails.
2710
2711 2006-10-11  Tim-Philipp Müller  <tim at centricular dot net>
2712
2713         * gst/gst.c: (ensure_current_registry_forking):
2714           Check return value of write() to make compiler happy.
2715
2716 2006-10-11  Wim Taymans  <wim@fluendo.com>
2717
2718         Patch by: Sjoerd Simons <sjoerd at luon dot net>
2719
2720         * plugins/elements/gstqueue.c: (gst_queue_chain):
2721         Recheck queue filledness after signalling the overrun when we're about
2722         to leak downstream because we released the lock when emitting the signal
2723         and the queue could be empty again. Fixes #352345.
2724
2725 2006-10-11  Tim-Philipp Müller  <tim at centricular dot net>
2726
2727         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list):
2728           Fix refcounting here too, just like we did for _new_valist() a few
2729           days ago (#357180) (thanks to René Stadler). Also remove all those
2730           'Since: 0.9' from the gtk-doc blobs.
2731
2732         * tests/check/libs/controller.c: (controller_refcount_new_list),
2733         (gst_controller_suite):
2734           Unit test for the above.
2735
2736 2006-10-10  Wim Taymans  <wim@fluendo.com>
2737
2738         Patch by: Sebastien Cote <sebas642 at yahoo dot ca>
2739
2740         * gst/gstpad.c: (gst_pad_get_caps_unlocked),
2741         (gst_pad_save_thyself):
2742         Update some docs.
2743         Write pad direction in XML output. Fixes #345496.
2744
2745 2006-10-10  Wim Taymans  <wim@fluendo.com>
2746
2747         Patch by: René Stadler <mail at renestadler dot de>
2748
2749         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
2750         (gst_controller_new_list), (_gst_controller_dispose),
2751         (_gst_controller_finalize), (_gst_controller_class_init):
2752         Take ref to controlled object so that it cannot disappear. 
2753         Fixes #357432.
2754
2755 2006-10-10  Wim Taymans  <wim@fluendo.com>
2756
2757         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
2758         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
2759         (gst_check_teardown_sink_pad):
2760         Activate/deactivate pads in setup/teardown respectively.
2761
2762 2006-10-10  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
2763
2764         Patch by: Josep Torre Valles <josep@fluendo.com>
2765
2766         * gst/Makefile.am:
2767         Cast values when making gstenumtypes.h.  This pacifies Forte
2768         so it doesn't warn about the ~0 as GST_MESSAGE_ANY not fitting
2769         in the enumeration.
2770
2771 2006-10-09  Wim Taymans  <wim@fluendo.com>
2772
2773         * gst/gstevent.c: (gst_event_new_seek), (gst_event_parse_seek):
2774         Rename some more @cur to @start to fix docs. 
2775
2776         * gst/gstsegment.c: (gst_segment_set_seek):
2777         Fix typo.
2778         time and start must always stay in sync as defined in design doc.
2779
2780         * gst/gsttaglist.c: (gst_tag_list_is_empty):
2781         Rename param to fix docs.
2782
2783         * tests/check/gst/gstsegment.c: (GST_START_TEST):
2784         Check that start and time are in sync.
2785
2786         * tests/check/pipelines/parse-launch.c:
2787         (gst_parse_test_element_change_state):
2788         Activate pad before adding to the element.
2789
2790 2006-10-09  Wim Taymans  <wim@fluendo.com>
2791
2792         * docs/design/part-qos.txt:
2793         Fix typo.
2794
2795         * gst/gstevent.c:
2796         * gst/gstevent.h:
2797         Update seek event docs regarding negative rates.
2798         Rename @cur to @start. 
2799
2800         * gst/gstsegment.c: (gst_segment_set_seek):
2801         * gst/gstsegment.h:
2802         Update set_seek docs regarding negative rates.
2803         Correctly update last_stop to @stop when dealing with negative
2804         rates.
2805         Rename @cur to @start. 
2806
2807         * tests/check/gst/gstpad.c: (GST_START_TEST):
2808         Activate pads before trying to use them.
2809
2810         * tests/check/gst/gstsegment.c: (GST_START_TEST),
2811         (gst_segment_suite):
2812         Add simple check for segments and negative rates.
2813
2814 2006-10-09  Tim-Philipp Müller  <tim at centricular dot net>
2815
2816         * gst/gsttaglist.c: (gst_tag_list_is_empty):
2817         * gst/gsttaglist.h:
2818         * docs/gst/gstreamer-sections.txt:
2819           API: add gst_tag_list_is_empty() (#360467).
2820
2821         * tests/check/gst/gsttag.c: (GST_START_TEST):
2822           And a test case.
2823
2824 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
2825
2826         * gst/gstmessage.h:
2827         Revert change from earlier wrt GST_MESSAGE_TYPE_ANY having
2828         a value that doesn't fit on enumeration.
2829
2830 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
2831
2832         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
2833         Remove local debugging system and use Gstreamer's instead.
2834
2835 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
2836
2837         Patch by: Josep Torre Valles <josep@fluendo.com>
2838
2839         * common/m4/gst-error.m4:
2840         Disable warning of statement not reached on Forte.
2841         * gst/gstmessage.h:
2842         Fix warning on Forte (value doesn't fit on enumeration).
2843         * libs/gst/base/gstbasesink.c: (gst_base_sink_chain_unlocked):
2844         Fix warning on Forte (value doesn't fit on enumeration).
2845         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
2846         DEBUG macro says it takes minimum of 2 args and so Forte
2847         complains about the use with just 1 arg.
2848         * plugins/elements/gstfdsink.c:
2849         * plugins/elements/gstfdsrc.c:
2850         * plugins/elements/gstfilesink.c:
2851         * plugins/elements/gstfilesrc.c:
2852         Use correct return type for the uri handler implementations.
2853
2854         All these fix warnings in Forte.  Fixes bug #360860.
2855
2856 2006-10-08  Tim-Philipp Müller  <tim at centricular dot net>
2857
2858         * gst/gstelement.h:
2859           gcc versions prior to gcc 3.3 apparently complain about a NULL printf
2860           format string, so don't use G_GNUC_PRINTF for those versions.
2861
2862 2006-10-07  Tim-Philipp Müller  <tim at centricular dot net>
2863
2864         * gst/gsttaglist.c: (gst_is_tag_list):
2865         * gst/gsttaglist.h:
2866           Minor fixes to GST_IS_TAG_LIST and gst_is_tag_list().
2867
2868         * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
2869           Small test for the above.
2870
2871 2006-10-07  Tim-Philipp Müller  <tim at centricular dot net>
2872
2873         * gst/gsttaglist.h:
2874           Less tabs, more spaces.
2875
2876 2006-10-06  Tim-Philipp Müller  <tim at centricular dot net>
2877
2878         * gst/gstinfo.h:
2879           Those two function declarations do actually belong there, revert
2880           commit from yesterday that turned them intro macros.
2881
2882 2006-10-06  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
2883
2884         Patch by: Josep Torre Valles <josep@fluendo.com>
2885
2886         * gst/gst.c: (gst_init_get_option_group):
2887         Fix empty declaration and type mismatch.
2888         * gst/gstbin.c: (gst_bin_change_state_func):
2889         Fix type mismatch.
2890         * gst/gstelement.c: (gst_element_continue_state),
2891         (gst_element_set_state_func), (gst_element_change_state),
2892         (gst_element_change_state_func):
2893         Fix type mismatches.
2894         * gst/gstinfo.c: (gst_debug_compare_log_function_by_func),
2895         (gst_debug_remove_log_function), (_gst_debug_nameof_funcptr):
2896         Cast as appropriate.
2897         * gst/gstobject.c: (gst_class_signal_connect):
2898         Cast as appropriate.  The function pointer parameter really
2899         has the wrong type but would break API if we change it.
2900         * gst/gstquery.c:
2901         Fix redefinition of _FILE_OFFSET_BITS caused on Solaris wrt
2902         order of including string.h.
2903         * gst/gstutils.c: (gst_element_state_get_name):
2904         Remove unreachable line.
2905         * gst/gstxml.c: (gst_xml_parse_doc):
2906         Fix type mismatch.
2907         All these caught by Forte.
2908
2909 2006-10-06  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
2910
2911         Patch by: Josep Torre Valles <josep@fluendo.com>
2912
2913         * common/m4/gst-error.m4:
2914         Fixed bug #360151.
2915         We need to disable warnings on Forte for empty declarations
2916         due to gst-indent adding ;s to lines that just use macros
2917         where the macro actually doesn't need a ; at end to end
2918         statement.
2919
2920 2006-10-06  Wim Taymans  <wim@fluendo.com>
2921
2922         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
2923         (gst_file_sink_close_file), (gst_file_sink_event),
2924         (gst_file_sink_render):
2925         Add some FIXME for the NEWSEGMENT handling.
2926
2927 2006-10-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
2928
2929         * gst/parse/grammar.y:
2930         Remove static function gst_parse_element_lock as all it does
2931         is return.  Looks like cruft from 0.8.
2932
2933 2006-10-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
2934
2935         Patch by: Josep Torre Valles <josep@fluendo.com>
2936
2937         * common/m4/gst-error.m4:
2938         * configure.ac:
2939         * libs/gst/net/Makefile.am:
2940         Fix a compilation issue with Forte on Solaris.  inet_aton is in
2941         libresolv.
2942
2943 2006-10-05  Tim-Philipp Müller  <tim at centricular dot net>
2944
2945         * gst/gstpad.c: (pre_activate):
2946         * gst/gstregistry.c: (gst_registry_scan_path_level):
2947         * gst/gstregistryxml.c: (load_plugin):
2948         * libs/gst/controller/gstcontroller.c:
2949         (gst_controlled_property_set_interpolation_mode):
2950         * libs/gst/dataprotocol/dataprotocol.c:
2951         (gst_dp_packet_from_event_1_0):
2952         * libs/gst/net/gstnetclientclock.c:
2953         (gst_net_client_clock_observe_times):
2954         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
2955           Printf fixes.
2956
2957 2006-10-05  Tim-Philipp Müller  <tim at centricular dot net>
2958
2959         * configure.ac:
2960         * docs/gst/gstreamer-sections.txt:
2961         * gst/gstconfig.h.in:
2962         * gst/gstelement.h:
2963         * gst/gstinfo.h:
2964           Add GST_USING_PRINTF_EXTENSION to gstconfig.h so that we know
2965           whether we can use G_GNUC_PRINTF in other header files and at
2966           least check the printf format/arguments of debug messages and
2967           GST_ELEMENT_ERROR messages when the printf extension is not
2968           being used.
2969           Replace more tabs with spaces in gstinfo.h and remove two spurious
2970           function declarations in GST_DISABLE_DEBUG part with macros.
2971
2972 2006-10-03  Tim-Philipp Müller  <tim at centricular dot net>
2973
2974         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_post):
2975           More docs for the sync-message signal (mention that it is not
2976           emitted by default); log message structures of messages posted on
2977           the bus as well.
2978
2979 2006-10-03  Jan Schmidt  <thaytan@mad.scientist.com>
2980
2981         * gst/gst.c: (ensure_current_registry_forking):
2982         Use a pipe pair to receive status results from the forked child, and
2983         ignore the result from waitpid. Fixes #355499
2984
2985 2006-10-02  Wim Taymans  <wim@fluendo.com>
2986
2987         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
2988         (gst_ghost_pad_suite):
2989         Fix leak in check.
2990
2991 2006-10-02  Tim-Philipp Müller  <tim at centricular dot net>
2992
2993         * gst/gstpad.c:
2994           Add 'Since: 0.10.11' to gst_pad_is_blocking() gtk-doc blurb.
2995
2996 2006-10-02  Edward Hervey  <edward@fluendo.com>
2997
2998         * docs/design/part-block.txt:
2999         Further explain the use of flushing on blocked pads.
3000         * docs/gst/gstreamer-sections.txt:
3001         * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
3002         (gst_pad_push_event):
3003         * gst/gstpad.h:
3004         Added new GstPadFlag : GST_PAD_BLOCKING.
3005         Adds the notion of pads really blocking, which enables to properly
3006         handle FLUSH_START/FLUSH_STOP events on blocked pads.
3007         Fixes #358999
3008         API: gst_pad_is_blocking()
3009         API: GST_PAD_IS_BLOCKING() macro
3010         API: GST_PAD_BLOCKING GstPadFlag
3011         
3012 2006-10-02  Wim Taymans  <wim@fluendo.com>
3013
3014         Patch by: mrcgran <mrc.gran at gmail dot com>
3015
3016         * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps):
3017         Filter the proxied caps against the padtemplate if we have one.
3018
3019         * gst/gstquery.c: (gst_query_new_segment):
3020         Add include for gstinfo.h so that compilation with
3021         -DGST_DISABLE_GST_DEBUG works again. Fixes #358436.
3022
3023 2006-10-02  Wim Taymans  <wim@fluendo.com>
3024
3025         Patch by: Alessandro Decina  <alessandro at nnva org>
3026
3027         * plugins/elements/gstfilesink.c: (gst_file_sink_init),
3028         (gst_file_sink_set_location), (gst_file_sink_open_file),
3029         (gst_file_sink_close_file), (gst_file_sink_event),
3030         (gst_file_sink_render):
3031         Set file to NULL when closing filesink so that we can set a new filename
3032         in READY. Fixes #358613.
3033
3034 2006-10-02  Tim-Philipp Müller  <tim at centricular dot net>
3035
3036         Patch by: Alessandro Decina  <alessandro at nnva org>
3037
3038         * gst/gstevent.c: (_gst_event_copy):
3039           Fix gst_mini_object_make_writable() and gst_event_copy() for events
3040           with event structures by setting the parent refcount address of the
3041           copied structure to the address of the refcount member of the newly
3042           copied event rather than the address of the refcount member of the
3043           original event. Fixes #358737.
3044
3045         * tests/check/gst/gstevent.c: (GST_START_TEST):
3046           Unit test for the above.
3047
3048 2006-09-29  Stefan Kost  <ensonic@users.sf.net>
3049
3050         * docs/design/Makefile.am:
3051           Dist some more files.
3052
3053 2006-09-29  Tim-Philipp Müller  <tim at centricular dot net>
3054
3055         * tests/check/libs/controller.c: (GST_START_TEST),
3056         (gst_controller_suite):
3057           Add test for the previous fix; add some more tests
3058           for correct refcounting behaviour; fix a few leaks
3059           in test cases; call gst_controller_init() at start
3060           of all tests.
3061
3062 2006-09-29  Tim-Philipp Müller  <tim at centricular dot net>
3063
3064         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
3065         (gst_controller_set_from_list):
3066           Don't g_return_val_if_fail() on timed values with invalid timestamps
3067           inside a critical section without unlocking the mutex. Spotted by
3068           René Stadler. (#357617)
3069           Also, fix up refcounting properly: when returning an existing
3070           controller, we should increase the reference only once and not
3071           once per property and when trying to control a property again
3072           we should also increase the refcount.
3073
3074 2006-09-29  Wim Taymans  <wim@fluendo.com>
3075
3076         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
3077         * libs/gst/net/gstnettimeprovider.c:
3078         (gst_net_time_provider_thread):
3079         Stop reading commands when EOF as well.
3080
3081         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
3082         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
3083         * plugins/elements/gstidentity.c: (gst_identity_class_init):
3084         Unify description of the dump property.
3085
3086 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
3087
3088         * tests/examples/manual/.cvsignore:
3089         OK, so it's actually cvsignore that needs changing. Stop laughing.
3090
3091 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
3092
3093         * tests/examples/manual/Makefile.am:
3094         Gah, declare vars *before* using them
3095
3096 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
3097
3098         * gst/gst.c: (init_pre), (scan_and_update_registry),
3099         (ensure_current_registry_nonforking),
3100         (ensure_current_registry_forking), (ensure_current_registry),
3101         (init_post), (gst_debug_help), (gst_deinit):
3102         * gst/gst_private.h:
3103         * gst/gstregistry.c: (gst_registry_finalize),
3104         (gst_registry_remove_features_for_plugin_unlocked),
3105         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
3106         (gst_registry_scan_path),
3107         (_priv_gst_registry_remove_cache_plugins),
3108         (_priv_gst_registry_cleanup):
3109         * gst/gstregistry.h:
3110         Re-commit the registry changes, along with an extra fix:
3111           When a cached plugin is encountered at a different file path,
3112           update the stored path in the registry cache so that the parent
3113           process knows where it actually is now when it re-reads the registry
3114           cache. Fixes the thing that broke distcheck with the previous commit.
3115
3116         * tests/check/Makefile.am:
3117         Clean up files named 'core' too when running make clean.
3118
3119         * tests/examples/manual/Makefile.am:
3120         Set up a registry path for running these tests, and clean it properly
3121         for distcheck.
3122
3123 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
3124
3125         * configure.ac:
3126         Don't pull in gmodule-2.0.pc as a dependency in our .pc files - we
3127         want gmodule-no-export-2.0.pc instead so that we don't drag in
3128         --export-dynamic on every project that links to GStreamer.
3129
3130         Also, make our export regex only match the start of symbols, rather 
3131         than any symbol that contains '_gst' somewhere.
3132
3133         * libs/gst/check/Makefile.am:
3134         The libgstcheck we build does however need export-dynamic, as it
3135         produces some symbols that don't match our _gst... style regex.
3136         Fixes: #318031
3137
3138 2006-09-27  Jan Schmidt  <thaytan@mad.scientist.com>
3139
3140         * gst/gst.c: (init_pre), (scan_and_update_registry),
3141         (ensure_current_registry_nonforking),
3142         (ensure_current_registry_forking), (ensure_current_registry),
3143         (init_post), (gst_debug_help), (gst_deinit):
3144         * gst/gst_private.h:
3145         * gst/gstregistry.c: (gst_registry_finalize),
3146         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
3147         (gst_registry_scan_path), (_gst_registry_remove_cache_plugins),
3148         (_gst_registry_cleanup):
3149         * gst/gstregistry.h:
3150           Revert previous change until I figure out why it breaks distcheck.
3151
3152 2006-09-27  Jan Schmidt  <thaytan@mad.scientist.com>
3153
3154         * gst/gst.c: (init_pre), (scan_and_update_registry),
3155         (ensure_current_registry_nonforking),
3156         (ensure_current_registry_forking), (ensure_current_registry),
3157         (init_post), (gst_debug_help), (gst_deinit):
3158
3159           Make init_pre and init_post take the full complement of GOptionFunc
3160           args so they can return useful GErrors. Make the registry updating
3161           functions do so.
3162
3163           Call _priv_gst_registry_remove_cache_plugins after scanning files to
3164           ensure that the registry we're about to write out doesn't contain
3165           stale information about old-deleted plugin files.
3166
3167           Make _priv_gst_registry_remove_cache_plugins return a boolean so
3168           that deletion of plugin files is considered a registry change.
3169
3170         * gst/gst_private.h:
3171         * gst/gstregistry.c: (gst_registry_finalize),
3172         (gst_registry_remove_features_for_plugin_unlocked),
3173         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
3174         (gst_registry_scan_path),
3175         (_priv_gst_registry_remove_cache_plugins),
3176         (_priv_gst_registry_cleanup):
3177         * gst/gstregistry.h:
3178         Rename _gst_registry_remove_cache_plugins and _gst_registry_cleanup
3179         by adding _priv prefix, so that they won't appear in the global
3180         symbol table. They still do atm though because of #318031. Move the
3181         prototypes to gst_private.h
3182
3183         When removing a plugin, remove all features for that plugin too. 
3184         Fixes #340878.
3185
3186 2006-09-27  Wim Taymans  <wim@fluendo.com>
3187
3188         * docs/random/moving-plugins:
3189         Make it clear that the "compiled-in descriptions" really mean
3190         the element details.
3191
3192         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3193         (gst_base_sink_wait_preroll):
3194         Update docs.
3195
3196         * docs/libs/gstreamer-libs-sections.txt:
3197         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
3198         (gst_base_src_get_range), (gst_base_src_activate_push):
3199         * libs/gst/base/gstbasesrc.h:
3200         Added function to block while waiting for PLAYING, this function
3201         is used by live sources that block on the clock.
3202         API: gst_base_src_wait_playing()
3203
3204 2006-09-27  Tim-Philipp Müller  <tim at centricular dot net>
3205
3206         Patch by: Peter Kjellerstedt <pkj at axis com>
3207
3208         * Makefile.am:
3209           gst-element-check.m4 is generated and should therefore be
3210           copied from the build dir rather than the source dir (#357593).
3211           'make distcheck' hasn't noticed this because we were disting
3212           the file as well, so stop doing that.
3213
3214 2006-09-27  Tim-Philipp Müller  <tim at centricular dot net>
3215
3216         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
3217           Add some tests for gst_caps_intersect().
3218
3219         * tools/gst-launch.c: (event_loop):
3220           Print all buffering percentages we get, even the 100% one.
3221
3222 2006-09-26  Wim Taymans  <wim@fluendo.com>
3223
3224         * tools/gst-inspect.c: (print_element_properties_info),
3225         (print_signal_info):
3226         Fix printing of flags to match the look of enums.
3227
3228 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
3229
3230         * gst/gstelementfactory.c:
3231           Fix typo in docs blurb.
3232
3233 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
3234
3235         * gst/gsturi.c: (search_by_entry):
3236           Don't assert/crash here if a uri handler doesn't return any
3237           supported protocols. The list of protocols could be generated
3238           dynamically at runtime or at plugin registration, and an error
3239           in the underlying library shouldn't be fatal (#353301).
3240
3241 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
3242
3243         * gst/gstinfo.c:
3244           Fix warning if HAVE_PRINTF_EXTENSION is undefined
3245           (spotted by Peter Kjellerstedt).
3246
3247 2006-09-23  Wim Taymans  <wim@fluendo.com>
3248
3249         Based on patch by: Antoine Tremblay <hexa00 at gmail dot com>
3250
3251         * libs/gst/base/gstbasesrc.c:
3252         (gst_base_src_default_check_get_range), (gst_base_src_start),
3253         (gst_base_src_activate_push), (gst_base_src_activate_pull),
3254         (gst_base_src_change_state):
3255         Match _start/_stop calls in the activate functions. Remove redundant
3256         _stop call from the state change function. Fixes #356910.
3257         Turn failure DEBUG into ERROR. 
3258
3259 2006-09-22  Wim Taymans  <wim@fluendo.com>
3260
3261         * docs/design/part-buffering.txt:
3262         * gst/gstmessage.c: (gst_message_new_buffering),
3263         (gst_message_parse_buffering):
3264         Update docs about buffering.
3265
3266         * docs/design/part-trickmodes.txt:
3267         Fix typo.
3268
3269 2006-09-22  Stefan Kost  <ensonic@users.sf.net>
3270
3271         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
3272         (gst_controller_new_list):
3273           Ref instances when returning them again (fixes #357180)
3274
3275 2006-09-22  Tim-Philipp Müller  <tim at centricular dot net>
3276
3277         * gst/gstghostpad.c: (gst_ghost_pad_set_target):
3278           Don't forget to release proxy lock when there's an error.
3279
3280 2006-09-20  Jan Schmidt  <thaytan@mad.scientist.com>
3281
3282         * gst/gstcaps.h:
3283           Add extra initialisers for Caps things, to fix some plugin warnings
3284           when using -Wextra
3285
3286 2006-09-18  Wim Taymans  <wim@fluendo.com>
3287
3288         * gst/gstghostpad.c: (gst_ghost_pad_new_full):
3289           Also set template on the internal pad so that a getcaps from the 
3290           target pad returns the template caps.
3291
3292 2006-09-18  Wim Taymans  <wim@fluendo.com>
3293
3294         * gst/gstelement.c: (gst_element_post_message),
3295         (gst_element_dispose):
3296         Use _DEBUG_OBJECT some more.
3297
3298         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
3299         Avoid typechecks.
3300
3301         * tools/gst-launch.c: (main):
3302         If the toplevel element is not a GstPipeline, it must be put in a
3303         pipeline so that a bus and clock is selected.
3304
3305 2006-09-17  Tim-Philipp Müller  <tim at centricular dot net>
3306
3307         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
3308           JITTER, RATE, and LATENCY query should be handled by the
3309           default case and not by the CONVERT query code.
3310
3311 2006-09-17  Tim-Philipp Müller  <tim at centricular dot net>
3312
3313         * gst/gstformat.c: (gst_format_register):
3314           Fix locking order (must take lock before using n_values).
3315
3316         * gst/gstvalue.c: (gst_value_serialize_enum),
3317         (gst_value_deserialize_enum_iter_cmp),
3318         (gst_value_deserialize_enum):
3319           Fix serialisation/deserialisation of custom registered GstFormats.
3320
3321         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
3322           Unit test for custom format serialisation/deserialisation.
3323
3324 2006-09-17  Stefan Kost  <ensonic@users.sf.net>
3325
3326         * docs/pwg/building-boiler.xml:
3327         * plugins/elements/gstcapsfilter.c:
3328         More G_OBJECT macro fixing. Also Fix some details on the plugin-stamp
3329         section.
3330
3331 2006-09-16  Edward Hervey  <edward@fluendo.com>
3332
3333         * libs/gst/base/gstbasetransform.c:
3334         (gst_base_transform_buffer_alloc):
3335         Check if requested caps are the same as the sinks caps IF
3336         ->have_same_caps is TRUE. If they are not, act as if have_same_caps
3337         is FALSE.
3338         This fixes the renegotiation issues stated in #352827.
3339
3340 2006-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3341
3342         * configure.ac:
3343         * docs/manual/advanced-autoplugging.xml:
3344         * tests/examples/Makefile.am:
3345         * tests/examples/manual/.cvsignore:
3346         * tests/examples/manual/Makefile.am:
3347         * tests/examples/manual/extract.pl:
3348           Extract the manual examples again like we used to do.
3349           Fix one of them.
3350
3351 2006-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3352
3353         * win32/common/config.h:
3354           update for version
3355
3356 2006-09-16  Stefan Kost  <ensonic@users.sf.net>
3357
3358         * gst/gsterror.c:
3359           Documents how to receive errors.
3360
3361 2006-09-15  Wim Taymans  <wim@fluendo.com>
3362
3363         * tools/gst-launch.c: (sigint_handler_sighandler), (check_intr),
3364         (event_loop), (main):
3365         Added some comments here and there.
3366         Post an application message when an interrupt is caught instead of doing
3367         an uncontrolled state change.
3368         Clean up the event loop.
3369         Handle buffering messages, pause/resume the pipeline.
3370         Make shutdown because of an interrupt more reliable.
3371
3372 2006-09-15  Wim Taymans  <wim@fluendo.com>
3373
3374         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3375         (gst_base_sink_wait_preroll), (gst_base_sink_do_sync),
3376         (gst_base_sink_preroll_object):
3377         Make sure that our internal state is correct when we commit our state
3378         asynchronously. This solves a race where a state change to PLAYING
3379         could cause the sink to remain blocked in preroll in some situations.
3380
3381 2006-09-15  Wim Taymans  <wim@fluendo.com>
3382
3383         * tools/gst-inspect.c: (print_element_properties_info),
3384         (print_signal_info):
3385         List flags as hex so it's easier to deal with.
3386
3387 2006-09-15  Wim Taymans  <wim@fluendo.com>
3388
3389         * docs/libs/gstreamer-libs-sections.txt:
3390         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_preroll),
3391         (gst_base_sink_do_sync):
3392         * libs/gst/base/gstbasesink.h:
3393         Expose logic to wait for preroll so that subclasses such as audiosink
3394         can also use this method.
3395         API: gst_base_sink_wait_preroll()
3396
3397 2006-09-15  Wim Taymans  <wim@fluendo.com>
3398
3399         * gst/gstobject.c: (gst_object_set_parent):
3400         * gst/gstpipeline.c: (do_pipeline_seek):
3401         Small cleanups in docs and code.
3402
3403         * gst/gstsegment.c: (gst_segment_clip):
3404         * tests/check/gst/gstsegment.c: (GST_START_TEST):
3405         if stop == start and start is in the segment, no clipping should be
3406         done. Also add a test for this.
3407
3408 2006-09-15  Wim Taymans  <wim@fluendo.com>
3409
3410         * docs/design/part-buffering.txt:
3411         * docs/gst/gstreamer-sections.txt:
3412         * gst/gstmessage.c: (gst_message_new_buffering),
3413         (gst_message_parse_buffering):
3414         * gst/gstmessage.h:
3415         Added methods to create and parse BUFFERING messages.
3416         Added preliminary docs about buffering.
3417         API: gst_message_new_buffering
3418         API: gst_message_parse_buffering
3419
3420 2006-09-06  Wim Taymans  <wim@fluendo.com>
3421
3422         * gst/gstbin.c:
3423         Update documentation.
3424
3425         * gst/gstelement.c: (gst_element_class_init),
3426         (gst_element_release_request_pad), (gst_element_set_clock),
3427         (gst_element_get_index), (gst_element_add_pad),
3428         (gst_element_remove_pad), (gst_element_get_random_pad),
3429         (gst_element_send_event), (gst_element_get_query_types),
3430         (gst_element_query), (gst_element_post_message),
3431         (gst_element_message_full), (gst_element_continue_state),
3432         (gst_element_lost_state), (gst_element_save_thyself),
3433         (gst_element_restore_thyself):
3434         Documentation updates.
3435         Rename last bit of the new-pad -> pad-added signal rename.
3436         Fix the case where an element query would only work if the source
3437         pad was linked.
3438         Avoid some useless type checking in message handling.
3439
3440         * gst/gstevent.c:
3441         * gst/gstevent.h:
3442         * gst/gstutils.c:
3443         Documentation updates.
3444
3445 2006-09-14  Thomas Vander Stichele  <thomas at apestaart dot org>
3446
3447         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
3448           add an INFO line for when we actually update the fd
3449
3450 2006-09-14  Thomas Vander Stichele  <thomas at apestaart dot org>
3451
3452         * configure.ac:
3453           back to TRUNK
3454
3455 === release 0.10.10 ===
3456
3457 2006-09-14  Thomas Vander Stichele <thomas at apestaart dot org>
3458
3459         * configure.ac:
3460           releasing 0.10.10, "Pais"
3461
3462 2006-09-05  Tim-Philipp Müller  <tim at centricular dot net>
3463
3464         * docs/manual/advanced-position.xml:
3465           Fix typo in sample code.
3466
3467 2006-09-05  Wim Taymans  <wim@fluendo.com>
3468
3469         * libs/gst/net/gstnetclientclock.c: (inet_aton),
3470         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
3471         (gst_net_client_clock_do_select), (gst_net_client_clock_new):
3472         * libs/gst/net/gstnetclientclock.h:
3473         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
3474         * libs/gst/net/gstnettimepacket.h:
3475         * libs/gst/net/gstnettimeprovider.c: (inet_aton),
3476         (gst_net_time_provider_init), (gst_net_time_provider_finalize),
3477         (gst_net_time_provider_thread), (gst_net_time_provider_new):
3478         * libs/gst/net/gstnettimeprovider.h:
3479         Make stuff compile on windows. Fixes #345295.
3480
3481 2006-09-03  Tim-Philipp Müller  <tim at centricular dot net>
3482
3483         * gst/gst.c: (ensure_current_registry_forking):
3484           Print better details when child was terminated by signal.
3485
3486 2006-09-03  Tim-Philipp Müller  <tim at centricular dot net>
3487
3488         * gst/gstregistryxml.c: (gst_registry_xml_save_feature):
3489           Print a warning rather than g_assert() if a plugin feature
3490           is a URI handler but returns no protocols (#353976).
3491
3492 2006-09-02  Stefan Kost  <ensonic@users.sf.net>
3493
3494         * docs/random/moving-plugins:
3495         Fix two typos.         
3496
3497 2006-09-01  Tim-Philipp Müller  <tim at centricular dot net>
3498
3499         * gst/gstinfo.c: (_gst_debug_nameof_funcptr):
3500           Fix locking order, handle NULL function values properly.
3501
3502         * gst/gstinfo.h:
3503           Fix docs.
3504
3505         * gst/gstpad.c: (gst_pad_buffer_alloc_unchecked):
3506           Initialise variable before using it and fix debug statement to
3507           print the address of the function rather than the address of the
3508           variable on the stack holding the address of the function.
3509
3510 2006-09-01  Wim Taymans  <wim@fluendo.com>
3511
3512         * gst/gstghostpad.c: (gst_proxy_pad_do_event),
3513         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_chain),
3514         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
3515         (gst_proxy_pad_set_target_unlocked), (gst_ghost_pad_parent_set),
3516         (gst_ghost_pad_parent_unset),
3517         (gst_ghost_pad_internal_do_activate_push),
3518         (gst_ghost_pad_internal_do_activate_pull),
3519         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
3520         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
3521         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
3522         (gst_ghost_pad_new_full), (gst_ghost_pad_new_no_target),
3523         (gst_ghost_pad_new), (gst_ghost_pad_new_from_template),
3524         (gst_ghost_pad_new_no_target_from_template),
3525         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
3526         More cleanups.
3527         Avoid needless typechecking in macros.
3528         Since the internal pad is always present and never changes, there is
3529         no need to locking or ref when retrieving it.
3530         Improve debugging a bit.
3531         Handle link errors when setting the target. Fixes #341029.
3532
3533 2006-09-01  Wim Taymans  <wim@fluendo.com>
3534
3535         * docs/libs/gstreamer-libs-sections.txt:
3536         * docs/plugins/gstreamer-plugins-sections.txt:
3537         Fix docs some more.
3538
3539         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
3540         (gst_collect_pads_event):
3541         * libs/gst/base/gstcollectpads.h:
3542         Documentation updates.
3543         Free queued buffer when removing a pad.
3544
3545 2006-08-31  Michael Smith  <msmith@fluendo.com>
3546
3547         * gst/gstutils.c: (gst_element_link_pads),
3548         (gst_element_link_pads_filtered):
3549           Ensure that we set a capsfilter to NULL if we failed to link it
3550           when doing filtered linking, to avoid criticals.
3551
3552           No need to check for unreffing srcpad, which is explicly NULLed
3553           above (a trivial code cleanup).
3554
3555 2006-08-31  Wim Taymans  <wim@fluendo.com>
3556
3557         * docs/design/part-gstghostpad.txt:
3558         Update ascii art in documentation.
3559
3560         * gst/gstghostpad.c: (gst_proxy_pad_do_internal_link),
3561         (gst_proxy_pad_set_target_unlocked), (gst_proxy_pad_init),
3562         (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
3563         (gst_ghost_pad_internal_do_activate_push),
3564         (gst_ghost_pad_internal_do_activate_pull),
3565         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
3566         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
3567         (gst_ghost_pad_dispose), (gst_ghost_pad_new_full),
3568         (gst_ghost_pad_set_target):
3569         Small cleanups and leak fixes.
3570         Remove some checks now that the internal pad is never NULL.
3571         Fix the case where linking pads without a target would create nasty
3572         criticals. Fixes #341029.
3573         Don't assign a GstPadLinkReturn to a gboolean and mess up the return
3574         value of _set_target().
3575
3576         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
3577         (gst_ghost_pad_suite):
3578         Some more tests for creating and linking untargeted ghostpads.
3579
3580 2006-08-31  Edward Hervey  <edward@fluendo.com>
3581
3582         * docs/gst/gstreamer-sections.txt:
3583         * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps),
3584         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
3585         (gst_proxy_pad_dispose), (gst_ghost_pad_new_full),
3586         (gst_ghost_pad_new_no_target), (gst_ghost_pad_new),
3587         (gst_ghost_pad_new_from_template),
3588         (gst_ghost_pad_new_no_target_from_template):
3589         * gst/gstghostpad.h:
3590         Refactored *_new() functions.
3591         Templates are now used as a g_object_new() parameter.
3592         Use template in _do_getcaps() if we don't have a target.
3593         Small documentation cleanups.
3594         Added two new constructors:
3595         gst_ghost_pad_new_from_template()
3596         gst_ghost_pad_new_no_target_from_template()
3597         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
3598         (gst_ghost_pad_suite):
3599         Added tests for new ghostpad instanciation functions.
3600
3601         API additions: gst_ghost_pad_new_from_template,
3602         gst_ghost_pad_new_no_target_from_template
3603
3604 2006-08-30  Stefan Kost  <ensonic@users.sf.net>
3605
3606         * docs/random/ensonic/profiling.txt:
3607           Ideas about qos profiling.
3608
3609 2006-08-29  Wim Taymans  <wim@fluendo.com>
3610
3611         * gst/gstcaps.c: (gst_caps_structure_is_subset_field):
3612         Code cleanups.
3613         Fix memleak.
3614
3615 2006-08-29  Tim-Philipp Müller  <tim at centricular dot net>
3616
3617         * gst/gstxml.c:
3618           Improve and detypofy docs.
3619
3620         * tests/check/Makefile.am:
3621         * tests/check/gst/.cvsignore:
3622         * tests/check/gst/gstxml.c: (GST_START_TEST), (gst_xml_suite):
3623           Add a basic test suite for GstXML.
3624
3625 2006-08-29  Wim Taymans  <wim@fluendo.com>
3626
3627         * gst/gstelement.c: (activate_pads), (clear_caps),
3628         (iterator_activate_fold_with_resync), (gst_element_pads_activate):
3629         Clear the pad caps when the element shut down all of the pads and
3630         is not streaming data that could modify the caps. 
3631         Fixes #352958.
3632
3633 2006-08-28  Michael Smith  <msmith@fluendo.com>
3634
3635         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
3636           Revert previous change; I misunderstood single-segment mode.
3637
3638 2006-08-28  Michael Smith  <msmith@fluendo.com>
3639
3640         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
3641           Unset DISCONT on buffers when using single-segment mode.
3642
3643 2006-08-28  Wim Taymans  <wim@fluendo.com>
3644
3645         * gst/gstcaps.c: (gst_caps_merge_structure):
3646         * gst/gstcaps.h:
3647         Fix docs and indentation again.
3648
3649         * tests/check/gst/gstquery.c: (GST_START_TEST):
3650         Fix leak in tests and add some more tests.
3651
3652 2006-08-28  Edward Hervey  <edward@fluendo.com>
3653
3654         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
3655         Inform GstSegment of the last stop position in order for the current
3656         segment to have a proper duration if it doesn't have a specific stop
3657         position from which a duration could be calculated.
3658         This bug was noticeable when a non-flushing, non-update new segment was
3659         followed by another segment (all buffers from the new segment were being
3660         dropped).
3661
3662 2006-08-28  Wim Taymans  <wim@fluendo.com>
3663
3664         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
3665         Small comment update.
3666
3667         * plugins/elements/gstidentity.c: (gst_identity_class_init),
3668         (gst_identity_transform_ip):
3669         Drop-probability is broken, mention this in the code with a 
3670         FIXME and also in the property description.
3671         Make silent also be silent about the drop messages.
3672
3673 2006-08-28  Tim-Philipp Müller  <tim at centricular dot net>
3674
3675         * docs/manual/appendix-win32.xml:
3676           Remove mention of popt, we don't depend on that any
3677           longer (#353136). Add some comments pointing out that
3678           this section is slightly outdated.
3679
3680 2006-08-28  Wim Taymans  <wim@fluendo.com>
3681
3682         Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
3683
3684         * gst/gstquery.c: (gst_query_new_segment):
3685         * tests/check/gst/gstquery.c: (GST_START_TEST):
3686         Initialize variables when creating a new segment query.
3687         Fixes #353121.
3688
3689 2006-08-28  Wim Taymans  <wim@fluendo.com>
3690
3691         Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
3692
3693         * gst/gstelement.c: (gst_element_get_bus):
3694         * tests/check/gst/gstelement.c: (GST_START_TEST):
3695         Check for NULL before _reffing the bus. Fixes #353122.
3696
3697 2006-08-25  Tim-Philipp Müller  <tim at centricular dot net>
3698
3699         * docs/manual/basics-bus.xml:
3700           Docs update: fix wrong callback return value explanation; add
3701           some lines about the implicit relationship between main loop
3702           and main context; remove duplicate main loop variable declaration.
3703
3704 2006-08-24  Tim-Philipp Müller  <tim at centricular dot net>
3705
3706         * tests/check/gst/gstcaps.c: (GST_START_TEST):
3707           Don't leak caps in unit test; add a few more simple
3708           checks. 
3709
3710 2006-08-24  Stefan Kost  <ensonic@users.sf.net>
3711
3712         * docs/gst/gstreamer-sections.txt:
3713         * gst/gstcaps.c: (gst_caps_structure_is_subset_field),
3714         (gst_caps_structure_is_subset), (gst_caps_merge),
3715         (gst_caps_merge_structure):
3716         * gst/gstcaps.h:
3717         * libs/gst/base/gstbasetransform.c:
3718         (gst_base_transform_transform_caps):
3719         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
3720           implement caps merging (fixes #352580)
3721
3722 2006-08-23  Stefan Kost  <ensonic@users.sf.net>
3723
3724         * tools/Makefile.am:
3725         * tools/gst-plot-timeline.py:
3726           add debug-log plotting developer tool (#340674)
3727
3728 2006-08-23  Wim Taymans  <wim@fluendo.com>
3729
3730         * gst/gstpad.c: (gst_pad_start_task), (gst_pad_pause_task),
3731         (gst_pad_stop_task):
3732         Improve debugging for task functions.
3733
3734         * gst/gsttask.c: (gst_task_func), (gst_task_set_lock),
3735         (gst_task_start), (gst_task_pause), (gst_task_join):
3736         Make sure that the task function started and finished after a 
3737         join(). 
3738         Don't try to push the task function on the threadpool multiple
3739         times.
3740         Improve the g_warning message with some useful suggestions
3741         about how to fix the problem. 
3742
3743 2006-08-23  Wim Taymans  <wim@fluendo.com>
3744
3745         * gst/gstutils.c: (gst_pad_proxy_getcaps):
3746         Handle RESYNC correctly in _proxy_getcaps.
3747
3748 2006-08-21  Tim-Philipp Müller  <tim at centricular dot net>
3749
3750         * gst/gstxml.c: (gst_xml_dispose), (gst_xml_parse_file),
3751         (gst_xml_parse_memory), (gst_xml_get_element):
3752           Chain up to parent class in dispose function and also
3753           unref the elements in the toplevel_elements GList.
3754           Don't leak XmlDocPtr in _parse_file() and _parse_memory().
3755           Always return a reference in gst_xml_get_element() rather
3756           than only sometimes.
3757
3758         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
3759           Don't leak GstXml object.
3760
3761 2006-08-21  Stefan Kost  <ensonic@users.sf.net>
3762
3763         * docs/gst/gstreamer-sections.txt:
3764         * gst/gstcaps.c: (gst_structure_is_equal_foreach),
3765         (gst_caps_merge):
3766         * gst/gstcaps.h:
3767         * libs/gst/base/gstbasetransform.c:
3768         (gst_base_transform_transform_caps):
3769           API: Add gst_caps_merge() and use it in basetransform, fixes #345444
3770           in a better way
3771
3772 2006-08-21  Edward Hervey  <edward@fluendo.com>
3773
3774         * gst/gstxml.c: (gst_xml_class_init), (gst_xml_dispose):
3775         Implement GObject::dispose virtual method in GstXML so we can free the
3776         top_elements GList.
3777
3778 2006-08-21  Wim Taymans  <wim@fluendo.com>
3779
3780         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable),
3781         (gst_buffer_create_sub):
3782         Copy duration/offset_end/caps when creating a subbuffer of the
3783         complete parent.
3784         Make the subbuffer read-only when we make the metadata writable for
3785         now. Fixes #351768.
3786
3787         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
3788         Added check for metadata copy when creating subbuffers.
3789
3790 2006-08-21  Edward Hervey  <edward@fluendo.com>
3791
3792         * libs/gst/base/gstbasetransform.c:
3793         (gst_base_transform_buffer_alloc):
3794         Only call downstream buffer_alloc if transform element is passthrough
3795         or always_in_place. Closes #350449.
3796
3797 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
3798
3799         * ChangeLog:
3800           ChangeLog surgery to add comments to previous changes
3801
3802 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
3803
3804         * gst/gst.c:
3805           Add comments
3806
3807         * gst/gstpad.c: (gst_pad_set_active):
3808           Be more verbose in the log
3809
3810         * libs/gst/base/gstbasetransform.c:
3811         (gst_base_transform_transform_caps):
3812           Simplify caps to get rid of duplicates, fixes #345444
3813
3814 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
3815
3816         * gst/gstvalue.c:
3817         * gst/gstvalue.h:
3818           Use these optimizations only internally.
3819
3820 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
3821
3822         * gst/gstvalue.c: (gst_value_compare_list),
3823         (gst_value_compare_fraction_range),
3824         (gst_value_intersect_fraction_fraction_range),
3825         (gst_value_intersect_fraction_range_fraction_range),
3826         (gst_value_subtract_fraction_fraction_range),
3827         (gst_value_subtract_fraction_range_fraction_range),
3828         (gst_value_get_compare_func), (gst_value_compare),
3829         (gst_value_compare_with_func):
3830         * gst/gstvalue.h:
3831           Saves the expensive lookup of the compare function in many cases
3832          (#345444)
3833
3834 2006-08-18  Edward Hervey  <edward@fluendo.com>
3835
3836         * tests/check/gst/gstinfo.c: (gst_info_suite):
3837         Disable test that require gstdebug if it wasn't built in core.
3838
3839 2006-08-18  Stefan Kost  <ensonic@users.sf.net>
3840
3841         * docs/random/ensonic/logging.txt:
3842           update ideas
3843           
3844         * gst/gstinfo.c: (gst_debug_log_default):
3845           reorder fields, save some columns, add optional color codes for log
3846           levels
3847
3848 2006-08-18  Stefan Kost  <ensonic@users.sf.net>
3849
3850         * docs/random/ensonic/logging.txt:
3851           add ideas about making the logs a bit more useful
3852
3853 2006-08-17  Tim-Philipp Müller  <tim at centricular dot net>
3854
3855         * docs/pwg/advanced-events.xml:
3856         * docs/pwg/titlepage.xml:
3857           Update for 0.10 API (#340627). Add myself
3858           to authors list.
3859
3860 2006-08-17  Tim-Philipp Müller  <tim at centricular dot net>
3861
3862         * docs/libs/gstreamer-libs-docs.sgml:
3863         * docs/libs/gstreamer-libs-sections.txt:
3864         * libs/gst/check/gstbufferstraw.c:
3865           Make gstcheck stuff show up in docs (still needs to
3866           be documented properly though).
3867
3868 2006-08-16  Jan Schmidt  <thaytan@mad.scientist.com>
3869
3870         * docs/gst/gstreamer-sections.txt:
3871         * gst/Makefile.am:
3872         * gst/gst.c: (init_post):
3873         * gst/gst_private.h:
3874         * gst/gstquark.c: (_priv_gst_quarks_initialize):
3875         * gst/gstquark.h:
3876         * gst/gstquery.c: (gst_query_new_position),
3877         (gst_query_set_position), (gst_query_parse_position),
3878         (gst_query_new_duration), (gst_query_set_duration),
3879         (gst_query_parse_duration), (gst_query_new_convert),
3880         (gst_query_set_convert), (gst_query_parse_convert),
3881         (gst_query_new_segment), (gst_query_set_segment),
3882         (gst_query_parse_segment), (gst_query_new_seeking),
3883         (gst_query_set_seeking), (gst_query_parse_seeking):
3884         Add internal helpers for pre-registering quarks from static strings
3885         and using the quark values directly instead of looking them up when
3886         creating and parsing queries. Can be used for event construction too.
3887         Closes #350432.
3888
3889 2006-08-16  Wim Taymans  <wim@fluendo.com>
3890
3891         * gst/gstbin.c:
3892         Fix bogus docs.
3893
3894 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
3895
3896         * gst/gstutils.c: (gst_util_set_value_from_string):
3897           Fix memleak (#351502).
3898
3899         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
3900           Add unit test for most of gst_util_set_value_from_string()
3901           (not that one would want to encourage use of this function).
3902
3903 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
3904
3905         * libs/gst/check/gstcheck.h:
3906           Use const gchar * variables in fail_unless_equals_string
3907           macro to avoid compiler warnings (and don't use tabs for
3908           indenting).
3909
3910 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
3911
3912         * tools/gst-launch.c: (print_tag):
3913           More space on the left for the tag names, to cater
3914           for the 'extended comment' tag (not touching the
3915           string for the first line since it's translated).
3916
3917 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
3918
3919         * libs/gst/check/gstcheck.h:
3920           Fix ASSERT_CRITICAL and ASSERT_WARNING macros to actually
3921           print something when they fail.
3922
3923 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
3924
3925         * docs/gst/gstreamer-sections.txt:
3926         * gst/gsttaglist.c: (_gst_tag_initialize):
3927         * gst/gsttaglist.h:
3928           API: add GST_TAG_EXTENDED_COMMENT (#350935).
3929           Also change merge function for GST_TAG_COMMENT to
3930           use_first.
3931
3932 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
3933
3934         * gst/gstinfo.c: (gst_debug_print_object):
3935           Make GST_PTR_FORMAT print messages as well.
3936
3937         * tests/check/gst/gstinfo.c: (printf_extension_log_func),
3938         (GST_START_TEST), (gst_info_suite):
3939           More tests.
3940
3941 2006-08-14  Edward Hervey  <edward@fluendo.com>
3942
3943         * gst/gstelementfactory.c: (gst_element_register):
3944         If the GstElementClass doesn't have a GstElementDetails with all fields
3945         filled up correctly (longname, description AND author), then error out
3946         nicely instead of crashing.
3947
3948 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
3949
3950         * gst/gststructure.c:
3951           Fix typo in docs and re-wrap docs blurb to not exceed 80 chars/line.
3952
3953         * gst/gstvalue.h:
3954           Expand on the difference between arrays and lists as we use them.
3955           
3956 2006-08-14  Wim Taymans  <wim@fluendo.com>
3957
3958         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
3959         If the parent state change function failed, don't assume we can safely
3960         stop the source, this will be done when the pads are deactivated.
3961
3962 2006-08-14  Wim Taymans  <wim@fluendo.com>
3963
3964         * gst/gstbuffer.c:
3965         * gst/gsttask.c: (gst_task_join):
3966         Small doc updates.
3967
3968         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
3969         (gst_pad_stop_task):
3970         When pad (de)activation failed for some reason, restore the old
3971         activation mode and set the pad to flushing instead of assuming the
3972         pad is deactivated.
3973         If the _task_join() failed, reinstall the task on the pad so that it can
3974         be stopped later and return an error.
3975
3976 2006-08-11  Andy Wingo  <wingo@pobox.com>
3977
3978         * configure.ac:
3979         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
3980         * tests/check/libs/gdp.c: (gst_dp_suite): GST_DISABLE_DEPRECATED
3981         is only for users of API that don't want to see deprecated
3982         functions in the headers; people that want to compile out
3983         deprecated code should pass -DGST_REMOVE_DEPRECATED into the
3984         CFLAGS. Fixes the build of multifdsink, or will soon..
3985
3986 2006-08-11  Wim Taymans  <wim@fluendo.com>
3987
3988         * docs/gst/gstreamer-sections.txt:
3989         Add GstClockClass vmethod docs.
3990
3991         * gst/gstcaps.h:
3992         Mark #endif with comment for associated #if
3993
3994         * gst/gstclock.c: (gst_clock_id_wait):
3995         * gst/gstclock.h:
3996         Add vmethod wait_jitter to avoid an unneeded _get_time() for
3997         most clock implementations.
3998         Document vmethods.
3999         Flesh out docs about resolution methods.
4000         API: GstClockClass::wait_jitter
4001
4002         * gst/gstsystemclock.c: (gst_system_clock_class_init),
4003         (gst_system_clock_async_thread),
4004         (gst_system_clock_id_wait_jitter_unlocked),
4005         (gst_system_clock_id_wait_jitter):
4006         Use base class wait_jitter variant for improved performance
4007         due to less clock polling.
4008
4009 2006-08-11  Edward Hervey  <edward@fluendo.com>
4010
4011         * gst/gst.c: (gst_init_check), (init_post):
4012         Set gst as being initialized before scanning/updating the registry,
4013         since there might be my python plugin loader that calls gst_init() and
4014         we don't want to loop back in.
4015         Closes #350879
4016
4017 2006-08-11  Wim Taymans  <wim@fluendo.com>
4018
4019         * docs/design/part-qos.txt:
4020         Bring docs in line with the code. Mostly the sign of the jitter was
4021         wrong in the docs. Fixes #349943.
4022
4023         * gst/gstclock.c:
4024         Fix the docs for the jitter.
4025
4026         * gst/gstevent.c: (gst_event_new_custom), (gst_event_new_tag),
4027         (gst_event_parse_tag), (gst_event_new_buffer_size),
4028         (gst_event_parse_buffer_size), (gst_event_parse_qos),
4029         (gst_event_new_seek), (gst_event_parse_seek),
4030         (gst_event_new_navigation):
4031         Make sure the GstStructure has no parent when creating custom
4032         events.
4033         Add some more argument checking so that we avoid 0.0 rates.
4034         Flesh out the docs for the QoS event some more.
4035
4036 2006-08-11  Wim Taymans  <wim@fluendo.com>
4037
4038         * docs/gst/gstreamer-sections.txt:
4039         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
4040         (ensure_current_registry_forking), (ensure_current_registry),
4041         (parse_one_option), (parse_goption_arg), (gst_deinit),
4042         (gst_registry_fork_is_enabled), (gst_registry_fork_set_enabled):
4043         * gst/gst.h:
4044         Doc updates.
4045         Added API and command line option to disable registry forking in
4046         addition to the environment variable.
4047         Constify some static arrays.
4048         Added some more debug.
4049         Don't deinit twice.
4050         API: gst_registry_fork_is_enabled()
4051         API: gst_registry_fork_set_enabled()
4052         API: --gst-disable-registry-fork command line option
4053         Fixes #348918.
4054
4055 2006-08-11  Tim-Philipp Müller  <tim at centricular dot net>
4056
4057         * gst/gst.c: (gst_init):
4058           Fix typo in error message.
4059
4060 2006-08-10  Stefan Kost  <ensonic@users.sf.net>
4061
4062         * libs/gst/controller/gstcontroller.h:
4063           fix ABI size-correction
4064
4065         * tests/check/libs/gdp.c: (gst_dp_suite):
4066           make tests that use deprecated API conditional
4067
4068 2006-08-10  Stefan Kost  <ensonic@users.sf.net>
4069
4070         * docs/libs/gstreamer-libs-sections.txt:
4071         * libs/gst/controller/gstcontroller.c:
4072         (_gst_controller_get_property), (_gst_controller_set_property),
4073         (_gst_controller_init), (_gst_controller_class_init):
4074         * libs/gst/controller/gstcontroller.h:
4075         * libs/gst/controller/gsthelper.c: (gst_object_get_control_rate),
4076         (gst_object_set_control_rate):
4077           API: add gst_object_{s,g}et_control_rate(), add private data section,
4078           fix docs
4079
4080         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
4081         * libs/gst/dataprotocol/dataprotocol.h:
4082           add deprecation guards to make gtk-doc happy and allow disabling cruft
4083
4084 2006-08-09  Tim-Philipp Müller  <tim at centricular dot net>
4085
4086         * tests/check/Makefile.am:
4087         * tests/check/gst/.cvsignore:
4088           Let's enable the new unit test as well.
4089
4090 2006-08-08  Tim-Philipp Müller  <tim at centricular dot net>
4091
4092         * configure.ac:
4093         * docs/gst/gstreamer-sections.txt:
4094         * gst/gstconfig.h.in:
4095         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_print_segment),
4096         (_gst_info_printf_extension_ptr),
4097         (_gst_info_printf_extension_segment):
4098           API: add GST_SEGMENT_FORMAT, which is a printf extension we
4099           register that lets us easily dump GstSegments into debug
4100           logs (#350419).
4101
4102         * tests/check/gst/gstinfo.c: (segment_printf_extension_log_func),
4103         (info_segment_format_printf_extension), (gst_info_suite):
4104           Add simple unit test that logs a bunch of different segments (not
4105           valgrinded at the moment because of leaks in
4106           gst_debug_add_log_function).
4107
4108 2006-08-09  Edward Hervey  <edward@fluendo.com>
4109
4110         * libs/gst/base/gstbasetransform.c:
4111         (gst_base_transform_buffer_alloc):
4112         Even if we can't figure out the proper format to request downstream,
4113         call buffer_alloc() downstream with the input parameters without setting
4114         the caps on the srcpad. This will force negotiation in the chain
4115         function.
4116         Closes #350449
4117
4118 2006-08-08  Edward Hervey  <edward@fluendo.com>
4119
4120         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
4121         Unlinking from a pad without a target is now a perfectly valid case
4122         which should NOT raise an assertion.
4123         This case would happen if a linked ghostpad its target set to NULL after
4124         it was previously linked.
4125
4126 2006-08-08  Edward Hervey  <edward@fluendo.com>
4127
4128         * tests/check/libs/gdp.c:
4129         Also comment out the test (see below).
4130
4131 2006-08-08  Edward Hervey  <edward@fluendo.com>
4132
4133         * tests/check/libs/gdp.c: (gst_dp_suite):
4134         Use the architecture information from config.h and not gcc macros
4135         in order to properly disable a test that fails on PPC64.
4136
4137 2006-08-04  Tim-Philipp Müller  <tim at centricular dot net>
4138
4139         * gst/gstelement.c: (gst_element_remove_pad):
4140           Don't crash printing the warning if the pad has no parent.
4141
4142 2006-08-02  Wim Taymans  <wim@fluendo.com>
4143
4144         * libs/gst/dataprotocol/dataprotocol.c:
4145         (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
4146         (gst_dp_crc), (gst_dp_header_payload_length),
4147         (gst_dp_header_payload_type), (gst_dp_packet_from_event),
4148         (gst_dp_packet_from_event_1_0), (gst_dp_buffer_from_header),
4149         (gst_dp_caps_from_packet), (gst_dp_event_from_packet_0_2),
4150         (gst_dp_event_from_packet), (gst_dp_validate_header),
4151         (gst_dp_validate_payload):
4152         Make debug category static
4153         Constify the crc table.
4154         Do some more arg checking in public functions.
4155         Fix some docs and do some small cleanups.
4156
4157         * tests/check/libs/gdp.c: (GST_START_TEST), (gst_dp_suite):
4158         Add some more checks to see if GDP deals with bogus input.
4159
4160 2006-07-31  Wim Taymans  <wim@fluendo.com>
4161
4162         * gst/gstvalue.c: (gst_value_compare_list):
4163         Fix GstValueList comparison code. Fixes #347293.
4164
4165         * tests/check/gst/gstvalue.c: (GST_START_TEST):
4166         Check to test GstValueList comparison.
4167
4168 2006-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
4169
4170         * gst/gstelementfactory.c: (gst_element_factory_create):
4171         Remove unnecessary ref/unref pair
4172
4173         * gst/parse/grammar.y:
4174         Make sure to free the parse buffer on all code paths.
4175         Move a g_free up to the error handler where it's easier to see.
4176
4177         * tests/check/gst/gstevent.c: (test_event):
4178         Extending timeout for downstream travelling events to 10 seconds to
4179         hopefully avoid intermittent failure on the buildbots.
4180
4181         * tests/check/pipelines/parse-launch.c: (run_delayed_test):
4182         Don't manually set the state of the src element - it will happen as a
4183         natural consequence of the pipeline changing state, and that way it
4184         will do it in the right order too.
4185
4186 2006-07-31  Wim Taymans  <wim@fluendo.com>
4187
4188         * libs/gst/base/gstbasetransform.c:
4189         (gst_base_transform_buffer_alloc):
4190         Use OBJECT_LOCK and refcounting to get the pad caps in the
4191         buffer_alloc function because the caps could change while we are
4192         busy with them. Fixes #349105
4193
4194 2006-07-31  Wim Taymans  <wim@fluendo.com>
4195
4196         * gst/gstutils.c: (gst_pad_get_fixed_caps_func):
4197         Protect _PAD_CAPS with OBJECT_LOCK.
4198
4199 2006-07-31  Wim Taymans  <wim@fluendo.com>
4200
4201         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
4202         (gst_pad_get_property), (gst_pad_activate_pull),
4203         (gst_pad_activate_push), (gst_pad_set_blocked_async),
4204         (gst_pad_set_activate_function),
4205         (gst_pad_set_activatepull_function),
4206         (gst_pad_set_activatepush_function), (gst_pad_set_chain_function),
4207         (gst_pad_set_getrange_function),
4208         (gst_pad_set_checkgetrange_function), (gst_pad_set_event_function),
4209         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
4210         (gst_pad_set_internal_link_function), (gst_pad_set_link_function),
4211         (gst_pad_set_unlink_function), (gst_pad_set_getcaps_function),
4212         (gst_pad_set_acceptcaps_function),
4213         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
4214         (gst_pad_set_bufferalloc_function), (gst_pad_link_check_hierarchy),
4215         (gst_pad_get_caps_unlocked), (gst_pad_get_caps),
4216         (gst_pad_peer_get_caps), (gst_pad_accept_caps),
4217         (gst_pad_peer_accept_caps), (gst_pad_set_caps),
4218         (gst_pad_configure_sink), (gst_pad_configure_src),
4219         (gst_pad_get_allowed_caps), (gst_pad_get_negotiated_caps),
4220         (gst_pad_buffer_alloc_unchecked), (gst_pad_alloc_buffer_full),
4221         (gst_pad_query), (gst_pad_load_and_link), (handle_pad_block),
4222         (gst_pad_chain_unchecked), (gst_pad_push), (gst_pad_get_range),
4223         (gst_pad_send_event):
4224         Use _DEBUG_OBJECT when it makes sense.
4225         Protect GST_PAD_CAPS with the OBJECT_LOCK.
4226         Small cleanups and code reflows.
4227         Avoid caps refcounting in _accept_caps.
4228         Refactor alloc_buffer so that the code performed on the peer is in a
4229         separate function. Also if the pad does not implement a buffer alloc
4230         function, we should still check if the pad is flushing before falling
4231         back to the default allocator.
4232
4233 2006-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
4234
4235         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
4236         Make all uses of identity and fakesink have silent=true to avoid
4237         serialising every passing data structure, which is breaking tests
4238         on FC4 for some unknown reason.
4239
4240 2006-07-30  Stefan Kost  <ensonic@users.sf.net>
4241
4242         * gst/parse/Makefile.am:
4243         * gst/parse/grammar.y:
4244         * gst/parse/parse.l:
4245           Reverted previous patch as it required to bump the flex dependency to
4246           2.5.31, where fc4/5 seem to ship only the ancient 2.5.4a :(
4247
4248 2006-07-30  Stefan Kost  <ensonic@users.sf.net>
4249
4250         Patch by: Marc-Andre Lureau <marcandre.lureau@gmail.com>
4251
4252         * gst/parse/Makefile.am:
4253         * gst/parse/grammar.y:
4254         * gst/parse/parse.l:
4255           push & pop the state of the lexer for reentrant use case
4256           Fixes #349180
4257
4258 2006-07-29  Tim-Philipp Müller  <tim at centricular dot net>
4259
4260         * libs/gst/base/gstbasesrc.h:
4261           Note in the docs that the ::newsegment vfunc is not actually used by
4262           GstBaseSrc.
4263
4264 2006-07-28  Wim Taymans  <wim@fluendo.com>
4265
4266         * libs/gst/base/gstcollectpads.c:
4267         (gst_collect_pads_set_flushing_unlocked), (gst_collect_pads_pop),
4268         (gst_collect_pads_clear), (gst_collect_pads_flush),
4269         (gst_collect_pads_event), (gst_collect_pads_chain):
4270         When flushing a pad, also clear the queued buffer so that we don't
4271         accidentally use it when we shouldn't.
4272         Fix leaks by inreffing incomming buffer.
4273         Flush out queued buffers in case of errors.
4274         Fixes #347452.
4275
4276 2006-07-28  Wim Taymans  <wim@fluendo.com>
4277
4278         * docs/random/phonon-gst:
4279         Random notes about a Phonon backend.
4280
4281 2006-07-27  Jan Schmidt  <thaytan@mad.scientist.com>
4282
4283         * libs/gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
4284         Extra debug output
4285         * tests/check/libs/gdp.c: (gst_dp_suite):
4286         Take a whack at fixing the ppc compile using a different define to
4287         disable the broken test.
4288
4289         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
4290         Remove excess g_print()
4291
4292 2006-07-27  Jan Schmidt <thaytan@mad.scientist.com>
4293
4294         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
4295         Oops, meant to uncomment this line too to dampen the noise a bit.
4296
4297 2006-07-27  Jan Schmidt <thaytan@mad.scientist.com>
4298
4299         * gst/parse/grammar.y:
4300         * gst/parse/parse.l:
4301         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
4302         (GST_START_TEST), (parse_suite):
4303         Fix some of the leaks exposed by extending the parse-launch testsuite,
4304         and move the 3 I can't figure out into a separate test that won't run
4305         the pipelines unless the appropriate line is uncommented.
4306
4307 2006-07-27  Tim-Philipp Müller  <tim at centricular dot net>
4308
4309         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
4310           Requesting 0 bytes before the end of the file should result in
4311           FLOW_OK and an empty buffer, not FLOW_UNEXPECTED. Thank you
4312           unit test.
4313
4314 2006-07-27  Wim Taymans  <wim@fluendo.com>
4315
4316         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_get_structure):
4317         Fix useless assert, a uint is always positive.
4318
4319         * gst/gststructure.c: (gst_structure_nth_field_name),
4320         (gst_structure_foreach), (gst_structure_map_in_place):
4321         Check input arguments for public functions to avoid obvious crashes.
4322
4323         * plugins/elements/gstfakesink.c: (gst_fake_sink_render):
4324         * plugins/elements/gstfakesink.h:
4325         Do less useless typechecking.
4326
4327 2006-07-27  Tim-Philipp Müller  <tim at centricular dot net>
4328
4329         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
4330           Do not use mmap() by default since there are a number of error
4331           conditions that we would like to handle in a non-fatal way that
4332           will result in a SIGBUS if we use mmap(). Examples: external
4333           devices (USB harddrive, portable music player) being unplugged
4334           while in use; file on mounted CD/DVD that can't be read because
4335           the medium is partly damaged. Fixes #348455 and #348475.
4336
4337 2006-07-27  Jan Schmidt  <thaytan@mad.scientist.com>
4338
4339         * gst/gstquery.h:
4340         Delete unused and misleading define of GST_QUERY_TYPE_RATE_DEN -
4341         rates are a gdouble
4342
4343 2006-07-26  Stefan Kost  <ensonic@users.sf.net>
4344
4345         * gst/gstregistry.c:
4346           Move big documentation comment into class section header, so that it
4347           appears in the API docs.
4348
4349 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
4350
4351         * docs/gst/gstreamer-sections.txt:
4352         Oops. Commit the docs additions too for new API.
4353         Also, remove the mention of the non-existent GST_QUERY_TYPE_RATE_DEN
4354
4355 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
4356
4357         * gst/gststructure.c: (gst_structure_id_set),
4358         (gst_structure_id_set_valist):
4359         * gst/gststructure.h:
4360         Add API for setting values into structures without performing
4361         a quark lookup, if the appropriate quark is already known.
4362
4363         API: gst_structure_id_set
4364         API: gst_structure_id_set_valist
4365
4366         * gst/parse/grammar.y:
4367         * gst/parse/parse.l:
4368         Remove some dead code shown by the coverage information.
4369         Don't throw a critical g_warning when encountering a syntax error,
4370         just warn and let the normal error path handle it.
4371
4372         * plugins/elements/gstelements.c:
4373         Bump the rank of filesink up to PRIMARY so that it is preferred over
4374         gnomevfssink for file:// sink uri's
4375
4376         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
4377         (GST_START_TEST), (run_delayed_test),
4378         (gst_parse_test_element_base_init),
4379         (gst_parse_test_element_class_init), (gst_parse_test_element_init),
4380         (gst_parse_test_element_change_state),
4381         (gst_register_parse_element), (parse_suite):
4382         Beef up the tests for parse syntax to check that more error cases
4383         fail as they are supposed to. Increases the test coverage a bit.
4384
4385 2006-07-26  Tim-Philipp Müller  <tim at centricular dot net>
4386
4387         * docs/manual/basics-elements.xml:
4388           Fix gst_element_link() example.
4389
4390         * gst/gstutils.c:
4391           Mention in API docs that one should usually gst_bin_add()
4392           elements to a bin or pipeline before doing the linking.
4393           
4394 2006-07-26  Wim Taymans  <wim@fluendo.com>
4395
4396         * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_new),
4397         (gst_subbuffer_get_type), (gst_buffer_create_sub):
4398         Avoid function call for known types by keeping the buffer and
4399         subbuffer GType global.
4400
4401         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
4402         Random silly optimisations in read() path.
4403
4404 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
4405
4406         * tools/gst-launch.c: (main):
4407           If the top-level of the parse is a normal bin, it doesn't do the
4408           right logic to run as a top-level element, so place it inside a
4409           pipeline.
4410
4411 2006-07-25  Tim-Philipp Müller  <tim at centricular dot net>
4412
4413         * plugins/elements/gstfilesrc.c: (gst_file_src_set_property):
4414           Remove superfluous g_object_notify() calls, GObject does
4415           that for us automatically.
4416
4417 2006-07-25  Stefan Kost  <ensonic@users.sf.net>
4418
4419         * gst/gstinfo.h:
4420           on Win32, use dllspec to export the debug category symbols
4421
4422 2006-07-24  Tim-Philipp Müller  <tim at centricular dot net>
4423
4424         * gst/gsttaglist.c: (_gst_tag_initialize):
4425           Allow more than one GST_TAG_IMAGE per taglist.
4426
4427 2006-07-24  Thomas Vander Stichele  <thomas at apestaart dot org>
4428
4429         * gst/gstminiobject.c:
4430           update docs
4431         * plugins/elements/gstfdsrc.c: (gst_fd_src_set_property),
4432         (gst_fd_src_create):
4433           log recurring events at LOG level
4434           add more debug for when the fd gets set
4435
4436 2006-07-21  Stefan Kost  <ensonic@users.sf.net>
4437
4438         * gst/gstparse.c: (gst_parse_launch):
4439           Also remove reentrance checks if flex is MT safe (#348179)
4440          Fix my empty ChangeLog entry below
4441
4442 2006-07-21  Andy Wingo  <wingo@pobox.com>
4443
4444         * docs/libs/gstreamer-libs-sections.txt: Attempt to pacify buildbot.
4445
4446         * libs/gst/check/Makefile.am
4447         (libgstcheck_@GST_MAJORMINOR@include_HEADERS)
4448         (libgstcheck_@GST_MAJORMINOR@_la_SOURCES): 
4449         * libs/gst/check/gstbufferstraw.h:
4450         * libs/gst/check/gstbufferstraw.c: Add some new hype testing
4451         functions, thus proving I am still a GStreamer haxor. OK I wrote
4452         them a long time ago, but anyways.
4453
4454 2006-07-21  Stefan Kost  <ensonic@users.sf.net>
4455
4456         * configure.ac:
4457         * gst/gstparse.c: (gst_parse_launch):
4458           Check for flex version and omit mutex if we have a MT save flex
4459           (fixes #348179)
4460
4461 2006-07-21  Wim Taymans  <wim@fluendo.com>
4462
4463         * gst/gstparse.c: (gst_parse_launch):
4464         Protect recursive calls to _parse with a recursive mutex
4465         and busy flag.
4466
4467 2006-07-21  Wim Taymans  <wim@fluendo.com>
4468
4469         * tests/check/gst/gstpad.c: (GST_START_TEST):
4470         Fix leak in test.
4471
4472 2006-07-20  Stefan Kost  <ensonic@users.sf.net>
4473
4474         * gst/gstparse.c: (gst_parse_launch):
4475           Do not hang on recursive usage of gst_parse_launch()
4476
4477 2006-07-20  Tim-Philipp Müller  <tim at centricular dot net>
4478
4479         * gst/gsttaglist.c:
4480           Add some more docs, comments and FIXME 0.11s here and there
4481           and also fix some typos.
4482
4483 2006-07-20  Tim-Philipp Müller  <tim at centricular dot net>
4484
4485         * gst/gstsegment.h:
4486           Convert tabs to spaces for better readability. 
4487
4488 2006-07-20  Edward Hervey  <edward@fluendo.com>
4489
4490         * tests/check/libs/gdp.c: (gst_dp_suite):
4491         the test_buffer test fails at line 140 on ppc64 at the following
4492         check:
4493         fail_unless (GST_BUFFER_FLAG_IS_SET (newbuffer,
4494                 GST_BUFFER_FLAG_IN_CAPS),
4495                 "GST_BUFFER_IN_CAPS flag should have been copied !");
4496         See bug #348114 for more details.
4497
4498 2006-07-19  Tim-Philipp Müller  <tim at centricular dot net>
4499
4500         * docs/pwg/advanced-scheduling.xml:
4501         * gst/gstpad.c:
4502           Fix typos (#348000).
4503
4504 2006-07-18  Tim-Philipp Müller  <tim at centricular dot net>
4505
4506         * docs/pwg/intro-basics.xml:
4507           Fix wrong links (#347927).
4508
4509 2006-07-18  Stefan Kost  <ensonic@users.sf.net>
4510
4511         * gst/gstregistry.h:
4512         * gst/gstregistryxml.c: (load_feature),
4513         (gst_registry_xml_read_cache), (gst_registry_xml_save_feature):
4514         * win32/common/config.h:
4515           make --disable-index work (#342564)
4516
4517 2006-07-18  Wim Taymans  <wim@fluendo.com>
4518
4519         Patch by: Peter Kjellerstedt <pkj at axis dot com>
4520
4521         * gst/Makefile.am:
4522         * gst/gsttrace.h:
4523         The attached patch adds two missing defines to gsttrace.h when tracing
4524         is disabled.  It also corrects one existing define.
4525         Fixes #347756.
4526
4527 2006-07-17  Wim Taymans  <wim@fluendo.com>
4528
4529         * docs/gst/gstreamer-sections.txt:
4530         * gst/gst.c: (gst_segtrap_is_enabled), (gst_segtrap_set_enabled):
4531         * gst/gst.h:
4532         * gst/gstplugin.c: (_gst_plugin_fault_handler_restore):
4533         Add two functions to check and change the SIGSEGV behaviour
4534         when loading plugins.
4535         Don't mess with the SIGSEGV handler when we were told not to.
4536         Fixes #347794.
4537         API: gst_segtrap_is_enabled
4538         API: gst_segtrap_set_enabled
4539
4540 2006-07-14  Wim Taymans  <wim@fluendo.com>
4541
4542         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
4543         * tests/check/elements/filesrc.c: (GST_START_TEST):
4544         Revert fix for regression in #347408 after release.
4545
4546 2006-07-14  Tim-Philipp Müller  <tim at centricular dot net>
4547
4548         Patch by: Antoine Tremblay <hexa00 at gmail com>
4549
4550         * gst/gstutils.c: (gst_element_unlink):
4551           Free iterator when done (#347311).
4552
4553         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
4554           And add a test case for this.
4555
4556 2006-07-14  Jan Schmidt  <thaytan@mad.scientist.com>
4557
4558         * configure.ac:
4559         Bump nano back to CVS
4560
4561 === release 0.10.9 ===
4562
4563 2006-07-13  Jan Schmidt <thaytan@mad.scientist.com>
4564
4565         * configure.ac:
4566           releasing 0.10.9, "On the road again"
4567
4568 2006-07-13  Wim Taymans  <wim@fluendo.com>
4569
4570         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
4571         * tests/check/elements/filesrc.c: (GST_START_TEST):
4572         Revert pull-0 fix for release. Disable check. Fixes #347408.
4573
4574 2006-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4575
4576         * libs/gst/dataprotocol/dataprotocol.c:
4577         (gst_dp_event_from_packet_1_0):
4578           Fixes #347337: failure to deserialize event packets with
4579           empty payload (only event type)
4580
4581 2006-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4582
4583         * gst/Makefile.am:
4584           do not install a .c file in the header directory
4585
4586 2006-07-13  Edward Hervey  <edward@fluendo.com>
4587
4588         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
4589         GhostPad no longer implicitely use the padtemplates of the targets.
4590         Fixes #347384
4591
4592 2006-07-11  Jan Schmidt  <thaytan@mad.scientist.com>
4593
4594         * gst/gstvalue.c: (gst_value_compare_list),
4595         (gst_value_compare_array), (_gst_value_initialize):
4596         * tests/check/gst/gstvalue.c: (GST_START_TEST):
4597         Make GstValueArray comparison be order dependent as designed.
4598         Add checks for value lists and value array comparisons.
4599         Fixes #347221
4600
4601 2006-07-11  Edward Hervey  <edward@fluendo.com>
4602
4603         * gst/gstbin.c: (activate_pads),
4604         (iterator_activate_fold_with_resync), (gst_bin_src_pads_activate),
4605         (gst_bin_change_state_func):
4606         (de)activate src pads before calling state_change on the childs.
4607         This is to avoid the case where a src ghostpad is blocked (holding the
4608         stream lock), which would block the deactivation of the ghostpad's
4609         target pad.
4610         * gst/gstghostpad.c: (gst_proxy_pad_do_query_type),
4611         (gst_proxy_pad_do_event), (gst_proxy_pad_do_query),
4612         (gst_proxy_pad_do_internal_link), (gst_proxy_pad_do_bufferalloc),
4613         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
4614         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
4615         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
4616         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
4617         (gst_proxy_pad_set_target), (gst_proxy_pad_get_internal),
4618         (gst_proxy_pad_dispose), (gst_proxy_pad_init),
4619         (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
4620         (gst_ghost_pad_class_init),
4621         (gst_ghost_pad_internal_do_activate_push),
4622         (gst_ghost_pad_internal_do_activate_pull),
4623         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
4624         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
4625         (gst_ghost_pad_dispose), (gst_ghost_pad_new_no_target),
4626         (gst_ghost_pad_new), (gst_ghost_pad_set_target):
4627         GhostPads now create their internal GstProxyPad at creation (and not
4628         when they're linked, as it was being done previously).
4629         The internal and target pads are linked straight away.
4630         The data will also travel through the other pad in order to make
4631         pad blocking and probes non-hackish (the probe/block now really happens
4632         on the GhostPad and not on the target).
4633         * gst/gstpad.c: (gst_pad_set_blocked_async),
4634         (gst_pad_link_prepare), (gst_pad_push_event):
4635         Remove previous ghostpad cruft.
4636         * gst/gstutils.c: (gst_pad_add_data_probe),
4637         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
4638         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
4639         (gst_pad_remove_buffer_probe):
4640         Remove previous ghost pad cruft.
4641         Added more detailed debug statements.
4642         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
4643         Fix the testsuite for refcounting changes.
4644         The comments about who has references were correct, but the refcount
4645         being checked wasn't the same (!?!).
4646
4647         Fixes #341029
4648
4649 2006-07-10  Stefan Kost  <ensonic@users.sf.net>
4650
4651         * docs/gst/gstreamer-sections.txt:
4652         * gst/gstconfig.h.in:
4653         More docs for configuration options, add docs to gtk-doc.
4654
4655 2006-07-10  Stefan Kost  <ensonic@users.sf.net>
4656
4657         * gst/Makefile.am:
4658         * gst/gstconfig.h.in:
4659         * win32/common/config.h:
4660         Fix build when disabling tracing (fixes #344016). Also start to document
4661         the defines that disable the sub-systems.
4662
4663 2006-07-10  Edward Hervey  <edward@fluendo.com>
4664
4665         * gst/gst.c: (ensure_current_registry_forking):
4666         let's make valgrind happy...
4667
4668 2006-07-09  Wim Taymans  <wim@fluendo.com>
4669
4670         * gst/gstelement.c: (activate_pads),
4671         (iterator_activate_fold_with_resync), (gst_element_pads_activate):
4672         Better pad activation code: Reset the collect value too on resync.
4673         Add some comments.
4674
4675 2006-07-09  Wim Taymans  <wim@fluendo.com>
4676
4677         * gst/gstpad.c: (gst_pad_init), (gst_pad_activate_pull),
4678         (gst_pad_activate_push):
4679         Use some more macros where it makes sense.
4680         Allow pad mode switching instead of asserting. When a pad
4681         is activated in one mode and we activate it in another, 
4682         deactivate it first before activating it in a different mode.
4683         Fixes #329198.
4684
4685 2006-07-08  Andy Wingo  <wingo@pobox.com>
4686
4687         * tools/gst-launch.c (main): Handle err == NULL.
4688
4689         * gst/gst.c (init_post, ensure_current_registry)
4690         (ensure_current_registry_forking)
4691         (ensure_current_registry_nonforking): Reduce #ifdef ratnest by
4692         factoring out the registry scanning into separate functions. Don't
4693         fork for the rescan is GST_REGISTRY_FORK=no; useful in debugging.
4694         Better environment var name/interface suggestions accepted.
4695
4696 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
4697
4698         * gst/gstobject.c: (gst_object_set_name_default),
4699         (gst_object_set_name):
4700           Random micro-optimisation: don't use a hash table
4701           with strings as keys and the usual strdup/strcmp
4702           involved, but rather just use the GQuark of the
4703           type name as key, since it needs to be looked up
4704           anyway to get the type name string.
4705
4706         * tests/check/gst/gstobject.c: (GST_START_TEST):
4707           Fix various leaks.
4708
4709 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
4710
4711         * gst/gstbin.c: (compare_interface), (gst_bin_get_by_interface),
4712         (gst_bin_iterate_all_by_interface):
4713           Can't use GPOINTER_TO_INT and GINT_TO_POINTER with GTypes.
4714           GTypes are gulongs and thus the top 4 bytes might be cut
4715           off on some platforms when doing GPOINTER_TO_INT, leading
4716           to invalid GTypes and bad things happening (see RH bug #179654).
4717           Also add a check to make sure the type passed in is really
4718           an interface type.
4719
4720 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
4721
4722         * .cvsignore:
4723           Ignore more.
4724
4725 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
4726
4727         * Makefile.am:
4728         * configure.ac:
4729         * gst-element-check.m4:
4730         * gst-element-check.m4.in:
4731           Make gst-element-check-$VERSION.m4 call gst-inspect-$VERSION
4732           instead of the unversioned gst-inspect (#324176, #168659).
4733
4734 2006-07-06  Wim Taymans  <wim@fluendo.com>
4735
4736         * gst/gstmessage.h:
4737         Use a valid int for the _MESSAGE_ANY enum value to avoid compiler
4738         warnings.
4739
4740 2006-07-06  Wim Taymans  <wim@fluendo.com>
4741
4742         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
4743         (gst_base_src_wait), (gst_base_src_update_length),
4744         (gst_base_src_get_range), (gst_base_src_default_check_get_range),
4745         (gst_base_src_check_get_range), (gst_base_src_pad_check_get_range),
4746         (gst_base_src_loop), (gst_base_src_start),
4747         (gst_base_src_activate_pull):
4748         Update docs.
4749         blocksize == 0 now means the default blocksize when working in push
4750         based mode.
4751         Remove some pointless asserts in _wait function.
4752         Fix offset/length calculations and EOS handling. We can now pull 0
4753         bytes as well, which is allowed.
4754         use _check_get_range() to decide if we can operate in _pull based
4755         mode.
4756         Fix refcounting leak when check_get_range function was not 
4757         implemented.
4758         API GstBaseSrc::blocksize range can be 0 too now (default)
4759
4760         * tests/check/elements/filesrc.c: (GST_START_TEST),
4761         (filesrc_suite):
4762         Added check to test _get_range() behaviour.
4763
4764 2006-07-06  Wim Taymans  <wim@fluendo.com>
4765
4766         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
4767         (gst_pad_push), (gst_pad_check_pull_range), (gst_pad_get_range),
4768         (gst_pad_pull_range):
4769         * gst/gstpad.h:
4770         Lots of comments and docs added to the pad functions.
4771         Flesh out the expected behaviour of the get_range() functions.
4772
4773 2006-07-06  Wim Taymans  <wim@fluendo.com>
4774
4775         * gst/gstbus.h:
4776         * gst/gstclock.h:
4777         * gst/gstevent.h:
4778         * gst/gstiterator.h:
4779         * gst/gstpad.h:
4780         * gst/gstplugin.h:
4781         * gst/gsttask.h:
4782         Remove comma at end of enumerator list. 
4783
4784 2006-07-05  Sebastien Moutte  <sebastien@moutte.net>
4785
4786         * win32/common/libgstbase.def:
4787         * win32/common/libgstdataprotocol.def:
4788         * win32/common/libsgtreamer.def:
4789         Add new exported functions.
4790
4791 2006-07-05  Wim Taymans  <wim@fluendo.com>
4792
4793         * libs/gst/base/gstpushsrc.c: (gst_push_src_check_get_range):
4794         Add some more docs here and there.
4795
4796 2006-07-05  Wim Taymans  <wim@fluendo.com>
4797
4798         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_object),
4799         (gst_base_sink_loop), (gst_base_sink_get_position):
4800         When operating in pull mode update the offset so that we
4801         read sequentially.
4802
4803 2006-07-05  Wim Taymans  <wim@fluendo.com>
4804
4805         * gst/gstregistryxml.c: (read_string):
4806         Avoid strdup. (will happen in libxml, but hey!)
4807
4808         * gst/gsturi.c:
4809         Add some more docs.
4810
4811 2006-07-05  Wim Taymans  <wim@fluendo.com>
4812
4813         * gst/gstbuffer.c: (_gst_buffer_copy), (gst_buffer_create_sub):
4814         * tests/check/gst/gstbuffer.c: (GST_START_TEST),
4815         (gst_buffer_suite):
4816         No point in checking if the size of the subbuffer > 0, the
4817         code handles it correclty as demonstrated by unit test.
4818         Also add a unit test for the zero sized _new_and_alloc and
4819         _copy. Fixes #346663.
4820
4821 2006-07-05  Wim Taymans  <wim@fluendo.com>
4822
4823         * libs/gst/base/gstbasetransform.c:
4824         (gst_base_transform_prepare_output_buffer),
4825         (gst_base_transform_buffer_alloc),
4826         (gst_base_transform_handle_buffer):
4827         Make sure the buffer we pass to transform_ip has a refcount of
4828         1 and thus is writable. Fixes #343196
4829
4830 2006-07-04  Jan Schmidt  <thaytan@mad.scientist.com>
4831
4832         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
4833         (gst_file_src_init), (gst_file_src_set_property),
4834         (gst_file_src_get_property), (gst_file_src_map_region):
4835         * plugins/elements/gstfilesrc.h:
4836         Add "sequential" property, off by default, to use madvise and hint
4837         to the kernel that sequential access is desired.
4838         Touch all retrieved pages by default to ensure they are pulled
4839         into memory. (Closes #345720)
4840
4841 2006-07-03  Wim Taymans  <wim@fluendo.com>
4842
4843         * docs/design/part-block.txt:
4844         * docs/design/part-dynamic.txt:
4845         Small docs updates.
4846
4847 2006-07-03  Wim Taymans  <wim@fluendo.com>
4848
4849         * gst/gstcaps.c: (gst_caps_new_empty), (_gst_caps_free),
4850         (gst_caps_unref), (gst_static_caps_get),
4851         (gst_caps_append_structure):
4852         * gst/gstclock.c: (gst_clock_entry_new), (_gst_clock_id_free):
4853         Use GSlice when the glib we build against is >= 2.10
4854
4855 2006-07-03  Wim Taymans  <wim@fluendo.com>
4856
4857         * gst/gstelement.c: (gst_element_pads_activate):
4858         Small cleanup in pad activation code.
4859
4860 2006-07-03  Wim Taymans  <wim@fluendo.com>
4861
4862         Patch by: Peter Kjellerstedt <pkj at axis dot com>
4863
4864         * gst/gst-i18n-app.h:
4865         * gst/gst-i18n-lib.h:
4866         * tools/gst-inspect.c: (print_signal_info):
4867         The attached patch will make the inclusion of gettext.h unconditional in
4868         gst/gst-i18n-app.h and gst/gst-i18n-lib.h, and it will remove the inclusion of
4869         libintl.h in tools/gst-inspect.c.
4870         This allows use of --disable-nls again and fixes #344642.
4871
4872 2006-07-03  Edward Hervey  <edward@fluendo.com>
4873
4874         * gst/gstpad.c: (handle_pad_block), (gst_pad_push_event):
4875         Implement pad blocking on events according to part-block.txt.
4876         More comments on behaviour.
4877         * tests/check/gst/gstevent.c: (test_event):
4878         Send event to peer pad of blocked pad (else it will block).
4879
4880 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
4881
4882         * libs/gst/check/gstcheck.c: (gst_check_message_error),
4883         (gst_check_run_suite):
4884           if we get the wrong message, give us the types as string
4885         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
4886           Fix a translatable
4887         * tests/check/elements/filesrc.c: (GST_START_TEST):
4888           add a test for trying to open a non-existing file
4889
4890 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
4891
4892         * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
4893           add a test for adding self
4894
4895 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
4896
4897         * libs/gst/check/gstcheck.h:
4898           add some assert_ as alias for fail_unless_*
4899         * tests/check/gst/gst.c: (GST_START_TEST), (gst_suite):
4900           increase test coverage
4901
4902 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4903
4904         * Makefile.am:
4905           include lcov.mak for lcov coverage generation
4906         * tools/Makefile.am:
4907           add to CLEANFILES
4908
4909 2006-07-02  Edward Hervey  <edward@fluendo.com>
4910
4911         * tests/check/elements/.cvsignore:
4912         moaping
4913
4914 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4915
4916         * configure.ac:
4917           don't set CFLAGS and friends for gcov, done from GST_GCOV now
4918         * tests/check/Makefile.am:
4919           clean up gcov files
4920
4921 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4922
4923         * gst/gstcaps.c: (gst_caps_remove_and_get_structure):
4924           remove gst_caps_simplify; it was not declared and not used
4925           and deprecated in 0.8
4926
4927 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4928
4929         * docs/faq/gst-uninstalled:
4930           don't put empty paths on PYTHONPATH
4931         * docs/gst/gstreamer-sections.txt:
4932           remove some symbols that are not there
4933
4934 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4935
4936         * gst/gstcaps.c: (gst_caps_compare_structures):
4937           whitespace fixes
4938         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
4939         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
4940           add more tests
4941
4942 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4943
4944         * libs/gst/dataprotocol/Makefile.am:
4945           build dataprotocol test by linking to the lib, instead of
4946           compiling the source, so we get coverage
4947         * tests/check/Makefile.am:
4948         * tests/check/elements/filesrc.c: (event_func), (setup_filesrc),
4949         (cleanup_filesrc), (GST_START_TEST), (filesrc_suite):
4950           add a test for filesrc
4951
4952 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4953
4954         * tests/check/gst/gststructure.c: (GST_START_TEST),
4955         (gst_structure_suite):
4956           Push coverage from 59.04% to 70.00%
4957
4958 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4959
4960         * tests/check/Makefile.am:
4961           gst-inspect every element; this makes sure that we also get
4962           coverage on element's get/set functions
4963
4964 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4965
4966         * configure.ac:
4967           set CFLAGS and friends to -O0 if gcov is being used
4968           add GCOV LIBS
4969         * gst/Makefile.am:
4970         * libs/gst/base/Makefile.am:
4971         * libs/gst/check/Makefile.am:
4972         * libs/gst/controller/Makefile.am:
4973         * libs/gst/dataprotocol/Makefile.am:
4974         * libs/gst/net/Makefile.am:
4975         * plugins/elements/Makefile.am:
4976         * plugins/indexers/Makefile.am:
4977           add makefile rules to generate gcov data and clean up
4978         * tests/check/Makefile.am:
4979           add a coverage target that generates an html overview
4980           of coverage data
4981
4982 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
4983
4984         * tests/check/elements/fakesink.c:
4985         * tests/check/elements/fakesrc.c:
4986         * tests/check/elements/fdsrc.c:
4987         * tests/check/elements/identity.c:
4988         * tests/check/generic/sinks.c: (gst_sinks_suite):
4989         * tests/check/generic/states.c:
4990         * tests/check/gst/gst.c:
4991         * tests/check/gst/gstabi.c:
4992         * tests/check/gst/gstbin.c:
4993         * tests/check/gst/gstbuffer.c: (gst_buffer_suite):
4994         * tests/check/gst/gstbus.c: (gst_bus_suite):
4995         * tests/check/gst/gstcaps.c: (GST_START_TEST):
4996         * tests/check/gst/gstelement.c:
4997         * tests/check/gst/gstevent.c: (gst_event_suite):
4998         * tests/check/gst/gstghostpad.c:
4999         * tests/check/gst/gstiterator.c: (gst_iterator_suite):
5000         * tests/check/gst/gstmessage.c: (gst_message_suite):
5001         * tests/check/gst/gstminiobject.c:
5002         * tests/check/gst/gstobject.c:
5003         * tests/check/gst/gstpad.c:
5004         * tests/check/gst/gstpipeline.c:
5005         * tests/check/gst/gstplugin.c:
5006         * tests/check/gst/gstquery.c: (gst_query_suite):
5007         * tests/check/gst/gstsegment.c: (gst_segment_suite):
5008         * tests/check/gst/gststructure.c:
5009         * tests/check/gst/gstsystemclock.c:
5010         * tests/check/gst/gsttag.c:
5011         * tests/check/gst/gsttask.c: (gst_task_suite):
5012         * tests/check/gst/gstutils.c:
5013         * tests/check/gst/gstvalue.c:
5014         * tests/check/libs/adapter.c:
5015         * tests/check/libs/basesrc.c:
5016         * tests/check/libs/collectpads.c:
5017         * tests/check/libs/controller.c:
5018         * tests/check/libs/gdp.c: (gst_dp_suite):
5019         * tests/check/libs/gstnetclientclock.c:
5020         * tests/check/libs/gstnettimeprovider.c:
5021         * tests/check/libs/libsabi.c: (libsabi_suite):
5022         * tests/check/libs/typefindhelper.c:
5023         * tests/check/pipelines/cleanup.c:
5024         * tests/check/pipelines/parse-launch.c:
5025         * tests/check/pipelines/simple-launch-lines.c:
5026         * tests/check/pipelines/stress.c: (stress_suite):
5027           use the new macro
5028
5029 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
5030
5031         * libs/gst/check/gstcheck.c: (gst_check_run_suite):
5032         * libs/gst/check/gstcheck.h:
5033           create a macro and function so that the simple unit test
5034           case can be just one macro to create main()
5035
5036 2006-06-30  Tim-Philipp Müller  <tim at centricular dot net>
5037
5038         * gst/gstbin.c: (gst_bin_restore_thyself):
5039         * gst/gstxml.c: (gst_xml_make_element):
5040           Fix deserialisation from XML. Set parent manually
5041           instead of using gst_bin_add(), since gst_bin_add()
5042           will unlink all pads of the element being added.
5043           Fixes #341667.
5044
5045 2006-06-28  Tim-Philipp Müller  <tim at centricular dot net>
5046
5047         Patch by: Peter Kjellerstedt <pkj at axis com>
5048
5049         * gst/gst.c: (prepare_for_load_plugin_func), (split_and_iterate):
5050           Fix missing g_strdup() and double free when using the
5051           --gst-plugin-load command line option (#346097).
5052
5053 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
5054
5055         * gst/gstinfo.c:
5056           Promote GST_DEBUG_CATEGORY_STATIC in example in docs.
5057
5058         * libs/gst/net/gstnetclientclock.c:
5059         * libs/gst/net/gstnettimeprovider.c:
5060           Use GST_DEBUG_CATEGORY_STATIC here too (#342503).
5061
5062 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
5063
5064         * docs/manual/advanced-dataaccess.xml:
5065           Fix buffer probe example compilation in
5066           ADM (#345708).
5067         
5068 2006-06-22  Edward Hervey  <edward@fluendo.com>
5069
5070         * gst/gstelement.c: (gst_element_pads_activate):
5071         We need to deactivate src pads first and then sink pads.
5072         The reason is the src pads might be blocking while holding the streaming
5073         lock, so we need to deactivate them first so that deactivating the sink
5074         pads doesn't block (since it will require the streaming lock).
5075
5076 2006-06-22  Wim Taymans  <wim@fluendo.com>
5077
5078         * libs/gst/base/gstbasetransform.c:
5079         (gst_base_transform_buffer_alloc):
5080         Forgot to remove two unneeded unrefs.
5081         Simplify a check _is_equal allready checks the obvious case.
5082
5083 2006-06-22  Wim Taymans  <wim@fluendo.com>
5084
5085         * docs/design/part-block.txt:
5086         Some docs about what pad_block should do.
5087
5088 2006-06-22  Wim Taymans  <wim@fluendo.com>
5089
5090         * gst/gstcaps.c: (gst_caps_replace):
5091         Fix crasher when passed NULL. Doc clarification.
5092         Optimize for the trivial case.
5093
5094         * gst/gstpipeline.c: (gst_pipeline_change_state):
5095         Small cleanups.
5096
5097         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
5098         Small documentation cleanup.
5099
5100         * libs/gst/base/gstbasetransform.c:
5101         (gst_base_transform_buffer_alloc):
5102         Don't use silly gst_pad_get_negotiated_caps, GST_PAD_CAPS
5103         is what we need and it avoids a whole lot of redundant 
5104         refcount operations.
5105
5106 2006-06-22  Tim-Philipp Müller  <tim at centricular dot net>
5107
5108         Patch by: Philip Jägenstedt  <philip at lysator liu se>
5109
5110         * docs/manual/advanced-dataaccess.xml:
5111           Fix 'Embedding static elements' section to use
5112           GST_PLUGIN_DEFINE_STATIC (#345607).
5113
5114 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
5115
5116         * tests/check/pipelines/simple-launch-lines.c: (test_stop_from_app):
5117           Attempt to 'fix' spuriously failing test case: it seems like the
5118           timeout of half a second is simply too small when the system is under
5119           load otherwise, and the timeout doesn't really seem to serve any
5120           particular purpose here. Give the pipeline a few seconds to preroll
5121           first, and then give it another half a second to go from PAUSED to
5122           PLAYING and marshal the message into the main thread.
5123
5124 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
5125
5126         * tools/gst-feedback-m.m:
5127           Don't only use unversioned tools, try versioned tools as well
5128           (#345086).
5129
5130 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
5131
5132         * gst/gstbus.c: (gst_bus_class_init):
5133           Fix some typos, make docs more explicit.
5134
5135 2006-06-20  Wim Taymans  <wim@fluendo.com>
5136
5137         * tests/check/gst/gstghostpad.c: (block_callback),
5138         (GST_START_TEST), (gst_ghost_pad_suite):
5139         Added some more ghostpad tests, mainly blocking
5140         and probes.
5141
5142 2006-06-16  Wim Taymans  <wim@fluendo.com>
5143
5144         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
5145         (gst_file_sink_close_file), (gst_file_sink_do_seek),
5146         (gst_file_sink_event), (gst_file_sink_render):
5147         * plugins/elements/gstfilesink.h:
5148         Check if we can seek in the file instead of assuming
5149         we always can. Post an error when we are asked to seek in a
5150         non-seekable file (like a fifo). Fixes #343312.
5151         Some cleanups.
5152
5153 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
5154
5155         * tools/gst-launch.1.in:
5156           Un-garble (fourcc) bit in filtered caps section.
5157
5158 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
5159
5160         * docs/manual/advanced-autoplugging.xml:
5161         * docs/manual/basics-helloworld.xml:
5162         * docs/manual/highlevel-components.xml:
5163           Don't leak bus reference in sample code.
5164
5165 2006-06-15  Tim-Philipp Müller  <tim at centricular dot net>
5166
5167         * autogen.sh:
5168           Add default for new --enable-plugin-docs switch.
5169
5170         * configure.ac:
5171           Use new GST_PLUGIN_DOCS macro to check for pyxml etc.
5172           Fixes #344039.
5173
5174         * docs/Makefile.am:
5175           Use new ENABLE_PLUGIN_DOCS conditional.
5176
5177 2006-06-14  Wim Taymans  <wim@fluendo.com>
5178
5179         * gst/gstbin.c: (bin_query_duration_done), (gst_bin_query):
5180         Make it clear with a FIXME and a real define what the #if 0
5181         previously disabled.
5182
5183 2006-06-14  Wim Taymans  <wim@fluendo.com>
5184
5185         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
5186         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
5187         * libs/gst/base/gstbasetransform.c:
5188         (gst_base_transform_sink_eventfunc):
5189         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
5190         Don't randomly and silently reset a segment when the format 
5191         changes as this is a bug somewhere upstream. Fixes #330379.
5192
5193 2006-06-14  Tim-Philipp Müller  <tim at centricular dot net>
5194
5195         Patch by: Wouter Paesen  <wouter at kangaroot net>
5196
5197         * libs/gst/controller/gstcontroller.c:
5198         (gst_controlled_property_new):
5199           Fix controlling of float properties (#344849).
5200
5201         * tests/check/libs/controller.c:
5202         (gst_test_mono_source_get_property),
5203         (gst_test_mono_source_set_property),
5204         (gst_test_mono_source_class_init), (GST_START_TEST):
5205           While we're at it, add some float stuff to unit test.
5206
5207 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
5208
5209         * docs/README:
5210         * docs/images/gdp-header.svg:
5211           add a gdp image
5212         * docs/libs/Makefile.am:
5213         * docs/libs/gdp-header.png:
5214         * libs/gst/dataprotocol/dataprotocol.c:
5215           add it to the API docs
5216         * docs/manual/intro-motivation.xml:
5217           fix typo
5218
5219 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
5220
5221         * gst/gst.c: (scan_and_update_registry), (init_post):
5222           If the fork()'ed child process can't write the updated registry cache
5223           file to disk for some reason, make it exit with a failure exit code,
5224           so that the parent can then re-scan the plugins itself and update the
5225           registry structures in memory and work with that (rather than failing
5226           when creating elements because seemingly no plugins are available).
5227           Refactor registry scanning code into separate function for this and
5228           also separate fork() and non-fork() code paths. Fixes #344748.
5229
5230 2006-06-13  Wim Taymans  <wim@fluendo.com>
5231
5232         * docs/manual/advanced-dataaccess.xml:
5233         Fix wrong PluginDesc. Fixes #344755.
5234
5235 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
5236
5237         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
5238           Fix silly bug that prevented us from creating
5239           ~/.gstreamer-0.10 and writing the registry in one
5240           go (the first call to g_mkstemp() would overwrite the
5241           placeholder in the template string, so the second call
5242           to g_mkstemp() after creating the missing directory
5243           would then error out with 'invalid argument').
5244
5245 2006-06-13  Edward Hervey  <edward@fluendo.com>
5246
5247         * gst/gst.c: (init_post):
5248         Free string.
5249
5250 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
5251
5252         * gst/glib-compat-private.h:
5253         * gst/glib-compat.c:
5254         * gst/glib-compat.h:
5255         * gst/gstvalue.c: (gst_value_serialize_flags):
5256           remove GLib 2.6 compatibility code
5257
5258 2006-06-12  Tim-Philipp Müller  <tim at centricular dot net>
5259
5260         * gst/parse/Makefile.am:
5261           Fix build with 'make -j N' even more (#340016).
5262
5263 2006-06-12  Wim Taymans  <wim@fluendo.com>
5264
5265         * docs/gst/gstreamer-sections.txt:
5266         Fix docs.
5267
5268 2006-06-12  Wim Taymans  <wim@fluendo.com>
5269
5270         * gst/gstsegment.c: (gst_segment_set_duration),
5271         (gst_segment_set_last_stop), (gst_segment_set_seek),
5272         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
5273         (gst_segment_to_running_time), (gst_segment_clip):
5274         Use G_UNLIKELY to help the compiler a bit.
5275
5276 2006-06-12  Wim Taymans  <wim@fluendo.com>
5277
5278         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
5279
5280         * gst/gstevent.c: (gst_event_get_type):
5281         * gst/gstmessage.c:
5282         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
5283         (gst_pad_push):
5284         constify quark registration strings. Fixes #344115
5285         Avoid unneeded type checking is _pad_push() by internally
5286         calling gst_pad_chain_unchecked().
5287
5288 2006-06-12  Wim Taymans  <wim@fluendo.com>
5289
5290         * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_finalize),
5291         (_gst_buffer_copy), (gst_buffer_is_metadata_writable),
5292         (gst_subbuffer_finalize), (gst_buffer_create_sub),
5293         (gst_buffer_is_span_fast), (gst_buffer_span):
5294         Init _type for consistency.
5295         Use _FLAGS macro to avoid type check.
5296         Avoid unneeded type checks in subbufer code.
5297
5298 2006-06-12  Wim Taymans  <wim@fluendo.com>
5299
5300         * gst/gst.c: (gst_debug_help):
5301         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_list_free):
5302         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
5303         (gst_plugin_feature_list_free):
5304         * gst/gstregistry.c: (gst_registry_add_plugin),
5305         (gst_registry_add_feature), (gst_registry_plugin_filter),
5306         (gst_registry_feature_filter), (gst_registry_find_plugin),
5307         (gst_registry_find_feature), (gst_registry_get_plugin_list),
5308         (gst_registry_lookup_feature_locked), (gst_registry_lookup_locked):
5309         * gst/gstregistryxml.c: (load_feature),
5310         (gst_registry_xml_read_cache), (gst_registry_xml_write_cache):
5311         * gst/gstminiobject.c: (gst_mini_object_unref),
5312         (gst_mini_object_replace), (gst_value_mini_object_free),
5313         (gst_value_mini_object_copy):
5314         Use _CAST macros to avoid unneeded type checking.
5315         Added some more G_UNLIKELY.
5316
5317 2006-06-12  Wim Taymans  <wim@fluendo.com>
5318
5319         * gst/gstbuffer.h:
5320         Avoid unneeded type checking.
5321         API: GST_BUFFER_IS_DISCONT
5322
5323         * gst/gstminiobject.h:
5324         Avoid type check in flag accessor.
5325
5326         * gst/gstelementfactory.h:
5327         * gst/gstplugin.h:
5328         * gst/gstpluginfeature.h:
5329         Add _CAST macros.
5330         API: GST_ELEMENT_FACTORY_CAST
5331         API: GST_PLUGIN_CAST
5332         API: GST_PLUGIN_FEATURE_CAST
5333
5334 2006-06-12  Wim Taymans  <wim@fluendo.com>
5335
5336         * gst/gstobject.c: (gst_object_get_type), (gst_object_ref),
5337         (gst_object_unref):
5338         Add G_UNLIKELY in type registration.
5339         Avoid type check in _ref/_unref since that is also
5340         done in glib.
5341
5342 2006-06-12  Wim Taymans  <wim@fluendo.com>
5343
5344         * gst/gsterror.c: (gst_g_error_get_type):
5345         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
5346         (gst_static_pad_template_get_type):
5347         * gst/gsttaglist.c: (gst_tag_list_get_type):
5348         * gst/gsttagsetter.c: (gst_tag_setter_get_type):
5349         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type):
5350         * gst/gsturi.c: (gst_uri_handler_get_type):
5351         * gst/gstvalue.c: (gst_date_get_type):
5352         * gst/gstxml.c: (gst_xml_get_type):
5353         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
5354         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
5355         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type):
5356         Add G_UNLIKELY in type registration.
5357
5358 2006-06-12  Wim Taymans  <wim@fluendo.com>
5359
5360         * tools/gst-inspect.c: (print_signal_info):
5361         Properly print enum values.
5362
5363 2006-06-12  Wim Taymans  <wim@fluendo.com>
5364
5365         * gst/gstinfo.c: (gst_debug_set_active),
5366         (gst_debug_category_set_threshold), (_gst_debug_nameof_funcptr):
5367         * gst/gstinfo.h:
5368         Add some G_[UN]LIKELY.
5369         Maintain __gst_debug_min to avoid formatting the arguments of
5370         debug messages that will be dropped anyway to avoid a lot of 
5371         overhead from the debugging system.
5372
5373 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
5374
5375         * po/POTFILES.in:
5376         * po/POTFILES.skip:
5377           add missing files containing translatable strings, tell intltool about
5378           one exception
5379
5380 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
5381
5382         * tests/check/libs/.cvsignore:
5383         add test-binary to ignore list
5384
5385 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
5386
5387         * docs/libs/gstreamer-libs-docs.sgml:
5388         reorder (put dp into a chapter) and indent
5389
5390 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5391
5392         * configure.ac:
5393           back to HEAD
5394
5395 === release 0.10.8 ===
5396
5397 2006-06-10  Thomas Vander Stichele <thomas at apestaart dot org>
5398
5399         * configure.ac:
5400           releasing 0.10.8, "Soepeke, ik zie ou nog altijd nie"
5401
5402 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5403
5404         * gst/gst.c: (init_post):
5405           move pid declaration to declaration block
5406
5407 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5408
5409         * gst/gst.c: (init_post):
5410           use _exit() instead of exit() in our forked child; this ensures
5411           that none of the registered exit handlers from whatever is using
5412           GStreamer get executed.  This fixes gnome-mixer-applet failing
5413           to load, because ORBit would shut down.
5414           Spotted by: Edward Hervey  <edward@fluendo.com>
5415           Fix suggested by: Tim-Philipp Müller  <tim at centricular dot net>
5416           Fixes #344474
5417
5418 2006-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
5419
5420         * configure.ac:
5421           back to TRUNK
5422
5423 === release 0.10.7 ===
5424
5425 2006-06-09  Thomas Vander Stichele <thomas at apestaart dot org>
5426
5427         * configure.ac:
5428           releasing 0.10.7, "Soepeke, ik zie ou"
5429
5430 2006-06-07  Thomas Vander Stichele  <thomas at apestaart dot org>
5431
5432         * configure.ac:
5433         * po/af.po:
5434         * po/az.po:
5435         * po/bg.po:
5436         * po/ca.po:
5437         * po/cs.po:
5438         * po/de.po:
5439         * po/en_GB.po:
5440         * po/fr.po:
5441         * po/it.po:
5442         * po/nb.po:
5443         * po/nl.po:
5444         * po/ru.po:
5445         * po/sq.po:
5446         * po/sr.po:
5447         * po/sv.po:
5448         * po/tr.po:
5449         * po/uk.po:
5450         * po/vi.po:
5451         * po/zh_CN.po:
5452         * po/zh_TW.po:
5453         * win32/common/config.h:
5454           0.10.6.2 prerelease
5455
5456 2006-06-07  Wim Taymans  <wim@fluendo.com>
5457
5458         * gst/gstindex.c: (gst_index_gtype_resolver):
5459         * tools/gst-xmlinspect.c: (print_plugin_info):
5460         Fix leak spotted by coverity checker. Fixes #343827
5461         Fix another other leak found by paolo borelli.
5462
5463 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5464
5465         * libs/gst/dataprotocol/dataprotocol.c:
5466         (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
5467         (gst_dp_version_get_type), (gst_dp_init),
5468         (gst_dp_header_from_buffer), (gst_dp_header_from_buffer_1_0),
5469         (gst_dp_packet_from_caps), (gst_dp_packet_from_caps_1_0),
5470         (gst_dp_packet_from_event), (gst_dp_packet_from_event_1_0),
5471         (gst_dp_event_from_packet_0_2), (gst_dp_event_from_packet_1_0),
5472         (gst_dp_event_from_packet), (gst_dp_packetizer_new),
5473         (gst_dp_packetizer_free):
5474         * libs/gst/dataprotocol/dataprotocol.h:
5475           API: add a GstDPPacketizer object, and create/free functions
5476           API: add GstDPVersion enum
5477           Add 1.0 event function that uses the string serialization
5478           Serialize more useful buffer flags
5479           Fixes #343988
5480
5481 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5482
5483         * tests/check/Makefile.am:
5484         * tests/check/gst/gstabi.c:
5485         * tests/check/gst/struct_ppc64.h:
5486         * tests/check/libs/libsabi.c:
5487         * tests/check/libs/struct_ppc64.h:
5488           add ppc64 structure sizes
5489
5490 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5491
5492         * tests/check/Makefile.am:
5493         * tests/check/gst/gstabi.c:
5494         * tests/check/gst/struct_x86_64.h:
5495         * tests/check/libs/libsabi.c:
5496         * tests/check/libs/struct_x86_64.h:
5497           generate and add structure size lists for x86_64
5498
5499 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5500
5501         * libs/gst/check/gstcheck.c: (gst_check_abi_list):
5502         * libs/gst/check/gstcheck.h:
5503           factor out the method from tests that checks size of structures,
5504           and add code to generate the header containing these sizes
5505         * tests/check/gst/gstabi.c: (GST_START_TEST):
5506         * tests/check/gst/struct_i386.h:
5507         * tests/check/libs/libsabi.c: (GST_START_TEST):
5508         * tests/check/libs/struct_i386.h:
5509           use it
5510
5511 2006-06-06  Michael Smith  <msmith@fluendo.com>
5512
5513         * gst/gstsegment.h:
5514           Don't use c++-style comments, fixes #343929
5515
5516 2006-06-05  Edward Hervey  <edward@fluendo.com>
5517
5518         * gst/gst.c:
5519         plugin_paths is not used if we build without registry support.
5520
5521         * gst/gstsegment.c: (gst_segment_copy): 
5522         _copy() was always returning NULL...
5523
5524 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5525
5526         * libs/gst/dataprotocol/dataprotocol.c:
5527         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
5528         (gst_dp_packet_from_event):
5529           factor out CRC code
5530
5531 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5532
5533         * libs/gst/check/gstcheck.c: (gst_check_teardown_src_pad):
5534           make sure we unset caps
5535
5536 2006-06-02  Michael Smith  <msmith@fluendo.com>
5537
5538         * libs/gst/check/gstcheck.c: (gst_check_init),
5539         (gst_check_chain_func):
5540         * libs/gst/check/gstcheck.h:
5541           Add a cond/mutex to the check support lib, signal this whenever we
5542           add to the buffers list. This will allow tests to not busy-wait on
5543           the buffer-list.
5544
5545 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5546
5547         * libs/gst/dataprotocol/dataprotocol.c:
5548         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
5549         (gst_dp_packet_from_event):
5550           factor out some common header init code
5551
5552 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5553
5554         * docs/libs/gstreamer-libs-sections.txt:
5555         * docs/libs/tmpl/gstdataprotocol.sgml:
5556         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
5557         * libs/gst/dataprotocol/dataprotocol.h:
5558           API: make gst_dp_crc() public
5559
5560 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
5561
5562         * plugins/indexers/gstindexers.c: (plugin_init):
5563         conditionally register fileindexer (fixes #343598)
5564
5565 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
5566
5567         * gst/gsttagsetter.h:
5568         Can't cast ifaces to a class
5569
5570         * libs/gst/net/gstnetclientclock.h:
5571         * libs/gst/net/gstnettimeprovider.h:
5572         * plugins/elements/gstfakesink.h:
5573         * plugins/elements/gstfakesrc.h:
5574         * plugins/elements/gstfdsink.h:
5575         * plugins/elements/gstfdsrc.h:
5576         * plugins/elements/gstfilesink.h:
5577         * plugins/elements/gstfilesrc.h:
5578         * plugins/elements/gstidentity.h:
5579         * plugins/elements/gstqueue.h:
5580         * plugins/elements/gsttee.h:
5581         * plugins/indexers/gstfileindex.c:
5582         * plugins/indexers/gstmemindex.c:
5583         * tests/old/examples/plugins/example.h:
5584         Fix more gobject macros: obj<->klass, GstXXX<->GstXXXClass
5585
5586 2006-06-01  Thomas Vander Stichele  <thomas at apestaart dot org>
5587
5588         * libs/gst/dataprotocol/dataprotocol.c:
5589         (gst_dp_header_from_buffer):
5590           make sure we zero the whole ABI-compatible area
5591
5592 2006-06-01  Wim Taymans  <wim@fluendo.com>
5593
5594         Patch by: Alessandro Decina <alessandro at nnva dot org>
5595
5596         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop):
5597         Make sure the EOS flag is cleared from pads after a flush
5598         or stop. Fixes #343538.
5599
5600         * tests/check/libs/collectpads.c: (GST_START_TEST),
5601         (gst_collect_pads_suite):
5602         Added test for collectpads reusage after EOS.
5603
5604 2006-05-30  Sebastien Moutte  <sebastien@moutte.net>
5605
5606         * gst/gst.c:
5607          set #include <sys/wait.h> in a #ifdef #ifdef HAVE_FORK
5608         * win32/common/libgstbase.def:
5609          export gst_collect_pads_set_flushing
5610         * win32/common/libgstreamer.def:
5611          export gst_pad_set_acceptcaps_function, gst_structure_empty_new,
5612          gst_value_fraction_multiply
5613         * win32/vs6/gst_inspect.dsp:
5614          add a link to intl.lib
5615
5616 2006-05-30  Wim Taymans  <wim@fluendo.com>
5617
5618         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
5619         (gst_collect_pads_chain):
5620         Handle the case where a pad is removed from the collection
5621         that could cause the other pads to become collectable.
5622
5623 2006-05-30  Wim Taymans  <wim@fluendo.com>
5624
5625         * gst/gstelement.c:
5626         Clarify the use of _release_request_pad() and
5627         _get_request_pad() a bit better.
5628
5629         * libs/gst/base/gstadapter.c: (gst_adapter_peek),
5630         (gst_adapter_take_buffer):
5631         Fix some doc and comment typos.
5632
5633 2006-05-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5634
5635         * docs/gst/gstreamer-sections.txt:
5636         * docs/libs/gstreamer-libs-sections.txt:
5637           add declared symbols
5638
5639 2006-05-30  Jan Schmidt  <thaytan@mad.scientist.com>
5640
5641         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
5642         Add debug that can be enabled using a #define at the top of the file,
5643         for dumping stats about how late/early we were when waking up from
5644         waiting on the clock.
5645
5646 2006-05-30  Wim Taymans  <wim@fluendo.com>
5647
5648         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_check_pads):
5649         When rebuilding the pad list, don't leak the previous list.
5650
5651 2006-05-30  Wim Taymans  <wim@fluendo.com>
5652
5653         Patch by: Lutz Mueller <lutz at topfrose dot de>
5654
5655         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
5656         (gst_base_src_get_query_types), (gst_base_src_update_length):
5657         Publish supported query types.
5658         Update last_stop field in get_range mode so the position
5659         query works. Fixes #342321.
5660
5661 2006-05-30  Tim-Philipp Müller  <tim at centricular dot net>
5662
5663         * docs/gst/gstreamer-sections.txt:
5664         * gst/gsttaglist.c: (_gst_tag_initialize):
5665         * gst/gsttaglist.h:
5666           API: add GST_TAG_PREVIEW_IMAGE (#343341).
5667
5668 2006-05-30  Wim Taymans  <wim@fluendo.com>
5669
5670         Patch by: Alessandro Decina <alessandro at nnva dot org>
5671
5672         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
5673         Unlock mutex when removing an unknown pad.
5674         Fixes #343334.
5675
5676         * tests/check/Makefile.am:
5677         * tests/check/libs/collectpads.c: (collected_cb), (push_buffer),
5678         (push_event), (setup), (teardown), (GST_START_TEST),
5679         (gst_collect_pads_suite), (main):
5680         Added collecpads check, disabled for now as check crashes for
5681         some reason.
5682
5683 2006-05-29  Wim Taymans  <wim@fluendo.com>
5684
5685         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize):
5686         Don't leak pads lists.
5687
5688 2006-05-29  Wim Taymans  <wim@fluendo.com>
5689
5690         * docs/libs/gstreamer-libs-sections.txt:
5691         * libs/gst/base/gstcollectpads.c:
5692         (gst_collect_pads_set_flushing_unlocked),
5693         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
5694         (gst_collect_pads_stop):
5695         * libs/gst/base/gstcollectpads.h:
5696         API: gst_collect_pads_set_flushing()
5697         Added api to set the pads to flushing, useful for seeking
5698         code in elements using collectpads.
5699         Clear segment when receiving a flush.
5700
5701 2006-05-29  Tim-Philipp Müller  <tim at centricular dot net>
5702
5703         * gst/gst.c: (add_path_func), (init_post):
5704           Don't scan registry paths passed via --gst-plugin-path immediately
5705           (will crash, because absolutely nothing is set up and no types are
5706           registered etc.); do this later in init_post(). Fixes #343057.
5707
5708 2006-05-28  Thomas Vander Stichele  <thomas at apestaart dot org>
5709
5710         * gst/gst.c: (init_post):
5711           if we have fork, fork while reading/rebuilding the registry
5712           so the parent doesn't take the hit of having all plugins loaded
5713           in memory.  Fixes #342777.
5714         * configure.ac:
5715           Check if we have fork()
5716         * win32/common/config.h.in:
5717           no fork() on win32
5718
5719 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
5720
5721         * plugins/elements/gstelements.c:
5722         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
5723         (gst_file_src_init), (gst_file_src_set_property),
5724         (gst_file_src_get_property), (gst_file_src_start):
5725         * plugins/elements/gstfilesrc.h:
5726           API: GstFileSrc::use-mmap
5727
5728         Add a use-mmap property to enable easier testing of all code paths.
5729         Bump rank to PRIMARY, so filesrc is the preferred file reader and used
5730         in the absence of gnomevfssrc. (Closes #340501)
5731
5732 2006-05-26  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5733
5734         * tools/gst-inspect.c:
5735         Add missing include, removes warning of ngettext not being defined on
5736         some arches.
5737
5738 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
5739
5740         * gst/gstvalue.c: (gst_value_deserialize_fraction):
5741         Handle NULL input and output pointers silently as a failed conversion,
5742         rather than g_warnings.
5743
5744 2006-05-25  Wim Taymans  <wim@fluendo.com>
5745
5746         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_start):
5747         Initialize variable before using. Fixes #342820.
5748
5749 2006-05-24  Tim-Philipp Müller  <tim at centricular dot net>
5750
5751         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek):
5752           Fix off-by-one bug that would only allow peeks of N-1 bytes
5753           from the start even if the buffer to typefind on contains
5754           in fact N bytes of data (makes vorbis typefinding from a
5755           vorbis identification header buffer work).
5756
5757         * tests/check/Makefile.am:
5758         * tests/check/libs/.cvsignore:
5759         * tests/check/libs/typefindhelper.c: (GST_START_TEST),
5760         (gst_typefindhelper_suite), (main), (foobar_typefind),
5761         (plugin_init):
5762           Add very basic unit test for gst_type_find_helper_for_buffer()
5763           that checks for the problem fixed above.
5764
5765 2006-05-24  Thomas Vander Stichele  <thomas at apestaart dot org>
5766
5767         * tools/gst-inspect.c: (print_interfaces),
5768         (print_element_properties_info), (print_element_list), (main):
5769           add more translatable strings
5770
5771 2006-05-23  Tim-Philipp Müller  <tim at centricular dot net>
5772
5773         Patch by: Julien Moutte  <julien at moutte net>
5774
5775         * docs/gst/gstreamer-sections.txt:
5776           Make new GST_FLOW_IS_SUCCESS macro visible in docs.
5777           
5778         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
5779         (gst_fake_sink_preroll):
5780         * plugins/elements/gstfakesink.h:
5781           API: Add new GstFakeSink::preroll-handoff signal (#337100).
5782
5783 2006-05-23  Wim Taymans  <wim@fluendo.com>
5784
5785         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark):
5786         * gst/gstpad.h:
5787         Added _CUSTOM error and success GstFlowReturn that can be
5788         used be elements internally. 
5789         Added macro to check for SUCCESS flowreturns.
5790         API: GST_FLOW_CUSTOM_SUCCESS
5791         API: GST_FLOW_CUSTOM_ERROR
5792         API: GST_FLOW_IS_SUCCESS
5793
5794         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
5795         Added check for GstFlowReturn sanity.
5796
5797 2006-05-23  Wim Taymans  <wim@fluendo.com>
5798
5799         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
5800
5801         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
5802         (gst_collect_pads_event):
5803         clear/reset segment info in FLUSH_STOP.
5804         Fixes #336929.
5805
5806 2006-05-22  Stefan Kost  <ensonic@users.sf.net>
5807
5808         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop),
5809         (gst_collect_pads_check_collected):
5810         Flush queued buffer on _stop(), fixes playing again (#342454)
5811
5812 2006-05-22  Thomas Vander Stichele  <thomas at apestaart dot org>
5813
5814         * tests/check/gst/gststructure.c: (GST_START_TEST),
5815         (gst_structure_suite):
5816           add a test for a complete structure
5817
5818 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
5819
5820         * docs/faq/developing.xml:
5821         * docs/faq/faq.xml:
5822         * docs/faq/troubleshooting.xml:
5823         * docs/faq/using.xml:
5824           Some minor FAQ updates that won't change the fact that
5825           our FAQ is badly structured, full of information hardly
5826           anyone new to GStreamer needs to know and lacking lots
5827           of information people constantly ask for.
5828           
5829 2006-05-19  Jan Schmidt  <thaytan@mad.scientist.com>
5830
5831         * gst/gstpad.c: (gst_pad_set_caps):
5832           Short-circuit gst_pad_set_caps if setting the existing
5833           caps pointer again, and avoid printing debug and 
5834           reffing/unreffing the caps.
5835
5836         * plugins/elements/gstqueue.c: (gst_queue_push_one):
5837           There's actually no need to set the caps before pushing -
5838           the acceptcaps method will handle it anyway.
5839
5840 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
5841
5842         * docs/gst/gstreamer-sections.txt:
5843         * win32/common/libgstreamer.def:
5844         * gst/gstutils.c: (gst_element_seek_simple):
5845         * gst/gstutils.h:
5846           API: add gst_element_seek_simple() (#342238).
5847
5848 2006-05-18  Edward Hervey  <edward@fluendo.com>
5849
5850         * gst/gsttypefind.c: (gst_type_find_get_type):
5851         * gst/gsttypefind.h:
5852         Added GST_TYPE_TYPE_FIND and gst_type_find_get_type() so a GType gets
5853         registered for GstTypeFind pointers. This allows wrapping the structure
5854         in bindings (i.e. gst-python).
5855
5856 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
5857
5858         * gst/gsttagsetter.c:
5859           Docs additions and fixes (see #339918).
5860
5861 2006-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
5862
5863         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
5864         The caps intersection algorithm can produce multiple copies of the
5865         caps. Until that is fixed, we need to simplify the result to be
5866         sure whether the allowed caps are fixed or not.
5867
5868         * plugins/elements/gstqueue.c: (gst_queue_init),
5869         (gst_queue_bufferalloc), (gst_queue_acceptcaps),
5870         (gst_queue_push_one):
5871         Proxied buffer alloc should not set the caps on the source pad.
5872         When pushing buffers, we always accept the caps change that triggers.
5873         This prevents negotiation errors caused by caps changing mid-stream 
5874         and then being refused on our source pad (because upstream is now
5875         refusing those caps).
5876
5877 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
5878
5879         * tests/examples/helloworld/helloworld.c: (main):
5880           Must plug audioconvert and audioresample between decoder
5881           and audio sink.
5882
5883 2006-05-17  Jan Schmidt  <thaytan@mad.scientist.com>
5884
5885         * gst/gstregistryxml.c: (read_string), (load_pad_template),
5886         (load_feature), (load_plugin):
5887         Allow empty strings for some of the plugin fields so we don't 
5888         drop valid plugin entries that were written out correctly
5889         (Fixes #341479)
5890
5891 2006-05-17  Sebastien Moutte  <sebastien@moutte.net>
5892         
5893         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
5894           Use g_remove and g_rename instead of remove and rename that don't 
5895           handle utf8 characters. rename was failing for users who had specific
5896           characters in their name then the registry was built at each 
5897           gstreamer init.
5898         * win32/vs6/gst_inspect.dsp:
5899         * win32/vs6/gst_launch.dsp:
5900         * win32/vs6/libgstbase.dsp:
5901         * win32/vs6/libgstcoreelements.dsp:
5902         * win32/vs6/libgstreamer.dsp:
5903           Use a debug version of libxml2 (libxml2D.lib,libxml2D.dll) for DEBUG 
5904           build of libgstreamer and clean unused libraries in projects link 
5905           settings.
5906
5907 2006-05-17  Edward Hervey  <edward@fluendo.com>
5908
5909         * plugins/elements/gstqueue.c: (gst_queue_push_one):
5910         The queue is not responsible for pushing an EOS when receiving a fatal
5911         flow error. It's up to the real element driving the pipeline to do that.
5912
5913 2006-05-16  Edward Hervey  <edward@fluendo.com>
5914
5915         * plugins/elements/gstqueue.c: (gst_queue_push_one):
5916         The queue was posting a non-needed GST_MESSAGE_ERROR when pushing a
5917         buffer returned a fatal error. It should just send an EOS and stop
5918         its task.
5919         Upstream elements will then properly receive the GST_FLOW_UNEXPECTED
5920         when pushing buffers on the queue and will be able to handle the event.
5921
5922 2006-05-16  Tim-Philipp Müller  <tim at centricular dot net>
5923
5924         * docs/manual/basics-bins.xml:
5925         * docs/manual/basics-init.xml:
5926           Fix typos and minor errors in sample code (#341856).
5927
5928 2006-05-16  Wim Taymans  <wim@fluendo.com>
5929
5930         * docs/design/part-qos.txt:
5931         Fix indexes in formulas to make more sense.
5932
5933 2006-05-15  Wim Taymans  <wim@fluendo.com>
5934
5935         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
5936         Don't report POSITION based on clock time if sync is
5937         disabled in a sink.
5938
5939 2006-05-15  Tim-Philipp Müller  <tim at centricular dot net>
5940
5941         * gst/gstobject.h:
5942           Add cast to make compiler happy - refcount variable was a gint
5943           in GstObject but is a guint in GObject and g_atomic_int_get()
5944           wants a gint *.
5945
5946 2006-05-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5947
5948         * gst/parse/Makefile.am:
5949           chain commands using &&, which also makes parallel make work
5950
5951 2006-05-14  Tim-Philipp Müller  <tim at centricular dot net>
5952
5953         * docs/gst/gstreamer-sections.txt:
5954         * gst/gstevent.c:
5955         * gst/gstevent.h:
5956         * gst/gstmessage.h:
5957           Minor docs fixes.
5958
5959 === release 0.10.6 ===
5960
5961 2006-05-14  Jan Schmidt <thaytan@mad.scientist.com>
5962
5963         * configure.ac:
5964           releasing 0.10.6, "Take the cannoli"
5965
5966 2006-05-13  Tim-Philipp Müller  <tim at centricular dot net>
5967
5968         * tools/gst-launch.c: (print_tag):
5969           Fix use of uninitialized variable in the hypothetical
5970           case that some broken plugin creates a GST_TAG_IMAGE
5971           tag containing a NULL buffer (#341667).
5972
5973 2006-05-12  Tim-Philipp Müller  <tim at centricular dot net>
5974
5975         * tools/gst-launch.c: (print_tag):
5976           Print something more intelligible for image tags when
5977           using the -t switch (#341556).
5978
5979 2006-05-12  Thomas Vander Stichele  <thomas at apestaart dot org>
5980
5981         * Makefile.am:
5982           updates for win32
5983         * configure.ac:
5984           define GST_MAJORMINOR so we have it available in win32/common/config.h
5985           Possibly remove it from our Makefile.am files later
5986         * win32/common/config.h:
5987         * win32/common/config.h.in:
5988           added GST_MAJORMINOR
5989         * win32/common/gstenumtypes.c: (register_gst_resource_error):
5990         * win32/common/gstversion.h:
5991           updated
5992
5993 2006-05-12  Sebastien Moutte  <sebastien@moutte.net>
5994
5995         * win32/MANIFEST:
5996           Update win32 files listing.
5997         * win32/common/gstversion.h:
5998           Add GST_MAJORMINOR definition.
5999         * win32/common/libgstreamer.def:
6000           Add new exported functions.
6001           
6002 2006-05-12  Michael Smith  <msmith@fluendo.com>
6003
6004         * gst/gstplugin.c: (gst_plugin_load_file):
6005           If an so file has no plugin entry point, unload the module.
6006
6007 2006-05-11  Wim Taymans  <wim@fluendo.com>
6008
6009         * plugins/elements/gstqueue.c: (gst_queue_chain), (gst_queue_loop),
6010         (gst_queue_set_property):
6011         Don't forget to signal the _chain or _loop function 
6012         when the queue size or thresholds change since that might
6013         cause them to make progres again.
6014
6015 2006-05-11  Stefan Kost  <ensonic@users.sf.net>
6016
6017         * gst/gstclock.c: (gst_clock_class_init):
6018         * gst/gstindex.c: (gst_index_class_init):
6019         * gst/gstobject.c: (gst_object_class_init):
6020         * gst/gstpad.c: (gst_pad_class_init):
6021         * gst/gstpipeline.c: (gst_pipeline_class_init):
6022         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
6023         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
6024         * libs/gst/base/gstbasetransform.c:
6025         (gst_base_transform_class_init):
6026         * libs/gst/net/gstnetclientclock.c:
6027         (gst_net_client_clock_class_init):
6028         * libs/gst/net/gstnettimeprovider.c:
6029         (gst_net_time_provider_class_init):
6030         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
6031         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
6032         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
6033         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
6034         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
6035         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
6036         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
6037         * plugins/elements/gstidentity.c: (gst_identity_class_init):
6038         * plugins/elements/gsttee.c: (gst_tee_class_init):
6039         * tests/old/examples/plugins/example.c: (gst_example_class_init):
6040         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
6041           G_OBJECT_CLASS macro usage batch cleanup, fixes #337747 for core
6042
6043 2006-05-11  Wim Taymans  <wim@fluendo.com>
6044
6045         * gst/gstbuffer.c: (_gst_buffer_initialize):
6046         Register subbufer along with the buffer type so that
6047         it does not accidentally gets registered from N
6048         different streaming threads in a non threadsafe way.
6049
6050 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
6051
6052         * gst/gstbuffer.h:
6053         * gst/gstevent.h:
6054         * gst/gstmessage.h:
6055           Make gtk-doc generate docs for our inlined gst_buffer_ref(),
6056           gst_event_ref() and gst_message_ref() functions again
6057           (ugly hack, please do fix if there's a better way besides
6058           overrides.txt, which doesn't seem to work).
6059
6060 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
6061
6062         * libs/gst/check/gstcheck.h:
6063           add an assert for setting state to avoid lots of repetitive code
6064           in the future
6065
6066 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
6067
6068         * gst/gstvalue.c: (gst_value_serialize_flags):
6069           fix a leak if no flags are set
6070         * tests/check/gst/gstvalue.c: (GST_START_TEST):
6071           fix leak in tests
6072
6073 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
6074
6075         * docs/manual/basics-pads.xml:
6076           Expand a bit on caps and filtered links and update
6077           examples that were still using the no longer existing
6078           gst_pad_link_filtered() (#338206).
6079
6080 2006-05-10  Wim Taymans  <wim@fluendo.com>
6081
6082         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
6083         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
6084         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
6085         (gst_collect_pads_stop):
6086         * libs/gst/base/gstcollectpads.h:
6087         No need to call _stop in _finalize.
6088         Iterate the main pad list in _finalize.
6089         Added some more debug.
6090         Free lists and data in the right order.
6091         Also free data whem doing _remove_pad when stopped for
6092         backward compatibility protect ::started with PAD_LOCK as
6093         well.
6094
6095 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
6096
6097         * gst/gststructure.c: (gst_structure_gtype_from_abbr),
6098         (gst_structure_parse_value):
6099           add some comments
6100           rename a method so that it actually says what it does better
6101
6102 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
6103
6104         * gst/gstevent.c: (_gst_event_initialize):
6105         * gst/gstformat.c: (_gst_format_initialize):
6106           make sure some essential types used by events are registered
6107           as part of gst_init()
6108         * gst/gstvalue.c: (gst_value_serialize_flags):
6109           if no flags are set, serialize them to a value that represents NONE
6110           so that deserializing them works
6111         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
6112           add tests for serialization and deserialization of flags
6113
6114 2006-05-10  Wim Taymans  <wim@fluendo.com>
6115
6116         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_collect),
6117         (gst_collect_pads_collect_range), (gst_collect_pads_available),
6118         (gst_collect_pads_check_pads), (gst_collect_pads_check_collected),
6119         (gst_collect_pads_event), (gst_collect_pads_chain):
6120         Update docs.
6121         Better debug info.
6122         Catch and return errors from the collect function
6123         Refuse data on eos pads.
6124
6125 2006-05-10  Edward Hervey  <edward@fluendo.com>
6126
6127         * gst/gstinterface.h:
6128         GST_IMPLEMENTS_INTERFACE and GST_IS_IMPLEMENTS_INTERFACE use the normal
6129         GInterface type checking.
6130         They were previously using non-defined macros.
6131
6132 2006-05-09  Wim Taymans  <wim@fluendo.com>
6133
6134         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_init),
6135         (gst_collect_pads_finalize), (gst_collect_pads_add_pad),
6136         (gst_collect_pads_remove_pad), (gst_collect_pads_set_flushing),
6137         (gst_collect_pads_start), (gst_collect_pads_stop),
6138         (gst_collect_pads_peek), (gst_collect_pads_pop),
6139         (gst_collect_pads_available), (gst_collect_pads_read),
6140         (gst_collect_pads_flush), (gst_collect_pads_check_pads),
6141         (gst_collect_pads_is_collected), (gst_collect_pads_event),
6142         (gst_collect_pads_chain):
6143         * libs/gst/base/gstcollectpads.h:
6144         Clean up the mess that is collectpads, add comments and
6145         FIXMEs where needed.
6146         Maintain a separate pad list so we can add pads while
6147         collecting the other ones. For this we need a new separate 
6148         lock (see comics).
6149         Fix memory leak in finalize.
6150         Refactor some weird code to set/unset pad flushing flags, mark
6151         with comments.
6152         Don't crash in _available, _read, _flush when we're EOS.
6153
6154         * tests/check/libs/.cvsignore:
6155         Ignore adapter check binary.
6156
6157 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
6158
6159         * gst/gstindex.c: (gst_index_resolver_get_type):
6160         * plugins/elements/gstfakesink.c:
6161         (gst_fake_sink_state_error_get_type):
6162         * plugins/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
6163         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type):
6164         * plugins/elements/gstqueue.c: (queue_leaky_get_type):
6165           Const-ify GEnumValue arrays.
6166
6167 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
6168
6169         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
6170           Add test case for flags + gst_buffer_make_metadata_writable().
6171
6172 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
6173
6174         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable):
6175           gst_buffer_make_metadata_writable() should maintain the
6176           buffer flags (those that make sense at least) (see #340859).
6177
6178 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
6179
6180         * tools/gst-inspect.c:
6181         * tools/gst-launch.c:
6182         * tools/gst-typefind.c:
6183         * tools/gst-xmlinspect.c:
6184         * tools/tools.h:
6185           Fix up includes: need to include stdlib.h in tools.h for exit().
6186
6187 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
6188
6189         * gst/gsttaglist.c: (_gst_tag_initialize):
6190         * gst/gsttaglist.h:
6191           API: add GST_TAG_IMAGE tag (#340721).
6192
6193 2006-05-08  Wim Taymans  <wim@fluendo.com>
6194
6195         * gst/gstquery.c:
6196         Added some docs for the segment query.
6197
6198 2006-05-08  Wim Taymans  <wim@fluendo.com>
6199
6200         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
6201         (gst_base_src_loop), (gst_base_src_change_state):
6202         Always push non-flushing serialized events in the streaming 
6203         thread.
6204
6205 2006-05-08  Thomas Vander Stichele  <thomas at apestaart dot org>
6206
6207         * gst/gsterror.c: (_gst_stream_errors_init):
6208           Add a missing error string.
6209
6210 2006-05-08  Jan Schmidt  <thaytan@mad.scientist.com>
6211
6212         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment):
6213         Add applied_rate to the debug
6214
6215         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
6216         Copy applied_rate into the outgoing NEWSEGMENT event
6217
6218 2006-05-08  Wim Taymans  <wim@fluendo.com>
6219
6220         Patch by: Philippe Rouquier <philippero at libertysurf dot fr>
6221
6222         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
6223         (gst_base_sink_change_state):
6224         call ::unlock before taking the PREROLL_LOCK so we can safely
6225         handle elements that lock in ::render.
6226         Fixes #340174.
6227
6228 2006-05-08  Edward Hervey  <edward@fluendo.com>
6229
6230         * autogen.sh: (CONFIGURE_DEF_OPT): 
6231         Darwin's libtoolize is in fact called glibtoolize.
6232         Adding glibtoolize to the list of accepted names for libtoolize.
6233
6234 2006-05-08  Wim Taymans  <wim@fluendo.com>
6235
6236         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
6237         Unify error handling, don't post an error message
6238         when a push() returns EOS but perform our normal EOS
6239         handling code. Fixes #340772.
6240
6241 2006-05-08  Wim Taymans  <wim@fluendo.com>
6242
6243         * docs/design/part-overview.txt:
6244         Make upsteam/downstream concepts more clear.
6245         Give an example of serialized/non-serialized events.
6246
6247         * docs/design/part-events.txt:
6248         * docs/design/part-streams.txt:
6249         Mention applied_rate.
6250
6251         * docs/design/part-trickmodes.txt:
6252         Mention applied rate, flesh out some more use cases.
6253
6254         * gst/gstevent.c: (gst_event_new_new_segment),
6255         (gst_event_parse_new_segment), (gst_event_new_new_segment_full),
6256         (gst_event_parse_new_segment_full), (gst_event_new_tag),
6257         (gst_event_parse_tag), (gst_event_new_buffer_size),
6258         (gst_event_parse_buffer_size), (gst_event_new_qos),
6259         (gst_event_parse_qos), (gst_event_parse_seek),
6260         (gst_event_new_navigation):
6261         * gst/gstevent.h:
6262         Add applied_rate field to NEWSEGMENT event.
6263         API: gst_event_new_new_segment_full()
6264         API: gst_event_parse_new_segment_full()
6265
6266         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_seek),
6267         (gst_segment_set_newsegment), (gst_segment_set_newsegment_full),
6268         (gst_segment_to_stream_time), (gst_segment_to_running_time):
6269         * gst/gstsegment.h:
6270         Add applied_rate to GstSegment structure.
6271         Make calculation of stream_time and running_time more correct
6272         wrt rate/applied_rate.
6273         Add some more docs.
6274         API: GstSegment::applied_rate field
6275         API: gst_segment_set_newsegment_full();
6276
6277         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
6278         (gst_base_sink_get_sync_times), (gst_base_sink_get_position):
6279         * libs/gst/base/gstbasetransform.c:
6280         (gst_base_transform_sink_eventfunc),
6281         (gst_base_transform_handle_buffer):
6282         Parse and use applied_rate in the GstSegment field.
6283
6284         * tests/check/gst/gstevent.c: (GST_START_TEST):
6285         Add check for applied_rate field.
6286
6287         * tests/check/gst/gstsegment.c: (GST_START_TEST),
6288         (gstsegments_suite):
6289         Add more checks for various GstSegment operations.
6290
6291 2006-05-08  Wim Taymans  <wim@fluendo.com>
6292
6293         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
6294         (gst_base_sink_do_sync), (gst_base_sink_chain_unlocked),
6295         (gst_base_sink_get_position), (gst_base_sink_change_state):
6296         Store the sync time of the buffer end position separatly in a
6297         new variable eos_rtime so we can properly sync the EOS event.
6298         Fixes #340697.
6299         Fix the docs for gst_base_sink_set_qos_enabled().
6300         Don't set segment start to invalid value when we receive a 
6301         non TIME newsegment.
6302         get closer to handling position reporting for negative rates 
6303         correctly.
6304
6305 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
6306
6307         * gst/gstcaps.c:
6308         Docs about how to print caps for debug purposes.
6309
6310         * gst/gstpadtemplate.c: (gst_static_pad_template_get):
6311         use gst_caps_make_writable instead of gst_caps_copy, Fixes #340608
6312
6313 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
6314
6315         * gst/gstelement.c:
6316           use full enum names and preprend a '%' in docs strings to make recent 
6317           gtk-doc turn that into a link
6318
6319 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
6320
6321         * docs/manual/basics-bins.xml:
6322         * docs/manual/basics-bus.xml:
6323         * docs/manual/basics-pads.xml:
6324           Some typo fixes, some additions, some clarifications. 
6325
6326 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
6327
6328         * tools/gst-inspect.c: (main):
6329         * tools/gst-launch.c: (main):
6330         * tools/gst-run.c: (main):
6331         * tools/gst-typefind.c: (main):
6332         * tools/gst-xmlinspect.c: (main):
6333           Use the string passed to g_option_context_new() for
6334           what it's intended for - the program name is already
6335           printed elsewhere.
6336
6337 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
6338
6339         * tools/Makefile.am:
6340         * tools/gst-inspect.c: (main):
6341         * tools/gst-launch.c: (main):
6342         * tools/gst-xmlinspect.c: (main):
6343         * tools/tools.h:
6344           Add back --version command line option (#340460).
6345
6346         * tools/gst-typefind.c: (have_type_handler), (typefind_file), (main):
6347           Add --version option and use GOption for argument parsing; refactor a
6348           bit; accept directories as arguments and recurse into them; lastly,
6349           print a decent error message when things go wrong.
6350
6351 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
6352
6353         * docs/manual/basics-bins.xml:
6354         Don't mention GstThread (#340611)
6355         * docs/manual/basics-elements.xml:
6356         Update link to GObject tutorial (#340607)
6357         
6358 2006-05-05  Wim Taymans  <wim@fluendo.com>
6359
6360         * gst/gstbuffer.h:
6361         * gst/gstminiobject.c:
6362         Add note about refcounting and miniobject/buffer writeability
6363         to docs. Fixes #340604
6364
6365         * gst/gstelementfactory.h:
6366         Added some explanation about @klass.
6367
6368 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
6369
6370         * docs/manual/intro-motivation.xml:
6371         * docs/manual/manual.xml:
6372         Avoid CORBA & Bonobo references (#340598)
6373
6374 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
6375
6376         * docs/manual/basics-bus.xml:
6377         * docs/manual/basics-pads.xml:
6378         Fix up some inaccuracies and omissions (#340609)
6379         
6380 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
6381
6382         * gst/gstghostpad.c:
6383           Small typo in docs (#340625)
6384
6385 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
6386
6387         * gst/parse/Makefile.am:
6388           Make 'make -j' proof (see #340698).
6389
6390 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
6391
6392         * configure.ac:
6393           Require GLib-2.8 here as well.
6394
6395 2006-05-05  Wim Taymans  <wim@fluendo.com>
6396
6397         * gst/glib-compat.c:
6398         * gst/gst.c: (init_pre):
6399         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
6400         (gst_object_unref), (gst_object_replace), (gst_object_dispose),
6401         (gst_object_dispatch_properties_changed):
6402         * gst/gstobject.h:
6403         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
6404         * gst/gststructure.c: (gst_structure_set_valist):
6405         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
6406         Remove pre glib2.8 compatibility, fixes #340508
6407
6408 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
6409
6410         * gst/gsttaglist.h:
6411           Mention type of tags in doc blurbs.
6412
6413 2006-05-04  Jan Schmidt  <thaytan@mad.scientist.com>
6414
6415         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
6416         (gst_pad_configure_src), (gst_pad_push):
6417         Restore acceptcaps checking behaviour now that good plugins have
6418         been released.
6419
6420 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
6421
6422         Patch by: James Andrewartha <trs80 at tartarus uwa edu au>
6423
6424         * gst/gst.c:
6425         * gst/gstbus.c:
6426         * gst/gstclock.c:
6427         * gst/gstevent.c:
6428         * gst/gstformat.c:
6429         * gst/gstmessage.c:
6430         * gst/gstparse.c:
6431         * gst/gstquery.c:
6432         * gst/gstutils.c:
6433         * gst/parse/Makefile.am:
6434         * libs/gst/base/gstadapter.c:
6435         * libs/gst/base/gstbasesrc.c:
6436         * libs/gst/base/gstpushsrc.c:
6437         * libs/gst/base/gsttypefindhelper.c:
6438         * plugins/elements/gstfakesrc.c:
6439         * plugins/elements/gstidentity.c:
6440           Make sure gstprivate.h and/or config.h are
6441           always included first, otherwise some of our
6442           defines (like _FILE_OFFSET_BITS) might be
6443           redefined in the system headers. Fixes build
6444           on opensolaris (#340016).
6445
6446 2006-05-04  Wim Taymans  <wim@fluendo.com>
6447
6448         * docs/libs/gstreamer-libs-sections.txt:
6449         API: addition: gst_adapter_take_buffer()
6450         
6451         * libs/gst/base/gstadapter.c: (gst_adapter_push),
6452         (gst_adapter_peek), (gst_adapter_take), (gst_adapter_take_buffer),
6453         (gst_adapter_available_fast):
6454         * libs/gst/base/gstadapter.h:
6455         Prepare for optimizing the hell out of this hugely inefficient
6456         piece of code. 
6457         Added gst_adapter_take_buffer() so we can at least start thinking
6458         about subbuffering and merging.
6459         Added some comments.
6460
6461         * tests/check/Makefile.am:
6462         * tests/check/libs/adapter.c: (GST_START_TEST),
6463         (gst_adapter_suite), (main):
6464         Added GstAdapter check.
6465
6466 2006-05-04  Wim Taymans  <wim@fluendo.com>
6467
6468         * docs/design/part-overview.txt:
6469         Fix some typos, add blurb about buffer flags.
6470
6471 2006-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
6472
6473         * docs/libs/gstreamer-libs-sections.txt:
6474           make sure GstBaseTransformClass shows up in the docs
6475         * libs/gst/base/gstbasetransform.c:
6476         * libs/gst/base/gstbasetransform.h:
6477           move docs so gtk-doc picks it up now
6478
6479 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
6480
6481         * docs/libs/gstreamer-libs-sections.txt:
6482           add missing symbols to docs
6483
6484 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
6485
6486         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
6487           back out the newsegment handling change, see #340060 for ongoing
6488           discussion
6489
6490 2006-04-30  Tim-Philipp Müller  <tim at centricular dot net>
6491
6492         * tools/gst-run.c: (get_candidates), (main):
6493           Fix wrong g_file_test() usage (see glib docs for why it doesn't
6494           work); fix typo in error message. Fixes #340079.
6495
6496 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
6497
6498         * common/Makefile.am:
6499         * docs/Makefile.am:
6500         * docs/faq/Makefile.am:
6501         * docs/gst/Makefile.am:
6502         * docs/libs/Makefile.am:
6503         * docs/manual/Makefile.am:
6504         * docs/plugins/Makefile.am:
6505         * docs/pwg/Makefile.am:
6506         * docs/slides/Makefile.am:
6507         * docs/upload.mak:
6508         * common/upload.mak:
6509           move upload.mak to common
6510
6511 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
6512
6513         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
6514           add more asserts on refcounts
6515           do more cleanup at end of tests
6516           fix test leaks showing in FC5
6517
6518 2006-04-29  Stefan Kost  <ensonic@users.sf.net>
6519
6520         * plugins/elements/gsttypefindelement.c:
6521         (gst_type_find_element_handle_event):
6522         reverted wrong change and reflowed code to avoid others falling into
6523         this trap
6524
6525 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
6526
6527         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
6528           fix changelog entry about last collectpads change,
6529           add notes about proper fix
6530
6531 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
6532
6533         * gst/gst.c:
6534         * gst/gstregistry.c: (gst_registry_scan_path_level),
6535         (gst_registry_scan_path):
6536         * gst/gstregistry.h:
6537           only write out registry if it has changed, fixes #338339
6538
6539 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
6540
6541         * gst/gstbin.c:
6542         * gst/gstpipeline.c:
6543         * plugins/elements/gstcapsfilter.c:
6544         * plugins/elements/gstfakesink.c:
6545         * plugins/elements/gstfakesrc.c:
6546         * plugins/elements/gstfdsink.c:
6547         * plugins/elements/gstfdsrc.c:
6548         * plugins/elements/gstfilesink.c:
6549         * plugins/elements/gstfilesrc.c:
6550         * plugins/elements/gstidentity.c:
6551         * plugins/elements/gstqueue.c:
6552         * plugins/elements/gsttee.c:
6553         * plugins/elements/gsttypefindelement.c:
6554         (gst_type_find_element_handle_event):
6555           make GstElementDetails const
6556
6557 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
6558
6559         * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
6560         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
6561         (gst_collect_pads_is_collected), (gst_collect_pads_event):
6562           more detailed debug and formatting cleanup,
6563           forward newsegments to src-pad (so that e.g. adder not eats them)
6564
6565 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
6566
6567         * gst/gstutils.c: (gst_element_link_pads):
6568           cleanup double code
6569
6570 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
6571
6572         * libs/gst/controller/gstcontroller.c:
6573         (gst_controller_sync_values):
6574           some little tuning
6575         * tests/check/libs/controller.c: (GST_START_TEST),
6576         (gst_controller_suite):
6577           a new test for live value handling
6578
6579 2006-04-28  Wim Taymans  <wim@fluendo.com>
6580
6581         * gst/gstutils.c: (push_and_ref):
6582         Added some more docs.
6583         Fix refcount issue whith gst_element_found_tags() helper 
6584         function. Fixes #338335
6585
6586         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
6587         Added testsuite for gst_element_found_tags().
6588
6589 2006-04-28  Michael Smith  <msmith@fluendo.com>
6590
6591         * gst/gstvalue.c: (gst_value_serialize_flags):
6592           Avoid NULL dereference when trying to serialize flags containing
6593           invalid values.
6594
6595 2006-04-28  Michael Smith  <msmith@fluendo.com>
6596
6597         * plugins/elements/gsttypefindelement.c:
6598         (gst_type_find_element_handle_event):
6599           If we get EOS before any data is accumulated, don't use
6600           uninitialised local variables.
6601
6602 2006-04-28  Michael Smith  <msmith@fluendo.com>
6603
6604         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
6605         (gst_dp_event_from_packet):
6606           Fixes in reading/writing events over GDP (not currently used?) - 
6607           dereferencing NULL events for unknown/invalid event types, memory
6608           leak, and change g_warning to GST_WARNING.
6609
6610 2006-04-28  Wim Taymans  <wim@fluendo.com>
6611
6612         * libs/gst/base/gstbasesink.c: (gst_base_sink_is_too_late),
6613         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
6614         (gst_base_sink_get_position), (gst_base_sink_change_state):
6615         When frame dropping is enabled, we should not ignore frames
6616         without a duration.
6617         Update some documentation.
6618
6619 2006-04-28  Wim Taymans  <wim@fluendo.com>
6620
6621         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
6622         (gst_base_src_send_event), (gst_base_src_change_state):
6623         Documentation updates.
6624
6625 2006-04-28  Wim Taymans  <wim@fluendo.com>
6626
6627         * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
6628         (gst_fd_sink_check_fd), (gst_fd_sink_update_fd):
6629         handle EAGAIN, EINTR and short writes correctly. Also clean
6630         up some error cases, avoid a deadlock on bad file descriptors and
6631         use GST_DEBUG_OBJECT.
6632         Fixes #339843
6633
6634 2006-04-28  Wim Taymans  <wim@fluendo.com>
6635
6636         * gst/gstvalue.c: (gst_value_serialize_buffer),
6637         (gst_value_deserialize_buffer):
6638         Don't try to serialize a GValue with a NULL buffer. 
6639         Fixes #339821.
6640
6641         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
6642         Added check for serialisation of NULL buffers.
6643
6644 2006-04-28  Wim Taymans  <wim@fluendo.com>
6645
6646         * gst/gstminiobject.c: (gst_value_take_mini_object):
6647         Taking a NULL miniobject is valid, fix the case where
6648         we try to unref the NULL miniobject.
6649
6650 2006-04-28  Wim Taymans  <wim@fluendo.com>
6651
6652         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
6653
6654         * gst/gstbin.c: (gst_bin_handle_message_func):
6655         Update docs.
6656         Don't leak bin refcount when a state recalc is
6657         in progress and we delay another one #339808.
6658
6659 2006-04-28  Wim Taymans  <wim@fluendo.com>
6660
6661         * docs/design/part-TODO.txt:
6662         Mention QoS as an ongoing work item.
6663
6664         * docs/design/part-buffering.txt:
6665         New doc about buffering that needs to be fleshed out
6666         at some point.
6667
6668         * docs/design/part-qos.txt:
6669         More QoS policy for decoders/demuxers/transforms
6670
6671         * docs/design/part-trickmodes.txt:
6672         Small update.
6673
6674 2006-04-28  Thomas Vander Stichele  <thomas at apestaart dot org>
6675
6676         * configure.ac:
6677           back to HEAD
6678
6679 === release 0.10.5 ===
6680
6681 2006-04-28  Thomas Vander Stichele <thomas at apestaart dot org>
6682
6683         * configure.ac:
6684           releasing 0.10.5, "Fogo"
6685
6686 2006-04-22  Thomas Vander Stichele  <thomas at apestaart dot org>
6687
6688         patch by: Wim Taymans
6689
6690         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
6691         (gst_pad_configure_src), (gst_pad_push):
6692         * gst/gstpipeline.c: (gst_pipeline_init):
6693           Fix internal data flow errors.  Fixes #338711.
6694
6695 2006-04-12  Wim Taymans  <wim@fluendo.com>
6696
6697         * tests/check/gst/gstelement.c: (GST_START_TEST):
6698         Don't leak the factory.
6699
6700 2006-04-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6701
6702         * configure.ac:
6703         * win32/common/config.h:
6704           prerelease
6705
6706 2006-04-12  Tim-Philipp Müller  <tim at centricular dot net>
6707
6708         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
6709         (gst_controller_unset_all):
6710           Free allocated GstTimedValues when freeing list nodes.
6711           Should fix leaks 'make check-valgrind' complains about.
6712
6713         * win32/common/libgstcontroller.def:
6714           Add gst_controller_unset_all.
6715
6716 2006-04-11  Stefan Kost  <ensonic@users.sf.net>
6717
6718         * docs/libs/gstreamer-libs-sections.txt:
6719         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
6720         (gst_controller_unset_all):
6721         * libs/gst/controller/gstcontroller.h:
6722         API: Added new method gst_controller_unset_all()
6723         fixed gst_controller_unset()
6724         * tests/check/libs/controller.c: (GST_START_TEST),
6725         (gst_controller_suite):
6726         Added two testcases for new and fixed method
6727
6728 2006-04-11  Tim-Philipp Müller  <tim at centricular dot net>
6729
6730         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
6731           MSG_DONTWAIT is not defined on Cygwin, so work
6732           around that (fixes #317048).
6733           
6734 2006-04-11  Wim Taymans  <wim@fluendo.com>
6735
6736         * gst/gstelementfactory.c: (gst_element_register),
6737         (gst_element_factory_create), (gst_element_factory_make):
6738         Some cleanups.
6739         Fixed a FIXME.
6740         Updated docs (Fixes #131079)
6741
6742         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
6743         Small cleanups.
6744
6745         * tests/check/gst/gstelement.c: (GST_START_TEST),
6746         (gst_element_suite):
6747         Added testcase for elementfactory class field.
6748
6749 2006-04-10  Wim Taymans  <wim@fluendo.com>
6750
6751         * gst/gstsegment.c:
6752         Added some more docs.
6753
6754         * libs/gst/base/gstbasesink.c: (gst_base_sink_perform_qos),
6755         (gst_base_sink_reset_qos):
6756         Calculate more accurate rate values.
6757
6758 2006-04-09  Sebastien Moutte  <sebastien@moutte.net>
6759
6760         * gst/gst_private.h:
6761           add a new #ifdef to use __declspec(dllimport) only for
6762           other modules and not for gstreamer core
6763         * gst/gstbasesink.c: (gst_base_sink_perform_qos):
6764           use gst_guint64_to_gdouble for conversion
6765         * win32/common/libgstreamer.def:
6766           add new exported functions
6767         * win32/vs6/gst_inspect.dsp:
6768         * win32/vs6/gst_launch.dsp:
6769         * win32/vs6/libgstbase.dsp:
6770         * win32/vs6/libgstcontroller.dsp:
6771         * win32/vs6/libgstcoreelements.dsp:
6772         * win32/vs6/libgstdataprotocol.dsp:
6773         * win32/vs6/libgstnet.dsp:
6774           update project files
6775
6776 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
6777
6778         * gst/gstbuffer.c: (gst_subbuffer_class_init):
6779         * gst/gstclock.c: (gst_clock_class_init):
6780         * gst/gstelement.c: (gst_element_class_init):
6781         * gst/gstindex.c: (gst_index_class_init):
6782         * gst/gstindexfactory.c: (gst_index_factory_class_init):
6783         * gst/gstobject.c: (gst_object_class_init),
6784         (gst_signal_object_class_init):
6785         * gst/gstpad.c: (gst_pad_class_init):
6786         * gst/gstpadtemplate.c: (gst_pad_template_class_init):
6787         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init):
6788         * gst/gstregistry.c: (gst_registry_class_init):
6789         * gst/gstsystemclock.c: (gst_system_clock_class_init):
6790         * gst/gsttask.c: (gst_task_class_init):
6791         * gst/gstxml.c: (gst_xml_class_init):
6792         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
6793         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
6794         (gst_base_src_loop):
6795         * libs/gst/controller/gstcontroller.c:/
6796         (_gst_controller_class_init):
6797         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
6798         * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
6799         * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init):
6800         * tests/old/examples/plugins/example.c: (gst_example_class_init):
6801         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
6802         Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent)
6803
6804 2006-04-08  Tim-Philipp Müller  <tim at centricular dot net>
6805
6806         * gst/gstpad.c: (gst_pad_link):
6807           Must set peer pads before calling the link function, otherwise
6808           a task started from a link function might get a flow-not-linked
6809           result when trying to push because the other thread where the
6810           linking happens hasn't had a chance to set the peers yet. This
6811           might happen for example when a queue gets linked to a downstream
6812           element, as queue starts a streaming task when its source pad
6813           gets linked. Happens in real life when playing back flac/musepack
6814           files in playbin (#332390).
6815           
6816 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
6817
6818         * gst/gstindex.h:
6819         * gst/gstxml.h:
6820         * libs/gst/base/gstadapter.h:
6821         * libs/gst/base/gstbasesink.h:
6822         * libs/gst/base/gstbasesrc.h:
6823         * libs/gst/base/gstbasetransform.h:
6824         * libs/gst/base/gstcollectpads.h:
6825         * libs/gst/base/gstpushsrc.h:
6826         Fix broken GObject macros
6827
6828 2006-04-07  Wim Taymans  <wim@fluendo.com>
6829
6830         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
6831         Initialize start and stop times, thanks valgrind.
6832
6833 2006-04-07  Wim Taymans  <wim@fluendo.com>
6834
6835         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
6836         Be a bit nicer to badly behaving upstream elements that expect
6837         us to deal with non TIME segments and timestamps (such as fakesrc
6838         in the testsuite).
6839
6840 2006-04-07  Wim Taymans  <wim@fluendo.com>
6841
6842         * gst/gstbus.c:
6843         Small documentation clarification about the signal watch.
6844
6845         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
6846         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
6847         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
6848         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
6849         (gst_base_sink_get_position_last),
6850         (gst_base_sink_get_position_paused), (gst_base_sink_change_state):
6851         Convert and store timestamps in stream time and running time, the
6852         raw timestamps are not useful, also document this better.
6853         Use different window sizes for good and bad QoS observations so
6854         we react to badness a little quicker.
6855         Keep track of the amount of rendered and dropped buffers.
6856         Send QoS timestamps in running time.
6857
6858         * libs/gst/base/gstbasetransform.c:
6859         (gst_base_transform_sink_eventfunc),
6860         (gst_base_transform_handle_buffer):
6861         Compare QoS timestamps against running time.
6862
6863 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
6864
6865         * gst/gstpad.c:
6866           Typo fixes in docs.
6867
6868 2006-04-06  Michael Smith  <msmith@fluendo.com>
6869
6870         * gst/gstpad.c: (gst_pad_set_property):
6871           Use g_value_get_object() instead of g_value_dup_gst_object(),
6872           to avoid double-reffing the pad template (which we then sink,
6873           so this worked previously if (and only if) the pad template
6874           was floating.
6875
6876         * gst/gstpadtemplate.c: (gst_pad_template_init),
6877         (gst_pad_template_pad_created):
6878           Never return floating references to pad templates, create
6879           them as initially-sunken.
6880
6881           Document an extra function (and make this stop sinking our
6882           pad template, since that is now guaranteed to do nothing,
6883           since we created it sunken).
6884
6885         * gst/gstghostpad.c:
6886           Fix docs typo.
6887
6888 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
6889
6890         * gst/gstinfo.c: (__gst_in_valgrind):
6891           Add some newlines.
6892
6893         * plugins/elements/gsttypefindelement.c:
6894         (gst_type_find_element_chain):
6895           Don't leak buffer caps.
6896
6897 2006-04-06  Michael Smith  <msmith@fluendo.com>
6898
6899         * gst/parse/grammar.y:
6900           Fix a leak in parse-launch for any source-or-sink named element 
6901           references used.
6902
6903         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
6904           Unref the pipeline if it exists after we've failed parsing.
6905
6906 2006-04-05  Michael Smith  <msmith@fluendo.com>
6907
6908         * gst/gstpipeline.c: (gst_pipeline_init):
6909           When we create a pipeline bus, initially create it in flushing mode.
6910           Fixes leaks in at least one test, and makes a new pipeline work the
6911           same as one that has gone to READY and then back to NULL.
6912
6913         * gst/gstelement.c:
6914           Typo fix in docs.
6915
6916 2006-04-05  Michael Smith  <msmith@fluendo.com>
6917
6918         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
6919           Unref a pad we reffed.
6920         * tests/check/gst/gstutils.c: (GST_START_TEST):
6921           Unref bins
6922
6923 2006-04-05  Michael Smith  <msmith@fluendo.com>
6924
6925         * gst/gstquery.c: (gst_query_set_formats),
6926         (gst_query_set_formatsv):
6927           Fix leaking GValues in queries, as shown by valgrind/testsuite.
6928
6929 2006-04-05  Michael Smith  <msmith@fluendo.com>
6930
6931         * tests/check/generic/sinks.c: (GST_START_TEST):
6932           Fix a variety of memleaks in sinks check, which are only sometimes 
6933           shown by running the tests under valgrind (weird?).
6934
6935 2006-04-05  Jan Schmidt  <thaytan@mad.scientist.com>
6936
6937         * docs/version.entities.in:
6938           Fix the substituted entity name after thomas' changes on the
6939           weekend.
6940
6941 2006-04-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
6942
6943         * gst/gstinfo.c: (__gst_in_valgrind): Use printf instead of
6944         VALGRIND_PRINTF
6945         
6946 2006-04-05  Andy Wingo  <wingo@pobox.com>
6947
6948         * gst/gstpad.c (gst_pad_set_blocked_async): More debug.
6949
6950         * libs/gst/base/gstbasetransform.c
6951         (gst_base_transform_sink_eventfunc): When resetting our segment on
6952         FLUSH_STOP, also update the flag saying we haven't seen a
6953         newsegment.
6954
6955 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
6956
6957         Patch by: Paolo Borelli  <pborelli at katamail dot com>
6958
6959         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
6960         (gst_plugin_check_license):
6961           minor clean-ups: G_DEFINE_TYPE already takes care of the
6962           parent_class stuff, no need to do it twice. Mark array of
6963           license strings as constant. (#337103)
6964           
6965 2006-04-04  Michael Smith  <msmith@fluendo.com>
6966
6967         * tools/gst-inspect.c: (print_element_list):
6968           Free the right plugin list; fixes a memory leak.
6969
6970 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
6971
6972         Patch by: Mark Nauwelaerts  <manauw at skynet dot be>
6973
6974         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
6975           Don't error out on empty buffers (#336945).
6976           
6977 2006-04-04  Jan Schmidt  <thaytan@mad.scientist.com>
6978
6979         * docs/libs/gstreamer-libs-sections.txt:
6980         * gst/gsttaglist.c:
6981         * libs/gst/base/gstbasesink.c:
6982         * libs/gst/base/gstbasesink.h:
6983         * libs/gst/base/gstbasesrc.c:
6984         * libs/gst/base/gstbasesrc.h:
6985           Documentation updates. Make BaseSink and BaseSrc docs contain the
6986           class structure so that people can actually see the prototypes for
6987           virtual functions they're supposed to be overriding.
6988
6989 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
6990
6991         * plugins/elements/gsttypefindelement.c:
6992         (gst_type_find_element_chain):
6993           More debug info; when skipping typefinding, send cached
6994           events in all cases.
6995
6996 2006-04-01  Thomas Vander Stichele  <thomas at apestaart dot org>
6997
6998         * configure.ac:
6999           use new AS_VERSION and AS_NANO macros
7000         * gst/gst-i18n-lib.h:
7001         * gst/gst.c:
7002         * gst/gsterror.c:
7003         * gst/gstversion.h.in:
7004         * win32/common/config.h:
7005         * win32/common/config.h.in:
7006           update accordingly
7007
7008 2006-03-31  Michael Smith  <msmith@fluendo.com>
7009
7010         * plugins/elements/gsttypefindelement.c:
7011         (gst_type_find_element_chain):
7012           Do not typefind content if the buffers already have caps.
7013           Neccesary for icydemux (#333657), and the right thing to do anyway.
7014
7015 2006-03-30  Wim Taymans  <wim@fluendo.com>
7016
7017         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
7018         (gst_base_sink_finalize), (gst_base_sink_set_qos_enabled),
7019         (gst_base_sink_is_qos_enabled), (gst_base_sink_do_sync),
7020         (gst_base_sink_record_qos_observation),
7021         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
7022         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
7023         (gst_base_sink_change_state):
7024         More QoS measurements as described in the design doc.
7025         Get rid of ringbuffer with observations, running average is
7026         more simple and equally good.
7027         Calculates valid proportion now.
7028         Added beginning of flood measurement.
7029
7030 2006-03-29  Wim Taymans  <wim@fluendo.com>
7031
7032         * docs/design/part-qos.txt:
7033         * gst/gstclock.c:
7034         Small documentation updates and additions.
7035
7036 2006-03-29  Wim Taymans  <wim@fluendo.com>
7037
7038         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
7039         (gst_base_src_send_event), (gst_base_src_loop),
7040         (gst_base_src_change_state):
7041         Perform the EOS logic when we reach the segment stop position.
7042         Fix compilation on gcc4.1
7043
7044 2006-03-29  Wim Taymans  <wim@fluendo.com>
7045
7046         Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
7047
7048         * plugins/elements/gstqueue.c: (gst_queue_init),
7049         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
7050         (gst_queue_set_property):
7051         * plugins/elements/gstqueue.h:
7052         In queue, when EOS is received, if minimum threshold > max_size -
7053         current_level, there is chance that queue blocks forever in conditional
7054         item del wait. This is because the queue is not emptied completely due
7055         to minimum threshold.  Here is another approach. Instead of setting
7056         cur_levels to max in EOS, just zero all minimum threshold levels. This
7057         should make sure that queue gives out all data. When going to READY
7058         (stop) state, just reset the original minimum threshold levels.
7059         Fixes #336336.
7060
7061 2006-03-29  Tim-Philipp Müller  <tim at centricular dot net>
7062
7063         * plugins/elements/gsttypefindelement.c: (stop_typefinding),
7064         (gst_type_find_element_handle_event),
7065         (gst_type_find_element_send_cached_events),
7066         (gst_type_find_element_change_state):
7067         * plugins/elements/gsttypefindelement.h:
7068           When typefinding is done in push mode, we should cache
7069           events we receive during typefinding instead of just
7070           dropping them (e.g. newsegment, custom events from
7071           dvdreadsrc etc.) and then send them out once we've
7072           determined the type of the stream (and decodebin
7073           has had a chance to plug in a decoder/demuxer).
7074           
7075 2006-03-27  Wim Taymans  <wim@fluendo.com>
7076
7077         * docs/design/part-qos.txt:
7078         First QoS ideas.
7079
7080 2006-03-27  Wim Taymans  <wim@fluendo.com>
7081
7082         Inspired by a patch of: Lutz Mueller <lutz at topfrose dot de>
7083
7084         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
7085         (gst_base_src_send_event), (gst_base_src_change_state):
7086         Handle element seek correctly when we are streaming.
7087         Fixes #326998.
7088
7089 2006-03-24  Michael Smith  <msmith@fluendo.com>
7090
7091         * docs/faq/gst-uninstalled:
7092           Set up LD_LIBRARY_PATH to point at all the gstreamer libs. This will
7093           allow you to correctly run intalled applications built against old 
7094           core, using plugins that require updated core (e.g. running
7095           installed totem against a full uninstalled gstreamer stack)
7096
7097 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
7098
7099         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
7100         more debug details
7101
7102 2006-03-24  Wim Taymans  <wim@fluendo.com>
7103
7104         * docs/gst/gstreamer-sections.txt:
7105         Rearrange the order of the methods so that related methods
7106         are grouped together in sections.
7107
7108 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
7109
7110         * gst/gstelement.c:
7111           Little clarification in the docs
7112
7113 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
7114
7115         * docs/README:
7116         formatting fix
7117         * plugins/elements/gstidentity.c:
7118         * plugins/elements/gstqueue.c:
7119         * plugins/elements/gsttee.c:
7120         * plugins/elements/gsttypefindelement.c:
7121         GST_ELEMENT_DETAILS formatting
7122
7123 2006-03-24  Wim Taymans  <wim@fluendo.com>
7124
7125         * libs/gst/base/gstbasesink.h:
7126         Only add fields, not insert or we break ABI.
7127
7128 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
7129
7130         * win32/common/libgstbase.def:
7131         * win32/common/libgstreamer.def:
7132           Update, add recently added functions.
7133
7134 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
7135
7136         * docs/gst/gstreamer-sections.txt:
7137         * gst/gstutils.c: (gst_pad_query_peer_position),
7138         (gst_pad_query_peer_duration), (gst_pad_query_peer_convert):
7139         * gst/gstutils.h:
7140           API: add some new utility functions:
7141            - gst_pad_query_peer_position()
7142            - gst_pad_query_peer_duration()
7143            - gst_pad_query_peer_convert()
7144           
7145 2006-03-23  Wim Taymans  <wim@fluendo.com>
7146
7147         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
7148         (gst_base_sink_init), (gst_base_sink_finalize),
7149         (gst_base_sink_set_qos_enabled), (gst_base_sink_is_qos_enabled),
7150         (gst_base_sink_set_property), (gst_base_sink_get_property),
7151         (gst_base_sink_commit_state), (gst_base_sink_get_sync_times),
7152         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
7153         (gst_base_sink_add_qos_observation), (gst_base_sink_send_qos),
7154         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
7155         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
7156         (gst_base_sink_preroll_object), (gst_base_sink_event),
7157         (gst_base_sink_chain_unlocked), (gst_base_sink_get_position_last),
7158         (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
7159         (gst_base_sink_query), (gst_base_sink_change_state):
7160         Decouple max-lateness and the fact that QoS messages are generated
7161         with a new property (qos).
7162         added API: GstBaseSink::async_play()
7163         Add vmethod so subclasses can be notified of ASYNC playing
7164         state changes.
7165         Collect timestamp start and stop to report better current
7166         position in EOS/PLAYING/PAUSED/READY/NULL.
7167         Refactor QoS/frame dropping and other measurements.
7168         API: GstBaseSrc::qos
7169         Fixes #326311
7170
7171         * libs/gst/base/gstbasesink.h:
7172         Added Private struct.
7173         API: gst_base_sink_set_qos_enabled()
7174         API: gst_base_sink_is_qos_enabled()
7175
7176 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
7177
7178         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
7179           If compiling against GLib-2.8 or newer, try to read the
7180           registry file using GMappedFile first before falling back
7181           to fopen() + fread() (#332151).
7182
7183 2006-03-22  Wim Taymans  <wim@fluendo.com>
7184
7185         * gst/gstinfo.c: (gst_debug_set_active),
7186         (gst_debug_category_set_threshold):
7187         Disable debugging unless explicitly activated.
7188         Fixes #335480.
7189
7190 2006-03-22  Wim Taymans  <wim@fluendo.com>
7191
7192         * gst/gstelement.c: (gst_element_set_locked_state),
7193         (gst_element_dispose):
7194         Cleanup the error case.
7195
7196         * gst/gstobject.c: (gst_object_dispose):
7197         print a critical when some object was disposed with
7198         a parent, also revive the object since it might
7199         crash the parent.
7200
7201 2006-03-22  Tim-Philipp Müller  <tim at centricular dot net>
7202
7203         * tools/gst-launch.1.in:
7204           Fix another typo.
7205
7206 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
7207
7208         * configure.ac:
7209         * tests/check/Makefile.am:
7210           disable some tests when we don't have a registry
7211         * tests/check/gst/gstutils.c: (gst_utils_suite):
7212           don't build the part that needs parsing
7213
7214 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
7215
7216         * gst/Makefile.am
7217         * tests/examples/Makefile.am:
7218           fix --disable-parse build
7219
7220 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
7221
7222         * tools/gst-feedback.1.in:
7223           Fix typo: s/feeback/feedback/ (#133494).
7224
7225 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
7226
7227         * tools/Makefile.am:
7228         * tools/gst-launch.1.in:
7229           Add FILES section and correct entry about GST_REGISTRY_PATH
7230           environment variable (#133495; #133494).
7231
7232 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
7233
7234         * tools/Makefile.am:
7235         * tools/gst-md5sum.1.in:
7236         * tools/gst-md5sum.c:
7237           Remove gst-md5sum and man page (the md5sink element
7238           required was removed ages ago)
7239
7240 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
7241
7242         * gst/gststructure.c: (gst_structure_id_set_value):
7243           Make sure that string fields in structures/taglists
7244           contain valid UTF-8 - we don't want to pass rubbish to
7245           applications because of a buggy plugin (cp. #334167).
7246
7247 2006-03-21  Edward Hervey  <edward@fluendo.com>
7248
7249         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
7250         (gst_bin_handle_message_func):
7251         * gst/gstclock.c: (gst_clock_dispose), (gst_clock_set_master):
7252         * gst/gstelement.c: (gst_element_set_clock), (gst_element_dispose),
7253         (gst_element_set_bus_func):
7254         * gst/gstghostpad.c: (gst_proxy_pad_dispose):
7255         * gst/gstminiobject.c: (gst_value_set_mini_object),
7256         (gst_value_take_mini_object):
7257         * gst/gstpad.c: (gst_pad_set_pad_template):
7258         * gst/gstpipeline.c: (gst_pipeline_dispose),
7259         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
7260         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop),
7261         (gst_collect_pads_chain):
7262         * libs/gst/net/gstnettimeprovider.c:
7263         (gst_net_time_provider_set_property):
7264         Series of fixes for dereferenced pointers that gcc 4.1 complains about.
7265         It's in fact all issues with gst_*object_replace().
7266
7267 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
7268
7269         Patch by: Loïc Minier  <lool + gnome at via dot ecp dot fr>
7270         
7271         * pkgconfig/gstreamer-check-uninstalled.pc.in:
7272         * pkgconfig/gstreamer-check.pc.in:
7273           Use @CHECK_LIBS@ here instead of hard-coding -lcheck (#334109).
7274
7275 2006-03-21  Edward Hervey  <edward@fluendo.com>
7276
7277         * gst/gstbuffer.h:
7278         * gst/gstevent.h:
7279         * gst/gstmessage.h:
7280         gst_[buffer|event|message]_ref() macros are replaced by a static
7281         inline functions because gcc-4.1 will about if the return value
7282         isn't used.
7283         * tests/check/gst/gstevent.c: (event_probe):
7284         gst_event_ref now has to be given a GstEvent* , fix check accordingly.
7285
7286 2006-03-20  Jan Schmidt  <thaytan@mad.scientist.com>
7287
7288         * gst/gstutils.h:
7289         Add G_UNLIKELY to our boilerplate to optimise the 'already registered
7290         the type' case. (Closes: #335195 for now). In the future, when we
7291         depend on GLib 2.10, we could also intern the type name using
7292         g_intern_static_string()
7293
7294 2006-03-20  Wim Taymans  <wim@fluendo.com>
7295
7296         * gst/gstbin.c: (gst_bin_handle_message_func),
7297         (bin_query_max_init), (bin_query_position_fold),
7298         (bin_query_position_done), (gst_bin_query):
7299         Position query should also take max of all streams.
7300
7301 2006-03-20  Wim Taymans  <wim@fluendo.com>
7302
7303         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
7304         (gst_fake_src_finalize):
7305         Fix leaks in fakesrc.
7306
7307         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
7308         Fix leaks in the testcase.
7309
7310 2006-03-19  Sebastien Moutte  <sebastien@moutte.net>
7311
7312         * gst/gst_private.h:
7313           add win32 specific import decoration(__declspec(dllimport)) 
7314           for all extern GstDebugCategory * variables
7315         * win32/common/libgstbase.def:
7316         * win32/common/libgstcontroller.def:
7317         * win32/common/libgstreamer.def:
7318           Add some exports, remove empty lines
7319         * win32/common/libgstdataprotocol.def:
7320         * win32/common/libgstdataprotocol.dsp:
7321         * win32/common/libgstnet.def:
7322         * win32/common/libgstnet.dsp:
7323           new project files and exportation files added
7324         
7325 2006-03-19  Wim Taymans  <wim@fluendo.com>
7326
7327         * tests/check/libs/basesrc.c: (eos_event_counter):
7328         Use proper return value for probe.
7329
7330 2006-03-17  Wim Taymans  <wim@fluendo.com>
7331
7332         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
7333         (gst_pad_push):
7334         Don't leak buffers, caps and pads on negotiation errors.
7335
7336 2006-03-16  Stefan Kost  <ensonic@users.sf.net>
7337
7338         * docs/faq/cvs.xml:
7339         * docs/faq/dependencies.xml:
7340         * docs/faq/developing.xml:
7341         * docs/faq/faq.xml:
7342         * docs/faq/general.xml:
7343         * docs/faq/getting.xml:
7344         * docs/faq/legal.xml:
7345         * docs/faq/troubleshooting.xml:
7346         * docs/faq/using.xml:
7347         Faq review and update.
7348
7349 2006-03-16  Jan Schmidt  <thaytan@mad.scientist.com>
7350
7351         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
7352         (gst_pad_push):
7353         Don't pound the cpu to pieces by checking get_caps when accept_caps
7354         is called with the same caps as the pad already has.
7355         Use GST_DEBUG_OBJECT when outputting caps change information.
7356
7357 2006-03-15  Wim Taymans  <wim@fluendo.com>
7358
7359         * gst/gstclock.c: (gst_clock_class_init):
7360         Fix docs.
7361
7362 2006-03-15  Jan Schmidt  <thaytan@mad.scientist.com>
7363
7364         * gst/gstbuffer.h:
7365         Documentation fix.
7366
7367         * gst/gstpad.c: (gst_pad_init), (gst_pad_acceptcaps_default),
7368         (gst_pad_accept_caps), (gst_pad_configure_sink),
7369         (gst_pad_configure_src), (gst_pad_chain), (gst_pad_push):
7370         Make the default acceptcaps behaviour be to check the requested 
7371         caps against the gst_pad_get_caps output. 
7372
7373         Ensure that gst_pad_accept_caps is used to check caps when a pad
7374         doesn't have a setcaps function, so that pads automatically refuse 
7375         caps that they don't allow in their pad template. (Fixes #332986)
7376
7377         When a buffer with attached caps is pushed, ensure that the source 
7378         pad receives those caps even if the element didn't call
7379         gst_pad_set_caps first.
7380
7381 2006-03-15  Wim Taymans  <wim@fluendo.com>
7382
7383         * libs/gst/base/gstadapter.c:
7384         Add some docs.
7385
7386 2006-03-15  Tim-Philipp Müller  <tim at centricular dot net>
7387
7388         * win32/common/libgstbase.def:
7389         * win32/common/libgstcontroller.def:
7390         * win32/common/libgstreamer.def:
7391           Add a whole bunch of missing functions (#334434).
7392
7393 2006-03-14  Wim Taymans  <wim@fluendo.com>
7394
7395         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
7396         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
7397         (gst_base_sink_do_sync), (gst_base_sink_do_qos):
7398         Better debug info when we receive a segment event.
7399         Reorganize a bit so we can pass the get_times() results around.
7400         Use the segment format when calculating the running time.
7401         Don't do QoS is sync is disabled or we have no clock or the
7402         element does not want us to sync to the clock.
7403         Don't drop buffers if QoS is disabled for now.
7404
7405 2006-03-14  Wim Taymans  <wim@fluendo.com>
7406
7407         * gst/gstclock.c: (gst_clock_class_init), (do_linear_regression):
7408         Marked the stats property as unimplemented so people don't get
7409         wild ideas.
7410         Add debug message when regression goes wrong.
7411         Added some more docs.
7412
7413 2006-03-14  Wim Taymans  <wim@fluendo.com>
7414
7415         * gst/gstsegment.c: (gst_segment_to_stream_time):
7416         Return correct return type in case of errors.
7417
7418 2006-03-14  Wim Taymans  <wim@fluendo.com>
7419
7420         * gst/gstformat.c: (gst_format_get_name), (gst_format_to_quark):
7421           Don't segfault on invalid formats.
7422
7423 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
7424
7425         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
7426           Can't use gst_segment_to_running_time() when the segment
7427           is not in GST_TIME_FORMAT (like with filesink, for example).
7428           Stops flac encoding pipelines from spewing critical warnings
7429           at EOS (#331248).
7430           
7431 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
7432
7433         * gst/gstpipeline.c: (gst_pipeline_class_init):
7434           Add 'Since: 0.10.5' to gtk-doc blurb for added property.
7435
7436         * plugins/elements/gsttypefindelement.c:
7437         (gst_type_find_element_handle_event):
7438           Don't try to typefind empty streams.
7439
7440 2006-03-14  Wim Taymans  <wim@fluendo.com>
7441
7442         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
7443         (gst_base_sink_do_qos):
7444         Separate QoS calculation.
7445         Only drop buffers when lateness is bigger than the 
7446         duration of the buffer.
7447
7448 2006-03-13  Wim Taymans  <wim@fluendo.com>
7449
7450         * gst/gstpipeline.c: (gst_pipeline_set_property),
7451         (gst_pipeline_get_property), (do_pipeline_seek),
7452         (gst_pipeline_change_state), (gst_pipeline_set_delay),
7453         (gst_pipeline_get_delay):
7454         Don't deadlock when reading properties.
7455
7456 2006-03-13  Wim Taymans  <wim@fluendo.com>
7457
7458         * libs/gst/base/gstbasetransform.c:
7459         (gst_base_transform_class_init), (gst_base_transform_init),
7460         (gst_base_transform_sink_event),
7461         (gst_base_transform_sink_eventfunc),
7462         (gst_base_transform_src_event), (gst_base_transform_src_eventfunc),
7463         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
7464         (gst_base_transform_set_property),
7465         (gst_base_transform_get_property),
7466         (gst_base_transform_change_state), (gst_base_transform_update_qos),
7467         (gst_base_transform_set_qos_enabled),
7468         (gst_base_transform_is_qos_enabled):
7469         * libs/gst/base/gstbasetransform.h:
7470         Make basetransform virtual method for src events too.
7471         Handle QOS in basetransform.
7472         API: gst_base_transform_update_qos()
7473         API: gst_base_transform_set_qos_enabled()
7474         API: gst_base_transform_is_qos_enabled()
7475
7476 2006-03-13  Wim Taymans  <wim@fluendo.com>
7477
7478         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
7479         (gst_base_sink_do_sync):
7480         Small cleanups.
7481         Use QOS debug category.
7482
7483 2006-03-13  Wim Taymans  <wim@fluendo.com>
7484
7485         * plugins/elements/gstqueue.c:
7486         Very small doc update.
7487
7488 2006-03-13  Wim Taymans  <wim@fluendo.com>
7489
7490         * gst/gst_private.h:
7491         * gst/gstinfo.c: (_gst_debug_init):
7492         Added QOS debug category
7493
7494 2006-03-13  Wim Taymans  <wim@fluendo.com>
7495
7496         * docs/gst/gstreamer-sections.txt:
7497         * gst/gstbin.c: (bin_bus_handler), (gst_bin_handle_message_func):
7498         * gst/gstbin.h:
7499         * gst/gstbus.c: (gst_bus_class_init):
7500         * gst/gstbus.h:
7501         * gst/gstclock.c:
7502         * gst/gstelement.c: (gst_element_set_locked_state):
7503         * gst/gstsegment.c:
7504         Documentation updates.
7505
7506         * gst/gstpipeline.c: (gst_pipeline_get_type),
7507         (gst_pipeline_class_init), (gst_pipeline_init),
7508         (gst_pipeline_dispose), (gst_pipeline_set_property),
7509         (gst_pipeline_get_property), (do_pipeline_seek),
7510         (gst_pipeline_send_event), (gst_pipeline_change_state),
7511         (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay),
7512         (gst_pipeline_get_delay):
7513         * gst/gstpipeline.h:
7514         Added methods for setting the delay.
7515         API: gst_pipeline_set_delay()
7516         API: gst_pipeline_get_delay()
7517         Add pipeline debug category
7518         Various cleanups.
7519         Updated docs.
7520         Don't reset stream time when seek failed.
7521
7522 2006-03-13  Wim Taymans  <wim@fluendo.com>
7523
7524         * docs/design/draft-klass.txt:
7525         * docs/design/part-clocks.txt:
7526         * docs/design/part-events.txt:
7527         * docs/design/part-gstbin.txt:
7528         * docs/design/part-gstpipeline.txt:
7529         * docs/design/part-messages.txt:
7530         * docs/design/part-negotiation.txt:
7531         * docs/design/part-overview.txt:
7532         * docs/design/part-preroll.txt:
7533         * docs/design/part-seeking.txt:
7534         * docs/design/part-states.txt:
7535         * docs/design/part-streams.txt:
7536         Documentation updates.
7537
7538 2006-03-12  Julien MOUTTE  <julien@moutte.net>
7539
7540         * gst/gsttaglist.c: Fix rubbish docs that are encouraging
7541         us to leak strings...
7542
7543 2006-03-12  Thomas Vander Stichele  <thomas at apestaart dot org>
7544
7545         * libs/gst/net/gstnettimeprovider.c:
7546           fix docs
7547         * win32/common/config.h:
7548           update
7549
7550 2006-03-12  Tim-Philipp Müller  <tim at centricular dot net>
7551
7552         Patch by: Julio M. Merino Vidal <jmmv at netbsd org>
7553
7554         * configure.ac:
7555           Don't check for libgnomeui (leftover from old examples
7556           that aren't built or disted any longer) (#334303).
7557           
7558 2006-03-11  Tim-Philipp Müller  <tim at centricular dot net>
7559
7560         * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
7561         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
7562           Emit RESOURCE_NO_SPACE_LEFT error here as well when
7563           there's no space left on the device.
7564
7565 2006-03-10  Tim-Philipp Müller  <tim at centricular dot net>
7566
7567         * gst/gstclock.h:
7568           Fix GST_CLOCK_TIME_IS_VALID signedness issues - we need
7569           to cast the input to GstClockTime before comparing with
7570           another GstClockTime value.
7571
7572 2006-03-10  Thomas Vander Stichele  <thomas at apestaart dot org>
7573
7574         * configure.ac:
7575           back to trunk
7576
7577 === release 0.10.4 ===
7578
7579 2006-03-10  Thomas Vander Stichele <thomas at apestaart dot org>
7580
7581         * configure.ac:
7582           releasing 0.10.4, "Light"
7583
7584 2006-03-10  Michael Smith  <msmith@fluendo.com>
7585
7586         * libs/gst/dataprotocol/dataprotocol.c:
7587           Fix docs for dataprocotol to not get the return types completely
7588           wrong for a few functions.
7589
7590 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
7591
7592         * docs/gst/gstreamer-sections.txt:
7593         * gst/gstpipeline.c: (gst_pipeline_class_init),
7594         (gst_pipeline_init), (gst_pipeline_set_property),
7595         (gst_pipeline_get_property), (gst_pipeline_change_state),
7596         (gst_pipeline_set_auto_flush_bus),
7597         (gst_pipeline_get_auto_flush_bus):
7598         * gst/gstpipeline.h:
7599           Add new API: gst_pipeline_set_auto_flush_bus() and
7600           gst_pipeline_get_auto_flush_bus() to disable automatic
7601           flushing of the pipeline's GstBus when going from READY
7602           to NULL state (#332045).
7603
7604 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
7605
7606         * docs/gst/gstreamer-sections.txt:
7607         * gst/gsturi.c: (gst_uri_has_protocol):
7608         * gst/gsturi.h:
7609            Add new API: gst_uri_has_protocol() (#333779).
7610
7611 2006-03-09  Wim Taymans  <wim@fluendo.com>
7612
7613         * gst/gstclock.c: (gst_clock_entry_new),
7614         (gst_clock_id_compare_func), (gst_clock_id_wait),
7615         (gst_clock_id_wait_async), (gst_clock_id_unschedule),
7616         (gst_clock_init), (gst_clock_get_internal_time),
7617         (gst_clock_set_master), (do_linear_regression),
7618         (gst_clock_add_observation), (gst_clock_set_property):
7619         * gst/gstclock.h:
7620         Review docs.
7621         Small cleanups.
7622         Fix a possible segfault when the window-size is made smaller.
7623         Calculate jitter before performing the clock wait. Ideally
7624         the clock implementation should calculate jitter but we need
7625         API breakage for that.
7626
7627         * gst/gstsystemclock.c: (gst_system_clock_init):
7628         Docs review.
7629         
7630         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
7631         Remove leftover else
7632
7633         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
7634         (gst_systemclock_suite):
7635         Added check to test GST_CLOCK_DIFF.
7636
7637 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
7638
7639         * libs/gst/base/gsttypefindhelper.c: (helper_find_get_length),
7640         (gst_type_find_helper_get_range):
7641           If we are provided with the size, we should implement
7642           GstTypeFind::get_length, so that typefind functions who
7643           want to can actually peek at the middle of a file.
7644
7645 2006-03-08  Tim-Philipp Müller  <tim at centricular dot net>
7646
7647         * docs/manual/advanced-dataaccess.xml:
7648           Add some very very basic error checking.
7649
7650         * docs/pwg/appendix-checklist.xml:
7651           Some updates to the list of things to check when writing an element.
7652
7653 2006-03-08  Wim Taymans  <wim@fluendo.com>
7654
7655         * docs/design/part-element-transform.txt:
7656         Added some docs about the design of tranform elements.
7657
7658         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
7659         (gst_base_src_loop), (gst_base_src_change_state):
7660         Mark buffers with the DISCONT flag.
7661
7662 2006-03-08  Michael Smith  <msmith@fluendo.com>
7663
7664         * gst/gstregistry.h:
7665         * gst/gstregistryxml.c: (gst_registry_save),
7666         (gst_registry_save_escaped), (gst_registry_xml_save_caps),
7667         (gst_registry_xml_save_pad_template),
7668         (gst_registry_xml_save_feature), (gst_registry_xml_save_plugin),
7669         (gst_registry_xml_write_cache):
7670           Rewrite registry-saving to avoid race conditions and check for
7671           failed writes.
7672
7673 2006-03-08  Wim Taymans  <wim@fluendo.com>
7674
7675         * libs/gst/base/gstbasetransform.c:
7676         (gst_base_transform_transform_caps),
7677         (gst_base_transform_transform_size),
7678         (gst_base_transform_prepare_output_buffer),
7679         (gst_base_transform_get_unit_size),
7680         (gst_base_transform_buffer_alloc),
7681         (gst_base_transform_handle_buffer),
7682         (gst_base_transform_change_state):
7683         Cleanups, separate normal flow from errors, add sensible
7684         DEBUG lines.
7685         Don't try to renegotiate when allocating an output buffer.
7686         Also copy DISCONT buffer flag when copying a buffer.
7687         Reset the transform after we finish streaming, not during.
7688
7689 2006-03-08  Wim Taymans  <wim@fluendo.com>
7690
7691         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
7692         Use last buffer timestamp in qos message.
7693
7694 2006-03-07  Wim Taymans  <wim@fluendo.com>
7695
7696         Patch by: Christophe Fergeau
7697
7698         * docs/pwg/advanced-tagging.xml:
7699         * docs/pwg/building-pads.xml:
7700           fixes #333416
7701
7702 2006-03-07  Wim Taymans  <wim@fluendo.com>
7703
7704         * docs/libs/gstreamer-libs-sections.txt:
7705         Added basesink new methods.
7706
7707         * gst/gstevent.c:
7708         * gst/gstevent.h:
7709         Docs updates. Flesh out the QoS docs.
7710
7711         * libs/gst/base/gstadapter.c:
7712         Small doc clarification about ownership and flushing.
7713
7714         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_sync),
7715         (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
7716         (gst_base_sink_get_max_lateness), (gst_base_sink_set_property),
7717         (gst_base_sink_get_property), (gst_base_sink_do_sync):
7718         * libs/gst/base/gstbasesink.h:
7719         API additions: 
7720         Added new methods to allow subclass to control max-lateness 
7721         and sync.
7722         Generate very basic QoS events based on last sync observation.
7723         Updated docs, fix typo, added some QoS blurb.
7724
7725         * libs/gst/base/gstbasesrc.c:
7726         Remove obsolete _get_state() calls from docs.
7727
7728 2006-03-07  Wim Taymans  <wim@fluendo.com>
7729
7730         * docs/libs/gstreamer-libs-sections.txt:
7731         * libs/gst/base/gstbasetransform.h:
7732         API addition: Fix #333669, Add pad accessor defines for GstBaseTransform
7733         Fix docs for GstBaseSrc.
7734
7735 2006-03-07  Wim Taymans  <wim@fluendo.com>
7736
7737         * docs/gst/gstreamer-sections.txt:
7738         * gst/gstbuffer.h:
7739         * gst/gstvalue.c:
7740         * libs/gst/base/gstbasetransform.h:
7741         Small documentation fixes.
7742
7743 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
7744
7745         * gst/gstvalue.c:
7746           Document thread-unsafety of gst_value_register_foo_func()
7747           when used at the same time as gst_value_foo() (#322628).
7748
7749 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
7750
7751         * libs/gst/base/gstpushsrc.c: (gst_push_src_class_init),
7752         (gst_push_src_check_get_range):
7753           Push sources don't support pull mode by default.
7754
7755 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
7756
7757         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
7758         (gst_base_src_init), (gst_base_src_pad_check_get_range),
7759         (gst_base_src_default_check_get_range):
7760         * libs/gst/base/gstbasesrc.h:
7761           API addition:  Add ::check_get_range() vfunc to GstBaseSrc (#332611),
7762           provide default implementation, and rename
7763           gst_base_src_check_get_range() to
7764           gst_base_src_pad_check_get_range() for clarity.
7765
7766 2006-03-06  Wim Taymans  <wim@fluendo.com>
7767
7768         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
7769         Make property overridable.
7770
7771 2006-03-06  Wim Taymans  <wim@fluendo.com>
7772
7773         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
7774         (gst_base_sink_init), (gst_base_sink_set_property),
7775         (gst_base_sink_get_property), (gst_base_sink_do_sync):
7776         * libs/gst/base/gstbasesink.h:
7777         API addition: Make max-lateness a property.
7778
7779 2006-03-06  Wim Taymans  <wim@fluendo.com>
7780
7781         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock),
7782         (gst_base_sink_do_sync), (gst_base_sink_render_object):
7783         Don't ever draw a frame that is >10ms late.
7784
7785 2006-03-06  Michael Smith  <msmith@fluendo.com>
7786
7787         * gst/gstmessage.c: (_gst_message_copy):
7788           When copying a message, set the parent_refcount of the enclosed
7789           structure to point at the copy, not the original message.
7790
7791 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
7792
7793         Patch by: Christophe Fergeau
7794
7795         * gst/gstutils.h:
7796           Do proper cast here to make GST_BOILERPLATE_WITH_INTERFACE
7797           usable in c++ code (#333417)
7798
7799 2006-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7800
7801         * gst/gstclock.h:
7802           Show GST_CLOCK_TIME_NONE as 99:99:99.999999999
7803
7804 2006-03-05  Tim-Philipp Müller  <tim at centricular dot net>
7805
7806         * libs/gst/base/gstbasetransform.c:
7807         (gst_base_transform_transform_caps):
7808           Make sure caps are writable before passing them to
7809           gst_caps_append().
7810
7811 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
7812
7813         * gst/gsterror.h:
7814           Fix some minor docs errors.
7815
7816 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
7817
7818           Patch by: Ross Burton <ross at burtonini dot com>
7819
7820         * gst/gsterror.c: (_gst_resource_errors_init):
7821         * gst/gsterror.h:
7822           Add GST_RESOURCE_ERROR_NO_SPACE_LEFT (for #333352;
7823
7824 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
7825
7826         * gst/gst.c:
7827         Add a check and output a g_warning when GStreamer is built
7828         against GLib 2.6 but running against 2.8 or higher, and vice 
7829         versa. (Closes: #323542)
7830
7831 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
7832
7833         * gst/parse/parse.l:
7834           Commit patch for parse_launch syntax from #331255. Removes 
7835           support for quoted strings and mimetypes when writing filtered 
7836           caps. See the bug report for more details - I'm pretty sure this
7837           obscure feature is not in use by _anyone_ anywhere.
7838
7839           With this simple change, the size of the gstreamer.so here 
7840           drops from 2193KB to 1565KB.
7841
7842 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
7843
7844         * plugins/elements/gsttypefindelement.h:
7845         * plugins/elements/gsttypefindelement.c:
7846         (gst_type_find_element_src_event), (start_typefinding),
7847         (stop_typefinding), (gst_type_find_element_handle_event),
7848         (gst_type_find_element_chain),
7849         (gst_type_find_element_chain_do_typefinding):
7850           Use gst_type_find_helper_for_buffer() for chain-based
7851           typefinding.
7852
7853 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
7854
7855         * plugins/elements/gsttypefindelement.c:
7856         (gst_type_find_element_class_init),
7857         (gst_type_find_element_set_property),
7858         (gst_type_find_element_get_property):
7859           Deprecate "maximum" property (not only was it only taken into
7860           account for typefinding in push-mode anyway, it also was never
7861           actually possible to set it in the first place because the
7862           property was registered with the numeric property ID for the
7863           "minimum" property). Register "maximum" property correctly,
7864           for the sake of future copy'n'pasters. Remove some cruft
7865           from property get/set functions.
7866
7867 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
7868
7869         * plugins/elements/gsttypefindelement.c:
7870         (gst_type_find_element_activate):
7871           Use gst_type_find_helper_get_range() here, so we
7872           can honour the "minimum" property and also emit
7873           the signal with the correct probability of the found caps.
7874
7875 2006-03-02  Tim-Philipp Müller  <tim at centricular dot net>
7876
7877         * docs/libs/gstreamer-libs-sections.txt:
7878         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
7879         (helper_find_suggest), (gst_type_find_helper_get_range),
7880         (gst_type_find_helper):
7881         * libs/gst/base/gsttypefindhelper.h:
7882           New API: gst_type_find_helper_get_range() (#333042).
7883
7884 2006-03-02  Michael Smith  <msmith@fluendo.com>
7885
7886         * gst/gstregistryxml.c: (load_feature):
7887           Asserting on a failure to read part of the registry is Not Cool.
7888           Just log a warning and return NULL (which is already handled)
7889
7890 2006-02-28  Sebastien Moutte  <sebastien@moutte.net>
7891
7892         * win32/common/libgstbase.def:
7893           added export of gst_type_find_helper_for_buffer
7894         * win32/common/libgstbase.def:
7895           added some exports : gst_bin_iterate_elements, gst_iterator_resync,
7896           gst_ghost_pad_get_target
7897
7898 2006-02-28  Wim Taymans  <wim@fluendo.com>
7899
7900         * docs/design/draft-klass.txt:
7901         We use Filter now.
7902         Added Connector to mark elements that are only used to
7903         allow pipeline connections.
7904         Moved Debug to extra feature since most of them are 
7905         functionally something else.
7906
7907 2006-02-28  Wim Taymans  <wim@fluendo.com>
7908
7909         * docs/design/draft-klass.txt:
7910         Some updates and clarifications.
7911
7912 2006-02-28  Wim Taymans  <wim@fluendo.com>
7913
7914         * docs/design/draft-klass.txt:
7915         Proposal for klass field values.
7916
7917         * docs/design/part-streams.txt:
7918         Start of a doc describing stream anatomy.
7919
7920 2006-02-28  Wim Taymans  <wim@fluendo.com>
7921
7922         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_handle_message_func):
7923         Help the compiler a bit with type registration.
7924         Use existing forward cod path instead of duplicating it when 
7925         handling a message.
7926         
7927         * gst/gstbus.c: (gst_bus_get_type):
7928         * gst/gstcaps.c: (gst_caps_get_type), (gst_static_caps_get_type):
7929         * gst/gstchildproxy.c: (gst_child_proxy_get_type):
7930         * gst/gstclock.c: (gst_clock_get_type):
7931         * gst/gstelement.c: (gst_element_get_type),
7932         * gst/gstelementfactory.c: (gst_element_factory_get_type):
7933         * gst/gstindexfactory.c: (gst_index_factory_get_type):
7934         * gst/gstminiobject.c: (gst_mini_object_get_type):
7935         * gst/gstpad.c: (gst_pad_get_type):
7936         * gst/gstsegment.c: (gst_segment_get_type):
7937         * gst/gststructure.c: (gst_structure_get_type):
7938         * gst/gstsystemclock.c: (gst_system_clock_get_type):
7939         * gst/gsttask.c: (gst_task_get_type), (gst_task_join):
7940         * gst/gstvalue.c:
7941         Help compiler with type registration.
7942
7943         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
7944         Small doc update.
7945
7946 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
7947
7948         * plugins/elements/gsttypefindelement.c:
7949         (gst_type_find_element_handle_event):
7950           When we get an EOS event and have not found a type yet
7951           (most likely because we had not yet accumulated
7952           TYPE_FIND_MIN_SIZE of data yet), try to determine the
7953           type given the data we have so far. Fixes typefinding
7954           for very short streams again, most notably quicktime
7955           redirections as used on Apple's trailer site (#331701).
7956
7957 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
7958
7959         * libs/gst/base/gsttypefindhelper.c: (type_find_factory_rank_cmp),
7960         (gst_type_find_helper):
7961           Try typefinding factories with the highest rank first.
7962
7963 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
7964
7965         * docs/libs/gstreamer-libs-docs.sgml:
7966         * docs/libs/gstreamer-libs-sections.txt:
7967         * libs/gst/base/gsttypefindhelper.c:
7968           Add section for typefind helper and add documentation
7969           for the old and the new function.
7970
7971 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
7972
7973         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek),
7974         (buf_helper_find_suggest), (type_find_factory_rank_cmp),
7975         (gst_type_find_helper_for_buffer):
7976         * libs/gst/base/gsttypefindhelper.h:
7977           New API: gst_type_find_helper_for_buffer() (#332723).
7978           
7979 2006-02-27  Michael Smith  <msmith@fluendo.com>
7980
7981         Patch by: Loïc Minier
7982
7983         * configure.ac:
7984         * docs/Makefile.am:
7985         * docs/slides/Makefile.am:
7986           prevent CVS directories getting disted.
7987
7988 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
7989
7990         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref):
7991           Use the REFCOUNTING category for caps refcounting.
7992           
7993 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
7994
7995         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
7996           This should be 0 not GST_CLOCK_TIME_NONE (see #331701).
7997
7998 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
7999
8000         * plugins/elements/gsttypefindelement.c:
8001         (gst_type_find_element_activate):
8002           Use gst_pad_check_pull_range() before _activate_pull()
8003           to avoid unnecessary open/close (see #331690).
8004
8005 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
8006
8007         * gst/gstutils.c:
8008           Docs enhancement: make it crystal clear what the
8009           gst_pad_add_*_probe() callbacks should look like.
8010
8011 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
8012
8013         * libs/gst/base/gstbasesrc.c:
8014           Document how applications can stop recording from
8015           live sources (see #330996).
8016
8017 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
8018
8019         * tests/check/Makefile.am:
8020         * tests/check/libs/basesrc.c: (eos_event_counter),
8021         (basesrc_eos_events_pull), (basesrc_eos_events_push),
8022         (basesrc_eos_events_push_live_op), (basesrc_eos_events_pull_live_op),
8023         (gst_basesrc_suite), (main):
8024           ... and add some tests for the base source EOS stuff.
8025
8026 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
8027
8028         * tests/check/gst/gstutils.c: (test_buffer_probe_n_times):
8029           Test case originally showed the problem fixed below,
8030           but was then amended. Add checks back at the place
8031           where they used to be.
8032
8033 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
8034
8035         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
8036         (gst_base_src_init), (gst_base_src_loop),
8037         (gst_base_src_activate_push), (gst_base_src_activate_pull),
8038         (gst_base_src_change_state):
8039         * libs/gst/base/gstbasesrc.h:
8040           Don't unconditionally send EOS when going from PAUSED to
8041           READY state, esp. make sure we don't send two EOS events
8042           in some cases (e.g. one when reaching EOS and one when
8043           going from PAUSED to READY). Also, we don't want to send
8044           EOS events when operating in pull mode. However, we do
8045           want to send an EOS event when shutting down a live
8046           source explicitly, for example (fixes #330996).
8047           
8048 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
8049
8050         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
8051           Update src->read_position after a seek when not using mmap.
8052           Fixes #332277, patch by: Renchi Raju <renchi gmail com>
8053
8054 2006-02-21  Jan Schmidt  <thaytan@mad.scientist.com>
8055
8056         * gst/Makefile.am:
8057         * gst/gstparse.h:
8058         * gst/gstutils.c:
8059         * gst/gstutils.h:
8060         Make things work with --disable-parse as they do with 
8061         --disable-load-save - the symbols involved disappear, but the
8062         header is still installed and GST_DISABLE_PARSE is included via
8063         gstconfig.h
8064
8065 2006-02-20  Julien MOUTTE  <julien@moutte.net>
8066
8067         * libs/gst/base/gstbasetransform.c:
8068         (gst_base_transform_change_state): Fix a stupid bug. I was 
8069         sure I compiled that.
8070
8071 2006-02-20  Julien MOUTTE  <julien@moutte.net>
8072
8073         * gst/gstpad.c: (gst_pad_set_blocked_async):
8074         * gst/gstutils.c: (gst_pad_add_data_probe),
8075         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
8076         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
8077         (gst_pad_remove_buffer_probe): Make those function act on the
8078         ghostpad target when it's a ghostpad. (Closes #331727)
8079
8080 2006-02-20  Julien MOUTTE  <julien@moutte.net>
8081
8082         * libs/gst/base/gstbasetransform.c:
8083         (gst_base_transform_change_state): Make basetransform reusable.
8084         (Closes #331898)
8085
8086 2006-02-20  Jan Schmidt  <thaytan@mad.scientist.com>
8087
8088         * docs/random/release:
8089         Move the current documentation of how to do a release to the top
8090         of the file.
8091
8092         * gst/gstbin.c: (gst_bin_class_init),
8093         (gst_bin_handle_message_func):
8094         Allow multiple state-recalculation threads. (Closes #328873)
8095
8096 2006-02-19  Julien MOUTTE  <julien@moutte.net>
8097
8098         * gst/gstinfo.h: Add GST_STR_NULL to the second string.
8099         * gst/gstpad.c: (gst_pad_set_event_function),
8100         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
8101         (gst_pad_set_getcaps_function): GST_DEBUG_PAD_NAME evaluates to
8102         2 strings. You can't use the STR_NULL macro on that.
8103
8104 2006-02-19  Sebastien Moutte <sebastien@moutte.net>
8105
8106         * gst/gstpad.c: (gst_pad_set_event_function),
8107         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
8108         (gst_pad_set_getcaps_function)
8109         * gst/parse/grammar.y: (gst_parse_found_pad), (gst_parse_perform_delayed_link)
8110           Fixed NULL pointer used in GST_CAT_DEBUG using GST_STR_NULL macro
8111           So now, we can use --gst-debug-level=5 on Windows
8112         * win32/common/libgstcontroller.def:
8113           Added export of gst_controller_init
8114         * win32/vs6/libgstcontroller.dsp:
8115           Fixed Release post build configuration
8116
8117 2006-02-17  Wim Taymans  <wim@fluendo.com>
8118
8119         * tests/check/gst/gstquery.c: (GST_START_TEST):
8120         Added another check.
8121
8122 2006-02-15  Tim-Philipp Müller  <tim at centricular dot net>
8123
8124         * plugins/elements/gsttypefindelement.c: (find_peek):
8125           We can do peeks at non-zero offsets, as long as they
8126           fall within the buffer we have.
8127
8128 2006-02-15  Jan Schmidt  <thaytan@mad.scientist.com>
8129
8130         * tests/check/Makefile.am:
8131         * tests/check/pipelines/parse-launch.c: (setup_pipeline),
8132         (expected_fail_pipe), (check_pipeline_runs), (GST_START_TEST),
8133         (parse_suite), (main):
8134           Add testsuite for parse launch syntax
8135
8136 2006-02-14  Tim-Philipp Müller  <tim at centricular dot net>
8137
8138         * plugins/elements/gsttypefindelement.c:
8139         (gst_type_find_element_chain):
8140           When typefinding is unsuccessful in the chain function, don't
8141           error out immediately. Only error out with NO_CAPS_FOUND if
8142           the amount of data is at least MAX_TYPEFIND_SIZE bytes,
8143           otherwise simply wait for more data so we can try typefinding
8144           again with more data later. Also, don't attempt to typefind
8145           if we have less than MIN_TYPEFIND_SIZE data available. Overall,
8146           this should improve typefinding from network sources where the
8147           size of the first buffer can be somewhat random.
8148
8149 2006-02-14  Wim Taymans  <wim@fluendo.com>
8150
8151         * docs/gst/gstreamer-sections.txt:
8152         * gst/gstpadtemplate.c:
8153         * gst/gstpadtemplate.h:
8154         Fix padtemplate docs, fixes #328805.
8155
8156 2006-02-14  Wim Taymans  <wim@fluendo.com>
8157
8158         * tools/gst-launch.c: (main):
8159         NO_PREROLL is not an ERROR so don't send confusing messages
8160         to the user.
8161
8162 2006-02-14  Wim Taymans  <wim@fluendo.com>
8163
8164         Patch by: Torsten Schoenfeld
8165
8166         * gst/gstregistry.c: (gst_registry_get_default),
8167         (_gst_registry_cleanup):
8168         Protect default registry with lock and ref/sink it.
8169         Fixes #324818
8170
8171 2006-02-14  Wim Taymans  <wim@fluendo.com>
8172
8173         * gst/gstbuffer.c:
8174         * gst/gstquery.c: (gst_query_list_add_format),
8175         (gst_query_set_formatsv), (gst_query_parse_formats_length),
8176         (gst_query_parse_formats_nth):
8177         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
8178         Docs fixes.
8179
8180 2006-02-14  Wim Taymans  <wim@fluendo.com>
8181
8182         * docs/gst/gstreamer-sections.txt:
8183         Reworked query docs.
8184
8185         * gst/gstquery.c: (gst_query_new_formats),
8186         (gst_query_list_add_format), (gst_query_set_formats),
8187         (gst_query_set_formatsv), (gst_query_parse_formats_length),
8188         (gst_query_parse_formats_nth):
8189         * gst/gstquery.h:
8190         Flesh out formats query, added some new methods.
8191         Fix part of #324398.
8192
8193         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite):
8194         Added query creation tests.
8195
8196 2006-02-14  Jan Schmidt  <thaytan@mad.scientist.com>
8197
8198         * gst/gstpad.c: (fixate_value):
8199         Add a default fixation for fraction lists.
8200
8201 2006-02-13  Wim Taymans  <wim@fluendo.com>
8202
8203         * gst/gsttask.c: (gst_task_init), (gst_task_func),
8204         (gst_task_set_lock), (gst_task_start), (gst_task_pause),
8205         (gst_task_join):
8206         * gst/gsttask.h:
8207         Detect and warn for obvious deadlocks. fixes #320340
8208         Fix error case where lock was not released.
8209
8210         * tests/check/Makefile.am:
8211         * tests/check/gst/gsttask.c: (task_func2), (GST_START_TEST),
8212         (task_func), (gst_element_suite), (main):
8213         Add task check.
8214
8215 2006-02-13  Wim Taymans  <wim@fluendo.com>
8216
8217         * docs/gst/gstreamer-sections.txt:
8218         * gst/gstbus.c:
8219         Add new functions to docs.
8220
8221 2006-02-13  Wim Taymans  <wim@fluendo.com>
8222
8223         * docs/design/part-TODO.txt:
8224         Updated TODO list, basesrc supports seeking to non-bytes
8225         formats.
8226
8227         * docs/design/part-element-sink.txt:
8228         Update docs.
8229
8230         * gst/gstbin.c: (bin_replace_message),
8231         (gst_bin_handle_message_func):
8232         * gst/gstbus.c: (gst_bus_post), (gst_bus_pop):
8233         * gst/gstevent.c: (gst_event_finalize):
8234         * gst/gstpad.c: (gst_pad_event_default_dispatch),
8235         (gst_pad_send_event):
8236         Use shiny new _TYPE_NAME macros.
8237
8238         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
8239         Move debug statement up.
8240
8241         * gst/gstelement.c: (gst_element_set_locked_state):
8242         Add some debugging.
8243
8244 2006-02-13  Tim-Philipp Müller  <tim at centricular dot net>
8245
8246         * docs/gst/gstreamer-sections.txt:
8247         * gst/gstmessage.h:
8248         * gst/gstquery.h:
8249           New API: add GST_MESSAGE_TYPE_NAME and GST_QUERY_TYPE_NAME
8250           macros (#330906). Also, document the already existing
8251           GST_QUERY_TYPE macro.
8252
8253 2006-02-13  Wim Taymans  <wim@fluendo.com>
8254
8255         * tests/check/gst/gstutils.c: (data_probe), (buffer_probe),
8256         (event_probe), (GST_START_TEST):
8257         Only events up to the pipeline EOS are counted, there are
8258         some more when going to NULL currently which we don't care
8259         about for now.
8260
8261 2006-02-13  Wim Taymans  <wim@fluendo.com>
8262
8263         * gst/gstpad.c: (gst_pad_send_event):
8264         Correctly check flushing and emit probes. fixes #330125
8265
8266 2006-02-10  Andy Wingo  <wingo@pobox.com>
8267
8268         * gst/gstbus.c (gst_bus_class_init): Declare our private data
8269         structure.
8270         (gst_bus_init): Cache the location of the private data in the
8271         instance structure.
8272         (gst_bus_enable_sync_message_emission) 
8273         (gst_bus_disable_sync_message_emission): Implement new public
8274         functions.
8275         (gst_bus_post): Emit the sync-message signal if the user asked for
8276         it. Fixes #330684.
8277
8278         * gst/gstbus.h (GstBus): Use a padding pointer to cache the
8279         location of the bus-private structure.
8280         (gst_bus_enable_sync_message_emission)
8281         (gst_bus_disable_sync_message_emission): API addition
8282
8283 2006-02-10  Jan Schmidt  <thaytan@mad.scientist.com>
8284
8285         Patch by: Vincent Torri
8286
8287         * docs/pwg/building-boiler.xml:
8288         PWG patch from #326800
8289
8290 2006-02-09  Tim-Philipp Müller  <tim at centricular dot net>
8291
8292         * configure.ac:
8293         * docs/Makefile.am:
8294         * docs/design/Makefile.am:
8295           Dist design docs.
8296
8297 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
8298
8299         * configure.ac:
8300           back to CVS
8301
8302 === release 0.10.3 ===
8303
8304 2006-02-08  Jan Schmidt <thaytan@mad.scientist.com>
8305
8306         * configure.ac:
8307           releasing 0.10.3, "Like a virgin"
8308
8309 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
8310
8311         * configure.ac:
8312           2nd prerelease of 0.10.3
8313           Bump libtool versioning.
8314
8315 2006-02-07  Andy Wingo  <wingo@pobox.com>
8316
8317         * libs/gst/base/gstcollectpads.c (gst_collect_pads_chain): Only
8318         update last_stop if we're in TIME format and the timestamp is
8319         valid.
8320
8321         * libs/gst/base/gstcollectpads.c (gst_collect_pads_event) 
8322         * libs/gst/base/gstbasetransform.c (gst_base_transform_eventfunc): 
8323         * libs/gst/base/gstbasesink.c (gst_base_sink_configure_segment):
8324         If we get a new newsegment with a different format, adapt
8325         accordingly.
8326
8327         * gst/gstclock.c (gst_clock_set_calibration): Accept a numerator
8328         of 0. Not a problem, really.
8329
8330         * libs/gst/base/gstbasesink.c (gst_base_sink_chain_unlocked): Only
8331         warn if sync=true.
8332
8333 2006-02-06  Jan Schmidt  <thaytan@mad.scientist.com>
8334
8335         * configure.ac:
8336           Prelease of 0.10.3
8337
8338 2006-02-06  Sebastien Moutte  <sebastien@moutte.net>
8339
8340         * win32/vs7:
8341           project files updated to the default vs7 configuration
8342         * win32/common/libgstbase.def:
8343         * win32/common/libgstreamer.def:
8344           added new symbols,
8345           removed empty lines,
8346           sorted all exported symbols alphabetically
8347         * win32/common/dirent.c:
8348         * win32/common/dirent.h:
8349         * win32/common/gchar.h:
8350           use windows line end.
8351           
8352 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
8353
8354         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
8355           Send EOS event when stopping.
8356
8357 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
8358
8359         * docs/README:
8360           Tell folks what to do if the plugin-foobar.xml file
8361           hasn't been generated for a newly-added plugin.
8362
8363 2006-02-05  Julien MOUTTE  <julien@moutte.net>
8364
8365         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
8366         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
8367         (gst_collect_pads_start), (gst_collect_pads_stop),
8368         (gst_collect_pads_event): Collectpads now holds a reference
8369         to the GstPad that was added. Indeed we don't want to look
8370         at pads that might just go away with no warning...
8371
8372 2006-02-05  Julien MOUTTE  <julien@moutte.net>
8373
8374         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
8375         (gst_collect_pads_start), (gst_collect_pads_stop),
8376         (gst_collect_pads_event), (gst_collect_pads_chain):
8377         * libs/gst/base/gstcollectpads.h: Handle flush. Adapted from
8378         Mark Nauwelaerts's patch on bug #328491.
8379
8380 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
8381
8382         * tests/check/gst/gstutils.c: (test_parse_bin_from_description),
8383         (gst_utils_suite):
8384           Add some simple tests for gst_parse_bin_from_description() and
8385           gst_bin_find_unconnected_pad() (#329069).
8386
8387 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
8388
8389         * tools/gst-launch.c: (event_loop), (main):
8390           Catch errors during preroll (#320084).
8391
8392 2006-02-03  Tim-Philipp Müller  <tim at centricular dot net>
8393
8394         * plugins/elements/gsttypefindelement.c:
8395         (gst_type_find_element_activate):
8396           Post TYPE_NOT_FOUND error message when typefinding
8397           is unsuccessful in the activate function as well.
8398
8399 2006-02-02  Wim Taymans  <wim@fluendo.com>
8400
8401         * docs/design/part-element-sink.txt:
8402         Updated doc.
8403
8404 2006-02-02  Wim Taymans  <wim@fluendo.com>
8405
8406         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
8407         (gst_base_sink_render_object),
8408         (gst_base_sink_queue_object_unlocked):
8409         Only keep track of prerollable items when we are 
8410         prerolling.
8411         Before rendering after preroll, always check if we
8412         have queued items.
8413         Added some more debugging.
8414
8415 2006-02-02  Wim Taymans  <wim@fluendo.com>
8416
8417         * gst/gstelement.c: (gst_element_continue_state),
8418         (gst_element_set_state_func), (gst_element_change_state):
8419         Fixed #326576, been running this for quite some time with
8420         no regressions at all.
8421
8422 2006-02-02  Wim Taymans  <wim@fluendo.com>
8423
8424         * common/gst.supp:
8425         Added more suppressions
8426
8427 2006-02-02  Wim Taymans  <wim@fluendo.com>
8428
8429         * docs/design/part-element-sink.txt:
8430         Updated document.
8431
8432         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
8433         (gst_base_sink_finalize), (gst_base_sink_preroll_queue_flush),
8434         (gst_base_sink_configure_segment), (gst_base_sink_commit_state),
8435         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
8436         (gst_base_sink_do_sync), (gst_base_sink_render_object),
8437         (gst_base_sink_preroll_object),
8438         (gst_base_sink_queue_object_unlocked),
8439         (gst_base_sink_queue_object), (gst_base_sink_event),
8440         (gst_base_sink_chain_unlocked), (gst_base_sink_chain),
8441         (gst_base_sink_loop), (gst_base_sink_activate_pull),
8442         (gst_base_sink_get_position), (gst_base_sink_change_state):
8443         * libs/gst/base/gstbasesink.h:
8444         Totally refactored matching the design doc.
8445         Use two segments, one to clip incomming buffers and another to
8446         perform sync.
8447         Handle queueing correctly, bypass the queue when playing.
8448         Make EOS cancelable.
8449         Handle errors correctly when operating in pull based mode.
8450
8451         * tests/check/elements/fakesink.c: (GST_START_TEST),
8452         (fakesink_suite):
8453         Added new check for sinks.
8454
8455 2006-02-02  Wim Taymans  <wim@fluendo.com>
8456
8457         * gst/gstsegment.c: (gst_segment_clip):
8458         No reason to refuse to clip when start == -1
8459
8460 2006-02-02  Stefan Kost  <ensonic@users.sf.net>
8461
8462         * docs/README:
8463         * docs/manual/intro-basics.xml:
8464         * docs/manual/intro-preface.xml:
8465         * docs/manual/manual.xml:
8466         * docs/pwg/advanced-dparams.xml:
8467         * docs/pwg/intro-basics.xml:
8468         * docs/pwg/intro-preface.xml:
8469         * docs/pwg/pwg.xml:
8470           describe dparams (controller) for plugins
8471           unify docs a little more
8472
8473 2006-02-02  Tim-Philipp Müller  <tim at centricular dot net>
8474
8475         * docs/gst/gstreamer-sections.txt:
8476         * gst/gstutils.c: (element_find_unconnected_pad),
8477         (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description):
8478         * gst/gstutils.h:
8479           Add new API: gst_parse_bin_from_description() and
8480           gst_bin_find_unconnected_pad() (#329069).
8481
8482 2006-02-01  Stefan Kost  <ensonic@users.sf.net>
8483
8484         * docs/manual/README:
8485           uncover a nasty detail of the docs build
8486
8487 2006-01-31  Wim Taymans  <wim@fluendo.com>
8488
8489         * gst/gstbin.c: (bin_remove_messages), (bin_query_duration_done):
8490         Don't cache duration messages if we're not going to use or
8491         free them.
8492
8493 2006-01-31  Stefan Kost  <ensonic@users.sf.net>
8494
8495         * docs/manual/advanced-dparams.xml:
8496         * docs/pwg/advanced-dparams.xml:
8497           more dparam docs
8498         * gst/gstindex.c:
8499           fix docs
8500         * libs/gst/controller/lib.c: (gst_controller_init):
8501           init just once
8502
8503 2006-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
8504
8505         * gst/gstelement.c: (gst_element_message_full):
8506           also show file/line/func if no additional debug was given
8507
8508 2006-01-31  Sebastien Moutte  <sebastien@moutte.net>
8509         
8510         * win32/vs7/grammar.vcproj:
8511           activate copy of autogenerated files for Release mode
8512
8513 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
8514         
8515         * win32/common/libgstreamer.def:
8516           export gst_value_compare
8517
8518 2006-01-30  Jan Schmidt  <thaytan@mad.scientist.com>
8519
8520         * plugins/elements/Makefile.am:
8521         * plugins/elements/gstelements.c:
8522         * plugins/elements/gstfdsink.c: (_do_init),
8523         (gst_fd_sink_base_init), (gst_fd_sink_class_init),
8524         (gst_fd_sink_init), (gst_fd_sink_dispose), (gst_fd_sink_query),
8525         (gst_fd_sink_render), (gst_fd_sink_check_fd), (gst_fd_sink_start),
8526         (gst_fd_sink_stop), (gst_fd_sink_unlock), (gst_fd_sink_update_fd),
8527         (gst_fd_sink_set_property), (gst_fd_sink_uri_get_type),
8528         (gst_fd_sink_uri_get_protocols), (gst_fd_sink_uri_get_uri),
8529         (gst_fd_sink_uri_set_uri), (gst_fd_sink_uri_handler_init):
8530         * plugins/elements/gstfdsink.h:
8531         Port fdsink to 0.10 (patch by Philippe Rouquier) (Fixes #325490)
8532
8533 2006-01-30  Stefan Kost  <ensonic@users.sf.net>
8534
8535         * docs/manual/advanced-dparams.xml:
8536           describe controller
8537         * docs/manual/advanced-position.xml:
8538         * docs/manual/basics-init.xml:
8539         * docs/manual/manual.xml:
8540         * docs/manual/titlepage.xml:
8541         * docs/pwg/pwg.xml:
8542         * docs/pwg/titlepage.xml:
8543           cleanup xml (more to come)
8544         * libs/gst/controller/gstcontroller.c:
8545           fix typo
8546
8547 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
8548         
8549         * win32/vs6/grammar.dsp:
8550           add autogen of gstmarshal.c,h for Release mode
8551                 
8552 2006-01-30  Wim Taymans  <wim@fluendo.com>
8553
8554         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
8555         (gst_base_sink_preroll_queue_empty), (gst_base_sink_commit_state),
8556         (gst_base_sink_handle_object), (gst_base_sink_event),
8557         (gst_base_sink_is_prerolled), (gst_base_sink_wait),
8558         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
8559         (gst_base_sink_handle_buffer), (gst_base_sink_set_flushing),
8560         (gst_base_sink_deactivate), (gst_base_sink_activate),
8561         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
8562         (gst_base_sink_query), (gst_base_sink_change_state):
8563         Basesink cleanups, remove some old code.
8564         Handle the case where a subclass can preroll in the render
8565         method (mostly audiosinks).
8566         Handle more events.
8567         Remove some locks around variables that are now protected
8568         with the PREROLL_LOCK (clock_id, flushing, ..).
8569         Optimize position query some more, do correct locking.
8570         Remove old code to push queue in state change, this is not
8571         needed anymore since preroll blocks on all prerollable items 
8572         now.
8573         Almost implemented as described in design doc.
8574
8575 2006-01-30  Wim Taymans  <wim@fluendo.com>
8576
8577         * tests/check/gst/gstbin.c: (GST_START_TEST):
8578         Wait for refcount to settle down before checking.
8579
8580 2006-01-30  Wim Taymans  <wim@fluendo.com>
8581
8582         * docs/design/part-element-sink.txt:
8583         Pseudo code overview of desired sink behaviour regarding
8584         preroll.
8585
8586 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
8587         * win32/vs6/grammar.dsp:
8588           fix some bugs in Release mode for autogenerated files
8589                 
8590 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
8591         * win32/common/libgstbase.def:
8592         * win32/common/libgstreamer.def:
8593           export some new symbols: gst_base_src_set_format,
8594           gst_iterator_next, gst_structure_set_valist
8595
8596 2006-01-29  Julien MOUTTE  <julien@moutte.net>
8597
8598         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
8599         Set pad functions unconditionally. Fixes #329105.
8600
8601 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
8602         * win32/vs8:
8603           add vs8 project files created by Sergey Scobich
8604
8605 2006-01-28  Jan Schmidt  <thaytan@mad.scientist.com>
8606
8607         * gst/gstutils.c: (gst_element_unlink_pads):
8608         Don't leak pad references.
8609
8610         * tests/check/elements/fakesink.c: (GST_START_TEST):
8611         * tests/check/generic/sinks.c: (GST_START_TEST):
8612         * tests/check/generic/states.c: (GST_START_TEST):
8613         * tests/check/gst/gstbin.c: (GST_START_TEST):
8614         * tests/check/gst/gstcaps.c: (GST_START_TEST):
8615         * tests/check/gst/gstelement.c: (GST_START_TEST):
8616         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
8617         * tests/check/gst/gstiterator.c: (GST_START_TEST):
8618         * tests/check/gst/gstvalue.c: (GST_START_TEST):
8619         Fix a bunch of leaks. Make generic/sinks.c
8620         use a bit less cpu by slowing the buffer rate
8621         between fakesrc and fakesink.
8622         
8623 2006-01-27  Stefan Kost  <ensonic@users.sf.net>
8624         * gst/gstcaps.c:
8625         * gst/gstelement.c: (gst_element_send_event):
8626         * gst/gstevent.c:
8627         * gst/gstinfo.c:
8628         * gst/gstiterator.c:
8629         * gst/gstiterator.h:
8630         * gst/gstpad.c: (gst_pad_send_event):
8631         * gst/gststructure.c:
8632         * gst/gsturi.c:
8633         * gst/gstutils.c:
8634         * gst/gstvalue.c:
8635         * libs/gst/base/gstadapter.c:
8636           doc fixes, to link to function, just write gst_cool_function(), don't
8637           prefix with '#'
8638
8639 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
8640
8641         * plugins/elements/gsttee.c: (gst_tee_do_push),
8642         (gst_tee_handle_buffer):
8643         Always prefer an actual return value from a src
8644         pad in place of NOT_LINKED. This means we return
8645         WRONG_STATE when all src pads are WRONG_STATE
8646         instead of NOT_LINKED.
8647
8648         Lock when replacing the last message to prevent
8649         racing with the get_property method.
8650
8651         Add debug output
8652
8653 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
8654
8655         * tests/check/Makefile.am:
8656         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite),
8657         (main):
8658         Add a very simple check that should have caught the memleak I fixed
8659         last night (if not for the slice allocator hiding it)
8660
8661 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
8662
8663         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
8664         (gst_bin_remove_func), (gst_bin_handle_message_func),
8665         (bin_query_duration_fold), (bin_query_generic_fold):
8666         Clean up references to the clock provider when disposed or when
8667         handling a clock-lost message from it.
8668
8669         Unref sinks when performing a query via gst_iterator_fold, as the
8670         gst_bin_iterate_sinks iterator refs each item. (Fixes #323874)
8671
8672         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_dispose),
8673         (gst_clock_set_master):
8674         Drop our reference to the master clock, if any, when we are disposed.
8675
8676         * gst/gsttypefindfactory.c: (gst_type_find_factory_dispose):
8677         Chain up in dispose. 
8678
8679 2006-01-26  Wim Taymans  <wim@fluendo.com>
8680
8681         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
8682         Add some debugging.
8683
8684 2006-01-26  Julien MOUTTE  <julien@moutte.net>
8685
8686         * plugins/elements/gsttee.c: (gst_tee_do_push),
8687         (gst_tee_handle_buffer): Apply patch from #328715. Tee now
8688         handles pad being NOT_LINKED or in WRONG_STATE.
8689
8690 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
8691
8692         * win32/MANIFEST:
8693           more updating
8694
8695 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
8696
8697         * win32/MANIFEST:
8698           remove obsolete entry
8699
8700 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
8701
8702         * docs/gst/gstreamer-sections.txt:
8703         * gst/gstbin.c: (bin_element_is_src), (src_iterator_filter),
8704         (gst_bin_iterate_sources), (gst_bin_send_event):
8705         * gst/gstbin.h:
8706         * gst/gstelement.c: (gst_element_send_event):
8707         * gst/gstevent.c:
8708         * gst/gstpad.c: (gst_pad_send_event):
8709           added code for downstream events, reviewed docs in gstevent.c
8710
8711 2006-01-25  Julien MOUTTE  <julien@moutte.net>
8712
8713         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
8714         We only query position using the clock in the playing state.
8715         Query peer in the other cases.
8716         * win32/common/config.h: Updates.
8717
8718 2006-01-24  Wim Taymans  <wim@fluendo.com>
8719
8720         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
8721         A clock entry that is scheduled for the exact time of the
8722         clock is still in time.
8723
8724         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8725         (gst_base_sink_do_sync):
8726         Add some more debug info.
8727
8728 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
8729
8730         * win32/vs7:
8731           Add new vs7 project files and solution.
8732
8733 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
8734
8735         * win32/vs7:
8736           all files removed as they were out-dated.
8737
8738 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8739
8740         * docs/random/release:
8741           update notes
8742         * gst/gstbin.c: (gst_bin_init):
8743         * gst/gstbus.c: (gst_bus_new):
8744         * gst/gstbus.h:
8745         * gst/gstpipeline.c: (gst_pipeline_init):
8746           use gst_bus_new(), improve logging, fix docs
8747         * win32/common/config.h:
8748           update for cvs build
8749
8750 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8751
8752         * autogen.sh:
8753           up required version of automake to 1.7
8754
8755 2006-01-20  Sebastien Moutte  <sebastien@moutte.net>
8756
8757         * win32/common/libgstreamer.def:
8758           export gst_buffer_is_metadata_writable
8759
8760 2006-01-20  Tim-Philipp Müller  <tim at centricular dot net>
8761
8762         * docs/gst/gstreamer-sections.txt:
8763         * gst/gstevent.h:
8764           Add gst_event_replace() (#327001)
8765
8766 2006-01-20  Wim Taymans  <wim@fluendo.com>
8767
8768         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
8769         Make it actually compile too..
8770
8771 2006-01-20  Wim Taymans  <wim@fluendo.com>
8772
8773         * gst/gstcaps.c:
8774         Clarify behaviour of _is_equal() when passing NULL parameters.
8775
8776         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
8777         (gst_pad_set_caps):
8778         Cleanups. Don't unref NULL caps.
8779         When setting the same caps, protect caps of the pad with
8780         proper lock.
8781         Use full functionality of _is_equal() when comparing caps.
8782
8783 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
8784
8785         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
8786         Don't loop infinitely if there are no buffers to present. Partially
8787         fixes #327197, but collectpads is just broken for reusing elements
8788         to do multiple encodes atm.
8789
8790 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
8791
8792         * tools/gst-inspect.c: (print_element_features):
8793         * tools/gst-xmlinspect.c: (main):
8794         URL_HANDLER is not a plugin feature we can search for in
8795         the registry.
8796
8797 2006-01-19  Edward Hervey  <edward@fluendo.com>
8798
8799         * gst/gstelement.c: (gst_element_pads_activate): 
8800         When activating, do src pads first, then sink pads.
8801         When de-activating, do sink pads first, then src pads.
8802
8803 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
8804
8805         * docs/gst/gstreamer-sections.txt:
8806         Add gst_index_add_associationv to the docs
8807
8808 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
8809
8810         * gst/gstevent.c:
8811           Fix docs typo
8812
8813         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event),
8814         (gst_queue_chain), (gst_queue_push_one), (gst_queue_loop):
8815           Do some refactoring. Doesn't actually change functionality,
8816           but makes landing the DRAIN event easier later.
8817
8818 2006-01-19  Tim-Philipp Müller  <tim at centricular dot net>
8819
8820         * docs/pwg/advanced-scheduling.xml:
8821           Update from 0.9.x to 0.10 API and make example a bit
8822           clearer.
8823
8824 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
8825
8826         * docs/gst/gstreamer-sections.txt:
8827         Add gst_buffer_(is|make)_metadata_writable methods.
8828
8829 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
8830
8831         * docs/design/part-sparsestreams.txt:
8832         Update sparse streams doc, hopefully for greater clarity
8833
8834 2006-01-18  Jan Schmidt  <thaytan@mad.scientist.com>
8835
8836         * docs/design/part-events.txt:
8837         Remove mention of FILLER events.
8838         Add DRAIN event.
8839
8840         * docs/design/part-sparsestreams.txt:
8841         Write some things about using NEWSEGMENT to keep sparse streams
8842         flowing.
8843
8844 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
8845
8846         * gst/gstbin.c: (gst_bin_dispose):
8847           Guard gst_object_unref call against a NULL object (dispose
8848           can theoretically be called multiple times).
8849           
8850 2006-01-18  Wim Taymans  <wim@fluendo.com>
8851
8852         * gst/gstbin.c: (gst_bin_element_set_state):
8853         * gst/gstclock.c: (gst_clock_id_wait):
8854         Added some more debug info.
8855
8856         * libs/gst/base/gstadapter.c:
8857         Added more docs.
8858
8859         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8860         (gst_base_sink_do_sync), (gst_base_sink_chain):
8861         Added some comments.
8862
8863 2006-01-18  Wim Taymans  <wim@fluendo.com>
8864
8865         * tests/check/Makefile.am:
8866         * tests/check/elements/fakesink.c: (chain_async_buffer),
8867         (chain_async), (chain_async_return), (GST_START_TEST),
8868         (fakesink_suite), (main):
8869         Added fakesink test that checks prerolling and clipping
8870         behaviour.
8871
8872         * tests/check/gst/gstutils.c: (GST_START_TEST):
8873         Make check run faster so that buildbots don't timeout.
8874
8875 2006-01-18  Wim Taymans  <wim@fluendo.com>
8876
8877         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8878         (gst_base_sink_do_sync):
8879         Some cleanups.
8880         When the sink finishes blocking on the preroll buffer, it can
8881         immediatly render it instead of rendering when the next buffer
8882         arrives.
8883
8884 2006-01-18  Wim Taymans  <wim@fluendo.com>
8885
8886         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_property),
8887         (gst_base_sink_get_property), (gst_base_sink_do_sync),
8888         (gst_base_sink_chain):
8889         Small cleanups.
8890         GST_ELEMENT_CLOCK and sync are protected with LOCK.
8891         Don't store _last_stop if the buffer is dropped.
8892
8893 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
8894
8895         * plugins/elements/gsttypefindelement.c:
8896         (gst_type_find_element_class_init):
8897           'have-type' signal needs to be G_SIGNAL_RUN_FIRST, as it is the
8898           object method handler that sets the caps on the pad and we want
8899           that to happen before we emit the signal (fixes e.g. feeding a
8900           plain text file to decodebin).
8901
8902 2006-01-18  Christian Schaller  <Christian@fluendo.com>
8903
8904         * gst/gstplugin.c: Add MPL and Proprietary as license options
8905
8906 2006-01-18  Andy Wingo  <wingo@pobox.com>
8907
8908         * gst/gstindex.h (gst_index_add_associationv): Add to header. The
8909         symbol was exported before, it appears this was just an oversight.
8910         Fixes #168703.
8911         Patch by: Torsten Schoenfeld <kaffeetisch at gmx.de>
8912
8913         * gst/gstindex.c (gst_index_add_associationv): Changed int in
8914         prototype to gint. OK since this prototype was not in the header.
8915
8916 2006-01-17  Andy Wingo  <wingo@pobox.com>
8917
8918         * gst/gstregistry.c (_gst_registry_remove_cache_plugins): Lock the
8919         registry while we remove plugins.
8920
8921         * tools/gst-inspect.c (print_element_info): Don't unref the
8922         factory arg, that should be the responsibility of whatever code
8923         received the ref. Fixes a double-free when called from
8924         print_element_list via gst-inspect-0.10 -a. Fixes #327324.
8925         (main): Unref the factory if we have one.
8926         (print_element_list): No change -- relies on the
8927         plugin_feature_list_free to free the list of features.
8928
8929 2006-01-17  Jan Schmidt  <thaytan@mad.scientist.com>
8930
8931         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
8932         (gst_buffer_make_metadata_writable):
8933         * gst/gstbuffer.h:
8934         * libs/gst/base/gstbasetransform.c:
8935         (gst_base_transform_prepare_output_buf):
8936         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
8937         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
8938           Replace gst_buffer_(make|is)_metadata_writable patch now
8939           that the release is out.
8940
8941 2006-01-17  Andy Wingo  <wingo@pobox.com>
8942
8943         * gst/gstregistry.c: Reflow design comment. Update so as to speak
8944         in the present tense without reference to versions.
8945
8946         * gst/gstregistry.c (gst_registry_add_plugin)
8947         (gst_registry_remove_plugin, gst_registry_remove_feature)
8948         (gst_registry_find_feature, gst_registry_get_feature_list)
8949         (gst_registry_get_plugin_list, gst_registry_lookup_feature)
8950         (gst_registry_lookup, gst_registry_scan_path)
8951         (_gst_registry_remove_cache_plugins)
8952         (gst_registry_get_feature_list_by_plugin): Add argument
8953         validation.
8954
8955 === release 0.10.2 ===
8956
8957 2006-01-16  Thomas Vander Stichele <thomas at apestaart dot org>
8958
8959         * configure.ac:
8960           releasing 0.10.2, "If man is five"
8961
8962 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
8963
8964         * gst/gstbuffer.c:
8965         * gst/gstbuffer.h:
8966         * libs/gst/base/gstbasetransform.c:
8967         (gst_base_transform_prepare_output_buf):
8968         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
8969         * tests/check/gst/gstbuffer.c: (gst_test_suite):
8970           Back out patch until after the release.
8971
8972 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
8973
8974         * gst/gstminiobject.c:
8975           Spelling fix in docs.
8976         * ChangeLog - remove conflict indicator
8977
8978 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
8979
8980         Reviewed By: Andy Wingo
8981
8982         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
8983         (gst_buffer_make_metadata_writable):
8984         * gst/gstbuffer.h:
8985           Add gst_buffer_(is|make)_metadata_writable as analogues of
8986           gst_buffer_(is|make)_writable.
8987
8988         * libs/gst/base/gstbasetransform.c:
8989         (gst_base_transform_prepare_output_buf):
8990         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
8991           Use name gst_buffer_(is|make)_metadata_writable functions.
8992
8993         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
8994           Test gst_buffer_(is|make)_metadata_writable
8995         
8996           (Closes: #324162)
8997
8998 2006-01-14  Thomas Vander Stichele  <thomas at apestaart dot org>
8999
9000         * docs/manual/Makefile.am:
9001           don't do parallel make
9002         * configure.ac:
9003           AC_SUBST HOST_CPU
9004         * win32/common/config.h.in:
9005           add generations for HOST_CPU and GST_MAJORMINOR
9006         * win32/common/config.h:
9007           commit generated result
9008
9009 2006-01-13  Tim-Philipp Müller  <tim at centricular dot net>
9010
9011         * docs/manual/appendix-integration.xml:
9012           Update GNOME integration section to use gst_init_get_option_group()
9013           instead of the old popt stuff (#322911). Also, GNOME applications
9014           should  now use gconf*sink and gconf*src instead of the old gconf
9015           helper lib we had.
9016
9017 2006-01-13  Stefan Kost  <ensonic@users.sf.net>
9018
9019
9020         * docs/gst/gstreamer-docs.sgml:
9021         * docs/gst/gstreamer-sections.txt:
9022         * docs/libs/gstreamer-libs-sections.txt:
9023           add new API entries to the docs
9024         * libs/gst/controller/Makefile.am:
9025         * libs/gst/controller/gstcontroller.c:
9026         * libs/gst/controller/gstcontroller.h:
9027         * libs/gst/controller/gstcontrollerprivate.h:
9028         * libs/gst/controller/gsthelper.c:
9029         * libs/gst/controller/gstinterpolation.c:
9030           move private structs to private header
9031         * po/README:
9032           gstreamer-0.7 -> gstreamer-0.10
9033         * tests/check/libs/struct_i386.h:
9034           remove private structs
9035
9036 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9037
9038         * plugins/indexers/Makefile.am:
9039           Fixes as part of #317048
9040
9041 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9042
9043         * plugins/indexers/Makefile.am:
9044           fix #316086 - compilation when mmap is missing
9045
9046 2006-01-12  Sebastien Moutte  <sebastien@moutte.net>
9047
9048         * libs/gst/base/gstbasesink.c:
9049           *cur = (now - base) * basesink->segment.abs_rate + time; replaced by 
9050           *cur = gst_guint64_to_gdouble(now - base) * basesink->segment.abs_rate + time; for vs6
9051         * win32/common/config.h:
9052           added some defines GST_MAJORMINOR and HOST_CPU
9053         * win32/common/libgstbase.def:
9054         * win32/common/libgstreamer.def:
9055           added some exported functions.
9056
9057 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
9058
9059         * libs/gst/controller/gstcontroller.c:
9060         (gst_controlled_property_set_interpolation_mode),
9061         (gst_controlled_property_new):
9062         * libs/gst/controller/gstcontroller.h:
9063         * libs/gst/controller/gstinterpolation.c:
9064         (interpolate_none_get_string_value_array):
9065           make G_TYPE_STRING controlable
9066
9067 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
9068
9069         * tools/README:
9070         * tools/gst-feedback.1.in:
9071         * tools/gst-inspect.1.in:
9072         * tools/gst-launch.1.in:
9073         * tools/gst-md5sum.1.in:
9074         * tools/gst-typefind.1.in:
9075         * tools/gst-xmlinspect.1.in:
9076         * tools/gst-xmllaunch.1.in:
9077           cleanup man-pages, remove reference to gst-register, document env-vars
9078
9079 2006-01-12  Jan Schmidt  <thaytan@mad.scientist.com>
9080
9081         * gst/gstbuffer.c: (gst_buffer_span):
9082           gst_buffer_span should copy the timestamp of the first buffer
9083           if they were both originally overlapping subbuffers of the 
9084           same parent, using the same logic as the 'slow copy' case.
9085
9086 2006-01-11  Jan Schmidt  <thaytan@mad.scientist.com>
9087
9088         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop):
9089           Need to awaken ALL the pads when we pop a buffer, otherwise
9090           collectpads only works when there is 2 input streams.
9091
9092 2006-01-11  Stefan Kost  <ensonic@users.sf.net>
9093
9094         * docs/random/ensonic/media-device-daemon.txt:
9095           more ideas (dbus)
9096         * gst/gstbuffer.c:
9097           fix doc example, add clarification
9098         * tools/gst-launch.1.in:
9099           add initial info about GST_PLUGIN_PATH, needs more work
9100
9101 2006-01-11  Tim-Philipp Müller  <tim at centricular dot net>
9102
9103         * docs/manual/basics-bins.xml:
9104         * docs/manual/basics-elements.xml:
9105         * docs/manual/intro-basics.xml:
9106           Some more minor docs additions and updates.
9107
9108 2006-01-11  Wim Taymans  <wim@fluendo.com>
9109
9110         * docs/manual/basics-bins.xml:
9111         * docs/manual/basics-elements.xml:
9112         Some small fixes as pointed out by Ser-ver on IRC.
9113
9114 2006-01-10  Edward Hervey  <edward@fluendo.com>
9115
9116         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
9117         Set the buffer offset/offset_end to GST_CLOCK_TIME_NONE when using
9118         the single-segment mode.
9119
9120 2006-01-10  Brian Cameron  <brian dot cameron at sun dot com>
9121
9122         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
9123
9124         * libs/gst/base/gstbasesrc.c: (gst_base_src_init),
9125         (gst_base_src_perform_seek), (gst_base_src_send_event),
9126         (gst_base_src_set_property), (gst_base_src_get_property),
9127         (gst_base_src_loop), (gst_base_src_start),
9128         (gst_base_src_activate_push):
9129         * libs/gst/base/gstbasesrc.h:
9130           Name (private) union; makes Sun's Forte compiler happy (#324900).
9131
9132 2006-01-09  Tim-Philipp Müller  <tim at centricular dot net>
9133
9134         * README:
9135           gst-register is gone.
9136
9137 2006-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
9138
9139         * gst/gstvalue.c: (_gst_value_initialize):
9140           make the G_TYPE_DATE instantiation work if debug is disabled
9141
9142 2006-01-06  Tim-Philipp Müller  <tim at centricular dot net>
9143
9144         * gst/gstmessage.c: (gst_message_parse_tag),
9145         (gst_message_parse_error), (gst_message_parse_warning):
9146           Don't crash when return location for error/warning debug
9147           string is NULL; add fact that return locations can be
9148           NULL to docs where appropriate.
9149
9150 2006-01-05  Wim Taymans  <wim@fluendo.com>
9151
9152         * gst/gstplugin.c: (gst_plugin_load_file):
9153         Replace strdup by g_strdup.
9154
9155 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
9156
9157         * docs/pwg/advanced-types.xml:
9158           fix doc borkage
9159
9160 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
9161
9162         submitted by: Abel Cheung
9163
9164         * po/LINGUAS:
9165         * po/zh_TW.po:
9166           Added Chinese (traditional) translation
9167
9168 2006-01-04  Wim Taymans  <wim@fluendo.com>
9169
9170         * docs/manual/basics-pads.xml:
9171         * docs/plugins/Makefile.am:
9172         * docs/plugins/gstreamer-plugins-docs.sgml:
9173         * docs/plugins/gstreamer-plugins-sections.txt:
9174         * docs/pwg/advanced-clock.xml:
9175         * docs/pwg/advanced-scheduling.xml:
9176         * docs/pwg/advanced-types.xml:
9177         * plugins/elements/gstfdsink.c:
9178         * plugins/elements/gstfdsrc.c:
9179         * plugins/elements/gstfdsrc.h:
9180         * plugins/elements/gstidentity.c: (gst_identity_class_init):
9181         * plugins/elements/gstidentity.h:
9182         * plugins/elements/gstqueue.h:
9183         * plugins/elements/gsttee.c:
9184         * plugins/elements/gsttee.h:
9185         * plugins/elements/gsttypefindelement.c:
9186         (gst_type_find_element_class_init):
9187         * plugins/elements/gsttypefindelement.h:
9188         Small updates to various docs.
9189         Added core plugins to docs.
9190
9191 2006-01-03  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
9192
9193         * common/gst.supp:
9194           add a suppression for liboil's uninitialized variable
9195
9196 2006-01-02  James Livingston  <jrl at ids dot org dot au>
9197
9198         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
9199
9200         * gst/gstutils.h:
9201           Add prototype for _get_type() function to GST_BOILERPLATE_FULL
9202           macro, so that gcc doesn't complain if the -Wmissing-prototypes
9203           compiler switch is being used (#325429).
9204
9205 2005-12-29  Tim-Philipp Müller  <tim at centricular dot net>
9206
9207         * gst/gstbin.c: (gst_bin_query):
9208           Disable duration query caching in bins until it gets
9209           fixed (see #324807).
9210
9211 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
9212
9213         * tools/gst-inspect.c: (print_element_properties_info):
9214           Handle properties of POINTER and BOXED type.
9215
9216 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
9217
9218         * gst/gst.c: (init_post):
9219           Init tags stuff and some other things before loading
9220           any static plugins (there may be other static plugins
9221           than just the GStreamer ones, and they may want to
9222           register their own tags or formats or whatever, and
9223           preferably without segfaulting).
9224
9225         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
9226           Print at least a warning in the debug logs if we drop a
9227           query just because we don't know how to adjust the value
9228           in the particular format.
9229
9230 2005-12-24  David Schleef  <ds@schleef.org>
9231
9232         * tools/gstreamer-completion:
9233           Replacement for gst-complete written in sh and sed.  Only
9234           completes names of features, but that's 90% of what I want
9235           it for.  Properties are not available in registry.xml.  (Maybe
9236           they should be...)
9237
9238 === release 0.10.1 ===
9239
9240 2005-12-23  Thomas Vander Stichele <thomas at apestaart dot org>
9241
9242         * configure.ac:
9243           releasing 0.10.1, "Nollaig chridheil"
9244
9245 2005-12-22  Tim-Philipp Müller  <tim at centricular dot net>
9246
9247         * docs/faq/cvs.xml:
9248           Add missing quote, should be make ERROR_CFLAGS="".
9249
9250 2005-12-20  Wim Taymans  <wim@fluendo.com>
9251
9252         * docs/design/part-trickmodes.txt:
9253         More documentation on trickmodes.
9254
9255 2005-12-20  Edward Hervey  <edward@fluendo.com>
9256
9257         * gst/gstcaps.c: (gst_static_caps_get_type):
9258         * gst/gstcaps.h:
9259           API addition: GST_TYPE_STATIC_CAPS
9260         Added gpointer GType for GstStaticCaps so we can wrap them in bindings.
9261         * gst/gstpadtemplate.c: (gst_static_pad_template_get_type):
9262         * gst/gstpadtemplate.h:
9263           API addition: GST_TYPE_STATIC_PAD_TEMPLATE
9264         Added gpointer GType for GstStaticPadTemplate so we can wrap them in
9265         bindings.
9266
9267 2005-12-18  Wim Taymans  <wim@fluendo.com>
9268
9269         * libs/gst/base/gstadapter.c:
9270         * libs/gst/base/gstadapter.h:
9271         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
9272         (gst_base_sink_get_position):
9273         * libs/gst/base/gstbasesink.h:
9274         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
9275         (gst_base_src_default_query), (gst_base_src_default_do_seek),
9276         (gst_base_src_do_seek), (gst_base_src_perform_seek),
9277         (gst_base_src_send_event), (gst_base_src_update_length),
9278         (gst_base_src_get_range), (gst_base_src_loop),
9279         (gst_base_src_start):
9280         * libs/gst/base/gstbasesrc.h:
9281         * libs/gst/base/gstbasetransform.h:
9282         * libs/gst/base/gstcollectpads.h:
9283         * libs/gst/base/gstpushsrc.c:
9284         * libs/gst/base/gstpushsrc.h:
9285         * libs/gst/dataprotocol/dataprotocol.c:
9286         * libs/gst/dataprotocol/dataprotocol.h:
9287         * libs/gst/net/gstnetclientclock.h:
9288         * libs/gst/net/gstnettimeprovider.h:
9289         Documentation updates.
9290
9291 2005-12-18  Tim-Philipp Müller  <tim at centricular dot net>
9292
9293         * docs/manual/basics-helloworld.xml:
9294           Remove superfluous closing bracket in helloworld example.
9295
9296 2005-12-17  Tim-Philipp Müller  <tim at centricular dot net>
9297
9298         * tools/gst-launch.1.in:
9299           Update gst-launch man page; add a section with useful
9300           environment variables. Fixes #323882.
9301
9302 2005-12-16  Stefan Kost  <ensonic@users.sf.net>
9303
9304         * gst/gst.c:
9305         * gst/gst_private.h:
9306           change some char* into char[]
9307
9308 2005-12-16  Wim Taymans  <wim@fluendo.com>
9309
9310         * gst/gstregistryxml.c: (load_feature):
9311         Cleanups.
9312         Don't use g_object_unref on GstObjects so that we avoid
9313         leaks on unsafe glibs.
9314
9315 2005-12-16  Wim Taymans  <wim@fluendo.com>
9316
9317         * gst/gstbin.c: (gst_bin_recalc_state):
9318         Small doc updates.
9319
9320 2005-12-16  Wim Taymans  <wim@fluendo.com>
9321
9322         * common/check.mak:
9323         Added make forever target for check.
9324
9325 2005-12-16  Thomas Vander Stichele  <thomas at apestaart dot org>
9326
9327         * gst/gst.c: (init_post):
9328           make the registry cache file HOST_CPU-dependent
9329
9330 2005-12-16  Andy Wingo  <wingo@pobox.com>
9331
9332         * plugins/elements/gstbufferstore.c
9333         (gst_buffer_store_cleared_func): Pay attention to g_list_append
9334         return value.
9335
9336         * tests/check/gst/gstobject.c
9337         (test_fake_object_name_threaded_unique): Pay attention to
9338         g_list_sort return value.
9339
9340 2005-12-16  Tim-Philipp Müller  <tim at centricular dot net>
9341
9342         * tools/gst-feedback-m.m:
9343           Update for 0.9/0.10 (fixes #323870).
9344
9345 2005-12-15  Tim-Philipp Müller  <tim at centricular dot net>
9346
9347         * gst/gstminiobject.c: (gst_value_mini_object_lcopy):
9348           Fix lcopy for mini objects, the mini object needs to be ref'ed.
9349           
9350         * tests/check/gst/gstminiobject.c: (my_foo_init),
9351         (my_foo_get_property), (my_foo_set_property), (my_foo_class_init),
9352         (test_value_collection), (gst_mini_object_suite):
9353           Add test to ensure refcounts end up as expected when passing
9354           GstMiniObjects through g_object_get() and g_object_set().
9355
9356 2005-12-14  Julien MOUTTE  <julien@moutte.net>
9357
9358         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
9359         (gst_collect_pads_remove_pad), (gst_collect_pads_is_collected),
9360         (gst_collect_pads_event), (gst_collect_pads_chain): Refactoring
9361         of collectpads. This version removes a lot of races without
9362         touching API/ABI. Yay !
9363
9364 2005-12-14  Jan Schmidt  <thaytan@mad.scientist.com>
9365
9366         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_link_prepare):
9367           Don't allow activation of a srcpad in pull_range if it has no
9368           getrange function.
9369           Change some debug statements to be a little clearer
9370
9371         * plugins/elements/gsttypefindelement.c:
9372         (gst_type_find_handle_src_query):
9373           Check that we have a peer before executing queries thereupon.
9374
9375         * tests/examples/metadata/read-metadata.c: (message_loop):
9376           Use gst_bus_pop instead of gst_bus_poll when we just want it to
9377           immediately return us any available message with 0 timeout.
9378
9379 2005-12-12  Michael Smith  <msmith@fluendo.com>
9380
9381         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
9382           Don't unref factories after calling them.
9383         * libs/gst/base/gsttypefindhelper.c: (gst_type_find_helper):
9384         * plugins/elements/gsttypefindelement.c:
9385         (gst_type_find_element_chain):
9386           Free lists of factories after using them. Fixing typefinding memory
9387           leaks.
9388
9389 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
9390
9391         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
9392         (gst_plugin_feature_load):
9393           more meaningful debug output
9394         * configure.ac:
9395         * tests/Makefile.am:
9396         * tests/old/examples/Makefile.am:
9397           make make distcheck happy again
9398
9399 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
9400
9401         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
9402           Catch the special case where we are operating chain-based,
9403           but the downstream peer pad has no chain function. Emit a
9404           custom error message in this case instead of letting the
9405           core generate one implying that this is some sort of core
9406           bug. It's not, it just means that whatever got plugged
9407           into the pipeline downstream when we announced the type
9408           can only operate pull-based, while our source can only
9409           operate push-based (e.g. http://foo/bar.mov ! qtdemux ! ...)
9410           Error string has not been marked for translation yet, as
9411           it probably needs some more work first.
9412
9413         (gst_type_find_element_get_best_possibility):
9414           Add helper function to find the best of all available
9415           found possibilities that qualify given the min. threshold.
9416
9417         (gst_type_find_element_handle_event):
9418           Fix the case where we get an EOS while still in TYPEFIND
9419           mode (we want to chose the best of all possible types,
9420           not just the first type that happens to be in our unsorted
9421           list of possible types).
9422
9423         (gst_type_find_element_chain):
9424           Make sure we return GST_FLOW_ERROR when we errored out
9425           in stop_typefinding(); also, don't just find the best of
9426           all found type entries and then use the last examined
9427           type entry, but actually use the best entry.
9428
9429 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
9430
9431         * tests/examples/typefind/typefind.c: (type_found):
9432         * tests/examples/xml/runxml.c: (xml_loaded):
9433           More gcc4 fixes and a mem leak fix.
9434
9435 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
9436
9437         * tests/examples/xml/createxml.c: (object_saved):
9438           gcc 4 fixes
9439
9440 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
9441
9442         * tests/Makefile.am:
9443           enable the examples even more
9444
9445 2005-12-12  Andy Wingo  <wingo@pobox.com>
9446
9447         * libs/gst/net/gstnettimeprovider.c
9448         (gst_net_time_provider_class_init, gst_net_time_provider_init)
9449         (gst_net_time_provider_set_property)
9450         (gst_net_time_provider_get_property):
9451         API addition: Export "active" as a GObject property.
9452         (gst_net_time_provider_thread): Only respond to time queries if
9453         the time provider is active.
9454
9455         * libs/gst/net/gstnettimeprovider.h: Add an "active" boolean to
9456         NetTimeProvider, preserving binary compat.
9457
9458 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
9459
9460         * tests/examples/controller/audio-example.c: (main):
9461         * tests/examples/launch/Makefile.am:
9462           convert comments again
9463
9464 2005-12-12  Wim Taymans  <wim@fluendo.com>
9465
9466         * libs/gst/base/gstpushsrc.c:
9467         Fix typo.
9468
9469 2005-12-12  Wim Taymans  <wim@fluendo.com>
9470
9471         * docs/libs/gstreamer-libs-sections.txt:
9472         Added new symbol to docs.
9473
9474         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
9475         (gst_base_src_init), (gst_base_src_set_format),
9476         (gst_base_src_default_query), (gst_base_src_query),
9477         (gst_base_src_default_do_seek), (gst_base_src_do_seek),
9478         (gst_base_src_perform_seek), (gst_base_src_send_event),
9479         (gst_base_src_default_event), (gst_base_src_event_handler),
9480         (gst_base_src_set_property), (gst_base_src_get_property),
9481         (gst_base_src_wait), (gst_base_src_do_sync),
9482         (gst_base_src_update_length), (gst_base_src_get_range),
9483         (gst_base_src_check_get_range), (gst_base_src_loop),
9484         (gst_base_src_default_negotiate), (gst_base_src_start),
9485         (gst_base_src_activate_push), (gst_base_src_activate_pull),
9486         (gst_base_src_change_state):
9487         * libs/gst/base/gstbasesrc.h:
9488         Implement seeking to other formats than _BYTES.
9489         Implement more seeking methods correctly.
9490         Doc updates.
9491         Added query vmethod.
9492         Added do_seek vmethod to make life easier for subclasses
9493         when seeking.
9494         API addition: gst_base_src_set_format()
9495
9496 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
9497
9498         * tests/examples/Makefile.am:
9499           added that too
9500
9501 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
9502
9503         * configure.ac:
9504         * docs/random/ensonic/media-device-daemon.txt:
9505         * tests/examples/controller/.cvsignore:
9506         * tests/examples/controller/Makefile.am:
9507         * tests/examples/controller/audio-example.c: (main):
9508         * tests/examples/helloworld/.cvsignore:
9509         * tests/examples/helloworld/Makefile.am:
9510         * tests/examples/helloworld/helloworld.c: (event_loop), (main):
9511         * tests/examples/launch/.cvsignore:
9512         * tests/examples/launch/Makefile.am:
9513         * tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
9514         * tests/examples/metadata/.cvsignore:
9515         * tests/examples/metadata/Makefile.am:
9516         * tests/examples/metadata/read-metadata.c: (message_loop),
9517         (make_pipeline), (print_tag), (main):
9518         * tests/examples/queue/.cvsignore:
9519         * tests/examples/queue/Makefile.am:
9520         * tests/examples/queue/queue.c: (event_loop), (main):
9521         * tests/examples/typefind/.cvsignore:
9522         * tests/examples/typefind/Makefile.am:
9523         * tests/examples/typefind/typefind.c: (type_found), (event_loop),
9524         (main):
9525         * tests/examples/xml/.cvsignore:
9526         * tests/examples/xml/Makefile.am:
9527         * tests/examples/xml/createxml.c: (object_saved), (main):
9528         * tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
9529         * tests/old/examples/Makefile.am:
9530         * tests/old/examples/TODO:
9531         * tests/old/examples/controller/.cvsignore:
9532         * tests/old/examples/controller/Makefile.am:
9533         * tests/old/examples/controller/audio-example.c:
9534         * tests/old/examples/helloworld/.cvsignore:
9535         * tests/old/examples/helloworld/Makefile.am:
9536         * tests/old/examples/helloworld/helloworld.c:
9537         * tests/old/examples/launch/.cvsignore:
9538         * tests/old/examples/launch/Makefile.am:
9539         * tests/old/examples/launch/mp3parselaunch.c:
9540         * tests/old/examples/launch/mp3play:
9541         * tests/old/examples/manual/Makefile.am:
9542         * tests/old/examples/metadata/Makefile.am:
9543         * tests/old/examples/metadata/read-metadata.c:
9544         * tests/old/examples/queue/.cvsignore:
9545         * tests/old/examples/queue/Makefile.am:
9546         * tests/old/examples/queue/queue.c:
9547         * tests/old/examples/typefind/.cvsignore:
9548         * tests/old/examples/typefind/Makefile.am:
9549         * tests/old/examples/typefind/typefind.c:
9550         * tests/old/examples/xml/.cvsignore:
9551         * tests/old/examples/xml/Makefile.am:
9552         * tests/old/examples/xml/createxml.c:
9553         * tests/old/examples/xml/runxml.c:
9554           applied some simple fixing to some examples
9555           re-enabled the working examples
9556
9557 2005-12-12  Wim Taymans  <wim@fluendo.com>
9558
9559         * gst/gstsegment.c: (gst_segment_init),
9560         (gst_segment_set_last_stop), (gst_segment_set_seek),
9561         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
9562         (gst_segment_to_running_time):
9563         Added more documentation.
9564         Make sure the last_pos value is updated properly.
9565         Make sure to_stream_time and to_running_time don't
9566         operate on wrong values.
9567
9568         * tests/check/gst/gstsegment.c: (GST_START_TEST):
9569         Update check.
9570
9571 2005-12-12  Michael Smith  <msmith@fluendo.com>
9572
9573         * plugins/elements/gsttypefindelement.c: (free_entry),
9574         (gst_type_find_element_chain):
9575           Now that we're not leaking factories, make sure we keep references
9576           to them while we need them.
9577
9578 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9579
9580         * tests/check/gst/struct_i386.h:
9581           ifdef out the XML structs
9582
9583 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9584
9585         * gst/gstvalue.c: (gst_value_transform_double_fraction):
9586           floor is not needed, F is always positive; this obviates the
9587           need for adding -lm when building without libxml
9588
9589 2005-12-12  Wim Taymans  <wim@fluendo.com>
9590
9591         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
9592         Take current playback rate into account when reporting
9593         the position.
9594
9595 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
9596
9597         * docs/manual/mime-world.fig:
9598           Let's try this again, this time with a file that is
9599           actually in XFig format.
9600
9601 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
9602
9603         * docs/manual/mime-world.fig:
9604           Add audioconvert element to diagram so that it
9605           matches the text and the code (fixes #319526).
9606
9607 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
9608
9609         * docs/pwg/building-chainfn.xml:
9610         * docs/pwg/building-pads.xml:
9611         * docs/pwg/building-state.xml:
9612         * docs/pwg/other-source.xml:
9613           Update state change stuff for 0.10 (fixes #322969).
9614
9615 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
9616
9617         * docs/manual/advanced-dataaccess.xml:
9618         * docs/manual/appendix-checklist.xml:
9619         * docs/manual/appendix-programs.xml:
9620         * docs/manual/basics-pads.xml:
9621         * docs/manual/highlevel-components.xml:
9622         * docs/manual/manual.xml:
9623           Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
9624           add converters in front of pipelines; remove curly
9625           brackets for threads stuff, they no longer exist; use
9626           GST_TYPE_FRACTION for framerates; update some pieces of
9627           code to 0.10, but there's plenty more to do.
9628
9629         * docs/manual/appendix-porting.xml:
9630           Expand on asynchroneous state changes; s/0.9/0.10/;
9631           mention disappearance of gst_init_get_popt_table()
9632           (fixes #322916).
9633
9634 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
9635
9636         * docs/faq/using.xml:
9637           Spider no longer exists, and neither does gst-launch-ext.
9638           Update examples to use decodebin and playbin and put
9639           converters in front of sinks (fixes #323726).
9640
9641 2005-12-09  Michael Smith  <msmith@fluendo.com>
9642
9643         * plugins/elements/gsttypefindelement.c: (find_peek),
9644         (gst_type_find_element_chain):
9645           Fix leaking element factories in typefinding.
9646           Fix problem where we forgot about a probable type on non-seekable
9647           files, and thus later mis-typefound it.
9648
9649 2005-12-09  Michael Smith  <msmith@fluendo.com>
9650
9651         * common/m4/gst-makecontext.m4:
9652         * common/m4/gst-mcsc.m4:
9653         * configure.ac:
9654         * win32/common/config.h:
9655         * win32/common/config.h.in:
9656           Remove makecontext stuff; not used in 0.10 and causes problems on
9657           HPUX according to bug #322441
9658
9659 2005-12-07  Wim Taymans  <wim@fluendo.com>
9660
9661         * tests/check/Makefile.am:
9662         * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
9663         (main):
9664         * tests/check/libs/struct_i386.h:
9665         Added ABI check for libs
9666
9667 2005-12-07  Wim Taymans  <wim@fluendo.com>
9668
9669         * tests/check/Makefile.am:
9670         And add the struct_i386.h to dist.
9671
9672 2005-12-07  Wim Taymans  <wim@fluendo.com>
9673
9674         * tests/check/Makefile.am:
9675         * tests/check/gst/.cvsignore:
9676         * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
9677         (main):
9678         * tests/check/gst/struct_i386.h:
9679         Added check for ABI compatibility.
9680
9681 2005-12-07  Wim Taymans  <wim@fluendo.com>
9682
9683         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
9684         (gst_fake_src_get_times), (gst_fake_src_create):
9685         Fix broken sync option, fixes #323259
9686
9687 2005-12-07  Wim Taymans  <wim@fluendo.com>
9688
9689         * gst/gstbuffer.c:
9690         Small docs update.
9691
9692         * gst/gstcaps.c: (gst_caps_is_equal):
9693         Don't assert on NULL <--> X. Fixes #323260
9694
9695         * gst/gstminiobject.c: (gst_mini_object_replace):
9696         If we're doing atomic operations, we might just as well use
9697         the proper way to get an atomic pointer.
9698
9699         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
9700         Clean up debugging.
9701
9702 2005-12-07  Michael Smith  <msmith@fluendo.com>
9703
9704         * gst/parse/grammar.y:
9705           Remove handling of { } for threads.
9706
9707 2005-12-06  David Schleef  <ds@schleef.org>
9708
9709         * libs/gst/base/gstbasetransform.c: speling fix.
9710
9711 2005-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
9712
9713         * docs/libs/tmpl/gstdataprotocol.sgml:
9714         * docs/random/omega/testing/gstobject.c:
9715         * gst/gst.c:
9716         * gst/gstclock.c:
9717         * gst/gstelement.c:
9718         * gst/gstelementfactory.c:
9719         * gst/gsterror.c:
9720         * gst/gstevent.c:
9721         * gst/gstghostpad.c:
9722         * gst/gstinfo.c:
9723         * gst/gstpadtemplate.c:
9724         * gst/gstregistryxml.c:
9725         * gst/gsttaglist.c:
9726         * gst/gsttagsetter.c:
9727         * gst/gsttypefind.c:
9728         * gst/gstvalue.c:
9729         * libs/gst/base/gstbasesrc.c:
9730         * libs/gst/net/gstnetclientclock.c:
9731         * libs/gst/net/gstnettimeprovider.c:
9732         * plugins/elements/gstfakesrc.c:
9733         * plugins/elements/gstfdsrc.c:
9734         * plugins/elements/gstfilesrc.c:
9735         * plugins/elements/gstidentity.c:
9736         * plugins/elements/gstqueue.c:
9737         * plugins/elements/gsttypefindelement.c:
9738         * plugins/indexers/gstfileindex.c:
9739         * plugins/indexers/gstmemindex.c:
9740         * tests/check/gst/gsttag.c:
9741         * tests/old/examples/cutter/cutter.c:
9742         * tests/old/examples/mixer/mixer.c:
9743         * tests/old/examples/xml/runxml.c: (main):
9744         * tests/old/testsuite/caps/normalisation.c:
9745         * tests/old/testsuite/debug/global.c:
9746         * tests/old/testsuite/parse/parse1.c:
9747         * tools/gst-xmlinspect.c:
9748         * win32/common/dirent.c:
9749           expand tabs
9750
9751 === release 0.10.0 ===
9752
9753 2005-12-05  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
9754
9755         * configure.ac:
9756           releasing 0.10.0, "Maroilles"
9757
9758 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
9759
9760         submitted by: Funda Wang <fundawang@linux.net.cn>
9761
9762         * po/LINGUAS:
9763         * po/zh_CN.po:
9764           added Chinese (Traditional) translation
9765
9766 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
9767
9768         * docs/gst/gstreamer-sections.txt:
9769         * docs/libs/tmpl/gstdataprotocol.sgml:
9770         * docs/random/thomasvs/TODO:
9771         * gst/gstutils.c:
9772         * gst/gstutils.h:
9773           fix docs
9774
9775 2005-12-05  Andy Wingo  <wingo@pobox.com>
9776
9777         patch by: Wim Taymans <wim@fluendo.com>
9778
9779         * libs/gst/base/gstbasetransform.c
9780         (gst_base_transform_prepare_output_buf)
9781         (gst_base_transform_buffer_alloc):
9782         * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
9783         alloc_buffer_and_set_caps.
9784
9785         * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
9786         set_caps on the source pad.
9787         (gst_pad_alloc_buffer_and_set_caps): New function, does what
9788         alloc_buffer used to do. Fixes #322874.
9789
9790         * docs/gst/gstreamer-sections.txt: 
9791         * docs/design/part-negotiation.txt: 
9792         * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
9793         changes.
9794
9795 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
9796
9797         patch by: Sebastien Moutte
9798
9799         * win32/MANIFEST:
9800         * win32/common/config.h.in:
9801         * win32/vs6/libgstcontroller.dsp:
9802           win32 build fixes
9803
9804 2005-12-05  Wim Taymans  <wim@fluendo.com>
9805
9806         * gst/gstcaps.c: (gst_caps_is_equal):
9807         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
9808         (gst_fake_src_create):
9809         Back out previous code changes, leave doc updates, file bugs 
9810         instead. 
9811
9812 2005-12-05  Wim Taymans  <wim@fluendo.com>
9813
9814         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
9815         (gst_fake_src_get_times), (gst_fake_src_create):
9816         * plugins/elements/gstfakesrc.h:
9817         Fix broken sync code.
9818
9819 2005-12-05  Wim Taymans  <wim@fluendo.com>
9820
9821         * gst/gstcaps.c: (gst_caps_is_equal):
9822         Comparing NULL against !NULL yields different caps, not a
9823         failure.
9824
9825 2005-12-05  Wim Taymans  <wim@fluendo.com>
9826
9827         * gst/gstpipeline.c:
9828         Fix small typo in docs.
9829
9830 2005-12-05  Andy Wingo  <wingo@pobox.com>
9831
9832         patch by: Thomas Vander Stichele  <thomas at apestaart dot org>
9833
9834         * gst/gst.c (init_post): remove hard-coded 0.9 location for
9835         registries/plugins with a MAJORMINOR one.
9836         (plugin_desc): Rename library from gstcoreleements to
9837         staticelements. Fixes #323222.
9838
9839 2005-12-05  Tim-Philipp Müller  <tim at centricular dot net>
9840
9841         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
9842           Change debug category to 'collectpads' from 'collect_pads'
9843           (fixes #323250).
9844
9845 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
9846
9847         patch by: Sebastien Moutte
9848
9849         * libs/gst/controller/gstinterpolation.c:
9850           use convert function for uint64/double
9851         * win32/vs6/libgstcontroller.dsp:
9852           link to GLib
9853
9854 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
9855
9856         * gst/gstutils.c: (gst_util_guint64_to_gdouble),
9857         (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
9858         * gst/gstutils.h:
9859         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
9860           add tests that seem to show that the guint64/gdouble conversions
9861           are correct.
9862
9863 2005-12-02  Wim Taymans  <wim@fluendo.com>
9864
9865         * gst/gstregistry.c: (gst_registry_add_path):
9866         * gst/gstregistry.h:
9867         * gst/gstregistryxml.c:
9868         Fix docs again.
9869
9870 2005-12-02  Wim Taymans  <wim@fluendo.com>
9871
9872         * gst/gstutils.c: (gst_util_uint64_scale_int64),
9873         (gst_util_uint64_scale_int):
9874         Small cleanup.
9875
9876         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
9877         Add debug log line.
9878
9879         * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
9880         Add FIXME.
9881
9882 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
9883
9884         * win32/MANIFEST:
9885         * win32/common/config.h:
9886         * win32/vs6/gstreamer.dsw:
9887         * win32/vs6/libgstcoreelements.dsp:
9888         * win32/vs6/libgstelements.dsp:
9889           renamed core elements plugin
9890
9891 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
9892
9893         * tools/gst-run.c: (compare_major_minor), (find_highest_version),
9894         (get_candidates):
9895           do piece-wise major/minor comparison so 0.9 < 0.10
9896           also allow .exe extensions for tools
9897
9898 2005-12-02  Michael Smith  <msmith@fluendo.com>
9899
9900         * gst/gst.c:
9901           Escape a % to make gtkdoc happier; bug 322958.
9902
9903 === release 0.9.7 ===
9904
9905 2005-12-01  Thomas Vander Stichele <thomas (at) apestaart (dot) org>
9906
9907         * configure.ac:
9908           releasing 0.9.7, "My Dog Has No Nose"
9909
9910 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
9911
9912         * common/gst-xmlinspect.py:
9913         * configure.ac:
9914         * docs/libs/tmpl/gstdataprotocol.sgml:
9915         * docs/random/release:
9916         * po/af.po:
9917         * po/az.po:
9918         * po/bg.po:
9919         * po/ca.po:
9920         * po/cs.po:
9921         * po/de.po:
9922         * po/en_GB.po:
9923         * po/fr.po:
9924         * po/it.po:
9925         * po/nb.po:
9926         * po/nl.po:
9927         * po/ru.po:
9928         * po/sq.po:
9929         * po/sr.po:
9930         * po/sv.po:
9931         * po/tr.po:
9932         * po/uk.po:
9933         * po/vi.po:
9934         * win32/common/config.h:
9935         * win32/common/config.h.in:
9936         * win32/vs6/gst_inspect.dsp:
9937         * win32/vs6/gst_launch.dsp:
9938         * win32/vs6/libgstbase.dsp:
9939         * win32/vs6/libgstelements.dsp:
9940         * win32/vs6/libgstreamer.dsp:
9941         * win32/vs7/GStreamer.vcproj:
9942         * win32/vs7/gst-inspect.vcproj:
9943         * win32/vs7/gst-launch.vcproj:
9944         * win32/vs7/libgstbase.vcproj:
9945           bump GST_MAJORMINOR to 0.10
9946           reset libtool version
9947
9948 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
9949
9950         * po/LINGUAS:
9951         * po/bg.po:
9952           Added Bulgarian translation by (Alexander Shopov)
9953
9954 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
9955
9956         * tests/check/gst/gstplugin.c:
9957           fix test
9958
9959 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
9960
9961         * common/gst-xmlinspect.py:
9962         * common/gtk-doc-plugins.mak:
9963         * configure.ac:
9964         * docs/Makefile.am:
9965         * docs/gst/Makefile.am:
9966         * docs/gst/gstreamer-docs.sgml:
9967         * docs/gst/gstreamer-sections.txt:
9968         * docs/gst/gstreamer.types:
9969         * docs/gst/gstreamer.types.in:
9970         * docs/plugins/Makefile.am:
9971         * docs/plugins/gstreamer-plugins-docs.sgml:
9972         * docs/plugins/gstreamer-plugins-sections.txt:
9973         * docs/plugins/gstreamer-plugins.types:
9974         * docs/plugins/inspect.stamp:
9975         * docs/plugins/inspect/plugin-coreelements.xml:
9976         * docs/plugins/inspect/plugin-coreindexers.xml:
9977         * docs/plugins/scanobj-build.stamp:
9978         * gstreamer.spec.in:
9979         * plugins/elements/Makefile.am:
9980         * plugins/elements/gstelements.c:
9981         * plugins/elements/gstfakesink.c:
9982         * plugins/elements/gstfakesrc.c:
9983         * plugins/elements/gstfilesink.c:
9984         * plugins/elements/gstfilesrc.c:
9985         * plugins/elements/gstqueue.c:
9986         * plugins/indexers/Makefile.am:
9987         * plugins/indexers/gstindexers.c:
9988           document core plugins in a separate document just like all the
9989           others
9990           rename these plugins to something starting with core
9991
9992 2005-12-01  Andy Wingo  <wingo@pobox.com>
9993
9994         * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
9995         padding here before, but it missed the commit.
9996
9997 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
9998
9999         * libs/gst/controller/gstinterpolation.c:
10000           whitespace prices have crashed, we should feel free to use some now
10001           use gst_guint64_to_gdouble
10002
10003 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
10004
10005         * libs/gst/controller/gstcontroller.c:
10006         * libs/gst/controller/gsthelper.c:
10007         * libs/gst/controller/gstinterpolation.c:
10008         * libs/gst/controller/lib.c:
10009           wrap config.h include
10010
10011 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
10012
10013         * docs/gst/gstreamer-sections.txt:
10014           update docs
10015
10016 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
10017
10018         * plugins/elements/gstelements.c:
10019         * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
10020         (gst_fd_sink__class_init), (gst_fd_sink__init),
10021         (gst_fd_sink__chain), (gst_fd_sink__set_property),
10022         (gst_fd_sink__get_property):
10023         * plugins/elements/gstfdsink.h:
10024         * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
10025         (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
10026         (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
10027         (gst_fd_src_unlock), (gst_fd_src_set_property),
10028         (gst_fd_src_get_property), (gst_fd_src_create),
10029         (gst_fd_src_is_seekable), (gst_fd_src_get_size),
10030         (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
10031         (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
10032         (gst_fd_src_uri_handler_init):
10033         * plugins/elements/gstfdsrc.h:
10034         * plugins/elements/gstqueue.c: (gst_queue_get_type):
10035           more anal cleanup
10036
10037 2005-11-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
10038
10039         * docs/gst/Makefile.am:
10040         * docs/gst/gstreamer.types.in:
10041         * gst/Makefile.am:
10042           fix the docs build
10043
10044 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10045
10046         * configure.ac:
10047         * gst/Makefile.am:
10048         * gst/gst.c:
10049         * gst/gstplugin.h:
10050         * gst/gstregistry.h:
10051         * tests/benchmarks/complexity.c:
10052         * tests/benchmarks/mass-elements.c:
10053         * tests/check/Makefile.am:
10054         * tools/Makefile.am:
10055         * tools/gst-inspect.c:
10056         * tools/gst-xmlinspect.c:
10057           various fixes to make
10058           --disable-nls --disable-registry --disable-loadsave
10059           --disable-parse --disable-gst-debug
10060           work and get the core .so down to 360444 bytes after stripping
10061
10062 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10063
10064         * Makefile.am:
10065         * configure.ac:
10066           descend into tests
10067         * docs/random/thomasvs/TODO:
10068         * tests/Makefile.am:
10069         * tests/README:
10070           add a README
10071
10072 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10073
10074         * win32/GStreamer.vcproj:
10075         * win32/MANIFEST:
10076         * win32/Makefile:
10077         * win32/Makefile.inspect:
10078         * win32/Makefile.launch:
10079         * win32/Makefile.register:
10080         * win32/README.txt:
10081         * win32/gst-inspect.vcproj:
10082         * win32/gst-launch.vcproj:
10083         * win32/gst-register.vcproj:
10084         * win32/gstelements.vcproj:
10085         * win32/gstgetbits.def:
10086         * win32/gstgetbits.vcproj:
10087         * win32/gstreamer-dbg.def:
10088         * win32/gstreamer.def:
10089         * win32/libgstbase.def:
10090         * win32/libgstbase.vcproj:
10091         * win32/link_oldruntime.c:
10092         * win32/mman.c:
10093         * win32/mman.h:
10094         * win32/mman.inl:
10095         * win32/msvc71.sln:
10096           move even more stuff, win32/ is nice and clean now
10097
10098 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10099
10100         * libs/gst/control/.cvsignore:
10101         * win32/MANIFEST:
10102         * win32/config.h:
10103         * win32/dirent.c:
10104         * win32/dirent.h:
10105         * win32/gstbytestream.def:
10106         * win32/gstbytestream.vcproj:
10107         * win32/gstconfig.h:
10108         * win32/gstenumtypes.c:
10109         * win32/gstenumtypes.h:
10110         * win32/gstoptimalscheduler.vcproj:
10111         * win32/gstversion.h:
10112         * win32/gtchar.h:
10113         * win32/testsuite/bins.vcproj:
10114         * win32/testsuite/bytestream.vcproj:
10115         * win32/testsuite/caps.vcproj:
10116         * win32/testsuite/cleanup.vcproj:
10117         * win32/testsuite/clock.vcproj:
10118         * win32/testsuite/debug.vcproj:
10119         * win32/testsuite/dlopen.vcproj:
10120         * win32/testsuite/dynparams.vcproj:
10121         * win32/testsuite/elements.vcproj:
10122         * win32/testsuite/ghostpads.vcproj:
10123         * win32/testsuite/indexers.vcproj:
10124         * win32/testsuite/negotiation.vcproj:
10125         * win32/testsuite/parse.vcproj:
10126         * win32/testsuite/plugin.vcproj:
10127         * win32/testsuite/refcounting.vcproj:
10128         * win32/testsuite/schedulers.vcproj:
10129         * win32/testsuite/states.vcproj:
10130         * win32/testsuite/tags.vcproj:
10131         * win32/testsuite/threads.vcproj:
10132           remove old win32 stuff that isn't maintained and should be
10133           reorganized
10134
10135 2005-11-30  Andy Wingo  <wingo@pobox.com>
10136
10137         * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
10138         loading the gst.interfaces python module bork.
10139
10140         * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
10141         available since GLib 2.2. Fixes #318031.
10142
10143 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10144
10145         * Makefile.am:
10146         * check/.cvsignore:
10147         * check/Makefile.am:
10148         * check/elements/.cvsignore:
10149         * check/elements/fakesrc.c:
10150         * check/elements/fdsrc.c:
10151         * check/elements/identity.c:
10152         * check/generic/.cvsignore:
10153         * check/generic/states.c:
10154         * check/gst-libs/.cvsignore:
10155         * check/gst-libs/controller.c:
10156         * check/gst-libs/gdp.c:
10157         * check/gst/.cvsignore:
10158         * check/gst/capslist.h:
10159         * check/gst/gst.c:
10160         * check/gst/gstbin.c:
10161         * check/gst/gstbuffer.c:
10162         * check/gst/gstbus.c:
10163         * check/gst/gstcaps.c:
10164         * check/gst/gstelement.c:
10165         * check/gst/gstevent.c:
10166         * check/gst/gstghostpad.c:
10167         * check/gst/gstiterator.c:
10168         * check/gst/gstmessage.c:
10169         * check/gst/gstminiobject.c:
10170         * check/gst/gstobject.c:
10171         * check/gst/gstpad.c:
10172         * check/gst/gstpipeline.c:
10173         * check/gst/gstplugin.c:
10174         * check/gst/gstsegment.c:
10175         * check/gst/gststructure.c:
10176         * check/gst/gstsystemclock.c:
10177         * check/gst/gsttag.c:
10178         * check/gst/gstutils.c:
10179         * check/gst/gstvalue.c:
10180         * check/net/.cvsignore:
10181         * check/net/gstnetclientclock.c:
10182         * check/net/gstnettimeprovider.c:
10183         * check/pipelines/.cvsignore:
10184         * check/pipelines/cleanup.c:
10185         * check/pipelines/simple_launch_lines.c:
10186         * check/pipelines/stress.c:
10187         * check/states/.cvsignore:
10188         * check/states/sinks.c:
10189         * configure.ac:
10190         * examples/Makefile.am:
10191         * examples/appreader/.cvsignore:
10192         * examples/appreader/Makefile.am:
10193         * examples/appreader/appreader.c:
10194         * examples/controller/.cvsignore:
10195         * examples/controller/Makefile.am:
10196         * examples/controller/audio-example.c:
10197         * examples/cutter/.cvsignore:
10198         * examples/cutter/Makefile.am:
10199         * examples/cutter/cutter.c:
10200         * examples/cutter/cutter.h:
10201         * examples/events/Makefile.am:
10202         * examples/events/seek.c:
10203         * examples/helloworld/.cvsignore:
10204         * examples/helloworld/Makefile.am:
10205         * examples/helloworld/helloworld.c:
10206         * examples/helloworld2/.cvsignore:
10207         * examples/helloworld2/Makefile.am:
10208         * examples/helloworld2/helloworld2.c:
10209         * examples/launch/.cvsignore:
10210         * examples/launch/Makefile.am:
10211         * examples/launch/mp3parselaunch.c:
10212         * examples/launch/mp3play:
10213         * examples/manual/.cvsignore:
10214         * examples/manual/Makefile.am:
10215         * examples/manual/extract.pl:
10216         * examples/metadata/Makefile.am:
10217         * examples/metadata/read-metadata.c:
10218         * examples/mixer/.cvsignore:
10219         * examples/mixer/Makefile.am:
10220         * examples/mixer/mixer.c:
10221         * examples/mixer/mixer.h:
10222         * examples/pingpong/.cvsignore:
10223         * examples/pingpong/Makefile.am:
10224         * examples/pingpong/pingpong.c:
10225         * examples/plugins/.cvsignore:
10226         * examples/plugins/Makefile.am:
10227         * examples/plugins/example.c:
10228         * examples/plugins/example.h:
10229         * examples/pwg/.cvsignore:
10230         * examples/pwg/Makefile.am:
10231         * examples/pwg/extract.pl:
10232         * examples/queue/.cvsignore:
10233         * examples/queue/Makefile.am:
10234         * examples/queue/queue.c:
10235         * examples/queue2/.cvsignore:
10236         * examples/queue2/Makefile.am:
10237         * examples/queue2/queue2.c:
10238         * examples/queue3/.cvsignore:
10239         * examples/queue3/Makefile.am:
10240         * examples/queue3/queue3.c:
10241         * examples/queue4/.cvsignore:
10242         * examples/queue4/Makefile.am:
10243         * examples/queue4/queue4.c:
10244         * examples/retag/.cvsignore:
10245         * examples/retag/Makefile.am:
10246         * examples/retag/retag.c:
10247         * examples/retag/transcode.c:
10248         * examples/thread/.cvsignore:
10249         * examples/thread/Makefile.am:
10250         * examples/thread/thread.c:
10251         * examples/typefind/.cvsignore:
10252         * examples/typefind/Makefile.am:
10253         * examples/typefind/typefind.c:
10254         * examples/xml/.cvsignore:
10255         * examples/xml/Makefile.am:
10256         * examples/xml/createxml.c:
10257         * examples/xml/runxml.c:
10258         * tests/Makefile.am:
10259         * tests/check/Makefile.am:
10260         * testsuite/.cvsignore:
10261         * testsuite/Makefile.am:
10262         * testsuite/Rules:
10263         * testsuite/caps/.cvsignore:
10264         * testsuite/caps/Makefile.am:
10265         * testsuite/caps/app_fixate.c:
10266         * testsuite/caps/audioscale.c:
10267         * testsuite/caps/caps.c:
10268         * testsuite/caps/caps.h:
10269         * testsuite/caps/caps_strings:
10270         * testsuite/caps/compatibility.c:
10271         * testsuite/caps/deserialize.c:
10272         * testsuite/caps/enumcaps.c:
10273         * testsuite/caps/eratosthenes.c:
10274         * testsuite/caps/filtercaps.c:
10275         * testsuite/caps/fixed.c:
10276         * testsuite/caps/fraction-convert.c:
10277         * testsuite/caps/fraction-multiply-and-zero.c:
10278         * testsuite/caps/intersect2.c:
10279         * testsuite/caps/intersection.c:
10280         * testsuite/caps/normalisation.c:
10281         * testsuite/caps/random.c:
10282         * testsuite/caps/renegotiate.c:
10283         * testsuite/caps/sets.c:
10284         * testsuite/caps/simplify.c:
10285         * testsuite/caps/string-conversions.c:
10286         * testsuite/caps/structure.c:
10287         * testsuite/caps/subtract.c:
10288         * testsuite/caps/union.c:
10289         * testsuite/debug/.cvsignore:
10290         * testsuite/debug/Makefile.am:
10291         * testsuite/debug/category.c:
10292         * testsuite/debug/commandline.c:
10293         * testsuite/debug/global.c:
10294         * testsuite/debug/output.c:
10295         * testsuite/debug/printf_extension.c:
10296         * testsuite/dlopen/.cvsignore:
10297         * testsuite/dlopen/Makefile.am:
10298         * testsuite/dlopen/dlopen_gst.c:
10299         * testsuite/dlopen/loadgst.c:
10300         * testsuite/elements/.cvsignore:
10301         * testsuite/elements/Makefile.am:
10302         * testsuite/elements/gst-inspect-check.in:
10303         * testsuite/elements/struct_i386.h:
10304         * testsuite/elements/struct_size.c:
10305         * testsuite/indexers/.cvsignore:
10306         * testsuite/indexers/Makefile.am:
10307         * testsuite/indexers/cache1.c:
10308         * testsuite/indexers/indexdump.c:
10309         * testsuite/parse/.cvsignore:
10310         * testsuite/parse/Makefile.am:
10311         * testsuite/parse/parse1.c:
10312         * testsuite/parse/parse2.c:
10313         * testsuite/plugin/.cvsignore:
10314         * testsuite/plugin/Makefile.am:
10315         * testsuite/plugin/README:
10316         * testsuite/plugin/dynamic.c:
10317         * testsuite/plugin/linked.c:
10318         * testsuite/plugin/loading.c:
10319         * testsuite/plugin/registry.c:
10320         * testsuite/plugin/static.c:
10321         * testsuite/plugin/static2.c:
10322         * testsuite/plugin/testplugin.c:
10323         * testsuite/plugin/testplugin2.c:
10324         * testsuite/plugin/testplugin2_s.c:
10325         * testsuite/plugin/testplugin_s.c:
10326         * testsuite/refcounting/.cvsignore:
10327         * testsuite/refcounting/Makefile.am:
10328         * testsuite/refcounting/bin.c:
10329         * testsuite/refcounting/element.c:
10330         * testsuite/refcounting/element_pad.c:
10331         * testsuite/refcounting/mainloop.c:
10332         * testsuite/refcounting/mem.c:
10333         * testsuite/refcounting/mem.h:
10334         * testsuite/refcounting/object.c:
10335         * testsuite/refcounting/pad.c:
10336         * testsuite/refcounting/sched.c:
10337         * testsuite/refcounting/thread.c:
10338         * testsuite/states/.cvsignore:
10339         * testsuite/states/Makefile.am:
10340         * testsuite/states/bin.c:
10341         * testsuite/states/locked.c:
10342         * testsuite/states/parent.c:
10343         * testsuite/threads/.cvsignore:
10344         * testsuite/threads/159566.c:
10345         * testsuite/threads/159852.c:
10346         * testsuite/threads/Makefile.am:
10347         * testsuite/threads/queue.c:
10348         * testsuite/threads/signals.c:
10349         * testsuite/threads/staticrec.c:
10350         * testsuite/threads/thread.c:
10351         * testsuite/threads/threadb.c:
10352         * testsuite/threads/threadc.c:
10353         * testsuite/threads/threadd.c:
10354         * testsuite/threads/threade.c:
10355         * testsuite/threads/threadf.c:
10356         * testsuite/threads/threadg.c:
10357         * testsuite/threads/threadh.c:
10358         * testsuite/threads/threadi.c:
10359           move all of these under tests
10360
10361 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10362
10363         * configure.ac:
10364         * tests/Makefile.am:
10365           fix distcheck
10366
10367 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10368
10369         * docs/gst/gstreamer-sections.txt:
10370         * tests/sched/.cvsignore:
10371         * tests/sched/Makefile.am:
10372         * tests/sched/cases/(fs-fs).xml:
10373         * tests/sched/cases/(fs-i-fs).xml:
10374         * tests/sched/cases/(fs-i-i-fs).xml:
10375         * tests/sched/cases/(fs-i-q[i-fs]).xml:
10376         * tests/sched/dynamic-pipeline.c:
10377         * tests/sched/interrupt1.c:
10378         * tests/sched/interrupt2.c:
10379         * tests/sched/interrupt3.c:
10380         * tests/sched/runtestcases:
10381         * tests/sched/runxml.c:
10382         * tests/sched/sched-stress.c:
10383         * tests/sched/sort.c:
10384         * tests/sched/testcases:
10385         * tests/sched/testcases1.tc:
10386         * tests/seeking/.cvsignore:
10387         * tests/seeking/Makefile.am:
10388         * tests/seeking/seeking1.c:
10389         * tests/threadstate/.cvsignore:
10390         * tests/threadstate/Makefile.am:
10391         * tests/threadstate/test1.c:
10392         * tests/threadstate/test2.c:
10393         * tests/threadstate/threadstate1.c:
10394         * tests/threadstate/threadstate2.c:
10395         * tests/threadstate/threadstate3.c:
10396         * tests/threadstate/threadstate4.c:
10397         * tests/threadstate/threadstate5.c:
10398           remove obsolete tests
10399         * configure.ac:
10400         * tests/bench-complexity.scm:
10401         * tests/bench-mass_elements.scm:
10402         * tests/complexity.c:
10403         * tests/complexity.gnuplot:
10404         * tests/instantiate/.cvsignore:
10405         * tests/instantiate/Makefile.am:
10406         * tests/instantiate/caps.c:
10407         * tests/mass_elements.c:
10408         * tests/network-clock-utils.scm:
10409         * tests/network-clock.scm:
10410         * tests/plot-data:
10411         First pass at cleaning up tests/ dir before moving the rest
10412         Combined with CVS surgery
10413
10414 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10415
10416         * po/POTFILES.in:
10417           queue has moved, update
10418
10419 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10420
10421         * docs/gst/gstreamer-sections.txt:
10422           remove double entries from the docs
10423         * gst/gst_private.h:
10424         * gst/gstinfo.c: (_gst_debug_init):
10425           remove the THREAD debug category
10426         * gst/Makefile.am:
10427         * gst/gstqueue.c:
10428         * gst/gstqueue.h:
10429         * docs/gst/gstreamer.types:
10430         * plugins/elements/gstqueue.c: (gst_queue_get_type),
10431         (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
10432           completely move queue and fix up debugging categories
10433
10434 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10435
10436         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
10437           make initialization portable, using LL is not
10438
10439 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10440
10441         * win32/common/gstconfig.h:
10442           add large padding
10443
10444 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10445
10446         * win32/common/libgstreamer.def:
10447           rename symbols; sort base section
10448
10449 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10450
10451         * gst/gstclock.c: (do_linear_regression):
10452           remove crack non-portable handrolled DEBUG macro
10453
10454 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10455
10456         * docs/random/release:
10457           update notes
10458         * win32/common/gstenumtypes.c: (register_gst_object_flags),
10459         (gst_object_flags_get_type), (register_gst_bin_flags),
10460         (gst_bin_flags_get_type), (register_gst_buffer_flag),
10461         (gst_buffer_flag_get_type), (register_gst_bus_flags),
10462         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
10463         (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
10464         (gst_caps_flags_get_type), (register_gst_clock_return),
10465         (gst_clock_return_get_type), (register_gst_clock_entry_type),
10466         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
10467         (gst_clock_flags_get_type), (register_gst_state),
10468         (gst_state_get_type), (register_gst_state_change_return),
10469         (gst_state_change_return_get_type), (register_gst_state_change),
10470         (gst_state_change_get_type), (register_gst_element_flags),
10471         (gst_element_flags_get_type), (register_gst_core_error),
10472         (gst_core_error_get_type), (register_gst_library_error),
10473         (gst_library_error_get_type), (register_gst_resource_error),
10474         (gst_resource_error_get_type), (register_gst_stream_error),
10475         (gst_stream_error_get_type), (register_gst_event_type_flags),
10476         (gst_event_type_flags_get_type), (register_gst_event_type),
10477         (gst_event_type_get_type), (register_gst_seek_type),
10478         (gst_seek_type_get_type), (register_gst_seek_flags),
10479         (gst_seek_flags_get_type), (register_gst_format),
10480         (gst_format_get_type), (register_gst_index_certainty),
10481         (gst_index_certainty_get_type), (register_gst_index_entry_type),
10482         (gst_index_entry_type_get_type),
10483         (register_gst_index_lookup_method),
10484         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
10485         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
10486         (gst_index_resolver_method_get_type), (register_gst_index_flags),
10487         (gst_index_flags_get_type), (register_gst_debug_level),
10488         (gst_debug_level_get_type), (register_gst_debug_color_flags),
10489         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
10490         (gst_iterator_result_get_type), (register_gst_iterator_item),
10491         (gst_iterator_item_get_type), (register_gst_message_type),
10492         (gst_message_type_get_type), (register_gst_mini_object_flags),
10493         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
10494         (gst_pad_link_return_get_type), (register_gst_flow_return),
10495         (gst_flow_return_get_type), (register_gst_activate_mode),
10496         (gst_activate_mode_get_type), (register_gst_pad_direction),
10497         (gst_pad_direction_get_type), (register_gst_pad_flags),
10498         (gst_pad_flags_get_type), (register_gst_pad_presence),
10499         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
10500         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
10501         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
10502         (gst_plugin_error_get_type), (register_gst_plugin_flags),
10503         (gst_plugin_flags_get_type), (register_gst_rank),
10504         (gst_rank_get_type), (register_gst_query_type),
10505         (gst_query_type_get_type), (register_gst_tag_merge_mode),
10506         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
10507         (gst_tag_flag_get_type), (register_gst_task_state),
10508         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
10509         (gst_alloc_trace_flags_get_type),
10510         (register_gst_type_find_probability),
10511         (gst_type_find_probability_get_type), (register_gst_uri_type),
10512         (gst_uri_type_get_type), (register_gst_parse_error),
10513         (gst_parse_error_get_type):
10514         * win32/common/gstenumtypes.h:
10515         * win32/common/gstversion.h:
10516           update visual studio generated files
10517
10518 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10519
10520         * win32/vs6/libgstbase.dsp:
10521         * win32/vs6/libgstelements.dsp:
10522           update project files for new locations
10523
10524 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10525
10526         * Makefile.am:
10527           remove some files
10528         * README:
10529           reinstate and update
10530         * DEVEL:
10531         * REQUIREMENTS:
10532           removed
10533         * LICENSE:
10534         * docs/random/LICENSE:
10535           moved to random
10536
10537 2005-11-30  Edward Hervey  <edward@fluendo.com>
10538
10539         * gst/gsttypefind.c: (gst_type_find_register):
10540         * gst/gsttypefind.h:
10541         * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
10542         (gst_type_find_factory_dispose):
10543         * gst/gsttypefindfactory.h:
10544         Fix memory leak in GstTypeFindFactory.
10545
10546 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
10547
10548         * gst/gst.c:
10549         * plugins/elements/Makefile.am:
10550         * plugins/elements/gstelements.c:
10551         * plugins/elements/gstqueue.c:
10552           move queue from core to the elements plugin
10553
10554 2005-11-29  Andy Wingo  <wingo@pobox.com>
10555
10556         * libs/gst/base/gstbasetransform.h: 
10557         * libs/gst/base/gstbasesrc.h: 
10558         * libs/gst/base/gstbasesink.h: en-LARGE the padding.
10559
10560         * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
10561         of pointers by which to pad very extensible base classes (like the
10562         ones in libs/gst/base).
10563
10564 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
10565
10566         * docs/gst/gstreamer-docs.sgml:
10567         * docs/gst/gstreamer-sections.txt:
10568         * docs/libs/gstreamer-libs-docs.sgml:
10569         * docs/libs/gstreamer-libs-sections.txt:
10570           moving documentation from core to lib
10571
10572 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
10573
10574         * check/Makefile.am:
10575         * configure.ac:
10576         * docs/gst/Makefile.am:
10577         * gst/Makefile.am:
10578         * gst/base/.cvsignore:
10579         * gst/base/Makefile.am:
10580         * gst/base/README:
10581         * gst/base/gstadapter.c:
10582         * gst/base/gstadapter.h:
10583         * gst/base/gstbasesink.c:
10584         * gst/base/gstbasesink.h:
10585         * gst/base/gstbasesrc.c:
10586         * gst/base/gstbasesrc.h:
10587         * gst/base/gstbasetransform.c:
10588         * gst/base/gstbasetransform.h:
10589         * gst/base/gstcollectpads.c:
10590         * gst/base/gstcollectpads.h:
10591         * gst/base/gstpushsrc.c:
10592         * gst/base/gstpushsrc.h:
10593         * gst/base/gsttypefindhelper.c:
10594         * gst/base/gsttypefindhelper.h:
10595         * gst/check/Makefile.am:
10596         * gst/check/gstcheck.c:
10597         * gst/check/gstcheck.h:
10598         * gst/net/Makefile.am:
10599         * gst/net/gstnet.h:
10600         * gst/net/gstnetclientclock.c:
10601         * gst/net/gstnetclientclock.h:
10602         * gst/net/gstnettimepacket.c:
10603         * gst/net/gstnettimepacket.h:
10604         * gst/net/gstnettimeprovider.c:
10605         * gst/net/gstnettimeprovider.h:
10606         * libs/gst/Makefile.am:
10607         * libs/gst/base/Makefile.am:
10608         * libs/gst/base/gstbasetransform.c:
10609         * libs/gst/check/Makefile.am:
10610         * plugins/elements/Makefile.am:
10611         * po/POTFILES.in:
10612           CVS surgery + support to move base, check, and net out of gst
10613           and into libs/gst
10614
10615 2005-11-29  Andy Wingo  <wingo@pobox.com>
10616
10617         * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
10618
10619         * gst/gststructure.h (struct _GstStructure): Only one pointer of
10620         padding.
10621
10622         * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
10623
10624         * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
10625
10626         * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
10627
10628         * gst/gstobject.h: (struct _GstObject): Only one pointer of
10629         padding; reduces object size by about 30%. We don't expect
10630         anything else to go into gstobject.
10631
10632         * gst/gstminiobject.h (struct _GstMiniObject)
10633         (struct _GstMiniObjectClass): Only one pointer of padding; the
10634         payload is only a pointer and two ints anyway. For the class there
10635         are only two methods as well.
10636         
10637         * gst/gstelement.h (struct _GstElementClass): Removed
10638         the state_changed signal callback, it is not used.
10639
10640 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10641
10642         * docs/gst/gstreamer.types:
10643           fix includes, though they are a little dinky
10644
10645 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
10646
10647         * check/Makefile.am:
10648           look in the right place for elements, a lot more chance of
10649           success
10650         * gst/Makefile.am:
10651           remove indexers and elements subdirs
10652         * plugins/Makefile.am:
10653           make indexers conditional
10654
10655 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
10656
10657         * Makefile.am:
10658         * configure.ac:
10659         * plugins/elements/Makefile.am:
10660         * plugins/elements/gstcapsfilter.c:
10661         * plugins/elements/gstfilesink.c:
10662         * plugins/elements/gstfilesrc.c:
10663         * plugins/elements/gstidentity.c:
10664         * plugins/indexers/Makefile.am:
10665           do CVS surgery and related build fixery to move elements
10666           and indexers in a new gstreamer/plugins directory, out of the
10667           gst/ directory
10668
10669 2005-11-29  Andy Wingo  <wingo@pobox.com>
10670
10671         * check/Makefile.am:
10672         * pkgconfig/gstreamer-net-uninstalled.pc.in:
10673         * pkgconfig/gstreamer-net.pc.in:
10674         * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
10675         #322257.
10676
10677 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10678
10679         * tools/Makefile.am:
10680         * tools/gst-complete.1.in:
10681         * tools/gst-complete.c:
10682         * tools/gst-compprep.1.in:
10683         * tools/gst-compprep.c:
10684           removing -compprep and -complete
10685
10686 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10687
10688         * gst/gstevent.c: (gst_event_new_new_segment),
10689         (gst_event_parse_new_segment):
10690         * gst/gstevent.h:
10691           fix #320529 - clean up new_segment API and structure.
10692           Let's hope everyone was using the methods, and not the structure.
10693
10694 2005-11-29  Edward Hervey  <edward@fluendo.com>
10695
10696         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10697         (gst_base_sink_event), (gst_base_sink_do_sync),
10698         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
10699         Properly handle non GST_FORMAT_TIME segment
10700         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
10701         Properly handle non GST_FORMAT_TIME segment
10702         * gst/gstsegment.c:
10703         This function is valid if the accumulator is 0 and the format
10704         is different from the requested format.
10705         
10706 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
10707
10708         * docs/gst/gstreamer-sections.txt:
10709         Add gst_query_new_seeking and gst_query_parse_seeking to the
10710         docs.
10711
10712 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
10713
10714         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
10715           Treat a pad alloc with new caps the same as if we were not
10716           negotiated, in order to allow a changing upstream output
10717           to produce a new format of data.
10718
10719 2005-11-29  Edward Hervey  <edward@fluendo.com>
10720
10721         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
10722         (gst_base_transform_event), (gst_base_transform_eventfunc):
10723         The event virtual method is now properly implemented, with a default
10724         handler
10725         Sub classes should call the parent_class event method. They should
10726         return FALSE if they had a problem handling the given event, or don't
10727         want GstBaseTransform to send that even downstream
10728         * gst/elements/gstidentity.c: (gst_identity_class_init),
10729         (gst_identity_init), (gst_identity_event),
10730         (gst_identity_transform_ip), (gst_identity_set_property),
10731         (gst_identity_get_property):
10732         * gst/elements/gstidentity.h:
10733         Added the single-segment boolean property.
10734         If set to TRUE, it will output a single segment of data, starting from
10735         0, will eat up all incoming newsegment, and modify the timestamp of the
10736         buffers accordingly
10737
10738 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
10739
10740         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
10741           Don't ref NULL target pad (#322751). Improve docs.
10742
10743 2005-11-29  Michael Smith  <msmith@fluendo.com>
10744
10745         * gst/gstregistryxml.c: (load_plugin):
10746           Don't crash if we failed to load a feature from a plugin. 
10747
10748 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
10749
10750         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
10751         (GST_START_TEST):
10752           use more check API and less GLib API
10753
10754 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
10755
10756         * Makefile.am:
10757           don't run checks if we don't have check
10758         * common/check.mak:
10759           remove the registry when running make torture
10760         * docs/gst/gstreamer-sections.txt:
10761           remove second multiply
10762         * gst/gstqueue.c: (gst_queue_loop):
10763           fix a compile warning when disabling debug
10764
10765 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
10766
10767         * gst/gstinfo.h:
10768         Hey! Let's print the pad name if the pointer != NULL instead
10769         of when it == NULL :-)
10770
10771 2005-11-28  Wim Taymans  <wim@fluendo.com>
10772
10773         * check/gst/gstutils.c: (GST_START_TEST):
10774         Updated check, add some scaling accuracy checking code.
10775
10776         * gst/gstutils.c: (gst_util_div128_64),
10777         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
10778         (gst_util_uint64_scale_int):
10779         Fix 6 times faster division code. Optimize for common 
10780         1/1 and less common X/1 cases.
10781
10782 2005-11-28  Wim Taymans  <wim@fluendo.com>
10783
10784         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
10785         More checks.
10786
10787         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
10788         (do_linear_regression), (gst_clock_add_observation):
10789         Cleanups.
10790         Release lock when the clock cannot be slaved.
10791         Catch the case where the regression returned an invalid denominator.
10792
10793         * gst/gstutils.c: (gst_util_div128_64_iterate),
10794         (gst_util_div128_64), (gst_util_uint64_scale_int64),
10795         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
10796         Add protentially more performant non-iterative 128/64 divide function
10797         that unfortunatly does not work yet.
10798         Shortcut the trivial 0/X = 0 case.
10799         Remove the warnings on overflow.
10800
10801 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
10802
10803         * gst/gstplugin.c: (gst_plugin_register_func):
10804           everything causing a plugin not to load should be at least a WARNING
10805
10806 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
10807
10808         * docs/random/ensonic/dparams.txt:
10809           some TODOs for the next dev cycle
10810         * libs/gst/controller/gstcontroller.c:
10811         (gst_controlled_property_set_interpolation_mode),
10812         (gst_controlled_property_new):
10813         * libs/gst/controller/gstcontroller.h:
10814           use base type to assign acccessor functions
10815
10816 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
10817
10818         * check/Makefile.am:
10819         Oops, that should have been top_srcdir
10820
10821 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
10822
10823         * check/Makefile.am:
10824         * check/elements/fdsrc.c: (GST_START_TEST):
10825         Use a cmdline define to specify the location of a file to use for
10826         testing, to avoid breaking distcheck.
10827
10828 2005-11-28  Andy Wingo  <wingo@pobox.com>
10829
10830         * gst/gstpad.c (fixate_value): Use array functions for arrays.
10831
10832 2005-11-28  Edward Hervey  <edward@fluendo.com>
10833
10834         * tools/gst-launch.c: (main):
10835         Clarify the output strings, makes it easier to translate.
10836         Fixes #322626
10837
10838 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
10839
10840         * gst/Makefile.am:
10841           don't try and build net if we don't even have <sys/socket.h>
10842
10843 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
10844
10845         * check/Makefile.am:
10846         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
10847         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
10848           Add tests for fdsrc seekability
10849
10850         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
10851         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
10852         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
10853         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
10854         * gst/elements/gstfdsrc.h:
10855           fdsrc should not be a 'live' source.
10856           Implement seeking on seekable fd's.
10857
10858         * gst/gstquery.c: (gst_query_new_seeking),
10859         (gst_query_parse_seeking):
10860         * gst/gstquery.h:
10861           Implement SEEKING query functions: 
10862             *_new_seeking and *_parse_seeking
10863
10864 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
10865
10866         * gst/gstelement.c: (gst_element_dispose):
10867           don't loop forever
10868
10869         * gst/gstiterator.c:
10870         * gst/gststructure.c:
10871           doc fixes
10872
10873         * libs/gst/controller/gstcontroller.c:
10874         (gst_controlled_property_set_interpolation_mode):
10875         * libs/gst/controller/gstcontroller.h:
10876         * libs/gst/controller/gstinterpolation.c:
10877         (interpolate_none_get_enum_value_array):
10878           support controlling enums
10879
10880 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
10881
10882         * gst/gstvalue.c:
10883           Improve documentation for gst_value_union().
10884
10885         * gst/gstvalue.h:
10886           Change return value for union, intersect and subtract functions
10887           from gint to gboolean.
10888
10889 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
10890
10891         * gst/gstvalue.c: (gst_value_serialize_any_list),
10892         (gst_value_transform_any_list_string),
10893         (gst_value_deserialize_list), (gst_value_deserialize_array),
10894         (gst_value_set_int_range), (gst_value_deserialize_int_range),
10895         (gst_value_set_double_range), (gst_value_deserialize_double_range),
10896         (gst_value_set_fraction_range_full),
10897         (gst_value_deserialize_fraction_range),
10898         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
10899         (gst_value_deserialize_boolean),
10900         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
10901         (gst_value_serialize_float), (gst_value_deserialize_float),
10902         (gst_string_wrap), (gst_value_deserialize_string),
10903         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
10904         (gst_value_union_int_range_int_range),
10905         (gst_value_intersect_int_range_int_range),
10906         (gst_value_intersect_double_range_double_range),
10907         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
10908         (gst_value_subtract_int_range_int_range),
10909         (gst_value_subtract_double_double_range),
10910         (gst_value_subtract_double_range_double_range),
10911         (gst_value_deserialize_fraction):
10912         * gst/gstvalue.h:
10913           Use gint, gdouble and gchar in our API instead of int, double and
10914           char (and make usage in gstvalue.c more consistent).
10915
10916 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
10917
10918         * check/Makefile.am:
10919         * libs/gst/controller/Makefile.am:
10920         * libs/gst/dataprotocol/Makefile.am:
10921           fix up Makefile.am and remove GST_ENABLE_NEW
10922
10923 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
10924
10925         * configure.ac:
10926         * gst/Makefile.am:
10927         * gst/base/Makefile.am:
10928         * gst/check/Makefile.am:
10929         * gst/elements/Makefile.am:
10930         * gst/net/Makefile.am:
10931           update LDFLAGS use some more
10932
10933 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
10934
10935         * common/m4/gst-doc.m4:
10936           Fixes #312589
10937
10938 2005-11-26  Edward Hervey  <edward@fluendo.com>
10939
10940         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
10941         This shouldn't issue a g_warning since it returns NULL if it
10942         couldn't find the plugin, and all functions using this behave
10943         properly on a NULL return. Switching to a GST_WARNING.
10944
10945 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
10946
10947         * gst/gstbin.c: (gst_bin_handle_message_func):
10948         Don't leak clock messages.
10949
10950 2005-11-25  Wim Taymans  <wim@fluendo.com>
10951
10952         * gst/gstutils.c: (gst_util_uint64_scale_int64),
10953         (gst_util_uint64_scale_int):
10954         Optimisations, remove unneeded vars.
10955
10956 2005-11-25  Wim Taymans  <wim@fluendo.com>
10957
10958         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
10959         Added more checks for the high precision uint64 cases.
10960
10961         * gst/gstutils.c: (gst_util_uint64_scale_int64),
10962         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
10963         Implement high precision (guint64 * guint64) / guint64.
10964
10965 2005-11-24  Wim Taymans  <wim@fluendo.com>
10966
10967         * gst/base/gstbasesrc.c: (gst_base_src_query):
10968         Fix wrong percentage query.
10969
10970         * gst/gstutils.c: (gst_util_uint64_scale),
10971         (gst_util_uint64_scale_int):
10972         Add some more common cases that can be handled 
10973         efficiently to _scale.
10974
10975 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
10976
10977         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
10978         (gst_mini_object_suite):
10979           don't use check calls from threads; check probably isn't
10980           threadsafe and using a lock to make it threadsafe would
10981           defeat the purpose of this check
10982         * gst/check/gstcheck.c:
10983         * gst/check/gstcheck.h:
10984           use GST_DEBUG some more
10985
10986 2005-11-24  Wim Taymans  <wim@fluendo.com>
10987
10988         * gst/gstutils.c: (gst_util_uint64_scale),
10989         (gst_util_uint64_scale_int):
10990         Chain trivial case to _scale_int.
10991
10992 2005-11-24  Wim Taymans  <wim@fluendo.com>
10993
10994         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
10995         Added test for scaling.
10996
10997         * gst/gstclock.h:
10998         Small doc fix.
10999
11000         * gst/gstutils.c: (gst_util_uint64_scale_int):
11001         Implemented high precision scaling code.
11002
11003 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
11004
11005         * gst/gstinfo.h:
11006           do not crash on pad==NULL
11007
11008 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
11009
11010         Patch by: Stefan Kost
11011
11012         * common/gtk-doc.mak:
11013         * docs/gst/Makefile.am:
11014         * docs/libs/Makefile.am:
11015           Fix distcheck issues for the libraries docs build
11016           Closes #319599.
11017
11018 2005-11-24  Michael Smith <msmith@fluendo.com>
11019
11020         * docs/manual/basics-helloworld.xml:
11021           Fix bug #315027: memory leak in example code in docs.
11022
11023 2005-11-24  Michael Smith <msmith@fluendo.com>
11024
11025         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
11026           Unlock the PREROLL_LOCK in a failure case.
11027
11028 2005-11-24  Wim Taymans  <wim@fluendo.com>
11029
11030         * docs/gst/gstreamer-sections.txt:
11031         * gst/base/gstadapter.h:
11032         * gst/base/gstbasesink.h:
11033         * gst/base/gstbasesrc.h:
11034         * gst/base/gstbasetransform.h:
11035         * gst/base/gstpushsrc.h:
11036         * gst/elements/gstfakesink.h:
11037         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
11038         * gst/elements/gstfakesrc.h:
11039         * gst/elements/gstfilesink.h:
11040         * gst/elements/gstfilesrc.h:
11041         * gst/gst.c:
11042         * gst/gstbin.c:
11043         * gst/gstbuffer.c: (_gst_buffer_copy):
11044         * gst/gstbus.h:
11045         * gst/gstcaps.c:
11046         * gst/gstchildproxy.c:
11047         * gst/gstclock.c:
11048         * gst/gstelement.c:
11049         * gst/gstelementfactory.c:
11050         * gst/gstelementfactory.h:
11051         * gst/gstevent.c:
11052         * gst/gstghostpad.h:
11053         * gst/gstindex.h:
11054         * gst/gstinterface.h:
11055         * gst/gstminiobject.c:
11056         * gst/gstminiobject.h:
11057         * gst/gstpad.c:
11058         * gst/gstpad.h:
11059         * gst/gstpadtemplate.h:
11060         * gst/gstpipeline.h:
11061         * gst/gstpluginfeature.h:
11062         * gst/gstquery.h:
11063         * gst/gstqueue.h:
11064         * gst/gsttaglist.c:
11065         * gst/gsttaglist.h:
11066         * gst/gsttagsetter.c:
11067         * gst/gsttagsetter.h:
11068         * gst/gsttrace.c:
11069         * gst/gsttrace.h:
11070         * gst/gsttypefind.h:
11071         * gst/gsturi.h:
11072         * gst/gstvalue.c:
11073         * gst/net/gstnetclientclock.c:
11074         * gst/net/gstnetclientclock.h:
11075         * gst/net/gstnettimepacket.c:
11076         * gst/net/gstnettimeprovider.c:
11077         * gst/net/gstnettimeprovider.h:
11078         Doc fixes.
11079
11080 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
11081
11082         * configure.ac: back to HEAD
11083
11084 === release 0.9.6 ===
11085
11086 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
11087
11088         * configure.ac:
11089           releasing 0.9.6, "Always On Time"
11090
11091 2005-11-23  Wim Taymans  <wim@fluendo.com>
11092
11093         * docs/gst/gstreamer-sections.txt:
11094         * gst/glib-compat.c:
11095         * gst/gsttagsetter.c:
11096         * gst/gstvalue.c:
11097         * gst/net/gstnetclientclock.c:
11098         * gst/net/gstnettimepacket.h:
11099         Doc updates.
11100
11101 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
11102
11103         * docs/faq/using.xml:
11104         * docs/libs/tmpl/gstcontrol.sgml:
11105         * docs/manual/advanced-dparams.xml:
11106         * docs/manual/appendix-checklist.xml:
11107         * docs/manual/basics-elements.xml:
11108         * docs/pwg/other-source.xml:
11109         * docs/random/moving-plugins:
11110         * gst/gstpad.c:
11111         * tools/gst-launch.1.in:
11112           remove mentions of sinesrc
11113
11114 2005-11-23  Michael Smith <msmith@fluendo.com>
11115
11116         * docs/gst/gstreamer-sections.txt:
11117           Update for new API and API changes.
11118         * gst/gstobject.h:
11119           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
11120         * gst/gstvalue.c:
11121           Documentation typo fix.
11122         * gst/net/gstnettimepacket.c:
11123           Documentation fixes for arguments.
11124
11125 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
11126
11127         * gst/gststructure.c: (gst_structure_get_fraction),
11128         (gst_structure_parse_value),
11129         (gst_structure_fixate_field_nearest_fraction):
11130         * gst/gststructure.h:
11131         * gst/gstutils.c: (gst_util_uint64_scale_int):
11132         * gst/gstutils.h:
11133         * scripts/update-funcnames:
11134         API Changes. 
11135         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
11136         Make gst_structure_fixate_field_nearest_fraction take a numerator
11137         and denominator argument instead of a GValue
11138         add gst_structure_get_fraction helper function.
11139
11140 2005-11-23  Wim Taymans  <wim@fluendo.com>
11141
11142         * docs/design/part-TODO.txt:
11143         Update TODO.
11144
11145         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
11146         * gst/net/gstnetclientclock.h:
11147         Use parent fields for timeout and window_size.
11148
11149 2005-11-23  Andy Wingo  <wingo@pobox.com>
11150
11151         * check/net/gstnetclientclock.c (test_functioning): Adjust to
11152         rate_num/rate_denom change.
11153
11154         * gst/net/gstnetclientclock.c
11155         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
11156         OBJECT_LOCK. Don't call add_observation with the lock.
11157
11158         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
11159         fraction.
11160         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
11161         rate fraction.
11162         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
11163         deal with rate as a fraction whose numerator and denominator are
11164         GstClockTime values.
11165         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
11166         master; the other fields are protected by the SLAVE_LOCK.
11167         (do_linear_regression): Note that this must be called with the
11168         SLAVE_LOCK.
11169         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
11170         OBJECT_LOCK. Call set_calibration instead of touching the
11171         variables directly.
11172         (gst_clock_set_property, gst_clock_get_property): Protect
11173         master/slave parameters with the SLAVE_LOCK.
11174
11175         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
11176         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
11177         note that all of the instance variables that add_observation and
11178         the set_master functions use are protected by that lock and not
11179         the OBJECT_LOCK.
11180         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
11181
11182         * gst/gstclock.c (gst_clock_add_observation): No longer requires
11183         the caller to take the object lock.
11184
11185 2005-11-23  Wim Taymans  <wim@fluendo.com>
11186
11187         * gst/gsterror.c: (_gst_core_errors_init):
11188         * gst/gsterror.h:
11189         Add error for clock stuff.
11190
11191         * gst/gstpipeline.c: (gst_pipeline_change_state),
11192         (gst_pipeline_set_clock):
11193         Post clock error when clock cannot be used in a pipeline.
11194
11195 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
11196
11197         * docs/gst/gstreamer-sections.txt:
11198           make two symbols from gstinfo private for the docs
11199         * gst/base/gstcollectpads.h:
11200         * gst/gstutils.c:
11201           fix doc typos, update docs
11202
11203 2005-11-22  Wim Taymans  <wim@fluendo.com>
11204
11205         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
11206         (gst_base_sink_wait), (gst_base_sink_do_sync),
11207         (gst_base_sink_handle_event):
11208         * gst/base/gstbasesink.h:
11209         No need to store the clock, the parent element class already
11210         has it.
11211
11212         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
11213         Updates for clock_set returning a gboolean
11214
11215         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
11216         (gst_clock_id_wait_async), (gst_clock_class_init),
11217         (gst_clock_init), (gst_clock_finalize),
11218         (gst_clock_get_internal_time), (gst_clock_get_time),
11219         (gst_clock_slave_callback), (gst_clock_set_master),
11220         (gst_clock_get_master), (do_linear_regression),
11221         (gst_clock_add_observation), (gst_clock_set_property),
11222         (gst_clock_get_property):
11223         * gst/gstclock.h:
11224         Implement master/slave. When setting a clock as a slave, a
11225         periodic timeout is scheduled to sample master and slave times.
11226         Then the slave clock is recalibrated to match offset and rate
11227         of the master clock.
11228         Update logging a bit.
11229         Add flag so that a clock can state that is cannot be slaved to
11230         another clock.
11231
11232         * gst/gstelement.c: (gst_element_set_clock):
11233         * gst/gstelement.h:
11234         The set clock returns a gboolean for when an element cannot
11235         deal with the selected clock in the pipeline. 
11236
11237         * gst/gstpipeline.c: (gst_pipeline_change_state),
11238         (gst_pipeline_set_clock):
11239         * gst/gstpipeline.h:
11240         Handle the case where the selected clock cannot be set on
11241         the pipeline.
11242
11243         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
11244         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
11245         (gst_net_client_clock_set_property),
11246         (gst_net_client_clock_get_property),
11247         (gst_net_client_clock_observe_times):
11248         * gst/net/gstnetclientclock.h:
11249         Use regression code in GstClock parent, remove duplicated
11250         functionality.
11251
11252 2005-11-22  Michael Smith <msmith@fluendo.com>
11253
11254         * gst/gstutils.c: (gst_util_clock_time_scale):
11255         * gst/gstutils.h:
11256         * docs/gst/gstreamer-sections.txt:
11257           Rename method to have extra underscore.
11258
11259 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
11260
11261         * gst/elements/Makefile.am:
11262         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
11263         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
11264         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
11265         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
11266         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
11267         * gst/elements/gstfakesrc.h:
11268         * gst/gstqueue.c: (queue_leaky_get_type):
11269           correctly fix GEnumValues so that nick is the short lowercase
11270           dashed tag
11271         * tools/gst-inspect.c: (print_element_properties_info):
11272           also show the nick, since it's useful to use from parse_launch
11273           syntax
11274           Fixes #322139
11275
11276 2005-11-22  Michael Smith <msmith@fluendo.com>
11277
11278         * gst/gstutils.c: (gst_util_clocktime_scale):
11279         * gst/gstutils.h:
11280         * docs/gst/gstreamer-sections.txt:
11281           Add util method for scaling a clocktime by a fraction. Useful 
11282           implementation is left as an exercise for the reader.
11283
11284 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
11285
11286         * gst/gstvalue.c: (gst_value_collect_fraction_range):
11287         If needed, allocate storage in the destination value during
11288         collection.
11289
11290 2005-11-22  Edward Hervey  <edward@fluendo.com>
11291
11292         * docs/gst/gstreamer-sections.txt:
11293         * gst/Makefile.am:
11294         * gst/gst.h:
11295         * gst/gsturitype.c:
11296         * gst/gsturitype.h:
11297         * gst/gstutils.c: (gst_util_set_object_arg):
11298         * tools/gst-compprep.c: (main):
11299         * tools/gst-inspect.c: (print_element_properties_info):
11300         Removed GstURI, closes bug #321061
11301
11302 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
11303
11304         * check/gst/gststructure.c: (GST_START_TEST):
11305         * gst/gststructure.c: (gst_structure_parse_value):
11306           Oops, broke automatic string type parsing.
11307           Add a test to catch it in future.
11308
11309 2005-11-22  Andy Wingo  <wingo@pobox.com>
11310
11311         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
11312         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
11313         Actually rename the function implementations. Grr.
11314
11315 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
11316
11317         * check/gst/capslist.h:
11318           Comment test cases
11319         * check/gst/gststructure.c: (GST_START_TEST),
11320         (gst_structure_suite):
11321           Test automatic value type detection in gst_structure_from_string.
11322         * gst/gststructure.c: (gst_structure_parse_value):
11323           Add fraction as a type we try and guess automatically in
11324           caps/structure strings.
11325
11326 2005-11-22  Andy Wingo  <wingo@pobox.com>
11327
11328         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
11329
11330         * gst/gsttagsetter.h:
11331         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
11332         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
11333         (gst_tag_setter_add_tag_valist)
11334         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
11335         _add_values, _add_valist, and _add_valist_values. Since this is an
11336         interface the function suffixes should be more explicit so
11337         language binding don't end up with element.add_valist ->
11338         gst_tag_setter_add_valist, for example. Fixes #322069.
11339
11340 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
11341
11342         * check/gst/gstcaps.c: (GST_START_TEST):
11343           Extend caps string tests to check that a caps to string
11344           conversion is reversible and produces the same caps.
11345
11346         * gst/gststructure.c: (gst_structure_value_get_generic_type):
11347           Output "fraction" as the generic type fraction range, so caps
11348           serialisation and deserialisation works.
11349         * check/gst/capslist.h:
11350         * gst/gstvalue.c: (gst_value_deserialize_fraction):
11351           Support 'MIN' and 'MAX' for deserialising fractions.
11352
11353 2005-11-22  Andy Wingo  <wingo@pobox.com>
11354
11355         * gst/gstevent.h (gst_event_new_new_segment)
11356         (gst_event_parse_new_segment, gst_event_new_buffer_size)
11357         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
11358         Renamed from *_newsegment, *_buffersize, *_notarget.
11359
11360         * scripts/update-funcnames: New script, performs the changes
11361         listed above.
11362
11363 2005-11-22  Wim Taymans  <wim@fluendo.com>
11364
11365         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
11366         Make sure the GstFlowReturn is returned.
11367
11368         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
11369         (gst_bus_add_signal_watch):
11370         * gst/gstbus.h:
11371         add gst_bus_add_signal_watch_full.
11372
11373         * gst/gstplugin.c: (gst_plugin_load_file):
11374         Small style cleanup.
11375
11376 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
11377
11378         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
11379           Block the fakesrc srcpad when we send an event, to avoid
11380           contention on the stream_lock causing random test failures.
11381
11382 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
11383
11384         * check/gst/gstvalue.c: (GST_START_TEST):
11385         * gst/gstvalue.c: (gst_value_fraction_subtract):
11386           Fix subtraction.
11387
11388 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
11389
11390         * gst/gst.h:
11391           include "gstchildproxy.h"
11392         * gst/gstchildproxy.h:
11393         * libs/gst/controller/gstcontroller.h:
11394           use G_GNUC_NULL_TERMINATED
11395
11396 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
11397
11398         * check/gst/capslist.h:
11399         * check/gst/gstcaps.c: (GST_START_TEST):
11400         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
11401         * gst/gststructure.c: (gst_structure_parse_range),
11402         (gst_structure_fixate_field_nearest_fraction):
11403         * gst/gststructure.h:
11404         * gst/gstvalue.c: (gst_value_init_fraction_range),
11405         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
11406         (gst_value_collect_fraction_range),
11407         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
11408         (gst_value_set_fraction_range_full),
11409         (gst_value_get_fraction_range_min),
11410         (gst_value_get_fraction_range_max),
11411         (gst_value_serialize_fraction_range),
11412         (gst_value_transform_fraction_range_string),
11413         (gst_value_compare_fraction_range),
11414         (gst_value_deserialize_fraction_range),
11415         (gst_value_intersect_fraction_fraction_range),
11416         (gst_value_intersect_fraction_range_fraction_range),
11417         (gst_value_subtract_fraction_fraction_range),
11418         (gst_value_subtract_fraction_range_fraction),
11419         (gst_value_subtract_fraction_range_fraction_range),
11420         (gst_value_collect_fraction), (gst_value_fraction_multiply),
11421         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
11422         (gst_value_transform_string_fraction), (_gst_value_initialize):
11423         * gst/gstvalue.h:
11424           Implement fraction ranges and extend GstFraction to support
11425           arithmetic subtraction, as well as deserialization from integer
11426           strings such as "100"
11427           Add a testsuite as for int and double range set operations
11428
11429 2005-11-21  Andy Wingo  <wingo@pobox.com>
11430
11431         * gst/gsttaglist.h: 
11432         * gst/gstcaps.h: 
11433         * gst/gststructure.h: Add glib-compat.h.
11434
11435 2005-11-21  Wim Taymans  <wim@fluendo.com>
11436
11437         * gst/gstbin.c: (gst_bin_change_state_func):
11438         Fix for #321595
11439
11440 2005-11-21  Wim Taymans  <wim@fluendo.com>
11441
11442         * gst/gstsegment.h:
11443         And add a nice define too.
11444
11445 2005-11-21  Wim Taymans  <wim@fluendo.com>
11446
11447         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
11448         (gst_segment_new), (gst_segment_free), (gst_segment_init),
11449         (gst_segment_set_duration), (gst_segment_set_last_stop),
11450         (gst_segment_set_seek), (gst_segment_set_newsegment),
11451         (gst_segment_to_stream_time), (gst_segment_to_running_time),
11452         (gst_segment_clip):
11453         * gst/gstsegment.h:
11454         Make binding friendly.
11455
11456 2005-11-21  Andy Wingo  <wingo@pobox.com>
11457
11458         * gst/gsttagsetter.h: 
11459         * gst/gsttaglist.h: 
11460         * gst/gststructure.h: 
11461         * gst/gstcaps.h: 
11462         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
11463         #319940.
11464
11465         * gst/gsterror.c (_gst_core_errors_init):
11466         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
11467         category.
11468
11469         * gst/Makefile.am (gst_headers): Add glib-compat.h.
11470         (noinst_HEADERS): noinst the -private.
11471
11472 2005-11-21  Michael Smith <msmith@fluendo.com>
11473
11474         * gst/gstplugin.h:
11475         * gst/gstregistry.h:
11476           Remove unimplemented declarations for which we can see no sensible
11477           use.
11478
11479 2005-11-21  Andy Wingo  <wingo@pobox.com>
11480
11481         * gst/gst.h: Include glib-compat.h.
11482
11483         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
11484
11485         * gst/glib-compat.c: Include the public and the private header.
11486
11487         * gst/glib-compat-private.h: Copied here from glib-compat.h.
11488
11489         * gst/gstvalue.c: 
11490         * gst/gstpad.c: 
11491         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
11492
11493         * check/gst/gstevent.c (create_custom_events): Check that
11494         FLUSH_STOP is serialized.
11495
11496         * check/elements/identity.c (event_func): 
11497         * check/elements/fakesrc.c (event_func): No stream lock, the core
11498         takes it.
11499
11500         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
11501         stream lock taking, yay.
11502
11503         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
11504         ensure that core takes the stream lock.
11505
11506         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
11507         lock name change.
11508
11509         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
11510         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
11511         it already. For the flush start we do take it though so we get the
11512         right preroll state change messages.
11513
11514         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
11515         the stream lock here, the core does it for us.
11516
11517         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
11518         GST_STREAM_GET_LOCK.
11519         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
11520         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
11521         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
11522         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
11523         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
11524         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
11525
11526         * gst/gstpad.c: Update for stream lock name change.
11527
11528         * gst/base/gstbasesink.c: Update for preroll lock name change.
11529
11530 2005-11-21  Wim Taymans  <wim@fluendo.com>
11531
11532         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
11533         (gst_clock_get_master):
11534         * gst/gstclock.h:
11535         * gst/gstsystemclock.c: (gst_system_clock_init):
11536         Convert Clock flags to object flags.
11537         Added methods to manage master/slave clocks.
11538
11539 2005-11-21  Wim Taymans  <wim@fluendo.com>
11540
11541         * check/gst/gstsegment.c: (GST_START_TEST):
11542         * docs/design/part-TODO.txt:
11543         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
11544         (gst_base_sink_event), (gst_base_sink_do_sync),
11545         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
11546         (gst_base_sink_query), (gst_base_sink_change_state):
11547         * gst/base/gstbasesink.h:
11548         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
11549         (gst_base_src_default_newsegment),
11550         (gst_base_src_configure_segment), (gst_base_src_do_seek),
11551         (gst_base_src_get_range), (gst_base_src_loop),
11552         (gst_base_src_change_state):
11553         * gst/base/gstbasesrc.h:
11554         * gst/base/gstbasetransform.c:
11555         (gst_base_transform_prepare_output_buf),
11556         (gst_base_transform_event), (gst_base_transform_change_state):
11557         * gst/base/gstbasetransform.h:
11558         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
11559         (gst_collect_pads_event):
11560         * gst/base/gstcollectpads.h:
11561         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
11562         (gst_fake_src_create):
11563         * gst/elements/gstfakesrc.h:
11564         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
11565         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
11566         (gst_segment_set_last_stop), (gst_segment_set_seek),
11567         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
11568         (gst_segment_to_running_time), (gst_segment_clip):
11569         * gst/gstsegment.h:
11570         More segment updates, replace code in plugins with segment
11571         helper functions.
11572
11573 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
11574
11575         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
11576         Don't ignore sscanf results
11577
11578 2005-11-21  Andy Wingo  <wingo@pobox.com>
11579
11580         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
11581
11582         * *.h:
11583         * *.c: Ran scripts/update-macros. Oh yes.
11584
11585         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
11586         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
11587         GST_GET_LOCK, etc.
11588
11589         * scripts/update-macros: New script. Run it on your files to
11590         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
11591         well.
11592
11593 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
11594
11595         * docs/gst/Makefile.am:
11596         * docs/gst/gstreamer-docs.sgml:
11597         * docs/gst/gstreamer-sections.txt:
11598         * docs/gst/gstreamer.types:
11599         * gst/gstinfo.h:
11600           more docs fixes, add new api to the docs
11601
11602 2005-11-21  Andy Wingo  <wingo@pobox.com>
11603
11604         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
11605         state_broadcast call.
11606
11607         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
11608
11609 2005-11-21  Julien MOUTTE  <julien@moutte.net>
11610
11611         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
11612         function calls for arrays.
11613
11614 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
11615
11616         * docs/random/ensonic/media-device-daemon.txt:
11617           wild idea, can this be done?
11618         * docs/gst/gstreamer-sections.txt:
11619         * gst/gsterror.h:
11620         * gst/gstfilter.c:
11621         * gst/gstfilter.h:
11622         * gst/gstplugin.h:
11623         * gst/gstpluginfeature.c:
11624         * gst/gsttrace.c:
11625         * gst/gstvalue.c:
11626         * gst/gstvalue.h:
11627           doc fixes and additions
11628
11629 2005-11-21  Andy Wingo  <wingo@pobox.com>
11630
11631         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
11632         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
11633         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
11634         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
11635         private to the basesrc implementation.
11636
11637         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
11638         behalf of event function if necessary. It should no longer be
11639         necessary to take the stream lock in pad's event functions. Fixes
11640         #320299.
11641
11642 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
11643         * docs/gst/gstreamer-sections.txt:
11644         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
11645         (gst_structure_fixate_field_nearest_double),
11646         (gst_structure_fixate_field_boolean):
11647         * gst/gststructure.h:
11648         * win32/common/libgstreamer.def:
11649         * win32/gstreamer.def:
11650
11651         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
11652         (#322027)
11653
11654 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
11655
11656         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
11657         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
11658         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
11659         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
11660         (gst_fdsrc_uri_handler_init):
11661         * gst/elements/gstfdsrc.h:
11662           Port fd:// URI handler from 0.8 to fdsrc
11663
11664 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
11665
11666         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
11667         (gst_value_serialize_fourcc):
11668         * gst/gstvalue.h:
11669           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
11670           consistent with our other format defines (#320324).
11671
11672 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
11673
11674         * gst/gstvalue.c: (gst_value_is_fixed):
11675           Revert previous commit. Value lists are by definition
11676           not fixed, as they are a list of possible values.
11677
11678 2005-11-21  Andy Wingo  <wingo@pobox.com>
11679
11680         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
11681         during the stable series if we need it. Fixes #319178.
11682
11683         * gst/gstevent.c (gst_event_new_filler): Removed.
11684
11685         * check/gst/gstevent.c: Update comment about filler events.
11686
11687 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
11688
11689         * gst/gstvalue.c: (gst_value_is_fixed):
11690           Should handle both value arrays and value lists.
11691
11692 2005-11-21  Andy Wingo  <wingo@pobox.com>
11693
11694         patch by: Alessandro Dessina <alessandro nnva org>
11695
11696         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
11697         functions to access arrays. Fixes #321962.
11698
11699 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
11700
11701         * docs/gst/gstreamer.types:
11702           gst_collectpads_get_type => gst_collect_pads_get_type.
11703           
11704         * gst/base/gstbasetransform.c:
11705           Remove unused SIGNAL_HANDOFF enum.
11706
11707 2005-11-21  Andy Wingo  <wingo@pobox.com>
11708
11709         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
11710         the event type (upstream, downstream, serialized). Renamed
11711         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
11712         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
11713         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
11714
11715         * gst/gstevent.c: Update for new CUSTOM event names.
11716
11717         * check/gst/gstevent.c: Update check for new CUSTOM event names.
11718
11719         * gst/gstevent.h:
11720         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
11721         bug #319392.
11722
11723 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
11724
11725         * docs/gst/gstreamer-sections.txt:
11726         * win32/common/libgstbase.def:
11727         * win32/libgstbase.def:
11728         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
11729         (gst_collect_pads_class_init), (gst_collect_pads_init),
11730         (gst_collect_pads_finalize), (gst_collect_pads_new),
11731         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
11732         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
11733         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
11734         (gst_collect_pads_start), (gst_collect_pads_stop),
11735         (gst_collect_pads_peek), (gst_collect_pads_pop),
11736         (gst_collect_pads_available), (gst_collect_pads_read),
11737         (gst_collect_pads_flush), (gst_collect_pads_event),
11738         (gst_collect_pads_chain):
11739         * gst/base/gstcollectpads.h:
11740           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
11741           unimplemented functions as unimplemented. Add padding to
11742           GstCollectData. (#320766, #320423)
11743
11744 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
11745
11746         * gst/gstmessage.c:
11747           Improve docs for DURATION message (usage of duration parameter)
11748           (#320113)
11749
11750 2005-11-20  Wim Taymans  <wim@fluendo.com>
11751
11752         * check/Makefile.am:
11753         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
11754         (main):
11755         * gst/Makefile.am:
11756         * gst/gst.h:
11757         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
11758         (gst_segment_set_seek), (gst_segment_set_newsegment),
11759         (gst_segment_to_stream_time), (gst_segment_to_running_time),
11760         (gst_segment_clip):
11761         * gst/gstsegment.h:
11762         Added segment helper structure and methods. Not fully implemented
11763         yet.
11764         Added segment check.
11765
11766 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
11767
11768         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
11769           Add a deserialisation test for fractions
11770         * examples/metadata/read-metadata.c: (message_loop),
11771         (make_pipeline), (main):
11772           Fix up metadata reading sample.
11773         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
11774           Debug format fix
11775         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
11776           Don't try and fixate empty caps
11777         * gst/gst_private.h:
11778           Wrap in G_BEGIN_DECLS/G_END_DECLS
11779         * gst/gstvalue.c: (gst_value_collect_fraction),
11780         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
11781         (gst_value_transform_string_fraction),
11782         (gst_value_compare_fraction):
11783           Add some extra guards to ensure that we don't end up 
11784           with an invalid denominator of 0 in a gstfraction and
11785           that fractions always get reduced.
11786
11787 2005-11-20  Wim Taymans  <wim@fluendo.com>
11788
11789         * docs/gst/gstreamer-sections.txt:
11790         * gst/gstbuffer.h:
11791         * gst/gstelement.c:
11792         * gst/gstformat.c:
11793         * gst/gstformat.h:
11794         * gst/gstindex.h:
11795         * gst/gstquery.c:
11796         * gst/gstquery.h:
11797         * gst/gstvalue.c:
11798         Doc fixes.
11799
11800 2005-11-20  Wim Taymans  <wim@fluendo.com>
11801
11802         * docs/design/part-TODO.txt:
11803         * gst/gstcaps.h:
11804         Make a proper enum of the flag.
11805
11806 2005-11-19  Wim Taymans  <wim@fluendo.com>
11807
11808         * docs/design/part-TODO.txt:
11809         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
11810         (gst_format_to_quark), (gst_format_register):
11811         * gst/gstformat.h:
11812         * gst/gstquery.c: (_gst_query_initialize),
11813         (gst_query_type_get_name), (gst_query_type_to_quark),
11814         (gst_query_type_register):
11815         * gst/gstquery.h:
11816         Add type to quark and type to string conversions.
11817
11818 2005-11-19  Andy Wingo  <wingo@pobox.com>
11819
11820         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
11821         #320097.
11822
11823 2005-11-19  Wim Taymans  <wim@fluendo.com>
11824
11825         * docs/design/part-TODO.txt:
11826         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
11827         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
11828         (gst_bin_handle_message_func):
11829         * gst/gstbin.h:
11830         Make message handling overridable.
11831
11832 2005-11-19  Andy Wingo  <wingo@pobox.com>
11833
11834         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
11835
11836         * gst/gstclock.h:
11837         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
11838         be a GstClockTime.
11839         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
11840         is a GstClockTime. Fixes #321710.
11841
11842         * gst/gstclock.h (GstClock): Remove offset property. Add
11843         internal_calibration and external_calibration. Fix padding. Pad
11844         also by GstClockTime so we don't run into problems.
11845
11846         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
11847         (gst_clock_get_rate_offset): Remove.
11848         (gst_clock_set_time_adjust): Remove. Fixes #321712.
11849
11850         * gst/gstutils.h:
11851         * gst/gstutils.c (g_static_rec_cond_wait)
11852         (g_static_rec_cond_timed_wait): Removed, no longer needed.
11853
11854         * gst/gstbin.c: Remove terrible continue_state prototype.
11855
11856         * gst/gstelement.h (gst_element_continue_state): Make public.
11857
11858         * gst/gstelement.h:
11859         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
11860         by continue_state. Fixes #319389.
11861
11862         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
11863         Really fixes #168438. However I don't see anywhere where the
11864         filter function is called... stupid GStreamer...
11865         
11866         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
11867         don't have a dispose function, so it won't get called when the
11868         object is unreffed, but oh well!
11869
11870         * gst/gstindex.c (gst_index_set_filter_full): New API function,
11871         allows a destroy function to be set so user_data can be freed.
11872         Fixes #168438.
11873         (gst_index_set_filter): Call gst_index_set_filter_full.
11874
11875         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
11876
11877         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
11878         string should produce an error, given the lack of a way to
11879         represent NULL strings. Fixes #165650.
11880         
11881         * gst/gstvalue.h: 
11882         * gst/gstvalue.c (gst_value_array_append_value) 
11883         (gst_value_array_prepend_value, gst_value_array_get_size) 
11884         (gst_value_array_get_value): New API, copied from
11885         gst_value_list_*, only operates on arrays.
11886         (gst_value_list_append_value, gst_value_list_prepend_value) 
11887         (gst_value_list_concat, gst_value_list_get_size) 
11888         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
11889
11890         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
11891         init_list, because it works on both.
11892         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
11893         (gst_value_copy_list_or_array): Renamed from copy_list.
11894         (gst_value_free_list_or_array): Renamed from free_list.
11895         (gst_value_collect_list_or_array): Renamed from collect_list.
11896         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
11897         (gst_value_list_or_array_peek_pointer): Renamed from
11898         list_peek_pointer.
11899         (_gst_value_array_value_table, _gst_value_list_value_table):
11900         Update value table functions.
11901         (gst_value_compare_list_or_array): Renamed from compare_list.
11902
11903         * gsttaglist.h: Whoops, foreach function returns void. Also fix
11904         some constness.
11905
11906         * gst/gsttaglist.c:
11907         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
11908         GstTagList*. Fixes #143472.
11909
11910         * gst/gststructure.h: Clarify what the foreach/map functions can
11911         or can't do to their arguments.
11912
11913 2005-11-18  Wim Taymans  <wim@fluendo.com>
11914
11915         * gst/gstclock.c: (gst_clock_set_calibration),
11916         (gst_clock_get_calibration):
11917         Doc and API fixes.
11918         Calibration can be set with internal time equal to current
11919         internal time too.
11920
11921 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
11922
11923         * gst/gsterror.c:
11924         * gst/gsterror.h:
11925           document
11926
11927 2005-11-18  Andy Wingo  <wingo@pobox.com>
11928
11929         * configure.ac: 
11930         * pkgconfig/gstreamer-net.pc.in:
11931         * pkgconfig/gstreamer-net-uninstalled.pc.in:
11932         * pkgconfig/Makefile.am: Add net pkgconfig files.
11933
11934 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
11935
11936         * gst/gstcaps.c:
11937         * gst/gstghostpad.c:
11938         * gst/gsttrace.c:
11939         * gst/gstvalue.c:
11940         * gst/gstvalue.h:
11941           docs fixes
11942
11943 2005-11-18  Andy Wingo  <wingo@pobox.com>
11944
11945         * gst/net/gstnetclientclock.c: Turn off debugging.
11946
11947         * check/net/gstnetclientclock.c (test_functioning): Assert that the
11948         times connverge somewhat. Can't make a real test.
11949
11950         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
11951         integer arithmetic. Return the minimum of the domain, which can be
11952         set as "internal" for gst_clock_set_calibration.
11953         (gst_net_client_clock_observe_times): Call _set_calibration.
11954         (gst_net_client_clock_new): Call _set_calibration instead of
11955         rate_offset.
11956
11957         * check/net/gstnetclientclock.c (test_functioning): Use the right
11958         adjustment api.
11959
11960         * gst/gstclock.h:
11961         * gst/gstclock.c (gst_clock_get_calibration) 
11962         (gst_clock_set_calibration): New functions, obsolete the ones I
11963         added yesterday. Doh. Precision issues mean we have to extrapolate
11964         from a point in the more recent past than 1970.
11965         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
11966         obsolete.
11967         (gst_clock_adjust_unlocked): Use the right calibration data.
11968
11969 2005-11-18  Edward Hervey  <edward@fluendo.com>
11970
11971         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
11972         Also reset the ->current_* values in READY->PAUSED
11973
11974 2005-11-18  Andy Wingo  <wingo@pobox.com>
11975
11976         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
11977         Whoops, check the right fd. Also add some debugging.
11978         (gst_net_client_clock_observe_times): Adjust for int64 offset.
11979         (do_linear_regression): Add a crapload of debugging. Subtract off
11980         the minimum values from the input series to discard unneeded bits.
11981         Use only int arithmetic. There is still double arithmetic when
11982         calculating the intercept that needs fixing. Return boolean to
11983         indicate success; FALSE would mean the domain or range is too
11984         great. Still needs fixes.
11985
11986 2005-11-18  Wim Taymans  <wim@fluendo.com>
11987
11988         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
11989         For the current position in stream time, we need to subtract
11990         accumulated time.
11991         
11992         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
11993         Release lock before calling the callback function of async
11994         entries.
11995
11996 2005-11-18  Andy Wingo  <wingo@pobox.com>
11997
11998         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
11999         Port goes all the way to MAXUINT16.
12000
12001         * gst/net/gstnettimeprovider.c: Make the port range the same as
12002         for the kernel: 0 assigns, otherwise ports are less than
12003         MAXUINT16.
12004
12005         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
12006         port change.
12007
12008         * check/net/gstnetclientclock.c (test_functioning): Add the start
12009         of another test. 
12010
12011 2005-11-18  Wim Taymans  <wim@fluendo.com>
12012
12013         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
12014         (gst_bin_remove_func), (bin_bus_handler):
12015         * gst/gstbin.h:
12016         Removing a clock provider from a bin, triggers a clock lost message
12017         so that a new clock will be selected.
12018         Adding a clock to a bin triggers a clock provider message.
12019         Make sure we reselect a clock when we received a clock lost message.
12020         Keep a reference to the element that provided the clock.
12021
12022 2005-11-18  Andy Wingo  <wingo@pobox.com>
12023
12024         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
12025         the clock initially so it produces values around the base time.
12026         (gst_net_client_clock_class_init): Typo fix.
12027         (gst_net_client_clock_thread): Add note on when the socket gets
12028         closed.
12029
12030 2005-11-17  Wim Taymans  <wim@fluendo.com>
12031
12032         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
12033         Free remote and local time arrays.
12034
12035 2005-11-17  Wim Taymans  <wim@fluendo.com>
12036
12037         * gst/net/gstnetclientclock.c: (do_linear_regression),
12038         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
12039         Fix compilation, uninitialized vars and a forgotten continue.
12040
12041 2005-11-17  Andy Wingo  <wingo@pobox.com>
12042
12043         * check/Makefile.am (check_PROGRAMS): 
12044         * check/net/gstnetclientclock.c: Add a most minimal test for the
12045         net client clock. More to come later.
12046
12047         * gst/net/gstnet.h: 
12048         * gst/net/Makefile.am: Add netclientclock.
12049
12050         * gst/net/gstnetclientclock.h:
12051         * gst/net/gstnetclientclock.c: New files, implement an untested
12052         GstClock that takes its time from a network time provider.
12053         Implements the algorithm in network-clock.scm.
12054
12055         * tests/network-clock.scm (*window-size*): Rename from
12056         *queue-length*.
12057         * tests/network-clock.scm (network-time): 
12058         * tests/network-clock-utils.scm (q-push): Update callers.
12059
12060 2005-11-17  Wim Taymans  <wim@fluendo.com>
12061
12062         * gst/gstbin.c: (gst_bin_provide_clock_func),
12063         (gst_bin_sort_iterator_new):
12064         And unref the child too..
12065
12066 2005-11-17  Wim Taymans  <wim@fluendo.com>
12067
12068         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
12069         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
12070         Refactor the sort iterator so it can be used while holding the
12071         LOCK too.
12072         Make clock selection select a clock closest to the source.
12073
12074 2005-11-17  Michael Smith <msmith@fluendo.com>
12075
12076         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
12077         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
12078         * gst/gstclock.h:
12079           Anonymous structs are a gcc (and some other compilers) extension, so
12080           don't use them. Since this is only for ABI-compatibility, and our
12081           API/ABI freeze is over in a few days, this whole thing will only
12082           last a few days, so don't bother trying to think up a meaningful
12083           name for the struct.
12084
12085 2005-11-17  Andy Wingo  <wingo@pobox.com>
12086
12087         * gst/gstclock.h (GstClock): Add rate and offset properties,
12088         preserving ABI stability. Add rate/offset accessors. Will file bug
12089         for the freeze break.
12090
12091         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
12092         and offset, trying to keep precision and avoiding
12093         underflow/overflow.
12094         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
12095         functions. Make gst_clock_set_time_adjust obsolete.
12096         (gst_clock_set_time_adjust): Note that this function is obsolete.
12097         Will file bug soon.
12098
12099         * gst/base/gstbasetransform.h: Make the ABI-stability hack
12100         greppable by using GST_PADDING-1+1.
12101
12102 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
12103
12104         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
12105
12106         * gst/gstmessage.c: (gst_message_parse_clock_lost):
12107           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
12108
12109         * gst/gstpadtemplate.h:
12110         * gst/gstpluginfeature.h:
12111           Don't use c++ style comments in headers (#321638).
12112
12113 2005-11-16  Andy Wingo  <wingo@pobox.com>
12114
12115         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
12116         buffer.
12117
12118         * check/net/gstnettimeprovider.c: Check to see that the time
12119         provider actually provides times. Works, yo!
12120
12121 2005-11-16  Wim Taymans  <wim@fluendo.com>
12122
12123         * check/Makefile.am:
12124         Enable more tests.
12125
12126         * check/elements/fakesrc.c: (GST_START_TEST):
12127         Set element to NULL before disposing it.
12128
12129 2005-11-16  Andy Wingo  <wingo@pobox.com>
12130
12131         * gst/net/Makefile.am:
12132         * gst/net/gstnet.h:
12133         * gst/net/gstnettimeprovider.c: 
12134         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
12135         provider, include it from gstnet.h, and add it to the build.
12136
12137         * gst/net/gstnettimepacket.h: 
12138         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
12139         sending and receiving.
12140
12141 2005-11-16  Wim Taymans  <wim@fluendo.com>
12142
12143         * check/Makefile.am:
12144         Enable valgrind check.
12145
12146         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
12147         (gst_fake_src_alloc_buffer):
12148         Fix memleak.
12149
12150 2005-11-16  Wim Taymans  <wim@fluendo.com>
12151
12152         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
12153         Call parent finalize too.
12154
12155 2005-11-16  Wim Taymans  <wim@fluendo.com>
12156
12157         * check/Makefile.am:
12158         Enable valgrind check that should work fine now.
12159
12160         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
12161         * gst/gstqueue.c: (gst_queue_init):
12162         Fix memleaks in pad allocation.
12163
12164 2005-11-16  Andy Wingo  <wingo@pobox.com>
12165
12166         * gst/net/Makefile.am:
12167         * gst/net/gstnet.h: New part of core to hold network elements and
12168         objects. Put in core because it exposes API that applications want
12169         to use. The library is named libgstnet-tempname right now because
12170         of the existing libgstnet in gst-plugins-base. Solution is
12171         probably to rename the one in plugins-base; will file a bug for
12172         the freeze break.
12173
12174         * gst/net/gstnettimeprovider.c: 
12175         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
12176         get_time call over the network.
12177
12178         * configure.ac: 
12179         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
12180
12181         * check/Makefile.am:
12182         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
12183         get additions shortly.
12184
12185 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
12186
12187         * gst/gstpad.c: (gst_pad_new_from_static_template):
12188         * gst/gstpad.h:
12189           add gst_pad_new_from_static_template functions
12190         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
12191         (gst_check_setup_sink_pad):
12192         * gst/elements/gsttee.c: (gst_tee_init):
12193           and use them
12194
12195 2005-11-16  Wim Taymans  <wim@fluendo.com>
12196
12197         * gst/gstpad.c: (gst_pad_pause_task):
12198         Removed warning, it's not really an error either.
12199
12200 2005-11-16  Wim Taymans  <wim@fluendo.com>
12201
12202         * gst/base/gstbasetransform.c:
12203         (gst_base_transform_prepare_output_buf),
12204         (gst_base_transform_event):
12205         Check if the caps are NULL, this can happen if the element
12206         is shutting down and the pad caps are set to NULL.
12207
12208 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
12209
12210         * gst/elements/gsttee.c: (gst_tee_init):
12211           fix pad template leak in tee
12212
12213 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
12214
12215         * gst/glib-compat.c: (g_value_dup_gst_object):
12216         * gst/glib-compat.h:
12217         * gst/gstpad.c: (gst_pad_set_property):
12218           use gst_object_ref when setting the pad template; this will
12219           trigger the pad template leaks on GLib 2.6 and the slaves
12220
12221 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
12222
12223         * gst/glib-compat.c: (gst_flags_get_first_value):
12224         * gst/glib-compat.h:
12225         * gst/gstregistryxml.c:
12226           remove functions copied from GLib 2.6
12227
12228 2005-11-16  Michael Smith <msmith@fluendo.com>
12229
12230         * gst/Makefile.am:
12231           Don't link against VALGRIND_LIBS. That was always the wrong thing to
12232           do, but only breaks with newer valgrind versions. We're not a
12233           valgrind tool, we have no link-time dependencies on libcoregrind.
12234
12235 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
12236
12237         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
12238           some debug changes
12239         * gst/gstmessage.h:
12240           typo fixes
12241
12242 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
12243
12244         * gst/base/gstbasesrc.c: (gst_base_src_init):
12245         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
12246         * gst/gstqueue.c: (gst_queue_init):
12247         * gst/gstregistryxml.c: (load_feature):
12248           Revert all these unrefs, they don't even pass make check !
12249
12250 2005-11-15  Johan Dahlin  <johan@gnome.org>
12251
12252         * gst/base/gstbasesrc.c: (gst_base_src_init):
12253         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
12254         * gst/gstqueue.c: (gst_queue_init): 
12255         Free pad templates, fixes a couple of leaks.
12256
12257 2005-11-15  Daniel Fischer  <dan at f3c dot com>
12258
12259         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
12260
12261         * gst/gstpad.c: (gst_pad_get_property):
12262           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
12263           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
12264           (#321452)
12265
12266 2005-11-15  Wim Taymans  <wim@fluendo.com>
12267
12268         * gst/gstevent.c:
12269         Small doc update.
12270
12271 2005-11-15  Andy Wingo  <wingo@pobox.com>
12272
12273         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
12274
12275         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
12276         using GST_CLOCK_TIME_NONE to disable base time management.
12277         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
12278         time if it was NONE before.
12279         (gst_pipeline_change_state): Only munge the base time if
12280         stream_time != GST_CLOCK_TIME_NONE.
12281
12282         * check/gst/gstpipeline.c (test_base_time): Punt around the
12283         problem of the probe not being called, because that's not the
12284         issue I'm looking at. Add a check that setting stream_time to NONE
12285         disables base time management.
12286         
12287 2005-11-15  Wim Taymans  <wim@fluendo.com>
12288
12289         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
12290         segment_stop == -1 at startup.
12291
12292         * gst/base/gstbasetransform.c: (gst_base_transform_event),
12293         (gst_base_transform_change_state):
12294         Init segment values at start.
12295
12296 2005-11-15  Wim Taymans  <wim@fluendo.com>
12297
12298         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
12299         0 segment values are 0 in any format.
12300
12301         * gst/base/gstbasetransform.c: (gst_base_transform_event):
12302         * gst/base/gstbasetransform.h:
12303         Parse newsegment correctly in basetransform
12304
12305         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
12306         Sync to clock using updated segment values.
12307
12308 2005-11-15  Andy Wingo  <wingo@pobox.com>
12309
12310         * check/gst/gstpipeline.c (test_base_time): Add check that the
12311         base time and stream time are reset correctly.
12312
12313 2005-11-15  Wim Taymans  <wim@fluendo.com>
12314
12315         * docs/design/part-TODO.txt:
12316         Some more TODO items.
12317
12318 2005-11-15  Andy Wingo  <wingo@pobox.com>
12319
12320         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
12321         error if the user selected "no clock" as the clocking method.
12322
12323         * check/gst/gstpipeline.c (test_base_time): New test for buffer
12324         timestamps with live capture.
12325
12326         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
12327         is 0 but we are a live source, timestamp the buffers using the
12328         element's clock.
12329
12330 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
12331
12332         * docs/gst/gstreamer-sections.txt:
12333         * gst/gsterror.c:
12334         * gst/gstghostpad.c:
12335         * gst/gstobject.h:
12336         * gst/gstxml.c:
12337           more section docs
12338
12339 2005-11-14  Wim Taymans  <wim@fluendo.com>
12340
12341         * common/gst.supp:
12342           add suppressions from Wim's Debian machine
12343
12344 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
12345
12346         * common/gst.supp:
12347           add suppressions from Andy's AMD64 Ubuntu machine
12348
12349 2005-11-14  Andy Wingo  <wingo@pobox.com>
12350
12351         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
12352         STATE_LOCK not necessary. Fixes #311489.
12353
12354         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
12355         #305291.
12356
12357         * gst/gstindex.c (gst_index_add_object): Note in the docs that
12358         this function is not implemented.
12359
12360 2005-11-14  Julien MOUTTE  <julien@moutte.net>
12361
12362         * gst/base/gstbasetransform.c:
12363         (gst_base_transform_prepare_output_buf):
12364         Ref the source pad caps while we need them.
12365         Fixes (#321386)
12366
12367 2005-11-11  Wim Taymans  <wim@fluendo.com>
12368
12369         * docs/gst/gstreamer-sections.txt:
12370         Added some docs for GstCollectData.
12371
12372         * gst/base/gstadapter.c:
12373         Some small code example fix.
12374
12375         * gst/base/gstcollectpads.c:
12376         * gst/base/gstcollectpads.h:
12377         Document some more.
12378
12379 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
12380
12381         * configure.ac: back to HEAD
12382
12383 === release 0.9.5 ===
12384
12385 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
12386
12387         * configure.ac:
12388           releasing 0.9.5, "Bike Lunch Day"
12389
12390 2005-11-11  Wim Taymans  <wim@fluendo.com>
12391
12392         * gst/gstbuffer.c: (_gst_buffer_copy):
12393         Copy more flags.
12394
12395         * gst/gstcaps.c: (gst_caps_is_equal):
12396         Fix some docs.
12397         Make _is_equal fast in the trivial cases.
12398
12399         * gst/gstminiobject.c:
12400         * gst/gstminiobject.h:
12401         More docs. Spifify .h file.
12402
12403         * gst/gstutils.c:
12404         Small doc update.
12405
12406 2005-11-11  Wim Taymans  <wim@fluendo.com>
12407
12408         * gst/base/gstbasetransform.c:
12409         (gst_base_transform_prepare_output_buf),
12410         (gst_base_transform_handle_buffer):
12411         Small cleanups.
12412         If we're processing a buffer and need to allocate an output
12413         buffer, we cannot accept a format change. If we did get a 
12414         format change, we have to alloc a buffer ourselves of the 
12415         right size.
12416
12417 2005-11-11  Wim Taymans  <wim@fluendo.com>
12418
12419         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
12420         While checking the flag for reentrancy in the gstcaps function
12421         is nice to detect recursive invocations, it also makes it 
12422         impossible to call getcaps from multiple threads, which must be
12423         possible. So, checking for recursive calls has to go.
12424
12425 2005-11-11  Michael Smith <msmith@fluendo.com>
12426
12427         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
12428           Don't sync on buffers that fall partially outside our current
12429           segment. Prevents an assertion failure/abort playing some files.
12430
12431 2005-11-10  Andy Wingo  <wingo@pobox.com>
12432
12433         * check/gst/gstbin.c (test_message_state_changed_children): Style
12434         fix..
12435
12436         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
12437         gst_bus_poll with the signal watch. Ensures that poll and a signal
12438         watch see the same messages.
12439
12440         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
12441         a poll and a watch at the same time get the same messages.
12442
12443 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
12444
12445         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
12446         * gst/gstcaps.c: (gst_caps_intersect):
12447           Don't call gst_caps_do_simplify - it doesn't respect order of caps
12448           and it's not needed.
12449
12450 2005-11-10  Wim Taymans  <wim@fluendo.com>
12451
12452         * docs/design/part-TODO.txt:
12453         Updated todo.
12454
12455 2005-11-10  Wim Taymans  <wim@fluendo.com>
12456
12457         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
12458         * gst/base/gstbasesrc.c: (gst_base_src_wait),
12459         (gst_base_src_do_sync), (gst_base_src_get_range):
12460         Implement clock sync in base class.
12461
12462 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
12463
12464         patch by: Tim-Philipp Müller <tim at centricular dot net>
12465
12466         * gst/gststructure.c: (gst_structure_parse_field),
12467         (gst_structure_from_string):
12468           Forward-port a 0.8 patch to handle escaped spaces in structure string,
12469           so that gst_parse_launch() can deal with spaces in filtered link
12470           caps (fixes #164479)
12471         * check/gst/capslist.h:
12472         * check/gst/gststructure.c: (GST_START_TEST):
12473           add unit tests for this change
12474
12475 2005-11-10  Wim Taymans  <wim@fluendo.com>
12476
12477         * docs/gst/gstreamer-sections.txt:
12478         * gst/gstelement.c:
12479         * gst/gstelement.h:
12480         Fix docs, move some STATE macros to private.
12481
12482 2005-11-10  Wim Taymans  <wim@fluendo.com>
12483
12484         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
12485         Added check for bug #317341
12486
12487         * gst/gstbuffer.c:
12488         * gst/gstbuffer.h:
12489         Some more spiffifying.
12490
12491         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
12492         Call peer linkfunction if we are a source pad. Totally fixes
12493         #317341
12494
12495         * gst/gstpad.c:
12496         Update docs, source pads should call the peer linkfunction
12497         so they can atomically perform the pad link.
12498
12499 2005-11-09  Wim Taymans  <wim@fluendo.com>
12500
12501         * gst/gstbuffer.c:
12502         * gst/gstbuffer.h:
12503         Uber-spiffy-spiffify some more.
12504
12505 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
12506
12507         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
12508         * gst/elements/gstfilesink.c: (gst_file_sink_init):
12509         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
12510         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
12511         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
12512         * gst/gstpad.c: (gst_pad_init):
12513           Use GST_DEBUG_FUNCPTR() more extensively.
12514
12515 2005-11-09  Wim Taymans  <wim@fluendo.com>
12516
12517         * gst/gstobject.c: (gst_object_class_init):
12518         * gst/gstobject.h:
12519         Documentation fixes.
12520
12521 2005-11-09  Edward Hervey  <edward@fluendo.com>
12522
12523         * gst/gsttypefindfactory.c:
12524         Fix docs.
12525         
12526 2005-11-09  Edward Hervey  <edward@fluendo.com>
12527
12528         * gst/base/gsttypefindhelper.c:
12529         * gst/gsttypefind.c:
12530         * gst/gsttypefind.h:
12531         Fix docs.
12532
12533 2005-11-09  Wim Taymans  <wim@fluendo.com>
12534
12535         * gst/gstiterator.c:
12536         Fix revision data.
12537
12538         * gst/gsttask.c:
12539         * gst/gsttask.h:
12540         Fix docs.
12541
12542 2005-11-09  Wim Taymans  <wim@fluendo.com>
12543
12544         * gst/gstevent.h:
12545         * gst/gsturi.h:
12546         Fix docs.
12547
12548 2005-11-09  Wim Taymans  <wim@fluendo.com>
12549
12550         * docs/gst/gstreamer-sections.txt:
12551         Moved the message async delivery private lock and cond
12552         to the private section.
12553
12554         * gst/gstmessage.c:
12555         * gst/gstmessage.h:
12556         Fixed docs.
12557
12558 2005-11-09  Edward Hervey  <edward@fluendo.com>
12559
12560         * docs/gst/gstreamer-sections.txt:
12561         * gst/gsturi.c:
12562         * gst/gsturi.h:
12563         Document GstURIHandler
12564
12565 2005-11-09  Wim Taymans  <wim@fluendo.com>
12566
12567         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
12568         (gst_iterator_find_custom):
12569         * gst/gstiterator.h:
12570         Fix iterator docs.
12571
12572 2005-11-09  Wim Taymans  <wim@fluendo.com>
12573
12574         * gst/gstbin.h:
12575         Document another field.
12576
12577         * gst/gststructure.c:
12578         * gst/gststructure.h:
12579         Document.
12580
12581 2005-11-09  Wim Taymans  <wim@fluendo.com>
12582
12583         * gst/gstbin.h:
12584         Documented structs.
12585
12586 2005-11-09  Wim Taymans  <wim@fluendo.com>
12587
12588         * docs/gst/gstreamer-sections.txt:
12589         Added some new macros.
12590
12591         * gst/gstclock.c:
12592         * gst/gstclock.h:
12593         * gst/gstobject.h:
12594         Docs updates.
12595
12596 2005-11-09  Wim Taymans  <wim@fluendo.com>
12597
12598         * docs/design/part-TODO.txt:
12599         Some more items for the TODO
12600
12601         * gst/gstcaps.c:
12602         * gst/gstcaps.h:
12603         Document GstCaps.
12604
12605 2005-11-09  Andy Wingo  <wingo@pobox.com>
12606
12607         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
12608         to work on something else now tho...
12609
12610         * gst/base/gstadapter.c: More adapter docs.
12611
12612         * gst/elements/gstfilesink.c (gst_file_sink_start) 
12613         (gst_file_sink_stop): New functions, replace the state change
12614         handler.
12615         (gst_file_sink_class_init): Hook up the start and stop functions.
12616         (gst_file_sink_base_init): Don't set the state change handler any
12617         more. It was a bit ugly too, being set from here...
12618         (gst_file_sink_get_property, gst_file_sink_set_property):
12619         Cleanups...
12620         (gst_file_sink_set_location): More robust check that doesn't call
12621         GST_STATE. Ugggggg.
12622
12623 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
12624
12625         * gst/base/gstbasetransform.c: (gst_base_transform_event):
12626           Hold STREAM_LOCK while pushing newsegment or tag events as well.
12627
12628 2005-11-08  Wim Taymans  <wim@fluendo.com>
12629
12630         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
12631         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
12632         (gst_base_sink_chain), (gst_base_sink_change_state):
12633         * gst/base/gstbasesink.h:
12634         * gst/base/gstbasesrc.h:
12635         * gst/gstelement.h:
12636         * gst/gstevent.h:
12637         Avoid excessive typechecking in macros.
12638
12639         * gst/gstminiobject.c: (gst_mini_object_get_type),
12640         (gst_mini_object_init), (gst_mini_object_new),
12641         (gst_mini_object_free):
12642         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
12643         (gst_object_finalize):
12644         Remove cruft code, optimize alloc_trace.
12645
12646 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
12647
12648         * docs/faq/gst-uninstalled:
12649           fix up PS1 for systems that try to reset it
12650
12651 2005-11-07  Wim Taymans  <wim@fluendo.com>
12652
12653         * gst/base/gstbasesrc.c: (gst_base_src_init),
12654         (gst_base_src_get_range):
12655         Set the segment_end to -1 initially. Fixed typefind.
12656
12657 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
12658
12659         * gst/base/gstadapter.c:
12660           Debug category should be 'adapter', not 'GstAdapter'.
12661           
12662         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
12663         (gst_collectpads_class_init), (gst_collectpads_init),
12664         (gst_collectpads_peek), (gst_collectpads_pop),
12665         (gst_collectpads_event), (gst_collectpads_chain):
12666           Add debug category and some debugging output. Use boilerplate
12667           macros. Remove some extraneous words from docs.
12668
12669 2005-11-05  Andy Wingo  <wingo@pobox.com>
12670
12671         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
12672         macro.
12673
12674 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
12675
12676         * docs/gst/gstreamer-sections.txt:
12677         * gst/gstcaps.h:
12678         * gst/gstinfo.c:
12679         * gst/gstminiobject.h:
12680         * gst/gstobject.h:
12681         * gst/gstutils.h:
12682           more docs added
12683
12684 2005-11-04  Wim Taymans  <wim@fluendo.com>
12685
12686         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
12687         Small update to stop at the configured segment_end
12688         position.
12689
12690 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
12691
12692         * gst/gstregistry.c:
12693         * gst/gstregistry.h:
12694           added missing docs
12695
12696 2005-11-04  Edward Hervey  <edward@fluendo.com>
12697
12698         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
12699         Check if we are doing a segment seek and have arrived at the
12700         end of that segment.
12701
12702 2005-11-04  Wim Taymans  <wim@fluendo.com>
12703
12704         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
12705         Don't leak a mutex unlock in case of an error.
12706
12707         * gst/gstbus.h:
12708         Doc fixes.
12709
12710 2005-11-04  Wim Taymans  <wim@fluendo.com>
12711
12712         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
12713         (gst_bus_post):
12714         Get the context to wake up only once.
12715
12716 2005-11-03  Wim Taymans  <wim@fluendo.com>
12717
12718         * check/states/sinks.c: (GST_START_TEST):
12719         Uncomment fixed check.
12720
12721         * docs/design/part-TODO.txt:
12722         Updated TODO.
12723
12724         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
12725         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
12726         (gst_base_sink_get_position):
12727         If we are going to PLAYING, post the right pending state
12728         when we post the intermediate paused message.
12729
12730         * gst/gstelement.c: (gst_element_continue_state),
12731         (gst_element_set_state_func), (gst_element_change_state):
12732         Don't post state changes that were between the same state
12733         and were not ASYNC.
12734
12735 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
12736
12737         * docs/gst/gstreamer-sections.txt:
12738         * gst/gstcaps.h:
12739         * gst/gstinfo.c:
12740         * gst/gstminiobject.h:
12741         * gst/gstobject.h:
12742         * gst/gstutils.h:
12743           more docs and doc style fixes
12744
12745 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
12746
12747         * docs/gst/gstreamer-sections.txt:
12748         * gst/gstelement.c:
12749         * gst/gstminiobject.c:
12750         doc fixes
12751
12752 2005-11-03  Andy Wingo  <wingo@pobox.com>
12753
12754         * check/states/sinks.c (test_livesrc_sink): Add checks that the
12755         state-changed messages actually have the right order and the right
12756         values.
12757
12758 2005-11-03  Wim Taymans  <wim@fluendo.com>
12759
12760         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
12761         Added some more checks. Specifically the case where NO_PREROLL
12762         elements are in the pipeline.
12763
12764         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
12765         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
12766         (gst_base_sink_get_position):
12767         Post READY->PAUSED state change messages too.
12768         Fix bug where VOID was posted as pending state...
12769
12770         * gst/gstbin.c: (gst_bin_recalc_state):
12771         use _element_continue_state() to continue the state change.
12772
12773         * gst/gstelement.c: (gst_element_continue_state),
12774         (gst_element_commit_state), (gst_element_set_state_func),
12775         (gst_element_change_state), (gst_element_change_state_func):
12776         Lots of state change cleanups, assign the STATE_RETURN in
12777         a new continue_state() function that also propagates the
12778         last return value from a state change to the app.
12779         Update some debug statements with proper category.
12780
12781 2005-11-03  Wim Taymans  <wim@fluendo.com>
12782
12783         * docs/design/part-events.txt:
12784         * docs/design/part-gstpipeline.txt:
12785         * docs/design/part-messages.txt:
12786         * docs/design/part-overview.txt:
12787         * docs/design/part-seeking.txt:
12788         * docs/design/part-states.txt:
12789         * docs/design/part-trickmodes.txt:
12790         * docs/manual/advanced-position.xml:
12791         Small docs updates.
12792
12793         * gst/gstobject.h:
12794         People think !! is ugly, this looks better.
12795
12796         * gst/gstpad.c: (gst_pad_set_blocked_async):
12797         Remove !! since it's fixed elsewhere now.
12798
12799 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
12800
12801         * gst/gstminiobject.h:
12802         * gst/gstobject.h:
12803           Add !! to _FLAG_IS_SET macros to make the result boolean.
12804
12805 2005-11-03  Edward Hervey  <edward@fluendo.com>
12806
12807         * gst/gstpad.c: (gst_pad_set_blocked_async):
12808         comparing a flag and a gboolean rarely returns coherent results...
12809         Added two characters (!!) to make that work correctly.
12810         
12811 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
12812
12813         * gst/gstbus.c: (gst_bus_class_init):
12814           Fix some typos.
12815           
12816         * gst/gstqueue.c: (gst_queue_loop):
12817           Don't assume a miniobject that isn't a buffer is an
12818           event (it could be that there is a refcounting
12819           problem somewhere and the pointer is stale and
12820           refers to an already destroyed miniobject).
12821
12822 2005-11-03  Julien MOUTTE  <julien@moutte.net>
12823
12824         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
12825
12826 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
12827
12828         * docs/manual/advanced-position.xml:
12829           Update seek example and explanations to current 0.9 API.
12830
12831         * gst/elements/gsttypefindelement.c:
12832         (gst_type_find_element_activate):
12833           Remove FIXME comment now that the found caps
12834           are unreffed.
12835
12836 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
12837
12838         * gst/gstregistryxml.c: (load_feature):
12839           Add another GST_STR_NULL instance
12840
12841 2005-11-02  Edward Hervey  <edward@fluendo.com>
12842
12843         * gst/gstpad.c: (handle_pad_block):
12844         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
12845         
12846 2005-11-02  Wim Taymans  <wim@fluendo.com>
12847
12848         * gst/gstbin.c:
12849         Fix typo in docs.
12850
12851         * gst/gstelement.c: (gst_element_commit_state):
12852         Remove unused value.
12853
12854         * gst/gstiterator.c:
12855         Mention that the returned element is reffed in the docs.
12856
12857 2005-11-02  Wim Taymans  <wim@fluendo.com>
12858
12859         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
12860         (gst_pad_push), (gst_pad_push_event):
12861         Unlock blocked pads when they are flushed.
12862
12863 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12864
12865         * docs/README:
12866         * docs/gst/gstreamer-sections.txt:
12867         * gst/gstbin.c:
12868           doc updates
12869         * gst/gstregistry.c: (gst_registry_scan_path_level):
12870           fix for a nasty little missed situation where an installed plug-in
12871           which was in the cache did not get overridden by an uninstalled one
12872           which was earlier in the plugin path because the newly created plugin
12873           for the uninstalled one (not in the registry) didn't get its
12874           ->registered set to TRUE
12875
12876 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
12877
12878         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
12879         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
12880         (gst_collectpads_is_active), (gst_collectpads_collect),
12881         (gst_collectpads_collect_range), (gst_collectpads_start),
12882         (gst_collectpads_stop), (gst_collectpads_peek),
12883         (gst_collectpads_pop), (gst_collectpads_available),
12884         (gst_collectpads_read), (gst_collectpads_flush):
12885           Guard public API with assertions.
12886         
12887         * gst/gstpad.c:
12888           Fix docs for gst_pad_set_link_function().
12889
12890 2005-11-02  Johan Dahlin  <johan@gnome.org>
12891
12892         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
12893         Unref found_caps after we used it.
12894
12895 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
12896
12897         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
12898           Don't try to ref NULL.
12899
12900 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12901
12902         * win32/common/config.h.in:
12903           provide a GST_FUNCTION that just gives a string for now
12904
12905 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12906
12907         * win32/common/gstenumtypes.c: (register_gst_object_flags),
12908         (gst_object_flags_get_type), (register_gst_bin_flags),
12909         (gst_bin_flags_get_type), (register_gst_buffer_flag),
12910         (gst_buffer_flag_get_type), (register_gst_bus_flags),
12911         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
12912         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
12913         (gst_clock_return_get_type), (register_gst_clock_entry_type),
12914         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
12915         (gst_clock_flags_get_type), (register_gst_state),
12916         (gst_state_get_type), (register_gst_state_change_return),
12917         (gst_state_change_return_get_type), (register_gst_state_change),
12918         (gst_state_change_get_type), (register_gst_element_flags),
12919         (gst_element_flags_get_type), (register_gst_core_error),
12920         (gst_core_error_get_type), (register_gst_library_error),
12921         (gst_library_error_get_type), (register_gst_resource_error),
12922         (gst_resource_error_get_type), (register_gst_stream_error),
12923         (gst_stream_error_get_type), (register_gst_event_type),
12924         (gst_event_type_get_type), (register_gst_seek_type),
12925         (gst_seek_type_get_type), (register_gst_seek_flags),
12926         (gst_seek_flags_get_type), (register_gst_format),
12927         (gst_format_get_type), (register_gst_index_certainty),
12928         (gst_index_certainty_get_type), (register_gst_index_entry_type),
12929         (gst_index_entry_type_get_type),
12930         (register_gst_index_lookup_method),
12931         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
12932         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
12933         (gst_index_resolver_method_get_type), (register_gst_index_flags),
12934         (gst_index_flags_get_type), (register_gst_debug_level),
12935         (gst_debug_level_get_type), (register_gst_debug_color_flags),
12936         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
12937         (gst_iterator_result_get_type), (register_gst_iterator_item),
12938         (gst_iterator_item_get_type), (register_gst_message_type),
12939         (gst_message_type_get_type), (register_gst_mini_object_flags),
12940         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
12941         (gst_pad_link_return_get_type), (register_gst_flow_return),
12942         (gst_flow_return_get_type), (register_gst_activate_mode),
12943         (gst_activate_mode_get_type), (register_gst_pad_direction),
12944         (gst_pad_direction_get_type), (register_gst_pad_flags),
12945         (gst_pad_flags_get_type), (register_gst_pad_presence),
12946         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
12947         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
12948         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
12949         (gst_plugin_error_get_type), (register_gst_plugin_flags),
12950         (gst_plugin_flags_get_type), (register_gst_rank),
12951         (gst_rank_get_type), (register_gst_query_type),
12952         (gst_query_type_get_type), (register_gst_tag_merge_mode),
12953         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
12954         (gst_tag_flag_get_type), (register_gst_task_state),
12955         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
12956         (gst_alloc_trace_flags_get_type),
12957         (register_gst_type_find_probability),
12958         (gst_type_find_probability_get_type), (register_gst_uri_type),
12959         (gst_uri_type_get_type), (register_gst_parse_error),
12960         (gst_parse_error_get_type):
12961         * win32/common/gstversion.h:
12962           update win32 copies
12963
12964 2005-11-01  Luca Ognibene  <luogni@tin.it>
12965
12966         * gst/gst.c:
12967           fix docs. popt is dead, long live GOption.
12968
12969 2005-10-31  Wim Taymans  <wim@fluendo.com>
12970
12971         * gst/gstbuffer.h:
12972         Small doc fix.
12973
12974 2005-10-31  Andy Wingo  <wingo@pobox.com>
12975
12976         * Boo!
12977
12978         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
12979
12980         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
12981         need to serialize property notifications on GLib 2.8. GLib 2.6 has
12982         the possibility of deadlocks here if code calling notify() or
12983         set() has a lock that can be taken in another notify handler (ABBA
12984         with class lock and e.g. python GIL state lock).
12985
12986 2005-10-28  Julien MOUTTE  <julien@moutte.net>
12987
12988         * gst/gstbus.c: Doc updates.
12989
12990 2005-10-28  Wim Taymans  <wim@fluendo.com>
12991
12992         * docs/design/part-TODO.txt:
12993         * gst/gstiterator.c:
12994         * gst/gstsystemclock.c:
12995         * gst/gstsystemclock.h:
12996         Doc updates.
12997
12998 2005-10-28  Edward Hervey  <edward@fluendo.com>
12999
13000         * docs/gst/gstreamer-docs.sgml:
13001         * docs/gst/gstreamer-sections.txt:
13002         the GstURIType documentation page is private, it only defines GstURIType
13003         which should be defined in the GstURIHandler page
13004         
13005 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
13006
13007         * gst/gstbin.c: (gst_bin_class_init):
13008         * gst/gstbin.h:
13009         * gst/gstutils.c:
13010         Documentation updates.
13011
13012 2005-10-28  Wim Taymans  <wim@fluendo.com>
13013
13014         * docs/gst/gstreamer-sections.txt:
13015         * gst/gstclock.c:
13016         * gst/gstclock.h:
13017         Documented the clocks.
13018
13019 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
13020
13021         * docs/gst/gstreamer-sections.txt:
13022           move some macros to private sections
13023         * gst/gstminiobject.c:
13024         * gst/gstminiobject.h:
13025           add descriptions provided by ds and some more
13026         * gst/gstpad.h:
13027           mark macro as to be removed
13028
13029 2005-10-28  Wim Taymans  <wim@fluendo.com>
13030
13031         * docs/design/part-TODO.txt:
13032         Add an item to TODO.
13033
13034         * gst/gstiterator.c: (gst_iterator_fold),
13035         (gst_iterator_find_custom):
13036         * gst/gstiterator.h:
13037         Add iterator docs.
13038
13039 2005-10-28  Wim Taymans  <wim@fluendo.com>
13040
13041         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
13042         (gst_base_transform_init):
13043         Don't leak class.
13044
13045         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
13046         An EOS event marks the queue as completely filled.
13047
13048 2005-10-27  Wim Taymans  <wim@fluendo.com>
13049
13050         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13051         (gst_base_sink_do_sync), (gst_base_sink_get_position):
13052         Some more debugging.
13053
13054         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
13055         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
13056         (gst_base_transform_event), (gst_base_transform_getrange),
13057         (gst_base_transform_chain):
13058         * gst/base/gstbasetransform.h:
13059         Fix debugging,
13060         Protect transform and concurrent buffer alloc with a new lock.
13061         Try not to break ABI/API.
13062
13063 2005-10-27  Wim Taymans  <wim@fluendo.com>
13064
13065         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
13066         (gst_base_src_init), (gst_base_src_query),
13067         (gst_base_src_default_newsegment),
13068         (gst_base_src_configure_segment), (gst_base_src_do_seek),
13069         (gst_base_src_send_event), (gst_base_src_event_handler),
13070         (gst_base_src_pad_get_range), (gst_base_src_loop),
13071         (gst_base_src_unlock), (gst_base_src_default_negotiate),
13072         (gst_base_src_start), (gst_base_src_deactivate),
13073         (gst_base_src_activate_push), (gst_base_src_change_state):
13074         Move some stuff around and cleanup things.
13075
13076 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
13077
13078         * gst/base/gstbasesrc.c: (gst_base_src_query):
13079           Add missing break statements.
13080
13081 2005-10-27  Wim Taymans  <wim@fluendo.com>
13082
13083         * check/gst/gstbin.c: (GST_START_TEST):
13084         An extra refcount is taken in basesrc.
13085
13086         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
13087         (gst_base_src_get_range), (gst_base_src_pad_get_range),
13088         (gst_base_src_loop):
13089         Small cleanups, check for flushing after being unlocked from the 
13090         LIVE_LOCK. take refcounts correctly (not yet everywhere).
13091         Don't send out EOS when going to READY.
13092
13093 2005-10-27  Wim Taymans  <wim@fluendo.com>
13094
13095         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13096         (gst_base_sink_get_position):
13097         Some more debug.
13098
13099         * gst/gstbin.c: (message_check), (bin_replace_message),
13100         (bin_remove_messages), (is_eos), (gst_bin_add_func),
13101         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
13102         (bin_query_duration_init), (bin_query_duration_fold),
13103         (bin_query_duration_done), (bin_query_generic_fold),
13104         (gst_bin_query):
13105         * tools/gst-launch.c: (main):
13106         Remove old option.
13107
13108 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
13109
13110         * examples/controller/audio-example.c: (main):
13111         * examples/queue/queue.c: (event_loop):
13112         * gst/base/gstbasetransform.h:
13113         * gst/gstelement.c: (gst_element_send_event):
13114         * gst/gstevent.h:
13115         * gst/gstpad.c: (gst_pad_send_event):
13116           fixing examples
13117           fixing docs typos
13118           changing log priority in error situations
13119
13120 2005-10-25  Wim Taymans  <wim@fluendo.com>
13121
13122         * gst/gstbin.c: (message_check), (bin_replace_message),
13123         (bin_remove_messages), (is_eos), (gst_bin_add_func),
13124         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
13125         (bin_query_duration_init), (bin_query_duration_fold),
13126         (bin_query_duration_done), (bin_query_generic_fold),
13127         (gst_bin_query):
13128         Some doc and debug updates.
13129         Cache previously requested query DURATION for speed. invalidate
13130         cached duration if element posts a DURATION message.
13131
13132 2005-10-25  Wim Taymans  <wim@fluendo.com>
13133
13134         * docs/design/part-TODO.txt:
13135         Update TODO.
13136
13137         * gst/gstbin.c: (message_check), (bin_replace_message),
13138         (bin_remove_messages), (is_eos), (gst_bin_add_func),
13139         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
13140         (bin_query_duration_init), (bin_query_duration_fold),
13141         (bin_query_duration_done), (bin_query_generic_fold),
13142         (gst_bin_query):
13143         Handle SEGMENT_START/DONE messages correctly.
13144         More evolved query algorithm that handles duration queries
13145         correctly.
13146
13147         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
13148         (gst_element_get_state_func), (gst_element_abort_state),
13149         (gst_element_commit_state), (gst_element_lost_state):
13150         Some more debugging.
13151
13152         * gst/gstmessage.h:
13153         Added doc.
13154
13155 2005-10-25  Wim Taymans  <wim@fluendo.com>
13156
13157         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
13158         Don't use invalid stream_time.
13159
13160         * gst/gstevent.c: (gst_event_new_newsegment):
13161         stream_time in newsegment cannot be undefined.
13162
13163 2005-10-24  Wim Taymans  <wim@fluendo.com>
13164
13165         * gst/gstbus.c:
13166         Doc fix.
13167
13168         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
13169         (gst_queue_loop):
13170         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
13171
13172 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
13173
13174         * docs/libs/tmpl/gstdparam.sgml:
13175         * docs/libs/tmpl/gstdplinint.sgml:
13176         * docs/libs/tmpl/gstdpman.sgml:
13177         * docs/libs/tmpl/gstdpsmooth.sgml:
13178         * docs/libs/tmpl/gstunitconvert.sgml:
13179           these are obsolete
13180
13181 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
13182
13183         * configure.ac:
13184           back to HEAD
13185
13186 === release 0.9.4 ===
13187
13188 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
13189
13190         * configure.ac:
13191           releasing 0.9.4, "Tyrannosaurus Rex"
13192
13193 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
13194
13195         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
13196         (gst_file_sink_get_current_offset):
13197           Use fseeko() and ftello() if available. When falling back on
13198           lseek() to get the current offset, fflush() first to make sure
13199           everything is up-to-date and we get the right offset.
13200
13201 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
13202
13203         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
13204         * gst/base/gstbasesrc.c: (gst_base_src_loop):
13205         * gst/gsterror.c: (_gst_stream_errors_init):
13206         * gst/gsterror.h:
13207         * gst/gstqueue.c: (gst_queue_loop):
13208         * po/POTFILES.in:
13209           remove prematurely added error category and clean up the instances
13210
13211 2005-10-21  Wim Taymans  <wim@fluendo.com>
13212
13213         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
13214         (gst_base_sink_get_position), (gst_base_sink_query),
13215         (gst_base_sink_change_state):
13216         Simply set the right flag when going to playing, that's all
13217         we need to do instead of calling a function inside the object
13218         lock (that could take the lock as well and deadlock)
13219
13220 2005-10-21  Wim Taymans  <wim@fluendo.com>
13221
13222         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
13223         (gst_base_src_loop):
13224         Don't warn, the peer element knows what to do best when
13225         the seek failed, it might try something else.
13226
13227 2005-10-21  Wim Taymans  <wim@fluendo.com>
13228
13229         * gst/base/gstbasesrc.c: (gst_base_src_init),
13230         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
13231         Fix seeking.
13232
13233 2005-10-21  Wim Taymans  <wim@fluendo.com>
13234
13235         * docs/design/part-segments.txt:
13236         More docs.
13237
13238         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
13239         Correctly set caps, even on the subbufer.
13240
13241 2005-10-21  Wim Taymans  <wim@fluendo.com>
13242
13243         * docs/gst/gstreamer-docs.sgml:
13244         * docs/gst/gstreamer-sections.txt:
13245         * gst/gstelement.h:
13246         * gst/gstevent.c:
13247         * gst/gstevent.h:
13248         * gst/gstmessage.h:
13249         * gst/gstpad.h:
13250         * gst/gstparse.h:
13251         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
13252         * gst/gsttask.h:
13253         * gst/gstutils.c:
13254         * gst/gstutils.h:
13255         And 2% more doc coverage.
13256
13257 2005-10-21  Andy Wingo  <wingo@pobox.com>
13258
13259         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
13260         position reporting.
13261
13262 2005-10-20  Wim Taymans  <wim@fluendo.com>
13263
13264         * gst/gsterror.c: (gst_error_get_message):
13265         * gst/gstparse.h:
13266         * gst/gstquery.h:
13267         * gst/gststructure.c:
13268         * gst/gsttrace.c:
13269         * gst/gstutils.c:
13270         More docs.
13271
13272 2005-10-20  Wim Taymans  <wim@fluendo.com>
13273
13274         * gst/gstbuffer.h:
13275         * gst/gstpad.c:
13276         * gst/gstparse.c:
13277         Another 1% more coverage.
13278
13279 2005-10-20  Wim Taymans  <wim@fluendo.com>
13280
13281         * docs/gst/gstreamer-sections.txt:
13282         * gst/gstelement.c: (gst_element_get_state_func),
13283         (gst_element_abort_state), (gst_element_commit_state),
13284         (gst_element_lost_state):
13285         * gst/gstevent.h:
13286         * gst/gstquery.c: (gst_query_set_position),
13287         (gst_query_parse_position), (gst_query_set_duration),
13288         (gst_query_parse_duration), (gst_query_new_convert):
13289         * gst/gstutils.c:
13290         Yay! 1% more docs coverage.
13291
13292 2005-10-20  Wim Taymans  <wim@fluendo.com>
13293
13294         * gst/gstpad.h:
13295         * gst/gstquery.c: (gst_query_set_position),
13296         (gst_query_parse_position), (gst_query_set_duration),
13297         (gst_query_parse_duration), (gst_query_new_convert):
13298         * gst/gstquery.h:
13299         * gst/gstutils.c: (gst_element_query_convert):
13300         * gst/gstutils.h:
13301         Docs and consistency fixes.
13302
13303 2005-10-20  Wim Taymans  <wim@fluendo.com>
13304
13305         * gst/gsttask.c:
13306         * gst/gsttask.h:
13307         More docs.
13308
13309 2005-10-20  Wim Taymans  <wim@fluendo.com>
13310
13311         * gst/gstbin.c: (message_check), (bin_replace_message),
13312         (bin_remove_messages), (is_eos), (gst_bin_add_func),
13313         (update_degree), (gst_bin_sort_iterator_next),
13314         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
13315         Reworked the message handling a bit, cache the messages instead of
13316         only the senders. alows us to do more in the future.
13317
13318 2005-10-20  Wim Taymans  <wim@fluendo.com>
13319
13320         * docs/design/part-TODO.txt:
13321         Update TODO
13322
13323         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
13324         (gst_base_sink_query):
13325         Don't use clock time to report position when in EOS.
13326
13327 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
13328
13329         * tools/gst-inspect.c: (print_interfaces),
13330         (print_element_properties_info), (print_element_info):
13331           Fix interface output with gst-inspect -a; don't print
13332           newlines after double/float properties.
13333
13334 2005-10-20  Wim Taymans  <wim@fluendo.com>
13335
13336         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
13337         (gst_base_sink_query):
13338         Speed up current position calculation.
13339
13340         * gst/base/gstbasesrc.c: (gst_base_src_query),
13341         (gst_base_src_default_newsegment):
13342         Correctly set stream position in newsegment.
13343
13344         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
13345         (update_degree), (gst_bin_sort_iterator_next),
13346         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
13347         * gst/gstmessage.c: (gst_message_new_custom):
13348         Clean up debugging info
13349
13350         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
13351         (gst_queue_loop), (gst_queue_handle_src_query):
13352         Pause task faster.
13353
13354 2005-10-19  Wim Taymans  <wim@fluendo.com>
13355
13356         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
13357         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
13358         Fix query handling again.
13359
13360 2005-10-19  Wim Taymans  <wim@fluendo.com>
13361
13362         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
13363         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
13364         * gst/base/gstbasesrc.c: (gst_base_src_query):
13365         * gst/elements/gstfilesink.c: (gst_file_sink_query):
13366         * gst/elements/gsttypefindelement.c:
13367         (gst_type_find_handle_src_query), (find_element_get_length),
13368         (gst_type_find_element_activate):
13369         API change fix.
13370
13371         * gst/gstquery.c: (gst_query_new_position),
13372         (gst_query_set_position), (gst_query_parse_position),
13373         (gst_query_new_duration), (gst_query_set_duration),
13374         (gst_query_parse_duration), (gst_query_set_segment),
13375         (gst_query_parse_segment):
13376         * gst/gstquery.h:
13377         Bundling query position/duration is not a good idea since duration
13378         does not change much and we don't want to recalculate it for every
13379         position query, so they are separated again..
13380         Base value in segment query is not needed.
13381
13382         * gst/gstqueue.c: (gst_queue_handle_src_query):
13383         * gst/gstutils.c: (gst_element_query_position),
13384         (gst_element_query_duration), (gst_pad_query_position),
13385         (gst_pad_query_duration):
13386         * gst/gstutils.h:
13387         Updates for query API change.
13388         Added some docs here and there.
13389
13390 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13391
13392         * check/gst/gstbin.c: (GST_START_TEST):
13393         * check/gst/gstghostpad.c: (GST_START_TEST):
13394         * check/pipelines/cleanup.c: (GST_START_TEST):
13395           wait on thread to die so we can check refcount correctly
13396
13397 2005-10-18  Wim Taymans  <wim@fluendo.com>
13398
13399         * check/pipelines/stress.c: (GST_START_TEST):
13400         Make check a little more time consuming.
13401
13402 2005-10-18  Wim Taymans  <wim@fluendo.com>
13403
13404         * check/Makefile.am:
13405         * check/pipelines/stress.c: (GST_START_TEST),
13406         (simple_launch_lines_suite), (main):
13407         Small state change torture test.
13408
13409         * docs/design/part-states.txt:
13410         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
13411         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
13412         (gst_base_sink_change_state):
13413         Never take state lock from streaming thread, clean up ugly
13414         hacks. Unfortunatly core does not yet support nice ways to
13415         async commit state.
13416         
13417         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
13418         (bin_bus_handler):
13419         Start state recalc if a STATE_DIRTY message is posted, but only
13420         on the toplevel bin.
13421
13422         * gst/gstelement.c: (gst_element_sync_state_with_parent),
13423         (gst_element_get_state_func), (gst_element_abort_state),
13424         (gst_element_commit_state), (gst_element_lost_state),
13425         (gst_element_set_state_func), (gst_element_change_state):
13426         * gst/gstelement.h:
13427         State variables are now protected with the LOCK, the state
13428         lock is only used to serialize _set_state().
13429
13430 2005-10-18  Wim Taymans  <wim@fluendo.com>
13431
13432         * check/gst/gstbin.c: (GST_START_TEST):
13433         * check/gst/gstmessage.c: (GST_START_TEST):
13434         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
13435         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
13436         (bin_bus_handler):
13437         * gst/gstelement.c: (gst_element_abort_state),
13438         (gst_element_commit_state), (gst_element_lost_state):
13439         * gst/gstmessage.c: (gst_message_new_state_changed),
13440         (gst_message_new_state_dirty), (gst_message_new_segment_start),
13441         (gst_message_new_segment_done), (gst_message_new_duration),
13442         (gst_message_parse_state_changed),
13443         (gst_message_parse_segment_start),
13444         (gst_message_parse_segment_done), (gst_message_parse_duration):
13445         * gst/gstmessage.h:
13446         * tools/gst-launch.c: (event_loop):
13447         Seriously, this is better than a previous commit as we only need
13448         to notify the fact that an element changed state in a streaming
13449         thread, marking the state of the parents dirty, hence the 
13450         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
13451         message.
13452
13453 2005-10-18  Wim Taymans  <wim@fluendo.com>
13454
13455         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
13456         (gst_bin_recalc_func):
13457         * gst/gstelement.c: (gst_element_set_clock),
13458         (gst_element_abort_state), (gst_element_lost_state):
13459         Cleanups, prepare for state change fixes.
13460
13461 2005-10-18  Wim Taymans  <wim@fluendo.com>
13462
13463         * gst/gstbin.h:
13464         * gst/gstelement.c: (gst_element_class_init),
13465         (gst_element_set_state), (gst_element_set_state_func):
13466         * gst/gstelement.h:
13467         Pending ABI changes.
13468         GThreadPool in GstBinClass to monitor async state changes.
13469         state_cookie in GstElement to detect concurrent gst/set state.
13470         set_state is now virtual too in case a very complicated element
13471         has to be constructed.
13472
13473 2005-10-18  Wim Taymans  <wim@fluendo.com>
13474
13475         * check/gst/gstbin.c: (GST_START_TEST):
13476         * check/gst/gstmessage.c: (GST_START_TEST):
13477         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
13478         * gst/gstbin.c: (bin_bus_handler):
13479         * gst/gstelement.c: (gst_element_commit_state),
13480         (gst_element_lost_state):
13481         * gst/gstmessage.c: (gst_message_new_state_changed),
13482         (gst_message_new_segment_start), (gst_message_new_segment_done),
13483         (gst_message_new_duration), (gst_message_parse_state_changed),
13484         (gst_message_parse_segment_start),
13485         (gst_message_parse_segment_done), (gst_message_parse_duration):
13486         * gst/gstmessage.h:
13487         * tools/gst-launch.c: (event_loop):
13488         Make messages future proof.
13489         state-change gets a flag if it was a message comming from the
13490         streaming thread.
13491         segment-start/stop can also be specified in other formats.
13492         A message to notify an app that a pipeline changed playback 
13493         duration.
13494         Also fix a GstMessage leak in -launch
13495
13496 2005-10-18  Andy Wingo  <wingo@pobox.com>
13497
13498         * gst/gstelement.c (gst_element_dispose): More helpful message.
13499
13500 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
13501
13502         reviewed by: <delete if not using a buddy>
13503
13504         * common/gtk-doc.mak:
13505
13506 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
13507
13508         * gst/gstregistry.c: (gst_registry_scan_path_level):
13509           unref a plug-in we get that was already initialized
13510
13511 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
13512
13513         * docs/gst/gstreamer-sections.txt:
13514         * docs/libs/gstreamer-libs-sections.txt:
13515         * gst/gstelement.h:
13516           add new api entries
13517           hide internal macro
13518
13519 2005-10-17  Andy Wingo  <wingo@pobox.com>
13520
13521         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
13522         cleanup.
13523
13524         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
13525
13526         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
13527
13528         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
13529         (gst_element_get_state_func): Better debug message.
13530         (gst_element_commit_state): s/INFO/DEBUG/.
13531         (gst_element_lost_state, gst_element_change_state): 
13532
13533         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
13534         (gst_message_new_custom): s/INFO/LOG/.
13535
13536 2005-10-17  Michael Smith <msmith@fluendo.com>
13537
13538         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
13539           Check if end time is valid using end time, not start time.
13540
13541 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
13542
13543         * check/gst-libs/controller.c: (GST_START_TEST),
13544         (gst_controller_suite):
13545         * libs/gst/controller/gstcontroller.c:
13546         (gst_controlled_property_set_interpolation_mode):
13547         * libs/gst/controller/gstcontroller.h:
13548         * libs/gst/controller/gstinterpolation.c:
13549         * testsuite/controller/.cvsignore:
13550         * testsuite/controller/Makefile.am:
13551         * testsuite/controller/interpolator.c:
13552           merge controller testsuites
13553           fix broken tests
13554           remove mem-chunk from docs
13555
13556 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
13557
13558         * gst/gstmemchunk.c:
13559         * gst/gstmemchunk.h:
13560         * gst/gsttrashstack.c:
13561         * gst/gsttrashstack.h:
13562           out.  get out.  you're fired.  to the Attic !
13563
13564 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
13565
13566         * gst/gstcaps.c: (gst_caps_intersect):
13567           fix signedness issues in a (hopefully) correct way
13568         * gst/gstelement.c: (gst_element_pads_activate):
13569           some debugging
13570         * gst/gstobject.c: (gst_object_set_parent):
13571           some debugging
13572
13573 2005-10-17  Julien MOUTTE  <julien@moutte.net>
13574
13575         * gst/gstvalue.h: Fix prototypes.
13576
13577 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
13578
13579         * docs/gst/gstreamer-sections.txt:
13580         * gst/gst.c: (gst_version_string):
13581         * gst/gst.h:
13582         * gst/gstversion.h.in:
13583         * win32/common/libgstreamer.def:
13584           add gst_version_string ()
13585
13586 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
13587
13588         * configure.ac:
13589           clean up further
13590         * gst/gst.c: (init_post):
13591         * win32/common/config.h.in:
13592           it's PLUGINDIR now
13593         * gst/gstcaps.c: (gst_caps_intersect):
13594           use gint64, the range could be bigger than a guint
13595
13596 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
13597
13598         * gst/gstclock.h:
13599           document potential problem in 2038
13600
13601 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
13602
13603         * gst/gstcaps.c: (gst_caps_intersect):
13604           Fix guint j diving under 0
13605
13606 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
13607
13608         * configure.ac:
13609         * win32/common/config.h:
13610         * win32/common/config.h.in:
13611           check for process.h, declares getpid() on Windows
13612         * gst/gstinfo.c:
13613           include process.h if we have it
13614         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
13615         * gst/gstmemchunk.h:
13616           fix signedness issues
13617         * win32/common/libgstreamer.def:
13618           fix get_type's
13619
13620 2005-10-16  Julien MOUTTE  <julien@moutte.net>
13621
13622         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
13623         fix. Because of unsigned ints, caps intersection was going nuts and
13624         trying to access structures with G_MAXUINT index. That fixes
13625         videotestsrc ! ffmpegcolorspace ! fakesink
13626         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
13627         consistency.
13628
13629 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
13630
13631         * configure.ac:
13632           use the gettext macro
13633         * gst/elements/gstelements.c:
13634         * gst/gst.c:
13635         * gst/indexers/gstindexers.c:
13636           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
13637         * win32/common/config.h:
13638           updated config.h
13639         * win32/common/config.h.in:
13640           add the template to generate config.h
13641         * win32/common/gstenumtypes.c:
13642         * win32/common/gstversion.h:
13643           updated copies
13644
13645 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
13646
13647         * gst/gst.c: (gst_version):
13648         * gst/gstversion.h.in:
13649           add the nano
13650
13651 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
13652
13653         * gst/gstevent.h:
13654           Oops, add missing closing bracket.
13655
13656 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
13657
13658         * configure.ac:
13659           use common m4's for argument checking
13660
13661 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
13662
13663         * docs/gst/gstreamer-sections.txt:
13664         * gst/gstevent.h:
13665           Add GST_EVENT_TYPE_NAME() macro.
13666
13667 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
13668
13669         * gst/gstinfo.c:
13670         * gst/gstpluginfeature.c:
13671         * gst/gsttask.c:
13672           privatize more symbols
13673
13674 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
13675
13676         * configure.ac:
13677           add srcdir, builddir includes to GST_ALL_CFLAGS, since
13678           everything that uses GStreamer API should have the includes
13679
13680 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
13681
13682         * docs/gst/gstreamer-sections.txt:
13683         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
13684         * gst/gstvalue.h:
13685           give each value a _get_type, removes the DATA exports
13686
13687 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
13688
13689         * gst/gst.c:
13690         * gst/gst.h:
13691           remove _gst_registry_auto_load, not used anymore
13692         * gst/gstbin.c: (gst_bin_get_type):
13693         * gst/gstbin.h:
13694         * gst/gstelement.c: (gst_element_get_type):
13695         * gst/gstelement.h:
13696         * gst/gstobject.c: (gst_object_get_type):
13697         * gst/gstobject.h:
13698         * gst/gstpad.c: (gst_pad_get_type):
13699         * gst/gstpad.h:
13700           make _get_type functions similar, fixes data export from library
13701
13702 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
13703
13704         * configure.ac:
13705           correctly make conditionals
13706         * gst/elements/Makefile.am:
13707         * gst/elements/gstelements.c:
13708           fix typo causing fdsrc not to build
13709
13710 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
13711
13712         * testsuite/Makefile.am:
13713         * testsuite/bytestream/.cvsignore:
13714         * testsuite/bytestream/Makefile.am:
13715         * testsuite/bytestream/filepadsink.c:
13716         * testsuite/bytestream/gstbstest.c:
13717         * testsuite/bytestream/test1.c:
13718         * testsuite/bytestream/testfile1:
13719         * testsuite/caps/normalisation.c:
13720         * testsuite/caps/random.c: (main):
13721         * testsuite/cleanup/.cvsignore:
13722         * testsuite/cleanup/Makefile.am:
13723         * testsuite/cleanup/cleanup1.c:
13724         * testsuite/cleanup/cleanup2.c:
13725         * testsuite/cleanup/cleanup3.c:
13726         * testsuite/cleanup/cleanup4.c:
13727         * testsuite/cleanup/cleanup5.c:
13728         * testsuite/controller/interpolator.c:
13729         * testsuite/debug/printf_extension.c: (main):
13730         * testsuite/elements/tee.c:
13731         * testsuite/negotiation/.cvsignore:
13732         * testsuite/negotiation/Makefile.am:
13733         * testsuite/negotiation/pad_link.c:
13734         * testsuite/pad/Makefile.am:
13735         * testsuite/pad/chainnopull.c:
13736         * testsuite/pad/getnopush.c:
13737         * testsuite/pad/link.c:
13738         * testsuite/refcounting/sched.c: (create_pipeline):
13739         * testsuite/registry/Makefile.am:
13740         * testsuite/registry/gst-print-formats.c:
13741         * testsuite/schedulers/.cvsignore:
13742         * testsuite/schedulers/142183-2.c:
13743         * testsuite/schedulers/142183.c:
13744         * testsuite/schedulers/143777-2.c:
13745         * testsuite/schedulers/143777.c:
13746         * testsuite/schedulers/147713.c:
13747         * testsuite/schedulers/147819.c:
13748         * testsuite/schedulers/147894-2.c:
13749         * testsuite/schedulers/147894.c:
13750         * testsuite/schedulers/Makefile.am:
13751         * testsuite/schedulers/group_link.c:
13752         * testsuite/schedulers/queue_link.c:
13753         * testsuite/schedulers/relink.c:
13754         * testsuite/schedulers/unlink.c:
13755         * testsuite/schedulers/unref.c:
13756         * testsuite/schedulers/useless_iteration.c:
13757         * testsuite/states/bin.c:
13758           clean out/remove some stuff from the testsuite directories
13759
13760 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
13761
13762         * configure.ac:
13763           check for some headers
13764         * gst/elements/Makefile.am:
13765         * gst/elements/gstelements.c:
13766           don't compile fdsrc without sys/socket.h
13767         * gst/indexers/Makefile.am:
13768         * gst/indexers/gstindexers.c: (plugin_init):
13769           don't compile fileindex without mmap
13770
13771 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
13772
13773         * configure.ac:
13774           reorganize
13775           clean up
13776           document more
13777           remove cruft
13778         * check/Makefile.am:
13779         * docs/gst/Makefile.am:
13780         * examples/helloworld/Makefile.am:
13781         * gst/Makefile.am:
13782         * gst/base/Makefile.am:
13783         * gst/check/Makefile.am:
13784         * gst/elements/Makefile.am:
13785         * gst/indexers/Makefile.am:
13786         * gst/parse/Makefile.am:
13787         * libs/gst/controller/Makefile.am:
13788         * libs/gst/dataprotocol/Makefile.am:
13789         * examples/helloworld/helloworld.c: (event_loop):
13790           compile fixes, though it's not being compiled currently
13791
13792 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
13793
13794         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
13795           Add some simple tests for the new taglist date API.
13796
13797 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
13798
13799         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
13800         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
13801           Beautify 'last-message' output: print 'none' for buffer timestamps
13802           and durations if none is set; improve alignment with next messages.
13803
13804 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
13805
13806         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
13807         * gst/gstpluginfeature.h:
13808         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
13809         * gst/gstregistry.h:
13810         * docs/gst/gstreamer-sections.txt:
13811           Add new API to check plugin feature version requirements.
13812
13813         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
13814           Some basic tests for the above.         
13815
13816 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13817
13818         * gst/gststructure.c: (gst_structure_to_string):
13819           guard against NULL printf - happens when for example
13820           a message structure with GstClock gets serialized
13821
13822 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
13823
13824         * gst/base/gstcollectpads.c: (gst_collectpads_event):
13825           Fix presumable copy'n'pasto.
13826
13827 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13828
13829         * gst/elements/gstfakesrc.h:
13830         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
13831         * gst/elements/gsttypefindelement.c:
13832           fix some signedness
13833         * gst/elements/gstfilesink.c: (gst_file_sink_render):
13834           I wonder if this could actually write +2GB files before
13835
13836 2005-10-13  Andy Wingo  <wingo@pobox.com>
13837
13838         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
13839         Fix Timmeke Waymans bug.
13840         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
13841         string of the proper length to gst_caps_from_string. There's a
13842         potential for, before this fix, that this could cause someone
13843         connecting over the network to cause a segfault if the payload is
13844         not NUL-terminated.
13845
13846 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
13847
13848         * docs/design/draft-push-pull.txt:
13849         * docs/design/part-overview.txt:
13850         * docs/random/TODO-pre-0.9:
13851         * docs/random/old/ChangeLog.gstreamer:
13852         * gst/base/gstpushsrc.c:
13853         * gst/gstclock.c:
13854           fixed typos
13855
13856 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13857
13858         * gst/glib-compat.c: (gst_flags_get_first_value):
13859         * gst/glib-compat.h:
13860         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
13861         (gst_value_compare_double), (gst_value_serialize_flags):
13862           GLib 2.6 g_flags_get_first_value has a bug that triggers an
13863           infinite loop
13864
13865 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13866
13867         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
13868         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
13869           fix up debugging
13870         * tools/gst-launch.c: (event_loop):
13871           print out clock nicely
13872
13873 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
13874
13875         * docs/gst/gstreamer-sections.txt:
13876         * gst/gsttaglist.h:
13877         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
13878         (gst_tag_list_get_date_index):
13879           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
13880           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
13881
13882 2005-10-13  Julien MOUTTE  <julien@moutte.net>
13883
13884         * gst/base/gstcollectpads.c: (gst_collectpads_event),
13885         (gst_collectpads_chain):
13886         * gst/base/gstcollectpads.h: Handle newsegment and store informations
13887         in CollectData.
13888
13889 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
13890
13891         * docs/gst/gstreamer-sections.txt:
13892         * gst/gst.c:
13893         * gst/gsterror.h:
13894         * tools/gst-inspect.c: (main):
13895         * tools/gst-launch.c: (main):
13896         * tools/gst-run.c: (main):
13897         * tools/gst-xmlinspect.c: (main):
13898           fix GOption context leaks
13899           doc fixes
13900
13901 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13902
13903         * gst/gstbus.c:
13904           use HAVE_UNISTD_H
13905         * win32/common/config.h:
13906           update config
13907         * win32/vs6/grammar.dsp:
13908         * win32/vs6/libgstelements.dsp:
13909         * win32/vs6/libgstreamer.dsp:
13910           update vs6 files
13911
13912 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
13913
13914         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
13915         * gst/base/gstbasesrc.c: (gst_base_src_query):
13916           fix more guint64<->gdouble conversions
13917
13918 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
13919
13920         * Makefile.am:
13921           add win32-update target
13922         * win32/common/gstconfig.h:
13923         * win32/common/gstenumtypes.c:
13924         * win32/common/gstenumtypes.h:
13925         * win32/common/gstversion.h:
13926           add files that visual studio can't generate
13927
13928 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
13929
13930         * Makefile.am:
13931           add a win32-update target
13932         * configure.ac:
13933
13934 2005-10-12  Wim Taymans  <wim@fluendo.com>
13935
13936         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
13937         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
13938         * gst/gstelement.c: (gst_element_commit_state),
13939         (gst_element_set_state):
13940         Protect flags with proper lock.
13941         unref provided cached clock in dispose.
13942
13943 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
13944
13945         * gst/gst.c:
13946         * gst/gstminiobject.h:
13947         * gst/gstpad.h:
13948         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
13949           removed unused flags from miniobject
13950           doc fixes
13951
13952 2005-10-12  Wim Taymans  <wim@fluendo.com>
13953
13954         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
13955         (gst_file_sink_event), (gst_file_sink_render):
13956         Flush before seeking.
13957
13958 2005-10-12  Andy Wingo  <wingo@pobox.com>
13959
13960         * gst/gst.c (gst_init_check): Ignore unknown options, as has
13961         always been the case.
13962
13963 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
13964
13965         * check/gst/gstbin.c: (GST_START_TEST):
13966         * docs/gst/gstreamer-sections.txt:
13967         * gst/base/gstbasesink.c: (gst_base_sink_init):
13968         * gst/base/gstbasesrc.c: (gst_base_src_init),
13969         (gst_base_src_get_range), (gst_base_src_check_get_range),
13970         (gst_base_src_start), (gst_base_src_stop):
13971         * gst/base/gstbasesrc.h:
13972         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
13973         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
13974         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
13975         (bin_bus_handler):
13976         * gst/gstbin.h:
13977         * gst/gstbuffer.h:
13978         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
13979         * gst/gstbus.h:
13980         * gst/gstelement.c: (gst_element_is_locked_state),
13981         (gst_element_set_locked_state), (gst_element_commit_state),
13982         (gst_element_set_state):
13983         * gst/gstelement.h:
13984         * gst/gstindex.c: (gst_index_init):
13985         * gst/gstindex.h:
13986         * gst/gstminiobject.h:
13987         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
13988         (gst_object_set_parent):
13989         * gst/gstobject.h:
13990         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
13991         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
13992         * gst/gstpad.h:
13993         * gst/gstpadtemplate.h:
13994         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
13995         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
13996         * gst/gstpipeline.h:
13997         * gst/indexers/gstfileindex.c: (gst_file_index_load),
13998         (gst_file_index_commit):
13999         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
14000         * testsuite/pad/link.c: (gst_test_src_init),
14001         (gst_test_filter_init), (gst_test_sink_init):
14002         * testsuite/states/locked.c: (main):
14003           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
14004           moved bitshift from macro to enum definition
14005
14006 2005-10-12  Wim Taymans  <wim@fluendo.com>
14007
14008         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
14009         * gst/elements/gstfilesink.c: (gst_file_sink_event),
14010         (gst_file_sink_render):
14011         Some more debugging info.
14012
14013 2005-10-12  Wim Taymans  <wim@fluendo.com>
14014
14015         * docs/design/part-states.txt:
14016         * tools/gst-launch.c: (main):
14017         Some doc updates.
14018         Revert non-intentional change.
14019
14020 2005-10-12  Wim Taymans  <wim@fluendo.com>
14021
14022         * check/gst/gstbin.c: (GST_START_TEST):
14023         * check/gst/gstelement.c: (GST_START_TEST):
14024         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
14025         * check/gst/gstghostpad.c: (GST_START_TEST):
14026         * check/gst/gstpipeline.c: (GST_START_TEST):
14027         * check/pipelines/simple_launch_lines.c: (run_pipeline):
14028         * check/states/sinks.c: (GST_START_TEST):
14029         * gst/elements/gsttypefindelement.c: (stop_typefinding):
14030         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
14031         (gst_bin_remove_func), (gst_bin_get_state_func),
14032         (gst_bin_recalc_state), (gst_bin_change_state_func),
14033         (bin_bus_handler):
14034         * gst/gstelement.c: (gst_element_get_state_func),
14035         (gst_element_get_state), (gst_element_abort_state),
14036         (gst_element_commit_state), (gst_element_set_state),
14037         (gst_element_change_state), (gst_element_change_state_func):
14038         * gst/gstelement.h:
14039         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
14040         (gst_pipeline_provide_clock_func):
14041         * gst/gstutils.c: (gst_element_link_pads_filtered):
14042         * tools/gst-launch.c: (main):
14043         * tools/gst-typefind.c: (main):
14044         Use GstClockTime in _get_state() instead of GTimeVal.
14045         Remove old code in gstutils.c
14046
14047 2005-10-12  Andy Wingo  <wingo@pobox.com>
14048
14049         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
14050         removed.
14051
14052         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
14053         there is no task. Shouldn't affect any code, as nothing in our
14054         plugins checks this return value.
14055         (gst_pad_stop_task): Also take the stream lock if the pad has no
14056         task. Docs updated.
14057
14058 2005-10-12  Wim Taymans  <wim@fluendo.com>
14059
14060         * gst/gstpad.c: (pre_activate), (post_activate),
14061         (gst_pad_activate_pull), (gst_pad_activate_push):
14062         Cleanup activation code. Reset old state if
14063         activation failed.
14064
14065 2005-10-12  Wim Taymans  <wim@fluendo.com>
14066
14067         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14068         (gst_base_sink_change_state):
14069         No need to prerol after receiving EOS.
14070
14071         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
14072         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
14073         * gst/elements/gstidentity.c: (gst_identity_event):
14074         Print events more verbosely.
14075
14076 2005-10-12  Wim Taymans  <wim@fluendo.com>
14077
14078         * check/Makefile.am:
14079         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
14080         * check/states/sinks2.c:
14081         Moved sinks2 testcode in sinks check.
14082
14083         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
14084         (gst_bin_remove_func), (gst_bin_recalc_state),
14085         (gst_bin_change_state_func), (bin_bus_handler):
14086         Fix potential race condition when _get_state() iterated over an
14087         ASYNC element right before it posted a state completion.
14088
14089         * gst/gstclock.h:
14090         Do proper cast here.
14091
14092         * gst/gstevent.c: (gst_event_new_newsegment),
14093         (gst_event_parse_newsegment):
14094         A playback rate of 0.0 is not allowed.
14095
14096 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
14097
14098         * win32/common/config.h:
14099         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
14100         (_trewinddir), (_ttelldir), (_tseekdir):
14101         * win32/common/dirent.h:
14102         * win32/common/gtchar.h:
14103         * win32/common/libgstbase.def:
14104         * win32/common/libgstreamer.def:
14105         * win32/vs6/grammar.dsp:
14106         * win32/vs6/gst_inspect.dsp:
14107         * win32/vs6/gst_launch.dsp:
14108         * win32/vs6/gstreamer.dsw:
14109         * win32/vs6/libgstbase.dsp:
14110         * win32/vs6/libgstelements.dsp:
14111         * win32/vs6/libgstreamer.dsp:
14112           Visual Studio 6 project files, and a new common directory.
14113           Phear.
14114
14115 2005-10-11  Wim Taymans  <wim@fluendo.com>
14116
14117         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14118         (gst_base_sink_do_sync), (gst_base_sink_query),
14119         (gst_base_sink_change_state):
14120         * gst/base/gstbasesink.h:
14121         Correctly parse newsegment info.
14122
14123 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
14124
14125         * gst/gst.c: (init_post):
14126           split plugin paths correctly
14127
14128 2005-10-11  Wim Taymans  <wim@fluendo.com>
14129
14130         * check/gst/gstevent.c: (GST_START_TEST):
14131         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14132         (gst_base_sink_change_state):
14133         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
14134         * gst/base/gstbasetransform.c: (gst_base_transform_event):
14135         * gst/elements/gstfilesink.c: (gst_file_sink_event):
14136         * gst/gstevent.c: (gst_event_new_newsegment),
14137         (gst_event_parse_newsegment):
14138         * gst/gstevent.h:
14139         Added extra flag to newsegment for future API freeze.
14140         Updated check and base elements.
14141
14142 2005-10-11  Julien MOUTTE  <julien@moutte.net>
14143
14144         * gst/base/gstcollectpads.c: (gst_collectpads_init),
14145         (gst_collectpads_add_pad), (gst_collectpads_pop),
14146         (gst_collectpads_event), (gst_collectpads_chain):
14147         * gst/base/gstcollectpads.h: Handle EOS correctly.
14148
14149 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
14150
14151         * tools/gst-launch.c: (main):
14152           more null protecting
14153
14154 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
14155
14156         * gst/gst-i18n-lib.h:
14157           check for ENABLE_NLS, not GETTEXT_PACKAGE
14158         * gst/gstregistry.c: (gst_registry_add_plugin),
14159         (gst_registry_scan_path_level),
14160         (_gst_registry_remove_cache_plugins):
14161           protect possibly NULL strings
14162         * gst/parse/types.h:
14163           config.h already included before
14164         * tools/gst-inspect.c: (main):
14165           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
14166           check for ENABLE_NLS, not GETTEXT_PACKAGE
14167         * tools/gst-launch.c: (main):
14168           check for ENABLE_NLS, not GETTEXT_PACKAGE
14169
14170 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
14171
14172         * configure.ac:
14173           if we don't have glib, fail before testing 2.8
14174         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
14175           fix a leak, should fix plugins-base testsuite
14176
14177 2005-10-11  Andy Wingo  <wingo@pobox.com>
14178
14179         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
14180         take the mode we're going to as an arg. Go head and set the mode
14181         and flushing flags now, so that if the activate function starts a
14182         thread all the flags will be in the right state.
14183         (post_activate): Renamed also. Just handle making sure streaming
14184         finishes for the deactivation case, and setting the deactivated
14185         mode.
14186         (gst_pad_set_active): Complain loudly if deactivation fails.
14187         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
14188         (gst_pad_activate_push): Adapt to pre/post_activate changes,
14189         remove the terrible hack.
14190
14191 2005-10-11  Wim Taymans  <wim@fluendo.com>
14192
14193         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
14194         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
14195         (gst_bin_recalc_state), (gst_bin_change_state_func),
14196         (gst_bin_dispose), (bin_bus_handler):
14197         * gst/gstbin.h:
14198         Prepare to make current EOS message queue more generic.
14199         Fix some typos.
14200
14201         * gst/gstevent.c: (gst_event_new_newsegment),
14202         (gst_event_parse_newsegment):
14203         * gst/gstevent.h:
14204         Rename base to stream_time.
14205
14206         * gst/gstmessage.h:
14207         Fix typo in docs.
14208
14209 2005-10-11  Wim Taymans  <wim@fluendo.com>
14210
14211         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
14212         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
14213         (gst_bin_change_state_func), (bin_bus_handler):
14214         * gst/gstbin.h:
14215         Work on proper clock selection.
14216
14217 2005-10-11  Edward Hervey  <edward@fluendo.com>
14218
14219         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
14220         * libs/gst/controller/gstcontroller.h:
14221         Added GList* version of _remove_properties() in order to be able to wrap
14222         it in bindings.
14223
14224 2005-10-11  Wim Taymans  <wim@fluendo.com>
14225
14226         * docs/design/part-states.txt:
14227         Some more docs.
14228
14229         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
14230         (gst_bin_change_state_func), (bin_bus_handler):
14231         Doc updates. Don't distribute the same clock over and over again.
14232
14233         * gst/gstclock.c:
14234         * gst/gstclock.h:
14235         Doc updates.
14236
14237         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
14238         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
14239         (gst_pad_send_event):
14240         * gst/gstpad.h:
14241         Make probe emission threadsafe again.
14242         Register quarks and move _get_name() from utils.
14243         Doc updates.
14244
14245         * gst/gstpipeline.c: (gst_pipeline_class_init),
14246         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
14247         Only redistribute the clock of it changed.
14248
14249         * gst/gstsystemclock.h:
14250         Doc updates. 
14251
14252         * gst/gstutils.c:
14253         * gst/gstutils.h:
14254         Moved the _flow_get_name() to GstPad.
14255
14256 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
14257
14258         * check/gst-libs/gdp.c: (GST_START_TEST):
14259         * check/gst/gstcaps.c: (GST_START_TEST):
14260         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
14261         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
14262         (gst_dp_packet_from_caps):
14263           fix more valgrind warnings before turning up the heat
14264
14265 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
14266
14267         * gst/parse/grammar.y:
14268           some cleanup before the hacking
14269
14270 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14271
14272         * gst/base/gstbasesrc.c: (gst_base_src_query):
14273           use conversions
14274         * gst/gstutils.c: (gst_guint64_to_gdouble),
14275         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
14276         * gst/gstutils.h:
14277           externalize, basesrc uses it
14278           obviously the implementation needs testing
14279
14280 2005-10-10  Wim Taymans  <wim@fluendo.com>
14281
14282         * tests/sched/Makefile.am:
14283         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
14284         (make_pipeline3), (make_pipeline4), (print_elem), (main):
14285
14286 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14287
14288         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
14289           apparently converting from guint64 to double is not implemented
14290           on MSVC
14291
14292 2005-10-10  Wim Taymans  <wim@fluendo.com>
14293
14294         * check/Makefile.am:
14295         * check/generic/states.c: (GST_START_TEST):
14296         * check/gst/gstbin.c: (GST_START_TEST):
14297         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
14298         * check/states/sinks.c: (GST_START_TEST):
14299         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
14300         (main):
14301         Check fixes, use API as stated in design docs, remove hacks.
14302
14303         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14304         (gst_base_sink_change_state):
14305         Catch stopping our task while we're shutting down.
14306
14307         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
14308         (gst_bin_remove_func), (gst_bin_get_state_func),
14309         (gst_bin_recalc_state), (gst_bin_change_state_func),
14310         (bin_bus_handler):
14311         * gst/gstbin.h:
14312         * gst/gstelement.c: (gst_element_init),
14313         (gst_element_get_state_func), (gst_element_abort_state),
14314         (gst_element_commit_state), (gst_element_lost_state),
14315         (gst_element_set_state), (gst_element_change_state),
14316         (gst_element_change_state_func):
14317         * gst/gstelement.h:
14318         New state change algorithm (see #318116)
14319
14320         * gst/gstpipeline.c: (gst_pipeline_class_init),
14321         (gst_pipeline_init), (gst_pipeline_set_property),
14322         (gst_pipeline_get_property), (do_pipeline_seek),
14323         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
14324         * gst/gstpipeline.h:
14325         Remove crude state change hacks.
14326
14327         * gst/gstutils.h:
14328         Remove crude hacks.
14329
14330         * tools/gst-launch.c: (main):
14331         Fixes for state change. Needs some more work to fully use the
14332         new stuff.
14333
14334 2005-10-10  Andy Wingo  <wingo@pobox.com>
14335
14336         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
14337
14338         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
14339         this flag, but it's not even in GLib 2.6. Odd. Hack around the
14340         issue.
14341
14342 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
14343
14344         * gst/gstiterator.c: (gst_iterator_new):
14345           Fix my previous commit: GTypes passed to gst_iterator_new()
14346           can be fundamental types.
14347
14348 2005-10-10  Wim Taymans  <wim@fluendo.com>
14349
14350         * gst/gstelement.c: (gst_element_iterate_pad_list),
14351         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
14352         (gst_element_iterate_sink_pads):
14353         Use src/sink pads lists for the respective iterators instead
14354         of filtering.
14355
14356 2005-10-10  Andy Wingo  <wingo@pobox.com>
14357
14358         Merged in popt removal + GOption addition patch from Ronald, bug
14359         #169772.
14360
14361         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
14362         GstElement macros around, remove popt-related symbols, add goption
14363         stuff.
14364
14365         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
14366         
14367         * docs/gst/Makefile.am:
14368         * docs/libs/Makefile.am: No POPT_CFLAGS.
14369         
14370         * examples/manual/Makefile.am:
14371         * docs/manual/basics-init.xml: Doc updates with an example.
14372         
14373         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
14374         (gst_init), (parse_one_option), (parse_goption_arg):
14375         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
14376         bit of hand merging and debugging to get the GOption stuff working
14377         tho.
14378         
14379         * tests/Makefile.am:
14380         * tools/Makefile.am:
14381         * tools/gst-inspect.c: (main):
14382         * tools/gst-launch.c: (main):
14383         * tools/gst-run.c: (main):
14384         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
14385
14386 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
14387
14388         * gst/gstiterator.c: (gst_iterator_new):
14389           Add assertions to make sure passed GType is likely to really
14390           be a GType (as the compiler won't catch it if the size and
14391           GType arguments get mixed up, see #318447).
14392
14393 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
14394
14395         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
14396
14397         * gst/gstbin.c: (gst_bin_iterate_sorted):
14398           Pass GType and size arguments to gst_iterator_new() in the right
14399           order (maybe we should make _new() take the GType as first argument
14400           just like _new_list()?) (#318447).
14401           
14402
14403 2005-10-10  Wim Taymans  <wim@fluendo.com>
14404
14405         * gst/gstelement.c: (gst_element_finalize):
14406         And free the GStaticRecMutex too
14407
14408 2005-10-10  Andy Wingo  <wingo@pobox.com>
14409
14410         * gst/gstelement.c (gst_element_init, gst_element_finalize):
14411         Allocate and free the mutex properly.
14412
14413         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
14414         New macros.
14415         (GstElement): The state_lock is now recursive. Rebuild your
14416         plugins, suckers. Old macros adapted.
14417
14418         * docs/gst/gstreamer-sections.txt: Doc updates.
14419
14420         * gst/gstutils.h:
14421         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
14422         (g_static_rec_cond_wait): Ported from state changes patch, while
14423         we wait on bug #317802 to be solved in a well-distributed GLib.
14424
14425         * gst/gstelement.c (gst_element_change_state_func): Renamed from
14426         gst_element_change_state, variable name changes.
14427         (gst_element_change_state): Split out of gst_element_set_state in
14428         preparation for the state change merge. Doesn't pay attention to
14429         the 'transition' argument.
14430         (gst_element_set_state): Updates, hopefully purely cosmetic.
14431         (gst_element_sync_state_with_parent): MT-safety. Ported from the
14432         state change patch.
14433         (gst_element_get_state_func): Renamed from get_state, cosmetic
14434         changes.
14435
14436 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14437
14438         * gst/elements/gstelements.c:
14439         * win32/GStreamer.vcproj:
14440         * win32/config.h:
14441         * win32/dirent.c: (_tseekdir):
14442         * win32/gst-inspect.vcproj:
14443         * win32/gst-launch.vcproj:
14444         * win32/gstconfig.h:
14445         * win32/gstelements.vcproj:
14446         * win32/gstenumtypes.c: (gst_object_flags_get_type):
14447         * win32/gstreamer.def:
14448         * win32/msvc71.sln:
14449           updates for the win32 build (patch from Sebastien Moutte)
14450
14451 2005-10-10  Andy Wingo  <wingo@pobox.com>
14452
14453         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
14454         gst_bin_get_state, cleaned up (but no logic changes).
14455         (bin_element_is_sink): Comment updates.
14456         (sink_iterator_filter): Remove needless cast.
14457         (gst_bin_iterate_sinks): Doc update.
14458         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
14459         cleaned up (but no logic changes).
14460
14461         * check/states/sinks.c (test_src_sink): Cleanups from the state
14462         change patch.
14463         (test_livesrc_sink): Sync on the state.
14464
14465         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
14466         the state change patch.
14467
14468         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
14469         change patch.
14470
14471         * check/gst/gstbin.c: Merge in some style fixes and additional
14472         checks from Wim's state change patch.
14473
14474 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
14475
14476         * gst/base/gsttypefindhelper.c: (helper_find_peek),
14477         (gst_type_find_helper):
14478           Check whether we have the requested data already in our list of
14479           cached buffers before pulling a new buffer; also make the buffer
14480           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
14481
14482 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14483
14484         * gst/gstcaps.c:
14485         * gst/gstevent.c:
14486           doc updates
14487         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
14488           don't use long long, it's not portable.  Replacing with
14489           gint64 seems to work; let's hope no skeletons fall out of the closet.
14490
14491 2005-10-10  Andy Wingo  <wingo@pobox.com>
14492
14493         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
14494
14495 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
14496
14497         * docs/gst/gstreamer-sections.txt:
14498         * gst/gstevent.c:
14499         * gst/gstevent.h:
14500         * gst/gstinfo.c:
14501         * gst/gstinfo.h:
14502         * gst/gstmessage.c: (gst_message_parse_state_changed):
14503         * gst/gstpad.c:
14504         * gst/gstpad.h:
14505           more docs, fix compilation
14506
14507 2005-10-09  Philippe Khalaf <burger@speedy.org>
14508         * gst/gstmessage.c:
14509           Fixed a few forgotten variables on previous commit
14510
14511 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
14512
14513         * gst/base/gsttypefindhelper.c: (helper_find_peek):
14514           Fix evil typefind crasher: getrange() might return a short
14515           buffer at the end of a file, but gst_type_find_peek() must
14516           either return the full data as requested or NULL, but
14517           never a short buffer.
14518
14519 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
14520
14521         * gst/gstmessage.c: (gst_message_new_state_changed),
14522         (gst_message_parse_state_changed):
14523         * gst/gstmessage.h:
14524           don't use "new", it's a C++ keyword
14525
14526 2005-10-08  Wim Taymans  <wim@fluendo.com>
14527
14528         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
14529         * gst/gstelement.c: (gst_element_post_message):
14530         * gst/gstpipeline.c: (gst_pipeline_change_state):
14531         Small docs and debug updates.
14532
14533 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
14534
14535         * docs/gst/gstreamer-sections.txt:
14536         * gst/gstelementfactory.c:
14537         * gst/gstevent.c:
14538         * gst/gsttaglist.c:
14539           more docs
14540
14541 2005-10-08  Wim Taymans  <wim@fluendo.com>
14542
14543         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
14544         (gst_bin_dispose), (bin_bus_handler):
14545         Fix typos, add comments.
14546         Clear EOS list when going to PAUSED from any direction and do it
14547         in a threadsafe way.
14548         Get base time in a threadsafe way too.
14549         Fix confusing debug in the change_state function.
14550         Various other small cleanups.
14551         
14552         * gst/gstelement.c: (gst_element_post_message):
14553         Fix very verbose bus posting code.
14554
14555         * gst/gstpipeline.c: (gst_pipeline_class_init),
14556         (gst_pipeline_set_property), (gst_pipeline_get_property),
14557         (gst_pipeline_change_state):
14558         Small ARG_ -> PROP_ cleanup
14559
14560 2005-10-08  Wim Taymans  <wim@fluendo.com>
14561
14562         * gst/gstbin.c: (is_eos), (bin_bus_handler):
14563         Do a less CPU demanding EOS check because we can.
14564
14565 2005-10-08  Wim Taymans  <wim@fluendo.com>
14566
14567         * libs/gst/dataprotocol/dataprotocol.c:
14568         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
14569         (gst_dp_packet_from_event):
14570         * libs/gst/dataprotocol/dataprotocol.h:
14571         * libs/gst/dataprotocol/dp-private.h:
14572         It's about time we bump the version number.
14573         Since event types don't fit in the guint8 anymore describing
14574         the payload type, make payload type 16 bits wide.
14575
14576 2005-10-08  Wim Taymans  <wim@fluendo.com>
14577
14578         * docs/design/part-TODO.txt:
14579         * docs/design/part-clocks.txt:
14580         * docs/design/part-events.txt:
14581         * docs/design/part-gstbin.txt:
14582         * docs/design/part-gstelement.txt:
14583         * docs/design/part-gstpipeline.txt:
14584         * docs/design/part-live-source.txt:
14585         * docs/design/part-messages.txt:
14586         * docs/design/part-overview.txt:
14587         * docs/design/part-states.txt:
14588         Many doc updates.
14589
14590 2005-10-08  Wim Taymans  <wim@fluendo.com>
14591
14592         * gst/gstevent.c:
14593         * gst/gstevent.h:
14594         Fix event quark registration.
14595         Add some space between events so we can insert them in the
14596         right groups.
14597
14598 2005-10-08  Wim Taymans  <wim@fluendo.com>
14599
14600         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14601         (gst_base_sink_handle_buffer):
14602         Better log message.
14603
14604         * gst/gstbus.h:
14605         * gst/gstelement.h:
14606         More docs.
14607
14608         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
14609         (gst_queue_set_property), (gst_queue_get_property):
14610         * gst/gstqueue.h:
14611         Remove old unused properties.
14612
14613 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
14614         * docs/gst/gstreamer-sections.txt:
14615         * gst/gstmessage.c:
14616         * gst/gstmessage.h:
14617         * gst/gstminiobject.c:
14618         * gst/gstminiobject.h:
14619         * gst/gstobject.h:
14620         * gst/gstpad.h:
14621         * gst/gstutils.h:
14622           lots of new docs and doc fixes
14623
14624 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
14625
14626         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
14627         * gst/gstplugin.h:
14628         * gst/gstregistry.c: (gst_registry_lookup_locked),
14629         (gst_registry_scan_path_level):
14630         * gst/gstregistryxml.c: (load_plugin):
14631           Only ever load one plugin for a given plugin basename.
14632           This ensures correct overriding of GST_PLUGIN_PATH over
14633           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
14634           system installed plugins.
14635
14636 2005-10-08  Wim Taymans  <wim@fluendo.com>
14637
14638         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14639         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
14640         Prepare for doing QOS.
14641
14642 2005-10-08  Wim Taymans  <wim@fluendo.com>
14643
14644         * check/gst/gstbin.c: (GST_START_TEST):
14645         * check/pipelines/cleanup.c: (GST_START_TEST):
14646         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
14647         Allow new clock message too.
14648
14649 2005-10-08  Wim Taymans  <wim@fluendo.com>
14650
14651         * gst/gstmessage.c: (gst_message_new_error),
14652         (gst_message_new_warning), (gst_message_new_tag),
14653         (gst_message_new_state_changed), (gst_message_new_clock_provide),
14654         (gst_message_new_clock_lost), (gst_message_new_new_clock),
14655         (gst_message_new_segment_start), (gst_message_new_segment_done),
14656         (gst_message_parse_state_changed),
14657         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
14658         (gst_message_parse_new_clock):
14659         * gst/gstmessage.h:
14660         Also carry the clock in question.
14661
14662 2005-10-08  Wim Taymans  <wim@fluendo.com>
14663
14664         * gst/gstmessage.c: (gst_message_new_custom),
14665         (gst_message_new_eos), (gst_message_new_error),
14666         (gst_message_new_warning), (gst_message_new_tag),
14667         (gst_message_new_state_changed), (gst_message_new_clock_provide),
14668         (gst_message_new_new_clock), (gst_message_new_segment_start),
14669         (gst_message_new_segment_done), (gst_message_parse_state_changed),
14670         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
14671         * gst/gstmessage.h:
14672         Clean up.
14673         Added clock related messages.
14674
14675         * gst/gstpipeline.c: (gst_pipeline_change_state):
14676         Post message when the clock changed.
14677
14678         * tools/gst-launch.c: (event_loop):
14679         Print new clock.
14680
14681 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
14682
14683         * tools/gst-inspect.c: (print_element_properties_info):
14684           Can't pass NULL strings to g_print() on windows.
14685
14686 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
14687
14688         * docs/Makefile.am:
14689         * docs/gst/Makefile.am:
14690         * docs/gst/gstreamer-docs.sgml:
14691         * docs/gst/running.xml:
14692         * docs/version.entities.in:
14693           add a chapter on running GStreamer.
14694           document GST_DEBUG and GST_PLUGIN* env vars
14695
14696 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
14697
14698         * Makefile.am:
14699           remove include dir
14700         * configure.ac:
14701           remove PLUGINS_BUILDDIR stuff
14702         * gst/gst.c: (init_post):
14703           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
14704         * idiottest.mak:
14705           remove, it was condescending and not needed
14706
14707 2005-10-08  Wim Taymans  <wim@fluendo.com>
14708
14709         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
14710         (gst_base_sink_handle_object), (gst_base_sink_event),
14711         (gst_base_sink_wait), (gst_base_sink_handle_event),
14712         (gst_base_sink_change_state):
14713         * gst/base/gstbasesink.h:
14714         Repost EOS message while going to PLAYING if still EOS.
14715         Make sure that when receiving a FLUSH_START we don't attempt
14716         to sync on the clock anymore.
14717
14718 2005-10-08  Wim Taymans  <wim@fluendo.com>
14719
14720         * tools/gst-launch.c: (event_loop):
14721         Better message printout.
14722
14723 2005-10-08  Wim Taymans  <wim@fluendo.com>
14724
14725         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
14726         (gst_bin_child_proxy_get_children_count):
14727         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
14728         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
14729         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
14730         (gst_child_proxy_set_valist):
14731         * gst/parse/grammar.y:
14732         Make ChildProxy threadsafe and fix mem leaks.
14733
14734 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
14735
14736         * gst/gst.c: (init_post):
14737           debug the GST_PLUGIN_ env vars
14738
14739 2005-10-08  Wim Taymans  <wim@fluendo.com>
14740
14741         * check/gst/gstbin.c: (GST_START_TEST):
14742         * check/gst/gstmessage.c: (GST_START_TEST):
14743         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
14744         * gst/gstelement.c: (gst_element_commit_state),
14745         (gst_element_lost_state):
14746         * gst/gstmessage.c: (gst_message_new_state_changed),
14747         (gst_message_parse_state_changed):
14748         * gst/gstmessage.h:
14749         * tools/gst-launch.c: (event_loop):
14750         Added extra field to STATE_CHANGE message with the pending
14751         state, which will be different from the new state soon.
14752
14753 2005-10-08  Wim Taymans  <wim@fluendo.com>
14754
14755         * gst/gstbus.c: (gst_bus_pop):
14756         * gst/gstclock.c:
14757         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
14758         Small cleanups and doc updates.
14759
14760 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
14761
14762         * gst/gst.c: (init_pre):
14763         * gst/gstbin.c: (gst_bin_add_func):
14764           log distributing clocks and base time
14765         * gst/gstregistry.c: (gst_registry_add_plugin),
14766         (gst_registry_scan_path_level), (gst_registry_scan_path):
14767           clean up the debugging output a little
14768         * gst/gstutils.c: (gst_element_state_get_name):
14769           warn about a memleak (I've actually seen this be used, though
14770           it was probably a bug)
14771
14772 2005-10-07  Wim Taymans  <wim@fluendo.com>
14773
14774         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
14775         (gst_base_src_init), (gst_base_src_default_newsegment),
14776         (gst_base_src_newsegment), (gst_base_src_do_seek),
14777         (gst_base_src_loop), (gst_base_src_start):
14778         * gst/base/gstbasesrc.h:
14779         Make the newsegment event customizable by subclasses.
14780
14781 2005-10-07  Wim Taymans  <wim@fluendo.com>
14782
14783         * gst/gstevent.c: (gst_event_new_buffersize),
14784         (gst_event_parse_buffersize):
14785         * gst/gstevent.h:
14786         New event for future idea.
14787
14788 2005-10-07  Andy Wingo  <wingo@pobox.com>
14789
14790         * gst/gstelement.c (gst_element_post_message): Doc update.
14791
14792         * docs/gst/gstreamer-sections.txt: Update.
14793
14794         * gst/gstmessage.c (gst_message_new_application): Made into a
14795         function like honest API calls.
14796         (gst_message_new_element): New message type.
14797
14798         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
14799
14800         * check/elements/fakesrc.c (test_no_preroll): New check, checks
14801         that setting a live fakesrc to PAUSED returns NO_PREROLL both
14802         times.
14803
14804         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
14805         NO_PREROLL from gst_element_change_state to fall through.
14806
14807 2005-10-07  Wim Taymans  <wim@fluendo.com>
14808
14809         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
14810         (gst_ghost_pad_do_activate_push):
14811         Activating a ghostpad with no internal pad in push mode
14812         is ok.
14813
14814 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
14815
14816         * gst/gstobject.h:
14817           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
14818           Fixes compilation on Windows.
14819
14820 2005-10-07  Michael Smith <msmith@fluendo.com>
14821
14822         * tools/gst-inspect.c:
14823           Print out feature and plugin count at the end when printing out
14824           all features.
14825
14826 2005-10-04  Michael Smith <msmith@fluendo.com>
14827
14828         * gst/gsterror.c: (_gst_stream_errors_init):
14829           Add another error string used in a few existing plugins.
14830
14831         * gst/gstplugin.c:
14832         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
14833         * tools/gst-inspect.c: (print_element_info):
14834           When a feature disappears from a plugin (and the feature exists in
14835           the cached registry file), things went horribly wrong. This isn't a
14836           complete fix, we should actually be removing the 'missing' features
14837           from the features list when we load the actual plugin. That's not
14838           yet implemented. 
14839
14840 2005-10-04  Johan Dahlin  <johan@gnome.org>
14841
14842         * check/gst/gstiterator.c: (GST_START_TEST):
14843         * gst/gstbin.c: (gst_bin_iterate_elements),
14844         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
14845         * gst/gstelement.c: (gst_element_iterate_pads):
14846         * gst/gstformat.c: (gst_format_iterate_definitions):
14847         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
14848         (gst_iterator_new_list), (gst_iterator_filter):
14849         * gst/gstiterator.h:
14850         * gst/gstquery.c: (gst_query_type_iterate_definitions):
14851         Add a GType to GstIterator, update callsites and tests.
14852
14853 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
14854
14855         * gst/gstpad.c: (gst_pad_event_default_dispatch):
14856           give events a chance to be handled by event probes when the pad
14857           is not linked
14858
14859 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
14860
14861         * gst/gstevent.c: (gst_event_type_get_name),
14862         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
14863         * gst/gstevent.h:
14864           add string representations for event types
14865
14866 2005-10-06  Wim Taymans  <wim@fluendo.com>
14867
14868         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
14869         Don't use NULL pointers.
14870
14871 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
14872
14873         * gst/gst_private.h:
14874         * gst/gstbus.c:
14875         * gst/gstelement.c:
14876         * gst/gstinfo.c:
14877         * gst/gstpluginfeature.c:
14878           widen the debug category in output to fit the biggest one we have
14879           add a bus category and use it
14880           play with the colors
14881           fix up some categories
14882
14883 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
14884
14885         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
14886           add push activation of sink ghost pads.
14887           Andye, please verify
14888
14889 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
14890
14891         * gst/gstutils.c: (gst_element_link_pads):
14892           fix a bug in the case where neither element has a pad
14893         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
14894           add a test for that case
14895
14896 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
14897
14898         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
14899           emit have-data before checking for peers.  This allows
14900           for probe handlers to connect elements.  This helps autopluggers.
14901         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
14902         (gst_pad_suite):
14903           add six checks, linked/unlinked with no/true/false probe
14904
14905 2005-10-04  Wim Taymans  <wim@fluendo.com>
14906
14907         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
14908         (gst_fake_sink_event), (gst_fake_sink_preroll),
14909         (gst_fake_sink_render), (gst_fake_sink_change_state):
14910         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
14911         (gst_fake_src_get_property), (gst_fake_src_create),
14912         (gst_fake_src_stop):
14913         * gst/elements/gstidentity.c: (gst_identity_stop):
14914         Protect last_message with lock.
14915
14916 2005-10-04  Edward Hervey  <edward@fluendo.com>
14917
14918         * gst/gstformat.h: 
14919         Added precision in the comments for GST_FORMAT_DEFAULT
14920
14921 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
14922
14923         * tools/gst-launch.c: (main):
14924           Don't try to run erroneous pipelines.
14925
14926 2005-10-04  Julien MOUTTE  <julien@moutte.net>
14927
14928         * gst/gstbus.c: We don't need this header.
14929
14930 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
14931
14932         * configure.ac:
14933           back to development
14934
14935 === release 0.9.3 ===
14936
14937 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
14938
14939         * README:
14940         * configure.ac:
14941           Releasing 0.9.3, "Unregistered"
14942
14943 2005-10-03  Andy Wingo  <wingo@pobox.com>
14944
14945         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
14946         whereby calling a pad's activatepush() function can start a thread
14947         that starts to push or pull before the pad gets the FLUSHING flag
14948         unset. Hack around it by holding the stream lock until the flag is
14949         set. Need to replace this with a proper solution. Together with
14950         the ghost pad fixes, this fixes mp3 playing/tagreading.
14951
14952         * docs/design/part-gstghostpad.txt: Add a note about activation of
14953         proxy pads outside of ghost pads.
14954
14955         * gst/gstghostpad.c: Implement the ghost pad activation design.
14956
14957 2005-10-02  Andy Wingo  <wingo@pobox.com>
14958
14959         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
14960         It is volatile, after all.
14961
14962         * docs/design/part-gstghostpad.txt: Flesh out activation with
14963         ghost pads.
14964
14965         * gst/base/gstbasesrc.c (gst_base_src_init): Use
14966         GST_DEBUG_FUNCPTR.
14967
14968 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
14969
14970         * configure.ac:
14971           Fix (unused) AM_CONDITIONAL tests.
14972
14973 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
14974
14975         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
14976
14977         * gst/gstutils.c: (gst_pad_query_convert):
14978           Add assertion that makes sure src_val is >=0, just like
14979           gst_query_new_convert() has. (#315895)
14980
14981 2005-09-30  Edward Hervey  <edward@fluendo.com>
14982
14983         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
14984         Let's not iterate pads we're not interested in, it avoids getting 
14985         sky-high refcounts on sinkpad.
14986
14987 2005-09-30  Wim Taymans  <wim@fluendo.com>
14988
14989         * gst/gstelement.c: (gst_element_set_state),
14990         (gst_element_change_state):
14991         Small tweak, element in ASYNC remains ASYNC.
14992
14993 2005-09-30  Wim Taymans  <wim@fluendo.com>
14994
14995         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
14996         Only error is an error.
14997
14998         * gst/gstbin.c: (gst_bin_change_state):
14999         Better debugging.
15000
15001         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
15002         Also call pad_block in pad alloc.
15003
15004         * gst/gstutils.c: (gst_flow_get_name):
15005         Better debugging.
15006
15007 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
15008
15009         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
15010         (gst_base_src_get_range):
15011           Fix documentation typos. Add some more debug info.
15012
15013 2005-09-29  David Schleef  <ds@schleef.org>
15014
15015         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
15016           more end-user friendly.
15017         * tools/gst-inspect.c: (main): Check if command-line argument is
15018           a file and attempt to load that file as a plugin.
15019
15020 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
15021
15022         * check/gst/gstbin.c:
15023         * check/states/sinks.c:
15024           fix tests for the new warning
15025         * check/gst/gstpipeline.c:
15026           add a test for pipeline and bus interaction
15027         * gst/gstelement.c:
15028           elements should be NULL if they get disposed; add a warning if not
15029
15030 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
15031
15032         * gst/gstobject.c:
15033           for 2.6 refcounting, make debug log more correct by printing
15034           the actual refcounts at the time of swap (Wim)
15035
15036 2005-09-29  Andy Wingo  <wingo@pobox.com>
15037
15038         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
15039         removes signal watches previously added via
15040         gst_bus_add_signal_watch.
15041         (gst_bus_add_signal_watch): Don't return the source id, just store
15042         it on the bus if there wasn't an id already.
15043
15044         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
15045         add_signal_watch and remove_signal_watch.
15046
15047 2005-09-29  Edward Hervey  <edward@fluendo.com>
15048
15049         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
15050         Better if we actually iterate the list :)
15051
15052 2005-09-29  Wim Taymans  <wim@fluendo.com>
15053
15054         * check/gst/gstbin.c: (GST_START_TEST):
15055         Change for new bus API.
15056
15057         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
15058         (send_messages), (GST_START_TEST), (gstbus_suite):
15059         Change for new bus signal API.
15060
15061         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
15062         (gst_bus_source_prepare), (gst_bus_source_check),
15063         (gst_bus_create_watch), (gst_bus_add_watch_full),
15064         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
15065         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
15066         * gst/gstbus.h:
15067         Remove support for multiple GSources operating on different
15068         message types as it is too complex and unneeded when using
15069         signals.
15070         Added support for receiving signals from the bus.
15071
15072 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
15073
15074         * docs/libs/tmpl/gstdataprotocol.sgml:
15075         * docs/manual/advanced-dataaccess.xml:
15076         * gst/elements/gstcapsfilter.c:
15077         * gst/gstutils.c:
15078           rename filter-caps to caps property
15079
15080 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
15081
15082         * gst/gstvalue.c: (gst_value_deserialize_fraction):
15083           More robust fraction string parsing.
15084
15085         * docs/pwg/appendix-porting.xml:
15086           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
15087
15088 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
15089
15090         * gst/gstcaps.c: (gst_caps_do_simplify):
15091           Thou shalt not free a structure and then continue using it
15092           in the next loop iteration.
15093
15094         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
15095         (gst_caps_suite):
15096           Add test case for caps simplification.
15097
15098 2005-09-29  Wim Taymans  <wim@fluendo.com>
15099
15100         * check/gst/gstbin.c: (GST_START_TEST):
15101         Oops.
15102
15103 2005-09-29  Wim Taymans  <wim@fluendo.com>
15104
15105         * check/gst/gstbin.c: (GST_START_TEST):
15106         Add bus to bin.
15107
15108         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
15109         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
15110         (find_element), (gst_bin_sort_iterator_next),
15111         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
15112         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
15113         (gst_bin_change_state), (gst_bin_dispose):
15114         A bin does not have a bus, it gets the bus from the parent.
15115
15116         * gst/gstelement.c: (gst_element_requires_clock),
15117         (gst_element_provides_clock), (gst_element_is_indexable),
15118         (gst_element_is_locked_state), (gst_element_change_state),
15119         (gst_element_set_bus_func):
15120         Small cleanups.
15121
15122         * gst/gstpipeline.c: (gst_pipeline_class_init),
15123         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
15124         The pipeline provides a bus.
15125
15126 2005-09-28  Johan Dahlin  <johan@gnome.org>
15127
15128         * gst/gstmessage.c (gst_message_parse_state_changed): Use
15129         gst_structure_get_enum instead of gst_structure_get_int
15130
15131         * gst/gststructure.c (gst_structure_get_enum): Impl.
15132
15133         * gst/gststructure.h (gst_structure_get_enum): Add
15134
15135         * docs/gst/gstreamer-sections.txt: Ditto
15136
15137         * gst/gstmessage.c (gst_message_new_state_changed): Use
15138         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
15139         which does introspection.
15140         Reviewed by Christian Schaller
15141
15142 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
15143
15144         * gst/gstinfo.c: (gst_debug_log_default):
15145           don't do dummy g_strdup()s
15146         * libs/gst/controller/gstcontroller.c:
15147         (on_object_controlled_property_changed),
15148         (gst_controlled_property_new), (gst_controller_new_valist),
15149         (gst_controller_new_list),
15150         (gst_controller_remove_properties_valist), (gst_controller_set),
15151         (gst_controller_get), (gst_controller_sync_values),
15152         (gst_controller_get_value_array), (_gst_controller_class_init),
15153         (gst_controller_get_type):
15154         * libs/gst/controller/gstcontroller.h:
15155         * libs/gst/controller/gstinterpolation.c:
15156         (gst_controlled_property_find_timed_value_node):
15157           convert // to /**/ comments
15158
15159 2005-09-28  Wim Taymans  <wim@fluendo.com>
15160
15161         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
15162         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
15163         (gst_bus_sync_signal_handler):
15164         * gst/gstbus.h:
15165         Added async-message and sync-message signals to the bus.
15166         Added helper BusFunc to emit signals for all posted messages.
15167
15168         * gst/gstmessage.c: (gst_message_type_get_name),
15169         (gst_message_type_to_quark), (gst_message_get_type):
15170         * gst/gstmessage.h:
15171         Register quarks for message names.
15172
15173 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
15174
15175         * docs/libs/gstreamer-libs-sections.txt:
15176         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
15177         (gst_controller_new_list):
15178         * libs/gst/controller/gstcontroller.h:
15179           added another constructor for language bindings
15180
15181 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
15182
15183         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
15184           add another check
15185         * gst/gstbus.c:
15186           add some doc
15187         * gst/gstinfo.c: (_gst_debug_init):
15188           slightly more readable color for refcount debugging
15189
15190 2005-09-28  Wim Taymans  <wim@fluendo.com>
15191
15192         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
15193         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
15194         (find_element), (gst_bin_sort_iterator_next),
15195         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
15196         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
15197         (gst_bin_change_state), (gst_bin_dispose):
15198         Small doc fixes. get_clock -> provide_clock.
15199
15200         * gst/gstelement.c: (gst_element_class_init),
15201         (gst_element_provides_clock), (gst_element_provide_clock),
15202         (gst_element_get_clock), (gst_element_commit_state),
15203         (gst_element_lost_state):
15204         * gst/gstelement.h:
15205         Make get/set_clock() symetric. Add provide_clock vmethod since
15206         that is actually what this function does.
15207
15208         * gst/gstpipeline.c: (gst_pipeline_class_init),
15209         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
15210         (gst_pipeline_get_clock):
15211         get_clock -> provide_clock.
15212
15213 2005-09-28  Andy Wingo  <wingo@pobox.com>
15214
15215         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
15216         lieu of real docs...
15217
15218         * gst/elements/gstfdsrc.c: Cleaned up a bit.
15219
15220 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
15221
15222         * gst/elements/gstcapsfilter.c:
15223         * gst/elements/gstfakesink.c:
15224         * gst/elements/gstfakesrc.c:
15225         * gst/elements/gstfdsink.c:
15226         * gst/elements/gstfdsrc.c:
15227         * gst/elements/gstfilesink.c:
15228         * gst/elements/gstfilesrc.c:
15229         * gst/elements/gstidentity.c:
15230         * gst/elements/gsttee.c:
15231         * gst/elements/gsttypefindelement.c:
15232           Make element details static.
15233
15234 2005-09-28  Wim Taymans  <wim@fluendo.com>
15235
15236         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
15237         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
15238         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
15239         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
15240         (gst_bin_change_state), (gst_bin_dispose):
15241         Some documentation updates.
15242         Clean up dispose handlers.
15243
15244         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
15245         * gst/gstpad.c: (gst_pad_dispose):
15246         Clean up dispose handler.
15247
15248         * gst/gstpipeline.c: (gst_pipeline_change_state):
15249         Removed spurious UNLOCK.
15250
15251 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
15252
15253         * docs/gst/gstreamer-sections.txt:
15254         * gst/base/gstbasesrc.h:
15255         * gst/gstelement.h:
15256         * gst/gstevent.h:
15257         * gst/gstobject.h:
15258         * gst/gstpad.h:
15259         * gst/gstpipeline.c:
15260         * gst/gstpipeline.h:
15261         * gst/gstutils.h:
15262         * gst/gstxml.h:
15263           added two new functions to the docs
15264                 documents all undocumented GstXXXFlags
15265                 completed some incomplete docs 
15266
15267 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
15268
15269         * gst/gstbin.c: (gst_bin_dispose):
15270         * gst/gstelement.c: (gst_element_dispose):
15271           remove now useless and leaky resurrection code in dispose
15272         * gst/base/gstbasesrc.c: (gst_base_src_init):
15273         * gst/gstelementfactory.c: (gst_element_factory_create):
15274         * gst/gstobject.c: (gst_object_set_parent):
15275           add some debugging
15276
15277 2005-09-27  Wim Taymans  <wim@fluendo.com>
15278
15279         * docs/design/part-TODO.txt:
15280         Update TODO.
15281
15282         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
15283         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
15284         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
15285         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
15286         (gst_bin_change_state):
15287         * gst/gstelement.h:
15288         Remove element variable, we keep element info in the iterator now.
15289
15290 2005-09-27  Andy Wingo  <wingo@pobox.com>
15291
15292         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
15293         values.
15294
15295 2005-09-27  Wim Taymans  <wim@fluendo.com>
15296
15297         * check/gst/gstbin.c: (GST_START_TEST):
15298         Enable check that works now.
15299
15300         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
15301         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
15302         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
15303         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
15304         (gst_bin_change_state):
15305         * gst/gstbin.h:
15306         Redid the state change algorithm using a topological sort algo.
15307         Handles all cases correctly.
15308         Exposed iterator for state change order.
15309
15310         * gst/gstelement.h:
15311         Temp storage for state changes. Need to get rid of this soon.
15312
15313 2005-09-27  Wim Taymans  <wim@fluendo.com>
15314
15315         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
15316         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
15317         (link_fold_func), (gst_pad_proxy_setcaps):
15318         Leak fixes, the fold functions need to unref the passed object and
15319         _get_parent_*() returns ref to parent.
15320
15321 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
15322
15323         * check/gst/gstbuffer.c: (test_make_writable):
15324           Plug leak in test case and fix 'make check-valgrind'
15325
15326 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
15327
15328         * gst/gstbuffer.c: (gst_subbuffer_init):
15329           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
15330           works correctly in all circumstances (we could have just copied
15331           the parent buffer's readonly flag, but conceptually it seems
15332           cleaner to mark all subbuffers as read-only). (based on patch
15333           by Alessandro Decina, #314710).
15334         
15335         * check/gst/gstbuffer.c: (create_read_only_buffer),
15336         (test_make_writable), (test_subbuffer_make_writable),
15337         (gst_test_suite):
15338           Add some tests for gst_buffer_make_writable().
15339
15340 2005-09-27  Wim Taymans  <wim@fluendo.com>
15341
15342         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
15343         use gst_object_has_ancestor().
15344
15345         * gst/gstobject.c: (gst_object_has_ancestor):
15346         * gst/gstobject.h:
15347         gst_object_has_ancestor() copied from gstbin.c as it is a
15348         useful function.
15349
15350         * tests/instantiate/create.c: (create_all_elements):
15351         * tests/lat.c: (handoff_src), (handoff_sink):
15352         * tests/sched/runxml.c: (main):
15353         * tests/seeking/seeking1.c: (main):
15354         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
15355         (main):
15356         Fix compilation of some tests.
15357
15358 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
15359
15360         * gst/gsterror.h:
15361           Remove comment. GST_TYPE_G_ERROR is here to stay,
15362           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
15363           (#316961, #300610).
15364
15365 2005-09-26  Wim Taymans  <wim@fluendo.com>
15366
15367         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
15368         Added check that shows error in state change order.
15369
15370 2005-09-26  Wim Taymans  <wim@fluendo.com>
15371
15372         * gst/gstbin.c: (gst_bin_change_state):
15373         Make state change function use 3 queues again, we were
15374         adding elements in the wrong order.
15375
15376         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
15377         Some debug info,
15378
15379         * gst/gstpad.c: (gst_pad_dispose):
15380         Added some debug info first.
15381
15382 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
15383
15384         * docs/design/draft-push-pull.txt:
15385         * docs/design/part-events.txt:
15386         * docs/design/part-overview.txt:
15387         * docs/design/part-scheduling.txt:
15388           Replace all _pull_region() with _pull_range()
15389           
15390 2005-09-26  Andy Wingo  <wingo@pobox.com>
15391
15392         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
15393
15394         * check/gst-libs/controller.c: Update for controller api change.
15395
15396         * configure.ac: 
15397         * tests/Makefile.am:
15398         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
15399         over by GLib bug 118439.
15400         
15401         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
15402         routines to a function.
15403
15404         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
15405
15406         * libs/gst/controller/gsthelper.c:
15407         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
15408         (gst_object_sync_values): Renamed from sink_values. Ugh.
15409
15410         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
15411
15412         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
15413         Renamed from controller_key, as it is exported.
15414
15415         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
15416
15417 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
15418
15419         * gst/Makefile.am:
15420         * gst/gst.h:
15421         * gst/gstpad.h:
15422         * gst/gstpadtemplate.h:
15423         * gst/gstquery.c:
15424         * gst/gstquery.h:
15425         * gst/gstqueryutils.c:
15426         * gst/gstqueryutils.h:
15427           remove queryutils headers after moving the two used functions
15428           to gstquery.  also fixes build problem for gstsiddec
15429
15430 2005-09-26  Michael Smith <msmith@fluendo.com>
15431
15432         * tools/gst-launch.1.in:
15433         Correct documentation in manpage of debug syntax
15434
15435 2005-09-26  Wim Taymans  <wim@fluendo.com>
15436
15437         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
15438         (gst_base_src_is_seekable), (gst_base_src_change_state):
15439         Some more debugging info.
15440
15441 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
15442
15443         * docs/gst/gstreamer-sections.txt:
15444         * gst/base/gstbasetransform.h:
15445         * gst/gstindex.h:
15446           added more docs
15447
15448 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
15449
15450         * docs/gst/.cvsignore:
15451         * docs/gst/tmpl/.cvsignore:
15452         * docs/gst/tmpl/gstpipeline.sgml:
15453         * docs/gst/tmpl/gstplugin.sgml:
15454         * gst/gstpipeline.c:
15455         * gst/gstplugin.c:
15456         * gst/gstplugin.h:
15457           inlined the last two docs files
15458           removed the tmpl directory from cvs (no more conflicts here!)
15459
15460 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
15461
15462         * docs/gst/gstreamer-sections.txt:
15463         * docs/gst/tmpl/.cvsignore:
15464         * docs/gst/tmpl/gstpad.sgml:
15465         * docs/gst/tmpl/gstpadtemplate.sgml:
15466         * gst/Makefile.am:
15467         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
15468         (gst_pad_finalize), (gst_pad_set_pad_template):
15469         * gst/gstpad.h:
15470         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
15471         (gst_pad_template_class_init), (gst_pad_template_init),
15472         (gst_pad_template_dispose), (name_is_valid),
15473         (gst_static_pad_template_get), (gst_pad_template_new),
15474         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
15475         (gst_pad_template_pad_created):
15476         * gst/gstpadtemplate.h:
15477           inlined two more docs
15478           factored gstpadtemplate out of gstpad
15479
15480 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
15481
15482         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
15483         (test_children_state_change_order_semi_sink):
15484           Fix test case: we can't rely on a fixed state change order when
15485           going from READY => PAUSED because the sink might commit its 
15486           new state first when the first buffer created by the source 
15487           reaches the sink before the source has finished its change state.
15488           (Test case still fails at times, see #316856, comment 5 onwards)
15489
15490 2005-09-24  Wim Taymans  <wim@fluendo.com>
15491
15492         * docs/design/part-events.txt:
15493         * docs/design/part-gstbus.txt:
15494         * docs/design/part-gstpipeline.txt:
15495         * docs/design/part-messages.txt:
15496         * docs/design/part-overview.txt:
15497         * docs/design/part-segments.txt:
15498         * gst/gstbin.c:
15499         * gst/gstbuffer.c:
15500         * gst/gstclock.c:
15501         * gst/gstelement.c:
15502         * gst/gstevent.c:
15503         * gst/gstfilter.c:
15504         * gst/gstiterator.c:
15505         Various documentation updates.
15506
15507 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
15508
15509         * gst/gstclock.h:
15510           Well, that's embarassing.  Luckily we weren't using
15511           GST_CLOCK_DIFF anywhere.
15512
15513 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
15514
15515         * common/gtk-doc.mak:
15516           don't fail on building XML, FC4 slave shows a bunch of doc
15517           missing bits that I don't get
15518         * gst/gstpad.c:
15519         * gst/gstpipeline.c:
15520         * gst/gststructure.c:
15521           some doc updates
15522
15523 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
15524
15525         * docs/design/part-gstbin.txt:
15526         * docs/design/part-gstbus.txt:
15527         * gst/gstbus.c:
15528           Add blurb about how the bus goes into flushing mode and
15529           drops all messages when its bin goes from READY into NULL 
15530           state.
15531
15532 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
15533
15534         * docs/gst/gstreamer-sections.txt:
15535         * gst/gststructure.c: (gst_structure_get_clock_time):
15536         * gst/gststructure.h:
15537           add a method to get a GstClockTime out of a structure
15538
15539 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
15540
15541         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
15542         (test_children_state_change_order_semi_sink), (gst_bin_suite):
15543           Added test to check state change order in bins (can still be made
15544           to fail here under heavy disk load; bails out with 'Push on pad
15545           fakesink:sink0, but it was not activated in push mode').
15546
15547         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
15548           Fix state change order when there is only a semi sink (#316856)
15549
15550         * gst/gstbus.c: (gst_bus_class_init):
15551           Use _class_peek_parent(), not _class_ref(); fix docs to say
15552           'default main context' instead of 'mainloop' where that is
15553           what's meant.
15554
15555         * gst/gstelement.c: (gst_element_commit_state),
15556         (gst_element_set_state):
15557           Fix typos in debug messages
15558
15559 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
15560
15561         * docs/README:
15562         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
15563         * gst/gstpluginfeature.c:
15564         * gst/gstutils.c:
15565           various doc updates
15566         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
15567           change an assert into an error until it gets fixed properly
15568
15569 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
15570
15571         * docs/gst/gstreamer-sections.txt:
15572         * docs/gst/tmpl/.cvsignore:
15573         * docs/gst/tmpl/gstelement.sgml:
15574         * docs/gst/tmpl/gstinfo.sgml:
15575         * docs/gst/tmpl/gstobject.sgml:
15576         * gst/gstelement.c:
15577         * gst/gstelement.h:
15578         * gst/gstinfo.c:
15579         * gst/gstinfo.h:
15580         * gst/gstobject.c: (gst_object_class_init):
15581         * gst/gstobject.h:
15582           inlined 3 more biiiig doc files and added some missing docs on the fly
15583
15584 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
15585
15586         * check/gst/.cvsignore:
15587         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
15588         * gst/gstregistryxml.c: (load_plugin),
15589         (gst_registry_xml_save_plugin):
15590           put back source in registry.  add checks for find_plugin.
15591         * testsuite/states/bin.c: (assert_state), (empty_bin),
15592         (test_adding_one_element), (main):
15593         * testsuite/states/locked.c: (main):
15594           some compile/run fixes
15595
15596 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
15597
15598         * check/gst/gstvalue.c: (GST_START_TEST):
15599           fix leaks in the test itself
15600
15601 2005-09-22  Wim Taymans  <wim@fluendo.com>
15602
15603         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
15604         (gst_base_sink_send_event), (gst_base_sink_peer_query),
15605         (gst_base_sink_query):
15606         Prepare for more accurate position reporting and query
15607         handling.
15608
15609         * gst/gstelement.c: (gst_element_send_event),
15610         (gst_element_set_state):
15611         Add some comment.
15612
15613 2005-09-22  Wim Taymans  <wim@fluendo.com>
15614
15615         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
15616         (gst_query_parse_segment):
15617         * gst/gstquery.h:
15618         More documentation.
15619         Add segment query for future use.
15620
15621 2005-09-22  Wim Taymans  <wim@fluendo.com>
15622
15623         * gst/gstbin.c: (gst_bin_add_func):
15624         Some more debug info.
15625
15626         * gst/gstelement.c: (gst_element_send_event):
15627         Simplify send_event
15628
15629         * gst/gstelement.h:
15630         Don't know how flags got broken.
15631
15632         * gst/gstquery.h:
15633         Added new query.
15634
15635 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
15636
15637         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
15638           Add simplistic test suite for GST_TYPE_DATE serialisation and
15639           deserialisation.
15640
15641 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
15642
15643         * docs/gst/gstreamer-sections.txt:
15644         * gst/gststructure.c: (gst_structure_set_valist),
15645         (gst_structure_get_date):
15646         * gst/gststructure.h:
15647         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
15648         (gst_date_copy), (gst_value_compare_date),
15649         (gst_value_serialize_date), (gst_value_deserialize_date),
15650         (gst_value_transform_date_string),
15651         (gst_value_transform_string_date), (_gst_value_initialize):
15652         * gst/gstvalue.h:
15653           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
15654           bunch of utility functions along with a hack that checks that
15655           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
15656           is required. Part of the grand scheme in #170777.
15657
15658 2005-09-22  Andy Wingo  <wingo@pobox.com>
15659
15660         * gst/gstconfig.h.in: Psych out gtk-doc.
15661
15662         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
15663
15664         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
15665
15666         * tools/gst-inspect.c (print_element_list): Plug some
15667         inconsequential leaks.
15668
15669         * gst/gstregistry.c (gst_registry_get_default): Doc.
15670
15671         * check/gst/gstplugin.c: 
15672         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
15673         * gst/gstelementfactory.c (gst_element_factory_create): 
15674         * gst/gstindexfactory.c (gst_index_factory_create): Update for
15675         refcount changes.
15676
15677         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
15678         (gst_plugin_feature_load): Doc, don't eat refs.
15679
15680         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
15681         (gst_plugin_list_free): Doc.
15682         (gst_plugin_load_file): Doc updates.
15683
15684         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
15685         accessors returning refcounted objects, return a ref.
15686
15687         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
15688         accessor for caps. IDEMPOTENCE. Oh yes.
15689
15690 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
15691
15692         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
15693
15694         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
15695         (_gst_debug_register_funcptr):
15696           Add mutex to serialise access to the hash table with
15697           the function pointer => function name string mapping;
15698           make that hash table static scope (#316809).
15699
15700         * gst/registries/.cvsignore:
15701           Remove left-over file.
15702
15703 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
15704
15705         * docs/pwg/appendix-porting.xml:
15706           And something about newsegment events and caps-on-buffers to
15707           the porting guide (feel free to improve).
15708
15709 2005-09-21  Andy Wingo  <wingo@pobox.com>
15710
15711         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
15712         data and event probes on the same pad.
15713         (test_buffer_probe_once): Test that removing probes from within
15714         the probe functions works.
15715
15716 2005-09-21  Andy Wingo  <wingo@pobox.com>
15717
15718         * check/gst/gstutils.c: New file.
15719         (test_buffer_probe_n_times): A simple buffer probe test. More to
15720         come, foolios.
15721
15722         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
15723         have-data::buffer, not have-data.
15724         (gst_pad_add_event_probe): Likewise for have-data::event.
15725         (gst_pad_add_data_probe): More docs. The part about 'resolving the
15726         peer' isn't quite right yet though.
15727         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
15728         (gst_pad_remove_data_probe): Change to take the guint handler_id
15729         as their arg, not the function+data, which is more glib-like.
15730
15731         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
15732         the signal emission to indicate if the data is a buffer or an
15733         event.
15734         (gst_pad_get_type): Initialize buffer and event quarks.
15735         (gst_pad_class_init): have-data is now a detailed signal, yes it
15736         is.
15737
15738 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
15739
15740         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
15741         * gst/gstutils.c: (gst_util_set_value_from_string),
15742         (gst_util_set_object_arg):
15743           Don't put functional code in g_return_if_fail() or
15744           g_return_val_if_fail() statements, otherwise things will 
15745           break when G_DISABLE_CHECKS is defined during compilation.
15746
15747 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
15748
15749         * docs/gst/tmpl/.cvsignore:
15750         * docs/gst/tmpl/gstvalue.sgml:
15751         * gst/gstvalue.c:
15752         * gst/gstvalue.h:
15753           inlied another one and added  some obvious docs
15754
15755 2005-09-21  Wim Taymans  <wim@fluendo.com>
15756
15757         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
15758         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
15759         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
15760         (gst_fdsrc_get_property), (gst_fdsrc_create):
15761         * gst/elements/gstfdsrc.h:
15762         Properly implement fdsrc. Removed signal and timeout,
15763         better implemented somewhere else.
15764
15765 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
15766
15767         * docs/gst/tmpl/.cvsignore:
15768         * docs/gst/tmpl/gstimplementsinterface.sgml:
15769         * gst/gstinterface.c:
15770           inlined more docs
15771
15772 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
15773
15774         * docs/gst/gstreamer-sections.txt:
15775         * docs/gst/tmpl/.cvsignore:
15776         * docs/gst/tmpl/gstenumtypes.sgml:
15777           remove obsolete doc file
15778
15779 2005-09-21  David Schleef  <ds@schleef.org>
15780
15781         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
15782         little beer, fix a little leak.
15783
15784 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
15785
15786         * docs/gst/gstreamer-docs.sgml:
15787         * docs/gst/gstreamer-sections.txt:
15788         * docs/gst/tmpl/.cvsignore:
15789         * gst/Makefile.am:
15790         * gst/gst.h:
15791         * gst/gstbin.c:
15792         * gst/gstelement.h:
15793         * gst/gstindex.c: (gst_index_class_init):
15794         * gst/gstindex.h:
15795         * gst/gstindexfactory.c: (gst_index_factory_get_type),
15796         (gst_index_factory_class_init), (gst_index_factory_init),
15797         (gst_index_factory_finalize), (gst_index_factory_new),
15798         (gst_index_factory_destroy), (gst_index_factory_find),
15799         (gst_index_factory_create), (gst_index_factory_make):
15800         * gst/gstindexfactory.h:
15801         * gst/gstpluginfeature.c:
15802         * gst/gstpluginfeature.h:
15803         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
15804           more docs inlined, splitted gstindex.{c,h}
15805
15806 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
15807
15808         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
15809           fix a leak
15810
15811 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
15812
15813         * gst/elements/gstfilesink.c: (gst_file_sink_init):
15814           Set sync to FALSE by default.
15815
15816 2005-09-20  Wim Taymans  <wim@fluendo.com>
15817
15818         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
15819         (gst_base_sink_init):
15820         Make sync property settable from subclass.
15821
15822         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
15823         (gst_fake_sink_change_state):
15824         Set sync to FALSE by default.
15825
15826 2005-09-20  Wim Taymans  <wim@fluendo.com>
15827
15828         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
15829         * tools/gst-launch.c: (main):
15830         The timeout handler should have lower priority than the source
15831         so we don't timeout before popping a message with 0 timeout.
15832         Dump error messages after failed state change.
15833
15834 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
15835
15836         * tools/gst-inspect.c: (print_element_properties_info):
15837           Fix two typos.
15838
15839 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
15840
15841         * check/gst/gstevent.c:
15842         * gst/elements/gstfakesink.c:
15843         * gst/elements/gstfakesink.h:
15844           remove the sync property from fakesink.
15845           has the side effect of setting sync TRUE
15846           for fakesink, which is a change.  Anyone who knows how
15847           to fix this nicely in a GObject-y way, feel free.
15848
15849 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
15850
15851         * docs/gst/gstreamer-docs.sgml:
15852           remove probe refsection
15853
15854 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
15855
15856         * check/Makefile.am:
15857           disable valgrinding the controller test again
15858         * docs/gst/gstreamer-sections.txt:
15859           update for api-changes
15860
15861 2005-09-20  Wim Taymans  <wim@fluendo.com>
15862
15863         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
15864         (gst_base_sink_set_property), (gst_base_sink_get_property),
15865         (gst_base_sink_do_sync):
15866         * gst/base/gstbasesink.h:
15867         Added sync property to basesink to disable clock sync.
15868
15869 2005-09-20  Andy Wingo  <wingo@pobox.com>
15870
15871         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
15872         eating the caller's refcount.
15873
15874         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
15875         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
15876         refcount.
15877
15878         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
15879         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
15880         of GLib 2.8 public, so we can know which refcount to check in
15881         tests.
15882
15883         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
15884         (gst_object_init): Only set the gst refcount if we're going ahead
15885         with the refcount hack.
15886
15887 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
15888
15889         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
15890         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
15891           more leaks plumbed, added more debug-logging
15892         * gst/gstmacros.h:
15893           whitespace fix
15894
15895 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
15896
15897         * gst/gstmessage.c:
15898           remove include of gstmemchunk.h
15899
15900 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
15901
15902         * gst/gstclock.c: (_gst_clock_id_free):
15903           Commit from the Political Party For More Atomic CVS Commits,
15904           so that people don't waste too much of their day fishing
15905           out obvious leaks out of massive commits.
15906           Oh, and fix a pretty damn obvious leak in the memchunk
15907           removal code.
15908
15909 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
15910
15911         * check/Makefile.am:
15912         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
15913           plug mem-leak, re-add to valgrindable tests
15914
15915 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
15916
15917         * gst/gstplugin.h:
15918           unbreak the build for those who have chronic arthritis
15919           and typing "make check" is just too taxing on the hands
15920
15921 2005-09-20  Andy Wingo  <wingo@pobox.com>
15922
15923         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
15924         really want it out, you should fix plugins at the same time.
15925
15926 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
15927
15928         * configure.ac:
15929         * docs/gst/gstreamer-sections.txt:
15930         * gst/gstobject.c:
15931           added missing symbols to api docs
15932           disable ref-count hack if we have glib >= 2.8
15933
15934 2005-09-19  David Schleef  <ds@schleef.org>
15935
15936         * docs/gst/Makefile.am: Ignore a few more internal headers
15937         * docs/gst/gstreamer-docs.sgml: Remove old sections
15938         * docs/gst/gstreamer-sections.txt: Remove old sections
15939         * docs/gst/tmpl/gstobject.sgml: update
15940         * docs/gst/tmpl/gstplugin.sgml: update
15941         * docs/gst/tmpl/gstpluginfeature.sgml: update
15942         * docs/random/ds/0.9-suggested-changes: update.
15943         * gst/Makefile.am: remove memchunk and trashstack, since they're
15944           not used.
15945         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
15946         * gst/gst.h: don't include some headers
15947         * gst/gstchildproxy.c: add gstmarshal.h
15948         * gst/gstclock.c: Don't use memchunks
15949         * gst/gstminiobject.c: Add some docs
15950         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
15951         * gst/gstobject.h: same
15952         * gst/gstplugin.c: include gstmacros.h
15953         * gst/gstplugin.h: don't include gstmacros.h, since it's private
15954         * gst/gstquery.c: don't use memchunks
15955         * gst/gstregistry.c: rename gst_registry_deinit()
15956         * gst/gstregistry.h: same
15957
15958 2005-09-19  David Schleef  <ds@schleef.org>
15959
15960         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
15961         * docs/libs/gstreamer-libs-sections.txt:
15962         * docs/libs/tmpl/gstgetbits.sgml:
15963         * docs/libs/tmpl/gstputbits.sgml:
15964
15965 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
15966
15967         * win32/gstenumtypes.c:
15968         * win32/gstenumtypes.h:
15969           Update.
15970
15971 2005-09-19  Wim Taymans  <wim@fluendo.com>
15972
15973         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
15974         Automatically PAUSE and RESUME a pipeline when a flushing seek
15975         is performed.
15976
15977 2005-09-19  Andy Wingo  <wingo@pobox.com>
15978
15979         * gst/gstregistry.h: Spacing fixen.
15980
15981 2005-09-19  Wim Taymans  <wim@fluendo.com>
15982
15983         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
15984         Handle state change failure more correctly.
15985
15986 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
15987
15988         * check/Makefile.am:
15989         * check/pipelines/cleanup.c: (run_pipeline):
15990         * check/pipelines/simple_launch_lines.c: (run_pipeline),
15991         (GST_START_TEST):
15992           enable cleanup again after fixing the leak
15993         * docs/README:
15994           some more info on docs
15995
15996 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
15997
15998         * check/Makefile.am:
15999           re-enable tests now that leaks are plugged
16000         * check/gst/gst.c:
16001         * check/gst/gstbin.c:
16002         * check/gst/gstpipeline.c:
16003           add some more tests while fixing leaks
16004         * common/check.mak:
16005           make sure binaries are uptodate when valgrinding/gdbing
16006         * gst/gst.c:
16007         * gst/gstelementfactory.c:
16008           remove a ref too many, and add a FIXME for when we get
16009           round to disposing of classes
16010         * gst/gstplugin.c:
16011           fix the refcounting when loading a plugin from a file and
16012           the code pretends that the pointer is the same even though
16013           of course it can change
16014         * gst/gstpluginfeature.c:
16015           unref plugins marked cached (a bit confusing as a name)
16016           as the docs state should be done
16017           various doc additions to explain refcounting
16018         * gst/gstregistry.c:
16019         * gst/gstregistryxml.c:
16020           debugging
16021
16022 2005-09-19  Wim Taymans  <wim@fluendo.com>
16023
16024         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
16025         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
16026         (send_messages), (GST_START_TEST), (gstbus_suite):
16027         * check/gst/gstpipeline.c: (GST_START_TEST):
16028         * check/pipelines/cleanup.c: (run_pipeline):
16029         * check/pipelines/simple_launch_lines.c: (run_pipeline),
16030         (GST_START_TEST):
16031         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
16032         (gst_bus_source_check), (gst_bus_source_dispatch),
16033         (gst_bus_create_watch), (gst_bus_add_watch_full),
16034         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
16035         * gst/gstbus.h:
16036         * tools/gst-launch.c: (event_loop):
16037         * tools/gst-md5sum.c: (event_loop):
16038         GstBusHandler -> GstBusFunc, return value has the same meaning as
16039         any other GSource (FALSE == remove source).
16040         _add_watch() and _add_watch_full() now take a MessageType mask to
16041         only handle specific types of messages.
16042         _poll() returns the GstMessage instead of the message type to avoid
16043         race conditions.
16044         _have_pending() takes a MessageType mask now too.
16045         Added testsuite for multiple bus watches.
16046         Fix testsuites and applications for new bus API.
16047
16048 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
16049
16050         * check/Makefile.am:
16051           mark a bunch of the tests as to fix until we fix them
16052
16053 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
16054
16055         * common/check.mak:
16056           use GST_PLUGIN settings for valgrind tests as well, so we're
16057           valgrinding the correct thing
16058         * gst/gst.c: (init_post):
16059           plug another leak
16060
16061 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
16062
16063         * gst/gst.c: (init_post), (gst_deinit):
16064         * gst/gstelementfactory.c: (gst_element_factory_class_init),
16065         (gst_element_factory_finalize), (gst_element_factory_cleanup):
16066         * gst/gstindex.c: (gst_index_factory_class_init),
16067         (gst_index_factory_finalize):
16068         * gst/gstobject.c: (gst_object_dispose):
16069         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
16070         (gst_plugin_load_file), (gst_plugin_desc_free):
16071         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
16072         (gst_plugin_feature_finalize):
16073         * gst/gstregistry.c: (gst_registry_class_init),
16074         (gst_registry_init), (gst_registry_finalize),
16075         (gst_registry_get_default), (gst_registry_deinit):
16076         * gst/gstregistry.h:
16077         * gst/gstregistryxml.c: (load_feature), (load_plugin):
16078           various cleanups and memleak plugging.  make valgrind is happy now.
16079
16080 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
16081
16082         * common/check.mak:
16083           add a check-valgrind target
16084
16085 2005-09-18  David Schleef  <ds@schleef.org>
16086
16087         * tools/gst-inspect.c: Revert the GOption code.
16088
16089 2005-09-17  David Schleef  <ds@schleef.org>
16090
16091         * check/Makefile.am: Fix environment variables.
16092         * check/gst/gstplugin.c: Fix for API changes.
16093         * tools/gst-inspect.c: Fix for API changes.
16094         * tools/gst-xmlinspect.c: Fix for API changes.
16095         * gst/gstelementfactory.c:
16096         * gst/gstplugin.c:
16097         * gst/gstplugin.h:
16098         * gst/gstpluginfeature.c:
16099         * gst/gstpluginfeature.h:
16100         * gst/gstregistry.c:
16101         * gst/gstregistry.h:
16102         * gst/gstregistryxml.c:
16103         * gst/gsttypefind.c:
16104         * gst/gsttypefindfactory.c:
16105         * gst/indexers/gstfileindex.c:
16106         * gst/indexers/gstmemindex.c:
16107         * gst/schedulers/Makefile.am:
16108           Change registry to keep track of both plugins and features,
16109           removing the feature tracking from plugins themselves.
16110
16111 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
16112
16113         * check/Makefile.am:
16114         * tools/gst-register.1.in:
16115           remove gst-register
16116
16117 2005-09-15  David Schleef  <ds@schleef.org>
16118
16119         * check/gst/gstplugin.c:
16120         * gst/gstelementfactory.c:
16121         * gst/gstplugin.c:
16122         * gst/gstpluginfeature.c:
16123         * gst/gstregistry.c:
16124           Getting tired of debugging.  Disabled all the unreffing of
16125           plugins and features, which fixes the segfaults, but of
16126           course leaks like crazy.  At least playbin works.
16127
16128 2005-09-15  David Schleef  <ds@schleef.org>
16129
16130         * check/gst/gstplugin.c: (register_check_elements),
16131         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
16132         More testing
16133         * gst/elements/gsttypefindelement.c: Fix refcounting.
16134         * gst/gsttypefind.c:
16135         * gst/gsttypefindfactory.c:
16136         * gst/gsttypefindfactory.h:
16137
16138 2005-09-15  David Schleef  <ds@schleef.org>
16139
16140         * gst/gstindex.c: get refcounting correct.
16141         * gst/gstregistry.c: Handle the case where a feature/plugin is
16142           not found.
16143
16144 2005-09-15  David Schleef  <ds@schleef.org>
16145
16146         * check/Makefile.am:
16147         * check/gst/gstplugin.c: Add test
16148         * gst/gstplugin.c: Fix problems noticed by testsuite
16149         * gst/gstplugin.h:
16150         * gst/gstregistry.c: 
16151         * gst/gstregistry.h:
16152
16153 2005-09-15  David Schleef  <ds@schleef.org>
16154
16155         * gst/gstplugin.c: Implement semi-decent recounting and locking
16156           in plugins and plugin features.
16157         * gst/gstplugin.h:
16158         * gst/gstpluginfeature.c:
16159         * gst/gstpluginfeature.h:
16160         * gst/gstregistry.c:
16161
16162 2005-09-15  Michael Smith <msmith@fluendo.com>
16163
16164         * gst/gstregistry.c: (gst_registry_get_feature_list):
16165           Implement this. Makes oggdemux work; decodebin still broken.
16166
16167 2005-09-14  David Schleef  <ds@schleef.org>
16168
16169         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
16170           #316076)
16171         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
16172         * gst/check/Makefile.am:
16173         * libs/gst/controller/Makefile.am:
16174         * libs/gst/dataprotocol/Makefile.am:
16175
16176 2005-09-14  David Schleef  <ds@schleef.org>
16177
16178         * configure.ac: Remove getbits library.  Nothing uses it, and
16179           it should be in something like liboil if someone did want
16180           to use it.
16181         * libs/gst/Makefile.am:
16182         * libs/gst/getbits/Makefile.am:
16183         * libs/gst/getbits/gbtest.c:
16184         * libs/gst/getbits/getbits.c:
16185         * libs/gst/getbits/getbits.h:
16186         * libs/gst/getbits/gstgetbits_generic.c:
16187         * libs/gst/getbits/gstgetbits_i386.s:
16188         * libs/gst/getbits/gstgetbits_inl.h:
16189
16190 2005-09-14  David Schleef  <ds@schleef.org>
16191
16192         * gst/Makefile.am: Dist glib-compat.h
16193
16194 2005-09-14  David Schleef  <ds@schleef.org>
16195
16196         * configure.ac: Remove gst/registries, since it's no longer used.
16197         * gst/registries/Makefile.am:
16198         * gst/registries/gstlibxmlregistry.c:
16199         * gst/registries/gstlibxmlregistry.h:
16200         * gst/registries/gstxmlregistry.c:
16201         * gst/registries/gstxmlregistry.h:
16202         * gst/registries/registrytest.c:
16203
16204 2005-09-14  David Schleef  <ds@schleef.org>
16205
16206         * gst/glib-compat.h:
16207         * gst/gstregistryxml.c:
16208           Convergence is near.  Seriously.
16209
16210 2005-09-14  David Schleef  <ds@schleef.org>
16211
16212         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
16213         * gst/glib-compat.h:
16214           Attempt #4 to appease the buildbots.
16215
16216 2005-09-14  David Schleef  <ds@schleef.org>
16217
16218         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
16219           Attempt #3.
16220
16221 2005-09-14  David Schleef  <ds@schleef.org>
16222
16223         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
16224         Attempt #2.
16225
16226 2005-09-14  David Schleef  <ds@schleef.org>
16227
16228         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
16229           the new functions.
16230
16231 2005-09-14  David Schleef  <ds@schleef.org>
16232
16233         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
16234         * gst/glib-compat.h: Add some functions that are in newer versions
16235           of glib than we care to require.
16236         * gst/gstregistryxml.c: Use them.
16237
16238 2005-09-14  David Schleef  <ds@schleef.org>
16239
16240         * po/POTFILES.in: remove gst-register.c
16241
16242 2005-09-14  David Schleef  <ds@schleef.org>
16243
16244         * docs/gst/gstreamer-docs.sgml:
16245         * docs/gst/gstreamer-sections.txt:
16246         * docs/gst/gstreamer.types:
16247         * docs/gst/tmpl/gstelement.sgml:
16248         * docs/gst/tmpl/gstplugin.sgml:
16249         * docs/gst/tmpl/gstpluginfeature.sgml:
16250           Documentation updates for registry changes.
16251
16252 2005-09-14  David Schleef  <ds@schleef.org>
16253
16254         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
16255           because we don't require glib-2.8.
16256
16257 2005-09-14  David Schleef  <ds@schleef.org>
16258
16259         * gst/gstregistryxml.c: Added.  Essentially moved out of the
16260           registries directory.
16261
16262 2005-09-14  David Schleef  <ds@schleef.org>
16263
16264         * check/Makefile.am:
16265         * check/generic/states.c:
16266         * gst/Makefile.am:
16267         * gst/gst.c:
16268         * gst/gst.h:
16269         * gst/gst_private.h:
16270         * gst/gstelementfactory.c:
16271         * gst/gstindex.c:
16272         * gst/gstinfo.c:
16273         * gst/gstplugin.c:
16274         * gst/gstplugin.h:
16275         * gst/gstpluginfeature.c:
16276         * gst/gstpluginfeature.h:
16277         * gst/gstregistry.c:
16278         * gst/gstregistry.h:
16279         * gst/gstregistrypool.c: remove
16280         * gst/gstregistrypool.h: remove
16281         * gst/gsttypefind.c:
16282         * gst/gsttypefindfactory.c:
16283         * gst/gsturi.c:
16284         * tools/Makefile.am:
16285         * tools/gst-compprep.c:
16286         * tools/gst-inspect.c:
16287         * tools/gst-register.c: remove
16288         * tools/gst-xmlinspect.c:
16289           Registry rewrite.  Changes registry from being a file created
16290           by a tool into a simple cache file created automatically by 
16291           libgstreamer.  Removed gst-register (because it's no longer
16292           needed).  Remove registry pools, because we only have one
16293           registry implementation (XML).  Fix up other subsystems as
16294           necessary.
16295
16296 2005-09-13  Michael Smith <msmith@fluendo.com>
16297
16298         * gst/gstconfig.h.in:
16299           Don't Use windows linking attributes for MinGW. Fixes #316157
16300
16301 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
16302
16303         * gst/gstutils.c: (set_state_async_thread_func),
16304         (gst_element_set_state_async):
16305           Apparently people think it's better if this function doesn't
16306           try to set the state to whatever state was asked for on the first
16307           call to this function for any object.  Seriously.
16308
16309 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
16310
16311         * check/gst/gstpipeline.c: (GST_START_TEST):
16312         * docs/gst/gstreamer-sections.txt:
16313         * gst/gstutils.c: (set_state_async_thread_func),
16314         (gst_element_set_state_async):
16315         * gst/gstutils.h:
16316           add a "gst_element_set_state_async" method that
16317           sets the state and starts a thread to make sure the state
16318           change completes as best as it can
16319
16320 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
16321
16322         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
16323           codify design+behaviour in testsuite after discussion
16324
16325 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
16326
16327         * docs/gst/tmpl/gstelement.sgml:
16328         * docs/manual/appendix-quotes.xml:
16329           add a quote
16330         * gst/gstelement.c: (gst_element_set_state):
16331           add some debug
16332
16333 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
16334
16335         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
16336         (gst_base_transform_prepare_output_buf),
16337         (gst_base_transform_handle_buffer):
16338         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
16339         (gst_capsfilter_prepare_buf):
16340           Remove the requirement for sub-classes to call the parent
16341           implementation of prepare_output_buffer with a wrapper function.
16342           
16343         * gst/gsttaglist.h:
16344         * gst/gsttagsetter.h:
16345           Fix #define wrapper
16346
16347 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
16348
16349         * docs/gst/gstreamer-sections.txt:
16350           more doc cleanups
16351
16352 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
16353
16354         * docs/gst/gstreamer-sections.txt:
16355         * docs/gst/tmpl/gstelement.sgml:
16356         * docs/gst/tmpl/gstplugin.sgml:
16357         * gst/gstminiobject.c:
16358         * gst/gstvalue.h:
16359           docs now stop throwing warnings
16360
16361 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
16362
16363         * docs/gst/gstreamer-sections.txt:
16364         * docs/gst/gstreamer.types:
16365         * docs/gst/tmpl/gstpad.sgml:
16366         * docs/gst/tmpl/gsttypes.sgml:
16367         * gst/base/gstadapter.h:
16368         * gst/base/gstbasesink.h:
16369         * gst/base/gstbasesrc.h:
16370         * gst/gstbin.h:
16371         * gst/gstbuffer.h:
16372         * gst/gstbus.h:
16373         * gst/gstcaps.h:
16374         * gst/gstclock.h:
16375         * gst/gstelement.h:
16376         * gst/gstevent.h:
16377         * gst/gstmessage.h:
16378         * gst/gstpad.h:
16379         * gst/gststructure.c:
16380         * gst/registries/gstlibxmlregistry.h:
16381           various documentation fixes
16382
16383 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
16384
16385         * docs/gst/gstreamer-sections.txt:
16386         * docs/gst/tmpl/gstvalue.sgml:
16387           rearrange gstvalue section
16388         * gst/gstutils.c: (gst_element_state_get_name):
16389           NONE -> VOID
16390         * gst/gstvalue.c: (_gst_value_initialize):
16391         * gst/gstvalue.h:
16392           doc updates
16393
16394 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
16395
16396         * check/gst-libs/controller.c:
16397           Header include fix.
16398         * gst/base/gstbasetransform.c:
16399         (gst_base_transform_default_prepare_buf),
16400         (gst_base_transform_handle_buffer):
16401         * gst/base/gstbasetransform.h:
16402           Some more basetransform changes and fixes to enable sub-classes
16403           that modify buffer metadata only.
16404         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
16405         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
16406         (gst_capsfilter_prepare_buf):
16407           If the output pad has fixed allowed caps and input buffers 
16408           don't have any, set the fixed caps on outgoing buffers.
16409
16410 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
16411         * check/elements/identity.c: (GST_START_TEST):
16412           Make the error a little clearer when the test fails because
16413           identity made a copy of the buffer.
16414         * docs/gst/gstreamer-sections.txt:
16415           New symbols in gstbasetransform.h
16416         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
16417         (gst_base_transform_init), (gst_base_transform_transform_size),
16418         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
16419         (gst_base_transform_default_prepare_buf),
16420         (gst_base_transform_get_unit_size),
16421         (gst_base_transform_buffer_alloc),
16422         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
16423         (gst_base_transform_change_state),
16424         (gst_base_transform_set_passthrough),
16425         (gst_base_transform_set_in_place),
16426         (gst_base_transform_is_in_place):
16427         * gst/base/gstbasetransform.h:
16428           Change BaseTransform to separate in_place operate from same_caps
16429           output. in_place implies that the element can perform the transform
16430           on incoming buffers in-place, even if the caps on the output are
16431           different.
16432           Sub-class elements can now implement special buffer allocation
16433           methods for outgoing buffers if they wish to.
16434           Big documentation addition.
16435         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
16436         * gst/elements/gstelements.c:
16437           Changes for basetransform modifications.
16438         * gst/elements/Makefile.am:
16439         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
16440           Compile fix. Extra debug output.
16441
16442 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
16443
16444         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
16445         (gst_pad_suite):
16446           add tests for valid pad naming
16447         * gst/check/gstcheck.c: (gst_check_log_message_func),
16448         (gst_check_log_critical_func):
16449           add ASSERT_WARNING
16450           remove printing of code, it is fragile when the code contains
16451           % and the line number is enough info
16452         * gst/check/gstcheck.h:
16453         * gst/gstpad.c: (gst_pad_template_new):
16454           fix memleaks
16455
16456 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
16457
16458         * configure.ac:
16459           say what CHECK flags we use
16460         * docs/libs/gstreamer-libs.types:
16461         * libs/gst/controller/Makefile.am:
16462         * libs/gst/controller/gst-controller.c:
16463         * libs/gst/controller/gst-controller.h:
16464         * libs/gst/controller/gst-helper.c:
16465         * libs/gst/controller/gst-interpolation.c:
16466         * libs/gst/controller/gstcontroller.c:
16467         * libs/gst/controller/gsthelper.c:
16468         * libs/gst/controller/gstinterpolation.c:
16469         * tools/gst-inspect.c: (print_plugin_info):
16470           we don't use dashes in header names
16471
16472 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
16473
16474         * check/Makefile.am:
16475         * check/gst/.cvsignore:
16476         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
16477         (gst_pipeline_suite), (main):
16478           adding a test for pipelines and state changes
16479         * gst/gstutils.c: (get_state_func):
16480           add some debugging
16481         * gstreamer.spec.in:
16482           fix up spec file
16483
16484 2005-09-08  Michael Smith <msmith@fluendo.com>
16485
16486         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
16487         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
16488         (gst_file_src_is_seekable), (gst_file_src_get_size),
16489         (gst_file_src_start):
16490         * gst/elements/gstfilesrc.h:
16491           Various fixes for unseekable, unmmapable, and non-normal files, so
16492           that fallback to read() rather than mmap() works.
16493         * gst/gstevent.c: (gst_event_new_newsegment):
16494           Allow newsegment events with segment_start == segment_end, as will
16495           correctly happen if you use filesrc on a zero-size file, for
16496           example.
16497
16498 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
16499
16500         * gst/gstplugin.c: (gst_plugin_load_file):
16501           Call g_module_close when we don't load the module
16502
16503         * gst/registries/gstlibxmlregistry.c:
16504         (gst_xml_registry_get_property):
16505           Port leak fix from 0.8
16506
16507 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
16508
16509         * docs/gst/gstreamer-docs.sgml:
16510         * docs/gst/tmpl/.cvsignore:
16511         * docs/gst/tmpl/gsttrace.sgml:
16512         * docs/gst/tmpl/gsttrashstack.sgml:
16513         * gst/Makefile.am:
16514         * gst/gst.h:
16515         * gst/gstelement.h:
16516         * gst/gstevent.h:
16517         * gst/gstmessage.c:
16518         * gst/gstmessage.h:
16519         * gst/gsttag.c:
16520         * gst/gsttag.h:
16521         * gst/gsttaginterface.c:
16522         * gst/gsttaginterface.h:
16523         * gst/gsttaglist.c:
16524         * gst/gsttaglist.h:
16525         * gst/gsttagsetter.c:
16526         * gst/gsttagsetter.h:
16527         * gst/gsttrace.c:
16528         * gst/gsttrace.h:
16529         * gst/gsttrashstack.c:
16530           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
16531           inlined docs for gsttrace, gsttrashstack
16532
16533 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
16534
16535         * gst/Makefile.am:
16536         * gst/elements/gstbufferstore.h:
16537         * gst/elements/gsttypefindelement.c:
16538         * gst/elements/gsttypefindelement.h:
16539         * gst/gst.h:
16540         * gst/gsttypefind.c:
16541         * gst/gsttypefind.h:
16542         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
16543         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
16544         (gst_type_find_factory_dispose),
16545         (gst_type_find_factory_unload_thyself),
16546         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
16547         (gst_type_find_factory_get_caps),
16548         (gst_type_find_factory_get_extensions),
16549         (gst_type_find_factory_call_function):
16550         * gst/gsttypefindfactory.h:
16551         * gst/registries/gstlibxmlregistry.c:
16552         * gst/registries/gstxmlregistry.c:
16553           splitted gsttypefind into gsttypefind, gsttypefindfactory
16554
16555 2005-09-07  Andy Wingo  <wingo@pobox.com>
16556
16557         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
16558         condition whereby the pad's task function is entered before the
16559         pad_mode variable was set.
16560
16561 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
16562
16563         * gst/gstpad.c: (gst_pad_alloc_buffer):
16564           Catch misbehaving pad_alloc functions that don't
16565           set up caps and do it for them.
16566
16567 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
16568
16569         * check/pipelines/simple_launch_lines.c: (run_pipeline):
16570           test for pipe!=NULL
16571         * docs/gst/tmpl/.cvsignore:
16572         * docs/gst/tmpl/gstmemchunk.sgml:
16573         * docs/gst/tmpl/gstparse.sgml:
16574         * docs/gst/tmpl/gsttaglist.sgml:
16575         * docs/gst/tmpl/gsttagsetter.sgml:
16576         * docs/gst/tmpl/gsttypefind.sgml:
16577         * docs/gst/tmpl/gsttypefindfactory.sgml:
16578         * gst/gstmemchunk.c:
16579         * gst/gstparse.c:
16580         * gst/gsttag.c:
16581         * gst/gsttaginterface.c:
16582         * gst/gsttypefind.c:
16583         * gst/gsttypefind.h:
16584           inlined more docs
16585
16586 === release 0.9.2 ===
16587
16588 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
16589
16590         * NEWS:
16591         * RELEASE:
16592         * configure.ac:
16593           releasing 0.9.2, "South"
16594
16595 2005-09-05  Andy Wingo  <wingo@pobox.com>
16596
16597         * gst/registries/gstxmlregistry.h:
16598         * gst/registries/gstxmlregistry.c: Um... resurrect...
16599         
16600         * gst/registries/gstxmlregistry.h:
16601         * gst/registries/gstxmlregistry.c: and update to newer API.
16602         Incidentally they should be a bit faster now that they don't have
16603         to parse the caps.
16604         
16605 2005-09-05  Andy Wingo  <wingo@pobox.com>
16606
16607         * gst/registries/gstxmlregistry.h:
16608         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
16609         replaced by the libxml registry a while back
16610
16611 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
16612
16613         * docs/gst/tmpl/gstplugin.sgml:
16614         * gst/elements/gstelements.c:
16615         * gst/gst.c:
16616         * gst/gstplugin.c: (gst_plugin_register_func),
16617         (gst_plugin_desc_copy), (gst_plugin_desc_free),
16618         (gst_plugin_get_source):
16619         * gst/gstplugin.h:
16620         * gst/registries/gstlibxmlregistry.c: (load_plugin),
16621         (gst_xml_registry_save_plugin):
16622         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
16623         (gst_xml_registry_save_plugin):
16624         * tools/gst-inspect.c: (print_plugin_info):
16625           add a "source" plugin description field, to represent the source
16626           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
16627           will set it to PACKAGE, which is automake's idea of the name of
16628           the source project.
16629
16630 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
16631
16632         * Makefile.am:
16633         * autogen.sh:
16634         * configure.ac:
16635         * docs/Makefile.am:
16636         * docs/faq/Makefile.am:
16637         * docs/gst/tmpl/gstelement.sgml:
16638         * docs/gst/tmpl/gsttypes.sgml:
16639         * docs/htmlinstall.mak:
16640         * docs/manual/Makefile.am:
16641         * docs/pwg/Makefile.am:
16642           reorganize doc build a little
16643           split out docbook and gtk-doc stuff
16644           have two separate --enable's and enable them through autogen
16645           but disable by default in configure (to be similar to other
16646           projects)
16647         * gstreamer.spec.in:
16648           clean up docs install
16649         * po/af.po:
16650         * po/az.po:
16651         * po/ca.po:
16652         * po/cs.po:
16653         * po/de.po:
16654         * po/en_GB.po:
16655         * po/fr.po:
16656         * po/it.po:
16657         * po/nb.po:
16658         * po/nl.po:
16659         * po/ru.po:
16660         * po/sq.po:
16661         * po/sr.po:
16662         * po/sv.po:
16663         * po/tr.po:
16664         * po/uk.po:
16665         * po/vi.po:
16666           translation updates
16667
16668 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
16669
16670         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
16671           Add comment.
16672           
16673         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
16674         (gst_fake_sink_change_state):
16675           Make state change function thread-safe.
16676           
16677         * gst/gstpad.c: (gst_pad_alloc_buffer):
16678           Set offset on generic buffer allocated by fallback.
16679
16680 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
16681
16682         * docs/gst/gstreamer-sections.txt:
16683         * docs/gst/tmpl/gstelement.sgml:
16684         * gst/gstpad.c:
16685         * libs/gst/controller/gst-controller.c:
16686         (gst_controlled_property_set_interpolation_mode),
16687         (gst_controlled_property_new),
16688         (gst_controller_find_controlled_property):
16689          run the wingo-magic script against the docs
16690
16691 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
16692
16693         * docs/gst/gstreamer-docs.sgml:
16694         * docs/gst/gstreamer-sections.txt:
16695         * docs/gst/tmpl/.cvsignore:
16696         * docs/gst/tmpl/gstelementdetails.sgml:
16697         * docs/gst/tmpl/gstelementfactory.sgml:
16698         * gst/gst.c:
16699         * gst/gstbus.c:
16700         * gst/gstelementfactory.c:
16701         * gst/gstelementfactory.h:
16702           merged elementdetails docs into elementfactory docs
16703           inlined both
16704
16705 2005-09-02  Andy Wingo  <wingo@pobox.com>
16706
16707         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
16708         consider this enum an enum and not a flags.
16709
16710 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
16711
16712         * docs/gst/gstreamer-docs.sgml:
16713         * docs/gst/tmpl/.cvsignore:
16714         * docs/gst/tmpl/gstghostpad.sgml:
16715         * docs/gst/tmpl/gstiterator.sgml:
16716         * docs/gst/tmpl/gstmacros.sgml:
16717         * docs/gst/tmpl/gstrealpad.sgml:
16718         * docs/gst/tmpl/gstregistry.sgml:
16719         * docs/gst/tmpl/gstregistrypool.sgml:
16720         * docs/gst/tmpl/gststructure.sgml:
16721         * docs/gst/tmpl/gstsystemclock.sgml:
16722         * docs/gst/tmpl/gsttrace.sgml:
16723         * gst/gstghostpad.c:
16724         * gst/gstmacros.h:
16725         * gst/gstmemchunk.c:
16726         * gst/gstmemchunk.h:
16727         * gst/gstqueue.c:
16728         * gst/gstregistry.c:
16729         * gst/gstregistrypool.c:
16730         * gst/gststructure.c:
16731         * gst/gstsystemclock.c:
16732           more docs inlined
16733
16734 2005-09-02  Andy Wingo  <wingo@pobox.com>
16735
16736         * gst/gstelement.h (GstState): Renamed from GstElementState,
16737         changed to be a normal enum instead of flags.
16738         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
16739         munged to be GST_STATE_CHANGE_*.
16740         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
16741         work with the new state representation.
16742         (GstStateChange): New enumeration of possible state transitions.
16743         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
16744         (GstElementClass::change_state): Pass the GstStateChange along as
16745         an argument. Helps language bindings, so they don't have to use
16746         tricky lock-needing macros like GST_STATE_CHANGE ().
16747
16748         * scripts/update-states (file): New script. Run it on a file to
16749         update it for state naming and API changes. Updates files in
16750         place.
16751
16752         * All files updated for the new API.
16753
16754 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
16755
16756         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
16757         * gst/gstutils.c: (gst_util_set_value_from_string),
16758         (gst_util_set_object_arg):
16759           fix a bunch of unchecked return values
16760         * tools/gst-complete.c: (main):
16761         * gstreamer.spec.in:
16762           clean up a little
16763
16764 2005-09-01  Wim Taymans  <wim@fluendo.com>
16765
16766         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
16767         (gst_base_sink_event), (gst_base_sink_do_sync),
16768         (gst_base_sink_handle_event):
16769         * gst/base/gstbasesink.h:
16770         Handle newsegments more correctly.
16771
16772         * gst/gstbus.c:
16773         Fix docs.
16774
16775         * gst/gstevent.c: (gst_event_new_newsegment):
16776         A newsegment cannot have a start_time of -1
16777
16778 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
16779
16780         * win32/gstenumtypes.c:
16781         * win32/gstenumtypes.h:
16782           Update
16783
16784 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
16785
16786         * libs/gst/controller/gst-controller.c:
16787         (gst_controlled_property_set_interpolation_mode),
16788         (gst_controlled_property_new):
16789          fixed boolean again
16790
16791 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
16792
16793         * docs/faq/gst-uninstalled:
16794           add -good
16795         * gst/gstevent.c:
16796         * gst/gstevent.h:
16797           remove wrong docs
16798         * gst/gstutils.c: (gst_element_link_filtered):
16799         * gst/gstutils.h:
16800           add gst_element_link_filtered
16801
16802 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
16803
16804         * docs/gst/gstreamer-docs.sgml:
16805         * docs/gst/gstreamer-sections.txt:
16806         * docs/gst/tmpl/.cvsignore:
16807         * docs/gst/tmpl/gsterror.sgml:
16808         * docs/gst/tmpl/gstfilter.sgml:
16809         * docs/gst/tmpl/gsturihandler.sgml:
16810         * docs/gst/tmpl/gsturitype.sgml:
16811         * docs/gst/tmpl/gstutils.sgml:
16812         * docs/gst/tmpl/gstxml.sgml:
16813         * gst/gsterror.c:
16814         * gst/gsterror.h:
16815         * gst/gstfilter.c:
16816         * gst/gsturi.c:
16817         * gst/gsturitype.c:
16818         * gst/gstutils.c:
16819         * gst/gstxml.c:
16820           inlined more docs, fixed double id-ref
16821
16822 2005-08-31  Wim Taymans  <wim@fluendo.com>
16823
16824         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
16825         (gst_base_transform_handle_buffer):
16826         Passthrough elements don't need the caps as they don't care.
16827
16828 2005-08-31  Wim Taymans  <wim@fluendo.com>
16829
16830         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
16831         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
16832         Don't leak refcounts on buffers.
16833
16834 2005-08-31  Wim Taymans  <wim@fluendo.com>
16835
16836         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
16837         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
16838         (gst_base_transform_chain), (gst_base_transform_change_state):
16839         * gst/base/gstbasetransform.h:
16840         Handle the case where we are not negotiated more gracefully.
16841
16842 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
16843
16844         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
16845         (gst_file_src_map_region):
16846           Set READONLY flag on mmap'ed buffers, otherwise
16847           gst_buffer_make_writable() won't work properly (#314708).
16848
16849 2005-08-31  Wim Taymans  <wim@fluendo.com>
16850
16851         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
16852         passthrough elements can even do inplace on non writable
16853         buffers (as they don't touch them).
16854
16855 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
16856
16857         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
16858         (gst_test_mono_source_set_property),
16859         (gst_test_mono_source_class_init), (GST_START_TEST),
16860         (gst_controller_suite):
16861           more tests (hehe I have the most)
16862         * gst/gstbus.c:
16863           describe popping messages whenusing mulltiple sources
16864         * libs/gst/controller/gst-controller.c:
16865         (gst_controlled_property_set_interpolation_mode),
16866         (gst_controlled_property_new):
16867         * libs/gst/controller/gst-controller.h:
16868         * libs/gst/controller/gst-interpolation.c:
16869           implement boolean properties
16870
16871 2005-08-31  Wim Taymans  <wim@fluendo.com>
16872
16873         * gst/gstminiobject.c: (gst_mini_object_ref):
16874         Cannot assert that the refcount has to be positive
16875         since a disposed object can be resurrected.
16876
16877 2005-08-31  Wim Taymans  <wim@fluendo.com>
16878
16879         * gst/gstpad.c: (gst_pad_init):
16880         Revert change, need to first fix badly behaving 
16881         apps.
16882
16883 2005-08-30  Wim Taymans  <wim@fluendo.com>
16884
16885         * check/elements/fakesrc.c: (setup_fakesrc):
16886         * check/elements/identity.c: (setup_identity):
16887         Activate pads before using them.
16888
16889 2005-08-30  Wim Taymans  <wim@fluendo.com>
16890
16891         * gst/base/gstadapter.c: (gst_adapter_flush):
16892         Flushing out 0 bytes is ok for this function.
16893
16894         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
16895         no newsegment gives a warning and sets the start/stop to 
16896         invalid.
16897
16898         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
16899         (gst_base_transform_set_passthrough):
16900         Some debug info.
16901
16902         * gst/gstminiobject.c: (gst_mini_object_ref):
16903         Check refcount here too.
16904
16905         * gst/gstpad.c: (gst_pad_init):
16906         Pads are initially flushing and refusing data.
16907
16908         * gst/gstutils.c: (gst_element_link_pads_filtered):
16909         When adding a capsfilter element make sure it has the
16910         same state as the parent bin.
16911
16912 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
16913
16914         * docs/gst/tmpl/.cvsignore:
16915         * docs/gst/tmpl/gstformat.sgml:
16916         * docs/gst/tmpl/gstversion.sgml:
16917         * gst/gstbus.h:
16918         * gst/gstformat.c:
16919         * gst/gstformat.h:
16920         * gst/gstversion.h.in:
16921           more docs and two more inlined
16922
16923 2005-08-30  Wim Taymans  <wim@fluendo.com>
16924
16925         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
16926         Don't sync to clock.
16927
16928 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
16929
16930         * docs/gst/gstreamer-sections.txt:
16931           ultral33t func10ns deserve to appear in the docs actually
16932         * docs/gst/tmpl/.cvsignore:
16933         * docs/gst/tmpl/gstcompat.sgml:
16934         * docs/gst/tmpl/gstconfig.sgml:
16935         * gst/check/gstcheck.c:
16936         * gst/gstcompat.h:
16937         * gst/gstconfig.h.in:
16938           inlined more docs
16939
16940 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
16941
16942         * docs/gst/tmpl/.cvsignore:
16943         * docs/gst/tmpl/gstquery.sgml:
16944         * docs/gst/tmpl/gstutils.sgml:
16945         * gst/gstquery.c:
16946         * gst/gstquery.h:
16947           inlined and extended docs
16948
16949 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
16950
16951         * check/gst-libs/controller.c: (GST_START_TEST),
16952         (gst_controller_suite):
16953           more tests
16954         * docs/gst/tmpl/gstutils.sgml:
16955         * docs/libs/gstreamer-libs-sections.txt:
16956         * docs/libs/tmpl/gstdataprotocol.sgml:
16957           include path fixes
16958         * examples/controller/audio-example.c: (main):
16959           controller example works now
16960         * gst/gstclock.h:
16961           doc fixes
16962         * tools/gst-inspect.c: (print_element_properties_info):
16963           show param spec flags
16964
16965 2005-08-29  Andy Wingo  <wingo@pobox.com>
16966
16967         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
16968
16969 2005-08-28  Andy Wingo  <wingo@pobox.com>
16970
16971         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
16972         as having two arguments instead of just one. Allows superclasses
16973         to access information on subclasses -- see the terrible for() loop
16974         in gtype.c:g_type_create_instance for the reason why. All callers
16975         changed.
16976
16977 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
16978
16979         * docs/design/part-messages.txt:
16980           update info
16981         * docs/gst/tmpl/.cvsignore:
16982         * docs/gst/tmpl/gstcaps.sgml:
16983         * docs/gst/tmpl/gstclock.sgml:
16984         * gst/gstbus.c:
16985         * gst/gstcaps.c:
16986         * gst/gstcaps.h:
16987         * gst/gstclock.c:
16988         * gst/gstclock.h:
16989         * gst/gstmessage.c:
16990           added descriptions for bus and message
16991           inline caps and clock docs
16992
16993 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
16994
16995         * gst/gstmessage.c:
16996         * gst/gstmessage.h:
16997           doc fixes
16998
16999 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
17000
17001         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
17002           fix div-by-zero
17003
17004 2005-08-26  Andy Wingo  <wingo@pobox.com>
17005
17006         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
17007         element_set_state's return val.
17008         (test_2_elements): Add test that's been disabled for months.
17009
17010         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
17011         can-activate-pull properties.
17012
17013         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
17014         can-activate-pull properties. Implement is_seekable so fakesrc can
17015         operate in pull mode.
17016
17017         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
17018         properties.
17019         (gst_base_sink_activate, gst_base_sink_activate_pull)
17020         (gst_base_sink_activate_push): Make activation mode choosing work.
17021         Cleanups.
17022         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
17023         is right. Make pull mode work. Post an eos before pausing in pull
17024         mode.
17025         (gst_base_sink_change_state): Pay attention to the core's
17026         change_state() return val.
17027         
17028         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
17029         has-getrange properties. Cleanups.
17030         
17031         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
17032         has_getrange and replace with can_activate_pull and
17033         can_activate_push.
17034
17035         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
17036         locking comments. Remove has_loop, has_chain and replace with
17037         can_activate_pull and can_activate_push.
17038
17039 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
17040
17041         * configure.ac:
17042         * examples/Makefile.am:
17043         * examples/metadata/Makefile.am:
17044         * examples/metadata/read-metadata.c: (message_loop),
17045         (have_pad_handler), (make_pipeline), (print_tag), (main):
17046           Add metadata reading example that loops over a list of filenames,
17047           dumping any tags found.
17048
17049         * gst/gstbus.c: (gst_bus_dispose):
17050         * gst/gstelement.c: (gst_element_dispose):
17051           Release a few potentially-held references in dispose.
17052
17053 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
17054
17055         * docs/gst/tmpl/gstminiobject.sgml:
17056           do *not* add tmpl/*.sgml files to CVS!
17057
17058 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
17059
17060         * libs/gst/bytestream/.cvsignore:
17061         * libs/gst/bytestream/Makefile.am:
17062         * libs/gst/bytestream/adapter.c:
17063         * libs/gst/bytestream/adapter.h:
17064         * libs/gst/bytestream/bytestream.c:
17065         * libs/gst/bytestream/bytestream.h:
17066         * libs/gst/bytestream/filepad.c:
17067         * libs/gst/bytestream/filepad.h:
17068           removing obsolete files
17069
17070 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
17071
17072         * docs/gst/gstreamer-docs.sgml:
17073         * docs/libs/gstreamer-libs-docs.sgml:
17074           disabed additional index entries again, as this makes docs-gen just
17075           slow and they aren't useful yet
17076         * docs/libs/gstreamer-libs-sections.txt:
17077           little -section.txt cleanup for libs
17078
17079 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
17080
17081         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
17082         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
17083           fix up some debugging
17084         (gst_base_transform_get_unit_size),
17085         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
17086         (gst_base_transform_handle_buffer):
17087         * gst/base/gstbasetransform.h:
17088           handle and store timed NEWSEGMENT events so that subclasses that
17089           calculate time by counting samples have a segment_start time they
17090           need to add to their timestamps - see audioresample
17091
17092 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
17093
17094         * gst/gstbin.h:
17095           removed ';' from the end of macro defs
17096         * docs/gst/gstreamer-docs.sgml:
17097         * docs/gst/gstreamer-sections.txt:
17098         * docs/gst/tmpl/.cvsignore:
17099         * gst/gstbus.h:
17100         * gst/gstelement.c: (gst_element_class_init),
17101         (gst_element_set_state), (activate_pads),
17102         (gst_element_save_thyself):
17103         * gst/gstevent.c: (gst_event_new_newsegment):
17104         * gst/gstevent.h:
17105         * gst/gstiterator.c:
17106         * gst/gstiterator.h:
17107         * gst/gstpad.c:
17108         * gst/gstprobe.h:
17109         * gst/gstutils.c: (gst_pad_query_convert):
17110         * gst/gstutils.h:
17111           fixed parameter name mismatches between source, header and docs
17112           added some more docs, resolved the last batch of unused elements in
17113           docs (now someone needs to doc them)
17114
17115 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
17116
17117         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
17118         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
17119           don't walk through the plugins backwards.  Where is all this
17120           reversed logic coming from ?
17121
17122 2005-08-25  Wim Taymans  <wim@fluendo.com>
17123
17124         * gst/base/gstbasetransform.c: (gst_base_transform_init),
17125         (gst_base_transform_transform_size),
17126         (gst_base_transform_configure_caps),
17127         (gst_base_transform_get_unit_size),
17128         (gst_base_transform_buffer_alloc),
17129         (gst_base_transform_change_state):
17130         * gst/base/gstbasetransform.h:
17131         Cache caps unit_size.
17132         Make sure we cannot negotiate up and downstream at the
17133         same time.
17134
17135 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
17136
17137         * gst/gst.c: (init_pre), (init_post):
17138           register the installed plugin path after the env var
17139         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
17140         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
17141           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
17142           directories, so the tests can prefer uninstalled over installed
17143
17144 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
17145
17146         * gst/base/gstbasetransform.h:
17147           comment
17148         * gst/gstpad.c:
17149           add to docs
17150
17151 2005-08-25  Wim Taymans  <wim@fluendo.com>
17152
17153         * gst/gstbin.c: (bin_bus_handler):
17154         Be a bit more conservative about the posted message.
17155         
17156         * gst/gstbus.c: (gst_bus_post):
17157         Some cleanups, warn wrong return values.
17158
17159 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
17160
17161         * check/gst/gstbin.c: (GST_START_TEST):
17162         * gst/gstbin.c: (bin_bus_handler):
17163         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
17164         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
17165         (gst_message_new_warning), (gst_message_new_tag),
17166         (gst_message_new_state_changed), (gst_message_new_segment_start),
17167         (gst_message_new_segment_done), (gst_message_new_custom):
17168         * gst/gstmessage.h:
17169         * tools/gst-launch.c: (event_loop):
17170         * tools/gst-md5sum.c: (event_loop):
17171           Revert unpopular change for GST_MESSAGE_SRC to GObject.
17172
17173 2005-08-25  Wim Taymans  <wim@fluendo.com>
17174
17175         * check/generic/states.c: (GST_START_TEST):
17176         Cleanup can be done at the end.
17177
17178         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
17179         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
17180         (gst_task_get_state), (gst_task_start), (gst_task_pause):
17181         Oh boy.. Thanks for finding this, Thomas. 
17182
17183 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
17184
17185         * docs/gst/gstreamer.types:
17186           added missing types
17187
17188 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
17189
17190         * docs/gst/gstreamer-docs.sgml:
17191         * docs/gst/gstreamer-sections.txt:
17192         * docs/gst/tmpl/.cvsignore:
17193         * gst/gstbin.c:
17194         * gst/gstiterator.c:
17195         * gst/gstutils.c:
17196         * gst/registries/gstxmlregistry.h:
17197           added missing classes and symbols (123 more to go)
17198           removed removed symbols from section file
17199           fixed many doc-comments
17200
17201 2005-08-24  Wim Taymans  <wim@fluendo.com>
17202
17203         * check/generic/states.c: (GST_START_TEST):
17204         Make sure all tasks are stopped.
17205
17206         * check/gst/gstbin.c: (GST_START_TEST):
17207         Unref after usage for proper valgrinding.
17208
17209         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
17210         Really wait for the task to stop before destroying the
17211         mutex.
17212
17213         * gst/gstqueue.c: (gst_queue_sink_activate_push),
17214         (gst_queue_src_activate_push):
17215         Small cleanups. Don't stop the task when we did not start
17216         it.
17217
17218         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
17219         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
17220         (gst_task_get_state), (gst_task_start), (gst_task_pause),
17221         (gst_task_join):
17222         * gst/gsttask.h:
17223         Protect the stream lock with the object lock.
17224         Disallow setting the stream lock when running.
17225         Add cleanup_all to wait for the threadpool to finish.
17226         Remove code to autoallocate a mutex if none was provided.
17227         Add _join() to wait for a task to stop.
17228         Protect the thread pool with a global lock.
17229
17230 2005-08-24  Wim Taymans  <wim@fluendo.com>
17231
17232         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
17233         (gst_base_sink_get_times), (gst_base_sink_do_sync),
17234         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
17235         * gst/base/gstbasesink.h:
17236         Handle newsegment events correctly.
17237         Drop buffers out of the segment range.
17238
17239 2005-08-22  Andy Wingo  <wingo@pobox.com>
17240
17241         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
17242         macro, implements an interface and gstimplementsinterface for a
17243         new type.
17244
17245 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
17246
17247         * check/Makefile.am:
17248         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
17249           add a test that does a bunch of state changes on elements
17250           needs some fixing for valgrind
17251         * check/states/sinks.c: (gst_object_suite):
17252           whitespace
17253         * gst/gstcaps.h:
17254           add prototype for gst_caps_is_equal_fixed
17255         * gst/gstplugin.c:
17256         * gst/gstregistrypool.c:
17257           doc fixes
17258
17259 2005-08-24  Andy Wingo  <wingo@pobox.com>
17260
17261         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
17262         convert a negative value. Doesn't make much sense. Mostly this is
17263         here to force callers to ensure -1 maps to -1.
17264
17265 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
17266
17267         * docs/pwg/advanced-types.xml:
17268           Well done to Michael for catching my deliberate introduction
17269           of this spelling mistake. 
17270         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
17271         * gst/gstelement.h:
17272           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
17273           unlink pads before removing the element from the bin.
17274
17275 2005-08-24  Andy Wingo  <wingo@pobox.com>
17276
17277         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
17278         the same thing as GST_DEBUG=*:4.
17279         (parse_debug_level, parse_debug_category): New helper parsers.
17280
17281 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
17282
17283         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
17284         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
17285         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
17286         (gst_base_transform_buffer_alloc),
17287         (gst_base_transform_handle_buffer):
17288           use gboolean return values and pointers to size so we can use the
17289           full GST_BUFFER_SIZE range (guint) for buffer sizes
17290           use GstPadDirection for transform_caps
17291         * gst/base/gstbasetransform.h:
17292           rename get_size to get_unit_size since that's what it is
17293         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
17294           use GstPadDirection for transform_caps
17295         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
17296         * gst/gstutils.h:
17297           cleanup and debugging
17298
17299 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
17300
17301         * gst/gstelement.c: (gst_element_class_init),
17302         (gst_element_set_state), (activate_pads),
17303         (gst_element_save_thyself):
17304         * tools/gst-compprep.c: (main):
17305         * tools/gst-inspect.c: (print_element_properties_info):
17306         * tools/gst-xmlinspect.c: (print_element_properties):
17307           Fixed long standing mem-leak
17308
17309 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
17310
17311         * check/gst/gstbin.c: (GST_START_TEST):
17312         * gst/gstbin.c: (bin_bus_handler):
17313         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
17314         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
17315         (gst_message_new_warning), (gst_message_new_tag),
17316         (gst_message_new_state_changed), (gst_message_new_segment_start),
17317         (gst_message_new_segment_done), (gst_message_new_custom):
17318         * gst/gstmessage.h:
17319         * tools/gst-launch.c: (event_loop):
17320         * tools/gst-md5sum.c: (event_loop):
17321           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
17322           that applications can sensibly post custom messages with references
17323           to their own objects.
17324
17325 2005-08-24  Andy Wingo  <wingo@pobox.com>
17326
17327         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
17328         already.
17329
17330 2005-08-24  Wim Taymans  <wim@fluendo.com>
17331
17332         * gst/base/gstbasetransform.c: (gst_base_transform_init),
17333         (gst_base_transform_transform_caps),
17334         (gst_base_transform_transform_size),
17335         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
17336         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
17337         (gst_base_transform_handle_buffer):
17338         * gst/base/gstbasetransform.h:
17339         Many fixes and new features added by Thomas. Can now also do
17340         transforms with variable sizes and a custom fixate_caps function.
17341
17342 2005-08-24  Wim Taymans  <wim@fluendo.com>
17343
17344         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
17345         Some debugging.
17346
17347         * gst/gstclock.h:
17348         Cast to ClockTime before formatting to time.
17349
17350         * gst/gstutils.h:
17351         Cleanups.
17352
17353 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
17354
17355         * check/gst-libs/controller.c: (GST_START_TEST),
17356         (gst_controller_suite):
17357         * docs/gst/tmpl/gstcaps.sgml:
17358         * docs/gst/tmpl/gstghostpad.sgml:
17359         * docs/gst/tmpl/gstquery.sgml:
17360         * docs/gst/tmpl/gstutils.sgml:
17361         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
17362         (gst_object_sink_values), (gst_object_get_value_arrays),
17363         (gst_object_get_value_array):
17364           gracefully handle helper method calls to objects that are not beeing
17365           controlled, added test case for that          
17366
17367 2005-08-23  Wim Taymans  <wim@fluendo.com>
17368
17369         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
17370         (gst_event_new_newsegment), (gst_event_parse_newsegment),
17371         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
17372         (gst_event_parse_qos), (gst_event_new_seek),
17373         (gst_event_parse_seek):
17374         * gst/gstevent.h:
17375         Some more debugging output and doc cleanups.
17376
17377         * gst/gstqueue.c: (gst_queue_handle_sink_event):
17378         Fix possible deadlock.
17379
17380 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
17381
17382         * docs/gst/gstreamer-docs.sgml:
17383         * docs/gst/gstreamer-sections.txt:
17384         * docs/gst/gstreamer.types:
17385         * docs/gst/tmpl/.cvsignore:
17386         * gst/gstbin.h:
17387         * gst/gstbus.c:
17388         * gst/gstelement.c:
17389         * gst/gstevent.h:
17390           added 100 symbols from gstreamer-unused.txt to the right sections
17391           fixed more broken comments
17392           added GstBus to docs
17393
17394 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
17395
17396         * docs/gst/gstreamer-sections.txt:
17397         * docs/gst/tmpl/.cvsignore:
17398         * docs/gst/tmpl/gstbin.sgml:
17399         * docs/gst/tmpl/gstbuffer.sgml:
17400         * gst/base/gstbasesrc.c:
17401         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
17402         * gst/gstbuffer.c:
17403         * gst/gstbuffer.h:
17404         * tools/gst-launch.1.in:
17405           inlined more doc comments, added missing comments and fixed comments
17406           fixed typos
17407
17408 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
17409
17410         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
17411           some debugging
17412         * gst/gstcaps.h:
17413           whitespace fixes
17414         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
17415           more debugging
17416         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
17417         * gst/gststructure.h:
17418           add a fixate function for booleans; add a FIXME that these func
17419           names should probably be gst_structure_fixate_*
17420
17421 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
17422
17423         * docs/gst/gstreamer-docs.sgml:
17424         * docs/gst/gstreamer-sections.txt:
17425         * gst/Makefile.am:
17426         * gst/gstbin.c: (gst_bin_get_type),
17427         (gst_bin_child_proxy_get_child_by_index),
17428         (gst_bin_child_proxy_get_children_count),
17429         (gst_bin_child_proxy_init):
17430         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
17431         (gst_child_proxy_get_child_by_index),
17432         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
17433         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
17434         (gst_child_proxy_get), (gst_child_proxy_set_property),
17435         (gst_child_proxy_set_valist), (gst_child_proxy_set),
17436         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
17437         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
17438         * gst/gstchildproxy.h:
17439         * gst/parse/grammar.y:
17440         * tools/gst-inspect.c: (print_interfaces),
17441         (print_element_properties_info), (print_element_info):
17442           ported gstchildproxy over from 0.8
17443           ported gst-inspect fixes and enhancements over from 0.8
17444
17445 2005-08-22  Wim Taymans  <wim@fluendo.com>
17446
17447         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
17448         (gst_base_transform_handle_buffer):
17449         Also call the transform function if we have ANY caps.
17450
17451         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
17452         Fix debug info.
17453
17454 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
17455
17456         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
17457           Don't pretend to handle seek events if the source is not seekable
17458
17459 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
17460
17461         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
17462           Remove extra parameter to debug output
17463
17464         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
17465         (gst_base_src_do_seek), (gst_base_src_activate_push):
17466           Fix seek event handling.
17467
17468         * gst/gstpipeline.c: (gst_pipeline_change_state):
17469         * gst/gstqueue.c: (gst_queue_handle_sink_event),
17470         (gst_queue_src_activate_push):
17471           Don't start the src pad task on FLUSH_STOP if the pad
17472           isn't linked.
17473           Debug changes.
17474
17475 2005-08-22  Wim Taymans  <wim@fluendo.com>
17476
17477         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
17478         Added check for gst_static_caps_get() refcounting.
17479
17480 2005-08-22  Wim Taymans  <wim@fluendo.com>
17481
17482         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
17483         Make _static_caps_get() refcounting sane.
17484         
17485         * gst/gstelement.c: (gst_element_set_state):
17486         Add g_return_val_if_fail() to protect against segfaults.
17487
17488 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
17489
17490         * docs/gst/tmpl/gstevent.sgml:
17491         * gst/gstevent.c:
17492         * gst/gstevent.h:
17493           inlined remaining docs, added missing doc comments
17494
17495 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
17496
17497         * check/gst/gstbin.c: (GST_START_TEST):
17498           since we don't know when preroll is done, use refcount range
17499           check for the sink
17500         * gst/check/gstcheck.h:
17501           add macro for checking refcount range
17502
17503 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
17504
17505         * check/Makefile.am:
17506           clean up environment for when registry gets built versus
17507           when actual tests are run; valgrind seems to not report
17508           leaks if GST_PLUGIN_PATH is set to some specific values
17509         * check/gst/gstbin.c: (GST_START_TEST):
17510           add more refcounting checks; maybe this exposes a
17511           preroll lock bug ?
17512         * common/check.mak:
17513         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
17514         * gst/check/gstcheck.h:
17515         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
17516         (gst_bin_change_state):
17517         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
17518           add/fix debugging/whitespace
17519
17520 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
17521
17522         * check/gst/gstevent.c: (event_probe), (test_event),
17523         (GST_START_TEST):
17524          Er, don't call gst_bin_watch_for_state_change you idiot.
17525
17526 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
17527
17528         * check/Makefile.am:
17529           Use CHECK_CFLAGS and CHECK_LIBS
17530         * check/gst/gstevent.c: (event_probe), (test_event),
17531         (GST_START_TEST):
17532           Don't leak events.
17533         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
17534         (gst_base_src_start), (gst_base_src_stop),
17535         (gst_base_src_activate_push), (gst_base_src_activate_pull),
17536         (gst_base_src_change_state):
17537           Sprinkle gst_base_src_stop liberally around error paths to fix
17538           problems reusing a source after failed state changes.
17539         * gst/base/gsttypefindhelper.c: (helper_find_peek),
17540         (helper_find_suggest), (gst_type_find_helper):
17541           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
17542         * gst/gstevent.h:
17543         * docs/gst/tmpl/gstevent.sgml:
17544           Migrate part of the docs from the SGML file. Wait for ensonic to
17545           tell me how I did it wrong ;)
17546         * tools/gst-typefind.c: (main):
17547           Extra robustness to state changes between files.
17548
17549 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
17550
17551         * check/Makefile.am:
17552           don't valgrind the controller test - it's leaking - Stefan, HELP
17553         * gst/check/gstcheck.c: (gst_check_message_error),
17554         (gst_check_chain_func), (gst_check_setup_element),
17555         (gst_check_teardown_element), (gst_check_setup_src_pad),
17556         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
17557         (gst_check_teardown_sink_pad):
17558         * gst/check/gstcheck.h:
17559           add a bunch of methods to set up elements, and src and sink pads
17560         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
17561         * check/elements/identity.c: (setup_identity), (cleanup_identity),
17562         (GST_START_TEST):
17563           use them
17564         * gst/gstmessage.c:
17565         * gst/gsttag.h:
17566           whitespace/doc fixes
17567
17568 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
17569
17570         * gst/gstelement.h:
17571           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
17572           be handled by the application and not always printed as well
17573
17574 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
17575
17576         * check/Makefile.am:
17577           set GST_TOOLS_DIR
17578         * gst/check/gstcheck.c: (gst_check_message_error):
17579         * gst/check/gstcheck.h:
17580           add a fail_unless_equals_int
17581           add fail_unless for error messages
17582
17583 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
17584
17585         * check/Makefile.am:
17586         * check/gst.supp:
17587         * common/Makefile.am:
17588         * common/check.mak:
17589         * common/gst.supp:
17590           factor out some of the common stuff so we can use it
17591
17592 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
17593
17594         * check/Makefile.am:
17595         * check/gst/gstiterator.c: (GST_START_TEST):
17596         * check/gst/gstsystemclock.c: (GST_START_TEST),
17597         (gst_systemclock_suite):
17598         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
17599         * gst/gstclock.c:
17600           valgrind more tests
17601
17602 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
17603
17604         * check/elements/.cvsignore:
17605         * check/elements/gstfakesrc.c:
17606           rename to name of element
17607         * check/elements/identity.c: (chain_func), (event_func),
17608         (setup_identity), (cleanup_identity), (GST_START_TEST),
17609         (identity_suite), (main):
17610           add a test for identity
17611         * check/Makefile.am:
17612         * pkgconfig/Makefile.am:
17613         * pkgconfig/gstreamer-check.pc.in:
17614         * pkgconfig/gstreamer-check-uninstalled.pc.in:
17615         * gst/check:
17616         * gst/Makefile.am:
17617         * configure.ac:
17618           move the check stuff to a library that gets installed
17619         * check/gst-libs/controller.c: (GST_START_TEST):
17620         * check/gst-libs/gdp.c:
17621         * check/gst/gst.c: (GST_START_TEST):
17622         * check/gst/gstbin.c:
17623         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
17624         * check/gst/gstbus.c:
17625         * check/gst/gstcaps.c: (GST_START_TEST):
17626         * check/gst/gstelement.c:
17627         * check/gst/gstghostpad.c:
17628         * check/gst/gstiterator.c:
17629         * check/gst/gstmessage.c:
17630         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
17631         * check/gst/gstobject.c:
17632         * check/gst/gstpad.c: (GST_START_TEST):
17633         * check/gst/gststructure.c: (GST_START_TEST):
17634         * check/gst/gstsystemclock.c: (GST_START_TEST),
17635         (gst_systemclock_suite):
17636         * check/gst/gsttag.c: (gst_tag_suite):
17637         * check/gst/gstvalue.c:
17638         * check/pipelines/cleanup.c:
17639         * check/pipelines/simple_launch_lines.c:
17640         * check/states/sinks.c:
17641           change include statement
17642
17643         * docs/gst/gstreamer-sections.txt:
17644         * docs/gst/tmpl/gstpad.sgml:
17645           document more pad stuff
17646         * gst/gstminiobject.c: (gst_mini_object_ref),
17647         (gst_mini_object_unref):
17648           debug refcounting
17649
17650 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
17651
17652         * docs/gst/tmpl/gst.sgml:
17653         * gst/gst.c:
17654           eliminate another tmpl file, fix spelling in the long-description
17655
17656 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
17657
17658         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
17659         (test_event), (timediff), (gstevents_suite):
17660           Should fix build on 64-bit arch's
17661
17662 2005-08-18  Andy Wingo  <wingo@pobox.com>
17663
17664         Make sure that when a pipeline goes to PLAYING, that data has
17665         actually hit the sink.
17666
17667         * check/states/sinks.c (test_sink): A sink that doesn't get any
17668         data shouldn't return SUCCESS for going to either PLAYING or
17669         PAUSED. Test also the return values on the way back down.
17670
17671         * gst/gstelement.c (gst_element_set_state): When changing the
17672         state of an element currently changing state asynchronously, go to
17673         lost-state after commiting the pending state. Makes future calls
17674         to get_state continue to return ASYNC.
17675
17676         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
17677         ASYNC when going to PLAYING if we still don't have preroll, as can
17678         happen with live sources.
17679
17680 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
17681
17682         * docs/pwg/advanced-types.xml:
17683           Hack long paragraph into 2 chunks as a workaround for buggy
17684           jadetex version in sid and breezy that loops infinitely and
17685           eats all RAM.
17686
17687 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
17688
17689         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
17690         (test_event), (timediff), (gstevents_suite):
17691           Provide more error margin in clock measurements to allow for 
17692           g_get_current_time inaccuracies.
17693
17694 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
17695
17696         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
17697         (test_event), (timediff), (gstevents_suite):
17698            Fix error message output so I might be able to tell why the
17699            test works here but fails on the build farm.
17700
17701 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
17702
17703         * check/Makefile.am:
17704         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
17705         (test_event), (timediff), (gstevents_suite), (main):
17706           I wrote a test!
17707
17708         * docs/design/part-seeking.txt:
17709           Spelling correction
17710
17711         * docs/gst/tmpl/gstevent.sgml:
17712         * docs/gst/tmpl/gstfakesrc.sgml:
17713           Docs updates.
17714
17715         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
17716           Treat a buffer-without-newsegment the same as a receiving 
17717           a newsegment not in time format, and disable syncing to the clock
17718           with a warning.
17719
17720         * gst/gstbus.c: (gst_bus_set_sync_handler):
17721           Assert if anyone tries to replace the existing sync_handler for bus, 
17722           as only the owner should be setting it.
17723
17724         * gst/gstevent.h:
17725           Have a fixed set of custom event enums with events identified by
17726           their structure name (as in 0.8), rather than a free-for-all
17727           allowing collisions between enum values from different plugins.
17728
17729         * gst/gstpad.c: (gst_pad_class_init):
17730           Docs change.
17731           
17732         * gst/gstqueue.c: (gst_queue_handle_sink_event):
17733           Handle out-of-band downstream events from the sending thread.
17734
17735 2005-08-17  Andy Wingo  <wingo@pobox.com>
17736
17737         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
17738         play-timeout==0 to mean no timeout at all. In that case, don't
17739         bother with a get_state or a warning, just return directly, even
17740         if it's ASYNC.
17741
17742         * gst/base/gstbasetransform.c: Debug changes.
17743
17744         * gst/gstutils.h:
17745         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
17746         ensure bins post state change messages. A bit of a hack but I can't
17747         think of a way to avoid it.
17748
17749         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
17750
17751 2005-08-16  Andy Wingo  <wingo@pobox.com>
17752
17753         * gst/base/gstadapter.h:
17754         * gst/base/gstadapter.c (gst_adapter_take): New function, like
17755         peek() but you own the data. Not terribly efficient atm.
17756
17757 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17758
17759         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
17760         (gst_element_found_tags):
17761         * gst/gstutils.h:
17762           Add two utility functions for tag handling.
17763
17764 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17765
17766         * docs/manual/advanced-dataaccess.xml:
17767         * docs/manual/basics-helloworld.xml:
17768           Fix docs to use _bin_add() before _link(), which fixes the examples
17769           with recent core versions (reported by Madhan Raj M
17770           <raj_madan@rediffmail.com>, #313199).
17771
17772 2005-08-16  Wim Taymans  <wim@fluendo.com>
17773
17774         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
17775         Added subtract checks.
17776
17777         * docs/design/part-events.txt:
17778         Some more docs about newsegment
17779
17780         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
17781         Fix FIXME
17782
17783         * gst/gstcaps.c: (gst_caps_to_string):
17784         Add comments, cleanups.
17785         
17786         * gst/gstelement.c: (gst_element_save_thyself):
17787         cleanups
17788         
17789         * gst/gstvalue.c: (gst_value_collect_int_range),
17790         (gst_string_unwrap), (gst_value_union_int_int_range),
17791         (gst_value_union_int_range_int_range),
17792         (gst_value_intersect_int_int_range),
17793         (gst_value_intersect_int_range_int_range),
17794         (gst_value_intersect_double_double_range),
17795         (gst_value_intersect_double_range_double_range),
17796         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
17797         (gst_value_subtract_int_range_int),
17798         (gst_value_subtract_double_range_double),
17799         (gst_value_subtract_double_range_double_range),
17800         (gst_value_subtract_from_list), (gst_value_subtract_list),
17801         (gst_value_can_compare), (gst_value_compare_fraction):
17802         Cleanups, add comments, remove unneeded asserts.
17803
17804 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
17805
17806         * tools/gst-launch.c: (event_loop):
17807           don't convert NULL structures to strings
17808
17809 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
17810
17811         * docs/gst/gstreamer-sections.txt:
17812           made some defines private
17813         * docs/gst/tmpl/gstconfig.sgml:
17814         * docs/gst/tmpl/gstqueue.sgml:
17815         * docs/gst/tmpl/gsttaglist.sgml:
17816         * docs/gst/tmpl/gsttypes.sgml:
17817         * docs/gst/tmpl/gstutils.sgml:
17818         * docs/pwg/appendix-porting.xml:
17819         * gst/base/gstbasesink.h:
17820         * gst/base/gstbasesrc.c:
17821         * gst/base/gstbasesrc.h:
17822         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
17823         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
17824         * gst/gstelement.c: (gst_element_class_init):
17825         * gst/gstpad.c: (gst_pad_class_init):
17826         * gst/gstqueue.c: (gst_queue_class_init):
17827         * gst/gstxml.c: (gst_xml_class_init):
17828           documented all undocumented signal inline
17829         * libs/gst/controller/gst-controller.h:
17830           added padding
17831
17832 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17833
17834         * docs/pwg/appendix-porting.xml:
17835           Document _set_link_function -> _set_setcaps_function.
17836
17837 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
17838
17839         * check/Makefile.am:
17840           add a .check target for running the check
17841         * check/gst-libs/controller.c: (GST_START_TEST):
17842           cosmetic fixups
17843         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
17844           complete checks for gstbuffer; would be nice if I could get the
17845           gcov stuff to work so I can see if I actually completed gstbuffer.c
17846         * check/gstcheck.h:
17847           add ASSERT_BUFFER_REFCOUNT
17848
17849 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
17850
17851         * docs/gst/gstreamer-sections.txt:
17852         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
17853         * gst/gsttag.h:
17854           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
17855           spew out a warning if a tag that is already registered
17856           is re-registered, unless it is re-registered with a 
17857           different type (#308438).
17858
17859 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
17860
17861         * docs/pwg/appendix-porting.xml:
17862         * docs/pwg/building-state.xml:
17863           Add some paragraphs about state changes in 0.9 to the PWG
17864           and the porting guide, in particular about the new meaning
17865           of GST_STATE_PAUSED and how to write state change functions
17866           with concurrent access by multiple threads in mind.
17867
17868 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
17869
17870         * docs/gst/gstreamer-docs.sgml:
17871         * docs/libs/gstreamer-libs-docs.sgml:
17872           added deprecation and since indexes
17873         * libs/gst/controller/gst-controller.c:
17874         * libs/gst/controller/gst-helper.c:
17875           added since tags
17876
17877
17878 2005-08-11  Wim Taymans  <wim@fluendo.com>
17879
17880         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
17881         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
17882         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
17883         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
17884         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
17885         (gst_ghost_pad_set_target):
17886         Actually implement (re)setting the target on a ghostpad
17887         as described in the docs.
17888
17889 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
17890
17891         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
17892           Check whether GST_DEBUG_NO_COLOR environment variable is
17893           set and disable coloured debug output if that is the case.
17894
17895 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
17896
17897         * gst/base/gsttypefindhelper.c: (helper_find_peek),
17898         (gst_type_find_helper):
17899           The memory returned by gst_type_find_peek() needs to
17900           stay valid until the end of a typefind function, and
17901           typefind functions may keep results from different 
17902           offsets around, so we can't just unref the buffer from
17903           the previous _peek(), but have to save all buffers 
17904           returned by _peek() until typefinding is done and only
17905           free them then.
17906
17907 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
17908
17909         * docs/gst/gstreamer-sections.txt:
17910         * gst/gstutils.h:
17911           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
17912
17913 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17914
17915         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
17916           Fix a pretty good memleak.
17917
17918 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
17919
17920         * gst/gstiterator.h:
17921           Fix wrong include and 'make distcheck'.
17922
17923 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17924
17925         * gst/gstbin.c: (bin_bus_handler):
17926           Use gst_element_post_message() instead.
17927
17928 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
17929
17930         * gst/base/gstadapter.h:
17931         * gst/base/gstbasesink.h:
17932         * gst/base/gstbasesrc.h:
17933         * gst/base/gstbasetransform.h:
17934         * gst/base/gstcollectpads.h:
17935         * gst/base/gstpushsrc.h:
17936         * gst/gstiterator.h:
17937           Add padding to our base elements' class and instance structs and
17938           to GstIterator (you will need to rebuild all plugins and apps!)
17939
17940 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17941
17942         * gst/gstbin.c: (bin_bus_handler):
17943           Make default message forwarding from child->bus to bin->bus
17944           threadsafe and make it not emit warnings if the parent has no bus.
17945
17946 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17947
17948         * gst/gstelement.c: (activate_pads):
17949           On paused->ready, set pad->caps to NULL, as is the documented
17950           behaviour in this state change. Fixes playback of series of
17951           media files when visualization is enabled in Totem.
17952
17953 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17954
17955         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
17956           Allow NULL as filter-caps (which means "any").
17957
17958 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
17959
17960         * docs/libs/gstreamer-libs-sections.txt:
17961         * libs/gst/controller/gst-controller.c:
17962         * libs/gst/controller/gst-controller.h:
17963         * libs/gst/controller/gst-helper.c:
17964           adding more entries to the docs and fix small doc-bugs
17965
17966 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
17967
17968         * docs/gst/gstreamer-docs.sgml:
17969         * docs/gst/gstreamer-sections.txt:
17970         * docs/gst/gstreamer.types:
17971         * docs/gst/tmpl/gstbasesink.sgml:
17972         * docs/gst/tmpl/gstbasesrc.sgml:
17973         * docs/gst/tmpl/gstbasetransform.sgml:
17974         * docs/gst/tmpl/gstfakesrc.sgml:
17975         * gst/base/gstcollectpads.c:
17976         * gst/base/gstcollectpads.h:
17977         * libs/gst/controller/gst-controller.c:
17978         * libs/gst/controller/gst-controller.h:
17979         * libs/gst/controller/gst-helper.c:
17980         * libs/gst/controller/gst-interpolation.c:
17981         * libs/gst/controller/lib.c:
17982           added long/short desc for controller docs
17983           added collectpads base class docs
17984           added correct includes to base-class docs
17985
17986 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
17987
17988         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
17989         (gst_test_mono_source_set_property),
17990         (gst_test_mono_source_class_init), (GST_START_TEST),
17991         (gst_controller_suite):
17992         * docs/gst/gstreamer-docs.sgml:
17993         * docs/gst/gstreamer-sections.txt:
17994         * docs/gst/gstreamer.types:
17995         * docs/libs/gstreamer-libs-docs.sgml:
17996         * docs/libs/gstreamer-libs-sections.txt:
17997         * gst/base/gstadapter.c:
17998         * libs/gst/controller/gst-controller.c:
17999         (gst_controlled_property_new), (gst_controlled_property_free),
18000         (gst_controller_new_valist),
18001         (gst_controller_remove_properties_valist),
18002         (gst_controller_sink_values), (_gst_controller_finalize):
18003         * libs/gst/controller/gst-controller.h:
18004         * libs/gst/controller/gst-helper.c:
18005         (gst_object_control_properties), (gst_object_uncontrol_properties),
18006         (gst_object_get_controller), (gst_object_set_controller),
18007         (gst_object_sink_values), (gst_object_get_value_arrays),
18008         (gst_object_get_value_array):
18009           more tests (and fixes) for the controller
18010           more docs for the controller
18011           integrated companies docs for the adapter 
18012
18013 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
18014
18015         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
18016         (GST_START_TEST), (fakesrc_suite):
18017           add tests for sizetype
18018
18019 2005-08-04  Andy Wingo  <wingo@pobox.com>
18020
18021         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
18022         fixes buffer_alloc proxying among other things.
18023
18024         * gst/base/gstbasetransform.c:
18025         * gst/base/gstbasetransform.h:
18026         Revert patch to gstbasetransform from 7-28 removing
18027         delay_configure.
18028
18029         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
18030         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
18031         Semantics changed, should return not the size of the output buffer
18032         but the byte size of a buffer with a given caps.
18033
18034         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
18035         debug object.
18036         (gst_base_transform_configure_caps): Don't set out_size here: (in,
18037         out) are not the pad caps until setcaps finishes.
18038         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
18039         not-in-place case as well. Deal with changing from in-place to
18040         not-in-place within calling pad_alloc_buffer. Still a bit
18041         concerned about the overhead here...
18042
18043 2005-08-03  Andy Wingo  <wingo@pobox.com>
18044
18045         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
18046         fixating is an error.
18047
18048 2005-08-04  Edward Hervey  <edward@fluendo.com>
18049
18050         * gst/base/gstadapter.h: 
18051         Added gst_adapter_get_type() to the header
18052
18053 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
18054
18055         * check/Makefile.am:
18056         * check/gst-libs/controller.c:
18057         * libs/gst/controller/gst-controller.c:
18058         (gst_controller_new_valist):
18059           added check test suite for the controller
18060         * gst/base/gstpushsrc.c:
18061           fixed a doc typo
18062
18063 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
18064
18065         * docs/gst/Makefile.am:
18066         * docs/gst/gstreamer-docs.sgml:
18067         * docs/gst/gstreamer-sections.txt:
18068         * docs/gst/gstreamer.types:
18069         * docs/gst/tmpl/gstfakesrc.sgml:
18070         * gst/base/README:
18071         * gst/base/gstbasesink.c:
18072         * gst/base/gstbasesink.h:
18073         * gst/base/gstbasesrc.c:
18074         * gst/base/gstbasesrc.h:
18075         * gst/base/gstbasetransform.c:
18076         * gst/base/gstpushsrc.c:
18077         * gst/base/gstpushsrc.h:
18078           add short/long description docs to base classes
18079           add pushsrc to the docs
18080           remove consolidated doc fragments
18081
18082 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
18083
18084         * configure.ac:
18085         * docs/libs/Makefile.am:
18086         * docs/libs/gstreamer-libs-docs.sgml:
18087         * docs/libs/gstreamer-libs-sections.txt:
18088         * docs/libs/gstreamer-libs.types:
18089         * examples/Makefile.am:
18090         * examples/controller/.cvsignore:
18091         * examples/controller/Makefile.am:
18092         * examples/controller/audio-example.c: (main):
18093         * libs/gst/Makefile.am:
18094         * libs/gst/controller/.cvsignore:
18095         * libs/gst/controller/Makefile.am:
18096         * libs/gst/controller/gst-controller.c:
18097         (on_object_controlled_property_changed), (gst_timed_value_compare),
18098         (gst_timed_value_find),
18099         (gst_controlled_property_set_interpolation_mode),
18100         (gst_controlled_property_new), (gst_controlled_property_free),
18101         (gst_controller_find_controlled_property),
18102         (gst_controller_new_valist), (gst_controller_new),
18103         (gst_controller_remove_properties_valist),
18104         (gst_controller_remove_properties), (gst_controller_set),
18105         (gst_controller_set_from_list), (gst_controller_unset),
18106         (gst_controller_get), (gst_controller_get_all),
18107         (gst_controller_sink_values), (gst_controller_get_value_arrays),
18108         (gst_controller_get_value_array),
18109         (gst_controller_set_interpolation_mode),
18110         (_gst_controller_finalize), (_gst_controller_init),
18111         (_gst_controller_class_init), (gst_controller_get_type):
18112         * libs/gst/controller/gst-controller.h:
18113         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
18114         (g_object_uncontrol_properties), (g_object_get_controller),
18115         (g_object_set_controller), (g_object_sink_values),
18116         (g_object_get_value_arrays), (g_object_get_value_array):
18117         * libs/gst/controller/gst-interpolation.c:
18118         (gst_controlled_property_find_timed_value_node),
18119         (interpolate_none_get), (interpolate_trigger_get),
18120         (interpolate_trigger_get_value_array):
18121         * libs/gst/controller/lib.c: (gst_controller_init):
18122         * pkgconfig/Makefile.am:
18123         * pkgconfig/gstreamer-control-uninstalled.pc.in:
18124         * pkgconfig/gstreamer-control.pc.in:
18125         * testsuite/Makefile.am:
18126         * testsuite/controller/.cvsignore:
18127         * testsuite/controller/Makefile.am:
18128         * testsuite/controller/interpolator.c: (main):
18129           added controller code
18130           removed dparam pc files
18131
18132 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
18133         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
18134         (gst_collectpads_stop):
18135           Broadcast the condition when shutting down, to make sure we wake all
18136           threads up. Shut down pads on finalize, for safety.
18137
18138 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
18139         * gst/base/gstbasetransform.c: (gst_base_transform_init),
18140         (gst_base_transform_handle_buffer),
18141         (gst_base_transform_change_state):
18142           Handle PAUSED->READY->PAUSED transition after negotiation
18143           occurred already.
18144         * gst/gstmessage.c: (gst_message_init):
18145           Extra piece of debug for new messages.
18146
18147 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
18148
18149         * configure.ac:
18150         * docs/gst/tmpl/gstbasesrc.sgml:
18151         * docs/gst/tmpl/gstelement.sgml:
18152         * docs/gst/tmpl/gstevent.sgml:
18153         * docs/gst/tmpl/gstfakesrc.sgml:
18154         * docs/gst/tmpl/gstformat.sgml:
18155         * docs/gst/tmpl/gstghostpad.sgml:
18156         * docs/gst/tmpl/gstpad.sgml:
18157         * docs/gst/tmpl/gstquery.sgml:
18158         * docs/gst/tmpl/gststructure.sgml:
18159         * docs/gst/tmpl/gsttaglist.sgml:
18160         * docs/gst/tmpl/gstvalue.sgml:
18161         * docs/libs/gstreamer-libs-docs.sgml:
18162         * docs/libs/gstreamer-libs-sections.txt:
18163         * docs/libs/gstreamer-libs.types:
18164         * libs/gst/Makefile.am:
18165         * libs/gst/control/.cvsignore:
18166         * libs/gst/control/Makefile.am:
18167         * libs/gst/control/control.c:
18168         * libs/gst/control/control.h:
18169         * libs/gst/control/dparam.c:
18170         * libs/gst/control/dparam.h:
18171         * libs/gst/control/dparam_smooth.c:
18172         * libs/gst/control/dparam_smooth.h:
18173         * libs/gst/control/dparamcommon.h:
18174         * libs/gst/control/dparammanager.c:
18175         * libs/gst/control/dparammanager.h:
18176         * libs/gst/control/dplinearinterp.c:
18177         * libs/gst/control/dplinearinterp.h:
18178         * libs/gst/control/unitconvert.c:
18179         * libs/gst/control/unitconvert.h:
18180         * testsuite/Makefile.am:
18181         * testsuite/dynparams/.cvsignore:
18182         * testsuite/dynparams/Makefile.am:
18183         * testsuite/dynparams/dparamstest.c:
18184         * tools/Makefile.am:
18185         * tools/gst-inspect.c: (print_element_info), (main):
18186         * tools/gst-xmlinspect.c: (print_element_info), (main):
18187           deactivate and remove dparams (libgstcontrol)
18188
18189 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
18190
18191         * gst/elements/gsttypefindelement.c:
18192         (gst_type_find_element_have_type), (gst_type_find_element_init),
18193         (stop_typefinding), (gst_type_find_element_handle_event),
18194         (gst_type_find_element_chain), (gst_type_find_element_getrange):
18195         * gst/elements/gsttypefindelement.h:
18196           Set caps on all outgoing buffers, not just the first one.
18197
18198 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
18199
18200         * gst/elements/gsttypefindelement.c:
18201         (gst_type_find_element_have_type),
18202         (gst_type_find_element_check_set_buffer_caps),
18203         (gst_type_find_element_init), (stop_typefinding),
18204         (gst_type_find_element_handle_event),
18205         (gst_type_find_element_chain), (gst_type_find_element_getrange):
18206         * gst/elements/gsttypefindelement.h:
18207           Set caps on first outgoing buffer when we've found the type.
18208
18209 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
18210
18211         * docs/gst/gstreamer-docs.sgml:
18212         * docs/gst/gstreamer-sections.txt:
18213         * docs/gst/tmpl/gstscheduler.sgml:
18214         * docs/gst/tmpl/gstschedulerfactory.sgml:
18215           Remove some old cruft from docs.
18216
18217 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
18218
18219         * gst/gstpad.h:
18220           Fix inline docs for GstPadLinkReturn.
18221           
18222         * gst/gststructure.c: (gst_structure_has_name):
18223         * gst/gststructure.h:
18224         * docs/gst/gstreamer-sections.txt:
18225           New API: gst_structure_has_name().
18226
18227 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
18228
18229         * configure.ac:
18230           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
18231           and _LARGEFILE_SOURCE in config.h as required. Do not 
18232           export those flags in our .pc files any longer (#142209).
18233
18234           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
18235
18236         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
18237         (gst_file_sink_do_seek), (gst_file_sink_event),
18238         (gst_file_sink_get_current_offset), (gst_file_sink_render):
18239           Redo seek/tell calls with large file support in mind; add some
18240           debugging messages; add log message that tells us when large
18241           file support is unavailable or not enabled for some reason.
18242
18243         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
18244           Add log message that tells us when large file support 
18245           is unavailable or not enabled for some reason.
18246
18247 2005-07-29  Wim Taymans  <wim@fluendo.com>
18248
18249         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
18250         Added test for removing an element with ghostpad from a bin.
18251         Fixed test as current implementation does the right thing.
18252
18253         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
18254         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
18255         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
18256         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
18257         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
18258         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
18259         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
18260         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
18261         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
18262         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
18263         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
18264         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
18265         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
18266         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
18267         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
18268         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
18269         * gst/gstghostpad.h:
18270         Clean up ghostpads, remove properties for internal stuff.
18271         Make threadsafe.
18272         Fix refcounting.
18273         Prepare for switching targets, not all use cases work yet.
18274
18275 2005-07-29  Wim Taymans  <wim@fluendo.com>
18276
18277         * docs/design/part-gstghostpad.txt:
18278         Small update.
18279
18280         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
18281         (gst_bin_remove_func):
18282         Unlinking pads while holding the bin LOCK is not a good
18283         idea.
18284
18285         * gst/gstpad.c: (gst_pad_class_init),
18286         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
18287         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
18288         No prob setting template after creating the pad.
18289
18290 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
18291
18292         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
18293         (gst_bus_peek), (gst_bus_source_dispatch),
18294         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
18295         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
18296           gst_bus_poll may be called from other threads. Handle
18297           this nicely by not making poll_data disappear off the
18298           stack once gst_bus_poll returns.
18299           gst_bus_peek now increments the refcount on the returned
18300           message.
18301
18302 2005-07-29  Wim Taymans  <wim@fluendo.com>
18303
18304         * docs/design/part-gstghostpad.txt:
18305         Overview of current GhostPad datastructures and use
18306         cases for changing the target.
18307
18308 2005-07-28  Wim Taymans  <wim@fluendo.com>
18309
18310         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
18311         Added checks for hierarchy consistency whan adding linked
18312         elements to bins.
18313
18314         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
18315         Added check to test element scheduling without bin/pipeline.
18316
18317         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
18318         First add elements to bin, then link.
18319         
18320         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
18321         (gst_bin_remove_func):
18322         Unlink pads from elements added/removed from bin to maintain
18323         hierarchy consistency.
18324
18325 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18326
18327         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
18328         (gst_base_transform_handle_buffer):
18329         * gst/base/gstbasetransform.h:
18330           Remove broken delay_configure (fixes renegotiation of software
18331           scaling pipelines); remove some leftover printf()s.
18332
18333 2005-07-28  Wim Taymans  <wim@fluendo.com>
18334
18335         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
18336         Added some more tests for wrong hierarchy
18337
18338         * docs/design/part-overview.txt:
18339         Some updates.
18340
18341         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
18342         Cleanups.
18343
18344         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
18345         (gst_element_dispose):
18346         Some more cleanups.
18347
18348         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
18349         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
18350         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
18351         (gst_pad_set_caps), (gst_pad_send_event):
18352         Check for correct hierarchy when linking pads. Moving to
18353         strict requirement for ghostpads when linking elements in
18354         different bins.
18355
18356         * gst/gstpad.h:
18357         Clean ups. Added WRONG_HIERARCHY return value.
18358
18359 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18360
18361         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
18362           Better debug if no transform is possible.
18363
18364 2005-07-27  Wim Taymans  <wim@fluendo.com>
18365
18366         * docs/random/wtay/network-transp:
18367         Some old doc I had.
18368
18369 2005-07-27  Wim Taymans  <wim@fluendo.com>
18370
18371         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
18372         (gst_dp_event_from_packet):
18373         Fix serialization of seek events.
18374
18375 2005-07-27  Wim Taymans  <wim@fluendo.com>
18376
18377         * check/gst-libs/gdp.c: (GST_START_TEST):
18378         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
18379         Fix compilation and fix event serialization.
18380
18381 2005-07-27  Wim Taymans  <wim@fluendo.com>
18382
18383         * CHANGES-0.9:
18384         * docs/design/part-TODO.txt:
18385         * docs/design/part-events.txt:
18386         Some docs updates
18387
18388         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
18389         (gst_base_sink_event), (gst_base_sink_do_sync),
18390         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
18391         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
18392         (gst_base_src_do_seek), (gst_base_src_event_handler),
18393         (gst_base_src_loop):
18394         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
18395         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
18396         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
18397         (gst_base_transform_event), (gst_base_transform_handle_buffer),
18398         (gst_base_transform_set_passthrough),
18399         (gst_base_transform_is_passthrough):
18400         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
18401         * gst/elements/gstfilesink.c: (gst_file_sink_event):
18402         Event updates.
18403
18404         * gst/gstbuffer.h:
18405         Use faster casts.
18406
18407         * gst/gstelement.c: (gst_element_seek):
18408         * gst/gstelement.h:
18409         Update gst_element_seek.
18410
18411         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
18412         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
18413         (gst_event_new_flush_start), (gst_event_new_flush_stop),
18414         (gst_event_new_eos), (gst_event_new_newsegment),
18415         (gst_event_parse_newsegment), (gst_event_new_tag),
18416         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
18417         (gst_event_parse_qos), (gst_event_new_seek),
18418         (gst_event_parse_seek), (gst_event_new_navigation):
18419         * gst/gstevent.h:
18420         Make GstEvent use GstStructure. Add parsing code, make sure the
18421         API is sufficiently generic.
18422         Mark possible directions of events and serialization.
18423
18424         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
18425         (_gst_message_copy), (gst_message_new_segment_start),
18426         (gst_message_new_segment_done), (gst_message_new_custom),
18427         (gst_message_parse_segment_start),
18428         (gst_message_parse_segment_done):
18429         Small cleanups.
18430
18431         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
18432         (gst_pad_set_caps), (gst_pad_send_event):
18433         Update for new events. 
18434         Catch events sent in wrong directions.
18435
18436         * gst/gstqueue.c: (gst_queue_link_src),
18437         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
18438         (gst_queue_handle_src_query):
18439         Event updates.
18440
18441         * gst/gsttag.c:
18442         * gst/gsttag.h:
18443         Remove event code from this file.
18444
18445         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
18446         (gst_dp_event_from_packet):
18447         Event updates.
18448
18449 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18450
18451         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
18452         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
18453         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
18454           Make debugging actually useful.
18455
18456 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18457
18458         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
18459         (gst_pad_fixate_caps):
18460           Implement default fixation once again, so that gst_pad_fixate()
18461           actually does anything at all. This probably needs to be some
18462           sort of a last resort, and use profile-based fixation first, but
18463           since that doesn't exist yet, this is the best we have. Fixes
18464           visualization in Totem.
18465
18466 2005-07-22  Wim Taymans  <wim@fluendo.com>
18467
18468         * docs/design/part-events.txt:
18469         Small update.
18470
18471         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
18472         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
18473         (gst_base_sink_activate_pull):
18474         Some more comments.
18475
18476         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
18477         (gst_fake_src_create):
18478         Fix handoff marshall.
18479
18480         * gst/elements/gstidentity.c: (gst_identity_class_init),
18481         (gst_identity_transform_ip):
18482         We're a real inplace element.
18483
18484         * gst/gstbus.c: (gst_bus_post):
18485         Added some comments.
18486
18487         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
18488         * tests/muxing/case1.c: (main):
18489         * tests/sched/dynamic-pipeline.c: (main):
18490         * tests/sched/interrupt1.c: (main):
18491         * tests/sched/interrupt2.c: (main):
18492         * tests/sched/interrupt3.c: (main):
18493         * tests/sched/runxml.c: (main):
18494         * tests/sched/sched-stress.c: (main):
18495         * tests/seeking/seeking1.c: (event_received), (main):
18496         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
18497         (main):
18498         * tests/threadstate/threadstate3.c: (main):
18499         * tests/threadstate/threadstate4.c: (main):
18500         * tests/threadstate/threadstate5.c: (main):
18501         Fix the tests.
18502
18503 2005-07-21  Wim Taymans  <wim@fluendo.com>
18504
18505         * docs/design/part-seeking.txt:
18506         Some small additions.
18507
18508         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
18509         (gst_base_sink_get_times), (gst_base_sink_do_sync),
18510         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
18511         * gst/base/gstbasesink.h:
18512         discont values are gint64, handle the math correctly.
18513
18514         * gst/base/gstbasesrc.c: (gst_base_src_loop):
18515         Make the basesrc report error if the source pad is not linked.
18516
18517         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
18518         (gst_queue_loop), (gst_queue_handle_src_query),
18519         (gst_queue_src_activate_push):
18520         Make queue collect data even if the srcpad is not linked.
18521         Start pushing out data as soon as it is linked.
18522
18523         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
18524         * gst/gstutils.h:
18525         Added gst_flow_get_name() to ease error reporting.
18526
18527 2005-07-20  Wim Taymans  <wim@fluendo.com>
18528
18529         * gst/gstmessage.c: (gst_message_new_segment_start),
18530         (gst_message_new_segment_done), (gst_message_parse_segment_start),
18531         (gst_message_parse_segment_done):
18532         * gst/gstmessage.h:
18533         Added a bunch of messages for advanced seeking.
18534
18535         * gst/parse/grammar.y:
18536         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
18537         (gst_dpman_state_changed):
18538         Fix some new-pad -> pad-added signals
18539
18540 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18541
18542         * docs/manual/appendix-porting.xml:
18543         * docs/pwg/appendix-porting.xml:
18544           Document new-pad/state-change signal renames and the FixedList
18545           type rename.
18546
18547 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18548
18549         * docs/manual/advanced-autoplugging.xml:
18550         * docs/manual/basics-helloworld.xml:
18551         * docs/manual/basics-pads.xml:
18552         * docs/random/ds/0.9-suggested-changes:
18553         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
18554         * gst/gstelement.h:
18555         * gst/gstevent.h:
18556         * gst/gstformat.h:
18557         * gst/gstquery.h:
18558         * gst/gststructure.c: (gst_structure_value_get_generic_type),
18559         (gst_structure_parse_array), (gst_structure_parse_value):
18560         * gst/gstvalue.c: (gst_type_is_fixed),
18561         (gst_value_list_prepend_value), (gst_value_list_append_value),
18562         (gst_value_list_get_size), (gst_value_list_get_value),
18563         (gst_value_transform_array_string), (gst_value_serialize_array),
18564         (gst_value_deserialize_array), (gst_value_intersect_array),
18565         (gst_value_is_fixed), (_gst_value_initialize):
18566         * gst/gstvalue.h:
18567           GstElement::new-pad -> pad-added, GstElement::state-change ->
18568           state-changed, GstValueFixedList -> GstValueArray, add format and
18569           flags as their own arguments in gst_element_seek() (should improve
18570           "bindeability"), remove function generators since they don't work
18571           under a whole bunch of compilers (they were deprecated already
18572           anyway).
18573
18574 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18575
18576         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
18577         (_gst_debug_register_funcptr):
18578         * gst/gstinfo.h:
18579           Fix illegal cast on some platforms (#309253).
18580
18581 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18582
18583         * gst/gstmessage.c: (gst_message_new_custom):
18584         * gst/gstmessage.h:
18585           Add _new_custom, make _new_application a macro to _new_custom.
18586
18587 2005-07-20  Wim Taymans  <wim@fluendo.com>
18588
18589         * gst/base/gstbasesrc.c: (gst_base_src_init),
18590         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
18591         * gst/base/gstbasesrc.h:
18592         Add a gboolean to decide when to push out a discont.
18593
18594         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
18595         (gst_queue_loop), (gst_queue_handle_src_query),
18596         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
18597         (gst_queue_set_property), (gst_queue_get_property):
18598         Some cleanups.
18599
18600         * tests/threadstate/threadstate1.c: (main):
18601         Make a thread test compile and run... very silly..
18602
18603
18604 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18605
18606         * docs/manual/appendix-porting.xml:
18607           Mention removal of libgstgconf-0.9.la and existence of gconf
18608           elements.
18609
18610 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18611
18612         * docs/pwg/advanced-clock.xml:
18613         * docs/pwg/appendix-porting.xml:
18614         * docs/pwg/intro-preface.xml:
18615         * docs/pwg/other-base.xml:
18616         * docs/pwg/other-manager.xml:
18617         * docs/pwg/other-nton.xml:
18618         * docs/pwg/other-ntoone.xml:
18619         * docs/pwg/other-oneton.xml:
18620         * docs/pwg/pwg.xml:
18621           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
18622           demuxer), remove n-to-n (was never written), fix some code examples
18623           and links and update the porting section to include all this.
18624
18625 2005-07-19  Wim Taymans  <wim@fluendo.com>
18626
18627         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
18628         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
18629         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
18630         (gst_queue_src_activate_push), (gst_queue_change_state),
18631         (gst_queue_get_property):
18632         * gst/gstqueue.h:
18633         Propagate GstFlowReturn more intelligently upstream and output
18634         an ERROR/EOS when streaming stopped due to fatal error.
18635
18636 2005-07-19  Wim Taymans  <wim@fluendo.com>
18637
18638         * tools/gst-launch.c: (check_intr), (event_loop), (main):
18639         Don't block forever for the state change to complete, the
18640         pipeline already did with a sensible timeout.
18641
18642 2005-07-19  Wim Taymans  <wim@fluendo.com>
18643
18644         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
18645         Make sure we never call the create function is we
18646         got deactivated.
18647
18648 2005-07-19  Andy Wingo  <wingo@pobox.com>
18649
18650         * gst/parse/parse.l: Attempt to solve bug #172815.
18651
18652 2005-07-19  Wim Taymans  <wim@fluendo.com>
18653
18654         * docs/design/part-clocks.txt:
18655         * docs/design/part-events.txt:
18656         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
18657         Small docs updates.
18658         Only update the seeking values when we are not
18659         busy streaming.
18660
18661 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
18662
18663         * gst/base/gstbasesrc.c: (gst_base_src_loop):
18664           Oops, ignore the result of gst_pad_push_event here.
18665
18666 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
18667
18668         * gst/base/gstbasesrc.c: (gst_base_src_loop),
18669         (gst_base_src_activate_push):
18670           Send discont event from the loop function, as pads
18671           aren't activated yet in the activate_push handler.
18672
18673         * gst/gstbin.c: (bin_bus_handler):
18674           Don't leak element name.
18675
18676 2005-07-18  Andy Wingo  <wingo@pobox.com>
18677
18678         * configure.ac: Use AS_LIBTOOL_TAGS.
18679
18680 2005-07-18  Wim Taymans  <wim@fluendo.com>
18681
18682         * docs/gst/gstreamer.types:
18683         Remove deleted types.
18684
18685 2005-07-18  Wim Taymans  <wim@fluendo.com>
18686
18687         * check/elements/gstfakesrc.c: (GST_START_TEST):
18688         * configure.ac:
18689         * gst/Makefile.am:
18690         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
18691         (init_popt_callback):
18692         * gst/gst.h:
18693         * gst/gst_private.h:
18694         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
18695         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
18696         * gst/gstbin.h:
18697         * gst/gstbus.h:
18698         * gst/gstconfig.h.in:
18699         * gst/gstelement.c: (gst_element_class_init),
18700         (gst_element_set_base_time), (gst_element_get_base_time),
18701         (iterator_fold_with_resync), (gst_element_change_state),
18702         (gst_element_dispose), (gst_element_get_bus):
18703         * gst/gstelement.h:
18704         * gst/gstelementfactory.h:
18705         * gst/gsterror.c: (_gst_core_errors_init):
18706         * gst/gsterror.h:
18707         * gst/gstevent.h:
18708         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
18709         * gst/gstindex.c:
18710         * gst/gstinfo.c: (_gst_debug_init):
18711         * gst/gstmessage.c: (_gst_message_copy):
18712         * gst/gstmessage.h:
18713         * gst/gstminiobject.h:
18714         * gst/gstobject.c:
18715         * gst/gstobject.h:
18716         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
18717         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
18718         * gst/gstpad.h:
18719         * gst/gstparse.h:
18720         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
18721         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
18722         (gst_pipeline_get_last_stream_time):
18723         * gst/gstpipeline.h:
18724         * gst/gstpluginfeature.h:
18725         * gst/gstquery.h:
18726         * gst/gstscheduler.c:
18727         * gst/gstscheduler.h:
18728         * gst/gststructure.h:
18729         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
18730         (gst_task_finalize), (gst_task_func), (gst_task_create),
18731         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
18732         (gst_task_stop), (gst_task_pause):
18733         * gst/gsttask.h:
18734         * gst/gsttypefind.h:
18735         * gst/gsttypes.h:
18736         * gst/registries/gstlibxmlregistry.c: (load_feature),
18737         (gst_xml_registry_load), (gst_xml_registry_save_feature):
18738         * gst/registries/gstxmlregistry.c:
18739         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
18740         * gst/schedulers/threadscheduler.c:
18741         * libs/gst/control/dparammanager.h:
18742         * tools/gst-inspect.c: (print_element_list),
18743         (print_plugin_features), (print_element_features):
18744         * tools/gst-xmlinspect.c: (print_element_list),
18745         (print_plugin_info), (main):
18746         Removed plugable schedulers.
18747         Removed Scheduler/Manager from elements.
18748         Removed gsttypes.h, rearranged includes.
18749         Removed dependency pad<->element, element<>pipeline, and
18750         various others,  fix includes.
18751         implement gst_pad_get_parent() with gst_object_get_parent()
18752         Make GstTask sefcontained.
18753         Fix _get_state() on GstBin, it did not return ASYNC with a 0
18754         timeout.
18755         Fix endless loop in iterator_fold_with_resync.
18756
18757
18758 2005-07-18  Wim Taymans  <wim@fluendo.com>
18759
18760         * gst/Makefile.am:
18761         * gst/gstarch.h:
18762         Remove old file.
18763
18764 2005-07-18  Wim Taymans  <wim@fluendo.com>
18765
18766         * gst/Makefile.am:
18767         No more cothreads.h
18768
18769 2005-07-18  Wim Taymans  <wim@fluendo.com>
18770
18771         * gst/cothreads.c:
18772         * gst/cothreads.h:
18773         Let's remove these.
18774
18775 2005-07-18  Wim Taymans  <wim@fluendo.com>
18776
18777         * docs/design/part-dynamic.txt:
18778         * docs/design/part-events.txt:
18779         * docs/design/part-seeking.txt:
18780         Some more docs in the works.
18781
18782         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
18783         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
18784         (gst_base_transform_setcaps), (gst_base_transform_get_size),
18785         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
18786         (gst_base_transform_handle_buffer),
18787         (gst_base_transform_sink_activate_push),
18788         (gst_base_transform_src_activate_pull),
18789         (gst_base_transform_set_passthrough),
18790         (gst_base_transform_is_passthrough):
18791         Refcounting fixes.
18792
18793         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
18794         Cleanups.
18795
18796         * gst/gstevent.c: (gst_event_finalize):
18797         Set SRC to NULL.
18798
18799         * gst/gstutils.c: (gst_element_unlink),
18800         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
18801         (gst_pad_proxy_setcaps):
18802         * gst/gstutils.h:
18803         Add _get_parent_element() to get a pads parent as an element.
18804
18805 2005-07-18  Wim Taymans  <wim@fluendo.com>
18806
18807         * check/gst/gstbin.c: (GST_START_TEST):
18808         Remove bogus test.
18809
18810 2005-07-18  Wim Taymans  <wim@fluendo.com>
18811
18812         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
18813         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
18814         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
18815         (gst_base_sink_event), (gst_base_sink_do_sync),
18816         (gst_base_sink_chain), (gst_base_sink_loop),
18817         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
18818         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
18819         Refcounting fixes.
18820         Fix logic for returning ASYNC when not prerolled.
18821
18822 2005-07-18  Wim Taymans  <wim@fluendo.com>
18823
18824         * gst/gstqueue.c: (gst_queue_handle_sink_event):
18825         Fix nasty refcount bug.
18826
18827 2005-07-16 Philippe Khalaf <burger@speedy.org>
18828
18829         * gst/elements/gstfdsrc.c:
18830         * gst/elements/gstfdsrc.h:
18831         * gst/elements/gstelements.c:
18832         * gst/elements/Makefile.am:
18833         Ported fdsrc to 0.9.
18834
18835 2005-07-16  Wim Taymans  <wim@fluendo.com>
18836
18837         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
18838         (gst_base_sink_do_sync):
18839         Fix compile error.
18840
18841 2005-07-16  Wim Taymans  <wim@fluendo.com>
18842
18843         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
18844         (gst_base_sink_event), (gst_base_sink_get_times),
18845         (gst_base_sink_do_sync), (gst_base_sink_change_state):
18846         * gst/base/gstbasesink.h:
18847         Store and use discont values when syncing buffers as described
18848         in design docs.
18849         
18850         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
18851         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
18852         (gst_base_src_activate_push):
18853         Push discont event when starting.
18854
18855         * gst/elements/gstidentity.c: (gst_identity_transform):
18856         Small cleanups.
18857
18858         * gst/gstbin.c: (gst_bin_change_state):
18859         Small cleanups in base_time  distribution.
18860
18861         * gst/gstelement.c: (gst_element_set_base_time),
18862         (gst_element_get_base_time), (gst_element_change_state):
18863         * gst/gstelement.h:
18864         Added methods for the base_time of the element.
18865         Some MT fixes.
18866
18867         * gst/gstpipeline.c: (gst_pipeline_send_event),
18868         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
18869         (gst_pipeline_get_last_stream_time):
18870         * gst/gstpipeline.h:
18871         MT fixes.
18872         Handle seeking as described in design doc, remove stream_time
18873         hack.
18874         Cleanups clock and stream_time selection code. Added accessors
18875         for the stream_time.
18876         
18877
18878 2005-07-16  Andy Wingo  <wingo@pobox.com>
18879
18880         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
18881         (#305291).
18882
18883 2005-07-16  Wim Taymans  <wim@fluendo.com>
18884
18885         * check/gst/gstbin.c: (GST_START_TEST):
18886         Make elements silent as the deep_notify refs the
18887         parent, which might make the test fail.
18888
18889         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
18890         Don't hold the lock for too long.
18891
18892 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
18893
18894         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
18895           Don't unref the caps we passed to gst_caps_make_writable() after
18896           passing them. gst_caps_make_writable() will do that for us.
18897
18898 2005-07-15  Andy Wingo  <wingo@pobox.com>
18899
18900         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
18901         (#157311).
18902
18903         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
18904         own marshalling function for the handoff signal. Properly type the
18905         buffer as a buffer. Fixes some warnings. Should do a more general
18906         solution.
18907         (gst_identity_class_init): Plug into the right marshaller.
18908
18909 2005-07-15  Wim Taymans  <wim@fluendo.com>
18910
18911         * docs/design/part-TODO.txt:
18912         * docs/design/part-clocks.txt:
18913         * docs/design/part-element-sink.txt:
18914         * docs/design/part-events.txt:
18915         * docs/design/part-gstpipeline.txt:
18916         Updated docs, mostly DISCONT related.
18917
18918 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
18919
18920         * docs/pwg/building-pads.xml:
18921           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
18922
18923 2005-07-15  Andy Wingo  <wingo@pobox.com>
18924
18925         * tools/gst-typefind.c: Update, add copyright block.
18926
18927         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
18928         Normalize and truncate caps before fixation.
18929
18930         * gst/gstcaps.h:
18931         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
18932         discards all but the first structure from its argument.
18933
18934 2005-07-15  Wim Taymans  <wim@fluendo.com>
18935
18936         * gst/base/gstbasetransform.c: (gst_base_transform_init),
18937         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
18938         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
18939         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
18940         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
18941         (gst_base_transform_chain), (gst_base_transform_change_state),
18942         (gst_base_transform_set_passthrough),
18943         (gst_base_transform_is_passthrough):
18944         * gst/base/gstbasetransform.h:
18945         Make passthrough work using the bufferpools.
18946         Changed API a bit, subclasses have to write into a buffer
18947         provided by the base class.
18948         More debug info in nego functions.
18949         
18950         * gst/elements/gstidentity.c: (gst_identity_init),
18951         (gst_identity_transform):
18952         Port to new base class.
18953
18954 2005-07-15  Wim Taymans  <wim@fluendo.com>
18955
18956         * gst/gstmessage.c: (gst_message_new_state_changed):
18957         * tools/gst-launch.c: (event_loop), (main):
18958         Totally dump messages in -launch with the -m option.
18959         Fix message name for State messages,
18960
18961 2005-07-14  Wim Taymans  <wim@fluendo.com>
18962
18963         * gst/base/gstbasesrc.c: (gst_base_src_loop):
18964         Post error messages on errors.
18965
18966 2005-07-14  Wim Taymans  <wim@fluendo.com>
18967
18968         * gst/gstcaps.c: (gst_caps_do_simplify):
18969         Remove debug info.
18970
18971         * gst/gsterror.h:
18972         Define error for stream stopped.
18973
18974         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
18975         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
18976         Do proper return values.
18977
18978         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
18979         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
18980         (gst_pad_get_range):
18981         Better return values.
18982
18983         * gst/gstpad.h:
18984         Reorganise return values, add macro to check for fatal errors.
18985
18986         * gst/gstqueue.c: (gst_queue_chain):
18987         Return proper GstFlowReturn values,
18988
18989 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
18990
18991         * docs/gst/gstreamer-sections.txt:
18992         * docs/gst/gstreamer.types:
18993         * docs/gst/tmpl/gst.sgml:
18994         * docs/gst/tmpl/gstbasesink.sgml:
18995         * docs/gst/tmpl/gstbasesrc.sgml:
18996         * docs/gst/tmpl/gstbasetransform.sgml:
18997         * docs/gst/tmpl/gstbin.sgml:
18998         * docs/gst/tmpl/gstbuffer.sgml:
18999         * docs/gst/tmpl/gstcaps.sgml:
19000         * docs/gst/tmpl/gstclock.sgml:
19001         * docs/gst/tmpl/gstcompat.sgml:
19002         * docs/gst/tmpl/gstconfig.sgml:
19003         * docs/gst/tmpl/gstelement.sgml:
19004         * docs/gst/tmpl/gstelementdetails.sgml:
19005         * docs/gst/tmpl/gstelementfactory.sgml:
19006         * docs/gst/tmpl/gstenumtypes.sgml:
19007         * docs/gst/tmpl/gsterror.sgml:
19008         * docs/gst/tmpl/gstevent.sgml:
19009         * docs/gst/tmpl/gstfakesink.sgml:
19010         * docs/gst/tmpl/gstfakesrc.sgml:
19011         * docs/gst/tmpl/gstfilesink.sgml:
19012         * docs/gst/tmpl/gstfilesrc.sgml:
19013         * docs/gst/tmpl/gstfilter.sgml:
19014         * docs/gst/tmpl/gstformat.sgml:
19015         * docs/gst/tmpl/gstghostpad.sgml:
19016         * docs/gst/tmpl/gstimplementsinterface.sgml:
19017         * docs/gst/tmpl/gstindex.sgml:
19018         * docs/gst/tmpl/gstindexfactory.sgml:
19019         * docs/gst/tmpl/gstinfo.sgml:
19020         * docs/gst/tmpl/gstiterator.sgml:
19021         * docs/gst/tmpl/gstmacros.sgml:
19022         * docs/gst/tmpl/gstmemchunk.sgml:
19023         * docs/gst/tmpl/gstminiobject.sgml:
19024         * docs/gst/tmpl/gstobject.sgml:
19025         * docs/gst/tmpl/gstpad.sgml:
19026         * docs/gst/tmpl/gstpadtemplate.sgml:
19027         * docs/gst/tmpl/gstparse.sgml:
19028         * docs/gst/tmpl/gstpipeline.sgml:
19029         * docs/gst/tmpl/gstplugin.sgml:
19030         * docs/gst/tmpl/gstpluginfeature.sgml:
19031         * docs/gst/tmpl/gstquery.sgml:
19032         * docs/gst/tmpl/gstqueue.sgml:
19033         * docs/gst/tmpl/gstregistry.sgml:
19034         * docs/gst/tmpl/gstregistrypool.sgml:
19035         * docs/gst/tmpl/gstscheduler.sgml:
19036         * docs/gst/tmpl/gstschedulerfactory.sgml:
19037         * docs/gst/tmpl/gststructure.sgml:
19038         * docs/gst/tmpl/gstsystemclock.sgml:
19039         * docs/gst/tmpl/gsttaglist.sgml:
19040         * docs/gst/tmpl/gsttagsetter.sgml:
19041         * docs/gst/tmpl/gsttrace.sgml:
19042         * docs/gst/tmpl/gsttrashstack.sgml:
19043         * docs/gst/tmpl/gsttypefind.sgml:
19044         * docs/gst/tmpl/gsttypefindfactory.sgml:
19045         * docs/gst/tmpl/gsttypes.sgml:
19046         * docs/gst/tmpl/gsturihandler.sgml:
19047         * docs/gst/tmpl/gsturitype.sgml:
19048         * docs/gst/tmpl/gstutils.sgml:
19049         * docs/gst/tmpl/gstvalue.sgml:
19050         * docs/gst/tmpl/gstversion.sgml:
19051         * docs/gst/tmpl/gstxml.sgml:
19052         * docs/libs/tmpl/gstcontrol.sgml:
19053         * docs/libs/tmpl/gstdataprotocol.sgml:
19054         * docs/libs/tmpl/gstdparam.sgml:
19055         * docs/libs/tmpl/gstdplinint.sgml:
19056         * docs/libs/tmpl/gstdpman.sgml:
19057         * docs/libs/tmpl/gstdpsmooth.sgml:
19058         * docs/libs/tmpl/gstgetbits.sgml:
19059         * docs/libs/tmpl/gstunitconvert.sgml:
19060         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
19061         (gst_push_src_base_init), (gst_push_src_class_init),
19062         (gst_push_src_init), (gst_push_src_create):
19063         * gst/base/gstpushsrc.h:
19064         * gst/elements/gstelements.c:
19065         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
19066         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
19067         (gst_fake_sink_init), (gst_fake_sink_set_property),
19068         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
19069         (gst_fake_sink_event), (gst_fake_sink_preroll),
19070         (gst_fake_sink_render), (gst_fake_sink_change_state):
19071         * gst/elements/gstfakesink.h:
19072         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
19073         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
19074         (gst_fake_src_base_init), (gst_fake_src_class_init),
19075         (gst_fake_src_init), (gst_fake_src_event_handler),
19076         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
19077         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
19078         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
19079         (gst_fake_src_create_buffer), (gst_fake_src_create),
19080         (gst_fake_src_start), (gst_fake_src_stop):
19081         * gst/elements/gstfakesrc.h:
19082         * gst/elements/gstfilesink.c: (_do_init),
19083         (gst_file_sink_base_init), (gst_file_sink_class_init),
19084         (gst_file_sink_init), (gst_file_sink_dispose),
19085         (gst_file_sink_set_location), (gst_file_sink_set_property),
19086         (gst_file_sink_get_property), (gst_file_sink_open_file),
19087         (gst_file_sink_close_file), (gst_file_sink_query),
19088         (gst_file_sink_event), (gst_file_sink_render),
19089         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
19090         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
19091         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
19092         * gst/elements/gstfilesink.h:
19093         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
19094         (gst_file_src_class_init), (gst_file_src_init),
19095         (gst_file_src_finalize), (gst_file_src_set_location),
19096         (gst_file_src_set_property), (gst_file_src_get_property),
19097         (gst_file_src_map_region), (gst_file_src_map_small_region),
19098         (gst_file_src_create_mmap), (gst_file_src_create_read),
19099         (gst_file_src_create), (gst_file_src_is_seekable),
19100         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
19101         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
19102         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
19103         (gst_file_src_uri_handler_init):
19104         * gst/elements/gstfilesrc.h:
19105           more autistic cleanliness in functions/names/defines
19106
19107 2005-07-13  Andy Wingo  <wingo@pobox.com>
19108
19109         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
19110         source couldn't negotiate.
19111
19112         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
19113         connections again.
19114
19115         * gst/gstutils.h:
19116         * gst/gstutils.c (gst_element_link_pads_filtered): New old
19117         function. I am channeling Hades. Put your boots on suckers!!!
19118
19119 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
19120
19121         * testsuite/caps/Makefile.am:
19122         * testsuite/caps/value_compare.c:
19123         * testsuite/caps/value_intersect.c:
19124         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
19125           move two testsuite apps over to the check dir
19126
19127 2005-07-12  Wim Taymans  <wim@fluendo.com>
19128
19129         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
19130         Added more debug info in the negotiate process.
19131
19132         * gst/gstmessage.h:
19133         Prepare for segment playback.
19134
19135         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
19136         Better debugging.
19137
19138         * gst/gstutils.c:
19139         Some more docs.
19140
19141         * tools/gst-launch.c: (main):
19142         NULL pipeline on errors.
19143
19144 2005-07-12  Andy Wingo  <wingo@pobox.com>
19145
19146         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
19147         not it comes from a malloc region. Make sure our copy gets freed.
19148
19149 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
19150
19151         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
19152         * check/gst/gstmessage.c: (GST_START_TEST):
19153         * check/gst/gststructure.c: (GST_START_TEST),
19154         (gst_structure_suite), (main):
19155           more testing
19156         * gst/gstelement.c: (gst_element_message_full):
19157           clean up GError and debug string now that they get copied
19158         * gst/gstmessage.c: (gst_message_new_error),
19159         (gst_message_new_warning), (gst_message_parse_error),
19160         (gst_message_parse_warning):
19161           use GST_TYPE_G_ERROR for structure_new, and take copies of
19162           arguments, so that we don't mess up refcounting
19163
19164 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
19165
19166         * check/Makefile.am:
19167           add per-test valgrind targets
19168         * check/gst-libs/gdp.c: (GST_START_TEST),
19169         (gst_data_protocol_suite), (main):
19170           clean up
19171
19172 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
19173
19174         * check/Makefile.am:
19175           instate more valgrindable tests
19176         * check/elements/gstfakesrc.c: (chain_func), (event_func),
19177         (GST_START_TEST), (fakesrc_suite):
19178         * check/gst/gstpad.c: (GST_START_TEST):
19179         * check/gst/gststructure.c: (GST_START_TEST):
19180           fix test leaks
19181         * docs/gst/tmpl/gstminiobject.sgml:
19182         * gst/gstpad.c: (gst_pad_finalize):
19183           fix the static mutex leak
19184
19185 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
19186
19187         * check/Makefile.am:
19188           add two more tests for valgrinding
19189         * check/gst/gstvalue.c: (GST_START_TEST):
19190           test refcount of deserialized buffer, found a leak
19191         * docs/gst/gstreamer-docs.sgml:
19192         * docs/gst/gstreamer-sections.txt:
19193         * docs/gst/gstreamer.types:
19194         * docs/gst/tmpl/gstminiobject.sgml:
19195           add miniobject to docs
19196         * gst/gstminiobject.c:
19197           add some docs
19198         * gst/gstvalue.c: (gst_value_deserialize_buffer),
19199         (gst_string_unwrap):
19200           fix a hard-to-find invalid write for one of the tests
19201           fix a leak for deserialized buffers
19202
19203 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19204
19205         * docs/pwg/advanced-events.xml:
19206         * docs/pwg/advanced-request.xml:
19207         * docs/pwg/advanced-scheduling.xml:
19208         * docs/pwg/appendix-porting.xml:
19209         * docs/pwg/building-boiler.xml:
19210         * docs/pwg/intro-preface.xml:
19211         * docs/pwg/other-ntoone.xml:
19212           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
19213           of example code and explanation for pad activation, loop() and
19214           getrange() functions and a bit more. Remove old comments pointing
19215           to loop-functions.
19216         * examples/pwg/Makefile.am:
19217           Add loop/getrange examples.
19218
19219 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
19220
19221         * configure.ac:
19222           check for valgrind binary + some fixes
19223         * check/gst.supp:
19224           valgrind suppressions for the tests
19225         * check/Makefile.am:
19226           add a valgrind: target that valgrinds the unit tests
19227         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
19228         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
19229         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
19230         * check/gst/gstghostpad.c:
19231           added some cleanup
19232         * check/gst/gstdata.c:
19233           removed
19234         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
19235         (thread_unref), (gst_mini_object_suite), (main):
19236           added
19237         * gst/gst.c: (gst_deinit):
19238         * gst/gst.h:
19239           add a method to clean up.
19240         * gst/gstsystemclock.c: (gst_system_clock_dispose),
19241         (gst_system_clock_obtain):
19242           allow for disposing the system clock.
19243         * tools/gst-launch.c: (main):
19244           deinit
19245
19246 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
19247
19248         * docs/gst/tmpl/gstbasesrc.sgml:
19249         * docs/gst/tmpl/gstfakesrc.sgml:
19250         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
19251         (gst_base_src_init), (gst_base_src_set_property),
19252         (gst_base_src_get_property), (gst_base_src_get_range),
19253         (gst_base_src_start):
19254         * gst/base/gstbasesrc.h:
19255           add num-buffers property
19256         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
19257         (gst_fakesrc_init), (gst_fakesrc_set_property),
19258         (gst_fakesrc_get_property), (gst_fakesrc_create),
19259         (gst_fakesrc_start):
19260           remove num-buffers property
19261
19262 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
19263
19264         * docs/gst/gstreamer-sections.txt:
19265         * docs/gst/tmpl/gstbasesink.sgml:
19266         * docs/gst/tmpl/gstbasesrc.sgml:
19267         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
19268         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
19269         (gst_base_sink_finalize), (gst_base_sink_set_clock),
19270         (gst_base_sink_set_property), (gst_base_sink_get_property),
19271         (gst_base_sink_handle_object), (gst_base_sink_event),
19272         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
19273         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
19274         (gst_base_sink_loop), (gst_base_sink_deactivate),
19275         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
19276         (gst_base_sink_change_state):
19277         * gst/base/gstbasesink.h:
19278         * gst/base/gstbasesrc.h:
19279         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
19280         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
19281         (gst_filesink_init):
19282           more macro splitting
19283
19284 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
19285
19286         * gst/gstelement.c: (gst_element_get_bus):
19287           add debug
19288         * tools/gst-launch.c: (check_intr), (event_loop):
19289           fix bus leaks
19290
19291 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
19292
19293         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
19294           fix a caps leak
19295
19296 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
19297
19298         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
19299         (gst_base_src_finalize):
19300           add finalize method and clean up properly
19301         * gst/gstpipeline.c: (gst_pipeline_dispose):
19302           add debug
19303
19304 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
19305
19306         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
19307         (gst_bin_suite):
19308           add more things to check
19309         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
19310         * gst/gstelement.c:
19311           more debug
19312
19313 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
19314
19315         * check/elements/gstfakesrc.c: (chain_func), (event_func),
19316         (GST_START_TEST), (fakesrc_suite):
19317         * check/gst-libs/gdp.c: (GST_START_TEST):
19318         * check/gst/gst.c: (GST_START_TEST):
19319         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
19320         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
19321         * check/gst/gstbus.c: (GST_START_TEST):
19322         * check/gst/gstcaps.c: (GST_START_TEST):
19323         * check/gst/gstdata.c: (GST_START_TEST):
19324         * check/gst/gstelement.c: (GST_START_TEST):
19325         * check/gst/gstghostpad.c: (GST_START_TEST):
19326         * check/gst/gstiterator.c: (GST_START_TEST):
19327         * check/gst/gstmessage.c: (GST_START_TEST):
19328         * check/gst/gstobject.c: (GST_START_TEST):
19329         * check/gst/gstpad.c: (GST_START_TEST):
19330         * check/gst/gststructure.c: (GST_START_TEST):
19331         * check/gst/gstsystemclock.c: (GST_START_TEST),
19332         (gst_systemclock_suite):
19333         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
19334         * check/gst/gstvalue.c: (GST_START_TEST):
19335         * check/pipelines/cleanup.c: (GST_START_TEST):
19336         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
19337         * check/states/sinks.c: (GST_START_TEST):
19338         * check/gstcheck.c: (gst_check_init):
19339         * check/gstcheck.h:
19340           add debugging category
19341           use GST_START_TEST now, so we add a debug line
19342
19343 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
19344
19345         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
19346           add test for state change message on a bin
19347         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
19348           add another test
19349         * gst/gstbin.c: (gst_bin_init):
19350         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
19351         * gst/gstelement.c: (gst_element_post_message),
19352         (gst_element_set_state):
19353         * gst/gstelementfactory.c: (gst_element_factory_create):
19354         * gst/gstmessage.c: (gst_message_new):
19355         * gst/gstscheduler.c:
19356           various debugging additions and cleanups
19357
19358 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
19359
19360         * check/Makefile.am:
19361         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
19362         (main):
19363           adding tests for elements
19364         * gst/gstelement.c: (gst_element_dispose):
19365
19366 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
19367
19368         * gst/registries/gstlibxmlregistry.c: (load_feature):
19369           plug more leaks.  A simple gst_init() now is leakfree, yay.
19370
19371 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
19372
19373         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
19374         (gst_xml_registry_load):
19375           plug another memleak
19376
19377 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
19378
19379         * configure.ac:
19380           use GST_SET_ERROR_CFLAGS
19381         * docs/faq/cvs.xml:
19382           change to ERROR_CFLAGS
19383
19384 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
19385
19386         * configure.ac:
19387           make GST_ERROR_CFLAGS overridable and re-enable Werror
19388         * docs/faq/cvs.xml:
19389           add a note about error CFLAGS
19390         * docs/gst/tmpl/gstfakesrc.sgml:
19391         * gst/elements/gstfakesrc.c:
19392           comment out some unused code
19393         * gst/gst.c: (split_and_iterate):
19394         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
19395         (load_feature):
19396           plug some memleaks
19397
19398 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
19399
19400         * common/Makefile.am:
19401         * common/gtk-doc.mak:
19402         * docs/gst/Makefile.am:
19403           factor out gtk-doc.mak
19404
19405 2005-07-07  Wim Taymans  <wim@fluendo.com>
19406
19407         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
19408         (gst_thread_scheduler_dispose):
19409         Unlock the STREAM_LOCK completely.
19410
19411 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
19412
19413         * check/Makefile.am:
19414         * check/elements/.cvsignore:
19415         * check/elements/gstfakesrc.c: (chain_func), (event_func),
19416         (START_TEST), (fakesrc_suite), (main):
19417         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
19418         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
19419         (gst_fakesrc_create), (gst_fakesrc_start):
19420         * gst/elements/gstfakesrc.h:
19421           adding a first element test
19422
19423 2005-07-07  Andy Wingo  <wingo@pobox.com>
19424
19425         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
19426         debug message.
19427
19428 2005-07-07  Wim Taymans  <wim@fluendo.com>
19429
19430         * gst/gstquery.c:
19431         * gst/gstquery.h:
19432         Remove old types
19433
19434 2005-07-07  Wim Taymans  <wim@fluendo.com>
19435
19436         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
19437         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
19438         Allow subclasses to implement their own negotiation.
19439
19440 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
19441
19442         * docs/design/part-gstbin.txt:
19443         * docs/design/part-gstpipeline.txt:
19444           Update design notes to reflect the movement of
19445           responsibility for bus handling from GstPipeline to
19446           GstBin
19447
19448 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
19449
19450         * configure.ac:
19451           Remove unnecessary queue2/3/4 examples.
19452
19453 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
19454
19455         * examples/Makefile.am:
19456         * examples/helloworld/helloworld.c: (event_loop), (main):
19457         * examples/queue/queue.c: (event_loop), (main):
19458         * examples/queue2/queue2.c: (main):
19459           Update a couple of the examples to work again.
19460
19461         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
19462         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
19463          Spelling corrections and extra debug.
19464         
19465         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
19466         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
19467         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
19468         * gst/gstbin.h:
19469         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
19470         (gst_pipeline_change_state):
19471         * gst/gstpipeline.h:
19472           Move the bus handler for children to the GstBin, and create a
19473           separate bus for receiving messages from children to the one the
19474           bus sends 'upwards' on.
19475
19476 2005-07-06  Wim Taymans  <wim@fluendo.com>
19477
19478         * gst/base/README:
19479         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
19480         (gst_base_sink_handle_object), (gst_base_sink_loop),
19481         (gst_base_sink_change_state):
19482         * gst/base/gstbasesink.h:
19483         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
19484         (gst_base_src_init), (gst_base_src_setcaps),
19485         (gst_base_src_getcaps), (gst_base_src_loop),
19486         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
19487         (gst_base_src_start), (gst_base_src_change_state):
19488         * gst/base/gstbasesrc.h:
19489         Make basesrc negotiate.
19490         Handle the case where preroll fails in basesink.
19491         Update README.
19492
19493 2005-07-06  Wim Taymans  <wim@fluendo.com>
19494
19495         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
19496         Implement the fixate function.
19497         Clean up acceptcaps.
19498
19499 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19500
19501         * docs/pwg/building-filterfactory.xml:
19502         * docs/pwg/pwg.xml:
19503           Remove never-written filter-factory chapter; I'll add the various
19504           base classes to part 4 ("other element types") later on.
19505
19506 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19507
19508         * docs/pwg/advanced-negotiation.xml:
19509         * docs/pwg/building-boiler.xml:
19510         * docs/pwg/building-pads.xml:
19511         * docs/pwg/pwg.xml:
19512         * examples/pwg/Makefile.am:
19513           Add a chapter on caps negotiation, simplify the original code
19514           samples a bit w.r.t. caps negotiation, add link to the advanced
19515           section. Add a bunch of examples showing different use cases of
19516           different types of caps negotiation. Upstream renegotiation isn't
19517           fully documented yet since nobody knows how that works.
19518
19519 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
19520
19521         * check/gst/gstpad.c:
19522         * check/gstcheck.c:
19523         * gst/gstpad.c: (gst_pad_get_internal_links_default):
19524           if pad has no parent, return NULL as list of internal links
19525
19526 2005-07-05  Andy Wingo  <wingo@pobox.com>
19527
19528         * gst/elements/gstfilesrc.c:
19529         * gst/elements/gstfakesrc.c: 
19530         * gst/base/gstpushsrc.c:
19531         * gst/base/gstbasesrc.h: 
19532         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
19533         
19534 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
19535
19536         * Makefile.am:
19537           better report generation target (lcov needs a patch)
19538
19539 2005-07-05  Andy Wingo  <wingo@pobox.com>
19540
19541         * gst/elements, testsuite: Null if we got it...
19542
19543 2005-07-05  Wim Taymans  <wim@fluendo.com>
19544
19545         * configure.ac:
19546         * libs/gst/dataprotocol/Makefile.am:
19547         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
19548         * libs/gst/dataprotocol/dataprotocol.h:
19549         * pkgconfig/Makefile.am:
19550         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
19551         * pkgconfig/gstreamer-dataprotocol.pc.in:
19552         Ported dataprotol to 0.9. 
19553         Added pkgconfig files.
19554
19555 2005-07-05  Andy Wingo  <wingo@pobox.com>
19556
19557         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
19558         Default to returning TRUE for the case when tranform_caps returns
19559         a fixed caps, like for identity or volume.
19560
19561         * check/gst/gstbus.c (pound_bus_with_messages): 
19562         * check/gst/gstmessage.c (START_TEST): 
19563         * check/pipelines/simple_launch_lines.c (got_handoff): Application
19564         message API change.
19565
19566         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
19567         logic weaks here: always run transform_caps, trying passthrough
19568         operation only if the original caps intersects with the transform.
19569
19570         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
19571         source and sink caps.
19572
19573         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
19574         Intersect the peer caps with the pad template before going into
19575         transform_caps.
19576         (gst_base_transform_transform_caps): More debugging.
19577
19578         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
19579         src argument.
19580
19581 2005-07-04  Edward Hervey  <edward@fluendo.com>
19582
19583         * gst/gstutils.c:
19584         * gst/gstutils.h:
19585         (gst_pad_add_*_probe): now returns the signal id for better wrapping
19586         in bindings.
19587
19588 2005-07-04  Andy Wingo  <wingo@pobox.com>
19589
19590         * check/gst/gstpad.c: Only set explicit caps on pads.
19591
19592 2005-07-01  Andy Wingo  <wingo@pobox.com>
19593
19594         * tests/network-clock.scm: Commentary update.
19595
19596         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
19597         Didn't really make sense, not implementable with basetransform,
19598         etc.
19599         (gst_identity_transform): Unref inbuf via make_writable. Feeble
19600         attempt at implementing the sync property, needs an unlock method.
19601
19602         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
19603         New func, by default returns the same caps (the identity
19604         transformation).
19605         (gst_base_transform_getcaps): Uses transform_caps to return
19606         something sensible.
19607         (gst_base_transform_setcaps): Complicated logic to get caps on
19608         both pads, even if they are different, and to call set_caps once
19609         for every time both pads get their caps set.
19610         (gst_base_transform_handle_buffer): Give the ref to the transform
19611         function. Allows in-place modification of the buffer.
19612
19613         * gst/base/gstbasetransform.h (transform_caps): New class method.
19614         Given caps on one side, what can I do on the other.
19615         (set_caps): Take two caps, one for each side of the element.
19616
19617         * gst/gstpad.h:
19618         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
19619         caps in place. This is safe because we can check the mutability of
19620         the caps, and a good idea because fixate functions are just called
19621         as a matter of last resort. (Not actually implemented.)
19622         (gst_pad_set_caps): If the caps we're setting is actually the same
19623         as the existing pad caps, just update the pointer without calling
19624         setcaps. Assert that caps is either NULL or fixed, as per the
19625         docs.
19626
19627         * gst/gstghostpad.c: Update for fixate changes.
19628
19629 2005-07-02  Andy Wingo  <wingo@pobox.com>
19630
19631         * gst/gstcaps.c:
19632         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
19633         two refcounts makes it immutable, which is enough. Doc more.
19634
19635 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
19636
19637         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
19638           Put the mini_object into GValue as a mini_object,
19639           not a gpointer, since that's how we declared
19640           the signal.
19641
19642 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19643
19644         * examples/pwg/Makefile.am:
19645           Fix buildbot again.
19646
19647 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19648
19649         * docs/pwg/building-testapp.xml:
19650           Add extra check.
19651         * examples/pwg/Makefile.am:
19652           Fix buildbot.
19653
19654 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19655
19656         * configure.ac:
19657         * examples/Makefile.am:
19658         * examples/pwg/Makefile.am:
19659         * examples/pwg/extract.pl:
19660           Enable building the PWG examples.
19661         * docs/pwg/advanced-interfaces.xml:
19662           Add URI interface stub.
19663         * docs/pwg/advanced-types.xml:
19664         * docs/pwg/other-autoplugger.xml:
19665         * docs/pwg/appendix-porting.xml:
19666         * docs/pwg/pwg.xml:
19667           Add porting guide (mostly stubs), remove autoplugging (see ADM).
19668         * docs/pwg/building-boiler.xml:
19669         * docs/pwg/building-chainfn.xml:
19670         * docs/pwg/building-pads.xml:
19671         * docs/pwg/building-props.xml:
19672         * docs/pwg/building-state.xml:
19673         * docs/pwg/building-testapp.xml:
19674           Update the building-*.xml parts for 0.9 changes. All examples
19675           code blocks compile in examples/pwg/*.
19676
19677 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19678
19679         * docs/manual/advanced-autoplugging.xml:
19680         * docs/manual/appendix-checklist.xml:
19681         * docs/manual/appendix-integration.xml:
19682         * docs/manual/highlevel-components.xml:
19683           Fix playbin/decodebin examples, update docs a bit, mention bus
19684           instead of signals in various places, mention kmplayer and
19685           kaffeine since they have a working GStreamer backend in the KDE
19686           section.
19687
19688 2005-06-30  Wim Taymans  <wim@fluendo.com>
19689
19690         * CHANGES-0.9:
19691         * docs/design/draft-ghostpads.txt:
19692         * docs/design/draft-push-pull.txt:
19693         * docs/design/draft-query.txt:
19694         * docs/design/part-TODO.txt:
19695         * docs/design/part-query.txt:
19696         Added CHANGES-0.9 doc, updated status of other docs.
19697         
19698         * gst/gstquery.h:
19699         Remove "hmm" macro
19700
19701 2005-06-30  Wim Taymans  <wim@fluendo.com>
19702
19703         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
19704         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
19705         (gst_base_sink_change_state):
19706         * gst/base/gstbasesink.h:
19707         Some tweaks, only EOS and a buffer complete a preroll.
19708
19709 2005-06-30  Andy Wingo  <wingo@pobox.com>
19710
19711         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
19712         activate_push down to the internal pad as well.
19713
19714 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
19715
19716         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19717
19718         * gst/gsttaginterface.c:
19719           Some documentation fixes (#307394 and #307397).
19720
19721 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
19722
19723         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19724
19725         * gst/gstvalue.c: (gst_value_intersect_list):
19726           Fix memleak (#309125).
19727
19728 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19729
19730         * docs/manual/advanced-dataaccess.xml:
19731           Fix fakesrc example to compile; doesn't work, bug somewhere...?
19732         * docs/manual/basics-pads.xml:
19733           Add reference for filtered caps to above chapter.
19734
19735 2005-06-30  Wim Taymans  <wim@fluendo.com>
19736
19737         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
19738         (gst_bin_change_state):
19739         Probes are gone.
19740         Lame attempt at making the state change function a bit
19741         more readable.
19742
19743 2005-06-30  Wim Taymans  <wim@fluendo.com>
19744
19745         * docs/design/part-clocks.txt:
19746         * docs/design/part-element-sink.txt:
19747         * docs/design/part-events.txt:
19748         * docs/design/part-preroll.txt:
19749         * docs/design/part-states.txt:
19750         Some more tweeks and additions to the docs.
19751
19752 2005-06-30  Wim Taymans  <wim@fluendo.com>
19753
19754         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
19755         (default_have_data), (gst_pad_class_init), (gst_pad_init),
19756         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
19757         (gst_pad_check_pull_range), (gst_pad_get_range),
19758         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
19759         * gst/gstpad.h:
19760         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
19761         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
19762         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
19763         (gst_pad_remove_buffer_probe):
19764         Removed atomic operations, use existing LOCK.
19765         Move exception handling out of main code path.
19766
19767 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19768
19769         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
19770         (silly_return_true_function), (gst_pad_class_init),
19771         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
19772         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
19773         (gst_pad_send_event):
19774           Fix accumulator, add default value by using _emitv() instead
19775           of _emit() for signal emission.
19776
19777 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19778
19779         * docs/manual/advanced-dataaccess.xml:
19780         * examples/manual/Makefile.am:
19781           Add probe example.
19782         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
19783           Make work (??).
19784
19785 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
19786
19787         * gst/elements/gstfilesink.c: (gst_filesink_render):
19788           Simplify code so that we don't have to handle short
19789           writes and return GST_FLOW_ERROR if an error occured.
19790
19791 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19792
19793         * docs/gst/gstreamer-docs.sgml:
19794           Remove probes more.
19795
19796 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19797
19798         * docs/gst/gstreamer-sections.txt:
19799         * docs/gst/tmpl/gstpad.sgml:
19800         * docs/gst/tmpl/gstprobe.sgml:
19801         * gst/Makefile.am:
19802         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
19803         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
19804         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
19805         (gst_pad_push_event), (gst_pad_send_event):
19806         * gst/gstpad.h:
19807         * gst/gstutils.c: (gst_pad_add_data_probe),
19808         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
19809         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
19810         (gst_pad_remove_buffer_probe):
19811         * gst/gstutils.h:
19812           Remove old probes, add new g-signal-based probes and some utility
19813           functions.
19814
19815 2005-06-29  Edward Hervey  <edward@fluendo.com>
19816
19817         * gst/gstelementfactory.c:
19818         * gst/gstutils.h:
19819         * gst/gstutils.c:
19820         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
19821         the definition to the header file.
19822
19823 2005-06-29  Andy Wingo  <wingo@pobox.com>
19824
19825         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
19826         plugins from the source directory.
19827
19828 2005-06-29  Wim Taymans  <wim@fluendo.com>
19829
19830         * docs/gst/tmpl/gstbuffer.sgml:
19831         * docs/gst/tmpl/gstclock.sgml:
19832         Some fixings for blantently wrong text.
19833
19834 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
19835
19836         * check/Makefile.am:
19837         * gst/gst.c: (add_path_func), (init_pre):
19838         * gst/gstregistry.c: (gst_registry_add_path):
19839           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
19840           only scan the GST_PLUGIN_PATH locations, and not add
19841           system locations
19842
19843 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
19844
19845         * docs/gst/gstreamer-sections.txt:
19846         * docs/gst/tmpl/gstbasesrc.sgml:
19847         * gst/gstelement.c:
19848         * gst/gstelement.h:
19849         * gst/gstevent.c:
19850         * gst/gstutils.c:
19851           doc fixes
19852
19853 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19854
19855         * docs/manual/advanced-autoplugging.xml:
19856           Fix autoplugging example.
19857
19858 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19859
19860         * docs/manual/advanced-autoplugging.xml:
19861         * docs/manual/mime-world.fig:
19862           Try to get autoplugging working, fix type detection. Fix text
19863           in hello-world image.
19864
19865 2005-06-29  Wim Taymans  <wim@fluendo.com>
19866
19867         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
19868         (gst_base_sink_change_state):
19869         Small debug line.
19870
19871         * gst/gstclock.h:
19872         map SIGNAL and BROADCAST to the right function.
19873
19874         * gst/gstobject.h:
19875         Remove redundant braces.
19876
19877         * gst/gstpad.c: (gst_pad_set_caps):
19878         Don't call setcaps function when reseting caps to NULL.
19879
19880         * gst/gstsystemclock.c: (gst_system_clock_dispose),
19881         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
19882         (gst_system_clock_id_unschedule):
19883         Use BROADCAST as this is what we do.
19884
19885 2005-06-29  Wim Taymans  <wim@fluendo.com>
19886
19887         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
19888         We are actually prerolling before commiting the state
19889         change. 
19890
19891 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19892
19893         * docs/manual/advanced-clocks.xml:
19894         * docs/manual/advanced-interfaces.xml:
19895         * docs/manual/advanced-metadata.xml:
19896         * docs/manual/advanced-position.xml:
19897         * docs/manual/advanced-schedulers.xml:
19898         * docs/manual/advanced-threads.xml:
19899         * docs/manual/appendix-porting.xml:
19900         * docs/manual/basics-bins.xml:
19901         * docs/manual/basics-bus.xml:
19902         * docs/manual/basics-elements.xml:
19903         * docs/manual/basics-helloworld.xml:
19904         * docs/manual/basics-pads.xml:
19905         * docs/manual/highlevel-components.xml:
19906         * docs/manual/manual.xml:
19907         * docs/manual/thread.fig:
19908           Update (until threads/scheduling) Application Development Manual;
19909           remove GstThread, add GstBus, add simple porting checklist, add
19910           documentation for tag writing, clocks, make all examples until this
19911           part compile and run.
19912         * examples/manual/Makefile.am:
19913           Update from changes to Application Development Manual; add bus
19914           example, remove thread example.
19915
19916 2005-06-28  Wim Taymans  <wim@fluendo.com>
19917
19918         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
19919         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
19920         (gst_bus_source_dispatch):
19921         Add debugging messages.
19922         Make internal methods static.
19923         Handle the case where the bus is flushed in the handler.
19924         
19925         * gst/gstelement.c: (gst_element_get_bus):
19926         Fix refcount in _get_bus();
19927
19928         * gst/gstpipeline.c: (gst_pipeline_change_state),
19929         (gst_pipeline_get_clock_func):
19930         Clock refcounting fixes.
19931         Handle the case where preroll timed out more gracefully.
19932         
19933         * gst/gstsystemclock.c: (gst_system_clock_dispose):
19934         Clean up the internal thread in dispose. This is needed
19935         for subclasses that actually get disposed.
19936         
19937         * gst/schedulers/threadscheduler.c:
19938         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
19939         (gst_thread_scheduler_dispose):
19940         Free thread pool in dispose.
19941
19942 2005-06-28  Andy Wingo  <wingo@pobox.com>
19943
19944         * tests/network-clock-utils.scm (debug, print-event): New utils.
19945
19946         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
19947         (*packet-loss*): Unified loss probability.
19948         (network-time): Report out-of-band events.
19949
19950         * tests/plot-data: Add support for out-of-band events. Hack it
19951         into this script instead of passing it down the pipe; should fix
19952         this later.
19953
19954 2005-06-28  Wim Taymans  <wim@fluendo.com>
19955
19956         * docs/gst/gstreamer.types:
19957         * docs/gst/tmpl/gstbasesrc.sgml:
19958         * docs/gst/tmpl/gstpad.sgml:
19959         Docs fixes.
19960
19961 2005-06-28  Wim Taymans  <wim@fluendo.com>
19962
19963         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
19964         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
19965         (gst_proxy_pad_do_fixatecaps):
19966         Correctly proxy the check_pull_range function.
19967
19968 2005-06-28  Andy Wingo  <wingo@pobox.com>
19969
19970         * tests/network-clock.scm: Removed need for slib.
19971         
19972 2005-06-28  Wim Taymans  <wim@fluendo.com>
19973
19974         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
19975         (gst_basesink_preroll_queue_flush):
19976         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
19977         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
19978         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
19979         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
19980         (gst_proxy_pad_set_property):
19981         * gst/gstpad.c:
19982         * gst/gstpad.h:
19983         * gst/gstqueue.c: (gst_queue_init):
19984         The deprecated pad loop function is removed now.
19985
19986 2005-06-28  Andy Wingo  <wingo@pobox.com>
19987
19988         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
19989         New parameters, simulate network packet loss.
19990
19991         * tests/network-clock-utils.scm: Initialize the RNG.
19992
19993 2005-06-28  Wim Taymans  <wim@fluendo.com>
19994
19995         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
19996         (gst_basesink_event), (gst_basesink_deactivate):
19997         Flushing the preroll queue always needs to unlock the waiters.
19998
19999 2005-06-28  Edward Hervey  <edward@fluendo.com>
20000
20001         * gst/gstpipeline.c: (gst_pipeline_send_event): 
20002         Wheen a seek was successful on a pipeline, set the stream_time to the
20003         seek offset in order to have a synchronized stream_time.
20004
20005 2005-06-28  Wim Taymans  <wim@fluendo.com>
20006
20007         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
20008         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
20009         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
20010         (gst_proxy_pad_do_fixatecaps):
20011         Call wrapper function instead of just calling the function
20012         pointers. This takes care of any locking and whatmore.
20013
20014 2005-06-28  Wim Taymans  <wim@fluendo.com>
20015
20016         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
20017         (gst_pad_pull_range):
20018         * gst/gstpad.h:
20019         CONNECTED -> LINKED.
20020
20021 2005-06-28  Andy Wingo  <wingo@pobox.com>
20022
20023         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
20024         source-munging commit!!!
20025
20026         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
20027         (gst_object_sink): Take gpointer arguments, not GstObject --
20028         avoids casts. Like GLib.
20029
20030         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
20031         activate.
20032
20033 2005-06-27  Andy Wingo  <wingo@pobox.com>
20034
20035         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
20036         remaining buffer.
20037
20038         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
20039         returns a sorted copy of the trace list.
20040         (gst_alloc_trace_print_live): New API, only prints traces with
20041         live objects. Sort the list.
20042         (gst_alloc_trace_print_all): Sort the list.
20043         (gst_alloc_trace_print): Align columns.
20044
20045         * gst/elements/gstttypefindelement.c:
20046         * gst/elements/gsttee.c:
20047         * gst/base/gstbasesrc.c:
20048         * gst/base/gstbasesink.c:
20049         * gst/base/gstbasetransform.c:
20050         * gst/gstqueue.c: Adapt for pad activation changes.
20051
20052         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
20053         sched.
20054         (gst_pipeline_dispose): Drop ref on sched.
20055
20056         * gst/gstpad.c (gst_pad_init): Set the default activate func.
20057         (gst_pad_activate_default): Push mode by default.
20058         (pre_activate_switch, post_activate_switch): New stubs, things to
20059         do before and after switching activation modes on pads.
20060         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
20061         the pad's activate function to choose which mode to activate.
20062         Shortcut on deactivation and call the right function directly.
20063         (gst_pad_activate_pull): New API, (de)activates a pad in pull
20064         mode.
20065         (gst_pad_activate_push): New API, same for push mode.
20066         (gst_pad_set_activate_function) 
20067         (gst_pad_set_activatepull_function) 
20068         (gst_pad_set_activatepush_function): Setters for new API.
20069
20070         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
20071         Trace all miniobjects.
20072         (gst_mini_object_make_writable): Unref the arg if we copy, like
20073         gst_caps_make_writable.
20074
20075         * gst/gstmessage.c (_gst_message_initialize): No trace init.
20076
20077         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
20078         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
20079         Adapt for new pad API.
20080
20081         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
20082
20083         * gst/gstelement.h:
20084         * gst/gstelement.c (gst_element_iterate_src_pads) 
20085         (gst_element_iterate_sink_pads): New API functions.
20086         
20087         * gst/gstelement.c (iterator_fold_with_resync): New utility,
20088         should fold into gstiterator.c in some form.
20089         (gst_element_pads_activate): Simplified via use of fold and
20090         delegation of decisions to gstpad->activate.
20091
20092         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
20093         help in debugging.
20094
20095         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
20096         class once in init, like gstmessage. Didn't run into this issue
20097         but it seems correct. Don't initialize a trace, gstminiobject does
20098         that.
20099
20100         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
20101         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
20102         to the bus.
20103         (assert_live_count): New util function, uses alloc traces to check
20104         cleanup.
20105
20106         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
20107         To be modified when unlink drops the internal pad.
20108
20109 2005-06-27  Wim Taymans  <wim@fluendo.com>
20110
20111         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
20112         (gst_bin_change_state):
20113         Cleanup the get_state() function a little, make sure it
20114         iterates the same set of elements.
20115         Added stub iterate_state_order().
20116
20117 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
20118
20119         * docs/gst/gstreamer-docs.sgml:
20120         * docs/gst/gstreamer-sections.txt:
20121         * docs/gst/gstreamer.types:
20122         * docs/gst/tmpl/gstbasesink.sgml:
20123         * docs/gst/tmpl/gstbasesrc.sgml:
20124         * docs/gst/tmpl/gstbasetransform.sgml:
20125         * docs/gst/tmpl/gstelement.sgml:
20126         * docs/gst/tmpl/gstiterator.sgml:
20127         * gst/base/gstbasesrc.c:
20128         * gst/base/gstbasesrc.h:
20129         * gst/base/gstbasetransform.h:
20130         * gst/gstelement.c:
20131         * gst/gstiterator.h:
20132           adding basetransform and iterator docs
20133
20134 2005-06-27  Andy Wingo  <wingo@pobox.com>
20135
20136         * docs/design/part-activation.txt: Notes on how activation should
20137         work -- not quite implemented yet.
20138
20139 2005-06-25  Wim Taymans  <wim@fluendo.com>
20140
20141         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
20142         At least get the chain function correct, needs more
20143         fixing.
20144
20145 2005-06-25  Wim Taymans  <wim@fluendo.com>
20146
20147         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
20148         (gst_basesink_handle_object), (gst_basesink_event),
20149         (gst_basesink_do_sync), (gst_basesink_handle_event),
20150         (gst_basesink_change_state):
20151         * gst/gsttask.h:
20152         Right, two problems here: ghostpads don't take locks and
20153         glib _rec_mutex_lock_full() with depth==0 still locks.
20154         Catch illegal locking and g_warn them.
20155
20156 2005-06-25  Wim Taymans  <wim@fluendo.com>
20157
20158         * check/states/sinks.c: (START_TEST), (gst_object_suite):
20159         Have to check for completion now...
20160
20161 2005-06-25  Wim Taymans  <wim@fluendo.com>
20162
20163         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
20164         (gst_basesink_handle_object), (gst_basesink_event),
20165         (gst_basesink_do_sync), (gst_basesink_handle_event),
20166         (gst_basesink_change_state):
20167         * gst/gstpad.h:
20168         Unlock STREAM_LOCK whatever the recursion was.
20169
20170 2005-06-25  Wim Taymans  <wim@fluendo.com>
20171
20172         * gst/base/gstbasesink.c: (gst_basesink_set_property),
20173         (gst_basesink_preroll_queue_empty),
20174         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
20175         (gst_basesink_event), (gst_basesink_do_sync),
20176         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
20177         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
20178         (gst_basesink_change_state):
20179         Reworked the base sink, handle event and buffer serialisation
20180         correctly and removed possible deadlock.
20181         Handle EOS correctly.
20182
20183 2005-06-25  Wim Taymans  <wim@fluendo.com>
20184
20185         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
20186         (gst_pipeline_change_state):
20187         * tools/gst-launch.c: (check_intr), (event_loop), (main):
20188         Allow elements to post EOS in the state change function.
20189         Fix up -launch, make it exit the poll loop when the
20190         pipeline actually changed state.
20191         Fix up warning parsing in -launch.
20192
20193 2005-06-25  Wim Taymans  <wim@fluendo.com>
20194
20195         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
20196         (gst_tee_sink_activate):
20197         Core takes STREAM_LOCK for us now.
20198
20199 2005-06-25  Wim Taymans  <wim@fluendo.com>
20200
20201         * gst/gstelement.c: (gst_element_get_state_func),
20202         (gst_element_set_state):
20203         * gst/gstelement.h:
20204         * gst/gstmessage.c: (gst_message_parse_error),
20205         (gst_message_parse_warning):
20206         Keep track of current target state while performing a state
20207         change so that subclasses can do something interesting.
20208         Fix parsing of warning/error messages when GError is NULL.
20209
20210 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
20211
20212         * docs/gst/Makefile.am:
20213         * docs/gst/gstreamer-docs.sgml:
20214         * docs/gst/gstreamer-sections.txt:
20215         * docs/gst/gstreamer.types:
20216         * docs/gst/tmpl/gstbasesink.sgml:
20217         * docs/gst/tmpl/gstbasesrc.sgml:
20218         * docs/gst/tmpl/gstbin.sgml:
20219         * docs/gst/tmpl/gstcompat.sgml:
20220         * docs/gst/tmpl/gstfakesink.sgml:
20221         * docs/gst/tmpl/gstfakesrc.sgml:
20222         * docs/gst/tmpl/gstfilesink.sgml:
20223         * docs/gst/tmpl/gstfilesrc.sgml:
20224         * docs/gst/tmpl/gstindex.sgml:
20225         * docs/manual/appendix-quotes.xml:
20226         * gst/base/gstbasesrc.h:
20227         * gst/elements/gstfakesrc.h:
20228         * gst/gstmessage.h:
20229           start pulling in base classes and elements in our docs
20230
20231 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
20232
20233         * docs/gst/Makefile.am:
20234         * docs/libs/Makefile.am:
20235           fixed make distcheck with gtk-doc 1.3
20236
20237 2005-06-23  Wim Taymans  <wim@fluendo.com>
20238
20239         * gst/gstelement.c: (gst_element_get_state_func),
20240         (gst_element_set_state), (gst_element_change_state):
20241         When the state did not change, also report NO_PREROLL
20242         when it matters.
20243
20244 2005-06-23  Wim Taymans  <wim@fluendo.com>
20245
20246         * gst/gstpad.c: (gst_pad_event_default):
20247         * gst/gstqueue.c: (gst_queue_loop):
20248         No unsafe task pausing please.
20249
20250 2005-06-23  Wim Taymans  <wim@fluendo.com>
20251
20252         * gst/schedulers/threadscheduler.c:
20253         (gst_thread_scheduler_task_start),
20254         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
20255         Ref the task before pushing it on the threadpool. This
20256         makes sure that we have a ref when the threadfunction is
20257         actually called.
20258
20259 2005-06-23  Andy Wingo  <wingo@pobox.com>
20260
20261         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
20262         offset is greater than the file's size.
20263
20264         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
20265         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
20266         * gst/gstobject.c (gst_object_class_init): Make the class lock
20267         recursive. Wim won't let me drop deep_notify. Decodebin works
20268         again, whoopdy doo.
20269
20270         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
20271         internal pad, and hacks accordingly. Doesn't do it on the target
20272         pad because we change its caps. Probably catches all cases of
20273         interest tho.
20274         (gst_ghost_pad_set_property): Connect to notify::caps as
20275         appropritate.
20276
20277         * tests/network-clock.scm (plot-simulation): Pipe data to the
20278         elite python skript.
20279
20280         * tests/network-clock-utils.scm (define-parameter): New macro,
20281         defines a parameter that can be set via the command line.
20282         (set-parameter!, parse-parameter-arguments): Command line args
20283         parser.
20284
20285         * tests/plot-data: Simple matplotlib-based plotter, takes input on
20286         stdin.
20287
20288 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
20289
20290         * gst/elements/gsttypefindelement.c:
20291         (gst_type_find_element_handle_event):
20292           Don't restart typefinding on a discont.
20293         * gst/gstelement.c: (gst_element_set_state):
20294           Debug spelling fix.
20295         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
20296           Allow changing mode of an active pad.
20297           Debug output fixes.
20298         * gst/registries/gstlibxmlregistry.c: (load_feature):
20299           Don't cast a static pad template to a normal pad template.
20300
20301 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
20302
20303         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
20304         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
20305           remove gst_strtoll completely, since it didn't actually do
20306           anything more than what g_ascii_strtoull already does.
20307           check for range errors when deserializing
20308           do a cast for the unsigned cases; but further fixing needs
20309           a decision on what the interpretation of "(int)" and
20310           deserialization should be for values that fall outside the
20311           type's boundaries (ie, refuse, or interpret as casting)
20312
20313 2005-06-23  Wim Taymans  <wim@fluendo.com>
20314
20315         * check/Makefile.am:
20316         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
20317         * docs/design/part-live-source.txt:
20318         * docs/design/part-states.txt:
20319         * gst/base/gstbasesrc.c: (gst_basesrc_init),
20320         (gst_basesrc_set_live), (gst_basesrc_is_live),
20321         (gst_basesrc_get_range), (gst_basesrc_activate),
20322         (gst_basesrc_change_state):
20323         * gst/base/gstbasesrc.h:
20324         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
20325         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
20326         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
20327         * gst/gstelement.c: (gst_element_get_state_func),
20328         (gst_element_set_state):
20329         * gst/gstelement.h:
20330         * gst/gsttypes.h:
20331         * tools/gst-launch.c: (event_loop), (main):
20332         Added support for live sources and other elements that
20333         cannot do preroll.
20334         Updated design docs, added live-source design doc.
20335         Implemented live source functionality in basesrc
20336         Fix error condition in _bin_get_state()
20337         Implement live source handling in -launch.
20338         Added check for live sources.
20339         Fixed case in GstBin where elements were changed state
20340         multiple times.
20341
20342
20343 2005-06-23  Andy Wingo  <wingo@pobox.com>
20344
20345         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
20346         borken refcounting.
20347
20348         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
20349         gst_caps_replace takes care of this for us.
20350
20351         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
20352         gst_pad_set_caps on the target, not just its setcaps() function.
20353
20354         * tests/network-clock.scm: 
20355         * tests/network-clock-utils.scm: A network clock simulator.
20356         Something of an algorithmic testbed before doing something in C.
20357
20358 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
20359
20360         * check/Makefile.am:
20361         * check/gst/capslist.h:
20362           copy over from 0.8, and add two with bitmasks specified with
20363           (int) 0xFF...
20364         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
20365           add test to parse everything from capslist.h
20366         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
20367         (main):
20368           add test for structure deserialization
20369         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
20370           add tests for deserialization of strings to int types
20371         * gst/gststructure.c: (gst_structure_nth_field_name):
20372         * gst/gststructure.h:
20373           add a way to get the name of a field referenced by index
20374         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
20375           instead of checking if the resulting long long lies between
20376           min and max, we check if the long long would fit into
20377           a number of bytes for the final type.
20378           This fixes cases where a string represents 2^32 - 1, which
20379           when cast to int would be the (valid) -1, but is bigger than
20380           G_MAXINT
20381
20382 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
20383
20384         * gst/parse/grammar.y:
20385           add a log line for type deserialization
20386
20387 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
20388
20389         * check/gst/gstvalue.c: (START_TEST):
20390         * gst/gstvalue.c: (gst_value_deserialize):
20391           return long long, not int, so gint64 deserialization actually
20392           works.  Is there any flag that makes the compiler check this ?
20393           Fixes #308559
20394
20395 2005-06-22  Wim Taymans  <wim@fluendo.com>
20396
20397         * gst/gstbuffer.h:
20398         Added convenience macros for setting buffers in GValue.
20399
20400 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
20401
20402         * check/gst/.cvsignore:
20403         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
20404           add a test deserializing int64, and comment part out because
20405           it fails, yay !
20406
20407 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
20408
20409         * check/Makefile.am:
20410         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
20411         * testsuite/Makefile.am:
20412         * testsuite/caps/Makefile.am:
20413         * testsuite/caps/value_serialize.c:
20414         * testsuite/test_gst_init.c:
20415           move a value_serialize test over
20416
20417 2005-06-20  Wim Taymans  <wim@fluendo.com>
20418
20419         * gst/gstpad.c:
20420         Small doc updates.
20421         
20422         * gst/gstvalue.c: (gst_value_compare_buffer),
20423         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
20424         (gst_value_compare_flags), (gst_value_serialize_flags),
20425         (gst_value_deserialize_flags), (_gst_value_initialize):
20426         Fix serialisation of buffers, they are not boxed types anymore
20427
20428 2005-06-20  Wim Taymans  <wim@fluendo.com>
20429
20430         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
20431         Testcase to show error in buffer-on-caps serialisation.
20432
20433 2005-06-20  Andy Wingo  <wingo@pobox.com>
20434
20435         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
20436         will be adding to later.
20437
20438         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
20439         if its socks fill with rocks.
20440         (gst_system_clock_obtain): Set the name on object construction.
20441         Avoid double-checked locking.
20442
20443 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
20444
20445         * gst/gsturi.c: (gst_element_make_from_uri):
20446           Fix potential endless loop.
20447
20448 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
20449
20450         * check/Makefile.am:
20451           add gsttag
20452         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
20453         (main):
20454           move over from testsuite dir and clean up
20455         * configure.ac:
20456         * gst/gsttag.c:
20457         * testsuite/Makefile.am:
20458         * testsuite/tags/.cvsignore:
20459         * testsuite/tags/Makefile.am:
20460         * testsuite/tags/merge.c:
20461           remove testsuite/tags
20462
20463 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
20464
20465         * docs/gst/gstreamer-sections.txt:
20466         * docs/gst/tmpl/gstenumtypes.sgml:
20467         * win32/gstenumtypes.c:
20468           clean up documentation build a little
20469
20470 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
20471
20472         * check/gstcheck.h:
20473           add macros for checking refcounts on objects and caps
20474         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
20475           add some more unit tests
20476         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
20477         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
20478           fix leaked refcounts (I hope :)) so unittest works
20479         * gst/gstpad.h:
20480           whitespace removal
20481
20482 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
20483
20484         * configure.ac: back to HEAD
20485
20486 === release 0.9.1 ===
20487
20488 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
20489
20490         * NEWS:
20491         * RELEASE:
20492           updated
20493
20494 2005-06-17  Andy Wingo  <wingo@pobox.com>
20495
20496         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
20497         assert; it's always possible that the pad gets deactivated in
20498         between the checks in gstpad.c and the implementation. Rely on
20499         finish_preroll() to return a FLUSHING or similar instead of on the
20500         assert.
20501         
20502         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
20503         clock and post an EOS message if we come out of finish_preroll in
20504         the playing state.
20505
20506 2005-06-16  David Schleef  <ds@schleef.org>
20507
20508         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
20509         (gst_capsfilter_set_property): Allow NULL as possible value
20510         for filter_caps property, indicating GST_CAPS_ANY.
20511
20512 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
20513
20514         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
20515           fix debug output
20516         * gst/schedulers/Makefile.am:
20517           use libgst prefix
20518         * gstreamer.spec.in:
20519           fix spec for it
20520
20521 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
20522
20523         * gstreamer.spec.in:
20524           clean up
20525
20526 2005-06-08  Andy Wingo  <wingo@pobox.com>
20527
20528         * gst/gstutils.c: RPAD fixes all around.
20529         (gst_element_link_pads): Refcounting fixes.
20530
20531         * tools/gst-inspect.c:
20532         * tools/gst-xmlinspect.c:
20533         * parse/grammar.y:
20534         * gst/base/gsttypefindhelper.c:
20535         * gst/base/gstbasesink.c:
20536         * gst/gstqueue.c: RPAD fixes.
20537
20538         * gst/gstghostpad.h:
20539         * gst/gstghostpad.c: New ghost pad implementation as full proxy
20540         pads. The tricky thing is they provide both source and sink
20541         interfaces, since they proxy the internal pad for the external
20542         pad, and vice versa. Implement with lower-level ProxyPad objects,
20543         with the interior proxy pad as a child of the exterior ghost pad.
20544         Should write a doc on this.
20545         
20546         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
20547         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
20548         gst_object API.
20549         
20550         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
20551         pads are real pads. No ghost pads in this file. Not documenting
20552         the myriad s/RPAD/PAD/ and REALIZE fixes.
20553         (gst_pad_class_init): Add properties for "direction" and
20554         "template". Both are construct-only, so they can't change during
20555         the life of the pad. Fixes properly deriving from GstPad.
20556         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
20557         derived objects, just set properties when creating the objects via
20558         g_object_new.
20559         (gst_pad_get_parent): Implement as a function, return NULL if the
20560         parent is not an element.
20561         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
20562         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
20563         
20564         * gst/gstobject.c (gst_object_class_init): Make name a construct
20565         property. Don't set it in the object init.
20566
20567         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
20568         with UNKNOWN direction.
20569         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
20570         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
20571         (gst_element_remove_pad): Remove ghost-pad special cases.
20572         (gst_element_pads_activate): Remove rpad cruft.
20573
20574         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
20575         catch the pad's-parent-not-an-element case.
20576
20577         * gst/gst.h: Include gstghostpad.h.
20578
20579         * gst/gst.c (init_post): No more real, ghost pads.
20580
20581         * gst/Makefile.am: Add gstghostpad.[ch].
20582
20583         * check/Makefile.am:
20584         * check/gst/gstbin.c:
20585         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
20586         into a bin creates ghost pads, and that the refcounts are right.
20587         Partly moved from gstbin.c.
20588
20589 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
20590
20591         * check/gst-libs/.cvsignore:
20592         * check/gst/.cvsignore:
20593         * check/pipelines/.cvsignore:
20594           ignore more
20595         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
20596         (START_TEST), (cleanup_suite), (main):
20597           add some tests related to cleanup after running pipelines
20598
20599 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
20600
20601         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
20602           add a testsuite for GstBuffer
20603
20604 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
20605
20606         * gst/gstminiobject.h:
20607           add defines for accessing the refcount
20608
20609 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
20610
20611         * Makefile.am: added support for html unit test coverage reports
20612
20613 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
20614
20615         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
20616           Free existing caps if the capsfilter changes. Add a FIXME about
20617           setting those caps on the pads.
20618
20619         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
20620           Before adding a ghost pad to a parent bin, check that there isn't
20621           already one for the element on the bin. Prevents infinite recursion
20622           when using decodebin in parse pipelines. Andy says he'll rewrite the
20623           way this works anyway, so ignore the hack.
20624
20625 2005-06-02  Andy Wingo  <wingo@pobox.com>
20626
20627         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
20628         file size, pass it on to the type find helper.
20629
20630         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
20631         segment_start and segment_end properly according to the seek
20632         method. Segment_end is still a bit flaky because offset can be
20633         negative for CUR and END cases, but it takes -1 as an "unset"
20634         value.
20635
20636 2005-06-02  Wim Taymans  <wim@fluendo.com>
20637
20638         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
20639         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
20640         (gst_basesink_activate):
20641         * gst/base/gstbasesink.h:
20642         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
20643         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
20644         (gst_pad_query), (gst_pad_start_task):
20645         * gst/gstpad.h:
20646         * gst/gstqueue.c: (gst_queue_bufferalloc),
20647         (gst_queue_handle_sink_event), (gst_queue_chain):
20648         Bufferalloc: return GstFlowReturn to more accuratly report
20649         why allocation failed.
20650
20651 2005-06-02  Wim Taymans  <wim@fluendo.com>
20652
20653         * gst/gstpipeline.c: (gst_pipeline_send_event):
20654         Take snapshot of state without blocking.
20655
20656 2005-06-02  Wim Taymans  <wim@fluendo.com>
20657
20658         * docs/design/part-TODO.txt:
20659         * docs/design/part-caps.txt:
20660         * docs/design/part-clocks.txt:
20661         * docs/design/part-negotiation.txt:
20662         * docs/design/part-preroll.txt:
20663         Small doc updates 
20664
20665 2005-05-30  Wim Taymans  <wim@fluendo.com>
20666
20667         * gst/elements/gstidentity.c: (gst_identity_event),
20668         (gst_identity_transform), (gst_identity_get_property):
20669         Protect last_message property as it is accessed from
20670         multiple threads.
20671
20672 2005-05-30  Wim Taymans  <wim@fluendo.com>
20673
20674         * gst/gstelement.c: (gst_element_init),
20675         (gst_element_pads_activate), (gst_element_change_state):
20676         Slicker pad activation code.
20677
20678 2005-05-30  Wim Taymans  <wim@fluendo.com>
20679
20680         * gst/Makefile.am:
20681         * gst/gstelement.h:
20682         * gst/gstelementfactory.h:
20683         * gst/gsttypes.h:
20684         Move elementfactory methods to separate .h file.
20685
20686 2005-05-30  Wim Taymans  <wim@fluendo.com>
20687
20688         * docs/design/part-overview.txt:
20689         * gst/gstsystemclock.h:
20690         Small typo fixes, doc updates.
20691
20692 2005-05-30  Wim Taymans  <wim@fluendo.com>
20693
20694         * gst/gst.c: (gst_init_get_popt_table), (init_post),
20695         (init_popt_callback):
20696         Remove cpu-opt flag.
20697
20698 2005-05-30  Wim Taymans  <wim@fluendo.com>
20699
20700         * gst/gstbuffer.c: (gst_subbuffer_finalize),
20701         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
20702         * gst/gstbuffer.h:
20703         Avoid typechecking in places where not needed.
20704         Added accessor for malloc_data.
20705
20706 2005-05-30  Wim Taymans  <wim@fluendo.com>
20707
20708         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
20709         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
20710         (gst_pad_configure_sink), (gst_pad_configure_src),
20711         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
20712         (gst_pad_start_task):
20713         Propagate errors from _set_caps() in configure_src/sink
20714         functions instead of returning TRUE.
20715         FLUSH events can travel up and downstream
20716
20717
20718 2005-05-30  Wim Taymans  <wim@fluendo.com>
20719
20720         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
20721         (gst_basesink_activate):
20722         Handle EOS in preroll.
20723
20724 2005-05-30  Wim Taymans  <wim@fluendo.com>
20725
20726         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
20727         (gst_queue_loop), (gst_queue_handle_src_event):
20728         Remove old pieces of code
20729         Flushing the queue in an upstream event is a very bad idea.
20730
20731 2005-05-26  Andy Wingo  <wingo@pobox.com>
20732
20733         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
20734         gst_value_set_mini_object so as to add a ref on the object (which
20735         will be removed when the value is unset).
20736
20737         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
20738         arg type in ::handoff.
20739
20740         * gst/gstelement.c (gst_element_change_state): Also deactivate
20741         pads in READY->NULL, just in case the element didn't make it to
20742         PAUSED. Wingo tested, Wim approved.
20743
20744 2005-05-26  Wim Taymans  <wim@fluendo.com>
20745
20746         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
20747         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
20748         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
20749         A flushing pad cannot be used to alloc_buffer from.
20750
20751 2005-05-26  Wim Taymans  <wim@fluendo.com>
20752
20753         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
20754         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
20755         (gst_bus_source_dispatch), (gst_bus_source_finalize),
20756         (gst_bus_create_watch), (gst_bus_add_watch_full):
20757         * gst/gstbus.h:
20758         Implement a real GSource and use g_main_context_wakeup() to
20759         signal new messages instead of the socketpair.
20760
20761 2005-05-25  Wim Taymans  <wim@fluendo.com>
20762
20763         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
20764         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
20765         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
20766         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
20767         (gst_pad_send_event), (gst_pad_start_task):
20768         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
20769         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
20770         (gst_queue_sink_activate), (gst_queue_src_activate),
20771         (gst_queue_change_state):
20772         * gst/gstqueue.h:
20773         Fix state changes for non sinks. We now change sinks, then elements
20774         with unconnected srcpads, then the rest.
20775         More efficient queue unlocking in flush and state changes.
20776         Set the pad activate mode even if it does not have an activate
20777         function.
20778
20779 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20780
20781         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
20782           Don't go in pull mode for non-seekable sources.
20783         * gst/elements/gsttypefindelement.h:
20784         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
20785         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
20786         (free_entry), (stop_typefinding),
20787         (gst_type_find_element_handle_event), (find_peek),
20788         (gst_type_find_element_chain), (do_pull_typefind),
20789         (gst_type_find_element_change_state):
20790           Allow typefinding (w/o seeking) in push-mode, simplified version
20791           of what was in 0.8.
20792         * gst/gstutils.c: (gst_buffer_join):
20793         * gst/gstutils.h:
20794           gst_buffer_join() from 0.8.
20795
20796 2005-05-25  Wim Taymans  <wim@fluendo.com>
20797
20798         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
20799         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
20800         (gst_pad_send_event), (gst_pad_start_task):
20801         Disable attempt at mode switching until it is figured out.
20802
20803 2005-05-25  Wim Taymans  <wim@fluendo.com>
20804
20805         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
20806         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
20807         (gst_basesink_finish_preroll), (gst_basesink_chain),
20808         (gst_basesink_loop), (gst_basesink_activate),
20809         (gst_basesink_change_state):
20810         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
20811         (gst_basesrc_get_range), (gst_basesrc_loop),
20812         (gst_basesrc_activate):
20813         * gst/elements/gsttee.c: (gst_tee_sink_activate):
20814         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
20815         (gst_real_pad_init), (gst_real_pad_set_property),
20816         (gst_real_pad_get_property), (gst_pad_set_active),
20817         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
20818         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
20819         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
20820         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
20821         (gst_pad_event_default_dispatch), (gst_pad_event_default),
20822         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
20823         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
20824         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
20825         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
20826         (gst_pad_stop_task):
20827         * gst/gstpad.h:
20828         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
20829         (gst_queue_loop), (gst_queue_src_activate):
20830         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
20831         (gst_task_get_state):
20832         * gst/gsttask.h:
20833         * gst/schedulers/threadscheduler.c:
20834         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
20835         Implement gst_pad_pause/start/stop_task(), take STREAM lock
20836         in task function.
20837         Remove ACTIVE pad flag, use FLUSHING everywhere
20838         Added _pad_chain(), _pad_get_range() to call chain/getrange 
20839         functions.
20840         Add locks around IS_FLUSHING when reading.
20841         Take STREAM lock in chain(), get_range() functions so plugins
20842         don't need to take it anymore.
20843         
20844
20845
20846 2005-05-25  Wim Taymans  <wim@fluendo.com>
20847
20848         * tools/gst-launch.c: (event_loop):
20849         Unref message after using its contents instead of
20850         before.
20851
20852 2005-05-24  Wim Taymans  <wim@fluendo.com>
20853
20854         * docs/design/draft-ghostpads.txt:
20855         * docs/design/draft-push-pull.txt:
20856         * docs/design/draft-query.txt:
20857         * docs/design/part-overview.txt:
20858         Docs updates, added general overview doc.
20859
20860 2005-05-21  David Schleef  <ds@schleef.org>
20861
20862         * docs/gst/tmpl/old/GstBin.sgml:
20863         * docs/gst/tmpl/old/GstBuffer.sgml:
20864         * docs/gst/tmpl/old/GstCaps.sgml:
20865         * docs/gst/tmpl/old/GstClock.sgml:
20866         * docs/gst/tmpl/old/GstCompat.sgml:
20867         * docs/gst/tmpl/old/GstData.sgml:
20868         * docs/gst/tmpl/old/GstElement.sgml:
20869         * docs/gst/tmpl/old/GstEvent.sgml:
20870         * docs/gst/tmpl/old/GstIndex.sgml:
20871         * docs/gst/tmpl/old/GstStructure.sgml:
20872         * docs/gst/tmpl/old/GstTag.sgml:
20873         * docs/gst/tmpl/old/cothreads.sgml:
20874         * docs/gst/tmpl/old/cothreads_compat.sgml:
20875         * docs/gst/tmpl/old/gettext.sgml:
20876         * docs/gst/tmpl/old/gobject2gtk.sgml:
20877         * docs/gst/tmpl/old/grammar.tab.sgml:
20878         * docs/gst/tmpl/old/gst-i18n-app.sgml:
20879         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
20880         * docs/gst/tmpl/old/gst_private.sgml:
20881         * docs/gst/tmpl/old/gstaggregator.sgml:
20882         * docs/gst/tmpl/old/gstarch.sgml:
20883         * docs/gst/tmpl/old/gstatomic_impl.sgml:
20884         * docs/gst/tmpl/old/gstbufferstore.sgml:
20885         * docs/gst/tmpl/old/gstdata_private.sgml:
20886         * docs/gst/tmpl/old/gstdisksink.sgml:
20887         * docs/gst/tmpl/old/gstdisksrc.sgml:
20888         * docs/gst/tmpl/old/gstelementfactory.sgml:
20889         * docs/gst/tmpl/old/gstextratypes.sgml:
20890         * docs/gst/tmpl/old/gstfakesink.sgml:
20891         * docs/gst/tmpl/old/gstfakesrc.sgml:
20892         * docs/gst/tmpl/old/gstfdsink.sgml:
20893         * docs/gst/tmpl/old/gstfdsrc.sgml:
20894         * docs/gst/tmpl/old/gstfilesink.sgml:
20895         * docs/gst/tmpl/old/gstfilesrc.sgml:
20896         * docs/gst/tmpl/old/gsthttpsrc.sgml:
20897         * docs/gst/tmpl/old/gstidentity.sgml:
20898         * docs/gst/tmpl/old/gstindexfactory.sgml:
20899         * docs/gst/tmpl/old/gstmarshal.sgml:
20900         * docs/gst/tmpl/old/gstmd5sink.sgml:
20901         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
20902         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
20903         * docs/gst/tmpl/old/gstpadtemplate.sgml:
20904         * docs/gst/tmpl/old/gstpipefilter.sgml:
20905         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
20906         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
20907         * docs/gst/tmpl/old/gstshaper.sgml:
20908         * docs/gst/tmpl/old/gstspider.sgml:
20909         * docs/gst/tmpl/old/gstspideridentity.sgml:
20910         * docs/gst/tmpl/old/gststatistics.sgml:
20911         * docs/gst/tmpl/old/gsttee.sgml:
20912         * docs/gst/tmpl/old/gsttimecache.sgml:
20913         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
20914         * docs/gst/tmpl/old/gstxmlregistry.sgml:
20915         * docs/gst/tmpl/old/gthread-cothreads.sgml:
20916         * docs/gst/tmpl/old/types.sgml:
20917           I didn't intend to add these or check them in.
20918
20919 2005-05-19  David Schleef  <ds@schleef.org>
20920
20921         * configure.ac: Use -no-common everywhere.  In a sane world, it
20922           would be the default in libtool, because without it, you can't
20923           build DLLs on Windows.
20924         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
20925         * docs/gst/gstreamer-sections.txt:
20926         * docs/gst/tmpl/gstcpu.sgml:
20927         * docs/gst/tmpl/gstdata.sgml:
20928         * docs/gst/tmpl/gstthread.sgml:
20929
20930 2005-05-19  David Schleef  <ds@schleef.org>
20931
20932         * gst/gstminiobject.c: (gst_value_set_mini_object),
20933         (gst_value_take_mini_object), (gst_value_get_mini_object):
20934         * gst/gstminiobject.h: Add GValue set/get functions.
20935
20936 2005-05-19  Wim Taymans  <wim@fluendo.com>
20937
20938         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
20939         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
20940         (gst_subbuffer_init), (gst_buffer_is_span_fast):
20941         * gst/gstbuffer.h:
20942         * gst/gstbus.c: (gst_bus_post):
20943         * gst/gstelement.c: (gst_element_get_random_pad):
20944         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
20945         Make subbufer unref the parent in finalize.
20946         some more debugging info.
20947
20948
20949 2005-05-19  Wim Taymans  <wim@fluendo.com>
20950
20951         * gst/base/gstbasesink.c: (gst_basesink_class_init),
20952         (gst_basesink_init), (gst_basesink_finalize),
20953         (gst_basesink_activate), (gst_basesink_change_state):
20954         Don't free preroll queue too early.
20955
20956 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20957
20958         * gst/Makefile.am:
20959         * gst/ROADMAP:
20960           Hi, I'm outdated. Please shoot me.
20961
20962 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20963
20964         * gst/gstpipeline.c: (gst_pipeline_send_event):
20965           Do not access variables after they have been deleted.
20966
20967 2005-05-19  Wim Taymans  <wim@fluendo.com>
20968
20969         * tools/gst-inspect.c: (print_plugin_features):
20970         A plugin feature does unfortunatly not use the
20971         object name yet...
20972
20973 2005-05-18  Wim Taymans  <wim@fluendo.com>
20974
20975         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
20976         Port _span() functions to new subbuffers.
20977
20978 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20979
20980         * gst/gstbin.c: (gst_bin_add_func):
20981           Fix clock settery in bins when adding kids after the clock has
20982           been selected.
20983
20984 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20985
20986         * gst/elements/gstidentity.c: (gst_identity_class_init):
20987           Workaround until signals support GstMiniObject.
20988
20989 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
20990
20991         * gst/gstbuffer.c:
20992         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
20993
20994 2005-05-18  Wim Taymans  <wim@fluendo.com>
20995
20996         * gst/base/Makefile.am:
20997         * gst/base/gstadapter.c: (gst_adapter_base_init),
20998         (gst_adapter_class_init), (gst_adapter_init),
20999         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
21000         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
21001         (gst_adapter_flush), (gst_adapter_available),
21002         (gst_adapter_available_fast):
21003         * gst/base/gstadapter.h:
21004         Ported and added adapter to the base classes.
21005
21006 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
21007
21008         * gst/gst.c:
21009         * gst/gstmessage.c:
21010           Make sure the class is reffed/unreffed once before threads can be
21011           used.  Fixes #304551.
21012
21013 2005-05-17  Wim Taymans  <wim@fluendo.com>
21014
21015         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
21016         (gst_basesink_chain_unlocked), (gst_basesink_activate):
21017         * gst/gstminiobject.c: (gst_mini_object_get_type),
21018         (gst_mini_object_free):
21019         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
21020         (gst_pad_push), (gst_pad_push_event):
21021         * gst/gstqueue.c: (gst_queue_change_state):
21022         Don't queue buffers in basesink when we are flushing.
21023         Unref buffer when flushing in basesink.
21024         Flush queue when going to READY
21025         Unref buffer when _push() returns an error.
21026         Don't free MiniObject instance when refcount is incremented
21027         in _finalize() so that we can recover objects.
21028
21029 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
21030
21031         * docs/manual/advanced-schedulers.xml:
21032         * docs/manual/appendix-checklist.xml:
21033         * docs/pwg/advanced-clock.xml:
21034         * docs/pwg/advanced-interfaces.xml:
21035         * docs/pwg/advanced-request.xml:
21036         * docs/pwg/advanced-types.xml:
21037         * docs/pwg/intro-preface.xml:
21038         * examples/plugins/example.c: (gst_example_get_type),
21039         (gst_example_class_init), (gst_example_chain),
21040         (gst_example_set_property), (gst_example_get_property),
21041         (gst_example_change_state), (plugin_init):
21042         * examples/plugins/example.h:
21043           small doc fixes
21044
21045 2005-05-17  Wim Taymans  <wim@fluendo.com>
21046
21047         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
21048         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
21049         * gst/gstqueue.c: (gst_queue_change_state):
21050         Clear queue when going to READY.
21051         Remove IN_SETCAPS flag too.
21052
21053 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
21054
21055         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
21056           Remove implicit cast from gboolean to GstElementStateReturn;
21057           make sure we still return failure in paused => ready case if
21058           the parent class fails to change state and our own stop 
21059           vfunc succeeds.
21060
21061 2005-05-17  Wim Taymans  <wim@fluendo.com>
21062
21063         * tools/gst-launch.c: (event_loop):
21064         Message was unreffed too soon.
21065
21066 2005-05-16  Andy Wingo  <wingo@pobox.com>
21067
21068         * gst/gstbin.c (sink_iterator_filter): Err... um...
21069
21070         * check/gst/gstbin.c (test_ghost_pads): New test for the
21071         ghosting-if-elements-not-in-same-bin behavior.
21072
21073 2005-05-16  David Schleef  <ds@schleef.org>
21074
21075         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
21076         accessing refcount directly.
21077
21078 2005-05-15  David Schleef  <ds@schleef.org>
21079
21080         * check/Makefile.am: remove GstData checks
21081         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
21082         * gst/Makefile.am: add miniobject, remove data
21083         * gst/gst.h: add miniobject, remove data
21084         * gst/gstdata.c: remove
21085         * gst/gstdata.h: remove
21086         * gst/gstdata_private.h: remove
21087         * gst/gsttypes.h: remove GstEvent and GstMessage
21088         * gst/gstelement.c: (gst_element_post_message): fix for API changes
21089         * gst/gstmarshal.list: change BOXED -> OBJECT
21090
21091         Implement GstMiniObject.
21092         * gst/gstminiobject.c:
21093         * gst/gstminiobject.h:
21094
21095         Modify to be subclasses of GstMiniObject.
21096         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
21097         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
21098         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
21099         (gst_subbuffer_get_type), (gst_subbuffer_init),
21100         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
21101         (gst_buffer_span):
21102         * gst/gstbuffer.h:
21103         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
21104         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
21105         (_gst_event_copy), (gst_event_new):
21106         * gst/gstevent.h:
21107         * gst/gstmessage.c: (_gst_message_initialize),
21108         (gst_message_get_type), (gst_message_class_init),
21109         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
21110         (gst_message_new), (gst_message_new_error),
21111         (gst_message_new_warning), (gst_message_new_tag),
21112         (gst_message_new_state_changed), (gst_message_new_application):
21113         * gst/gstmessage.h:
21114         * gst/gstprobe.c: (gst_probe_perform),
21115         (gst_probe_dispatcher_dispatch):
21116         * gst/gstprobe.h:
21117         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
21118         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
21119         (_gst_query_copy), (gst_query_new):
21120
21121         Update elements for GstData -> GstMiniObject changes
21122         * gst/gstquery.h:
21123         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
21124         (gst_queue_chain), (gst_queue_loop):
21125         * gst/elements/gstbufferstore.c:
21126         (gst_buffer_store_add_buffer_func),
21127         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
21128         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
21129         (gst_fakesink_render):
21130         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
21131         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
21132         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
21133         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
21134         (gst_filesrc_create_read):
21135         * gst/elements/gstidentity.c: (gst_identity_class_init):
21136         * gst/elements/gsttypefindelement.c:
21137         (gst_type_find_element_src_event), (free_entry_buffers),
21138         (gst_type_find_element_handle_event):
21139         * libs/gst/dataprotocol/dataprotocol.c:
21140         (gst_dp_header_from_buffer):
21141         * libs/gst/dataprotocol/dataprotocol.h:
21142         * libs/gst/dataprotocol/dp-private.h:
21143
21144 2005-05-15  David Schleef  <ds@schleef.org>
21145
21146         * gst/elements/gstelements.c: Don't include headers that were
21147         just removed.
21148
21149 2005-05-15  David Schleef  <ds@schleef.org>
21150
21151         * gst/elements/Makefile.am: Remove some elements that don't
21152         need to be in the core (or even exist at all).
21153         * gst/elements/gstaggregator.c:
21154         * gst/elements/gstaggregator.h:
21155         * gst/elements/gstmd5sink.c:
21156         * gst/elements/gstmd5sink.h:
21157         * gst/elements/gstmultifilesrc.c:
21158         * gst/elements/gstmultifilesrc.h:
21159         * gst/elements/gstpipefilter.c:
21160         * gst/elements/gstpipefilter.h:
21161         * gst/elements/gstshaper.c:
21162         * gst/elements/gstshaper.h:
21163         * gst/elements/gststatistics.c:
21164         * gst/elements/gststatistics.h:
21165         * po/POTFILES.in: Remove above files.
21166
21167 2005-05-14  Andy Wingo  <wingo@pobox.com>
21168
21169         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
21170         so as to get the refs right.
21171         (sink_iterator_filter): New function, wraps bin_element_is_sink,
21172         unreffing objects that don't pass the filter.
21173
21174         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
21175         gst_element_set_bus.
21176         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
21177         normal cases, this will destroy the bus.
21178
21179         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
21180         object.
21181
21182         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
21183         has no sinks.
21184
21185 2005-05-13  Andy Wingo  <wingo@pobox.com>
21186
21187         * gst/gstutils.c (gst_element_link_pads): Instead of calling
21188         gst_pad_link, call pad_link_maybe_ghosting,
21189         (pad_link_maybe_ghosting): Links pads, making sure that the
21190         elements being linked are in the same bin.
21191         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
21192         Helpers for pad_link_maybe_ghosting.
21193
21194 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
21195
21196         * configure.ac:
21197           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
21198
21199 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
21200
21201         * docs/design/part-element-source.txt:
21202           Mention GstPushSrc
21203
21204 2005-05-12  Wim Taymans  <wim@fluendo.com>
21205
21206         * gst/base/gstbasesink.c: (gst_basesink_init),
21207         (gst_basesink_activate):
21208         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
21209         (gst_basesrc_is_seekable):
21210         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
21211         (bin_element_is_sink), (gst_bin_change_state):
21212         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
21213         * gst/gstelement.h:
21214         Identify sinks by their flag to avoid overly complicated
21215         checks (fow now).
21216         Do state changes even for elements not reachable from the
21217         sinks.
21218         BaseSink is a sink now :)
21219         Some more debugging info in the basesrc.
21220
21221
21222 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21223
21224         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
21225           Implement _query on a bin, similar to _send_event.
21226
21227 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
21228
21229         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
21230           Discont event offset format should be GST_FORMAT_BYTES,
21231           not GST_FORMAT_TIME.
21232
21233 2005-05-12  Wim Taymans  <wim@fluendo.com>
21234
21235         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
21236         Same fix as Ronald's but without the signal. 
21237
21238 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21239
21240         * gst/gstutils.c: (gst_element_query_position):
21241           No, an element is not a pad.
21242
21243 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21244
21245         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
21246         (gst_bin_get_state):
21247           If a child is removed from a bin while we remove the child from
21248           the bin and while we're retrieving its state, signal this to the
21249           get_state function so we abort the wait (instead of waiting for
21250           a timeout) and can immediately re-iterate over all other elements.
21251
21252 2005-05-12  Wim Taymans  <wim@fluendo.com>
21253
21254         * gst/base/Makefile.am:
21255         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
21256         (gst_basesrc_start):
21257         * gst/base/gstbasesrc.h:
21258         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
21259         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
21260         (gst_pushsrc_init), (gst_pushsrc_create):
21261         * gst/base/gstpushsrc.h:
21262         Added is_seekable to BaseSrc
21263         Added simple PushSrc.
21264
21265 2005-05-11  Wim Taymans  <wim@fluendo.com>
21266
21267         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
21268         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
21269         (gst_element_link_pads), (gst_element_query_position),
21270         (gst_element_query_convert), (intersect_caps_func),
21271         (gst_pad_query_position), (gst_pad_query_convert):
21272         Fix refcounting in utils function.
21273         No point in trying to activate a pad when it's added, it could
21274         be added from the state change function and then we deadlock, the
21275         element has to decide what to do.
21276
21277 2005-05-10  Andy Wingo  <wingo@pobox.com>
21278
21279         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
21280         *all* the arguments.
21281
21282         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
21283         stream lock if it's a FLUSH_DONE; normal flushes don't get the
21284         lock (according to the docs -- if this is wrong change the docs).
21285
21286         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
21287         flush messages in the NULL state.
21288
21289         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
21290         message immediately and return.
21291         (gst_bus_set_flushing): New function. If a bus is flushing, it
21292         flushes out any queued messages and immediately unrefs new
21293         messages. This is so when an element goes to NULL, all of the
21294         unhandled messages coming from it can be freed, and their
21295         references to the element dropped. In other words: message source
21296         ref considered harmful :P
21297
21298         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
21299         we're finished with it.
21300
21301         * gst/gstmessage.c (gst_message_new_state_changed): 
21302
21303 2005-05-10  Wim Taymans  <wim@fluendo.com>
21304
21305         * gst/gstvalue.c: (gst_value_compare_flags),
21306         (gst_value_serialize_flags), (gst_value_deserialize_flags),
21307         (_gst_value_initialize):
21308         Added flags serialize/deserialize/compare code.
21309
21310 2005-05-09  Andy Wingo  <wingo@pobox.com>
21311
21312         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
21313         Intersect the peer's caps with our caps.
21314
21315 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21316
21317         * gst/base/gsttypefindhelper.c: (helper_find_peek):
21318         * gst/elements/gsttypefindelement.c: (find_peek):
21319           Handle negative offsets better. Fixes decodebin.
21320
21321 2005-05-09  Wim Taymans  <wim@fluendo.com>
21322
21323         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
21324         (gst_base_transform_event):
21325         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
21326         Implement accept_caps.
21327         Fix silly lock/unlock mismatch in base class.
21328
21329 2005-05-09  Wim Taymans  <wim@fluendo.com>
21330
21331         * docs/design/draft-push-pull.txt:
21332         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
21333         * gst/elements/gstfilesink.c: (gst_filesink_init),
21334         (gst_filesink_query):
21335         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
21336         (gst_type_find_handle_src_query), (find_element_get_length):
21337         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
21338         * gst/gstelement.h:
21339         * gst/gstmessage.c:
21340         * gst/gstmessage.h:
21341         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
21342         (gst_real_pad_get_caps_unlocked),
21343         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
21344         (gst_pad_event_default_dispatch), (gst_pad_event_default),
21345         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
21346         (gst_real_pad_dispose), (gst_real_pad_finalize),
21347         (gst_pad_load_and_link), (gst_pad_save_thyself),
21348         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
21349         (gst_pad_check_pull_range), (gst_pad_pull_range),
21350         (gst_pad_template_get_type), (gst_pad_template_class_init),
21351         (gst_pad_template_init), (gst_pad_template_dispose),
21352         (name_is_valid), (gst_static_pad_template_get),
21353         (gst_pad_template_new), (gst_static_pad_template_get_caps),
21354         (gst_pad_template_get_caps), (gst_pad_set_element_private),
21355         (gst_pad_get_element_private), (gst_pad_start_task),
21356         (gst_pad_pause_task), (gst_pad_stop_task),
21357         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
21358         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
21359         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
21360         (gst_ghost_pad_new):
21361         * gst/gstpad.h:
21362         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
21363         (gst_query_new_position), (gst_query_set_position),
21364         (gst_query_parse_position), (gst_query_new_convert),
21365         (gst_query_set_convert), (gst_query_parse_convert):
21366         * gst/gstquery.h:
21367         * gst/gstqueryutils.c:
21368         * gst/gstqueryutils.h:
21369         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
21370         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
21371         (gst_queue_handle_src_query):
21372         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
21373         (gst_element_query_position), (gst_element_query_convert),
21374         (intersect_caps_func), (gst_pad_query_position),
21375         (gst_pad_query_convert):
21376         * gst/gstutils.h:
21377         * tools/gst-inspect.c: (print_pad_info):
21378         * tools/gst-xmlinspect.c: (print_element_info):
21379         Remove old query functions. Ported old code.
21380         Added position/convert helper functions to gstutils.
21381         Reordered gstpad.c code, grouping relevant things.
21382         Remove gst_message_new(), always need to speficy a specific
21383         message.
21384
21385
21386 2005-05-09  Andy Wingo  <wingo@pobox.com>
21387
21388         * gst/gstiterator.h: Add some includes.
21389
21390         * gst/gstqueryutils.h: Include more headers.
21391
21392         * gst/gstpad.h:
21393         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
21394         some uses of gst_pad_query.
21395
21396         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
21397         NULL out parameters.
21398         (gst_query_new_position): New proc, allocates a new position
21399         query.
21400
21401         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
21402         gstqueryutils.c to the build.
21403
21404         * gst/gststructure.c (gst_structure_set_valist): Implement with
21405         the generic G_VALUE_COLLECT.
21406         
21407 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
21408
21409         * gst/Makefile.am: (gst_headers):
21410         Added gstqueryutils.h to the list of headers to install, that was
21411         a 'nachty' move wingo :)
21412
21413 2005-05-06  Andy Wingo  <wingo@pobox.com>
21414
21415         * gst/gstquery.h
21416         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
21417         GstData, init a memchunk.
21418         (standard_definitions): Add a few query types, deprecate a few.
21419         (gst_query_get_type): New proc.
21420         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
21421         implementation.
21422         (gst_query_new_application, gst_query_get_structure): New public
21423         procs.
21424
21425         * docs/design/draft-query.txt: Removed LINKS from the query types,
21426         because all the rest can be dispatched to other pads -- seemed
21427         ugly to have a query that couldn't be dispatched. internal_links
21428         is fine as a pad method.
21429
21430         * gst/gstpad.h: Add query2 as a pad method, add the new functions
21431         in gstpad.c, but maintain binary compatibility for the moment.
21432         Will fix before 0.9 is out.
21433
21434         * gst/gstqueryutils.c: 
21435         * gst/gstqueryutils.h: New files, implement 3 methods for each
21436         query type: parse_query, parse_response, and set. Probably need an
21437         allocator as well.
21438
21439         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
21440
21441         * gst/elements/gstfilesink.c (gst_filesink_query2):
21442         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
21443         query_types, and formats methods.
21444
21445         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
21446         (gst_pad_set_query2_function): New functions.
21447         (gst_real_pad_init): Set query2_default as the default query2
21448         function. Basically just dispatches to internally linked pads.
21449
21450         Needs review!
21451         
21452         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
21453         without using the atomic operations. Only one thread can possibly
21454         be accessing the data at this point. Changed so as to avoid
21455         gst_atomic operations.
21456
21457 2005-05-06  Wim Taymans  <wim@fluendo.com>
21458
21459         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
21460         Also set caps if we use the fallback buffer alloc.
21461
21462 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
21463
21464         * docs/gst/Makefile.am:
21465         * docs/gst/gstreamer-docs.sgml:
21466         * docs/gst/gstreamer-sections.txt:
21467         * docs/gst/tmpl/gstatomic.sgml:
21468         * docs/gst/tmpl/gstmemchunk.sgml:
21469         * testsuite/elements/struct_i386.h:
21470         * win32/GStreamer.vcproj:
21471         * win32/Makefile:
21472           Purge GstAtomic stuff from docs and win32 makefiles as well
21473
21474 2005-05-06  Wim Taymans  <wim@fluendo.com>
21475
21476         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
21477         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
21478         * gst/gstpad.c: (gst_pad_peer_get_caps):
21479         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
21480         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
21481         (gst_queue_src_activate), (gst_queue_change_state):
21482         * gst/gstqueue.h:
21483         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
21484         (intersect_caps_func):
21485         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
21486         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
21487         Some fixes for the peer_get_caps() change.
21488
21489 2005-05-06  Wim Taymans  <wim@fluendo.com>
21490
21491         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
21492         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
21493         (gst_basesink_activate):
21494         Actually do something with error codes returned from the push
21495         functions.
21496
21497 2005-05-06  Wim Taymans  <wim@fluendo.com>
21498
21499         * docs/design/part-element-sink.txt:
21500         * docs/design/part-element-source.txt:
21501         * gst/base/gstbasesink.c: (gst_basesink_class_init),
21502         (gst_basesink_event), (gst_basesink_activate):
21503         * gst/base/gstbasesink.h:
21504         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
21505         (gst_basesrc_activate):
21506         * gst/base/gstbasesrc.h:
21507         * gst/gstelement.c: (gst_element_pads_activate):
21508         Some more documentation.
21509         Fixed scheduling decision in _pads_activate().
21510
21511 2005-05-05  Andy Wingo  <wingo@pobox.com>
21512
21513         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
21514         the test suite.
21515
21516 2005-05-05  Wim Taymans  <wim@fluendo.com>
21517
21518         * gst/base/Makefile.am:
21519         * gst/base/gstbasesink.h:
21520         * gst/base/gstbasesrc.c: (gst_basesrc_init),
21521         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
21522         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
21523         (gst_collectpads_class_init), (gst_collectpads_init),
21524         (gst_collectpads_finalize), (gst_collectpads_new),
21525         (gst_collectpads_set_function), (gst_collectpads_add_pad),
21526         (find_pad), (gst_collectpads_remove_pad),
21527         (gst_collectpads_is_active), (gst_collectpads_collect),
21528         (gst_collectpads_collect_range), (gst_collectpads_start),
21529         (gst_collectpads_stop), (gst_collectpads_peek),
21530         (gst_collectpads_pop), (gst_collectpads_available),
21531         (gst_collectpads_read), (gst_collectpads_flush),
21532         (gst_collectpads_chain):
21533         * gst/base/gstcollectpads.h:
21534         * gst/elements/Makefile.am:
21535         * gst/elements/gstelements.c:
21536         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
21537         (gst_fakesink_get_times), (gst_fakesink_event),
21538         (gst_fakesink_preroll), (gst_fakesink_render):
21539         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
21540         (gst_filesink_init), (gst_filesink_set_location),
21541         (gst_filesink_open_file), (gst_filesink_close_file),
21542         (gst_filesink_pad_query), (gst_filesink_event),
21543         (gst_filesink_render), (gst_filesink_change_state):
21544         * gst/elements/gstfilesink.h:
21545         Added object to help in making collect pad based elements.
21546         Ported filesink.
21547         Make event function in sink baseclass return gboolean.
21548
21549 2005-05-05  Wim Taymans  <wim@fluendo.com>
21550
21551         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
21552         (gst_bin_get_by_name):
21553         * gst/gstbuffer.h:
21554         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
21555         (gst_clock_finalize):
21556         * gst/gstdata.c: (gst_data_replace):
21557         * gst/gstdata.h:
21558         * gst/gstelement.c: (gst_element_request_pad),
21559         (gst_element_pads_activate):
21560         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
21561         (gst_object_unref):
21562         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
21563         (gst_pad_set_checkgetrange_function),
21564         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
21565         (gst_pad_check_pull_range), (gst_pad_pull_range),
21566         (gst_static_pad_template_get_caps), (gst_pad_start_task),
21567         (gst_pad_pause_task), (gst_pad_stop_task):
21568         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
21569         (gst_element_request_pad), (gst_pad_proxy_getcaps):
21570         Fix name lookup in GstBin.
21571         Added _data_replace() function and _buffer_replace()
21572         Use finalize method to clean up clock.
21573         Fix refcounting on request pads.
21574         Fix pad schedule mode error.
21575         Some more object refcounting debug info,
21576
21577
21578 2005-05-04  Andy Wingo <wingo@pobox.com>
21579
21580         * check/Makefile.am:
21581         * docs/gst/tmpl/gstatomic.sgml:
21582         * docs/gst/tmpl/gstplugin.sgml:
21583         * gst/base/gstbasesink.c: (gst_basesink_activate):
21584         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
21585         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
21586         (gst_basesrc_query), (gst_basesrc_set_property),
21587         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
21588         (gst_basesrc_activate):
21589         * gst/base/gstbasesrc.h:
21590         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
21591         (gst_base_transform_src_activate):
21592         * gst/elements/gstelements.c:
21593         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
21594         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
21595         * gst/elements/gsttee.c: (gst_tee_sink_activate):
21596         * gst/elements/gsttypefindelement.c: (find_element_get_length),
21597         (gst_type_find_element_checkgetrange),
21598         (gst_type_find_element_activate):
21599         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
21600         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
21601         (gst_caps_load_thyself):
21602         * gst/gstelement.c: (gst_element_pads_activate),
21603         (gst_element_save_thyself), (gst_element_restore_thyself):
21604         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
21605         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
21606         * gst/gstpad.h:
21607         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
21608         (gst_xml_parse_file), (gst_xml_parse_memory),
21609         (gst_xml_get_element), (gst_xml_make_element):
21610         * gst/indexers/gstfileindex.c: (gst_file_index_load),
21611         (_file_index_id_save_xml), (gst_file_index_commit):
21612         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
21613         (read_enum), (load_pad_template), (load_feature), (load_plugin),
21614         (load_paths):
21615         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
21616         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
21617         * tools/gst-complete.c: (main):
21618         * tools/gst-compprep.c: (main):
21619         * tools/gst-inspect.c: (print_element_properties_info):
21620         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
21621         * tools/gst-xmlinspect.c: (print_element_properties):
21622         GCC 4 fixen.
21623         
21624 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
21625
21626         * gst/gstplugin.c: (gst_plugin_check_module),
21627         (gst_plugin_check_file), (gst_plugin_load_file):
21628             apply patch from #172526 to make register work on MacOSX
21629
21630 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
21631
21632         * docs/gst/tmpl/gstconfig.sgml:
21633         * gst/gstconfig.h.in:
21634           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
21635         * testsuite/debug/printf_extension.c: (main):
21636           Do not use GST_PTR_FORMAT on pointers to types with
21637           sizeof < sizeof(gpointer).  Fixes test on 64-bit
21638         * testsuite/elements/property.h:
21639           use correct printf format
21640
21641 2005-05-02  Wim Taymans  <wim@fluendo.com>
21642
21643         * docs/design/draft-push-pull.txt:
21644         * docs/design/draft-query.txt:
21645         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
21646         (gst_basesrc_start):
21647         Added draft for new query API.
21648         Added draft for better selecting scheduling methods.
21649         Make basesrc ignore length if the subclass does not support
21650         it.
21651
21652 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
21653
21654         * gst/Makefile.am:
21655           possible fixes for automake-1.5 - _LIBADD is reserved
21656
21657 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
21658
21659         * docs/faq/Makefile.am:
21660         * docs/manual/Makefile.am:
21661         * docs/manuals.mak:
21662         * docs/pwg/Makefile.am:
21663         * gst/Makefile.am:
21664           possible fixes for automake-1.5
21665
21666 2005-04-28  Wim Taymans  <wim@fluendo.com>
21667
21668         * gst/base/gstbasesink.c: (gst_basesink_base_init),
21669         (gst_basesink_pad_getcaps), (gst_basesink_init),
21670         (gst_basesink_do_sync):
21671         * gst/gstclock.c: (gst_clock_entry_new):
21672         * gst/gstevent.c: (gst_event_discont_get_value):
21673         * gst/gstpipeline.c: (pipeline_bus_handler),
21674         (gst_pipeline_change_state):
21675         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
21676         Better debugging of clocking info.
21677         Allow NULL values when getting discont values.
21678
21679 2005-04-27  Wim Taymans  <wim@fluendo.com>
21680
21681         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
21682         * check/gst/gstpad.c: (gst_pad_suite):
21683         Increase timeout for checks.
21684
21685 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
21686
21687         * check/Makefile.am:
21688           fix the broken rule for cleanup.  Apparently this rule is
21689           only needed on FC2, so maybe this warrants further autotool
21690           inspection.
21691
21692 2005-04-26  Wim Taymans  <wim@fluendo.com>
21693
21694         * gst/gsttrashstack.h:
21695         Ooohh. a nasty one! After having a failed pop() from the stack,
21696         it's possible that the stack is empty. In that case, don't
21697         follow the NULL pointer.
21698
21699 2005-04-25  Wim Taymans  <wim@fluendo.com>
21700
21701         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
21702         (gst_pad_set_checkgetrange_function),
21703         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
21704         (gst_pad_check_pull_range), (gst_pad_pull_range),
21705         (gst_static_pad_template_get_caps), (gst_pad_start_task),
21706         (gst_pad_pause_task), (gst_pad_stop_task):
21707         * gst/gstplugin.c: (gst_plugin_load):
21708         * gst/gstplugin.h:
21709         Remove gst_library_load as it does more harm than good with
21710         the new g_module flags.
21711         Revert bogus caps template check in pad linking, pad caps
21712         are important when linking not the template, which is more
21713         general than the current caps.
21714
21715 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21716
21717         * gst/autoplug/.cvsignore:
21718         * gst/autoplug/Makefile.am:
21719         * gst/autoplug/gstsearchfuncs.c:
21720         * gst/autoplug/gstsearchfuncs.h:
21721         * gst/autoplug/gstspider.c:
21722         * gst/autoplug/gstspider.h:
21723         * gst/autoplug/gstspideridentity.c:
21724         * gst/autoplug/gstspideridentity.h:
21725         * gst/autoplug/spidertest.c:
21726           Die, spider, die.
21727
21728 2005-04-25  Wim Taymans  <wim@fluendo.com>
21729
21730         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
21731         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
21732         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
21733         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
21734         * gst/gstpad.h:
21735         Added stubs for unimplemented functions. 
21736
21737 2005-04-24  David Schleef  <ds@schleef.org>
21738
21739         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
21740         please fix.
21741
21742 2005-04-24  David Schleef  <ds@schleef.org>
21743
21744         Convert everything from GstAtomicInt to g_atomic_int_*, and
21745         remove gstatomic.
21746         * gst/Makefile.am:
21747         * gst/gstatomic.c:
21748         * gst/gstatomic.h:
21749         * gst/gstatomic_impl.h:
21750         * gst/gstbuffer.c:
21751         * gst/gstcaps.c:
21752         * gst/gstcaps.h:
21753         * gst/gstclock.c:
21754         * gst/gstclock.h:
21755         * gst/gstdata.c:
21756         * gst/gstdata.h:
21757         * gst/gstdata_private.h:
21758         * gst/gstevent.c:
21759         * gst/gstinfo.c:
21760         * gst/gstinfo.h:
21761         * gst/gstmessage.c:
21762         * gst/gstobject.c:
21763         * gst/gstobject.h:
21764         * gst/gststructure.c:
21765         * gst/gststructure.h:
21766         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
21767         * gst/gstutils.h:
21768
21769 2005-04-24  David Schleef  <ds@schleef.org>
21770
21771         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
21772         make the regressions tests work.  Remove some code that is no
21773         longer true.
21774         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
21775         Disable warning for pads without templates.
21776
21777 2005-04-24  David Schleef  <ds@schleef.org>
21778
21779         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
21780         functions that handle filtered links.
21781         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
21782         removed functions.
21783         * gst/gstutils.c: Fix/remove utility functions that handle
21784         filtered caps.
21785         * gst/gstutils.h:
21786         * gst/gstvalue.c: Add serialization/deserialization of caps
21787         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
21788         requires fixing so that the filter caps notation creates
21789         a capsfilter element and sets the filter_caps property.  I
21790         think everyone probably wants to keep the shorthand notation.
21791         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
21792         * docs/gst/tmpl/gstpad.sgml:
21793
21794         * gst/elements/gstelements.c: Register capsfilter element.
21795         * gst/Makefile.am: fix spacing
21796         * docs/random/ds/0.9-suggested-changes: random
21797
21798 2005-04-23  David Schleef  <ds@schleef.org>
21799
21800         * gst/elements/Makefile.am:
21801         * gst/elements/gstcapsfilter.c: New element that acts like an
21802         identity, but filters caps.  Will eventually replace filtered
21803         caps in pad linking.
21804         * gst/gstutils.c: (gst_element_create_all_pads): New function
21805         to create all the ALWAYS pads that are registered with an
21806         element class.  This functionality should eventually be
21807         merged in with GstElement initialization.
21808         * gst/gstutils.h:
21809         * testsuite/trigger/README: part of trigger test code that should
21810         have been checked in a long time ago.
21811
21812 2005-04-23  David Schleef  <ds@schleef.org>
21813
21814         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
21815         needed with new versions of libtool (nobody will confirm this),
21816         and hard to carry around.
21817         * gst/autoplug/Makefile.am:
21818         * gst/base/Makefile.am:
21819         * gst/elements/Makefile.am:
21820         * gst/indexers/Makefile.am:
21821         * gst/schedulers/Makefile.am:
21822         * libs/gst/bytestream/Makefile.am:
21823         * libs/gst/control/Makefile.am:
21824         * libs/gst/dataprotocol/Makefile.am:
21825         * libs/gst/getbits/Makefile.am:
21826
21827 2005-04-21  Wim Taymans  <wim@fluendo.com>
21828
21829         * docs/design/draft-push-pull.txt:
21830         * docs/design/part-MT-refcounting.txt:
21831         * docs/design/part-TODO.txt:
21832         * docs/design/part-caps.txt:
21833         * docs/design/part-events.txt:
21834         * docs/design/part-gstbus.txt:
21835         * docs/design/part-gstpipeline.txt:
21836         * docs/design/part-messages.txt:
21837         * docs/design/part-push-pull.txt:
21838         * docs/design/part-query.txt:
21839         Some more docs.
21840
21841 2005-04-21  Wim Taymans  <wim@fluendo.com>
21842
21843         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
21844         (gst_message_new), (gst_message_new_error),
21845         (gst_message_new_warning), (gst_message_new_tag),
21846         (gst_message_new_state_changed), (gst_message_new_application),
21847         (gst_message_get_structure):
21848         * gst/gstmessage.h:
21849         * gst/gststructure.c: (gst_structure_set_parent_refcount),
21850         (gst_structure_copy_conditional):
21851         Use parent refcount in GstMessage to ensure GstStructure
21852         consistency.
21853         Cleaned up headers a bit.
21854         
21855
21856 2005-04-20  Wim Taymans  <wim@fluendo.com>
21857
21858         * gst/base/gstbasesink.c: (gst_basesink_base_init),
21859         (gst_basesink_pad_getcaps), (gst_basesink_init),
21860         (gst_basesink_chain_unlocked):
21861         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
21862         (gst_type_find_helper):
21863         * gst/elements/gsttypefindelement.c:
21864         (gst_type_find_element_have_type), (gst_type_find_element_init),
21865         (stop_typefinding), (gst_type_find_element_handle_event),
21866         (find_suggest), (gst_type_find_element_chain),
21867         (gst_type_find_element_checkgetrange),
21868         (gst_type_find_element_getrange), (do_typefind),
21869         (gst_type_find_element_activate):
21870         * gst/gstbuffer.c: (_gst_buffer_sub_free),
21871         (gst_buffer_default_free), (gst_buffer_default_copy),
21872         (gst_buffer_set_caps):
21873         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
21874         (gst_caps_replace):
21875         * gst/gstmessage.c: (gst_message_new),
21876         (gst_message_new_state_changed):
21877         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
21878         (gst_pad_set_checkgetrange_function),
21879         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
21880         (gst_pad_set_caps), (gst_pad_check_pull_range),
21881         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
21882         * gst/gstpad.h:
21883         * gst/gsttypefind.c: (gst_type_find_register):
21884         Make gst_caps_replace() work like other _replace() functions.
21885         Use _caps_replace() where possible.
21886         Make sure _message_new() initialises its field.
21887         Add gst_static_pad_template_get_caps()
21888
21889
21890 2005-04-18  Andy Wingo  <wingo@pobox.com>
21891
21892         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
21893         on the peer, not the pad. I think that was a typo. Pass an extra
21894         arg to see if random access is possible. Activate the pads as
21895         PULL_RANGE if possible.
21896
21897         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
21898
21899         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
21900         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
21901         to PROP_....
21902
21903 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21904
21905         * docs/faq/using.xml:
21906           Add note on gstreamer-properties (#154996).
21907
21908 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21909
21910         * docs/random/bbb/optional-properties:
21911           Some analysis on optional properties.
21912
21913 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21914
21915         * docs/gst/tmpl/gstelementfactory.sgml:
21916         * gst/gstelement.h:
21917         * gst/gstelementfactory.c: (gst_element_factory_init),
21918         (gst_element_factory_cleanup), (gst_element_register),
21919         (__gst_element_factory_add_static_pad_template),
21920         (gst_element_factory_get_static_pad_templates),
21921         (gst_element_factory_can_src_caps),
21922         (gst_element_factory_can_sink_caps):
21923         * gst/registries/Makefile.am:
21924         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
21925         (gst_xml_registry_class_init), (gst_xml_registry_init),
21926         (gst_xml_registry_new), (gst_xml_registry_set_property),
21927         (gst_xml_registry_get_property), (get_time), (make_dir),
21928         (gst_xml_registry_get_perms_func),
21929         (plugin_times_older_than_recurse), (plugin_times_older_than),
21930         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
21931         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
21932         (add_to_char_array), (read_string), (read_uint), (read_enum),
21933         (load_pad_template), (load_feature), (load_plugin), (load_paths),
21934         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
21935         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
21936         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
21937         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
21938         (gst_xml_registry_rebuild):
21939         * gst/registries/gstlibxmlregistry.h:
21940         * tools/gst-compprep.c: (main):
21941         * tools/gst-inspect.c: (print_pad_templates_info):
21942         * tools/gst-xmlinspect.c: (print_element_info):
21943           Use libxml2 for registry parsing, use staticpadtemplates in
21944           elementfactories. Makes gst_init() +/- 10x faster.
21945
21946 2005-04-12  Wim Taymans  <wim@fluendo.com>
21947
21948         * gst/base/Makefile.am:
21949         * gst/base/gstbasesink.c: (gst_basesink_base_init),
21950         (gst_basesink_pad_getcaps), (gst_basesink_init),
21951         (gst_basesink_event), (gst_basesink_change_state):
21952         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
21953         (gst_basesrc_init), (gst_basesrc_query),
21954         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
21955         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
21956         (gst_basesrc_check_get_range), (gst_basesrc_loop),
21957         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
21958         (gst_basesrc_stop), (gst_basesrc_activate),
21959         (gst_basesrc_change_state):
21960         * gst/base/gsttypefindhelper.c: (helper_find_peek),
21961         (helper_find_suggest), (gst_type_find_helper):
21962         * gst/base/gsttypefindhelper.h:
21963         * gst/elements/Makefile.am:
21964         * gst/elements/gstelements.c:
21965         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
21966         (gst_fakesink_get_times), (gst_fakesink_event),
21967         (gst_fakesink_preroll), (gst_fakesink_render):
21968         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
21969         (gst_fakesrc_init), (gst_fakesrc_event_handler),
21970         (gst_fakesrc_get_property), (gst_fakesrc_create),
21971         (gst_fakesrc_start), (gst_fakesrc_stop):
21972         * gst/elements/gstfakesrc.h:
21973         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
21974         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
21975         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
21976         (gst_filesrc_create_read), (gst_filesrc_create),
21977         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
21978         (gst_filesrc_start):
21979         * gst/elements/gsttypefindelement.c:
21980         (gst_type_find_element_have_type), (gst_type_find_element_init),
21981         (start_typefinding), (stop_typefinding), (push_buffer_store),
21982         (gst_type_find_element_handle_event),
21983         (gst_type_find_element_chain),
21984         (gst_type_find_element_checkgetrange),
21985         (gst_type_find_element_getrange), (do_typefind),
21986         (gst_type_find_element_activate),
21987         (gst_type_find_element_change_state):
21988         * gst/elements/gsttypefindelement.h:
21989         * gst/gstpipeline.c: (pipeline_bus_handler):
21990         Added typefind helper.
21991         Small preroll fix in the base sink.
21992         Disable typefind code in basesrc.
21993         Crude port of typefindelement.
21994         Fakesrc cleanups.
21995
21996
21997 2005-04-11  Wim Taymans  <wim@fluendo.com>
21998
21999         * check/gst/gstbus.c: (gstbus_suite):
22000         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
22001         * check/gstcheck.h:
22002           Fix up the timeout so that the test does not fail.
22003
22004 2005-04-06  Wim Taymans  <wim@fluendo.com>
22005
22006         * gst/base/README:
22007         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
22008         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
22009         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
22010         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
22011         (gst_basesrc_check_get_range), (gst_basesrc_loop),
22012         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
22013         (gst_basesrc_stop), (gst_basesrc_activate),
22014         (gst_basesrc_change_state), (basesrc_find_peek),
22015         (basesrc_find_suggest), (gst_basesrc_type_find):
22016         * gst/base/gstbasesrc.h:
22017         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
22018         (gst_filesrc_class_init), (gst_filesrc_init),
22019         (gst_filesrc_finalize), (gst_filesrc_set_location),
22020         (gst_filesrc_set_property), (gst_filesrc_get_property),
22021         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
22022         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
22023         (gst_filesrc_create_read), (gst_filesrc_create),
22024         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
22025         * gst/elements/gstfilesrc.h:
22026         * gst/gstelement.c: (gst_element_get_state_func),
22027         (gst_element_lost_state), (gst_element_pads_activate):
22028         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
22029         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
22030         (gst_pad_pull_range):
22031         * gst/gstpad.h:
22032         More work on the generic source base class, implement seeking,
22033         query.
22034         Make filesrc extend the base source class.
22035         Added gst_pad_set_checkgetrange_function to GstPad.
22036
22037 2005-04-06  Andy Wingo  <wingo@pobox.com>
22038
22039         * pkgconfig/gstreamer-base.pc.in:
22040         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
22041
22042         * pkgconfig/Makefile.am:
22043         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
22044
22045 2005-04-04  Wim Taymans  <wim@fluendo.com>
22046
22047         * gst/base/Makefile.am:
22048         * gst/base/README:
22049         * gst/base/gstbasesink.c: (gst_basesink_base_init),
22050         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
22051         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
22052         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
22053         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
22054         (gst_basesrc_base_init), (gst_basesrc_class_init),
22055         (gst_basesrc_init), (gst_basesrc_get_formats),
22056         (gst_basesrc_get_query_types), (gst_basesrc_query),
22057         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
22058         (gst_basesrc_set_property), (gst_basesrc_get_property),
22059         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
22060         (gst_basesrc_loop), (gst_basesrc_activate),
22061         (gst_basesrc_change_state):
22062         * gst/base/gstbasesrc.h:
22063         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
22064         (gst_fakesrc_class_init), (gst_fakesrc_init),
22065         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
22066         (gst_fakesrc_get_property), (gst_fakesrc_create):
22067         * gst/elements/gstfakesrc.h:
22068         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
22069         (gst_filesrc_open_file), (gst_filesrc_loop),
22070         (gst_filesrc_activate), (filesrc_find_peek),
22071         (gst_filesrc_type_find):
22072         Made base source class, make fakesrc extend it.
22073         Add comments to basesink class.
22074         Some filesrc cleanup.
22075
22076 2005-03-31  David Schleef  <ds@schleef.org>
22077
22078         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
22079         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
22080         expected to link against libgstreamer.
22081         * gst/base/Makefile.am: link against libgstreamer
22082         * gst/elements/Makefile.am: same
22083
22084 2005-03-31  Andy Wingo  <wingo@pobox.com>
22085
22086         * tests/instantiate/Makefile.am:
22087         * tests/instantiate/caps.c: Add test to test speed of caps copy
22088         and free.
22089
22090         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
22091         GMemChunk to be fair.
22092
22093         * gst/gsttrashstack.h: Remove warning about using the fallback
22094         trash stack implementation, it's still faster than malloc.
22095
22096 2005-03-30  Andy Wingo  <wingo@pobox.com>
22097
22098         * tests/complexity.c: Add a copyright.
22099
22100 2005-03-31  Wim Taymans  <wim@fluendo.com>
22101
22102         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
22103         (gst_base_transform_class_init), (gst_base_transform_init),
22104         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
22105         (gst_base_transform_get_property),
22106         (gst_base_transform_sink_activate),
22107         (gst_base_transform_src_activate),
22108         (gst_base_transform_change_state):
22109         * gst/base/gstbasetransform.h:
22110         * gst/elements/gstidentity.c: (gst_identity_class_init),
22111         (gst_identity_event), (gst_identity_check_perfect),
22112         (gst_identity_transform), (gst_identity_start),
22113         (gst_identity_stop):
22114         Added start/stop methods to transform base class so subclasses 
22115         don't need to deal with state changes even.
22116
22117 2005-03-31  Wim Taymans  <wim@fluendo.com>
22118
22119         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
22120         (gst_event_new_discontinuous), (gst_event_discont_get_value):
22121         * gst/gstevent.h:
22122         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
22123         (gst_pad_pull_range):
22124         Added rate to the discont event to prepare for variable speed
22125         and reverse playback.
22126
22127 2005-03-29  David Schleef  <ds@schleef.org>
22128
22129         * configure.ac:
22130         * testsuite/trigger/Makefile.am:
22131         * testsuite/trigger/trigger.c: A little example program to show
22132         how trigger-based elements can work.
22133
22134 2005-03-29  Wim Taymans  <wim@fluendo.com>
22135
22136         * gst/base/Makefile.am:
22137         * gst/base/README:
22138         * gst/base/gstbasesink.c: (gst_basesink_get_type),
22139         (gst_basesink_base_init), (gst_basesink_class_init),
22140         (gst_basesink_pad_getcaps), (gst_basesink_init),
22141         (gst_basesink_activate), (gst_basesink_change_state):
22142         * gst/base/gstbasesink.h:
22143         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
22144         (gst_base_transform_base_init), (gst_base_transform_finalize),
22145         (gst_base_transform_class_init), (gst_base_transform_init),
22146         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
22147         (gst_base_transform_event), (gst_base_transform_getrange),
22148         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
22149         (gst_base_transform_set_property),
22150         (gst_base_transform_get_property),
22151         (gst_base_transform_sink_activate),
22152         (gst_base_transform_src_activate),
22153         (gst_base_transform_change_state):
22154         * gst/base/gstbasetransform.h:
22155         * gst/elements/gstidentity.c: (gst_identity_finalize),
22156         (gst_identity_class_init), (gst_identity_init),
22157         (gst_identity_event), (gst_identity_check_perfect),
22158         (gst_identity_transform), (gst_identity_set_property),
22159         (gst_identity_get_property), (gst_identity_change_state):
22160         * gst/elements/gstidentity.h:
22161         * gst/gstelement.c: (gst_element_get_state_func),
22162         (gst_element_lost_state), (gst_element_pads_activate):
22163         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
22164         (gst_pad_check_pull_range), (gst_pad_pull_range):
22165         * gst/gstpad.h:
22166         Simplify pad activation.
22167         Added function to check if pull_range can be performed.
22168         Error out when pulling inactive or flushing pads.
22169         Removed const from refcounted types as it does not make sense.
22170         Simplify pad templates in basesink
22171         Added base class for simple 1-to-1 transforms.
22172         Make identity subclass the base transform.
22173
22174 2005-03-29  Andy Wingo  <wingo@pobox.com>
22175
22176         * docs/libs/gstreamer-libs-overrides.txt: 
22177         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
22178         really don't understand what's going on, but like whatever. I want
22179         green buildbot!
22180
22181         * docs/gst/Makefile.am:
22182         * docs/libs/Makefile.am: Dist the overrides files.
22183
22184         * check/Makefile.am (clean-local): Remove .libs directories.
22185
22186         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
22187         elements to EXTRA_DIST, so po/ files are happy.
22188
22189         * po/POTFILES.in: Er, remove it here.
22190
22191         * po/POTFILES: Remove gstspider.c.
22192
22193         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
22194
22195         * docs/libs/gstreamer-libs-docs.sgml: 
22196         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
22197         bytestream.
22198
22199         * tests/complexity.c (main): Set the length of the preroll queue
22200         on the sinks to prevent a lockup.
22201
22202         * libs/gst/dataprotocol/Makefile.am: 
22203         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
22204         the same as the one in check/gst-libs/gdp.c.
22205
22206         * po/, docs/gst/: Commit automatic changes to docs and po files.
22207
22208         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
22209         the versioned libgstbase.
22210
22211         * check/Makefile.am: Depend on an unversioned gst-register, seems
22212         to make autoconf happier.
22213
22214         * gst/base/Makefile.am: Make libgstbase a versioned lib.
22215
22216 2005-03-28  Wim Taymans  <wim@fluendo.com>
22217
22218         * configure.ac:
22219         * docs/design/part-gstelement.txt:
22220         * docs/design/part-negotiation.txt:
22221         * docs/design/part-preroll.txt:
22222         * docs/design/part-scheduling.txt:
22223         * docs/design/part-states.txt:
22224         * gst/Makefile.am:
22225         * gst/base/Makefile.am:
22226         * gst/base/README:
22227         * gst/base/gstbasesink.c: (gst_basesink_get_template),
22228         (gst_basesink_base_init), (gst_basesink_class_init),
22229         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
22230         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
22231         (gst_basesink_set_pad_functions),
22232         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
22233         (gst_basesink_set_property), (gst_basesink_get_property),
22234         (gst_base_sink_get_template), (gst_base_sink_get_caps),
22235         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
22236         (gst_basesink_preroll_queue_push),
22237         (gst_basesink_preroll_queue_empty),
22238         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
22239         (gst_basesink_event), (gst_basesink_get_times),
22240         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
22241         (gst_basesink_chain_unlocked), (gst_basesink_chain),
22242         (gst_basesink_loop), (gst_basesink_activate),
22243         (gst_basesink_change_state):
22244         * gst/base/gstbasesink.h:
22245         * gst/elements/Makefile.am:
22246         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
22247         (gst_fakesink_class_init), (gst_fakesink_init),
22248         (gst_fakesink_set_property), (gst_fakesink_get_property),
22249         (gst_fakesink_get_times), (gst_fakesink_event),
22250         (gst_fakesink_preroll), (gst_fakesink_render),
22251         (gst_fakesink_change_state):
22252         * gst/elements/gstfakesink.h:
22253         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
22254         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
22255         * gst/gstelement.c: (gst_element_add_pad),
22256         (gst_element_get_state_func), (gst_element_abort_state),
22257         (gst_element_commit_state), (gst_element_lost_state),
22258         (gst_element_set_state), (gst_element_pads_activate):
22259         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
22260         * gst/gstpipeline.c: (gst_pipeline_send_event),
22261         (gst_pipeline_change_state):
22262         Added state change code.
22263         Added/updated docs.
22264         Added sink base class, make fakesink extend the base class.
22265         Small cleanups in GstPipeline.
22266
22267 2005-03-26  David Schleef  <ds@schleef.org>
22268
22269         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
22270         is broken and should be implemented in a different library.
22271         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
22272         * gst/gst.h: remove gstcpu.h
22273         * gst/gstcpu.c: remove
22274         * gst/gstcpu.h: remove
22275         * gst/Makefile.am.future: Remove this file.  It's ancient.
22276
22277 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22278
22279         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
22280         (gst_bin_send_event):
22281           Add default event/set_manager handlers. The set_manager handler
22282           takes care that the manager is distributed over kids that were
22283           already in the bin before the manager was set. The event handler
22284           is a utility virtual function that sends the event over all sinks,
22285           so that gst_element_send_event (bin, event); has the expected
22286           behaviour.
22287         * gst/gstpad.c: (gst_pad_event_default):
22288           Re-install default event handling for discontinuities, so that
22289           seeking works without requiring hacks in applications or extra
22290           code in sinks.
22291         * gst/gstpipeline.c: (gst_pipeline_class_init),
22292         (gst_pipeline_send_event):
22293           Half hack, half utility: set a pipeline to PAUSED for seek events,
22294           since that is the only way we can guarantee a/v sync. Means that
22295           you can do gst_element_seek (pipeline, method, pos); on a pipeline
22296           and it "just works".
22297
22298 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22299
22300         * gst/gstpipeline.c: (gst_pipeline_use_clock):
22301           Lock/unlock mismatch.
22302
22303 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
22304
22305         * docs/faq/gst-uninstalled:
22306           add gst-plugins-base
22307         * docs/gst/Makefile.am:
22308           don't error out until docs are fixed
22309         * docs/gst/gstreamer.types:
22310           remove thread
22311
22312 2005-03-22  Wim Taymans  <wim@fluendo.com>
22313
22314         * check/Makefile.am:
22315         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
22316         * gst/gststructure.c: (gst_structure_set_valist),
22317         (gst_structure_copy_conditional):
22318         Activated more tests.
22319         Added message test.
22320         Added G_TYPE_POINTER to GstStructure.
22321         
22322
22323 2005-03-22  Wim Taymans  <wim@fluendo.com>
22324
22325         * docs/design/part-TODO.txt:
22326         * docs/design/part-events.txt:
22327         * docs/design/part-gstbin.txt:
22328         * docs/design/part-gstbus.txt:
22329         * docs/design/part-gstpipeline.txt:
22330         * docs/design/part-messages.txt:
22331         * gst/gstbus.c:
22332         * gst/gstmessage.c:
22333         Docs updates
22334
22335 2005-03-21  Wim Taymans  <wim@fluendo.com>
22336
22337         * gst/gstbus.c: (gst_bus_post):
22338         Fix copy-and-paste error.
22339
22340 2005-03-21  Wim Taymans  <wim@fluendo.com>
22341
22342         * check/Makefile.am:
22343         * gst/Makefile.am:
22344         * gst/elements/Makefile.am:
22345         * gst/elements/gstelements.c:
22346         * gst/elements/gstfakesink.c: (gst_fakesink_init),
22347         (gst_fakesink_event), (gst_fakesink_chain):
22348         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
22349         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
22350         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
22351         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
22352         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
22353         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
22354         (gst_fakesrc_loop), (gst_fakesrc_activate),
22355         (gst_fakesrc_change_state):
22356         * gst/elements/gstfakesrc.h:
22357         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
22358         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
22359         (gst_filesrc_open_file), (gst_filesrc_loop),
22360         (gst_filesrc_activate), (gst_filesrc_change_state),
22361         (filesrc_find_peek), (filesrc_find_suggest),
22362         (gst_filesrc_type_find):
22363         * gst/elements/gstidentity.c: (gst_identity_finalize),
22364         (gst_identity_class_init), (gst_identity_init),
22365         (gst_identity_proxy_getcaps), (identity_queue_push),
22366         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
22367         (gst_identity_getrange), (gst_identity_chain),
22368         (gst_identity_sink_loop), (gst_identity_src_loop),
22369         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
22370         (gst_identity_set_property), (gst_identity_get_property),
22371         (gst_identity_change_state):
22372         * gst/elements/gstidentity.h:
22373         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
22374         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
22375         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
22376         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
22377         (gst_tee_sink_activate):
22378         * gst/elements/gsttee.h:
22379         * gst/gst.c: (gst_register_core_elements), (init_post):
22380         * gst/gst.h:
22381         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
22382         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
22383         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
22384         (gst_bin_change_state):
22385         * gst/gstbin.h:
22386         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
22387         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
22388         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
22389         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
22390         (gst_bus_set_sync_handler), (gst_bus_create_watch),
22391         (bus_watch_callback), (bus_watch_destroy),
22392         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
22393         (poll_timeout), (gst_bus_poll):
22394         * gst/gstbus.h:
22395         * gst/gstcaps.h:
22396         * gst/gstdata.h:
22397         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
22398         (gst_element_post_message), (gst_element_message_full),
22399         (gst_element_get_state_func), (gst_element_get_state),
22400         (gst_element_abort_state), (gst_element_commit_state),
22401         (gst_element_lost_state), (gst_element_set_state),
22402         (gst_element_pads_activate), (gst_element_change_state),
22403         (gst_element_dispose), (gst_element_set_manager_func),
22404         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
22405         (gst_element_set_manager), (gst_element_get_manager),
22406         (gst_element_set_bus), (gst_element_get_bus),
22407         (gst_element_set_scheduler), (gst_element_get_scheduler):
22408         * gst/gstelement.h:
22409         * gst/gstevent.c: (gst_event_new_segment_seek),
22410         (gst_event_new_flush):
22411         * gst/gstevent.h:
22412         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
22413         (_gst_message_free), (gst_message_get_type), (gst_message_new),
22414         (gst_message_new_eos), (gst_message_new_error),
22415         (gst_message_new_warning), (gst_message_new_tag),
22416         (gst_message_new_state_changed), (gst_message_new_application),
22417         (gst_message_get_structure), (gst_message_parse_tag),
22418         (gst_message_parse_state_changed), (gst_message_parse_error),
22419         (gst_message_parse_warning):
22420         * gst/gstmessage.h:
22421         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
22422         (gst_real_pad_set_property), (gst_pad_set_active),
22423         (gst_pad_is_active), (gst_pad_set_blocked_async),
22424         (gst_pad_set_blocked), (gst_pad_is_blocked),
22425         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
22426         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
22427         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
22428         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
22429         (gst_pad_link_filtered), (gst_pad_relink_filtered),
22430         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
22431         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
22432         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
22433         (gst_pad_set_caps), (gst_pad_configure_sink),
22434         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
22435         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
22436         (gst_real_pad_dispose), (gst_real_pad_finalize),
22437         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
22438         (gst_pad_event_default_dispatch), (gst_pad_event_default),
22439         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
22440         * gst/gstpad.h:
22441         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
22442         (pipeline_bus_handler), (gst_pipeline_change_state),
22443         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
22444         * gst/gstpipeline.h:
22445         * gst/gstprobe.h:
22446         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
22447         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
22448         (gst_queue_link_src), (gst_queue_bufferalloc),
22449         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
22450         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
22451         (gst_queue_loop), (gst_queue_handle_src_event),
22452         (gst_queue_handle_src_query), (gst_queue_src_activate),
22453         (gst_queue_change_state):
22454         * gst/gstqueue.h:
22455         * gst/gstscheduler.c: (gst_scheduler_init),
22456         (gst_scheduler_dispose), (gst_scheduler_create_task),
22457         (gst_scheduler_factory_create):
22458         * gst/gstscheduler.h:
22459         * gst/gststructure.c: (gst_structure_get_type),
22460         (gst_structure_copy_conditional):
22461         * gst/gststructure.h:
22462         * gst/gsttaginterface.h:
22463         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
22464         (gst_task_init), (gst_task_dispose), (gst_task_create),
22465         (gst_task_get_state), (gst_task_start), (gst_task_stop),
22466         (gst_task_pause):
22467         * gst/gsttask.h:
22468         * gst/gstthread.c:
22469         * gst/gstthread.h:
22470         * gst/gsttypes.h:
22471         * gst/schedulers/Makefile.am:
22472         * gst/schedulers/cothreads_compat.h:
22473         * gst/schedulers/entryscheduler.c:
22474         * gst/schedulers/faircothreads.c:
22475         * gst/schedulers/faircothreads.h:
22476         * gst/schedulers/fairscheduler.c:
22477         * gst/schedulers/gstbasicscheduler.c:
22478         * gst/schedulers/gstoptimalscheduler.c:
22479         * gst/schedulers/gthread-cothreads.h:
22480         * gst/schedulers/threadscheduler.c:
22481         (gst_thread_scheduler_task_get_type),
22482         (gst_thread_scheduler_task_class_init),
22483         (gst_thread_scheduler_task_init),
22484         (gst_thread_scheduler_task_start),
22485         (gst_thread_scheduler_task_stop),
22486         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
22487         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
22488         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
22489         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
22490         (plugin_init):
22491         * libs/gst/Makefile.am:
22492         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
22493         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
22494         (gst_file_pad_parent_set):
22495         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
22496         (gst_dp_event_from_packet):
22497         * tests/complexity.c: (main):
22498         * tests/mass_elements.c: (main):
22499         * testsuite/states/locked.c: (message_received), (main):
22500         * testsuite/states/parent.c: (main):
22501         * tools/gst-inspect.c: (print_element_flag_info),
22502         (print_implementation_info), (print_pad_info):
22503         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
22504         (main):
22505         * tools/gst-md5sum.c: (event_loop), (main):
22506         * tools/gst-typefind.c: (main):
22507         * tools/gst-xmlinspect.c: (print_element_info):
22508         Next big merge.
22509         Added GstBus for mainloop integration.
22510         Added GstMessage for sending notifications on the bus.
22511         Added GstTask as an abstraction for pipeline entry points.
22512         Removed GstThread.
22513         Removed Schedulers.
22514         Simplified GstQueue for multithreaded core.
22515         Made _link threadsafe, removed old capsnego.
22516         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
22517         Added pad blocking functions.
22518         Reworked scheduling functions in GstPad to prepare for
22519         scheduling updates soon.
22520         Moved events out of data stream.
22521         Simplified GstEvent types.
22522         Added return values to push/pull.
22523         Removed clocking from GstElement.
22524         Added prototypes for state change function for next merge.
22525         Removed iterate from bins and state change management.
22526         Fixed some elements, disabled others for now.
22527         Fixed -inspect and -launch.
22528         Added check for GstBus.
22529
22530 2005-03-10  Wim Taymans  <wim@fluendo.com>
22531
22532         * docs/design/part-MT-refcounting.txt:
22533         * docs/design/part-clocks.txt:
22534         * docs/design/part-gstelement.txt:
22535         * docs/design/part-gstobject.txt:
22536         * docs/design/part-standards.txt:
22537         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
22538         (gst_bin_remove_func), (gst_bin_remove):
22539         * gst/gstbin.h:
22540         * gst/gstbuffer.c:
22541         * gst/gstcaps.h:
22542         * testsuite/clock/clock1.c: (main):
22543         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
22544         (main):
22545         * testsuite/dlopen/loadgst.c: (do_test):
22546         * testsuite/refcounting/bin.c: (add_remove_test1),
22547         (add_remove_test2), (main):
22548         * testsuite/refcounting/element.c: (main):
22549         * testsuite/refcounting/element_pad.c: (main):
22550         * testsuite/refcounting/pad.c: (main):
22551         * tools/gst-launch.c: (sigint_handler_sighandler):
22552         * tools/gst-typefind.c: (main):
22553         Doc updates.
22554         Added doc about clock.
22555         removed gst_bin_iterate_recurse_up(), marked methods
22556         for removal.
22557         Fix more testsuites.
22558
22559 2005-03-09  Wim Taymans  <wim@fluendo.com>
22560
22561         * gst/gstpad.c: (gst_pad_get_direction),
22562         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
22563         (gst_pad_collect_valist):
22564         * testsuite/bins/interface.c: (main):
22565         * testsuite/caps/audioscale.c: (test_caps):
22566         * testsuite/caps/caps.c: (test1), (test2), (test3):
22567         * testsuite/caps/deserialize.c: (main):
22568         * testsuite/caps/enumcaps.c: (main):
22569         * testsuite/caps/filtercaps.c: (main):
22570         * testsuite/caps/intersect2.c: (main):
22571         * testsuite/caps/random.c: (main):
22572         * testsuite/caps/renegotiate.c: (my_fixate), (main):
22573         * testsuite/caps/sets.c: (check_caps):
22574         * testsuite/caps/simplify.c: (check_caps), (main):
22575         * testsuite/caps/subtract.c: (check_caps):
22576         Fix _pad_get_direction wrt ghostpads.
22577         Fix caps testsuite.
22578
22579 2005-03-09  Wim Taymans  <wim@fluendo.com>
22580
22581         * check/Makefile.am:
22582         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
22583         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
22584         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
22585         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
22586         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
22587         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
22588         (gst_bin_remove), (gst_bin_iterate_recurse_up),
22589         (bin_element_is_sink), (gst_bin_iterate_sinks),
22590         (gst_bin_iterate_all_by_interface):
22591         * gst/gstbin.h:
22592         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
22593         (gst_element_change_state), (gst_element_dispose),
22594         (gst_element_finalize), (gst_element_set_loop_function):
22595         * gst/gstelement.h:
22596         * gst/gstiterator.c: (find_custom_fold_func):
22597         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
22598         (gst_pad_collectv), (gst_pad_collect_valist),
22599         (gst_pad_template_new):
22600         * gst/gstpipeline.c: (gst_pipeline_class_init),
22601         (gst_pipeline_dispose), (gst_pipeline_set_property),
22602         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
22603         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
22604         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
22605         * gst/gstutils.h:
22606         * gst/schedulers/entryscheduler.c:
22607         * gst/schedulers/gstbasicscheduler.c:
22608         (gst_basic_scheduler_cothreaded_chain),
22609         (gst_basic_scheduler_chain_add_element):
22610         * testsuite/bins/interface.c: (main):
22611         Added GstBin test.
22612         Added GstSystemClock test.
22613         Implemented clock distribution code in GstBin.
22614         Implemented iterate sinks method for future use.
22615         Rearranged gstelement.h
22616         Fix GstIterator comparison bug.
22617         Moved some code to GstPipeline, mostly clocking related.
22618
22619 2005-03-09  Wim Taymans  <wim@fluendo.com>
22620
22621         * configure.ac:
22622         * gst/gst_private.h:
22623         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
22624         (gst_bin_remove_func), (gst_bin_remove),
22625         (gst_bin_get_by_name_recurse_up):
22626         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
22627         (gst_clock_id_compare_func), (gst_clock_id_wait),
22628         (gst_clock_id_wait_async), (gst_clock_init),
22629         (gst_clock_adjust_unlocked), (gst_clock_get_time):
22630         * gst/gstelement.h:
22631         * gst/gstinfo.c: (_gst_debug_init):
22632         * gst/gstobject.h:
22633         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
22634         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
22635         * gst/gstpad.h:
22636         Bump version number, we're now 0.9.0
22637         Add future debugging category.
22638         Fix NULL _unref() in _get_by_name_recurse_up
22639         Rearrange gstpad.h.
22640         Update some docs.
22641
22642 2005-03-08  Wim Taymans  <wim@fluendo.com>
22643
22644         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
22645         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
22646         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
22647         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
22648         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
22649         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
22650         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
22651         * gst/elements/gstidentity.c: (gst_identity_class_init):
22652         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
22653         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
22654         * gst/elements/gstshaper.c: (gst_shaper_class_init):
22655         * gst/elements/gststatistics.c: (gst_statistics_class_init):
22656         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
22657         (gst_tee_link):
22658         * gst/gstelement.c: (gst_element_class_init),
22659         (gst_element_base_class_init), (gst_element_init),
22660         (gst_element_get_random_pad), (gst_element_wait_state_change),
22661         (gst_element_change_state), (gst_element_dispose),
22662         (gst_element_finalize), (gst_element_set_loop_function):
22663         * gst/gstelement.h:
22664         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
22665         * gst/gstthread.c: (gst_thread_class_init),
22666         (gst_thread_release_children_locks), (gst_thread_change_state):
22667         * gst/schedulers/gstbasicscheduler.c:
22668         (gst_basic_scheduler_loopfunc_wrapper),
22669         (gst_basic_scheduler_chain_wrapper),
22670         (gst_basic_scheduler_src_wrapper),
22671         (gst_basic_scheduler_remove_element):
22672         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
22673         Remove threadsafe properties. Fix elements because GObject
22674         complains when installing a property before declaring a
22675         set/get_property handler.
22676         Rearrange gstelement.h file, use STATE macros for state locks.
22677         Free mutexes in the finalize method instead of dispose.
22678
22679 2005-03-08  Wim Taymans  <wim@fluendo.com>
22680
22681         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
22682         * gst/gstthread.c: (gst_thread_release_children_locks):
22683         Added parentage check.
22684         Fix build og GstThread again.
22685
22686 2005-03-08  Wim Taymans  <wim@fluendo.com>
22687
22688         * docs/design/part-MT-refcounting.txt:
22689         * docs/design/part-conventions.txt:
22690         * docs/design/part-gstobject.txt:
22691         * docs/design/part-relations.txt:
22692         * docs/design/part-standards.txt:
22693         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
22694         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
22695         (gst_bin_get_by_name), (gst_bin_get_by_interface),
22696         (gst_bin_iterate_all_by_interface):
22697         * gst/gstbuffer.h:
22698         * gst/gstclock.h:
22699         * gst/gstelement.c: (gst_element_class_init),
22700         (gst_element_change_state), (gst_element_set_loop_function):
22701         * gst/gstelement.h:
22702         * gst/gstiterator.c:
22703         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
22704         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
22705         (gst_object_dispatch_properties_changed), (gst_object_set_name),
22706         (gst_object_set_parent), (gst_object_unparent),
22707         (gst_object_check_uniqueness):
22708         * gst/gstobject.h:
22709         Docs updates, clean up some headers.
22710
22711 2005-03-07  Wim Taymans  <wim@fluendo.com>
22712
22713         * check/.cvsignore:
22714         * check/Makefile.am:
22715         * check/gst-libs/.cvsignore:
22716         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
22717         * check/gst/.cvsignore:
22718         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
22719         (START_TEST), (gstbus_suite), (main):
22720         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
22721         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
22722         (gst_data_suite), (main):
22723         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
22724         (add_fold_func), (gstiterator_suite), (main):
22725         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
22726         (thread_name_object), (thread_name_object_default),
22727         (gst_object_name_compare), (gst_object_suite), (main):
22728         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
22729         (gst_pad_suite), (main):
22730         * check/gstcheck.c: (gst_check_log_message_func),
22731         (gst_check_log_critical_func), (gst_check_init):
22732         * check/gstcheck.h:
22733         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
22734         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
22735         Added checks.
22736
22737 2005-03-07  Wim Taymans  <wim@fluendo.com>
22738
22739         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
22740         (gst_list_iterator_next), (gst_list_iterator_resync),
22741         (gst_list_iterator_free), (gst_iterator_new_list),
22742         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
22743         (gst_iterator_free), (gst_iterator_push), (filter_next),
22744         (filter_resync), (filter_uninit), (filter_free),
22745         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
22746         (gst_iterator_foreach), (find_custom_fold_func),
22747         (gst_iterator_find_custom):
22748         * gst/gstiterator.h:
22749         Added missing files.
22750
22751 2005-03-07  Wim Taymans  <wim@fluendo.com>
22752
22753         * Makefile.am:
22754         * configure.ac:
22755         * docs/design/part-MT-refcounting.txt:
22756         * docs/design/part-conventions.txt:
22757         * docs/design/part-gstobject.txt:
22758         * docs/design/part-relations.txt:
22759         * examples/mixer/mixer.c: (main):
22760         * examples/thread/thread.c: (eos), (main):
22761         * gst/Makefile.am:
22762         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
22763         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
22764         (gst_spider_plug_from_srcpad):
22765         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
22766         (gst_spider_identity_change_state),
22767         (gst_spider_identity_sink_loop_type_finding):
22768         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
22769         * gst/elements/gstidentity.c: (gst_identity_init):
22770         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
22771         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
22772         * gst/elements/gsttypefindelement.c: (free_entry):
22773         * gst/gst.c:
22774         * gst/gst.h:
22775         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
22776         (gst_bin_set_clock_func), (gst_bin_auto_clock),
22777         (gst_bin_set_index), (gst_bin_set_element_sched),
22778         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
22779         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
22780         (gst_bin_iterate_elements), (iterate_child_recurse),
22781         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
22782         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
22783         (compare_interface), (gst_bin_get_by_interface),
22784         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
22785         * gst/gstbin.h:
22786         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
22787         (gst_buffer_default_free), (gst_buffer_default_copy),
22788         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
22789         (gst_buffer_create_sub):
22790         * gst/gstbuffer.h:
22791         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
22792         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
22793         (gst_caps_unref), (gst_static_caps_get),
22794         (gst_caps_remove_and_get_structure), (gst_caps_append),
22795         (gst_caps_append_structure), (gst_caps_remove_structure),
22796         (gst_caps_copy_nth), (gst_caps_set_simple),
22797         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
22798         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
22799         (gst_caps_structure_intersect_field), (gst_caps_intersect),
22800         (gst_caps_structure_subtract_field), (gst_caps_subtract),
22801         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
22802         (gst_caps_structure_figure_out_union),
22803         (gst_caps_switch_structures), (gst_caps_do_simplify),
22804         (gst_caps_replace), (gst_caps_from_string),
22805         (gst_caps_copy_conditional):
22806         * gst/gstcaps.h:
22807         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
22808         (_gst_clock_id_free), (gst_clock_id_unref),
22809         (gst_clock_id_compare_func), (gst_clock_id_wait),
22810         (gst_clock_id_wait_async), (gst_clock_class_init),
22811         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
22812         (gst_clock_get_time), (gst_clock_set_time_adjust),
22813         (gst_clock_set_property), (gst_clock_get_property):
22814         * gst/gstclock.h:
22815         * gst/gstcompat.h:
22816         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
22817         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
22818         * gst/gstdata.h:
22819         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
22820         (gst_element_requires_clock), (gst_element_provides_clock),
22821         (gst_element_set_clock), (gst_element_clock_wait),
22822         (gst_element_wait), (gst_element_set_time_delay),
22823         (gst_element_is_indexable), (gst_element_add_pad),
22824         (gst_element_add_ghost_pad), (gst_element_remove_pad),
22825         (pad_compare_name), (gst_element_get_static_pad),
22826         (gst_element_request_pad), (gst_element_get_request_pad),
22827         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
22828         (gst_element_class_get_pad_template_list),
22829         (gst_element_class_get_pad_template), (gst_element_error_func),
22830         (gst_element_get_random_pad), (gst_element_get_event_masks),
22831         (gst_element_send_event), (gst_element_seek),
22832         (gst_element_get_query_types), (gst_element_query),
22833         (gst_element_get_formats), (gst_element_convert),
22834         (gst_element_is_locked_state), (gst_element_set_locked_state),
22835         (gst_element_sync_state_with_parent), (gst_element_change_state),
22836         (gst_element_finalize), (gst_element_yield),
22837         (gst_element_interrupt), (gst_element_set_scheduler),
22838         (gst_element_get_scheduler), (gst_element_set_loop_function):
22839         * gst/gstelement.h:
22840         * gst/gstevent.h:
22841         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
22842         (gst_format_get_by_nick), (gst_format_get_details),
22843         (gst_format_iterate_definitions):
22844         * gst/gstformat.h:
22845         * gst/gstindex.c: (gst_index_gtype_resolver):
22846         * gst/gstinfo.c:
22847         * gst/gstinfo.h:
22848         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
22849         (gst_mem_chunk_free):
22850         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
22851         (gst_object_ref), (gst_object_unref), (gst_object_sink),
22852         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
22853         (gst_object_dispatch_properties_changed),
22854         (gst_object_set_name_default), (gst_object_set_name),
22855         (gst_object_get_name), (gst_object_set_name_prefix),
22856         (gst_object_get_name_prefix), (gst_object_set_parent),
22857         (gst_object_get_parent), (gst_object_unparent),
22858         (gst_object_check_uniqueness), (gst_object_save_thyself),
22859         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
22860         (gst_object_set_property), (gst_object_get_property),
22861         (gst_object_get_path_string):
22862         * gst/gstobject.h:
22863         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
22864         (gst_real_pad_init), (gst_real_pad_get_property),
22865         (gst_pad_custom_new), (gst_pad_get_direction),
22866         (gst_pad_set_active), (gst_pad_is_active),
22867         (gst_pad_set_event_function), (gst_pad_is_linked),
22868         (gst_pad_link_free), (gst_pad_link_intersect),
22869         (gst_pad_link_fixate), (gst_pad_set_caps),
22870         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
22871         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
22872         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
22873         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
22874         (gst_pad_get_caps), (gst_pad_peer_get_caps),
22875         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
22876         (gst_pad_realize), (gst_pad_get_allowed_caps),
22877         (gst_real_pad_dispose), (gst_real_pad_finalize),
22878         (gst_pad_collectv), (gst_pad_collect_valist),
22879         (gst_pad_template_dispose), (gst_pad_template_new),
22880         (gst_pad_get_internal_links):
22881         * gst/gstpad.h:
22882         * gst/gstpipeline.c: (gst_pipeline_dispose),
22883         (gst_pipeline_change_state):
22884         * gst/gstpipeline.h:
22885         * gst/gstplugin.c:
22886         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
22887         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
22888         * gst/gstpluginfeature.h:
22889         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
22890         * gst/gstquery.c: (_gst_query_type_initialize),
22891         (gst_query_type_register), (gst_query_type_get_by_nick),
22892         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
22893         * gst/gstquery.h:
22894         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
22895         * gst/gstscheduler.c: (gst_scheduler_add_element),
22896         (gst_scheduler_factory_create):
22897         * gst/gststructure.c: (gst_structure_set_parent_refcount),
22898         (gst_structure_free), (gst_structure_set_name),
22899         (gst_structure_id_set_value), (gst_structure_set_value),
22900         (gst_structure_set_valist), (gst_structure_remove_field),
22901         (gst_structure_remove_fields),
22902         (gst_structure_remove_fields_valist),
22903         (gst_structure_remove_all_fields), (gst_structure_foreach),
22904         (gst_structure_map_in_place),
22905         (gst_caps_structure_fixate_field_nearest_int),
22906         (gst_caps_structure_fixate_field_nearest_double):
22907         * gst/gststructure.h:
22908         * gst/gstsystemclock.c: (gst_system_clock_class_init),
22909         (gst_system_clock_init), (gst_system_clock_dispose),
22910         (gst_system_clock_async_thread),
22911         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
22912         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
22913         * gst/gstsystemclock.h:
22914         * gst/gsttag.c: (gst_tag_list_add_value_internal),
22915         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
22916         * gst/gsttaginterface.c:
22917         * gst/gstthread.c: (gst_thread_dispose),
22918         (gst_thread_release_children_locks), (gst_thread_change_state),
22919         (gst_thread_main_loop):
22920         * gst/gsttrashstack.h:
22921         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
22922         * gst/gsttypes.h:
22923         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
22924         (gst_element_request_pad), (gst_element_get_pad_from_template),
22925         (gst_element_request_compatible_pad),
22926         (gst_element_get_compatible_pad_filtered),
22927         (gst_element_get_compatible_pad), (gst_element_state_get_name),
22928         (gst_element_link_pads_filtered), (gst_element_link_filtered),
22929         (gst_element_link_many), (gst_element_link),
22930         (gst_element_link_pads), (gst_element_unlink_pads),
22931         (gst_element_unlink_many), (gst_element_unlink),
22932         (gst_pad_can_link_filtered), (gst_pad_can_link),
22933         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
22934         (gst_object_default_error), (gst_bin_add_many),
22935         (gst_bin_remove_many), (gst_element_populate_std_props),
22936         (gst_element_class_install_std_props), (gst_buffer_merge),
22937         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
22938         (link_fold_func), (gst_pad_proxy_setcaps):
22939         * gst/gstutils.h:
22940         * gst/gstvalue.c: (gst_value_deserialize_string):
22941         * gst/parse/grammar.y:
22942         * gst/schedulers/gstbasicscheduler.c:
22943         (gst_basic_scheduler_cothreaded_chain),
22944         (gst_basic_scheduler_chain_recursive_add),
22945         (gst_basic_scheduler_pad_link):
22946         * gst/schedulers/gstoptimalscheduler.c:
22947         (get_group_schedule_function),
22948         (gst_opt_scheduler_state_transition),
22949         (gst_opt_scheduler_add_element), (element_get_reachables_func):
22950         * libs/gst/bytestream/bytestream.c:
22951         * libs/gst/dataprotocol/dataprotocol.c:
22952         (gst_dp_header_from_buffer):
22953         * po/nb.po:
22954         * po/ru.po:
22955         * tests/threadstate/threadstate2.c: (eos):
22956         * tools/gst-compprep.c: (main):
22957         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
22958         (print_pad_info), (print_children_info):
22959         * tools/gst-launch.c: (idle_func), (main):
22960         * tools/gst-md5sum.c: (idle_func), (main):
22961         * tools/gst-xmlinspect.c: (print_element_info):
22962         First THREADED backport attempt, focusing on adding locks and
22963         making sure the API is threadsafe. Needs more work. More docs
22964         follow this week.
22965
22966 2005-02-24  Andy Wingo  <wingo@pobox.com>
22967
22968         * tests/bench-complexity.scm:
22969         * tests/complexity.gnuplot: New files, good for running complexity
22970         benchmarks.
22971
22972         * tests/Makefile.am:
22973         * tests/complexity.c: New test, sets up N elements, at each level
22974         teeing into M streams per element. Eeeenteresting.
22975
22976         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
22977         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
22978         running bench-mass_elements.scm.
22979
22980         * tests/bench-mass_elements.scm: New script, runs mass_elements
22981         for various numbers of identities, outputting the results to a
22982         file. Requires guile 1.6. Just for testing.
22983
22984 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
22985
22986         * gst/schedulers/fairscheduler.c:
22987           compile with debug disabled
22988
22989 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
22990
22991         * configure.ac:
22992           hunting season on 0.9 is now OPEN