libs/gst/base/gstbasesrc.c: Handle errors from the clock sync better, only UNSCHEDULE...
[platform/upstream/gstreamer.git] / ChangeLog
1 2007-03-22  Wim Taymans  <wim@fluendo.com>
2
3         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
4         Handle errors from the clock sync better, only UNSCHEDULED indicates a
5         WRONG_STATE and can silently pause the task. All other cases should
6         error out.
7
8 2007-03-22  Wim Taymans  <wim@fluendo.com>
9
10         Patch by: <syrjala at sci dot fi>
11
12         * gst/gstpad.c: (gst_pad_alloc_buffer_full), (gst_pad_send_event):
13         Fix possible deadlock if pad eventfunc is not specified.  Fixes #421177.
14         Improve debugging.
15
16 2007-03-21  Michael Smith  <msmith@fluendo.com>
17
18         * docs/pwg/advanced-types.xml:
19           Fix some errors in the typefinding docs pointed out on irc.
20
21 2007-03-21  Jan Schmidt  <thaytan@mad.scientist.com>
22
23         * libs/gst/base/gstbasesrc.c:
24         Clarify FIXME comment in the face of having added unlock_stop()
25
26 2007-03-21  Wim Taymans  <wim@fluendo.com>
27
28         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_element_set_state):
29         Prepare for release where we warn against possible app breakage in the
30         case of live pipelines along with an env var to enable/disable live
31         preroll mode (GST_COMPAT=[no-]live-preroll).
32
33 2007-03-20  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
34
35         * plugins/elements/gstidentity.c (gst_identity_check_imperfect_offset):
36         So we should use correct constants for checking for None offset.
37
38 2007-03-20  Wim Taymans  <wim@fluendo.com>
39
40         * docs/design/part-block.txt:
41         Mention the fact that the newly switched element should be set to at
42         least PAUSED.
43
44 2007-03-20  Wim Taymans  <wim@fluendo.com>
45
46         * gst/gst.c:
47         Fix compilation with registry disabled as spotted by Saur.
48
49 2007-03-20  Wim Taymans  <wim@fluendo.com>
50
51         Patch by: Olivier Crete <tester at tester dot ca>
52
53         * gst/gstelement.c: (gst_element_sync_state_with_parent):
54         Look at the pending state too when syncing the element state to the
55         parent. Fixes #420133.
56
57 2007-03-19  Jan Schmidt  <thaytan@mad.scientist.com>
58
59         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
60         (gst_base_sink_change_state):
61         * libs/gst/base/gstbasesink.h:
62         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
63         (gst_base_src_default_event), (gst_base_src_unlock_stop),
64         (gst_base_src_deactivate):
65         * libs/gst/base/gstbasesrc.h:
66         Add ::unlock_stop to basesrc and basesink. This allows an opportunity
67         for sub-classes to correctly clear any state they set trying to
68         unlock, such as clearing out unlock commands from a command fd.
69
70         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init),
71         (gst_fd_sink_render), (gst_fd_sink_unlock),
72         (gst_fd_sink_unlock_stop):
73         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init),
74         (gst_fd_src_init), (gst_fd_src_unlock), (gst_fd_src_unlock_stop),
75         (gst_fd_src_create), (gst_fd_src_get_size), (gst_fd_src_do_seek):
76
77         Implement unlock_stop in fdsrc and fdsink.
78         Implement seeking in fdsrc when a seekable fd is passed, as in
79         gst-launch-0.10 fdsrc ! ... ! xvimagesink < /path/to/file
80
81 2007-03-19  Wim Taymans  <wim@fluendo.com>
82
83         Patch by: Evan Nemerson <evan at coeus dash group dot com>
84
85         * gst/gstelement.c: (gst_element_class_init):
86         Fix pad-added and pad-removed signal signatures so that the pad type is
87         stated as GST_TYPE_PAD instead of G_TYPE_OBJECT. Fixes #419851.
88
89 2007-03-19  Wim Taymans  <wim@fluendo.com>
90
91         * docs/gst/gstreamer-sections.txt:
92         Add new element field and method.
93
94         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
95         (bin_remove_messages), (gst_bin_add_func), (gst_bin_remove_func),
96         (gst_bin_recalc_state), (gst_bin_get_state_func),
97         (gst_bin_element_set_state), (gst_bin_change_state_func),
98         (gst_bin_continue_func), (bin_bus_handler),
99         (bin_push_state_continue), (bin_handle_async_start),
100         (bin_handle_async_done), (gst_bin_handle_message_func):
101         Make async state changes a bit smarter by using new ASYNC_START and
102         ASYNC_DONE messages. This reduces the number of times we run the state
103         recalculation thread.
104         Don't change state of element with a pending ASYNC_START message.
105         Deprecate STATE_DIRTY messages.
106         
107         * gst/gstelement.c: (gst_element_init), (gst_element_send_event),
108         (gst_element_get_state_func), (gst_element_continue_state),
109         (gst_element_lost_state), (gst_element_set_state_func),
110         (gst_element_change_state):
111         * gst/gstelement.h:
112         Keep the state that was last set by the app in a new element field.
113         Don't allow state changes when handling an element event.
114         Post ASYNC_START and ASYNC_DONE messages.
115         Change lost_state so that we go to PAUSED and wait for the parent to set
116         us to PLAYING again (so latency calculation can be performed)
117         Export gst_element_change_state() method so that subclasses can use it.
118         API: gst_element_change_state()
119         API: GST_STATE_TARGET
120
121         * gst/gstpipeline.c: (gst_pipeline_class_init),
122         (reset_stream_time), (gst_pipeline_change_state),
123         (gst_pipeline_handle_message), (gst_pipeline_set_new_stream_time):
124         Using the new ASYNC_START message we can reset the base_time when
125         needed. This can then be used to implement base_time redistribution in
126         flushing seeks so that we can remove the explicit seek handling.
127         Perform latency query and configuration when going to PLAYING.
128
129         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
130         (gst_base_sink_query), (gst_base_sink_change_state):
131         Post new ASYNC_START/ASYNC_DONE messages.
132
133         * tests/check/generic/sinks.c: (GST_START_TEST):
134         Fix test because the bin will not set the async element to PLAYING right
135         away.
136
137         * tests/check/gst/gstbin.c: (pop_async_done), (GST_START_TEST):
138         Make the message check a little stronger.
139         Handle ASYNC messages.
140
141         * tests/check/pipelines/cleanup.c: (GST_START_TEST):
142         * tests/check/pipelines/simple-launch-lines.c: (GST_START_TEST):
143         Expect ASYNC_DONE messages.
144
145 2007-03-19  Wim Taymans  <wim@fluendo.com>
146
147         * docs/gst/gstreamer-sections.txt:
148         * gst/gstmessage.c: (gst_message_new_async_start),
149         (gst_message_new_async_done), (gst_message_parse_info),
150         (gst_message_parse_async_start):
151         * gst/gstmessage.h:
152         Add ASYNC_START and ASYNC_DONE messages to prepare for latency
153         support.
154
155 2007-03-15  Tim-Philipp Müller  <tim at centricular dot net>
156
157         * tools/gst-inspect.c:
158         (print_plugin_automatic_install_info_codecs):
159           Now that we don't check for the 'Codec' keyword any longer in the
160           klass, we shouldn't spew a warning if the klass isn't a decoder or
161           encoder (since it might be a Source/Network, for example).
162
163 2007-03-14  Tim-Philipp Müller  <tim at centricular dot net>
164
165         * tools/gst-inspect.c:
166         (print_plugin_automatic_install_info_codecs):
167           Don't require decoder/demuxer/depayloader elements or
168           encoder/muxer/paylader elements to have 'Codec' as part of their
169           factory class string when introspecting a plugin's capabilities.
170           draft-klass.txt mentions that it might be removed in future, and
171           flump3dec doesn't have it as part of its class string, so chances
172           are others might also not have it.
173
174 2007-03-14  Thomas Vander Stichele  <thomas at apestaart dot org>
175
176         * po/af.po:
177         * po/az.po:
178         * po/bg.po:
179         * po/ca.po:
180         * po/cs.po:
181         * po/de.po:
182         * po/en_GB.po:
183         * po/fr.po:
184         * po/it.po:
185         * po/nb.po:
186         * po/nl.po:
187         * po/ru.po:
188         * po/sq.po:
189         * po/sr.po:
190         * po/sv.po:
191         * po/tr.po:
192         * po/uk.po:
193         * po/vi.po:
194         * po/zh_CN.po:
195         * po/zh_TW.po:
196           Update translations from translation project
197
198 2007-03-14  Stefan Kost  <ensonic@users.sf.net>
199
200         * gst/gstchildproxy.c: (gst_child_proxy_get_property),
201         (gst_child_proxy_set_property):
202           Invert precondition check to be alike the ones in the mimiced gobject
203           api.
204
205 2007-03-13  Stefan Kost  <ensonic@users.sf.net>
206
207         * docs/design/draft-tagreading.txt:
208         * docs/random/ensonic/audiobaseclasses.txt:
209           Do some Architect work.
210
211         * gst/gstobject.c: (gst_object_set_name):
212           Add a WARNING.
213
214         * gst/gstpad.c:
215           Add docs that point from gst_pad_get_range to gst_pad_pull_range
216
217 2007-03-12  Jan Schmidt  <thaytan@mad.scientist.com>
218
219         * gst/gstsystemclock.c: (gst_system_clock_init),
220         (gst_system_clock_start_async), (gst_system_clock_id_wait_async):
221         Defer starting the async system clock thread until the first async
222         wait is scheduled. Fixes #414986.
223
224 2007-03-12  Tim-Philipp Müller  <tim at centricular dot net>
225
226         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_finalize),
227         (gst_single_queue_free):
228           Fix small leak (free GstSingleQueue structure too, not only contents).
229
230 2007-03-10  Sebastien Moutte  <sebastien@moutte.net>
231
232         * gst/gstbin.c:(gst_bin_add):
233         Use GST_STR_NULL to prevent NULL pointer to be passed to GST_CAT_DEBUG.
234         * win32/common/libgstbase.def:
235         * win32/common/libgstreamer.def:
236         Add new exported functions.
237
238 2007-03-09  Wim Taymans  <wim@fluendo.com>
239
240         * docs/plugins/gstreamer-plugins-sections.txt:
241         Fix GstTee docs.
242
243 2007-03-09  Wim Taymans  <wim@fluendo.com>
244
245         * docs/gst/gstreamer-sections.txt:
246         * gst/gstbuffer.c: (gst_buffer_copy_metadata), (_gst_buffer_copy):
247         * gst/gstbuffer.h:
248         Add metadata copy functions. Fixes #393099.
249
250         * gst/gstutils.c: (gst_buffer_stamp):
251         * libs/gst/base/gstbasetransform.c:
252         (gst_base_transform_prepare_output_buffer):
253         Use new metadata copy functions.
254
255 2007-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
256
257         * plugins/elements/gstidentity.c: (gst_identity_class_init),
258         (gst_identity_init), (gst_identity_check_perfect),
259         (gst_identity_check_imperfect_timestamp),
260         (gst_identity_check_imperfect_offset), (gst_identity_transform_ip),
261         (gst_identity_set_property), (gst_identity_get_property):
262         * plugins/elements/gstidentity.h:
263         Separate out check-imperfect-timestamp and check-imperfect-offset.
264         Put back check-perfect as it was to keep compatibility.
265
266 2007-03-09  Jan Schmidt  <thaytan@mad.scientist.com>
267
268         * gst/gstelement.c: (gst_element_dispose):
269         There's no need to warn if VOID_PENDING is not NONE here, as
270         long as the state is NULL it's ok, and that's checked immediately
271         above.
272
273 2007-03-08  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
274
275         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
276         Fix check for perfect stream to ignore buffers with -1 
277         offsets/offset ends when checking data contiguity.
278
279 2007-03-08  Wim Taymans  <wim@fluendo.com>
280
281         * tools/gst-launch.c: (event_loop):
282         Print INFO messages.
283
284 2007-03-08  Wim Taymans  <wim@fluendo.com>
285
286         * libs/gst/base/gstbasetransform.c:
287         (gst_base_transform_sink_eventfunc),
288         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
289         (gst_base_transform_activate):
290         * libs/gst/base/gstbasetransform.h:
291         Add support for dropping buffers with custom GstFlowReturn.
292         Set DISCONT flags on outgoing buffers based on QoS, incomming DISCONT
293         buffers or dropped buffers.
294
295         * docs/libs/gstreamer-libs-sections.txt:
296         docs for new custom return code.
297
298         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
299         Use drop support in base class to implement drop-probability.
300
301 2007-03-07  Tim-Philipp Müller  <tim at centricular dot net>
302
303         * gst/gst.c: (load_plugin_func):
304         * gst/gstplugin.c: (gst_plugin_load_by_name), (gst_plugin_load):
305         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
306         * gst/gsttrace.c: (gst_trace_new), (gst_alloc_trace_set_flags_all):
307           Remove newlines at end of debug log strings.
308
309 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
310
311         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
312         Only post bus message at max, once per buffer received.
313
314 2007-03-07  Wim Taymans  <wim@fluendo.com>
315
316         * docs/design/Makefile.am:
317         * docs/design/part-synchronisation.txt:
318         Add doc about synchronisation
319
320         * docs/design/draft-latency.txt:
321         * docs/design/part-TODO.txt:
322         * docs/design/part-clocks.txt:
323         * docs/design/part-events.txt:
324         * docs/design/part-gstbus.txt:
325         * docs/design/part-gstpipeline.txt:
326         * docs/design/part-live-source.txt:
327         * docs/design/part-messages.txt:
328         * docs/design/part-overview.txt:
329         * docs/design/part-streams.txt:
330         * docs/design/part-trickmodes.txt:
331         Documentation updates.
332
333 2007-03-07  Jan Schmidt  <thaytan@mad.scientist.com>
334
335         * gstreamer.doap:
336         Update the doap file.
337
338 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
339
340         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
341         Rename non-perfect to imperfect for Mike and for the sanctity of the
342         language.
343         Also make sure bus message gets emitted for data-incontiguities.
344
345 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
346
347         * plugins/elements/gstidentity.c: (gst_identity_check_perfect),
348         (gst_identity_start):
349         * plugins/elements/gstidentity.h:
350         Emit bus message if check-perfect is true and we encounter a
351         non-perfect stream between 2 consecutive buffers.
352         Fixes #415394.
353
354 2007-03-07  Jan Schmidt  <thaytan@mad.scientist.com>
355
356         * configure.ac:
357         Back to CVS
358
359 === release 0.10.12 ===
360
361 2007-03-07  Jan Schmidt <thaytan@mad.scientist.com>
362
363         * configure.ac:
364           releasing 0.10.12, "Inevitable Demise"
365
366 2007-03-01  Jan Schmidt  <thaytan@mad.scientist.com>
367
368         * configure.ac:
369          Version 0.10.11.2 (0.10.12 pre-release)
370          Bump libtool versioning.
371
372 2007-03-01  Stefan Kost  <ensonic@users.sf.net>
373
374         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
375           Log flow-names and not numbers.
376
377 2007-02-28  Thomas Vander Stichele  <thomas at apestaart dot org>
378
379         * configure.ac:
380           Convert to new AG_GST style.
381
382 2007-02-28  Wim Taymans  <wim@fluendo.com>
383
384         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency):
385         Don't unref query twice.
386
387 2007-02-28  Wim Taymans  <wim@fluendo.com>
388
389         * gst/gstvalue.c: (gst_value_transform_object_string),
390         (_gst_value_initialize):
391         Implement GstObject -> string transform so we print object names
392         when serializing GValues containing GstObjects.
393
394 2007-02-28  Wim Taymans  <wim@fluendo.com>
395
396         * docs/gst/gstreamer-sections.txt:
397         Add new stuff to docs.
398
399 2007-02-28  Wim Taymans  <wim@fluendo.com>
400
401         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
402         (gst_base_sink_queue_object_unlocked), (gst_base_sink_send_event),
403         (gst_base_sink_change_state):
404         Improve latency query code.
405         Don't leak latency events.
406
407         * tests/check/gst/gstbin.c: (GST_START_TEST):
408         Improve debugging.
409
410 2007-02-28  Wim Taymans  <wim@fluendo.com>
411
412         * gst/gstelement.c: (gst_element_message_full),
413         (gst_element_get_state_func):
414         * gst/gstelement.h:
415         Improve docs a little. Added Since: for new macro.
416
417         * gst/gstobject.c: (gst_object_sink):
418         * gst/gstpipeline.c: (gst_pipeline_change_state),
419         (gst_pipeline_set_new_stream_time):
420         * gst/gstpipeline.h:
421         Improve debugging and docs.
422
423         * gst/gstutils.c: (gst_element_state_change_return_get_name):
424         Improve debugging.
425
426 2007-02-28  Wim Taymans  <wim@fluendo.com>
427
428         * gst/gstelement.c: (gst_element_message_full),
429         (gst_element_set_locked_state), (gst_element_get_state_func),
430         (gst_element_change_state):
431         Handle INFO messages from the GST_ELEMENT_INFO macro as well.
432         Documentation updates.
433         Small code cleanups.
434
435         * gst/gstmessage.c: (gst_message_new_info),
436         (gst_message_parse_info):
437         * gst/gstmessage.h:
438         API: gst_message_new_info()
439         API: gst_message_parse_info()
440         Add INFO message create and parse code.
441
442 2007-02-28  Wim Taymans  <wim@fluendo.com>
443
444         * gst/gstbin.c: (bin_query_min_max_init), (bin_query_latency_fold),
445         (bin_query_latency_done):
446         Also report the live parameter of a latency query.
447
448 2007-02-28  Thomas Vander Stichele  <thomas at apestaart dot org>
449
450         * tests/check/generic/states.c: (GST_START_TEST), (states_suite):
451           Copy the current generic/states example from -base and adapt so
452           we can use the exact same code everywhere.
453           Check a STATES_IGNORE_ELEMENTS env var which can be used
454           to ignore certain element factories for this test, which is
455           what is being done in -base
456         * tests/check/Makefile.am:
457           Mention this environment variable.
458
459 2007-02-27  Wim Taymans  <wim@fluendo.com>
460
461         * docs/gst/gstreamer-sections.txt:
462         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
463         (gst_bus_timed_pop), (gst_bus_pop):
464         * gst/gstbus.h:
465         API: gst_bus_timed_pop()
466         Implement gst_bus_timed_pop() to do a blocking timed wait for a
467         message to arrive on the bus.
468
469         * tests/check/gst/gstbus.c: (GST_START_TEST), (pop_thread),
470         (gst_bus_suite):
471         Two unit tests for new _timed_pop() function.
472
473 2007-02-23  Wim Taymans  <wim@fluendo.com>
474
475         * gst/gstpipeline.c: (gst_pipeline_change_state),
476         (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay):
477         Don't ref a NULL clock in _provide_clock_func().
478         Don't allow an INVALID delay.
479         Don't try to calculate base_time with an invalid start_time.
480         Also distribute and notify a NULL clock when it was selected.
481
482         * tools/gst-launch.c: (event_loop):
483         Don't crash when a NULL clock was selected in the pipeline.
484
485 2007-02-23  Tim-Philipp Müller  <tim at centricular dot net>
486
487         * docs/design/Makefile.am:
488         * docs/design/draft-missing-plugins.txt:
489         * docs/random/draft-missing-plugins.txt:
490           Some small updates: update plugin system identifier prefix
491           ('gstreamer.net' to 'gstreamer'), mention our new install
492           API in libgstbaseutils rather than libgimme-codec, add
493           reference to the online docs.
494
495 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
496
497         * win32/common/config.h:
498           Pretty sure Bill never made a powerpc version.  Powerpc hackers,
499           use moap cl ci to only check in what is mentioned in the ChangeLog.
500
501 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
502
503         * docs/gst/gstreamer-sections.txt:
504         * gst/gstelement.h:
505           Fix up documentation to link to the correct GstGError section.
506           Add GST_ELEMENT_INFO macro since someone else added a Info message.
507
508 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
509
510         * tools/gst-launch.c: (event_loop):
511           Make sure that we actually show the important message part of a
512           warning message.
513           No need to check if the gerror is not NULL to free; first of all
514           g_free accepts NULL; and second the default error handler would
515           segfault if gerror was NULL.
516
517 2007-02-21  Wim Taymans  <wim@fluendo.com>
518
519         * docs/gst/gstreamer-sections.txt:
520         Removed docs as well.
521
522 2007-02-21  Wim Taymans  <wim@fluendo.com>
523
524         * gst/gstmessage.c: (gst_message_parse_duration):
525         * gst/gstmessage.h:
526         Remove new messages for release.
527
528 2007-02-20  Wim Taymans  <wim@fluendo.com>
529
530         * docs/design/part-gstghostpad.txt:
531         * gst/gstghostpad.c: (gst_ghost_pad_dispose),
532         (gst_ghost_pad_new_full):
533         Make the ghostpad a parent of the internal pad again for better backward
534         compatibility. Don't write code that relies on this however.
535
536         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
537         (gst_pad_link_check_hierarchy):
538         Require that parents should be GstElements in the hierarchy check.
539
540 2007-02-20  Wim Taymans  <wim@fluendo.com>
541
542         * gst/gstbin.c: (bin_replace_message), (gst_bin_add_func),
543         (gst_bin_change_state_func), (bin_query_min_max_init),
544         (bin_query_latency_fold), (bin_query_latency_done),
545         (gst_bin_query):
546         Improve debug info.
547         Implement latency query.
548
549 2007-02-20  Wim Taymans  <wim@fluendo.com>
550
551         * docs/design/part-gstghostpad.txt:
552         * gst/gstghostpad.c: (gst_ghost_pad_class_init),
553         (gst_ghost_pad_internal_do_activate_push),
554         (gst_ghost_pad_internal_do_activate_pull),
555         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
556         (gst_ghost_pad_do_link), (gst_ghost_pad_dispose),
557         (gst_ghost_pad_new_full), (gst_ghost_pad_set_target):
558         Do not set the internal pad as a parent anymore so we can avoid
559         hierarchy linking errors when the ghostpad has no parent yet. This also
560         fixes failed activation because of unlinked internal pads, which in
561         turn fixes the impossible case where you have to activate a pad before
562         you can add it to a running element.
563         Also fix the docs.
564
565         * gst/gstpad.c: (pre_activate), (post_activate),
566         (gst_pad_set_active), (gst_pad_activate_pull),
567         (gst_pad_activate_push), (gst_pad_check_pull_range):
568         Add some more debug info.
569         Mark activation mode in pre_activate so that we don't try to activate in
570         endless loops. Fixes #385084.
571
572 2007-02-19  Wim Taymans  <wim@fluendo.com>
573
574         * libs/gst/base/gstbasetransform.c: (gst_base_transform_init),
575         (gst_base_transform_check_get_range):
576         Implement a checkgetrange function instead of relying on the default
577         core behaviour that assumes we can operate in pull mode if we have a
578         getrange function. First step at fixing #385084.
579
580 2007-02-15  Stefan Kost  <ensonic@users.sf.net>
581
582         * gst/gstchildproxy.h:
583         * libs/gst/base/gstbasesink.h:
584         * libs/gst/base/gstbasesrc.h:
585         * libs/gst/base/gstbasetransform.h:
586         More docs coverage and some ChangeLog surgery (add missing names)
587
588 2007-02-15  Wim Taymans  <wim@fluendo.com>
589
590         * docs/design/part-TODO.txt:
591         * docs/design/part-activation.txt:
592         * docs/design/part-block.txt:
593         * docs/design/part-buffering.txt:
594         * docs/design/part-clocks.txt:
595         * docs/design/part-element-source.txt:
596         * docs/design/part-events.txt:
597         * docs/design/part-gstbin.txt:
598         * docs/design/part-gstbus.txt:
599         * docs/design/part-gstpipeline.txt:
600         * docs/design/part-live-source.txt:
601         * docs/design/part-messages.txt:
602         * docs/design/part-overview.txt:
603         * docs/design/part-qos.txt:
604         * docs/design/part-query.txt:
605         * docs/design/part-states.txt:
606         * docs/design/part-trickmodes.txt:
607         Some doc updates. Start renaming from stream_time to running_time where
608         it was used wrongly.
609
610 2007-02-15  Wim Taymans  <wim@fluendo.com>
611
612         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
613         Answer LATENCY query.
614
615 2007-02-15  Wim Taymans  <wim@fluendo.com>
616
617         * tests/check/gst/gstevent.c: (event_probe), (test_event),
618         (GST_START_TEST):
619         Improve debugging.
620
621 2007-02-15  Wim Taymans  <wim@fluendo.com>
622
623         * gst/gstpad.c: (gst_pad_get_internal_links_default),
624         (gst_pad_dispatcher):
625         Improve debugging of default pad dispatcher and query functions.
626
627 2007-02-15  Wim Taymans  <wim@fluendo.com>
628
629         * docs/gst/gstreamer-sections.txt:
630         Remove old unused method.
631
632 2007-02-13  Wim Taymans  <wim@fluendo.com>
633
634         * tests/check/gst/gstsegment.c: (GST_START_TEST):
635         Fix check
636
637 2007-02-13  Wim Taymans  <wim@fluendo.com>
638
639         * docs/design/part-seeking.txt:
640         Some small update.
641
642         * gst/gstsegment.c: (gst_segment_set_seek):
643         Revert old bogus change that should make seeking work again.
644
645 2007-02-13  Stefan Kost  <ensonic@users.sf.net>
646
647         * docs/random/ensonic/dynlink.txt:
648         * docs/random/ensonic/interfaces.txt:
649         * docs/random/ensonic/receipies.txt:
650           Possible dynamic reconnection api, plus some type fixes the other two
651           docs.
652
653 2007-02-13  Sebastian Dröge  <slomo@circular-chaos.org>
654
655         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
656         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
657         Also check for an absolute path following file:// in the filesrc
658         element. Remove redundant check and call g_path_is_absolute() on the
659         unescaped location.
660
661 2007-02-13  Stefan Kost  <ensonic@users.sf.net>
662
663         * docs/design/draft-klass.txt:
664           Add existing category analysis.
665           
666         * gst/gstcaps.c:
667           Fix doc example, framerate is a fraction.
668
669 2007-02-12  Stefan Kost  <ensonic@users.sf.net>
670
671         * configure.ac:
672         * docs/gst/Makefile.am:
673         * docs/libs/Makefile.am:
674         * docs/plugins/Makefile.am:
675           Add crossreferences to glib/gobject docs.
676
677 2007-02-12  Wim Taymans  <wim@fluendo.com>
678
679         * docs/design/draft-latency.txt:
680         Small update.
681
682         * docs/libs/gstreamer-libs-sections.txt:
683         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
684         (gst_base_sink_get_latency), (gst_base_sink_query_latency),
685         (gst_base_sink_wait_clock), (gst_base_sink_send_qos),
686         (gst_base_sink_perform_qos), (gst_base_sink_queue_object_unlocked),
687         (gst_base_sink_chain_unlocked), (gst_base_sink_send_event),
688         (gst_base_sink_get_position), (gst_base_sink_query),
689         (gst_base_sink_change_state):
690         * libs/gst/base/gstbasesink.h:
691         API: gst_base_sink_query_latency() to let subclasses query the upstream
692         latency.
693         API: gst_base_sink_get_latency() to let subclasses query the configured
694         latency in the sink.
695         Implement query and set latency.
696         Update some docs.
697         As spotted by Will Newton <will dot newton at gmail dot com>: Make sure we
698         don't continue preroll when we are flushing. Fixes #405284.
699
700         * tests/check/pipelines/stress.c: (change_state_timeout),
701         (quit_timeout), (GST_START_TEST), (stress_suite):
702         Test for #405284.
703
704 2007-02-09  Tim-Philipp Müller  <tim at centricular dot net>
705
706         Patch by: René Stadler <mail at renestadler de>
707
708         * docs/gst/gstreamer-sections.txt:
709         * gst/gsttaglist.c: (_gst_tag_initialize):
710         * gst/gsttaglist.h:
711           API: add GST_TAG_REFERENCE_LEVEL (#403597).
712
713 2007-02-11  Stefan Kost  <ensonic@users.sf.net>
714
715         * docs/libs/Makefile.am:
716           Fix path to core docs.
717
718         * gst/gstbin.c: (gst_bin_get_by_interface),
719         (gst_bin_iterate_all_by_interface):
720           Refix docs by also renaming 'interface' to 'iface' in implementation.
721
722         * docs/gst/gstreamer-sections.txt:
723         * gst/gstcaps.c:
724         * gst/gstchildproxy.c: (gst_child_proxy_base_init):
725         * gst/gstchildproxy.h:
726         * gst/gstelementfactory.c:
727         * gst/gstpadtemplate.h:
728         * libs/gst/controller/gstcontroller.c:
729         (gst_controlled_property_new):
730           Document more.
731
732 2007-02-10  Sébastien Moutte  <sebastien@moutte.net>
733
734         * gst/gstbin.h:(gst_bin_get_by_interface),
735         (gst_bin_iterate_all_by_interface):
736         Replace interface parameter name by iface as interface is 
737         a reserved keyword in Visual Studio for C++ projects so it removes
738         a build error for application developpers using VS.
739         * plugins/elements/gstfilesrc.c:(gst_file_src_uri_set_uri):
740         Fix a bug on Windows in uri format check. Now the prefix checked
741         is file:// and next we check if the path after file:// is absolute.
742         * win32/common/libgstbase.def:
743         * win32/common/libgstdataprotocol.def:
744         * win32/common/libgstgstreamer.def:
745         Add new exported functions.
746
747 2007-02-09  Andy Wingo  <wingo@pobox.com>
748
749         * tests/check/pipelines/simple-launch-lines.c
750         (simple_launch_lines_suite, test_tee): Disable tee test until I
751         have time to fix it :-(
752
753         * tests/check/Makefile.am (noinst_HEADERS): 
754         * tests/check/libs/libsabi.c: 
755         * tests/check/libs/struct_ppc32.h: Add ABI checks for PPC32.
756         * tests/check/gst/gstabi.c: 
757         * tests/check/gst/struct_ppc32.h: Add ABI checks for PPC32.
758
759         * tests/check/pipelines/simple-launch-lines.c (test_tee): Add
760         tests for push and pull tee behavior.
761
762         * plugins/elements/gsttee.h: 
763         * plugins/elements/gsttee.c: Describe has-sink-loop better, and
764         mark as deprecated as well as unimplemented. It was a crack idea.
765         Add support for tee operating in pull mode, off by default.
766
767         * gst/gstregistryxml.c (load_feature, load_plugin): Drop some
768         normal-case logs down to LOG, raise errors to WARNING.
769         (gst_registry_xml_read_cache): Don't log before calling a function
770         that logs.
771
772         * gst/gstregistry.c (gst_registry_finalize): Less debug on program
773         exit (registry finalize).
774         (gst_registry_add_plugin, gst_registry_add_feature): No need for a
775         DEBUG log when we emit signals that people don't even have the
776         chance to connect to.
777         (gst_registry_scan_path_level): Less logging in the normal case.
778
779 2007-02-05  Sebastian Dröge  <slomo@circular-chaos.org>
780
781         Patch by: Michal Benes <michal dot benes at itonis dot tv>
782
783         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
784         Correctly generate EOS for non-seekable files. We don't have a total
785         length for them and would get an unexpected end of file if we only
786         special-cased for regular files. (Fixes: #404569)
787
788 2007-02-05  Sebastian Dröge  <slomo@circular-chaos.org>
789
790         * tests/check/elements/filesrc.c: (GST_START_TEST),
791         (filesrc_suite):
792         Add unit test for the GstURIHandler interface in filesrc. This also
793         tests the newly added file://localhost/foo/bar support.
794
795 2007-02-04  Tim-Philipp Müller  <tim at centricular dot net>
796
797         * gst/gstelementfactory.h:
798           The klass string is not a hierarchy. Add reference to the design doc
799           for more information and common types.
800
801 2007-02-02  Wim Taymans  <wim@fluendo.com>
802
803         * gst/gstquery.c: (gst_query_new_latency):
804         Remove old structure field.
805
806 2007-02-02  Stefan Kost  <ensonic@users.sf.net>
807
808         * tools/gst-launch.1.in:
809           Give example for network streaming (#351998)
810
811 2007-02-02  Wim Taymans  <wim@fluendo.com>
812
813         * docs/gst/gstreamer-sections.txt:
814         Add docs for new methods.
815
816         * gst/gstevent.c: (gst_event_new_latency),
817         (gst_event_parse_latency):
818         * gst/gstevent.h:
819         Add new LATENCY event to configure latency in a pipeline.
820         API: gst_event_new_latency
821         API: gst_event_parse_latency
822
823         * gst/gstmessage.c: (gst_message_new_buffering),
824         (gst_message_new_lost_preroll), (gst_message_new_prerolled),
825         (gst_message_new_latency), (gst_message_parse_buffering),
826         (gst_message_parse_lost_preroll):
827         * gst/gstmessage.h:
828         Added messages used in draft-latency.
829         API: gst_message_new_lost_preroll
830         API: gst_message_parse_lost_preroll
831         API: gst_message_new_prerolled
832         API: gst_message_new_latency
833
834         * gst/gstquery.c: (gst_query_new_latency), (gst_query_set_latency),
835         (gst_query_parse_latency):
836         * gst/gstquery.h:
837         Implemented new latency query as in design doc.
838         API: gst_query_new_latency
839         API: gst_query_set_latency
840         API: gst_query_parse_latency
841
842 2007-02-02  Wim Taymans  <wim@fluendo.com>
843
844         * docs/design/draft-latency.txt:
845         Slight redesign to allow for dynamic latency adjustments.
846
847         * docs/design/part-negotiation.txt:
848         Fix some typos.
849
850 2007-02-02  Sebastian Dröge  <slomo@circular-chaos.org>
851
852         reviewed by: Wim Taymans <wim@fluendo.com>
853
854         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
855         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
856         Allow file://localhost/foo/bar URLs and correctly fail for every other
857         hostname that one sets. This was gnomevfssrc is linked for those if
858         installed as it can handle it (#403172)
859
860 2007-02-01  Sebastian Dröge  <slomo@circular-chaos.org>
861
862         reviewed by: Tim-Philipp Müller <tim at centricular dot net>
863
864         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
865         (unref_data), (gst_collect_pads_add_pad_full):
866         * libs/gst/base/gstcollectpads.h:
867         Don't put the previously added destroy notify in the GstCollectData
868         struct as all it's padding is already used and we don't want to break
869         ABI. Instead put in the pad's GObject data for now. This should be
870         cleaned up for 0.11 (#402393).
871
872 2007-02-01  Sebastian Dröge  <slomo@circular-chaos.org>
873
874         reviewed by: Wim Taymans <wim@fluendo.com>
875
876         * docs/libs/gstreamer-libs-sections.txt:
877         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
878         (unref_data), (gst_collect_pads_add_pad),
879         (gst_collect_pads_add_pad_full):
880         * libs/gst/base/gstcollectpads.h:
881         API: Add function to specify a destroy notification for custom
882         GstCollectData when adding new pads in GstCollectPads (#402393).
883
884 2007-02-01  Tim-Philipp Müller  <tim at centricular dot net>
885
886         * po/sv.po:
887           Update Swedish translation (#378255).
888
889 2007-01-31  Stefan Kost  <ensonic@users.sf.net>
890
891         * docs/design/draft-klass.txt:
892           Fix the previous change, this is a list of categories and not a hierarchy.
893
894 2007-01-31  Stefan Kost  <ensonic@users.sf.net>
895
896         * docs/design/draft-klass.txt:
897           Add info about how to get a list of used classes.
898
899 2007-01-30  Tim-Philipp Müller  <tim at centricular dot net>
900
901         * plugins/elements/gsttypefindelement.c:
902         (gst_type_find_element_chain_do_typefinding),
903         (gst_type_find_element_change_state):
904           Don't leak found caps in chain function (no idea why that never
905           showed up as a leak anywhere).
906
907 2007-01-30  Stefan Kost  <ensonic@users.sf.net>
908
909         * gst/gstplugin.h:
910           Fix and expand GstPluginDesc API docs.
911
912 2007-01-29  Stefan Kost  <ensonic@users.sf.net>
913
914         * gst/gstcaps.c:
915         * gst/gstelementfactory.c:
916         * gst/gstpadtemplate.h:
917           api doc fixes
918
919         * libs/gst/controller/gstcontroller.c:
920         (gst_controlled_property_new):
921         * tests/examples/controller/audio-example.c:
922           comment fixes
923
924 2007-01-29  Stefan Kost  <ensonic@users.sf.net>
925
926         * configure.ac:
927           comment about refining the xml deps
928
929         * docs/manuals.mak:
930           comments about moving away from jade for docs
931         
932         * gst/gst.c:
933           recommit the ifdefs to use the binary registry
934         
935         * gst/gstbin.c: (gst_bin_change_state_func):
936           this break is obsolete
937
938         * gst/gstelementfactory.h:
939           better GST_ELEMENT_DETAILS docs, add comment about translation
940
941         * gst/gstinfo.h:
942           remove eol slash
943
944         * gst/gstobject.c: (gst_signal_object_get_type):
945           add G_UNLIKELY as usual
946
947         * gst/gstpad.c: (gst_pad_event_default):
948           add fall trhu comment
949
950         * gst/gstregistrybinary.c: (gst_registry_binary_write),
951         (gst_registry_binary_initialize_magic),
952         (gst_registry_binary_save_string),
953         (gst_registry_binary_save_pad_template),
954         (gst_registry_binary_save_feature),
955         (gst_registry_binary_save_plugin),
956         (gst_registry_binary_write_cache),
957         (gst_registry_binary_check_magic),
958         (gst_registry_binary_load_pad_template),
959         (gst_registry_binary_load_feature),
960         (gst_registry_binary_load_plugin),
961         (gst_registry_binary_read_cache):
962           comment typo and formatting
963
964         * gst/gstutils.c: (gst_element_state_get_name),
965         (gst_element_state_change_return_get_name):
966           remove obsolete breaks
967
968         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
969           add FIXME 0.11 and remove cpp comment
970
971 2007-01-29  Edward Hervey  <edward@fluendo.com>
972
973         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
974         Fix print statement in an even more portable way.
975
976 2007-01-29  Tim-Philipp Müller  <tim at centricular dot net>
977
978         * docs/gst/gstreamer-sections.txt:
979         * gst/gstutils.h:
980           API: add GST_ROUND_DOWN_* macros (#401781).
981
982 2007-01-27  Tim-Philipp Müller  <tim at centricular dot net>
983
984         * docs/gst/gstreamer.types.in:
985         * gst/gstregistry.c: (gst_registry_class_init):
986           Document registry signals and make gtk-doc pick them up (#401381).
987
988 2007-01-26  Tim-Philipp Müller  <tim at centricular dot net>
989
990         * docs/pwg/building-testapp.xml:
991           Add some audioconverts and audioresample to the pipeline, and some
992           more comments and error handling.
993
994 2007-01-26  Tim-Philipp Müller  <tim at centricular dot net>
995
996         * docs/manual/manual.xml:
997         * docs/pwg/pwg.xml:
998           Fix typo (#400987).
999
1000 2007-01-26  Wim Taymans  <wim@fluendo.com>
1001
1002         * gst/gstcaps.c: (gst_static_caps_get):
1003         Init caps flags too.
1004
1005 2007-01-25  Sebastian Dröge  <slomo@circular-chaos.org>
1006
1007         Patch by: Jindrich Makovicka <jindrich.makovick at itonis dot tv>
1008
1009         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
1010         If not using mmap'ed files try to seek to the end instead of the
1011         start to determine whether we can seek at all. This fixes the case
1012         of 2GB+ files over NFS, where seeks in the first 2GB can succeed but
1013         seeks for everything afterwards fail. Fixes #400656
1014
1015 2007-01-25  Wim Taymans  <wim@fluendo.com>
1016
1017         * gst/gstcaps.c: (_gst_caps_free), (gst_static_caps_get):
1018         Add some refcount debugging.
1019         Make gst_static_caps_get threadsafe, which is needed when autoplugging
1020         in multiple streaming threads.
1021
1022 2007-01-25  Wim Taymans  <wim@fluendo.com>
1023
1024         Patch by: David Schleef <ds at schleef dot org>
1025
1026         * docs/libs/gstreamer-libs-sections.txt:
1027         * libs/gst/base/gstadapter.c: (gst_adapter_copy):
1028         * libs/gst/base/gstadapter.h:
1029         API: gst_adapter_copy() that can reduce the amount of memcpy when
1030         getting data from the adapter. Fixes #388201.
1031
1032 2007-01-25  Edward Hervey  <edward@fluendo.com>
1033
1034         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
1035         In print statements, "%x" is for guint. Fixes build on macosx.
1036
1037 2007-01-24  Edward Hervey  <edward@fluendo.com>
1038
1039         * plugins/elements/gstmultiqueue.c:
1040         (gst_multi_queue_loop):
1041         Small fix.
1042         (single_queue_overrun_cb), (single_queue_underrun_cb),
1043         (single_queue_check_full), (gst_single_queue_new):
1044         Implement single queue growth system.
1045         This uses the extra-size properties, and will grow single queues by
1046         that much if one goes full whereas there are others empty. This is
1047         called extra-mode in the code.
1048         When a single queue's levels go back below the initial max-size
1049         limits, it is no longer in extra-mode. This is to ensure we don't
1050         consume too much memory.
1051         Fixes #399875
1052
1053 2007-01-23  Tim-Philipp Müller  <tim at centricular dot net>
1054
1055         * gst/gst.c: (gst_init_get_option_group):
1056           Make warning about late g_thread_init() calls a bit more explicit,
1057           so that it's more obvious to application developers what they need
1058           to do if a user files a bug against their application.
1059
1060 2007-01-22  Edward Hervey  <edward@fluendo.com>
1061
1062         * plugins/elements/gstmultiqueue.c:
1063         (gst_multi_queue_src_activate_push), (gst_single_queue_new):
1064         Remove previous hack of unsetting the flushing flag for the source pad
1065         instead of activating it. Instead, fix the source pad activate function
1066         so that it no longer depends on having a parent set or not.
1067
1068 2007-01-22  Tim-Philipp Müller  <tim at centricular dot net>
1069
1070         Patch by: Carlos Sanmartin Dominguez <csanmartin@igalia.com>
1071
1072         * docs/manual/basics-bus.xml:
1073           Fix example code, gst_element_unref() doesn't exist any longer.
1074
1075 2007-01-21  Tim-Philipp Müller  <tim at centricular dot net>
1076
1077         Patch by: Mark Nauwelaerts <manauw at skynet be>
1078
1079         * gst/gstpad.c:
1080           Fix two docs typoes (#399094).
1081
1082 2007-01-19  Edward Hervey  <edward@fluendo.com>
1083
1084         * docs/faq/gst-uninstalled:
1085         Add gst-plugins-base/gst/utils/ to LD_LIBRARY_PATH so that plugins
1086         depending on libgstbaseutils can work in uninstalled environment.
1087
1088 2007-01-18  Stefan Kost  <ensonic@users.sf.net>
1089
1090         * gst/gsttaglist.h:
1091         * gst/gsttagsetter.c:
1092         Add more docs regarding tag merge-modes and when to send tags. Fix 'since'
1093         statement for new tag.
1094
1095 2007-01-17  Edward Hervey  <edward@fluendo.com>
1096
1097         * plugins/elements/gstmultiqueue.c: (gst_single_queue_new):
1098         When dynamically creating single queues, activate sinkpad before adding
1099         it.
1100         We should be doing the same thing for the source pad, but we can't
1101         since it would call a method which needs the parent to be set in order
1102         to work propertly. Instead of activating the source pad, we just unset
1103         the flushing flag, which is the minimal requirement for adding a pad
1104         to an element in a state greater than READY.
1105
1106 2007-01-17  Edward Hervey  <edward@fluendo.com>
1107
1108         * docs/faq/gst-uninstalled:
1109         Add DYLD_LIBRARY_PATH declarations so we can also use this script on
1110         Mac OS X.
1111
1112 2007-01-17  Tim-Philipp Müller  <tim at centricular dot net>
1113
1114         * tests/check/gst/gstabi.c:
1115         * tests/check/gst/struct_hppa.h:
1116         * tests/check/libs/libsabi.c:
1117         * tests/check/libs/struct_hppa.h:
1118           Add ABI structs for HPPA (see #393796).
1119
1120 2007-01-16  Tim-Philipp Müller  <tim at centricular dot net>
1121
1122         * libs/gst/check/gstcheck.c: (gst_check_abi_list):
1123           Actually write ABI structs to the file specified in the GST_ABI
1124           environment variable, as the message we print claims we would.
1125
1126 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
1127
1128         * tests/check/gst/gsttask.c:
1129           Fix header comment.
1130
1131 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
1132
1133         * gst/gsttaglist.c: (_gst_tag_initialize):
1134           Change tag type from STRING to DOUBLE. Apply ChangeLog surgery for my
1135           previous two entries.
1136
1137 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
1138
1139         * docs/gst/gstreamer-sections.txt:
1140         * gst/gsttaglist.c: (_gst_tag_initialize):
1141         * gst/gsttaglist.h:
1142           Add tag support for beat-per-minute.
1143
1144 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
1145
1146         * gst/gstregistrybinary.c: (gst_registry_binary_write),
1147         (gst_registry_binary_initialize_magic),
1148         (gst_registry_binary_save_string), (gst_registry_binary_make_data),
1149         (gst_registry_binary_save_pad_template),
1150         (gst_registry_binary_save_feature),
1151         (gst_registry_binary_save_plugin),
1152         (gst_registry_binary_write_cache),
1153         (gst_registry_binary_check_magic),
1154         (gst_registry_binary_load_pad_template),
1155         (gst_registry_binary_load_feature),
1156         (gst_registry_binary_load_plugin),
1157         (gst_registry_binary_read_cache):
1158         * gst/gstregistrybinary.h:
1159           Use glib types, cleanup comments, impement interfaces and uri-types.
1160
1161 2007-01-13  Andy Wingo  <wingo@pobox.com>
1162
1163         * gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Allow
1164         getrange() to return buffers with other caps, while we fix
1165         demuxers and typefind, or otherwise change part-negotiation.txt.
1166
1167 2007-01-12  Andy Wingo  <wingo@pobox.com>
1168
1169         * libs/gst/base/gstbasetransform.c (gst_base_transform_activate):
1170         Factor start/stop into this private function instead of partially
1171         in activate functions and partially in the change_state function.
1172         Fixes setup before the element has changed from READY->PAUSED, as
1173         is the case in pull-mode pipelines.
1174         (gst_base_transform_sink_activate_push)
1175         (gst_base_transform_src_activate_pull): Refactor to use
1176         gst_base_transform_activate().
1177         (gst_base_transform_change_state): Removed, not needed any more.
1178
1179         * libs/gst/base/gstbasesink.c (gst_base_sink_negotiate_pull):
1180         Truncate before fixating.
1181         
1182         * libs/gst/base/gstbasesink.c (gst_base_sink_negotiate_pull):
1183         Don't set_caps() if the result of fixating is ANY, as it's not
1184         supported, and not necessary in the case of a link with no
1185         template caps on either side. Fixes tests/check/libs/basesrc in
1186         some pull-mode tests.
1187
1188         * libs/gst/base/gstbasetransform.c (_GstBaseTransformPrivate):
1189         (gst_base_transform_init, gst_base_transform_sink_activate_push)
1190         (gst_base_transform_src_activate_pull): 
1191         Track the activation mode.
1192         (gst_base_transform_setcaps): In pull mode, when activating the
1193         src pad, after activating the sink pad, activate the sink pad's
1194         peer, as discussed in part-negotiation.txt.
1195
1196         * libs/gst/base/gstbasesrc.h: 
1197         * libs/gst/base/gstbasesrc.c (gst_base_src_fixate): Add fixate
1198         vmethod, as in basesink.
1199
1200         * libs/gst/base/gstbasesink.h: Reformat docs, add fixate vmethod.
1201
1202         * libs/gst/base/gstbasesink.c (gst_base_sink_pad_setcaps): In pull
1203         mode, first proxy the setcaps to the peer pad.
1204         (gst_base_sink_pad_fixate): Add a fixate function that calls the
1205         new fixate vmethod.
1206         (gst_base_sink_default_activate_pull): Rename from
1207         gst_base_sink_activate_pull.
1208         (gst_base_sink_negotiate_pull): New function, performs negotiation
1209         in pull mode before calling ::activate_pull().
1210         (gst_base_sink_pad_activate_pull): Actually call the activate_pull
1211         vmethod instead of the default implementation. I have no idea how
1212         this worked before. Negotiate before calling activate_pull.
1213
1214         * gst/gstpad.c (gst_pad_activate_pull): Refuse to activate unlinked
1215         sink pads in pull mode. In addition to being correct, fixes
1216         filesrc ! decodebin ! identity ! fakesink.
1217         (gst_pad_get_range, gst_pad_pull_range): Don't call
1218         gst_pad_set_caps() if the caps changes; instead error out with
1219         GST_FLOW_NOT_NEGOTIATED, as discussed in part-negotiation.txt.
1220
1221 2007-01-12  Andy Wingo  <wingo@pobox.com>
1222
1223         * docs/design/part-negotiation.txt: Update with more policy.
1224
1225 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
1226
1227         * libs/gst/check/gstbufferstraw.h:
1228         * libs/gst/check/gstcheck.h:
1229           Add G_BEGIN_DECLS and G_END_DECLS. Move GST_CHECK_MAIN where it
1230           belongs.
1231
1232 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
1233
1234         * tests/check/Makefile.am:
1235         * tests/check/gst/.cvsignore:
1236         * tests/check/gst/gsttagsetter.c: (gst_dummy_enc_add_interfaces),
1237         (gst_dummy_enc_base_init), (gst_dummy_enc_class_init),
1238         (gst_dummy_enc_init), (tag_list_foreach), (tag_setter_list_length),
1239         (GST_START_TEST), (gst_tag_setter_suite):
1240           Add minimal unit test for beforementioned GstTagSetter bug.
1241
1242 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
1243
1244         Patch by: René Stadler <mail at renestadler dot de>
1245
1246         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags):
1247           gst_tag_list_merge() returns a new list, so it's not the best idea
1248           to ingore its return value. Effectively meant that tags could only
1249           be merged on a GstTagSetter once using _merge_tags(). Fixes #395554.
1250           Also add function guard to require a non-NULL taglist as input (has
1251           always been so due to gst_tag_list_copy(), just making it explicit).
1252
1253 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
1254
1255         * docs/random/draft-missing-plugins.txt:
1256           Some additions: mention new API that is supposed to be used at the
1257           various stages; short blob about new gst-inspect introspection
1258           option; mention potential future problem with plugins that have
1259           a dynamic list of elements (such as ladspa, pitfdll, libvisual).
1260
1261 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
1262
1263         * tools/gst-inspect.c:
1264         (print_plugin_automatic_install_info_codecs),
1265         (print_plugin_automatic_install_info_protocols),
1266         (print_plugin_automatic_install_info), (main):
1267         Add --print-plugin-auto-install-info option to gst-inspect, so we can
1268         introspect plugin files and get machine-parsable output that corresponds
1269         to the last bit of the missing-plugin installer string (small gotcha:
1270         doesn't take into account ranks).
1271
1272 2007-01-11  Stefan Kost  <ensonic@users.sf.net>
1273
1274         * configure.ac:
1275         * docs/gst/gstreamer-sections.txt:
1276         * gst/Makefile.am:
1277         * gst/gstregistry.c: (gst_registry_lookup_feature_locked),
1278         (gst_registry_lookup_locked):
1279         * gst/gstregistry.h:
1280         * gst/gstregistrybinary.c: (gst_registry_binary_write),
1281         (gst_registry_binary_initialize_magic),
1282         (gst_registry_binary_save_string),
1283         (gst_registry_binary_save_pad_template),
1284         (gst_registry_binary_save_feature),
1285         (gst_registry_binary_save_plugin),
1286         (gst_registry_binary_write_cache),
1287         (gst_registry_binary_check_magic),
1288         (gst_registry_binary_load_pad_template),
1289         (gst_registry_binary_load_feature),
1290         (gst_registry_binary_load_plugin),
1291         (gst_registry_binary_read_cache):
1292         * gst/gstregistrybinary.h:
1293         * gst/gstregistryxml.c: (load_feature),
1294         (gst_registry_xml_read_cache):
1295           commit binary registry (disabled by default, see #359653)
1296
1297 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
1298
1299         * tests/check/gst/gstpad.c: (test_get_allowed_caps):
1300           Fix 'make check' too.
1301
1302 2007-01-10  Andy Wingo  <wingo@pobox.com>
1303
1304         * docs/design/part-negotiation.txt: Fix a typo, add a couple
1305         notes.
1306         
1307         * docs/design/part-negotiation.txt: Update with, um, one way that
1308         pull-mode negotiation might work?
1309
1310         * gst/gstpad.h: 
1311         * gst/gstpad.c (gst_pad_get_allowed_caps): Remove the restriction
1312         that the pad must be a src pad; makes sense to call it the other
1313         way in pull mode, and the logic is symmetric anyway.
1314
1315 2007-01-10  Tim-Philipp Müller  <tim at centricular dot net>
1316
1317         * plugins/elements/gstfilesink.c:
1318           Include <stdio.h> for fseeko().
1319
1320 2007-01-10  Wim Taymans  <wim@fluendo.com>
1321
1322         * gst/gstevent.c:
1323         * gst/gstevent.h:
1324         Reserve LATENCY event.
1325
1326 2007-01-09  Wim Taymans  <wim@fluendo.com>
1327
1328         * docs/design/draft-latency.txt:
1329         Updates.
1330
1331 2007-01-09  Wim Taymans  <wim@fluendo.com>
1332
1333         * docs/design/draft-latency.txt:
1334         Updates.
1335
1336         * gst/gstelement.h:
1337         * gst/gststructure.c:
1338         * gst/gsttrace.c:
1339         Small typo fixes.
1340
1341 2007-01-09  Tim-Philipp Müller  <tim at centricular dot net>
1342
1343         * tests/check/.cvsignore:
1344           Ignore test-registry.xml as well.
1345
1346 2007-01-09  Wim Taymans  <wim@fluendo.com>
1347
1348         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
1349         unref data at the end when we are done with the pad.
1350
1351 2007-01-08  Tim-Philipp Müller  <tim at centricular dot net>
1352
1353         * docs/gst/gstreamer-sections.txt:
1354         * gst/gst.c: (load_plugin_func), (scan_and_update_registry),
1355         (init_post), (gst_deinit), (gst_update_registry):
1356         * gst/gst.h:
1357           API: add gst_update_registry() (#391296).
1358
1359         * tests/check/Makefile.am:
1360         * tests/check/gst/gstregistry.c:
1361         * tests/check/gst/.cvsignore:
1362           Simple unit test for the above.
1363
1364 2007-01-08  Tim-Philipp Müller  <tim at centricular dot net>
1365
1366         * gst/gstregistry.c: (gst_registry_scan_path_level):
1367           Plugin extension on HP-UX is .sl, add that to the list of approved
1368           plugin extensions (see #393796).
1369
1370         * tests/check/gst/gstpad.c: (GST_START_TEST):
1371           ulong => gulong. Fixes compilation with HP-UX compiler.
1372
1373         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
1374           Fix compilation if valgrind headers are not available.
1375
1376 2007-01-07  Sébastien Moutte  <sebastien@moutte.net>
1377
1378         * win32/common/libgstreamer.def: 
1379           Add new exported function.
1380         * win32/vs6/libgstbase.dsp: 
1381           Add gstdataqueue.c to the build.
1382         * win32/vs6/libgstcoreelements.dsp:
1383           Add gstmultiqueue.c to the build.
1384         
1385 2007-01-06  Andy Wingo  <wingo@pobox.com>
1386
1387         * libs/gst/base/gstbasesink.h: New GstBaseSinkClass vmethod,
1388         activate_pull(), providing for a way to specialize the process of
1389         spawning a thread to pull on the sink pad. There is a default
1390         implementation.
1391
1392         * libs/gst/base/gstbasesink.c (gst_base_sink_pad_activate_pull)
1393         (gst_base_sink_pad_activate_push, gst_base_sink_pad_activate)
1394         (gst_base_sink_init): Renamed pad activation functions (inserting
1395         "_pad" in their names). Refactor to use the new activate_pull
1396         vmethod, as appropriate.
1397         (gst_base_sink_class_init, gst_base_sink_activate_pull): Set the
1398         default activate_pull function to start a task pulling from the
1399         sink pad, as before.
1400
1401         * gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Set caps
1402         on the pads if necessary, as in push()/chain(). Update docs.
1403         Shouldn't affect existing pull() usage as it is currently only
1404         being used on buffers without caps.
1405
1406 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
1407
1408         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
1409         (init_pre):
1410           Call g_thread_init() first thing in gst_init() / gst_check_init().
1411           When initialisation is done via gst_init_get_option_group() and
1412           GOption parsing, issue a warning if the GLib thread system has not
1413           been initialised yet by the time gst_init_get_option_group() is
1414           called, as it's quite likely other GLib functions such as
1415           g_option_context_new() have been called already then, and
1416           g_thread_init() must be called before any other GLib function. The
1417           application in question must be fixed in that case, since memory
1418           corruption might happen otherwise.
1419           We issue the warning because even if the GLib folks decide to work
1420           around the problem on their end in future, this is still an issue
1421           with all GLib versions >= 2.10.0, so we should warn until we depend
1422           on a GLib version we know to be safe.
1423           Update documentation as well.
1424           Closes bug #391278.
1425
1426 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
1427
1428         * tools/gst-inspect.c: (main):
1429         * tools/gst-launch.c: (main):
1430         * tools/gst-typefind.c: (main):
1431         * tools/gst-xmlinspect.c: (main):
1432           Call g_thread_init() really really early, before any other GLib
1433           function (see #342564 and recent discussion on gtk-devel-list).
1434
1435 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
1436
1437         Patch by: Vincent Torri  <vtorri at univ-evry dot fr>
1438
1439         * gst/gst_private.h:
1440         * gst/gstconfig.h.in:
1441         * gst/gstinfo.h:
1442           On win32, all the __declspec stuff for symbol exporting is
1443           apparently only needed with MSVC, but doesn't work with MingW.
1444           Fixes compilation with MingW and #391909.
1445
1446 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
1447
1448         * libs/gst/base/gstbasesrc.c: (gst_base_src_activate_push):
1449           Change some GST_ERROR_OBJECT that aren't really errors to
1450           GST_WARNING_OBJECT in order to reduce terminal spam.
1451
1452 2007-01-04  Stefan Kost  <ensonic@users.sf.net>
1453
1454         * tests/check/Makefile.am:
1455           disable test again, as there seem to be still race problems
1456
1457 2007-01-04  Stefan Kost  <ensonic@users.sf.net>
1458
1459         * tests/check/Makefile.am:
1460         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
1461         (GST_START_TEST), (queue_suite):
1462           enable queue test again, add tests for the leaky behaviour
1463
1464 2007-01-02  Tim-Philipp Müller  <tim at centricular dot net>
1465
1466         * configure.ac:
1467         * tests/examples/Makefile.am:
1468           Compile adapter test/example only if the required headers are
1469           available (fixes #391915).
1470
1471 2007-01-01  David Schleef  <ds@schleef.org>
1472
1473         * gst/gstplugin.c:
1474           Restore the previous signal handler for SIGSEGV instead of
1475           setting to default, since we may have stolen it away from
1476           someone.  (i.e., Mono)
1477
1478 2006-12-26  Tim-Philipp Müller  <tim at centricular dot net>
1479
1480         * docs/random/draft-missing-plugins.txt:
1481           Some small additions and clarifications.
1482
1483 2006-12-26  Tim-Philipp Müller  <tim at centricular dot net>
1484
1485         * gst/gstregistryxml.c: (gst_registry_save_escaped):
1486           Make sure we don't pass non-UTF-8 strings to g_markup_escape(),
1487           since that can lead to random memory corruptions and crashes
1488           (may or may not be related to #383244, #386711, and #386711).
1489
1490 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
1491
1492         * tests/check/.cvsignore:
1493         * tests/check/Makefile.am:
1494           sync .cvsignome and CLEANFILES
1495
1496 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
1497
1498         * tests/check/Makefile.am:
1499           fix distcheck
1500
1501 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
1502
1503         * docs/design/part-states.txt:
1504           two tiny additional comments
1505         
1506         * gst/gststructure.c:
1507           doc fixing
1508
1509         * tests/check/Makefile.am:
1510         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
1511         (GST_START_TEST):
1512           disable test for now, unless it gets fixed
1513
1514 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
1515
1516         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
1517         (GST_START_TEST):
1518           fix race in underrun test
1519
1520 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
1521
1522         * tests/check/elements/.cvsignore:
1523           ignore more
1524
1525         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
1526         (GST_START_TEST):
1527           try to narrow test failure
1528
1529 2006-12-21  David Schleef  <ds@schleef.org>
1530
1531         * plugins/elements/gstfakesrc.c:
1532           Use g_random_int_range(), since it produces better random
1533           numbers in a range than almost-correct floating point code.
1534
1535 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
1536
1537         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
1538         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
1539         (gst_check_teardown_sink_pad):
1540           do not automatically (de)activate pads
1541
1542         * tests/check/Makefile.am:
1543         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
1544         (setup_queue), (cleanup_queue), (GST_START_TEST), (queue_suite):
1545           add new, yet simple tests for queue
1546
1547         * tests/check/elements/fakesrc.c: (cleanup_fakesrc):
1548         * tests/check/elements/fdsrc.c: (cleanup_fdsrc):
1549         * tests/check/elements/filesrc.c: (cleanup_filesrc),
1550         (GST_START_TEST):
1551         * tests/check/elements/identity.c: (cleanup_identity):
1552           consistent pad (de)activation
1553
1554 2006-12-20  Tim-Philipp Müller  <tim at centricular dot net>
1555
1556         Patch by: Sebastian Dröge  <slomo ubuntu com>
1557
1558         * libs/gst/base/gstcollectpads.c:
1559           Fix two doc typos (#387866).
1560
1561 2006-12-19  Tim-Philipp Müller  <tim at centricular dot net>
1562
1563         * docs/manual/advanced-dparams.xml:
1564           Fix typo (g_object_control_properties() doesn't exist).
1565
1566 2006-12-19  Edward Hervey  <edward@fluendo.com>
1567
1568         * gst/gstsegment.c: (gst_segment_set_seek):
1569         Fine tune the cases where the segment start/stop values are really
1570         updated.
1571         * tests/check/gst/gstsegment.c: (GST_START_TEST):
1572         Add tests for the return values of gst_segment_set_seek().
1573
1574 2006-12-19  Tim-Philipp Müller  <tim at centricular dot net>
1575
1576         * gst/gst.c:
1577           Docs typo fix.
1578
1579         * plugins/elements/gstqueue.c: (gst_queue_class_init),
1580         (gst_queue_init):
1581           Fix incorrect documentation and flesh it out a bit more.
1582           Set default values for the max properties on the GParamSpec as well,
1583           so it shows up correctly in gst-inspect.
1584
1585 2006-12-18  Stefan Kost  <ensonic@users.sf.net>
1586
1587         * plugins/elements/gstqueue.c: (queue_leaky_get_type):
1588           Correct docs of queue, add more detail and crosslink it more.
1589
1590 2006-12-16  Tim-Philipp Müller  <tim at centricular dot net>
1591
1592         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
1593           Print additional debug info when the stream isn't perfectly
1594           timestamped; don't try to use invalid durations.
1595
1596 2006-12-16  Tim-Philipp Müller  <tim at centricular dot net>
1597
1598         * docs/design/Makefile.am:
1599           Dist new design docs.
1600
1601 2006-12-16  Wim Taymans  <wim@fluendo.com>
1602
1603         Patch by: Sjoerd Simons <sjoerd at luon dot net>
1604
1605         * libs/gst/base/gstcollectpads.c: (ref_data), (unref_data),
1606         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
1607         (gst_collect_pads_stop), (gst_collect_pads_event),
1608         (gst_collect_pads_chain):
1609         * libs/gst/base/gstcollectpads.h:
1610         Add refcounting to the collectpads data so we can track when it's safe
1611         to free the data. Fixes #383382.
1612
1613 2006-12-15  Wim Taymans  <wim@fluendo.com>
1614
1615         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
1616         (gst_collect_pads_remove_pad):
1617         Automatically activate/deactivate pads when they are added to a
1618         started/stoped collectpads.
1619
1620 2006-12-15  Wim Taymans  <wim@fluendo.com>
1621
1622         * gst/gstelement.c: (gst_element_add_pad):
1623         * gst/gstghostpad.c: (gst_ghost_pad_new_full):
1624         * gst/gstpad.c: (gst_pad_init):
1625         Set pads to FLUSHING when they are created. Check, warn and fix when a
1626         demuxer adds an inactive pad to itself when running. Fixes #339326.
1627
1628 2006-12-15  Wim Taymans  <wim@fluendo.com>
1629
1630         * gst/gstelement.c: (gst_element_class_init),
1631         (gst_element_default_send_event), (gst_element_send_event),
1632         (gst_element_default_query), (gst_element_query):
1633         Expose default element send_event and query handling as vmethods that
1634         subclasses can chain up to.
1635
1636 2006-12-15  Wim Taymans  <wim@fluendo.com>
1637
1638         * gst/gstelement.c: (gst_element_set_state_func):
1639         Small documentation fixes.
1640
1641 2006-12-15  Wim Taymans  <wim@fluendo.com>
1642
1643         * docs/design/draft-latency.txt:
1644         Checked in draft for handling latency in pipelines.
1645
1646 2006-12-15  Thomas Vander Stichele  <thomas at apestaart dot org>
1647
1648         * Makefile.am:
1649         * gstreamer.doap:
1650         * gstreamer.spec.in:
1651           adding .doap file
1652
1653 2006-12-14  Tim-Philipp Müller  <tim at centricular dot net>
1654
1655         * gst/gst.c: (init_pre), (init_post):
1656           init_pre() and init_post() might be called via our GOptionGroup or
1657           from gst_init(), and we should skip both of them if we've already
1658           been initialised, otherwise we will init some things twice or add
1659           two default log functions.
1660
1661 2006-12-13  Edward Hervey  <edward@fluendo.com>
1662
1663         * docs/manual/basics-bus.xml:
1664         No, gst_main_loop does not exist. Its g_main_loop.
1665         Discovered by somebody who abused the copy-paste technique of coding :)
1666
1667 2006-12-13  Tim-Philipp Müller  <tim at centricular dot net>
1668
1669         * gst/gstghostpad.c:
1670           Log ghostpad debug stuff to the GST_PADS category as well rather
1671           than just to the default category.
1672
1673 2006-12-12  Tim-Philipp Müller  <tim at centricular dot net>
1674
1675         * configure.ac:
1676         * gst/gst.c: (init_pre):
1677           Add some basic system details such as OS and architecture
1678           to the debug output if possible, courtesy of uname().
1679
1680 2006-12-11  Tim-Philipp Müller  <tim at centricular dot net>
1681
1682         * docs/gst/running.xml:
1683           Document GST_REGISTRY_FORK and GST_DEBUG_NO_COLOR
1684           environment variables.
1685
1686 2006-12-09  Jan Schmidt  <thaytan@mad.scientist.com>
1687
1688         * tests/check/gst/gstbin.c: (GST_START_TEST):
1689         It is acceptable to have a refcount of 2 or 3 at this point in the
1690         test, because the pipeline might be just posting its state_change
1691         message. The next line then waits for that message to appear using
1692         bus_poll, so that should be fine too.
1693
1694 2006-12-09  Jan Schmidt  <thaytan@mad.scientist.com>
1695
1696         * gst/gst.c: (ensure_current_registry_forking):
1697         Ignore EINTR when reading from the child registry pipe.
1698         Explicitly ignore the return value from close, since it makes no
1699         difference.
1700
1701         * gst/gstminiobject.c: (gst_mini_object_ref),
1702         (gst_mini_object_unref):
1703         When debugging refcounts, check GST_IS_MINI_OBJECT and warn.
1704
1705         * gst/gstregistry.c: (_priv_gst_registry_remove_cache_plugins):
1706         When removing cached plugins, remove their features too, so they're
1707         not visible after they've disappeared.
1708
1709         * gst/gstutils.c: (prepare_link_maybe_ghosting):
1710         In the unlikely case that we are linking pads with no parents, don't
1711         crash trying to get the non-existent parent bin.
1712
1713         * gst/parse/grammar.y:
1714         Output debug in the PIPELINE category
1715
1716 2005-03-08  Wim Taymans  <wim@fluendo.com>
1717
1718         Patch by: René Stadler <mail at renestadler dot de>
1719
1720         * gst/gstclock.c: (gst_clock_new_periodic_id):
1721         Reject invalid clock times for interval of periodic ids.
1722         Fixes ##383506.
1723
1724 2006-12-07  Jan Schmidt  <thaytan@mad.scientist.com>
1725
1726         * gst/gstelementfactory.c: (gst_element_factory_create):
1727         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
1728         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
1729         * tools/gst-inspect.c: (print_element_info):
1730         Fix refcounting of gst_plugin_feature_load to match the docs. 
1731         Fixes: #380129
1732
1733 2006-12-07  Wim Taymans  <wim@fluendo.com>
1734
1735         * libs/gst/base/gstbasesink.c: (gst_base_sink_event),
1736         (gst_base_sink_get_position):
1737         Improve debugging of events.
1738
1739 2006-12-07  Wim Taymans  <wim@fluendo.com>
1740
1741         Patch by: René Stadler <mail at renestadler dot de>
1742
1743         * gst/gstclock.c: (gst_clock_id_wait):
1744         Make period ids add the interval to the origial requested time instead
1745         of the possibly updated time which can be wrong when there are multiple
1746         waiters for the same id. Fixes #382592.
1747
1748         * gst/gstsystemclock.c: (gst_system_clock_async_thread),
1749         (gst_system_clock_id_wait_jitter_unlocked),
1750         (gst_system_clock_id_wait_jitter):
1751         Fix restart in the async notify thread when an async entry is added to
1752         the front of the list. Fixes #381492. 
1753
1754         * tests/check/gst/gstsystemclock.c: (store_callback),
1755         (notify_callback), (GST_START_TEST), (gst_systemclock_suite):
1756         Added test for multiple async waits.
1757         Added test for async wait order.
1758
1759 2006-12-07  Wim Taymans  <wim@fluendo.com>
1760
1761         * gst/gstbin.c: (gst_bin_query):
1762         Add some more docs about the POSITION query.
1763
1764 2006-12-07  Jan Schmidt  <thaytan@mad.scientist.com>
1765
1766         * configure.ac:
1767         Bump version nano - back to CVS.
1768
1769 === release 0.10.11 ===
1770
1771 2006-12-06  Jan Schmidt <thaytan@mad.scientist.com>
1772
1773         * configure.ac:
1774           releasing 0.10.11, "Love never runs on time"
1775
1776 2006-12-01  Jan Schmidt  <thaytan@mad.scientist.com>
1777
1778         * win32/common/libgstbase.def:
1779         * win32/common/libgstreamer.def:
1780         * win32/vs8/libgstbase.vcproj:
1781         * win32/vs8/libgstcoreelements.vcproj:
1782         * win32/vs8/libgstreamer.vcproj:
1783         Fix compilation on win32 under VS8
1784         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
1785         Partially fixes #381175
1786
1787 2006-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
1788
1789         * gst/gstvalue.c: (gst_value_compare_fraction):
1790         If someone is foolish enough to compare 2 fractions with denominator =
1791         0, return UNORDERED rather than aborting.
1792
1793 2006-11-28  Edward Hervey  <edward@fluendo.com>
1794
1795         * libs/gst/base/Makefile.am:
1796         * libs/gst/base/gstdataqueue.c: (gst_data_queue_get_type),
1797         (gst_data_queue_base_init), (gst_data_queue_class_init),
1798         (gst_data_queue_init), (gst_data_queue_new),
1799         (gst_data_queue_cleanup), (gst_data_queue_finalize),
1800         (gst_data_queue_locked_flush), (gst_data_queue_locked_is_empty),
1801         (gst_data_queue_locked_is_full), (gst_data_queue_flush),
1802         (gst_data_queue_is_empty), (gst_data_queue_is_full),
1803         (gst_data_queue_set_flushing), (gst_data_queue_push),
1804         (gst_data_queue_pop), (gst_data_queue_drop_head),
1805         (gst_data_queue_set_property), (gst_data_queue_get_property):
1806         * libs/gst/base/gstdataqueue.h:
1807         New GstDataQueue object for threadsafe queueing. Most useful for
1808         elements that need some queueing functionnality.
1809         * docs/libs/gstreamer-libs-docs.sgml:
1810         * docs/libs/gstreamer-libs-sections.txt:
1811         Insert documentation for GstDataQueue
1812         * plugins/elements/Makefile.am:
1813         * plugins/elements/gstelements.c:
1814         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
1815         (gst_multi_queue_class_init), (gst_multi_queue_init),
1816         (gst_multi_queue_finalize), (gst_multi_queue_set_property),
1817         (gst_multi_queue_get_property), (gst_multi_queue_request_new_pad),
1818         (gst_multi_queue_release_pad), (gst_single_queue_push_one),
1819         (gst_multi_queue_item_destroy), (gst_multi_queue_item_new),
1820         (gst_multi_queue_loop), (gst_multi_queue_chain),
1821         (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
1822         (gst_multi_queue_getcaps), (gst_multi_queue_bufferalloc),
1823         (gst_multi_queue_src_activate_push), (gst_multi_queue_acceptcaps),
1824         (gst_multi_queue_src_event), (gst_multi_queue_src_query),
1825         (wake_up_next_non_linked), (compute_next_non_linked),
1826         (single_queue_overrun_cb), (single_queue_underrun_cb),
1827         (single_queue_check_full), (gst_single_queue_new):
1828         * plugins/elements/gstmultiqueue.h:
1829         New multiqueue element, using GstDataQueue. Used for queuing multiple
1830         streams.
1831         Closes #344639 and #347785
1832
1833 2006-11-22  Stefan Kost  <ensonic@users.sf.net>
1834
1835         * docs/pwg/advanced-types.xml:
1836           add more missing type details
1837
1838         * tools/gst-run.c: (main):
1839           remove unused variable
1840
1841 2006-11-21  Stefan Kost  <ensonic@users.sf.net>
1842
1843         * docs/libs/Makefile.am:
1844         * docs/libs/gstreamer-libs.types:
1845           add types of base classes to enable gobject specific stuff in the docs
1846
1847         * docs/random/ensonic/embedded.txt:
1848           more ideas about isolating platform specific things
1849
1850 2006-11-20  Wim Taymans  <wim@fluendo.com>
1851
1852         Patch by: Sebastian Dröge <slomo at ubuntu dot com>
1853
1854         * libs/gst/check/gstcheck.h:
1855         Fix compilation and running against 0.9.4. Fixes #377332.
1856
1857 2006-11-20  Wim Taymans  <wim@fluendo.com>
1858
1859         * gst/gstsegment.c: (gst_segment_set_seek),
1860         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
1861         (gst_segment_to_running_time):
1862         Fix boundary checking in to_running_time() and to_stream_time().
1863         Fixes #377183.
1864
1865         * tests/check/gst/gstsegment.c: (GST_START_TEST):
1866         stream and running time can now be calculated for the complete
1867         clipped segment.
1868
1869 2006-11-15  Tim-Philipp Müller  <tim at centricular dot net>
1870
1871         * gst/gstpad.c: (gst_pad_push_event):
1872           Can't access event structure after giving away ownership of
1873           the event.
1874
1875 2006-11-15  Stefan Kost  <ensonic@users.sf.net>
1876
1877         * docs/random/ensonic/embedded.txt:
1878         * docs/random/ensonic/profiling.txt:
1879         * docs/random/ensonic/receipies.txt:
1880           more thinking
1881
1882 2006-11-13  Wim Taymans  <wim@fluendo.com>
1883
1884         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
1885
1886         * gst/gstpad.c:
1887         Fix documentation for gst_pad_dispatcher. Fixes #374475.
1888
1889 2006-11-13  Wim Taymans  <wim@fluendo.com>
1890
1891         Patch by: Jonathan Matthew <jonathan at kaolin dot wh9 dot net>
1892
1893         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
1894         Store new length in segment duration so we don't keep on calling the
1895         potentially expensize get_size() call. Fixes #370865.
1896
1897 2006-11-10  Tim-Philipp Müller  <tim at centricular dot net>
1898
1899         Patch by: Sergey Scobich  <sergey.scobich at gmail com>
1900
1901         * win32/common/libgstreamer.def:
1902           Add two missing symbols (#366492).
1903
1904 2006-11-10  Jan Schmidt  <thaytan@mad.scientist.com>
1905
1906         * libs/gst/base/gstadapter.c: (gst_adapter_flush),
1907         (gst_adapter_take_buffer):
1908         Fix format string to use all its arguments.
1909         Remove useless >= check on a guint
1910
1911 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
1912
1913         * tests/examples/adapter/.cvsignore:
1914         Ignore build file as commanded by the build-bot
1915
1916 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
1917
1918         * tests/examples/adapter/Makefile.am:
1919         * tests/examples/adapter/adapter_test.c: (run_test_take),
1920         (run_test_take_buffer), (run_tests), (main):
1921
1922         Add new files from the previous commit
1923
1924 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
1925
1926         * Makefile.am:
1927         * configure.ac:
1928         * libs/gst/base/gstadapter.c: (gst_adapter_clear),
1929         (gst_adapter_push), (gst_adapter_peek_into), (gst_adapter_peek),
1930         (gst_adapter_flush), (gst_adapter_take), (gst_adapter_take_buffer):
1931         * libs/gst/base/gstadapter.h:
1932         * tests/check/libs/adapter.c: (create_and_fill_adapter),
1933         (GST_START_TEST), (gst_adapter_suite):
1934         * tests/examples/Makefile.am:
1935         Do some optimisation work in GstAdapter to avoid copies in more cases.
1936         It could still do slightly better by merging buffers when
1937         gst_buffer_is_span_fast is true, but is already faster. 
1938
1939         Also, avoid traversing a single-linked list to append each incoming 
1940         buffer inside the adapter.
1941
1942         Add simple test app that times the adapter behaviour in different
1943         situations, and extend the unit test to check that bytes enter and
1944         exit the adapter in their original order.
1945
1946 2006-11-08  Tim-Philipp Müller  <tim at centricular dot net>
1947
1948         * docs/random/draft-missing-plugins.txt:
1949           Update: use element message instead of adding a new message
1950           type to the core; don't provide GStreamer API to initiate the
1951           plugin download, just provide API to compose the strings needed
1952           and let an external libgimmestuff handle the rest.
1953
1954 2006-11-08  Jan Schmidt  <thaytan@mad.scientist.com>
1955
1956         * tools/gst-inspect.c: (print_element_properties_info):
1957         Print a string instead of 'unknown type' for GValueArray properties
1958
1959 2006-11-08  Christian F.K. Schaller  <christian@fluendo.com>
1960
1961         * docs/random/draft-missing-plugins.txt:
1962         More small fixes.
1963
1964 2006-11-07  Tim-Philipp Müller  <tim at centricular dot net>
1965
1966         * tests/examples/typefind/typefind.c: (type_found), (main):
1967           Make typefind element example work again (#371894); add a
1968           license header.
1969
1970 2006-11-07  Tim-Philipp Müller  <tim at centricular dot net>
1971
1972         * docs/random/draft-missing-plugins.txt:
1973           Commit initial draft about how to deal with missing plugins,
1974           needs work (API too).
1975
1976 2006-11-07  Stefan Kost  <ensonic@users.sf.net>
1977
1978         * docs/pwg/advanced-types.xml:
1979           documents the new caps elements (see #363118)
1980
1981 2006-11-06  Tim-Philipp Müller  <tim at centricular dot net>
1982
1983         * gst/gstplugin.c: (gst_plugin_load_file):
1984         * plugins/elements/gstfilesrc.c: (gst_mmap_buffer_finalize),
1985         (gst_file_src_map_region), (gst_file_src_start):
1986         * plugins/indexers/gstfileindex.c: (gst_file_index_load),
1987         (gst_file_index_commit):
1988           Use g_strerror() instead of strerror() - we want UTF-8.
1989
1990 2006-11-06  Tim-Philipp Müller  <tim at centricular dot net>
1991
1992         Patch by: Peter Kjellerstedt <pkj at axis com>
1993
1994         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
1995           Another printf fix (#371493).
1996
1997 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
1998
1999         * tests/check/gst/gsttag.c:
2000           relicence (okay with author=company)
2001
2002 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
2003
2004         * gst/gstpad.c: (gst_pad_event_default_dispatch),
2005         (gst_pad_push_event):
2006           Enhance debug and improve docs
2007         
2008         * gst/gsturi.c:
2009           Fix docs
2010
2011 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
2012
2013         * docs/random/ensonic/distributed.txt:
2014         * docs/random/ensonic/profiling.txt:
2015           more ideas
2016
2017 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
2018
2019         * docs/gst/gstreamer-sections.txt:
2020           add new API and fix the build
2021           
2022         * gst/gstbin.c: (gst_bin_recalc_state):
2023         * gst/gstelement.c: (gst_element_message_full),
2024         (gst_element_get_state_func), (gst_element_set_state_func):
2025           use new API and improve logging
2026         
2027         * gst/gstutils.c: (gst_element_state_change_return_get_name):
2028         * gst/gstutils.h:
2029           API: add function to get StateChangereturn names to improve logs 
2030
2031 2006-11-04  Thomas Vander Stichele  <thomas at apestaart dot org>
2032
2033         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
2034           I'm considering shooting the next person to put strerror stuff
2035           in the translateable part of the message.
2036
2037 2006-11-03  Wim Taymans  <wim@fluendo.com>
2038
2039         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
2040         Get the type and printf conversion specifiers right.
2041
2042 2006-11-03  Wim Taymans  <wim@fluendo.com>
2043
2044         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
2045
2046         * gst/gstpad.c: (gst_pad_init), (pre_activate),
2047         (gst_pad_set_blocked_async), (gst_pad_acceptcaps_default),
2048         (gst_pad_accept_caps), (handle_pad_block), (gst_pad_push_event):
2049         Some small cleanups. Improve debugging.
2050         * gst/gstpad.h:
2051         Signal all waiting threads with a broadcast instead of just one.
2052         Fixes #369942.
2053
2054 2006-11-03  Wim Taymans  <wim@fluendo.com>
2055
2056         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd),
2057         (gst_fd_src_create):
2058         Add some debugging. 
2059         Only update fd when it's different from the old.
2060
2061 2006-11-02  Tim-Philipp Müller  <tim at centricular dot net>
2062
2063         * plugins/elements/gstfilesrc.c: (gst_file_src_create_mmap):
2064           Printf fixes for PPC/OSX, take two (#369366).
2065
2066 2006-11-02  Tim-Philipp Müller  <tim at centricular dot net>
2067
2068         Based on patch by: Jan David Mol  <j.j.d.mol at tudelft nl>
2069
2070         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
2071         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
2072         (gst_file_src_map_small_region), (gst_file_src_create_mmap):
2073           Printf fixes for gsize parameters on PPC/OSX (#369366). Also,
2074           don't cast to long long for portability reasons, but use
2075           GLib's types instead.
2076
2077 2006-10-30  Michael Smith  <msmith@fluendo.com>
2078
2079         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
2080           Get the arguments to lseek() the right way around.
2081           Fixes 367677.
2082
2083 2006-10-30  Wim Taymans  <wim@fluendo.com>
2084
2085         Patch by: gorshkov <gorshkov at oghma dot on dot ca>
2086
2087         * gst/gstinfo.h:
2088         _declspec should be __declspec (two underscores, not one). Fixes 366572.
2089
2090 2006-10-28  Tim-Philipp Müller  <tim at centricular dot net>
2091
2092         Patch by: Kjartan Maraas  <kmaraas at gnome org>
2093
2094         * docs/design/part-MT-refcounting.txt:
2095         * docs/random/wtay/capsnego2-docs:
2096         * gst/gstclock.c:
2097         * gst/gstxml.c:
2098           Typo fixes (#366212).
2099
2100 2006-10-28  Wim Taymans  <wim@fluendo.com>
2101
2102         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
2103
2104         * gst/gst.c:
2105         * win32/common/libgstbase.def:
2106         * win32/common/libgstreamer.def:
2107         * win32/vs8/libgstbase.vcproj:
2108         * win32/vs8/libgstcontroller.vcproj:
2109         Add needed entries in .def files.
2110         Use HAVE_UNISTD_H.
2111         Rearrange def files in vs8 solutions. Fixes #366286.
2112
2113 2006-10-28  Tim-Philipp Müller  <tim at centricular dot net>
2114
2115         * win32/common/gstconfig.h:
2116           Add GST_SEGMENT_FORMAT and GST_USING_PRINTF_EXTENSION to the
2117           hand-made win32 gstconfig.h. Fixes #366321.
2118
2119 2006-10-27  Wim Taymans  <wim@fluendo.com>
2120
2121         * gst/gstghostpad.c: (gst_proxy_pad_do_acceptcaps),
2122         (gst_ghost_pad_new_full):
2123         Make acceptcaps return TRUE when we don't have a target, just like
2124         setcaps does.
2125
2126 2006-10-27  Wim Taymans  <wim@fluendo.com>
2127
2128         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
2129         Revert previous commit, 0 sized buffers are allowed. Reopens #363095.
2130
2131 2006-10-26  Tim-Philipp Müller  <tim at centricular dot net>
2132
2133         * gst/gststructure.c: (gst_structure_id_set_value):
2134           If someone tries to set a non-UTF8 string field on a structure,
2135           don't just print a warning, but also ignore the request and do
2136           not change/add that field to the structure.
2137
2138         * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
2139           Test for the above.
2140
2141 2006-10-25  David Schleef  <ds@schleef.org>
2142
2143         * gst/gstinfo.c:
2144           g_hash_table_insert() needs a cast to a non-const pointer duh.
2145
2146 2006-10-25  David Schleef  <ds@schleef.org>
2147
2148         * gst/gstinfo.c:
2149         * gst/gstinfo.h:
2150           Change name parameter of _gst_debug_register_funcptr to const
2151           to reflect the constness of its use in the function as well
2152           as to quiet a gcc warning.
2153
2154 2006-10-25  Edward Hervey  <edward@fluendo.com>
2155
2156         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
2157         Don't push the buffer if it's empty.
2158         Closes #363095
2159
2160 2006-10-24  Wim Taymans  <wim@fluendo.com>
2161
2162         * gst/gstevent.h:
2163         Add small comment.
2164
2165         * libs/gst/base/gstbasetransform.c:
2166         (gst_base_transform_sink_eventfunc):
2167         Debug segment values *after* updating them as this is more
2168         interesting.
2169
2170 2006-10-23  Wim Taymans  <wim@fluendo.com>
2171
2172         * docs/design/part-events.txt:
2173         Update some docs.
2174
2175         * docs/design/part-block.txt:
2176         * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
2177         (gst_pad_push_event):
2178         Revert BLOCKING patch, it tries to be smart without really having a
2179         clear idea what or how. So, now we discard all FLUSHING events again on
2180         a blocking pad. Should fix gnonlin again.
2181
2182 2006-10-23  Wim Taymans  <wim@fluendo.com>
2183
2184         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
2185
2186         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
2187         (gst_base_src_start), (gst_base_src_activate_push):
2188         Make sure size is always initialized. Fixes #364388.
2189
2190 2006-10-20  Stefan Kost  <ensonic@users.sf.net>
2191
2192         * docs/random/ensonic/distributed.txt:
2193           add some ideas about doing distributed processing
2194
2195         * docs/random/ensonic/profiling.txt:
2196           get_rusage look promising
2197
2198 2006-10-18  Stefan Kost  <ensonic@users.sf.net>
2199
2200         * docs/manual/basics-helloworld.xml:
2201           Add a cast in example to fix compile warning
2202
2203 2006-10-18  Wim Taymans  <wim@fluendo.com>
2204
2205         * gst/gstsegment.c: (gst_segment_set_last_stop),
2206         (gst_segment_set_seek), (gst_segment_set_newsegment_full):
2207         Relax arg checking again, -1 is allowed.
2208
2209 2006-10-18  Wim Taymans  <wim@fluendo.com>
2210
2211         * gst/gstsegment.c: (gst_segment_set_last_stop),
2212         (gst_segment_set_seek), (gst_segment_set_newsegment_full):
2213         _set_last_stop() must be with a value != -1
2214         A _TYPE_SET to -1 means seek to 0.
2215         Calc last_stop correctly for negative rates.
2216         Make sure we work with positive durations when updating a segment.
2217
2218 2006-10-18  Wim Taymans  <wim@fluendo.com>
2219
2220         * docs/design/part-live-source.txt:
2221         * gst/gstclock.h:
2222         Small docs fixes.
2223
2224 2006-10-18  Tim-Philipp Müller  <tim at centricular dot net>
2225
2226         * gst/gstbuffer.h:
2227           Add an explicit cast to GstBuffer** to keep old code that added an
2228           explicit cast to GstMiniObject** for gst_mini_object_replace()
2229           compiling without warning.
2230
2231 2006-10-18  Stefan Kost  <ensonic@users.sf.net>
2232
2233         * gst/gstvalue.c: (gst_value_set_date), (gst_date_copy):
2234           check for validity of dates
2235
2236 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
2237
2238         * docs/gst/gstreamer-sections.txt:
2239           Forgot this one, makes gtk-doc shut up.
2240
2241 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
2242
2243         Patch by: Peter Kjellerstedt <pkj at axis com>
2244
2245         * gst/gstobject.h:
2246           Don't define xmlNodePtr to gpointer if the core was built with
2247           --disable-loadsave and --disable-registry, this will break
2248           applications that want to use libxml2 but are buildling against a
2249           core that doesn't use libxml2. Use an intermediary type GstXmlNodePtr
2250           instead so we don't have to mess with the libxml2 namespace
2251           (#361675).
2252
2253 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
2254
2255         * gst/gstbuffer.h:
2256           Fix gst_buffer_replace() macro to avoid gst_mini_object_replace()-related
2257           type-punned pointer warnings.
2258
2259 2006-10-16  Tim-Philipp Müller  <tim at centricular dot net>
2260
2261         * gst/gstelement.h:
2262           Add casts to the correct return type to state <=> state transition
2263           macros.
2264
2265 2006-10-16  Stefan Kost  <ensonic@users.sf.net>
2266
2267         * docs/design/part-live-source.txt:
2268           describe howto handle latency
2269         
2270         * docs/random/ensonic/profiling.txt:
2271           more ideas
2272
2273         * tools/gst-plot-timeline.py:
2274           fix log parsing for solaris, remove unused function
2275
2276 2006-10-16  Wim Taymans  <wim@fluendo.com>
2277
2278         * docs/design/part-trickmodes.txt:
2279         * gst/gstevent.c:
2280         Update some docs regarding reverse playback.
2281
2282 2006-10-15  Tim-Philipp Müller  <tim at centricular dot net>
2283
2284         Patch by: Marcus Granado  <mrc dot gran at gmail com>
2285
2286         * win32/vs8/grammar.vcproj:
2287           Error out with a warning if glib-genmarshal.exe is not in path,
2288           instead of creating bogus gstmarshal.[ch] files. Fixes #361720.
2289
2290 2006-10-13  Wim Taymans  <wim@fluendo.com>
2291
2292         * gst/gstsegment.c: (gst_segment_set_seek):
2293         When seeking to stop -1, set last_stop (current position) to the
2294         duration of the segment.
2295
2296 2006-10-13  Wim Taymans  <wim@fluendo.com>
2297
2298         * gst/gstelement.h:
2299         Clarify _NO_PREROLL a bit more.
2300
2301         * gst/gstevent.c:
2302         Fix docs.
2303
2304         * gst/gstpad.c: (gst_pad_link_check_hierarchy),
2305         (gst_pad_get_caps_unlocked), (gst_pad_save_thyself),
2306         (handle_pad_block), (gst_pad_push_event), (gst_pad_send_event):
2307         Patch by: Yves Lefebvre <ivanohe at abacom dot com> Fix possible deadlock
2308         due to wrong locking order. Fixes #361769.
2309         Remove some redundant/misplaced checks in pad_block.
2310
2311         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
2312         For negative rates, count backwards from the duration.
2313
2314 2006-10-13  Tim-Philipp Müller  <tim at centricular dot net>
2315
2316         * gst/gsterror.c: (_gst_library_errors_init):
2317           Fix error message for GST_LIBRARY_ERROR_SETTINGS (feel free to come
2318           up with something better).
2319
2320 2006-10-12  Tim-Philipp Müller  <tim at centricular dot net>
2321
2322         * win32/vs6/libgstreamer.dsp:
2323         * win32/vs7/libgstreamer.vcproj:
2324         * win32/vs8/libgstreamer.vcproj:
2325           Don't reference glib-compat.c which is currently not used and not
2326           disted; add gstquark.c which was recently added. Fixes #361730.
2327
2328 2006-10-12  Tim-Philipp Müller  <tim at centricular dot net>
2329
2330         * win32/common/libgstbase.def:
2331         * win32/common/libgstcontroller.def:
2332         * win32/common/libgstreamer.def:
2333           Add gst_caps_merge() and a bunch of other recently-added functions.
2334           Fixes #361732.
2335
2336 2006-10-11  Wim Taymans  <wim@fluendo.com>
2337
2338         * docs/plugins/gstreamer-plugins.args:
2339         * docs/plugins/inspect/plugin-coreelements.xml:
2340         * docs/plugins/inspect/plugin-coreindexers.xml:
2341         Update element args.
2342
2343         * gst/gstsystemclock.c:
2344         Small comment update.
2345
2346         * plugins/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
2347         (gst_tee_request_new_pad), (gst_tee_release_pad),
2348         (gst_tee_buffer_alloc), (gst_tee_sink_activate_push),
2349         (gst_tee_sink_activate_pull):
2350         * plugins/elements/gsttee.h:
2351         Some tee loving:
2352         Add default property defines.
2353         Implement release pad function.
2354         Give properties better blubs etc.
2355         Activate pads before adding them to a running tee.
2356         Do simple buffer_alloc on the first requested pad.
2357         Post error when activation fails.
2358
2359 2006-10-11  Tim-Philipp Müller  <tim at centricular dot net>
2360
2361         * gst/gst.c: (ensure_current_registry_forking):
2362           Check return value of write() to make compiler happy.
2363
2364 2006-10-11  Wim Taymans  <wim@fluendo.com>
2365
2366         Patch by: Sjoerd Simons <sjoerd at luon dot net>
2367
2368         * plugins/elements/gstqueue.c: (gst_queue_chain):
2369         Recheck queue filledness after signalling the overrun when we're about
2370         to leak downstream because we released the lock when emitting the signal
2371         and the queue could be empty again. Fixes #352345.
2372
2373 2006-10-11  Tim-Philipp Müller  <tim at centricular dot net>
2374
2375         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list):
2376           Fix refcounting here too, just like we did for _new_valist() a few
2377           days ago (#357180) (thanks to René Stadler). Also remove all those
2378           'Since: 0.9' from the gtk-doc blobs.
2379
2380         * tests/check/libs/controller.c: (controller_refcount_new_list),
2381         (gst_controller_suite):
2382           Unit test for the above.
2383
2384 2006-10-10  Wim Taymans  <wim@fluendo.com>
2385
2386         Patch by: Sebastien Cote <sebas642 at yahoo dot ca>
2387
2388         * gst/gstpad.c: (gst_pad_get_caps_unlocked),
2389         (gst_pad_save_thyself):
2390         Update some docs.
2391         Write pad direction in XML output. Fixes #345496.
2392
2393 2006-10-10  Wim Taymans  <wim@fluendo.com>
2394
2395         Patch by: René Stadler <mail at renestadler dot de>
2396
2397         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
2398         (gst_controller_new_list), (_gst_controller_dispose),
2399         (_gst_controller_finalize), (_gst_controller_class_init):
2400         Take ref to controlled object so that it cannot disappear. 
2401         Fixes #357432.
2402
2403 2006-10-10  Wim Taymans  <wim@fluendo.com>
2404
2405         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
2406         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
2407         (gst_check_teardown_sink_pad):
2408         Activate/deactivate pads in setup/teardown respectively.
2409
2410 2006-10-10  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
2411
2412         Patch by: Josep Torre Valles <josep@fluendo.com>
2413
2414         * gst/Makefile.am:
2415         Cast values when making gstenumtypes.h.  This pacifies Forte
2416         so it doesn't warn about the ~0 as GST_MESSAGE_ANY not fitting
2417         in the enumeration.
2418
2419 2006-10-09  Wim Taymans  <wim@fluendo.com>
2420
2421         * gst/gstevent.c: (gst_event_new_seek), (gst_event_parse_seek):
2422         Rename some more @cur to @start to fix docs. 
2423
2424         * gst/gstsegment.c: (gst_segment_set_seek):
2425         Fix typo.
2426         time and start must always stay in sync as defined in design doc.
2427
2428         * gst/gsttaglist.c: (gst_tag_list_is_empty):
2429         Rename param to fix docs.
2430
2431         * tests/check/gst/gstsegment.c: (GST_START_TEST):
2432         Check that start and time are in sync.
2433
2434         * tests/check/pipelines/parse-launch.c:
2435         (gst_parse_test_element_change_state):
2436         Activate pad before adding to the element.
2437
2438 2006-10-09  Wim Taymans  <wim@fluendo.com>
2439
2440         * docs/design/part-qos.txt:
2441         Fix typo.
2442
2443         * gst/gstevent.c:
2444         * gst/gstevent.h:
2445         Update seek event docs regarding negative rates.
2446         Rename @cur to @start. 
2447
2448         * gst/gstsegment.c: (gst_segment_set_seek):
2449         * gst/gstsegment.h:
2450         Update set_seek docs regarding negative rates.
2451         Correctly update last_stop to @stop when dealing with negative
2452         rates.
2453         Rename @cur to @start. 
2454
2455         * tests/check/gst/gstpad.c: (GST_START_TEST):
2456         Activate pads before trying to use them.
2457
2458         * tests/check/gst/gstsegment.c: (GST_START_TEST),
2459         (gst_segment_suite):
2460         Add simple check for segments and negative rates.
2461
2462 2006-10-09  Tim-Philipp Müller  <tim at centricular dot net>
2463
2464         * gst/gsttaglist.c: (gst_tag_list_is_empty):
2465         * gst/gsttaglist.h:
2466         * docs/gst/gstreamer-sections.txt:
2467           API: add gst_tag_list_is_empty() (#360467).
2468
2469         * tests/check/gst/gsttag.c: (GST_START_TEST):
2470           And a test case.
2471
2472 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
2473
2474         * gst/gstmessage.h:
2475         Revert change from earlier wrt GST_MESSAGE_TYPE_ANY having
2476         a value that doesn't fit on enumeration.
2477
2478 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
2479
2480         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
2481         Remove local debugging system and use Gstreamer's instead.
2482
2483 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
2484
2485         Patch by: Josep Torre Valles <josep@fluendo.com>
2486
2487         * common/m4/gst-error.m4:
2488         Disable warning of statement not reached on Forte.
2489         * gst/gstmessage.h:
2490         Fix warning on Forte (value doesn't fit on enumeration).
2491         * libs/gst/base/gstbasesink.c: (gst_base_sink_chain_unlocked):
2492         Fix warning on Forte (value doesn't fit on enumeration).
2493         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
2494         DEBUG macro says it takes minimum of 2 args and so Forte
2495         complains about the use with just 1 arg.
2496         * plugins/elements/gstfdsink.c:
2497         * plugins/elements/gstfdsrc.c:
2498         * plugins/elements/gstfilesink.c:
2499         * plugins/elements/gstfilesrc.c:
2500         Use correct return type for the uri handler implementations.
2501
2502         All these fix warnings in Forte.  Fixes bug #360860.
2503
2504 2006-10-08  Tim-Philipp Müller  <tim at centricular dot net>
2505
2506         * gst/gstelement.h:
2507           gcc versions prior to gcc 3.3 apparently complain about a NULL printf
2508           format string, so don't use G_GNUC_PRINTF for those versions.
2509
2510 2006-10-07  Tim-Philipp Müller  <tim at centricular dot net>
2511
2512         * gst/gsttaglist.c: (gst_is_tag_list):
2513         * gst/gsttaglist.h:
2514           Minor fixes to GST_IS_TAG_LIST and gst_is_tag_list().
2515
2516         * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
2517           Small test for the above.
2518
2519 2006-10-07  Tim-Philipp Müller  <tim at centricular dot net>
2520
2521         * gst/gsttaglist.h:
2522           Less tabs, more spaces.
2523
2524 2006-10-06  Tim-Philipp Müller  <tim at centricular dot net>
2525
2526         * gst/gstinfo.h:
2527           Those two function declarations do actually belong there, revert
2528           commit from yesterday that turned them intro macros.
2529
2530 2006-10-06  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
2531
2532         Patch by: Josep Torre Valles <josep@fluendo.com>
2533
2534         * gst/gst.c: (gst_init_get_option_group):
2535         Fix empty declaration and type mismatch.
2536         * gst/gstbin.c: (gst_bin_change_state_func):
2537         Fix type mismatch.
2538         * gst/gstelement.c: (gst_element_continue_state),
2539         (gst_element_set_state_func), (gst_element_change_state),
2540         (gst_element_change_state_func):
2541         Fix type mismatches.
2542         * gst/gstinfo.c: (gst_debug_compare_log_function_by_func),
2543         (gst_debug_remove_log_function), (_gst_debug_nameof_funcptr):
2544         Cast as appropriate.
2545         * gst/gstobject.c: (gst_class_signal_connect):
2546         Cast as appropriate.  The function pointer parameter really
2547         has the wrong type but would break API if we change it.
2548         * gst/gstquery.c:
2549         Fix redefinition of _FILE_OFFSET_BITS caused on Solaris wrt
2550         order of including string.h.
2551         * gst/gstutils.c: (gst_element_state_get_name):
2552         Remove unreachable line.
2553         * gst/gstxml.c: (gst_xml_parse_doc):
2554         Fix type mismatch.
2555         All these caught by Forte.
2556
2557 2006-10-06  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
2558
2559         Patch by: Josep Torre Valles <josep@fluendo.com>
2560
2561         * common/m4/gst-error.m4:
2562         Fixed bug #360151.
2563         We need to disable warnings on Forte for empty declarations
2564         due to gst-indent adding ;s to lines that just use macros
2565         where the macro actually doesn't need a ; at end to end
2566         statement.
2567
2568 2006-10-06  Wim Taymans  <wim@fluendo.com>
2569
2570         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
2571         (gst_file_sink_close_file), (gst_file_sink_event),
2572         (gst_file_sink_render):
2573         Add some FIXME for the NEWSEGMENT handling.
2574
2575 2006-10-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
2576
2577         * gst/parse/grammar.y:
2578         Remove static function gst_parse_element_lock as all it does
2579         is return.  Looks like cruft from 0.8.
2580
2581 2006-10-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
2582
2583         Patch by: Josep Torre Valles <josep@fluendo.com>
2584
2585         * common/m4/gst-error.m4:
2586         * configure.ac:
2587         * libs/gst/net/Makefile.am:
2588         Fix a compilation issue with Forte on Solaris.  inet_aton is in
2589         libresolv.
2590
2591 2006-10-05  Tim-Philipp Müller  <tim at centricular dot net>
2592
2593         * gst/gstpad.c: (pre_activate):
2594         * gst/gstregistry.c: (gst_registry_scan_path_level):
2595         * gst/gstregistryxml.c: (load_plugin):
2596         * libs/gst/controller/gstcontroller.c:
2597         (gst_controlled_property_set_interpolation_mode):
2598         * libs/gst/dataprotocol/dataprotocol.c:
2599         (gst_dp_packet_from_event_1_0):
2600         * libs/gst/net/gstnetclientclock.c:
2601         (gst_net_client_clock_observe_times):
2602         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
2603           Printf fixes.
2604
2605 2006-10-05  Tim-Philipp Müller  <tim at centricular dot net>
2606
2607         * configure.ac:
2608         * docs/gst/gstreamer-sections.txt:
2609         * gst/gstconfig.h.in:
2610         * gst/gstelement.h:
2611         * gst/gstinfo.h:
2612           Add GST_USING_PRINTF_EXTENSION to gstconfig.h so that we know
2613           whether we can use G_GNUC_PRINTF in other header files and at
2614           least check the printf format/arguments of debug messages and
2615           GST_ELEMENT_ERROR messages when the printf extension is not
2616           being used.
2617           Replace more tabs with spaces in gstinfo.h and remove two spurious
2618           function declarations in GST_DISABLE_DEBUG part with macros.
2619
2620 2006-10-03  Tim-Philipp Müller  <tim at centricular dot net>
2621
2622         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_post):
2623           More docs for the sync-message signal (mention that it is not
2624           emitted by default); log message structures of messages posted on
2625           the bus as well.
2626
2627 2006-10-03  Jan Schmidt  <thaytan@mad.scientist.com>
2628
2629         * gst/gst.c: (ensure_current_registry_forking):
2630         Use a pipe pair to receive status results from the forked child, and
2631         ignore the result from waitpid. Fixes #355499
2632
2633 2006-10-02  Wim Taymans  <wim@fluendo.com>
2634
2635         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
2636         (gst_ghost_pad_suite):
2637         Fix leak in check.
2638
2639 2006-10-02  Tim-Philipp Müller  <tim at centricular dot net>
2640
2641         * gst/gstpad.c:
2642           Add 'Since: 0.10.11' to gst_pad_is_blocking() gtk-doc blurb.
2643
2644 2006-10-02  Edward Hervey  <edward@fluendo.com>
2645
2646         * docs/design/part-block.txt:
2647         Further explain the use of flushing on blocked pads.
2648         * docs/gst/gstreamer-sections.txt:
2649         * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
2650         (gst_pad_push_event):
2651         * gst/gstpad.h:
2652         Added new GstPadFlag : GST_PAD_BLOCKING.
2653         Adds the notion of pads really blocking, which enables to properly
2654         handle FLUSH_START/FLUSH_STOP events on blocked pads.
2655         Fixes #358999
2656         API: gst_pad_is_blocking()
2657         API: GST_PAD_IS_BLOCKING() macro
2658         API: GST_PAD_BLOCKING GstPadFlag
2659         
2660 2006-10-02  Wim Taymans  <wim@fluendo.com>
2661
2662         Patch by: mrcgran <mrc.gran at gmail dot com>
2663
2664         * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps):
2665         Filter the proxied caps against the padtemplate if we have one.
2666
2667         * gst/gstquery.c: (gst_query_new_segment):
2668         Add include for gstinfo.h so that compilation with
2669         -DGST_DISABLE_GST_DEBUG works again. Fixes #358436.
2670
2671 2006-10-02  Wim Taymans  <wim@fluendo.com>
2672
2673         Patch by: Alessandro Decina  <alessandro at nnva org>
2674
2675         * plugins/elements/gstfilesink.c: (gst_file_sink_init),
2676         (gst_file_sink_set_location), (gst_file_sink_open_file),
2677         (gst_file_sink_close_file), (gst_file_sink_event),
2678         (gst_file_sink_render):
2679         Set file to NULL when closing filesink so that we can set a new filename
2680         in READY. Fixes #358613.
2681
2682 2006-10-02  Tim-Philipp Müller  <tim at centricular dot net>
2683
2684         Patch by: Alessandro Decina  <alessandro at nnva org>
2685
2686         * gst/gstevent.c: (_gst_event_copy):
2687           Fix gst_mini_object_make_writable() and gst_event_copy() for events
2688           with event structures by setting the parent refcount address of the
2689           copied structure to the address of the refcount member of the newly
2690           copied event rather than the address of the refcount member of the
2691           original event. Fixes #358737.
2692
2693         * tests/check/gst/gstevent.c: (GST_START_TEST):
2694           Unit test for the above.
2695
2696 2006-09-29  Stefan Kost  <ensonic@users.sf.net>
2697
2698         * docs/design/Makefile.am:
2699           Dist some more files.
2700
2701 2006-09-29  Tim-Philipp Müller  <tim at centricular dot net>
2702
2703         * tests/check/libs/controller.c: (GST_START_TEST),
2704         (gst_controller_suite):
2705           Add test for the previous fix; add some more tests
2706           for correct refcounting behaviour; fix a few leaks
2707           in test cases; call gst_controller_init() at start
2708           of all tests.
2709
2710 2006-09-29  Tim-Philipp Müller  <tim at centricular dot net>
2711
2712         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
2713         (gst_controller_set_from_list):
2714           Don't g_return_val_if_fail() on timed values with invalid timestamps
2715           inside a critical section without unlocking the mutex. Spotted by
2716           René Stadler. (#357617)
2717           Also, fix up refcounting properly: when returning an existing
2718           controller, we should increase the reference only once and not
2719           once per property and when trying to control a property again
2720           we should also increase the refcount.
2721
2722 2006-09-29  Wim Taymans  <wim@fluendo.com>
2723
2724         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
2725         * libs/gst/net/gstnettimeprovider.c:
2726         (gst_net_time_provider_thread):
2727         Stop reading commands when EOF as well.
2728
2729         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
2730         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
2731         * plugins/elements/gstidentity.c: (gst_identity_class_init):
2732         Unify description of the dump property.
2733
2734 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
2735
2736         * tests/examples/manual/.cvsignore:
2737         OK, so it's actually cvsignore that needs changing. Stop laughing.
2738
2739 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
2740
2741         * tests/examples/manual/Makefile.am:
2742         Gah, declare vars *before* using them
2743
2744 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
2745
2746         * gst/gst.c: (init_pre), (scan_and_update_registry),
2747         (ensure_current_registry_nonforking),
2748         (ensure_current_registry_forking), (ensure_current_registry),
2749         (init_post), (gst_debug_help), (gst_deinit):
2750         * gst/gst_private.h:
2751         * gst/gstregistry.c: (gst_registry_finalize),
2752         (gst_registry_remove_features_for_plugin_unlocked),
2753         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
2754         (gst_registry_scan_path),
2755         (_priv_gst_registry_remove_cache_plugins),
2756         (_priv_gst_registry_cleanup):
2757         * gst/gstregistry.h:
2758         Re-commit the registry changes, along with an extra fix:
2759           When a cached plugin is encountered at a different file path,
2760           update the stored path in the registry cache so that the parent
2761           process knows where it actually is now when it re-reads the registry
2762           cache. Fixes the thing that broke distcheck with the previous commit.
2763
2764         * tests/check/Makefile.am:
2765         Clean up files named 'core' too when running make clean.
2766
2767         * tests/examples/manual/Makefile.am:
2768         Set up a registry path for running these tests, and clean it properly
2769         for distcheck.
2770
2771 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
2772
2773         * configure.ac:
2774         Don't pull in gmodule-2.0.pc as a dependency in our .pc files - we
2775         want gmodule-no-export-2.0.pc instead so that we don't drag in
2776         --export-dynamic on every project that links to GStreamer.
2777
2778         Also, make our export regex only match the start of symbols, rather 
2779         than any symbol that contains '_gst' somewhere.
2780
2781         * libs/gst/check/Makefile.am:
2782         The libgstcheck we build does however need export-dynamic, as it
2783         produces some symbols that don't match our _gst... style regex.
2784         Fixes: #318031
2785
2786 2006-09-27  Jan Schmidt  <thaytan@mad.scientist.com>
2787
2788         * gst/gst.c: (init_pre), (scan_and_update_registry),
2789         (ensure_current_registry_nonforking),
2790         (ensure_current_registry_forking), (ensure_current_registry),
2791         (init_post), (gst_debug_help), (gst_deinit):
2792         * gst/gst_private.h:
2793         * gst/gstregistry.c: (gst_registry_finalize),
2794         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
2795         (gst_registry_scan_path), (_gst_registry_remove_cache_plugins),
2796         (_gst_registry_cleanup):
2797         * gst/gstregistry.h:
2798           Revert previous change until I figure out why it breaks distcheck.
2799
2800 2006-09-27  Jan Schmidt  <thaytan@mad.scientist.com>
2801
2802         * gst/gst.c: (init_pre), (scan_and_update_registry),
2803         (ensure_current_registry_nonforking),
2804         (ensure_current_registry_forking), (ensure_current_registry),
2805         (init_post), (gst_debug_help), (gst_deinit):
2806
2807           Make init_pre and init_post take the full complement of GOptionFunc
2808           args so they can return useful GErrors. Make the registry updating
2809           functions do so.
2810
2811           Call _priv_gst_registry_remove_cache_plugins after scanning files to
2812           ensure that the registry we're about to write out doesn't contain
2813           stale information about old-deleted plugin files.
2814
2815           Make _priv_gst_registry_remove_cache_plugins return a boolean so
2816           that deletion of plugin files is considered a registry change.
2817
2818         * gst/gst_private.h:
2819         * gst/gstregistry.c: (gst_registry_finalize),
2820         (gst_registry_remove_features_for_plugin_unlocked),
2821         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
2822         (gst_registry_scan_path),
2823         (_priv_gst_registry_remove_cache_plugins),
2824         (_priv_gst_registry_cleanup):
2825         * gst/gstregistry.h:
2826         Rename _gst_registry_remove_cache_plugins and _gst_registry_cleanup
2827         by adding _priv prefix, so that they won't appear in the global
2828         symbol table. They still do atm though because of #318031. Move the
2829         prototypes to gst_private.h
2830
2831         When removing a plugin, remove all features for that plugin too. 
2832         Fixes #340878.
2833
2834 2006-09-27  Wim Taymans  <wim@fluendo.com>
2835
2836         * docs/random/moving-plugins:
2837         Make it clear that the "compiled-in descriptions" really mean
2838         the element details.
2839
2840         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
2841         (gst_base_sink_wait_preroll):
2842         Update docs.
2843
2844         * docs/libs/gstreamer-libs-sections.txt:
2845         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
2846         (gst_base_src_get_range), (gst_base_src_activate_push):
2847         * libs/gst/base/gstbasesrc.h:
2848         Added function to block while waiting for PLAYING, this function
2849         is used by live sources that block on the clock.
2850         API: gst_base_src_wait_playing()
2851
2852 2006-09-27  Tim-Philipp Müller  <tim at centricular dot net>
2853
2854         Patch by: Peter Kjellerstedt <pkj at axis com>
2855
2856         * Makefile.am:
2857           gst-element-check.m4 is generated and should therefore be
2858           copied from the build dir rather than the source dir (#357593).
2859           'make distcheck' hasn't noticed this because we were disting
2860           the file as well, so stop doing that.
2861
2862 2006-09-27  Tim-Philipp Müller  <tim at centricular dot net>
2863
2864         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
2865           Add some tests for gst_caps_intersect().
2866
2867         * tools/gst-launch.c: (event_loop):
2868           Print all buffering percentages we get, even the 100% one.
2869
2870 2006-09-26  Wim Taymans  <wim@fluendo.com>
2871
2872         * tools/gst-inspect.c: (print_element_properties_info),
2873         (print_signal_info):
2874         Fix printing of flags to match the look of enums.
2875
2876 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
2877
2878         * gst/gstelementfactory.c:
2879           Fix typo in docs blurb.
2880
2881 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
2882
2883         * gst/gsturi.c: (search_by_entry):
2884           Don't assert/crash here if a uri handler doesn't return any
2885           supported protocols. The list of protocols could be generated
2886           dynamically at runtime or at plugin registration, and an error
2887           in the underlying library shouldn't be fatal (#353301).
2888
2889 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
2890
2891         * gst/gstinfo.c:
2892           Fix warning if HAVE_PRINTF_EXTENSION is undefined
2893           (spotted by Peter Kjellerstedt).
2894
2895 2006-09-23  Wim Taymans  <wim@fluendo.com>
2896
2897         Based on patch by: Antoine Tremblay <hexa00 at gmail dot com>
2898
2899         * libs/gst/base/gstbasesrc.c:
2900         (gst_base_src_default_check_get_range), (gst_base_src_start),
2901         (gst_base_src_activate_push), (gst_base_src_activate_pull),
2902         (gst_base_src_change_state):
2903         Match _start/_stop calls in the activate functions. Remove redundant
2904         _stop call from the state change function. Fixes #356910.
2905         Turn failure DEBUG into ERROR. 
2906
2907 2006-09-22  Wim Taymans  <wim@fluendo.com>
2908
2909         * docs/design/part-buffering.txt:
2910         * gst/gstmessage.c: (gst_message_new_buffering),
2911         (gst_message_parse_buffering):
2912         Update docs about buffering.
2913
2914         * docs/design/part-trickmodes.txt:
2915         Fix typo.
2916
2917 2006-09-22  Stefan Kost  <ensonic@users.sf.net>
2918
2919         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
2920         (gst_controller_new_list):
2921           Ref instances when returning them again (fixes #357180)
2922
2923 2006-09-22  Tim-Philipp Müller  <tim at centricular dot net>
2924
2925         * gst/gstghostpad.c: (gst_ghost_pad_set_target):
2926           Don't forget to release proxy lock when there's an error.
2927
2928 2006-09-20  Jan Schmidt  <thaytan@mad.scientist.com>
2929
2930         * gst/gstcaps.h:
2931           Add extra initialisers for Caps things, to fix some plugin warnings
2932           when using -Wextra
2933
2934 2006-09-18  Wim Taymans  <wim@fluendo.com>
2935
2936         * gst/gstghostpad.c: (gst_ghost_pad_new_full):
2937           Also set template on the internal pad so that a getcaps from the 
2938           target pad returns the template caps.
2939
2940 2006-09-18  Wim Taymans  <wim@fluendo.com>
2941
2942         * gst/gstelement.c: (gst_element_post_message),
2943         (gst_element_dispose):
2944         Use _DEBUG_OBJECT some more.
2945
2946         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
2947         Avoid typechecks.
2948
2949         * tools/gst-launch.c: (main):
2950         If the toplevel element is not a GstPipeline, it must be put in a
2951         pipeline so that a bus and clock is selected.
2952
2953 2006-09-17  Tim-Philipp Müller  <tim at centricular dot net>
2954
2955         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
2956           JITTER, RATE, and LATENCY query should be handled by the
2957           default case and not by the CONVERT query code.
2958
2959 2006-09-17  Tim-Philipp Müller  <tim at centricular dot net>
2960
2961         * gst/gstformat.c: (gst_format_register):
2962           Fix locking order (must take lock before using n_values).
2963
2964         * gst/gstvalue.c: (gst_value_serialize_enum),
2965         (gst_value_deserialize_enum_iter_cmp),
2966         (gst_value_deserialize_enum):
2967           Fix serialisation/deserialisation of custom registered GstFormats.
2968
2969         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
2970           Unit test for custom format serialisation/deserialisation.
2971
2972 2006-09-17  Stefan Kost  <ensonic@users.sf.net>
2973
2974         * docs/pwg/building-boiler.xml:
2975         * plugins/elements/gstcapsfilter.c:
2976         More G_OBJECT macro fixing. Also Fix some details on the plugin-stamp
2977         section.
2978
2979 2006-09-16  Edward Hervey  <edward@fluendo.com>
2980
2981         * libs/gst/base/gstbasetransform.c:
2982         (gst_base_transform_buffer_alloc):
2983         Check if requested caps are the same as the sinks caps IF
2984         ->have_same_caps is TRUE. If they are not, act as if have_same_caps
2985         is FALSE.
2986         This fixes the renegotiation issues stated in #352827.
2987
2988 2006-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2989
2990         * configure.ac:
2991         * docs/manual/advanced-autoplugging.xml:
2992         * tests/examples/Makefile.am:
2993         * tests/examples/manual/.cvsignore:
2994         * tests/examples/manual/Makefile.am:
2995         * tests/examples/manual/extract.pl:
2996           Extract the manual examples again like we used to do.
2997           Fix one of them.
2998
2999 2006-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3000
3001         * win32/common/config.h:
3002           update for version
3003
3004 2006-09-16  Stefan Kost  <ensonic@users.sf.net>
3005
3006         * gst/gsterror.c:
3007           Documents how to receive errors.
3008
3009 2006-09-15  Wim Taymans  <wim@fluendo.com>
3010
3011         * tools/gst-launch.c: (sigint_handler_sighandler), (check_intr),
3012         (event_loop), (main):
3013         Added some comments here and there.
3014         Post an application message when an interrupt is caught instead of doing
3015         an uncontrolled state change.
3016         Clean up the event loop.
3017         Handle buffering messages, pause/resume the pipeline.
3018         Make shutdown because of an interrupt more reliable.
3019
3020 2006-09-15  Wim Taymans  <wim@fluendo.com>
3021
3022         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3023         (gst_base_sink_wait_preroll), (gst_base_sink_do_sync),
3024         (gst_base_sink_preroll_object):
3025         Make sure that our internal state is correct when we commit our state
3026         asynchronously. This solves a race where a state change to PLAYING
3027         could cause the sink to remain blocked in preroll in some situations.
3028
3029 2006-09-15  Wim Taymans  <wim@fluendo.com>
3030
3031         * tools/gst-inspect.c: (print_element_properties_info),
3032         (print_signal_info):
3033         List flags as hex so it's easier to deal with.
3034
3035 2006-09-15  Wim Taymans  <wim@fluendo.com>
3036
3037         * docs/libs/gstreamer-libs-sections.txt:
3038         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_preroll),
3039         (gst_base_sink_do_sync):
3040         * libs/gst/base/gstbasesink.h:
3041         Expose logic to wait for preroll so that subclasses such as audiosink
3042         can also use this method.
3043         API: gst_base_sink_wait_preroll()
3044
3045 2006-09-15  Wim Taymans  <wim@fluendo.com>
3046
3047         * gst/gstobject.c: (gst_object_set_parent):
3048         * gst/gstpipeline.c: (do_pipeline_seek):
3049         Small cleanups in docs and code.
3050
3051         * gst/gstsegment.c: (gst_segment_clip):
3052         * tests/check/gst/gstsegment.c: (GST_START_TEST):
3053         if stop == start and start is in the segment, no clipping should be
3054         done. Also add a test for this.
3055
3056 2006-09-15  Wim Taymans  <wim@fluendo.com>
3057
3058         * docs/design/part-buffering.txt:
3059         * docs/gst/gstreamer-sections.txt:
3060         * gst/gstmessage.c: (gst_message_new_buffering),
3061         (gst_message_parse_buffering):
3062         * gst/gstmessage.h:
3063         Added methods to create and parse BUFFERING messages.
3064         Added preliminary docs about buffering.
3065         API: gst_message_new_buffering
3066         API: gst_message_parse_buffering
3067
3068 2006-09-06  Wim Taymans  <wim@fluendo.com>
3069
3070         * gst/gstbin.c:
3071         Update documentation.
3072
3073         * gst/gstelement.c: (gst_element_class_init),
3074         (gst_element_release_request_pad), (gst_element_set_clock),
3075         (gst_element_get_index), (gst_element_add_pad),
3076         (gst_element_remove_pad), (gst_element_get_random_pad),
3077         (gst_element_send_event), (gst_element_get_query_types),
3078         (gst_element_query), (gst_element_post_message),
3079         (gst_element_message_full), (gst_element_continue_state),
3080         (gst_element_lost_state), (gst_element_save_thyself),
3081         (gst_element_restore_thyself):
3082         Documentation updates.
3083         Rename last bit of the new-pad -> pad-added signal rename.
3084         Fix the case where an element query would only work if the source
3085         pad was linked.
3086         Avoid some useless type checking in message handling.
3087
3088         * gst/gstevent.c:
3089         * gst/gstevent.h:
3090         * gst/gstutils.c:
3091         Documentation updates.
3092
3093 2006-09-14  Thomas Vander Stichele  <thomas at apestaart dot org>
3094
3095         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
3096           add an INFO line for when we actually update the fd
3097
3098 2006-09-14  Thomas Vander Stichele  <thomas at apestaart dot org>
3099
3100         * configure.ac:
3101           back to TRUNK
3102
3103 === release 0.10.10 ===
3104
3105 2006-09-14  Thomas Vander Stichele <thomas at apestaart dot org>
3106
3107         * configure.ac:
3108           releasing 0.10.10, "Pais"
3109
3110 2006-09-05  Tim-Philipp Müller  <tim at centricular dot net>
3111
3112         * docs/manual/advanced-position.xml:
3113           Fix typo in sample code.
3114
3115 2006-09-05  Wim Taymans  <wim@fluendo.com>
3116
3117         * libs/gst/net/gstnetclientclock.c: (inet_aton),
3118         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
3119         (gst_net_client_clock_do_select), (gst_net_client_clock_new):
3120         * libs/gst/net/gstnetclientclock.h:
3121         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
3122         * libs/gst/net/gstnettimepacket.h:
3123         * libs/gst/net/gstnettimeprovider.c: (inet_aton),
3124         (gst_net_time_provider_init), (gst_net_time_provider_finalize),
3125         (gst_net_time_provider_thread), (gst_net_time_provider_new):
3126         * libs/gst/net/gstnettimeprovider.h:
3127         Make stuff compile on windows. Fixes #345295.
3128
3129 2006-09-03  Tim-Philipp Müller  <tim at centricular dot net>
3130
3131         * gst/gst.c: (ensure_current_registry_forking):
3132           Print better details when child was terminated by signal.
3133
3134 2006-09-03  Tim-Philipp Müller  <tim at centricular dot net>
3135
3136         * gst/gstregistryxml.c: (gst_registry_xml_save_feature):
3137           Print a warning rather than g_assert() if a plugin feature
3138           is a URI handler but returns no protocols (#353976).
3139
3140 2006-09-02  Stefan Kost  <ensonic@users.sf.net>
3141
3142         * docs/random/moving-plugins:
3143         Fix two typos.         
3144
3145 2006-09-01  Tim-Philipp Müller  <tim at centricular dot net>
3146
3147         * gst/gstinfo.c: (_gst_debug_nameof_funcptr):
3148           Fix locking order, handle NULL function values properly.
3149
3150         * gst/gstinfo.h:
3151           Fix docs.
3152
3153         * gst/gstpad.c: (gst_pad_buffer_alloc_unchecked):
3154           Initialise variable before using it and fix debug statement to
3155           print the address of the function rather than the address of the
3156           variable on the stack holding the address of the function.
3157
3158 2006-09-01  Wim Taymans  <wim@fluendo.com>
3159
3160         * gst/gstghostpad.c: (gst_proxy_pad_do_event),
3161         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_chain),
3162         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
3163         (gst_proxy_pad_set_target_unlocked), (gst_ghost_pad_parent_set),
3164         (gst_ghost_pad_parent_unset),
3165         (gst_ghost_pad_internal_do_activate_push),
3166         (gst_ghost_pad_internal_do_activate_pull),
3167         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
3168         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
3169         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
3170         (gst_ghost_pad_new_full), (gst_ghost_pad_new_no_target),
3171         (gst_ghost_pad_new), (gst_ghost_pad_new_from_template),
3172         (gst_ghost_pad_new_no_target_from_template),
3173         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
3174         More cleanups.
3175         Avoid needless typechecking in macros.
3176         Since the internal pad is always present and never changes, there is
3177         no need to locking or ref when retrieving it.
3178         Improve debugging a bit.
3179         Handle link errors when setting the target. Fixes #341029.
3180
3181 2006-09-01  Wim Taymans  <wim@fluendo.com>
3182
3183         * docs/libs/gstreamer-libs-sections.txt:
3184         * docs/plugins/gstreamer-plugins-sections.txt:
3185         Fix docs some more.
3186
3187         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
3188         (gst_collect_pads_event):
3189         * libs/gst/base/gstcollectpads.h:
3190         Documentation updates.
3191         Free queued buffer when removing a pad.
3192
3193 2006-08-31  Michael Smith  <msmith@fluendo.com>
3194
3195         * gst/gstutils.c: (gst_element_link_pads),
3196         (gst_element_link_pads_filtered):
3197           Ensure that we set a capsfilter to NULL if we failed to link it
3198           when doing filtered linking, to avoid criticals.
3199
3200           No need to check for unreffing srcpad, which is explicly NULLed
3201           above (a trivial code cleanup).
3202
3203 2006-08-31  Wim Taymans  <wim@fluendo.com>
3204
3205         * docs/design/part-gstghostpad.txt:
3206         Update ascii art in documentation.
3207
3208         * gst/gstghostpad.c: (gst_proxy_pad_do_internal_link),
3209         (gst_proxy_pad_set_target_unlocked), (gst_proxy_pad_init),
3210         (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
3211         (gst_ghost_pad_internal_do_activate_push),
3212         (gst_ghost_pad_internal_do_activate_pull),
3213         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
3214         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
3215         (gst_ghost_pad_dispose), (gst_ghost_pad_new_full),
3216         (gst_ghost_pad_set_target):
3217         Small cleanups and leak fixes.
3218         Remove some checks now that the internal pad is never NULL.
3219         Fix the case where linking pads without a target would create nasty
3220         criticals. Fixes #341029.
3221         Don't assign a GstPadLinkReturn to a gboolean and mess up the return
3222         value of _set_target().
3223
3224         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
3225         (gst_ghost_pad_suite):
3226         Some more tests for creating and linking untargeted ghostpads.
3227
3228 2006-08-31  Edward Hervey  <edward@fluendo.com>
3229
3230         * docs/gst/gstreamer-sections.txt:
3231         * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps),
3232         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
3233         (gst_proxy_pad_dispose), (gst_ghost_pad_new_full),
3234         (gst_ghost_pad_new_no_target), (gst_ghost_pad_new),
3235         (gst_ghost_pad_new_from_template),
3236         (gst_ghost_pad_new_no_target_from_template):
3237         * gst/gstghostpad.h:
3238         Refactored *_new() functions.
3239         Templates are now used as a g_object_new() parameter.
3240         Use template in _do_getcaps() if we don't have a target.
3241         Small documentation cleanups.
3242         Added two new constructors:
3243         gst_ghost_pad_new_from_template()
3244         gst_ghost_pad_new_no_target_from_template()
3245         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
3246         (gst_ghost_pad_suite):
3247         Added tests for new ghostpad instanciation functions.
3248
3249         API additions: gst_ghost_pad_new_from_template,
3250         gst_ghost_pad_new_no_target_from_template
3251
3252 2006-08-30  Stefan Kost  <ensonic@users.sf.net>
3253
3254         * docs/random/ensonic/profiling.txt:
3255           Ideas about qos profiling.
3256
3257 2006-08-29  Wim Taymans  <wim@fluendo.com>
3258
3259         * gst/gstcaps.c: (gst_caps_structure_is_subset_field):
3260         Code cleanups.
3261         Fix memleak.
3262
3263 2006-08-29  Tim-Philipp Müller  <tim at centricular dot net>
3264
3265         * gst/gstxml.c:
3266           Improve and detypofy docs.
3267
3268         * tests/check/Makefile.am:
3269         * tests/check/gst/.cvsignore:
3270         * tests/check/gst/gstxml.c: (GST_START_TEST), (gst_xml_suite):
3271           Add a basic test suite for GstXML.
3272
3273 2006-08-29  Wim Taymans  <wim@fluendo.com>
3274
3275         * gst/gstelement.c: (activate_pads), (clear_caps),
3276         (iterator_activate_fold_with_resync), (gst_element_pads_activate):
3277         Clear the pad caps when the element shut down all of the pads and
3278         is not streaming data that could modify the caps. 
3279         Fixes #352958.
3280
3281 2006-08-28  Michael Smith  <msmith@fluendo.com>
3282
3283         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
3284           Revert previous change; I misunderstood single-segment mode.
3285
3286 2006-08-28  Michael Smith  <msmith@fluendo.com>
3287
3288         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
3289           Unset DISCONT on buffers when using single-segment mode.
3290
3291 2006-08-28  Wim Taymans  <wim@fluendo.com>
3292
3293         * gst/gstcaps.c: (gst_caps_merge_structure):
3294         * gst/gstcaps.h:
3295         Fix docs and indentation again.
3296
3297         * tests/check/gst/gstquery.c: (GST_START_TEST):
3298         Fix leak in tests and add some more tests.
3299
3300 2006-08-28  Edward Hervey  <edward@fluendo.com>
3301
3302         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
3303         Inform GstSegment of the last stop position in order for the current
3304         segment to have a proper duration if it doesn't have a specific stop
3305         position from which a duration could be calculated.
3306         This bug was noticeable when a non-flushing, non-update new segment was
3307         followed by another segment (all buffers from the new segment were being
3308         dropped).
3309
3310 2006-08-28  Wim Taymans  <wim@fluendo.com>
3311
3312         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
3313         Small comment update.
3314
3315         * plugins/elements/gstidentity.c: (gst_identity_class_init),
3316         (gst_identity_transform_ip):
3317         Drop-probability is broken, mention this in the code with a 
3318         FIXME and also in the property description.
3319         Make silent also be silent about the drop messages.
3320
3321 2006-08-28  Tim-Philipp Müller  <tim at centricular dot net>
3322
3323         * docs/manual/appendix-win32.xml:
3324           Remove mention of popt, we don't depend on that any
3325           longer (#353136). Add some comments pointing out that
3326           this section is slightly outdated.
3327
3328 2006-08-28  Wim Taymans  <wim@fluendo.com>
3329
3330         Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
3331
3332         * gst/gstquery.c: (gst_query_new_segment):
3333         * tests/check/gst/gstquery.c: (GST_START_TEST):
3334         Initialize variables when creating a new segment query.
3335         Fixes #353121.
3336
3337 2006-08-28  Wim Taymans  <wim@fluendo.com>
3338
3339         Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
3340
3341         * gst/gstelement.c: (gst_element_get_bus):
3342         * tests/check/gst/gstelement.c: (GST_START_TEST):
3343         Check for NULL before _reffing the bus. Fixes #353122.
3344
3345 2006-08-25  Tim-Philipp Müller  <tim at centricular dot net>
3346
3347         * docs/manual/basics-bus.xml:
3348           Docs update: fix wrong callback return value explanation; add
3349           some lines about the implicit relationship between main loop
3350           and main context; remove duplicate main loop variable declaration.
3351
3352 2006-08-24  Tim-Philipp Müller  <tim at centricular dot net>
3353
3354         * tests/check/gst/gstcaps.c: (GST_START_TEST):
3355           Don't leak caps in unit test; add a few more simple
3356           checks. 
3357
3358 2006-08-24  Stefan Kost  <ensonic@users.sf.net>
3359
3360         * docs/gst/gstreamer-sections.txt:
3361         * gst/gstcaps.c: (gst_caps_structure_is_subset_field),
3362         (gst_caps_structure_is_subset), (gst_caps_merge),
3363         (gst_caps_merge_structure):
3364         * gst/gstcaps.h:
3365         * libs/gst/base/gstbasetransform.c:
3366         (gst_base_transform_transform_caps):
3367         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
3368           implement caps merging (fixes #352580)
3369
3370 2006-08-23  Stefan Kost  <ensonic@users.sf.net>
3371
3372         * tools/Makefile.am:
3373         * tools/gst-plot-timeline.py:
3374           add debug-log plotting developer tool (#340674)
3375
3376 2006-08-23  Wim Taymans  <wim@fluendo.com>
3377
3378         * gst/gstpad.c: (gst_pad_start_task), (gst_pad_pause_task),
3379         (gst_pad_stop_task):
3380         Improve debugging for task functions.
3381
3382         * gst/gsttask.c: (gst_task_func), (gst_task_set_lock),
3383         (gst_task_start), (gst_task_pause), (gst_task_join):
3384         Make sure that the task function started and finished after a 
3385         join(). 
3386         Don't try to push the task function on the threadpool multiple
3387         times.
3388         Improve the g_warning message with some useful suggestions
3389         about how to fix the problem. 
3390
3391 2006-08-23  Wim Taymans  <wim@fluendo.com>
3392
3393         * gst/gstutils.c: (gst_pad_proxy_getcaps):
3394         Handle RESYNC correctly in _proxy_getcaps.
3395
3396 2006-08-21  Tim-Philipp Müller  <tim at centricular dot net>
3397
3398         * gst/gstxml.c: (gst_xml_dispose), (gst_xml_parse_file),
3399         (gst_xml_parse_memory), (gst_xml_get_element):
3400           Chain up to parent class in dispose function and also
3401           unref the elements in the toplevel_elements GList.
3402           Don't leak XmlDocPtr in _parse_file() and _parse_memory().
3403           Always return a reference in gst_xml_get_element() rather
3404           than only sometimes.
3405
3406         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
3407           Don't leak GstXml object.
3408
3409 2006-08-21  Stefan Kost  <ensonic@users.sf.net>
3410
3411         * docs/gst/gstreamer-sections.txt:
3412         * gst/gstcaps.c: (gst_structure_is_equal_foreach),
3413         (gst_caps_merge):
3414         * gst/gstcaps.h:
3415         * libs/gst/base/gstbasetransform.c:
3416         (gst_base_transform_transform_caps):
3417           API: Add gst_caps_merge() and use it in basetransform, fixes #345444
3418           in a better way
3419
3420 2006-08-21  Edward Hervey  <edward@fluendo.com>
3421
3422         * gst/gstxml.c: (gst_xml_class_init), (gst_xml_dispose):
3423         Implement GObject::dispose virtual method in GstXML so we can free the
3424         top_elements GList.
3425
3426 2006-08-21  Wim Taymans  <wim@fluendo.com>
3427
3428         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable),
3429         (gst_buffer_create_sub):
3430         Copy duration/offset_end/caps when creating a subbuffer of the
3431         complete parent.
3432         Make the subbuffer read-only when we make the metadata writable for
3433         now. Fixes #351768.
3434
3435         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
3436         Added check for metadata copy when creating subbuffers.
3437
3438 2006-08-21  Edward Hervey  <edward@fluendo.com>
3439
3440         * libs/gst/base/gstbasetransform.c:
3441         (gst_base_transform_buffer_alloc):
3442         Only call downstream buffer_alloc if transform element is passthrough
3443         or always_in_place. Closes #350449.
3444
3445 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
3446
3447         * ChangeLog:
3448           ChangeLog surgery to add comments to previous changes
3449
3450 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
3451
3452         * gst/gst.c:
3453           Add comments
3454
3455         * gst/gstpad.c: (gst_pad_set_active):
3456           Be more verbose in the log
3457
3458         * libs/gst/base/gstbasetransform.c:
3459         (gst_base_transform_transform_caps):
3460           Simplify caps to get rid of duplicates, fixes #345444
3461
3462 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
3463
3464         * gst/gstvalue.c:
3465         * gst/gstvalue.h:
3466           Use these optimizations only internally.
3467
3468 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
3469
3470         * gst/gstvalue.c: (gst_value_compare_list),
3471         (gst_value_compare_fraction_range),
3472         (gst_value_intersect_fraction_fraction_range),
3473         (gst_value_intersect_fraction_range_fraction_range),
3474         (gst_value_subtract_fraction_fraction_range),
3475         (gst_value_subtract_fraction_range_fraction_range),
3476         (gst_value_get_compare_func), (gst_value_compare),
3477         (gst_value_compare_with_func):
3478         * gst/gstvalue.h:
3479           Saves the expensive lookup of the compare function in many cases
3480          (#345444)
3481
3482 2006-08-18  Edward Hervey  <edward@fluendo.com>
3483
3484         * tests/check/gst/gstinfo.c: (gst_info_suite):
3485         Disable test that require gstdebug if it wasn't built in core.
3486
3487 2006-08-18  Stefan Kost  <ensonic@users.sf.net>
3488
3489         * docs/random/ensonic/logging.txt:
3490           update ideas
3491           
3492         * gst/gstinfo.c: (gst_debug_log_default):
3493           reorder fields, save some columns, add optional color codes for log
3494           levels
3495
3496 2006-08-18  Stefan Kost  <ensonic@users.sf.net>
3497
3498         * docs/random/ensonic/logging.txt:
3499           add ideas about making the logs a bit more useful
3500
3501 2006-08-17  Tim-Philipp Müller  <tim at centricular dot net>
3502
3503         * docs/pwg/advanced-events.xml:
3504         * docs/pwg/titlepage.xml:
3505           Update for 0.10 API (#340627). Add myself
3506           to authors list.
3507
3508 2006-08-17  Tim-Philipp Müller  <tim at centricular dot net>
3509
3510         * docs/libs/gstreamer-libs-docs.sgml:
3511         * docs/libs/gstreamer-libs-sections.txt:
3512         * libs/gst/check/gstbufferstraw.c:
3513           Make gstcheck stuff show up in docs (still needs to
3514           be documented properly though).
3515
3516 2006-08-16  Jan Schmidt  <thaytan@mad.scientist.com>
3517
3518         * docs/gst/gstreamer-sections.txt:
3519         * gst/Makefile.am:
3520         * gst/gst.c: (init_post):
3521         * gst/gst_private.h:
3522         * gst/gstquark.c: (_priv_gst_quarks_initialize):
3523         * gst/gstquark.h:
3524         * gst/gstquery.c: (gst_query_new_position),
3525         (gst_query_set_position), (gst_query_parse_position),
3526         (gst_query_new_duration), (gst_query_set_duration),
3527         (gst_query_parse_duration), (gst_query_new_convert),
3528         (gst_query_set_convert), (gst_query_parse_convert),
3529         (gst_query_new_segment), (gst_query_set_segment),
3530         (gst_query_parse_segment), (gst_query_new_seeking),
3531         (gst_query_set_seeking), (gst_query_parse_seeking):
3532         Add internal helpers for pre-registering quarks from static strings
3533         and using the quark values directly instead of looking them up when
3534         creating and parsing queries. Can be used for event construction too.
3535         Closes #350432.
3536
3537 2006-08-16  Wim Taymans  <wim@fluendo.com>
3538
3539         * gst/gstbin.c:
3540         Fix bogus docs.
3541
3542 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
3543
3544         * gst/gstutils.c: (gst_util_set_value_from_string):
3545           Fix memleak (#351502).
3546
3547         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
3548           Add unit test for most of gst_util_set_value_from_string()
3549           (not that one would want to encourage use of this function).
3550
3551 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
3552
3553         * libs/gst/check/gstcheck.h:
3554           Use const gchar * variables in fail_unless_equals_string
3555           macro to avoid compiler warnings (and don't use tabs for
3556           indenting).
3557
3558 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
3559
3560         * tools/gst-launch.c: (print_tag):
3561           More space on the left for the tag names, to cater
3562           for the 'extended comment' tag (not touching the
3563           string for the first line since it's translated).
3564
3565 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
3566
3567         * libs/gst/check/gstcheck.h:
3568           Fix ASSERT_CRITICAL and ASSERT_WARNING macros to actually
3569           print something when they fail.
3570
3571 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
3572
3573         * docs/gst/gstreamer-sections.txt:
3574         * gst/gsttaglist.c: (_gst_tag_initialize):
3575         * gst/gsttaglist.h:
3576           API: add GST_TAG_EXTENDED_COMMENT (#350935).
3577           Also change merge function for GST_TAG_COMMENT to
3578           use_first.
3579
3580 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
3581
3582         * gst/gstinfo.c: (gst_debug_print_object):
3583           Make GST_PTR_FORMAT print messages as well.
3584
3585         * tests/check/gst/gstinfo.c: (printf_extension_log_func),
3586         (GST_START_TEST), (gst_info_suite):
3587           More tests.
3588
3589 2006-08-14  Edward Hervey  <edward@fluendo.com>
3590
3591         * gst/gstelementfactory.c: (gst_element_register):
3592         If the GstElementClass doesn't have a GstElementDetails with all fields
3593         filled up correctly (longname, description AND author), then error out
3594         nicely instead of crashing.
3595
3596 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
3597
3598         * gst/gststructure.c:
3599           Fix typo in docs and re-wrap docs blurb to not exceed 80 chars/line.
3600
3601         * gst/gstvalue.h:
3602           Expand on the difference between arrays and lists as we use them.
3603           
3604 2006-08-14  Wim Taymans  <wim@fluendo.com>
3605
3606         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
3607         If the parent state change function failed, don't assume we can safely
3608         stop the source, this will be done when the pads are deactivated.
3609
3610 2006-08-14  Wim Taymans  <wim@fluendo.com>
3611
3612         * gst/gstbuffer.c:
3613         * gst/gsttask.c: (gst_task_join):
3614         Small doc updates.
3615
3616         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
3617         (gst_pad_stop_task):
3618         When pad (de)activation failed for some reason, restore the old
3619         activation mode and set the pad to flushing instead of assuming the
3620         pad is deactivated.
3621         If the _task_join() failed, reinstall the task on the pad so that it can
3622         be stopped later and return an error.
3623
3624 2006-08-11  Andy Wingo  <wingo@pobox.com>
3625
3626         * configure.ac:
3627         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
3628         * tests/check/libs/gdp.c: (gst_dp_suite): GST_DISABLE_DEPRECATED
3629         is only for users of API that don't want to see deprecated
3630         functions in the headers; people that want to compile out
3631         deprecated code should pass -DGST_REMOVE_DEPRECATED into the
3632         CFLAGS. Fixes the build of multifdsink, or will soon..
3633
3634 2006-08-11  Wim Taymans  <wim@fluendo.com>
3635
3636         * docs/gst/gstreamer-sections.txt:
3637         Add GstClockClass vmethod docs.
3638
3639         * gst/gstcaps.h:
3640         Mark #endif with comment for associated #if
3641
3642         * gst/gstclock.c: (gst_clock_id_wait):
3643         * gst/gstclock.h:
3644         Add vmethod wait_jitter to avoid an unneeded _get_time() for
3645         most clock implementations.
3646         Document vmethods.
3647         Flesh out docs about resolution methods.
3648         API: GstClockClass::wait_jitter
3649
3650         * gst/gstsystemclock.c: (gst_system_clock_class_init),
3651         (gst_system_clock_async_thread),
3652         (gst_system_clock_id_wait_jitter_unlocked),
3653         (gst_system_clock_id_wait_jitter):
3654         Use base class wait_jitter variant for improved performance
3655         due to less clock polling.
3656
3657 2006-08-11  Edward Hervey  <edward@fluendo.com>
3658
3659         * gst/gst.c: (gst_init_check), (init_post):
3660         Set gst as being initialized before scanning/updating the registry,
3661         since there might be my python plugin loader that calls gst_init() and
3662         we don't want to loop back in.
3663         Closes #350879
3664
3665 2006-08-11  Wim Taymans  <wim@fluendo.com>
3666
3667         * docs/design/part-qos.txt:
3668         Bring docs in line with the code. Mostly the sign of the jitter was
3669         wrong in the docs. Fixes #349943.
3670
3671         * gst/gstclock.c:
3672         Fix the docs for the jitter.
3673
3674         * gst/gstevent.c: (gst_event_new_custom), (gst_event_new_tag),
3675         (gst_event_parse_tag), (gst_event_new_buffer_size),
3676         (gst_event_parse_buffer_size), (gst_event_parse_qos),
3677         (gst_event_new_seek), (gst_event_parse_seek),
3678         (gst_event_new_navigation):
3679         Make sure the GstStructure has no parent when creating custom
3680         events.
3681         Add some more argument checking so that we avoid 0.0 rates.
3682         Flesh out the docs for the QoS event some more.
3683
3684 2006-08-11  Wim Taymans  <wim@fluendo.com>
3685
3686         * docs/gst/gstreamer-sections.txt:
3687         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
3688         (ensure_current_registry_forking), (ensure_current_registry),
3689         (parse_one_option), (parse_goption_arg), (gst_deinit),
3690         (gst_registry_fork_is_enabled), (gst_registry_fork_set_enabled):
3691         * gst/gst.h:
3692         Doc updates.
3693         Added API and command line option to disable registry forking in
3694         addition to the environment variable.
3695         Constify some static arrays.
3696         Added some more debug.
3697         Don't deinit twice.
3698         API: gst_registry_fork_is_enabled()
3699         API: gst_registry_fork_set_enabled()
3700         API: --gst-disable-registry-fork command line option
3701         Fixes #348918.
3702
3703 2006-08-11  Tim-Philipp Müller  <tim at centricular dot net>
3704
3705         * gst/gst.c: (gst_init):
3706           Fix typo in error message.
3707
3708 2006-08-10  Stefan Kost  <ensonic@users.sf.net>
3709
3710         * libs/gst/controller/gstcontroller.h:
3711           fix ABI size-correction
3712
3713         * tests/check/libs/gdp.c: (gst_dp_suite):
3714           make tests that use deprecated API conditional
3715
3716 2006-08-10  Stefan Kost  <ensonic@users.sf.net>
3717
3718         * docs/libs/gstreamer-libs-sections.txt:
3719         * libs/gst/controller/gstcontroller.c:
3720         (_gst_controller_get_property), (_gst_controller_set_property),
3721         (_gst_controller_init), (_gst_controller_class_init):
3722         * libs/gst/controller/gstcontroller.h:
3723         * libs/gst/controller/gsthelper.c: (gst_object_get_control_rate),
3724         (gst_object_set_control_rate):
3725           API: add gst_object_{s,g}et_control_rate(), add private data section,
3726           fix docs
3727
3728         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
3729         * libs/gst/dataprotocol/dataprotocol.h:
3730           add deprecation guards to make gtk-doc happy and allow disabling cruft
3731
3732 2006-08-09  Tim-Philipp Müller  <tim at centricular dot net>
3733
3734         * tests/check/Makefile.am:
3735         * tests/check/gst/.cvsignore:
3736           Let's enable the new unit test as well.
3737
3738 2006-08-08  Tim-Philipp Müller  <tim at centricular dot net>
3739
3740         * configure.ac:
3741         * docs/gst/gstreamer-sections.txt:
3742         * gst/gstconfig.h.in:
3743         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_print_segment),
3744         (_gst_info_printf_extension_ptr),
3745         (_gst_info_printf_extension_segment):
3746           API: add GST_SEGMENT_FORMAT, which is a printf extension we
3747           register that lets us easily dump GstSegments into debug
3748           logs (#350419).
3749
3750         * tests/check/gst/gstinfo.c: (segment_printf_extension_log_func),
3751         (info_segment_format_printf_extension), (gst_info_suite):
3752           Add simple unit test that logs a bunch of different segments (not
3753           valgrinded at the moment because of leaks in
3754           gst_debug_add_log_function).
3755
3756 2006-08-09  Edward Hervey  <edward@fluendo.com>
3757
3758         * libs/gst/base/gstbasetransform.c:
3759         (gst_base_transform_buffer_alloc):
3760         Even if we can't figure out the proper format to request downstream,
3761         call buffer_alloc() downstream with the input parameters without setting
3762         the caps on the srcpad. This will force negotiation in the chain
3763         function.
3764         Closes #350449
3765
3766 2006-08-08  Edward Hervey  <edward@fluendo.com>
3767
3768         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
3769         Unlinking from a pad without a target is now a perfectly valid case
3770         which should NOT raise an assertion.
3771         This case would happen if a linked ghostpad its target set to NULL after
3772         it was previously linked.
3773
3774 2006-08-08  Edward Hervey  <edward@fluendo.com>
3775
3776         * tests/check/libs/gdp.c:
3777         Also comment out the test (see below).
3778
3779 2006-08-08  Edward Hervey  <edward@fluendo.com>
3780
3781         * tests/check/libs/gdp.c: (gst_dp_suite):
3782         Use the architecture information from config.h and not gcc macros
3783         in order to properly disable a test that fails on PPC64.
3784
3785 2006-08-04  Tim-Philipp Müller  <tim at centricular dot net>
3786
3787         * gst/gstelement.c: (gst_element_remove_pad):
3788           Don't crash printing the warning if the pad has no parent.
3789
3790 2006-08-02  Wim Taymans  <wim@fluendo.com>
3791
3792         * libs/gst/dataprotocol/dataprotocol.c:
3793         (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
3794         (gst_dp_crc), (gst_dp_header_payload_length),
3795         (gst_dp_header_payload_type), (gst_dp_packet_from_event),
3796         (gst_dp_packet_from_event_1_0), (gst_dp_buffer_from_header),
3797         (gst_dp_caps_from_packet), (gst_dp_event_from_packet_0_2),
3798         (gst_dp_event_from_packet), (gst_dp_validate_header),
3799         (gst_dp_validate_payload):
3800         Make debug category static
3801         Constify the crc table.
3802         Do some more arg checking in public functions.
3803         Fix some docs and do some small cleanups.
3804
3805         * tests/check/libs/gdp.c: (GST_START_TEST), (gst_dp_suite):
3806         Add some more checks to see if GDP deals with bogus input.
3807
3808 2006-07-31  Wim Taymans  <wim@fluendo.com>
3809
3810         * gst/gstvalue.c: (gst_value_compare_list):
3811         Fix GstValueList comparison code. Fixes #347293.
3812
3813         * tests/check/gst/gstvalue.c: (GST_START_TEST):
3814         Check to test GstValueList comparison.
3815
3816 2006-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
3817
3818         * gst/gstelementfactory.c: (gst_element_factory_create):
3819         Remove unnecessary ref/unref pair
3820
3821         * gst/parse/grammar.y:
3822         Make sure to free the parse buffer on all code paths.
3823         Move a g_free up to the error handler where it's easier to see.
3824
3825         * tests/check/gst/gstevent.c: (test_event):
3826         Extending timeout for downstream travelling events to 10 seconds to
3827         hopefully avoid intermittent failure on the buildbots.
3828
3829         * tests/check/pipelines/parse-launch.c: (run_delayed_test):
3830         Don't manually set the state of the src element - it will happen as a
3831         natural consequence of the pipeline changing state, and that way it
3832         will do it in the right order too.
3833
3834 2006-07-31  Wim Taymans  <wim@fluendo.com>
3835
3836         * libs/gst/base/gstbasetransform.c:
3837         (gst_base_transform_buffer_alloc):
3838         Use OBJECT_LOCK and refcounting to get the pad caps in the
3839         buffer_alloc function because the caps could change while we are
3840         busy with them. Fixes #349105
3841
3842 2006-07-31  Wim Taymans  <wim@fluendo.com>
3843
3844         * gst/gstutils.c: (gst_pad_get_fixed_caps_func):
3845         Protect _PAD_CAPS with OBJECT_LOCK.
3846
3847 2006-07-31  Wim Taymans  <wim@fluendo.com>
3848
3849         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
3850         (gst_pad_get_property), (gst_pad_activate_pull),
3851         (gst_pad_activate_push), (gst_pad_set_blocked_async),
3852         (gst_pad_set_activate_function),
3853         (gst_pad_set_activatepull_function),
3854         (gst_pad_set_activatepush_function), (gst_pad_set_chain_function),
3855         (gst_pad_set_getrange_function),
3856         (gst_pad_set_checkgetrange_function), (gst_pad_set_event_function),
3857         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
3858         (gst_pad_set_internal_link_function), (gst_pad_set_link_function),
3859         (gst_pad_set_unlink_function), (gst_pad_set_getcaps_function),
3860         (gst_pad_set_acceptcaps_function),
3861         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
3862         (gst_pad_set_bufferalloc_function), (gst_pad_link_check_hierarchy),
3863         (gst_pad_get_caps_unlocked), (gst_pad_get_caps),
3864         (gst_pad_peer_get_caps), (gst_pad_accept_caps),
3865         (gst_pad_peer_accept_caps), (gst_pad_set_caps),
3866         (gst_pad_configure_sink), (gst_pad_configure_src),
3867         (gst_pad_get_allowed_caps), (gst_pad_get_negotiated_caps),
3868         (gst_pad_buffer_alloc_unchecked), (gst_pad_alloc_buffer_full),
3869         (gst_pad_query), (gst_pad_load_and_link), (handle_pad_block),
3870         (gst_pad_chain_unchecked), (gst_pad_push), (gst_pad_get_range),
3871         (gst_pad_send_event):
3872         Use _DEBUG_OBJECT when it makes sense.
3873         Protect GST_PAD_CAPS with the OBJECT_LOCK.
3874         Small cleanups and code reflows.
3875         Avoid caps refcounting in _accept_caps.
3876         Refactor alloc_buffer so that the code performed on the peer is in a
3877         separate function. Also if the pad does not implement a buffer alloc
3878         function, we should still check if the pad is flushing before falling
3879         back to the default allocator.
3880
3881 2006-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
3882
3883         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
3884         Make all uses of identity and fakesink have silent=true to avoid
3885         serialising every passing data structure, which is breaking tests
3886         on FC4 for some unknown reason.
3887
3888 2006-07-30  Stefan Kost  <ensonic@users.sf.net>
3889
3890         * gst/parse/Makefile.am:
3891         * gst/parse/grammar.y:
3892         * gst/parse/parse.l:
3893           Reverted previous patch as it required to bump the flex dependency to
3894           2.5.31, where fc4/5 seem to ship only the ancient 2.5.4a :(
3895
3896 2006-07-30  Stefan Kost  <ensonic@users.sf.net>
3897
3898         Patch by: Marc-Andre Lureau <marcandre.lureau@gmail.com>
3899
3900         * gst/parse/Makefile.am:
3901         * gst/parse/grammar.y:
3902         * gst/parse/parse.l:
3903           push & pop the state of the lexer for reentrant use case
3904           Fixes #349180
3905
3906 2006-07-29  Tim-Philipp Müller  <tim at centricular dot net>
3907
3908         * libs/gst/base/gstbasesrc.h:
3909           Note in the docs that the ::newsegment vfunc is not actually used by
3910           GstBaseSrc.
3911
3912 2006-07-28  Wim Taymans  <wim@fluendo.com>
3913
3914         * libs/gst/base/gstcollectpads.c:
3915         (gst_collect_pads_set_flushing_unlocked), (gst_collect_pads_pop),
3916         (gst_collect_pads_clear), (gst_collect_pads_flush),
3917         (gst_collect_pads_event), (gst_collect_pads_chain):
3918         When flushing a pad, also clear the queued buffer so that we don't
3919         accidentally use it when we shouldn't.
3920         Fix leaks by inreffing incomming buffer.
3921         Flush out queued buffers in case of errors.
3922         Fixes #347452.
3923
3924 2006-07-28  Wim Taymans  <wim@fluendo.com>
3925
3926         * docs/random/phonon-gst:
3927         Random notes about a Phonon backend.
3928
3929 2006-07-27  Jan Schmidt  <thaytan@mad.scientist.com>
3930
3931         * libs/gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
3932         Extra debug output
3933         * tests/check/libs/gdp.c: (gst_dp_suite):
3934         Take a whack at fixing the ppc compile using a different define to
3935         disable the broken test.
3936
3937         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
3938         Remove excess g_print()
3939
3940 2006-07-27  Jan Schmidt <thaytan@mad.scientist.com>
3941
3942         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
3943         Oops, meant to uncomment this line too to dampen the noise a bit.
3944
3945 2006-07-27  Jan Schmidt <thaytan@mad.scientist.com>
3946
3947         * gst/parse/grammar.y:
3948         * gst/parse/parse.l:
3949         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
3950         (GST_START_TEST), (parse_suite):
3951         Fix some of the leaks exposed by extending the parse-launch testsuite,
3952         and move the 3 I can't figure out into a separate test that won't run
3953         the pipelines unless the appropriate line is uncommented.
3954
3955 2006-07-27  Tim-Philipp Müller  <tim at centricular dot net>
3956
3957         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
3958           Requesting 0 bytes before the end of the file should result in
3959           FLOW_OK and an empty buffer, not FLOW_UNEXPECTED. Thank you
3960           unit test.
3961
3962 2006-07-27  Wim Taymans  <wim@fluendo.com>
3963
3964         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_get_structure):
3965         Fix useless assert, a uint is always positive.
3966
3967         * gst/gststructure.c: (gst_structure_nth_field_name),
3968         (gst_structure_foreach), (gst_structure_map_in_place):
3969         Check input arguments for public functions to avoid obvious crashes.
3970
3971         * plugins/elements/gstfakesink.c: (gst_fake_sink_render):
3972         * plugins/elements/gstfakesink.h:
3973         Do less useless typechecking.
3974
3975 2006-07-27  Tim-Philipp Müller  <tim at centricular dot net>
3976
3977         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
3978           Do not use mmap() by default since there are a number of error
3979           conditions that we would like to handle in a non-fatal way that
3980           will result in a SIGBUS if we use mmap(). Examples: external
3981           devices (USB harddrive, portable music player) being unplugged
3982           while in use; file on mounted CD/DVD that can't be read because
3983           the medium is partly damaged. Fixes #348455 and #348475.
3984
3985 2006-07-27  Jan Schmidt  <thaytan@mad.scientist.com>
3986
3987         * gst/gstquery.h:
3988         Delete unused and misleading define of GST_QUERY_TYPE_RATE_DEN -
3989         rates are a gdouble
3990
3991 2006-07-26  Stefan Kost  <ensonic@users.sf.net>
3992
3993         * gst/gstregistry.c:
3994           Move big documentation comment into class section header, so that it
3995           appears in the API docs.
3996
3997 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
3998
3999         * docs/gst/gstreamer-sections.txt:
4000         Oops. Commit the docs additions too for new API.
4001         Also, remove the mention of the non-existent GST_QUERY_TYPE_RATE_DEN
4002
4003 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
4004
4005         * gst/gststructure.c: (gst_structure_id_set),
4006         (gst_structure_id_set_valist):
4007         * gst/gststructure.h:
4008         Add API for setting values into structures without performing
4009         a quark lookup, if the appropriate quark is already known.
4010
4011         API: gst_structure_id_set
4012         API: gst_structure_id_set_valist
4013
4014         * gst/parse/grammar.y:
4015         * gst/parse/parse.l:
4016         Remove some dead code shown by the coverage information.
4017         Don't throw a critical g_warning when encountering a syntax error,
4018         just warn and let the normal error path handle it.
4019
4020         * plugins/elements/gstelements.c:
4021         Bump the rank of filesink up to PRIMARY so that it is preferred over
4022         gnomevfssink for file:// sink uri's
4023
4024         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
4025         (GST_START_TEST), (run_delayed_test),
4026         (gst_parse_test_element_base_init),
4027         (gst_parse_test_element_class_init), (gst_parse_test_element_init),
4028         (gst_parse_test_element_change_state),
4029         (gst_register_parse_element), (parse_suite):
4030         Beef up the tests for parse syntax to check that more error cases
4031         fail as they are supposed to. Increases the test coverage a bit.
4032
4033 2006-07-26  Tim-Philipp Müller  <tim at centricular dot net>
4034
4035         * docs/manual/basics-elements.xml:
4036           Fix gst_element_link() example.
4037
4038         * gst/gstutils.c:
4039           Mention in API docs that one should usually gst_bin_add()
4040           elements to a bin or pipeline before doing the linking.
4041           
4042 2006-07-26  Wim Taymans  <wim@fluendo.com>
4043
4044         * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_new),
4045         (gst_subbuffer_get_type), (gst_buffer_create_sub):
4046         Avoid function call for known types by keeping the buffer and
4047         subbuffer GType global.
4048
4049         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
4050         Random silly optimisations in read() path.
4051
4052 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
4053
4054         * tools/gst-launch.c: (main):
4055           If the top-level of the parse is a normal bin, it doesn't do the
4056           right logic to run as a top-level element, so place it inside a
4057           pipeline.
4058
4059 2006-07-25  Tim-Philipp Müller  <tim at centricular dot net>
4060
4061         * plugins/elements/gstfilesrc.c: (gst_file_src_set_property):
4062           Remove superfluous g_object_notify() calls, GObject does
4063           that for us automatically.
4064
4065 2006-07-25  Stefan Kost  <ensonic@users.sf.net>
4066
4067         * gst/gstinfo.h:
4068           on Win32, use dllspec to export the debug category symbols
4069
4070 2006-07-24  Tim-Philipp Müller  <tim at centricular dot net>
4071
4072         * gst/gsttaglist.c: (_gst_tag_initialize):
4073           Allow more than one GST_TAG_IMAGE per taglist.
4074
4075 2006-07-24  Thomas Vander Stichele  <thomas at apestaart dot org>
4076
4077         * gst/gstminiobject.c:
4078           update docs
4079         * plugins/elements/gstfdsrc.c: (gst_fd_src_set_property),
4080         (gst_fd_src_create):
4081           log recurring events at LOG level
4082           add more debug for when the fd gets set
4083
4084 2006-07-21  Stefan Kost  <ensonic@users.sf.net>
4085
4086         * gst/gstparse.c: (gst_parse_launch):
4087           Also remove reentrance checks if flex is MT safe (#348179)
4088          Fix my empty ChangeLog entry below
4089
4090 2006-07-21  Andy Wingo  <wingo@pobox.com>
4091
4092         * docs/libs/gstreamer-libs-sections.txt: Attempt to pacify buildbot.
4093
4094         * libs/gst/check/Makefile.am
4095         (libgstcheck_@GST_MAJORMINOR@include_HEADERS)
4096         (libgstcheck_@GST_MAJORMINOR@_la_SOURCES): 
4097         * libs/gst/check/gstbufferstraw.h:
4098         * libs/gst/check/gstbufferstraw.c: Add some new hype testing
4099         functions, thus proving I am still a GStreamer haxor. OK I wrote
4100         them a long time ago, but anyways.
4101
4102 2006-07-21  Stefan Kost  <ensonic@users.sf.net>
4103
4104         * configure.ac:
4105         * gst/gstparse.c: (gst_parse_launch):
4106           Check for flex version and omit mutex if we have a MT save flex
4107           (fixes #348179)
4108
4109 2006-07-21  Wim Taymans  <wim@fluendo.com>
4110
4111         * gst/gstparse.c: (gst_parse_launch):
4112         Protect recursive calls to _parse with a recursive mutex
4113         and busy flag.
4114
4115 2006-07-21  Wim Taymans  <wim@fluendo.com>
4116
4117         * tests/check/gst/gstpad.c: (GST_START_TEST):
4118         Fix leak in test.
4119
4120 2006-07-20  Stefan Kost  <ensonic@users.sf.net>
4121
4122         * gst/gstparse.c: (gst_parse_launch):
4123           Do not hang on recursive usage of gst_parse_launch()
4124
4125 2006-07-20  Tim-Philipp Müller  <tim at centricular dot net>
4126
4127         * gst/gsttaglist.c:
4128           Add some more docs, comments and FIXME 0.11s here and there
4129           and also fix some typos.
4130
4131 2006-07-20  Tim-Philipp Müller  <tim at centricular dot net>
4132
4133         * gst/gstsegment.h:
4134           Convert tabs to spaces for better readability. 
4135
4136 2006-07-20  Edward Hervey  <edward@fluendo.com>
4137
4138         * tests/check/libs/gdp.c: (gst_dp_suite):
4139         the test_buffer test fails at line 140 on ppc64 at the following
4140         check:
4141         fail_unless (GST_BUFFER_FLAG_IS_SET (newbuffer,
4142                 GST_BUFFER_FLAG_IN_CAPS),
4143                 "GST_BUFFER_IN_CAPS flag should have been copied !");
4144         See bug #348114 for more details.
4145
4146 2006-07-19  Tim-Philipp Müller  <tim at centricular dot net>
4147
4148         * docs/pwg/advanced-scheduling.xml:
4149         * gst/gstpad.c:
4150           Fix typos (#348000).
4151
4152 2006-07-18  Tim-Philipp Müller  <tim at centricular dot net>
4153
4154         * docs/pwg/intro-basics.xml:
4155           Fix wrong links (#347927).
4156
4157 2006-07-18  Stefan Kost  <ensonic@users.sf.net>
4158
4159         * gst/gstregistry.h:
4160         * gst/gstregistryxml.c: (load_feature),
4161         (gst_registry_xml_read_cache), (gst_registry_xml_save_feature):
4162         * win32/common/config.h:
4163           make --disable-index work (#342564)
4164
4165 2006-07-18  Wim Taymans  <wim@fluendo.com>
4166
4167         Patch by: Peter Kjellerstedt <pkj at axis dot com>
4168
4169         * gst/Makefile.am:
4170         * gst/gsttrace.h:
4171         The attached patch adds two missing defines to gsttrace.h when tracing
4172         is disabled.  It also corrects one existing define.
4173         Fixes #347756.
4174
4175 2006-07-17  Wim Taymans  <wim@fluendo.com>
4176
4177         * docs/gst/gstreamer-sections.txt:
4178         * gst/gst.c: (gst_segtrap_is_enabled), (gst_segtrap_set_enabled):
4179         * gst/gst.h:
4180         * gst/gstplugin.c: (_gst_plugin_fault_handler_restore):
4181         Add two functions to check and change the SIGSEGV behaviour
4182         when loading plugins.
4183         Don't mess with the SIGSEGV handler when we were told not to.
4184         Fixes #347794.
4185         API: gst_segtrap_is_enabled
4186         API: gst_segtrap_set_enabled
4187
4188 2006-07-14  Wim Taymans  <wim@fluendo.com>
4189
4190         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
4191         * tests/check/elements/filesrc.c: (GST_START_TEST):
4192         Revert fix for regression in #347408 after release.
4193
4194 2006-07-14  Tim-Philipp Müller  <tim at centricular dot net>
4195
4196         Patch by: Antoine Tremblay <hexa00 at gmail com>
4197
4198         * gst/gstutils.c: (gst_element_unlink):
4199           Free iterator when done (#347311).
4200
4201         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
4202           And add a test case for this.
4203
4204 2006-07-14  Jan Schmidt  <thaytan@mad.scientist.com>
4205
4206         * configure.ac:
4207         Bump nano back to CVS
4208
4209 === release 0.10.9 ===
4210
4211 2006-07-13  Jan Schmidt <thaytan@mad.scientist.com>
4212
4213         * configure.ac:
4214           releasing 0.10.9, "On the road again"
4215
4216 2006-07-13  Wim Taymans  <wim@fluendo.com>
4217
4218         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
4219         * tests/check/elements/filesrc.c: (GST_START_TEST):
4220         Revert pull-0 fix for release. Disable check. Fixes #347408.
4221
4222 2006-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4223
4224         * libs/gst/dataprotocol/dataprotocol.c:
4225         (gst_dp_event_from_packet_1_0):
4226           Fixes #347337: failure to deserialize event packets with
4227           empty payload (only event type)
4228
4229 2006-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4230
4231         * gst/Makefile.am:
4232           do not install a .c file in the header directory
4233
4234 2006-07-13  Edward Hervey  <edward@fluendo.com>
4235
4236         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
4237         GhostPad no longer implicitely use the padtemplates of the targets.
4238         Fixes #347384
4239
4240 2006-07-11  Jan Schmidt  <thaytan@mad.scientist.com>
4241
4242         * gst/gstvalue.c: (gst_value_compare_list),
4243         (gst_value_compare_array), (_gst_value_initialize):
4244         * tests/check/gst/gstvalue.c: (GST_START_TEST):
4245         Make GstValueArray comparison be order dependent as designed.
4246         Add checks for value lists and value array comparisons.
4247         Fixes #347221
4248
4249 2006-07-11  Edward Hervey  <edward@fluendo.com>
4250
4251         * gst/gstbin.c: (activate_pads),
4252         (iterator_activate_fold_with_resync), (gst_bin_src_pads_activate),
4253         (gst_bin_change_state_func):
4254         (de)activate src pads before calling state_change on the childs.
4255         This is to avoid the case where a src ghostpad is blocked (holding the
4256         stream lock), which would block the deactivation of the ghostpad's
4257         target pad.
4258         * gst/gstghostpad.c: (gst_proxy_pad_do_query_type),
4259         (gst_proxy_pad_do_event), (gst_proxy_pad_do_query),
4260         (gst_proxy_pad_do_internal_link), (gst_proxy_pad_do_bufferalloc),
4261         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
4262         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
4263         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
4264         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
4265         (gst_proxy_pad_set_target), (gst_proxy_pad_get_internal),
4266         (gst_proxy_pad_dispose), (gst_proxy_pad_init),
4267         (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
4268         (gst_ghost_pad_class_init),
4269         (gst_ghost_pad_internal_do_activate_push),
4270         (gst_ghost_pad_internal_do_activate_pull),
4271         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
4272         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
4273         (gst_ghost_pad_dispose), (gst_ghost_pad_new_no_target),
4274         (gst_ghost_pad_new), (gst_ghost_pad_set_target):
4275         GhostPads now create their internal GstProxyPad at creation (and not
4276         when they're linked, as it was being done previously).
4277         The internal and target pads are linked straight away.
4278         The data will also travel through the other pad in order to make
4279         pad blocking and probes non-hackish (the probe/block now really happens
4280         on the GhostPad and not on the target).
4281         * gst/gstpad.c: (gst_pad_set_blocked_async),
4282         (gst_pad_link_prepare), (gst_pad_push_event):
4283         Remove previous ghostpad cruft.
4284         * gst/gstutils.c: (gst_pad_add_data_probe),
4285         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
4286         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
4287         (gst_pad_remove_buffer_probe):
4288         Remove previous ghost pad cruft.
4289         Added more detailed debug statements.
4290         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
4291         Fix the testsuite for refcounting changes.
4292         The comments about who has references were correct, but the refcount
4293         being checked wasn't the same (!?!).
4294
4295         Fixes #341029
4296
4297 2006-07-10  Stefan Kost  <ensonic@users.sf.net>
4298
4299         * docs/gst/gstreamer-sections.txt:
4300         * gst/gstconfig.h.in:
4301         More docs for configuration options, add docs to gtk-doc.
4302
4303 2006-07-10  Stefan Kost  <ensonic@users.sf.net>
4304
4305         * gst/Makefile.am:
4306         * gst/gstconfig.h.in:
4307         * win32/common/config.h:
4308         Fix build when disabling tracing (fixes #344016). Also start to document
4309         the defines that disable the sub-systems.
4310
4311 2006-07-10  Edward Hervey  <edward@fluendo.com>
4312
4313         * gst/gst.c: (ensure_current_registry_forking):
4314         let's make valgrind happy...
4315
4316 2006-07-09  Wim Taymans  <wim@fluendo.com>
4317
4318         * gst/gstelement.c: (activate_pads),
4319         (iterator_activate_fold_with_resync), (gst_element_pads_activate):
4320         Better pad activation code: Reset the collect value too on resync.
4321         Add some comments.
4322
4323 2006-07-09  Wim Taymans  <wim@fluendo.com>
4324
4325         * gst/gstpad.c: (gst_pad_init), (gst_pad_activate_pull),
4326         (gst_pad_activate_push):
4327         Use some more macros where it makes sense.
4328         Allow pad mode switching instead of asserting. When a pad
4329         is activated in one mode and we activate it in another, 
4330         deactivate it first before activating it in a different mode.
4331         Fixes #329198.
4332
4333 2006-07-08  Andy Wingo  <wingo@pobox.com>
4334
4335         * tools/gst-launch.c (main): Handle err == NULL.
4336
4337         * gst/gst.c (init_post, ensure_current_registry)
4338         (ensure_current_registry_forking)
4339         (ensure_current_registry_nonforking): Reduce #ifdef ratnest by
4340         factoring out the registry scanning into separate functions. Don't
4341         fork for the rescan is GST_REGISTRY_FORK=no; useful in debugging.
4342         Better environment var name/interface suggestions accepted.
4343
4344 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
4345
4346         * gst/gstobject.c: (gst_object_set_name_default),
4347         (gst_object_set_name):
4348           Random micro-optimisation: don't use a hash table
4349           with strings as keys and the usual strdup/strcmp
4350           involved, but rather just use the GQuark of the
4351           type name as key, since it needs to be looked up
4352           anyway to get the type name string.
4353
4354         * tests/check/gst/gstobject.c: (GST_START_TEST):
4355           Fix various leaks.
4356
4357 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
4358
4359         * gst/gstbin.c: (compare_interface), (gst_bin_get_by_interface),
4360         (gst_bin_iterate_all_by_interface):
4361           Can't use GPOINTER_TO_INT and GINT_TO_POINTER with GTypes.
4362           GTypes are gulongs and thus the top 4 bytes might be cut
4363           off on some platforms when doing GPOINTER_TO_INT, leading
4364           to invalid GTypes and bad things happening (see RH bug #179654).
4365           Also add a check to make sure the type passed in is really
4366           an interface type.
4367
4368 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
4369
4370         * .cvsignore:
4371           Ignore more.
4372
4373 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
4374
4375         * Makefile.am:
4376         * configure.ac:
4377         * gst-element-check.m4:
4378         * gst-element-check.m4.in:
4379           Make gst-element-check-$VERSION.m4 call gst-inspect-$VERSION
4380           instead of the unversioned gst-inspect (#324176, #168659).
4381
4382 2006-07-06  Wim Taymans  <wim@fluendo.com>
4383
4384         * gst/gstmessage.h:
4385         Use a valid int for the _MESSAGE_ANY enum value to avoid compiler
4386         warnings.
4387
4388 2006-07-06  Wim Taymans  <wim@fluendo.com>
4389
4390         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
4391         (gst_base_src_wait), (gst_base_src_update_length),
4392         (gst_base_src_get_range), (gst_base_src_default_check_get_range),
4393         (gst_base_src_check_get_range), (gst_base_src_pad_check_get_range),
4394         (gst_base_src_loop), (gst_base_src_start),
4395         (gst_base_src_activate_pull):
4396         Update docs.
4397         blocksize == 0 now means the default blocksize when working in push
4398         based mode.
4399         Remove some pointless asserts in _wait function.
4400         Fix offset/length calculations and EOS handling. We can now pull 0
4401         bytes as well, which is allowed.
4402         use _check_get_range() to decide if we can operate in _pull based
4403         mode.
4404         Fix refcounting leak when check_get_range function was not 
4405         implemented.
4406         API GstBaseSrc::blocksize range can be 0 too now (default)
4407
4408         * tests/check/elements/filesrc.c: (GST_START_TEST),
4409         (filesrc_suite):
4410         Added check to test _get_range() behaviour.
4411
4412 2006-07-06  Wim Taymans  <wim@fluendo.com>
4413
4414         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
4415         (gst_pad_push), (gst_pad_check_pull_range), (gst_pad_get_range),
4416         (gst_pad_pull_range):
4417         * gst/gstpad.h:
4418         Lots of comments and docs added to the pad functions.
4419         Flesh out the expected behaviour of the get_range() functions.
4420
4421 2006-07-06  Wim Taymans  <wim@fluendo.com>
4422
4423         * gst/gstbus.h:
4424         * gst/gstclock.h:
4425         * gst/gstevent.h:
4426         * gst/gstiterator.h:
4427         * gst/gstpad.h:
4428         * gst/gstplugin.h:
4429         * gst/gsttask.h:
4430         Remove comma at end of enumerator list. 
4431
4432 2006-07-05  Sebastien Moutte  <sebastien@moutte.net>
4433
4434         * win32/common/libgstbase.def:
4435         * win32/common/libgstdataprotocol.def:
4436         * win32/common/libsgtreamer.def:
4437         Add new exported functions.
4438
4439 2006-07-05  Wim Taymans  <wim@fluendo.com>
4440
4441         * libs/gst/base/gstpushsrc.c: (gst_push_src_check_get_range):
4442         Add some more docs here and there.
4443
4444 2006-07-05  Wim Taymans  <wim@fluendo.com>
4445
4446         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_object),
4447         (gst_base_sink_loop), (gst_base_sink_get_position):
4448         When operating in pull mode update the offset so that we
4449         read sequentially.
4450
4451 2006-07-05  Wim Taymans  <wim@fluendo.com>
4452
4453         * gst/gstregistryxml.c: (read_string):
4454         Avoid strdup. (will happen in libxml, but hey!)
4455
4456         * gst/gsturi.c:
4457         Add some more docs.
4458
4459 2006-07-05  Wim Taymans  <wim@fluendo.com>
4460
4461         * gst/gstbuffer.c: (_gst_buffer_copy), (gst_buffer_create_sub):
4462         * tests/check/gst/gstbuffer.c: (GST_START_TEST),
4463         (gst_buffer_suite):
4464         No point in checking if the size of the subbuffer > 0, the
4465         code handles it correclty as demonstrated by unit test.
4466         Also add a unit test for the zero sized _new_and_alloc and
4467         _copy. Fixes #346663.
4468
4469 2006-07-05  Wim Taymans  <wim@fluendo.com>
4470
4471         * libs/gst/base/gstbasetransform.c:
4472         (gst_base_transform_prepare_output_buffer),
4473         (gst_base_transform_buffer_alloc),
4474         (gst_base_transform_handle_buffer):
4475         Make sure the buffer we pass to transform_ip has a refcount of
4476         1 and thus is writable. Fixes #343196
4477
4478 2006-07-04  Jan Schmidt  <thaytan@mad.scientist.com>
4479
4480         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
4481         (gst_file_src_init), (gst_file_src_set_property),
4482         (gst_file_src_get_property), (gst_file_src_map_region):
4483         * plugins/elements/gstfilesrc.h:
4484         Add "sequential" property, off by default, to use madvise and hint
4485         to the kernel that sequential access is desired.
4486         Touch all retrieved pages by default to ensure they are pulled
4487         into memory. (Closes #345720)
4488
4489 2006-07-03  Wim Taymans  <wim@fluendo.com>
4490
4491         * docs/design/part-block.txt:
4492         * docs/design/part-dynamic.txt:
4493         Small docs updates.
4494
4495 2006-07-03  Wim Taymans  <wim@fluendo.com>
4496
4497         * gst/gstcaps.c: (gst_caps_new_empty), (_gst_caps_free),
4498         (gst_caps_unref), (gst_static_caps_get),
4499         (gst_caps_append_structure):
4500         * gst/gstclock.c: (gst_clock_entry_new), (_gst_clock_id_free):
4501         Use GSlice when the glib we build against is >= 2.10
4502
4503 2006-07-03  Wim Taymans  <wim@fluendo.com>
4504
4505         * gst/gstelement.c: (gst_element_pads_activate):
4506         Small cleanup in pad activation code.
4507
4508 2006-07-03  Wim Taymans  <wim@fluendo.com>
4509
4510         Patch by: Peter Kjellerstedt <pkj at axis dot com>
4511
4512         * gst/gst-i18n-app.h:
4513         * gst/gst-i18n-lib.h:
4514         * tools/gst-inspect.c: (print_signal_info):
4515         The attached patch will make the inclusion of gettext.h unconditional in
4516         gst/gst-i18n-app.h and gst/gst-i18n-lib.h, and it will remove the inclusion of
4517         libintl.h in tools/gst-inspect.c.
4518         This allows use of --disable-nls again and fixes #344642.
4519
4520 2006-07-03  Edward Hervey  <edward@fluendo.com>
4521
4522         * gst/gstpad.c: (handle_pad_block), (gst_pad_push_event):
4523         Implement pad blocking on events according to part-block.txt.
4524         More comments on behaviour.
4525         * tests/check/gst/gstevent.c: (test_event):
4526         Send event to peer pad of blocked pad (else it will block).
4527
4528 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
4529
4530         * libs/gst/check/gstcheck.c: (gst_check_message_error),
4531         (gst_check_run_suite):
4532           if we get the wrong message, give us the types as string
4533         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
4534           Fix a translatable
4535         * tests/check/elements/filesrc.c: (GST_START_TEST):
4536           add a test for trying to open a non-existing file
4537
4538 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
4539
4540         * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
4541           add a test for adding self
4542
4543 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
4544
4545         * libs/gst/check/gstcheck.h:
4546           add some assert_ as alias for fail_unless_*
4547         * tests/check/gst/gst.c: (GST_START_TEST), (gst_suite):
4548           increase test coverage
4549
4550 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4551
4552         * Makefile.am:
4553           include lcov.mak for lcov coverage generation
4554         * tools/Makefile.am:
4555           add to CLEANFILES
4556
4557 2006-07-02  Edward Hervey  <edward@fluendo.com>
4558
4559         * tests/check/elements/.cvsignore:
4560         moaping
4561
4562 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4563
4564         * configure.ac:
4565           don't set CFLAGS and friends for gcov, done from GST_GCOV now
4566         * tests/check/Makefile.am:
4567           clean up gcov files
4568
4569 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4570
4571         * gst/gstcaps.c: (gst_caps_remove_and_get_structure):
4572           remove gst_caps_simplify; it was not declared and not used
4573           and deprecated in 0.8
4574
4575 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4576
4577         * docs/faq/gst-uninstalled:
4578           don't put empty paths on PYTHONPATH
4579         * docs/gst/gstreamer-sections.txt:
4580           remove some symbols that are not there
4581
4582 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4583
4584         * gst/gstcaps.c: (gst_caps_compare_structures):
4585           whitespace fixes
4586         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
4587         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
4588           add more tests
4589
4590 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4591
4592         * libs/gst/dataprotocol/Makefile.am:
4593           build dataprotocol test by linking to the lib, instead of
4594           compiling the source, so we get coverage
4595         * tests/check/Makefile.am:
4596         * tests/check/elements/filesrc.c: (event_func), (setup_filesrc),
4597         (cleanup_filesrc), (GST_START_TEST), (filesrc_suite):
4598           add a test for filesrc
4599
4600 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4601
4602         * tests/check/gst/gststructure.c: (GST_START_TEST),
4603         (gst_structure_suite):
4604           Push coverage from 59.04% to 70.00%
4605
4606 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4607
4608         * tests/check/Makefile.am:
4609           gst-inspect every element; this makes sure that we also get
4610           coverage on element's get/set functions
4611
4612 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4613
4614         * configure.ac:
4615           set CFLAGS and friends to -O0 if gcov is being used
4616           add GCOV LIBS
4617         * gst/Makefile.am:
4618         * libs/gst/base/Makefile.am:
4619         * libs/gst/check/Makefile.am:
4620         * libs/gst/controller/Makefile.am:
4621         * libs/gst/dataprotocol/Makefile.am:
4622         * libs/gst/net/Makefile.am:
4623         * plugins/elements/Makefile.am:
4624         * plugins/indexers/Makefile.am:
4625           add makefile rules to generate gcov data and clean up
4626         * tests/check/Makefile.am:
4627           add a coverage target that generates an html overview
4628           of coverage data
4629
4630 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
4631
4632         * tests/check/elements/fakesink.c:
4633         * tests/check/elements/fakesrc.c:
4634         * tests/check/elements/fdsrc.c:
4635         * tests/check/elements/identity.c:
4636         * tests/check/generic/sinks.c: (gst_sinks_suite):
4637         * tests/check/generic/states.c:
4638         * tests/check/gst/gst.c:
4639         * tests/check/gst/gstabi.c:
4640         * tests/check/gst/gstbin.c:
4641         * tests/check/gst/gstbuffer.c: (gst_buffer_suite):
4642         * tests/check/gst/gstbus.c: (gst_bus_suite):
4643         * tests/check/gst/gstcaps.c: (GST_START_TEST):
4644         * tests/check/gst/gstelement.c:
4645         * tests/check/gst/gstevent.c: (gst_event_suite):
4646         * tests/check/gst/gstghostpad.c:
4647         * tests/check/gst/gstiterator.c: (gst_iterator_suite):
4648         * tests/check/gst/gstmessage.c: (gst_message_suite):
4649         * tests/check/gst/gstminiobject.c:
4650         * tests/check/gst/gstobject.c:
4651         * tests/check/gst/gstpad.c:
4652         * tests/check/gst/gstpipeline.c:
4653         * tests/check/gst/gstplugin.c:
4654         * tests/check/gst/gstquery.c: (gst_query_suite):
4655         * tests/check/gst/gstsegment.c: (gst_segment_suite):
4656         * tests/check/gst/gststructure.c:
4657         * tests/check/gst/gstsystemclock.c:
4658         * tests/check/gst/gsttag.c:
4659         * tests/check/gst/gsttask.c: (gst_task_suite):
4660         * tests/check/gst/gstutils.c:
4661         * tests/check/gst/gstvalue.c:
4662         * tests/check/libs/adapter.c:
4663         * tests/check/libs/basesrc.c:
4664         * tests/check/libs/collectpads.c:
4665         * tests/check/libs/controller.c:
4666         * tests/check/libs/gdp.c: (gst_dp_suite):
4667         * tests/check/libs/gstnetclientclock.c:
4668         * tests/check/libs/gstnettimeprovider.c:
4669         * tests/check/libs/libsabi.c: (libsabi_suite):
4670         * tests/check/libs/typefindhelper.c:
4671         * tests/check/pipelines/cleanup.c:
4672         * tests/check/pipelines/parse-launch.c:
4673         * tests/check/pipelines/simple-launch-lines.c:
4674         * tests/check/pipelines/stress.c: (stress_suite):
4675           use the new macro
4676
4677 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
4678
4679         * libs/gst/check/gstcheck.c: (gst_check_run_suite):
4680         * libs/gst/check/gstcheck.h:
4681           create a macro and function so that the simple unit test
4682           case can be just one macro to create main()
4683
4684 2006-06-30  Tim-Philipp Müller  <tim at centricular dot net>
4685
4686         * gst/gstbin.c: (gst_bin_restore_thyself):
4687         * gst/gstxml.c: (gst_xml_make_element):
4688           Fix deserialisation from XML. Set parent manually
4689           instead of using gst_bin_add(), since gst_bin_add()
4690           will unlink all pads of the element being added.
4691           Fixes #341667.
4692
4693 2006-06-28  Tim-Philipp Müller  <tim at centricular dot net>
4694
4695         Patch by: Peter Kjellerstedt <pkj at axis com>
4696
4697         * gst/gst.c: (prepare_for_load_plugin_func), (split_and_iterate):
4698           Fix missing g_strdup() and double free when using the
4699           --gst-plugin-load command line option (#346097).
4700
4701 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
4702
4703         * gst/gstinfo.c:
4704           Promote GST_DEBUG_CATEGORY_STATIC in example in docs.
4705
4706         * libs/gst/net/gstnetclientclock.c:
4707         * libs/gst/net/gstnettimeprovider.c:
4708           Use GST_DEBUG_CATEGORY_STATIC here too (#342503).
4709
4710 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
4711
4712         * docs/manual/advanced-dataaccess.xml:
4713           Fix buffer probe example compilation in
4714           ADM (#345708).
4715         
4716 2006-06-22  Edward Hervey  <edward@fluendo.com>
4717
4718         * gst/gstelement.c: (gst_element_pads_activate):
4719         We need to deactivate src pads first and then sink pads.
4720         The reason is the src pads might be blocking while holding the streaming
4721         lock, so we need to deactivate them first so that deactivating the sink
4722         pads doesn't block (since it will require the streaming lock).
4723
4724 2006-06-22  Wim Taymans  <wim@fluendo.com>
4725
4726         * libs/gst/base/gstbasetransform.c:
4727         (gst_base_transform_buffer_alloc):
4728         Forgot to remove two unneeded unrefs.
4729         Simplify a check _is_equal allready checks the obvious case.
4730
4731 2006-06-22  Wim Taymans  <wim@fluendo.com>
4732
4733         * docs/design/part-block.txt:
4734         Some docs about what pad_block should do.
4735
4736 2006-06-22  Wim Taymans  <wim@fluendo.com>
4737
4738         * gst/gstcaps.c: (gst_caps_replace):
4739         Fix crasher when passed NULL. Doc clarification.
4740         Optimize for the trivial case.
4741
4742         * gst/gstpipeline.c: (gst_pipeline_change_state):
4743         Small cleanups.
4744
4745         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
4746         Small documentation cleanup.
4747
4748         * libs/gst/base/gstbasetransform.c:
4749         (gst_base_transform_buffer_alloc):
4750         Don't use silly gst_pad_get_negotiated_caps, GST_PAD_CAPS
4751         is what we need and it avoids a whole lot of redundant 
4752         refcount operations.
4753
4754 2006-06-22  Tim-Philipp Müller  <tim at centricular dot net>
4755
4756         Patch by: Philip Jägenstedt  <philip at lysator liu se>
4757
4758         * docs/manual/advanced-dataaccess.xml:
4759           Fix 'Embedding static elements' section to use
4760           GST_PLUGIN_DEFINE_STATIC (#345607).
4761
4762 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
4763
4764         * tests/check/pipelines/simple-launch-lines.c: (test_stop_from_app):
4765           Attempt to 'fix' spuriously failing test case: it seems like the
4766           timeout of half a second is simply too small when the system is under
4767           load otherwise, and the timeout doesn't really seem to serve any
4768           particular purpose here. Give the pipeline a few seconds to preroll
4769           first, and then give it another half a second to go from PAUSED to
4770           PLAYING and marshal the message into the main thread.
4771
4772 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
4773
4774         * tools/gst-feedback-m.m:
4775           Don't only use unversioned tools, try versioned tools as well
4776           (#345086).
4777
4778 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
4779
4780         * gst/gstbus.c: (gst_bus_class_init):
4781           Fix some typos, make docs more explicit.
4782
4783 2006-06-20  Wim Taymans  <wim@fluendo.com>
4784
4785         * tests/check/gst/gstghostpad.c: (block_callback),
4786         (GST_START_TEST), (gst_ghost_pad_suite):
4787         Added some more ghostpad tests, mainly blocking
4788         and probes.
4789
4790 2006-06-16  Wim Taymans  <wim@fluendo.com>
4791
4792         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
4793         (gst_file_sink_close_file), (gst_file_sink_do_seek),
4794         (gst_file_sink_event), (gst_file_sink_render):
4795         * plugins/elements/gstfilesink.h:
4796         Check if we can seek in the file instead of assuming
4797         we always can. Post an error when we are asked to seek in a
4798         non-seekable file (like a fifo). Fixes #343312.
4799         Some cleanups.
4800
4801 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
4802
4803         * tools/gst-launch.1.in:
4804           Un-garble (fourcc) bit in filtered caps section.
4805
4806 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
4807
4808         * docs/manual/advanced-autoplugging.xml:
4809         * docs/manual/basics-helloworld.xml:
4810         * docs/manual/highlevel-components.xml:
4811           Don't leak bus reference in sample code.
4812
4813 2006-06-15  Tim-Philipp Müller  <tim at centricular dot net>
4814
4815         * autogen.sh:
4816           Add default for new --enable-plugin-docs switch.
4817
4818         * configure.ac:
4819           Use new GST_PLUGIN_DOCS macro to check for pyxml etc.
4820           Fixes #344039.
4821
4822         * docs/Makefile.am:
4823           Use new ENABLE_PLUGIN_DOCS conditional.
4824
4825 2006-06-14  Wim Taymans  <wim@fluendo.com>
4826
4827         * gst/gstbin.c: (bin_query_duration_done), (gst_bin_query):
4828         Make it clear with a FIXME and a real define what the #if 0
4829         previously disabled.
4830
4831 2006-06-14  Wim Taymans  <wim@fluendo.com>
4832
4833         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
4834         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
4835         * libs/gst/base/gstbasetransform.c:
4836         (gst_base_transform_sink_eventfunc):
4837         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
4838         Don't randomly and silently reset a segment when the format 
4839         changes as this is a bug somewhere upstream. Fixes #330379.
4840
4841 2006-06-14  Tim-Philipp Müller  <tim at centricular dot net>
4842
4843         Patch by: Wouter Paesen  <wouter at kangaroot net>
4844
4845         * libs/gst/controller/gstcontroller.c:
4846         (gst_controlled_property_new):
4847           Fix controlling of float properties (#344849).
4848
4849         * tests/check/libs/controller.c:
4850         (gst_test_mono_source_get_property),
4851         (gst_test_mono_source_set_property),
4852         (gst_test_mono_source_class_init), (GST_START_TEST):
4853           While we're at it, add some float stuff to unit test.
4854
4855 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4856
4857         * docs/README:
4858         * docs/images/gdp-header.svg:
4859           add a gdp image
4860         * docs/libs/Makefile.am:
4861         * docs/libs/gdp-header.png:
4862         * libs/gst/dataprotocol/dataprotocol.c:
4863           add it to the API docs
4864         * docs/manual/intro-motivation.xml:
4865           fix typo
4866
4867 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
4868
4869         * gst/gst.c: (scan_and_update_registry), (init_post):
4870           If the fork()'ed child process can't write the updated registry cache
4871           file to disk for some reason, make it exit with a failure exit code,
4872           so that the parent can then re-scan the plugins itself and update the
4873           registry structures in memory and work with that (rather than failing
4874           when creating elements because seemingly no plugins are available).
4875           Refactor registry scanning code into separate function for this and
4876           also separate fork() and non-fork() code paths. Fixes #344748.
4877
4878 2006-06-13  Wim Taymans  <wim@fluendo.com>
4879
4880         * docs/manual/advanced-dataaccess.xml:
4881         Fix wrong PluginDesc. Fixes #344755.
4882
4883 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
4884
4885         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
4886           Fix silly bug that prevented us from creating
4887           ~/.gstreamer-0.10 and writing the registry in one
4888           go (the first call to g_mkstemp() would overwrite the
4889           placeholder in the template string, so the second call
4890           to g_mkstemp() after creating the missing directory
4891           would then error out with 'invalid argument').
4892
4893 2006-06-13  Edward Hervey  <edward@fluendo.com>
4894
4895         * gst/gst.c: (init_post):
4896         Free string.
4897
4898 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4899
4900         * gst/glib-compat-private.h:
4901         * gst/glib-compat.c:
4902         * gst/glib-compat.h:
4903         * gst/gstvalue.c: (gst_value_serialize_flags):
4904           remove GLib 2.6 compatibility code
4905
4906 2006-06-12  Tim-Philipp Müller  <tim at centricular dot net>
4907
4908         * gst/parse/Makefile.am:
4909           Fix build with 'make -j N' even more (#340016).
4910
4911 2006-06-12  Wim Taymans  <wim@fluendo.com>
4912
4913         * docs/gst/gstreamer-sections.txt:
4914         Fix docs.
4915
4916 2006-06-12  Wim Taymans  <wim@fluendo.com>
4917
4918         * gst/gstsegment.c: (gst_segment_set_duration),
4919         (gst_segment_set_last_stop), (gst_segment_set_seek),
4920         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
4921         (gst_segment_to_running_time), (gst_segment_clip):
4922         Use G_UNLIKELY to help the compiler a bit.
4923
4924 2006-06-12  Wim Taymans  <wim@fluendo.com>
4925
4926         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
4927
4928         * gst/gstevent.c: (gst_event_get_type):
4929         * gst/gstmessage.c:
4930         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
4931         (gst_pad_push):
4932         constify quark registration strings. Fixes #344115
4933         Avoid unneeded type checking is _pad_push() by internally
4934         calling gst_pad_chain_unchecked().
4935
4936 2006-06-12  Wim Taymans  <wim@fluendo.com>
4937
4938         * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_finalize),
4939         (_gst_buffer_copy), (gst_buffer_is_metadata_writable),
4940         (gst_subbuffer_finalize), (gst_buffer_create_sub),
4941         (gst_buffer_is_span_fast), (gst_buffer_span):
4942         Init _type for consistency.
4943         Use _FLAGS macro to avoid type check.
4944         Avoid unneeded type checks in subbufer code.
4945
4946 2006-06-12  Wim Taymans  <wim@fluendo.com>
4947
4948         * gst/gst.c: (gst_debug_help):
4949         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_list_free):
4950         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
4951         (gst_plugin_feature_list_free):
4952         * gst/gstregistry.c: (gst_registry_add_plugin),
4953         (gst_registry_add_feature), (gst_registry_plugin_filter),
4954         (gst_registry_feature_filter), (gst_registry_find_plugin),
4955         (gst_registry_find_feature), (gst_registry_get_plugin_list),
4956         (gst_registry_lookup_feature_locked), (gst_registry_lookup_locked):
4957         * gst/gstregistryxml.c: (load_feature),
4958         (gst_registry_xml_read_cache), (gst_registry_xml_write_cache):
4959         * gst/gstminiobject.c: (gst_mini_object_unref),
4960         (gst_mini_object_replace), (gst_value_mini_object_free),
4961         (gst_value_mini_object_copy):
4962         Use _CAST macros to avoid unneeded type checking.
4963         Added some more G_UNLIKELY.
4964
4965 2006-06-12  Wim Taymans  <wim@fluendo.com>
4966
4967         * gst/gstbuffer.h:
4968         Avoid unneeded type checking.
4969         API: GST_BUFFER_IS_DISCONT
4970
4971         * gst/gstminiobject.h:
4972         Avoid type check in flag accessor.
4973
4974         * gst/gstelementfactory.h:
4975         * gst/gstplugin.h:
4976         * gst/gstpluginfeature.h:
4977         Add _CAST macros.
4978         API: GST_ELEMENT_FACTORY_CAST
4979         API: GST_PLUGIN_CAST
4980         API: GST_PLUGIN_FEATURE_CAST
4981
4982 2006-06-12  Wim Taymans  <wim@fluendo.com>
4983
4984         * gst/gstobject.c: (gst_object_get_type), (gst_object_ref),
4985         (gst_object_unref):
4986         Add G_UNLIKELY in type registration.
4987         Avoid type check in _ref/_unref since that is also
4988         done in glib.
4989
4990 2006-06-12  Wim Taymans  <wim@fluendo.com>
4991
4992         * gst/gsterror.c: (gst_g_error_get_type):
4993         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
4994         (gst_static_pad_template_get_type):
4995         * gst/gsttaglist.c: (gst_tag_list_get_type):
4996         * gst/gsttagsetter.c: (gst_tag_setter_get_type):
4997         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type):
4998         * gst/gsturi.c: (gst_uri_handler_get_type):
4999         * gst/gstvalue.c: (gst_date_get_type):
5000         * gst/gstxml.c: (gst_xml_get_type):
5001         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
5002         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
5003         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type):
5004         Add G_UNLIKELY in type registration.
5005
5006 2006-06-12  Wim Taymans  <wim@fluendo.com>
5007
5008         * tools/gst-inspect.c: (print_signal_info):
5009         Properly print enum values.
5010
5011 2006-06-12  Wim Taymans  <wim@fluendo.com>
5012
5013         * gst/gstinfo.c: (gst_debug_set_active),
5014         (gst_debug_category_set_threshold), (_gst_debug_nameof_funcptr):
5015         * gst/gstinfo.h:
5016         Add some G_[UN]LIKELY.
5017         Maintain __gst_debug_min to avoid formatting the arguments of
5018         debug messages that will be dropped anyway to avoid a lot of 
5019         overhead from the debugging system.
5020
5021 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
5022
5023         * po/POTFILES.in:
5024         * po/POTFILES.skip:
5025           add missing files containing translatable strings, tell intltool about
5026           one exception
5027
5028 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
5029
5030         * tests/check/libs/.cvsignore:
5031         add test-binary to ignore list
5032
5033 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
5034
5035         * docs/libs/gstreamer-libs-docs.sgml:
5036         reorder (put dp into a chapter) and indent
5037
5038 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5039
5040         * configure.ac:
5041           back to HEAD
5042
5043 === release 0.10.8 ===
5044
5045 2006-06-10  Thomas Vander Stichele <thomas at apestaart dot org>
5046
5047         * configure.ac:
5048           releasing 0.10.8, "Soepeke, ik zie ou nog altijd nie"
5049
5050 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5051
5052         * gst/gst.c: (init_post):
5053           move pid declaration to declaration block
5054
5055 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5056
5057         * gst/gst.c: (init_post):
5058           use _exit() instead of exit() in our forked child; this ensures
5059           that none of the registered exit handlers from whatever is using
5060           GStreamer get executed.  This fixes gnome-mixer-applet failing
5061           to load, because ORBit would shut down.
5062           Spotted by: Edward Hervey  <edward@fluendo.com>
5063           Fix suggested by: Tim-Philipp Müller  <tim at centricular dot net>
5064           Fixes #344474
5065
5066 2006-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
5067
5068         * configure.ac:
5069           back to TRUNK
5070
5071 === release 0.10.7 ===
5072
5073 2006-06-09  Thomas Vander Stichele <thomas at apestaart dot org>
5074
5075         * configure.ac:
5076           releasing 0.10.7, "Soepeke, ik zie ou"
5077
5078 2006-06-07  Thomas Vander Stichele  <thomas at apestaart dot org>
5079
5080         * configure.ac:
5081         * po/af.po:
5082         * po/az.po:
5083         * po/bg.po:
5084         * po/ca.po:
5085         * po/cs.po:
5086         * po/de.po:
5087         * po/en_GB.po:
5088         * po/fr.po:
5089         * po/it.po:
5090         * po/nb.po:
5091         * po/nl.po:
5092         * po/ru.po:
5093         * po/sq.po:
5094         * po/sr.po:
5095         * po/sv.po:
5096         * po/tr.po:
5097         * po/uk.po:
5098         * po/vi.po:
5099         * po/zh_CN.po:
5100         * po/zh_TW.po:
5101         * win32/common/config.h:
5102           0.10.6.2 prerelease
5103
5104 2006-06-07  Wim Taymans  <wim@fluendo.com>
5105
5106         * gst/gstindex.c: (gst_index_gtype_resolver):
5107         * tools/gst-xmlinspect.c: (print_plugin_info):
5108         Fix leak spotted by coverity checker. Fixes #343827
5109         Fix another other leak found by paolo borelli.
5110
5111 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5112
5113         * libs/gst/dataprotocol/dataprotocol.c:
5114         (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
5115         (gst_dp_version_get_type), (gst_dp_init),
5116         (gst_dp_header_from_buffer), (gst_dp_header_from_buffer_1_0),
5117         (gst_dp_packet_from_caps), (gst_dp_packet_from_caps_1_0),
5118         (gst_dp_packet_from_event), (gst_dp_packet_from_event_1_0),
5119         (gst_dp_event_from_packet_0_2), (gst_dp_event_from_packet_1_0),
5120         (gst_dp_event_from_packet), (gst_dp_packetizer_new),
5121         (gst_dp_packetizer_free):
5122         * libs/gst/dataprotocol/dataprotocol.h:
5123           API: add a GstDPPacketizer object, and create/free functions
5124           API: add GstDPVersion enum
5125           Add 1.0 event function that uses the string serialization
5126           Serialize more useful buffer flags
5127           Fixes #343988
5128
5129 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5130
5131         * tests/check/Makefile.am:
5132         * tests/check/gst/gstabi.c:
5133         * tests/check/gst/struct_ppc64.h:
5134         * tests/check/libs/libsabi.c:
5135         * tests/check/libs/struct_ppc64.h:
5136           add ppc64 structure sizes
5137
5138 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5139
5140         * tests/check/Makefile.am:
5141         * tests/check/gst/gstabi.c:
5142         * tests/check/gst/struct_x86_64.h:
5143         * tests/check/libs/libsabi.c:
5144         * tests/check/libs/struct_x86_64.h:
5145           generate and add structure size lists for x86_64
5146
5147 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5148
5149         * libs/gst/check/gstcheck.c: (gst_check_abi_list):
5150         * libs/gst/check/gstcheck.h:
5151           factor out the method from tests that checks size of structures,
5152           and add code to generate the header containing these sizes
5153         * tests/check/gst/gstabi.c: (GST_START_TEST):
5154         * tests/check/gst/struct_i386.h:
5155         * tests/check/libs/libsabi.c: (GST_START_TEST):
5156         * tests/check/libs/struct_i386.h:
5157           use it
5158
5159 2006-06-06  Michael Smith  <msmith@fluendo.com>
5160
5161         * gst/gstsegment.h:
5162           Don't use c++-style comments, fixes #343929
5163
5164 2006-06-05  Edward Hervey  <edward@fluendo.com>
5165
5166         * gst/gst.c:
5167         plugin_paths is not used if we build without registry support.
5168
5169         * gst/gstsegment.c: (gst_segment_copy): 
5170         _copy() was always returning NULL...
5171
5172 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5173
5174         * libs/gst/dataprotocol/dataprotocol.c:
5175         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
5176         (gst_dp_packet_from_event):
5177           factor out CRC code
5178
5179 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5180
5181         * libs/gst/check/gstcheck.c: (gst_check_teardown_src_pad):
5182           make sure we unset caps
5183
5184 2006-06-02  Michael Smith  <msmith@fluendo.com>
5185
5186         * libs/gst/check/gstcheck.c: (gst_check_init),
5187         (gst_check_chain_func):
5188         * libs/gst/check/gstcheck.h:
5189           Add a cond/mutex to the check support lib, signal this whenever we
5190           add to the buffers list. This will allow tests to not busy-wait on
5191           the buffer-list.
5192
5193 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5194
5195         * libs/gst/dataprotocol/dataprotocol.c:
5196         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
5197         (gst_dp_packet_from_event):
5198           factor out some common header init code
5199
5200 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5201
5202         * docs/libs/gstreamer-libs-sections.txt:
5203         * docs/libs/tmpl/gstdataprotocol.sgml:
5204         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
5205         * libs/gst/dataprotocol/dataprotocol.h:
5206           API: make gst_dp_crc() public
5207
5208 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
5209
5210         * plugins/indexers/gstindexers.c: (plugin_init):
5211         conditionally register fileindexer (fixes #343598)
5212
5213 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
5214
5215         * gst/gsttagsetter.h:
5216         Can't cast ifaces to a class
5217
5218         * libs/gst/net/gstnetclientclock.h:
5219         * libs/gst/net/gstnettimeprovider.h:
5220         * plugins/elements/gstfakesink.h:
5221         * plugins/elements/gstfakesrc.h:
5222         * plugins/elements/gstfdsink.h:
5223         * plugins/elements/gstfdsrc.h:
5224         * plugins/elements/gstfilesink.h:
5225         * plugins/elements/gstfilesrc.h:
5226         * plugins/elements/gstidentity.h:
5227         * plugins/elements/gstqueue.h:
5228         * plugins/elements/gsttee.h:
5229         * plugins/indexers/gstfileindex.c:
5230         * plugins/indexers/gstmemindex.c:
5231         * tests/old/examples/plugins/example.h:
5232         Fix more gobject macros: obj<->klass, GstXXX<->GstXXXClass
5233
5234 2006-06-01  Thomas Vander Stichele  <thomas at apestaart dot org>
5235
5236         * libs/gst/dataprotocol/dataprotocol.c:
5237         (gst_dp_header_from_buffer):
5238           make sure we zero the whole ABI-compatible area
5239
5240 2006-06-01  Wim Taymans  <wim@fluendo.com>
5241
5242         Patch by: Alessandro Decina <alessandro at nnva dot org>
5243
5244         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop):
5245         Make sure the EOS flag is cleared from pads after a flush
5246         or stop. Fixes #343538.
5247
5248         * tests/check/libs/collectpads.c: (GST_START_TEST),
5249         (gst_collect_pads_suite):
5250         Added test for collectpads reusage after EOS.
5251
5252 2006-05-30  Sebastien Moutte  <sebastien@moutte.net>
5253
5254         * gst/gst.c:
5255          set #include <sys/wait.h> in a #ifdef #ifdef HAVE_FORK
5256         * win32/common/libgstbase.def:
5257          export gst_collect_pads_set_flushing
5258         * win32/common/libgstreamer.def:
5259          export gst_pad_set_acceptcaps_function, gst_structure_empty_new,
5260          gst_value_fraction_multiply
5261         * win32/vs6/gst_inspect.dsp:
5262          add a link to intl.lib
5263
5264 2006-05-30  Wim Taymans  <wim@fluendo.com>
5265
5266         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
5267         (gst_collect_pads_chain):
5268         Handle the case where a pad is removed from the collection
5269         that could cause the other pads to become collectable.
5270
5271 2006-05-30  Wim Taymans  <wim@fluendo.com>
5272
5273         * gst/gstelement.c:
5274         Clarify the use of _release_request_pad() and
5275         _get_request_pad() a bit better.
5276
5277         * libs/gst/base/gstadapter.c: (gst_adapter_peek),
5278         (gst_adapter_take_buffer):
5279         Fix some doc and comment typos.
5280
5281 2006-05-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5282
5283         * docs/gst/gstreamer-sections.txt:
5284         * docs/libs/gstreamer-libs-sections.txt:
5285           add declared symbols
5286
5287 2006-05-30  Jan Schmidt  <thaytan@mad.scientist.com>
5288
5289         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
5290         Add debug that can be enabled using a #define at the top of the file,
5291         for dumping stats about how late/early we were when waking up from
5292         waiting on the clock.
5293
5294 2006-05-30  Wim Taymans  <wim@fluendo.com>
5295
5296         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_check_pads):
5297         When rebuilding the pad list, don't leak the previous list.
5298
5299 2006-05-30  Wim Taymans  <wim@fluendo.com>
5300
5301         Patch by: Lutz Mueller <lutz at topfrose dot de>
5302
5303         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
5304         (gst_base_src_get_query_types), (gst_base_src_update_length):
5305         Publish supported query types.
5306         Update last_stop field in get_range mode so the position
5307         query works. Fixes #342321.
5308
5309 2006-05-30  Tim-Philipp Müller  <tim at centricular dot net>
5310
5311         * docs/gst/gstreamer-sections.txt:
5312         * gst/gsttaglist.c: (_gst_tag_initialize):
5313         * gst/gsttaglist.h:
5314           API: add GST_TAG_PREVIEW_IMAGE (#343341).
5315
5316 2006-05-30  Wim Taymans  <wim@fluendo.com>
5317
5318         Patch by: Alessandro Decina <alessandro at nnva dot org>
5319
5320         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
5321         Unlock mutex when removing an unknown pad.
5322         Fixes #343334.
5323
5324         * tests/check/Makefile.am:
5325         * tests/check/libs/collectpads.c: (collected_cb), (push_buffer),
5326         (push_event), (setup), (teardown), (GST_START_TEST),
5327         (gst_collect_pads_suite), (main):
5328         Added collecpads check, disabled for now as check crashes for
5329         some reason.
5330
5331 2006-05-29  Wim Taymans  <wim@fluendo.com>
5332
5333         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize):
5334         Don't leak pads lists.
5335
5336 2006-05-29  Wim Taymans  <wim@fluendo.com>
5337
5338         * docs/libs/gstreamer-libs-sections.txt:
5339         * libs/gst/base/gstcollectpads.c:
5340         (gst_collect_pads_set_flushing_unlocked),
5341         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
5342         (gst_collect_pads_stop):
5343         * libs/gst/base/gstcollectpads.h:
5344         API: gst_collect_pads_set_flushing()
5345         Added api to set the pads to flushing, useful for seeking
5346         code in elements using collectpads.
5347         Clear segment when receiving a flush.
5348
5349 2006-05-29  Tim-Philipp Müller  <tim at centricular dot net>
5350
5351         * gst/gst.c: (add_path_func), (init_post):
5352           Don't scan registry paths passed via --gst-plugin-path immediately
5353           (will crash, because absolutely nothing is set up and no types are
5354           registered etc.); do this later in init_post(). Fixes #343057.
5355
5356 2006-05-28  Thomas Vander Stichele  <thomas at apestaart dot org>
5357
5358         * gst/gst.c: (init_post):
5359           if we have fork, fork while reading/rebuilding the registry
5360           so the parent doesn't take the hit of having all plugins loaded
5361           in memory.  Fixes #342777.
5362         * configure.ac:
5363           Check if we have fork()
5364         * win32/common/config.h.in:
5365           no fork() on win32
5366
5367 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
5368
5369         * plugins/elements/gstelements.c:
5370         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
5371         (gst_file_src_init), (gst_file_src_set_property),
5372         (gst_file_src_get_property), (gst_file_src_start):
5373         * plugins/elements/gstfilesrc.h:
5374           API: GstFileSrc::use-mmap
5375
5376         Add a use-mmap property to enable easier testing of all code paths.
5377         Bump rank to PRIMARY, so filesrc is the preferred file reader and used
5378         in the absence of gnomevfssrc. (Closes #340501)
5379
5380 2006-05-26  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5381
5382         * tools/gst-inspect.c:
5383         Add missing include, removes warning of ngettext not being defined on
5384         some arches.
5385
5386 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
5387
5388         * gst/gstvalue.c: (gst_value_deserialize_fraction):
5389         Handle NULL input and output pointers silently as a failed conversion,
5390         rather than g_warnings.
5391
5392 2006-05-25  Wim Taymans  <wim@fluendo.com>
5393
5394         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_start):
5395         Initialize variable before using. Fixes #342820.
5396
5397 2006-05-24  Tim-Philipp Müller  <tim at centricular dot net>
5398
5399         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek):
5400           Fix off-by-one bug that would only allow peeks of N-1 bytes
5401           from the start even if the buffer to typefind on contains
5402           in fact N bytes of data (makes vorbis typefinding from a
5403           vorbis identification header buffer work).
5404
5405         * tests/check/Makefile.am:
5406         * tests/check/libs/.cvsignore:
5407         * tests/check/libs/typefindhelper.c: (GST_START_TEST),
5408         (gst_typefindhelper_suite), (main), (foobar_typefind),
5409         (plugin_init):
5410           Add very basic unit test for gst_type_find_helper_for_buffer()
5411           that checks for the problem fixed above.
5412
5413 2006-05-24  Thomas Vander Stichele  <thomas at apestaart dot org>
5414
5415         * tools/gst-inspect.c: (print_interfaces),
5416         (print_element_properties_info), (print_element_list), (main):
5417           add more translatable strings
5418
5419 2006-05-23  Tim-Philipp Müller  <tim at centricular dot net>
5420
5421         Patch by: Julien Moutte  <julien at moutte net>
5422
5423         * docs/gst/gstreamer-sections.txt:
5424           Make new GST_FLOW_IS_SUCCESS macro visible in docs.
5425           
5426         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
5427         (gst_fake_sink_preroll):
5428         * plugins/elements/gstfakesink.h:
5429           API: Add new GstFakeSink::preroll-handoff signal (#337100).
5430
5431 2006-05-23  Wim Taymans  <wim@fluendo.com>
5432
5433         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark):
5434         * gst/gstpad.h:
5435         Added _CUSTOM error and success GstFlowReturn that can be
5436         used be elements internally. 
5437         Added macro to check for SUCCESS flowreturns.
5438         API: GST_FLOW_CUSTOM_SUCCESS
5439         API: GST_FLOW_CUSTOM_ERROR
5440         API: GST_FLOW_IS_SUCCESS
5441
5442         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
5443         Added check for GstFlowReturn sanity.
5444
5445 2006-05-23  Wim Taymans  <wim@fluendo.com>
5446
5447         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
5448
5449         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
5450         (gst_collect_pads_event):
5451         clear/reset segment info in FLUSH_STOP.
5452         Fixes #336929.
5453
5454 2006-05-22  Stefan Kost  <ensonic@users.sf.net>
5455
5456         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop),
5457         (gst_collect_pads_check_collected):
5458         Flush queued buffer on _stop(), fixes playing again (#342454)
5459
5460 2006-05-22  Thomas Vander Stichele  <thomas at apestaart dot org>
5461
5462         * tests/check/gst/gststructure.c: (GST_START_TEST),
5463         (gst_structure_suite):
5464           add a test for a complete structure
5465
5466 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
5467
5468         * docs/faq/developing.xml:
5469         * docs/faq/faq.xml:
5470         * docs/faq/troubleshooting.xml:
5471         * docs/faq/using.xml:
5472           Some minor FAQ updates that won't change the fact that
5473           our FAQ is badly structured, full of information hardly
5474           anyone new to GStreamer needs to know and lacking lots
5475           of information people constantly ask for.
5476           
5477 2006-05-19  Jan Schmidt  <thaytan@mad.scientist.com>
5478
5479         * gst/gstpad.c: (gst_pad_set_caps):
5480           Short-circuit gst_pad_set_caps if setting the existing
5481           caps pointer again, and avoid printing debug and 
5482           reffing/unreffing the caps.
5483
5484         * plugins/elements/gstqueue.c: (gst_queue_push_one):
5485           There's actually no need to set the caps before pushing -
5486           the acceptcaps method will handle it anyway.
5487
5488 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
5489
5490         * docs/gst/gstreamer-sections.txt:
5491         * win32/common/libgstreamer.def:
5492         * gst/gstutils.c: (gst_element_seek_simple):
5493         * gst/gstutils.h:
5494           API: add gst_element_seek_simple() (#342238).
5495
5496 2006-05-18  Edward Hervey  <edward@fluendo.com>
5497
5498         * gst/gsttypefind.c: (gst_type_find_get_type):
5499         * gst/gsttypefind.h:
5500         Added GST_TYPE_TYPE_FIND and gst_type_find_get_type() so a GType gets
5501         registered for GstTypeFind pointers. This allows wrapping the structure
5502         in bindings (i.e. gst-python).
5503
5504 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
5505
5506         * gst/gsttagsetter.c:
5507           Docs additions and fixes (see #339918).
5508
5509 2006-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
5510
5511         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
5512         The caps intersection algorithm can produce multiple copies of the
5513         caps. Until that is fixed, we need to simplify the result to be
5514         sure whether the allowed caps are fixed or not.
5515
5516         * plugins/elements/gstqueue.c: (gst_queue_init),
5517         (gst_queue_bufferalloc), (gst_queue_acceptcaps),
5518         (gst_queue_push_one):
5519         Proxied buffer alloc should not set the caps on the source pad.
5520         When pushing buffers, we always accept the caps change that triggers.
5521         This prevents negotiation errors caused by caps changing mid-stream 
5522         and then being refused on our source pad (because upstream is now
5523         refusing those caps).
5524
5525 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
5526
5527         * tests/examples/helloworld/helloworld.c: (main):
5528           Must plug audioconvert and audioresample between decoder
5529           and audio sink.
5530
5531 2006-05-17  Jan Schmidt  <thaytan@mad.scientist.com>
5532
5533         * gst/gstregistryxml.c: (read_string), (load_pad_template),
5534         (load_feature), (load_plugin):
5535         Allow empty strings for some of the plugin fields so we don't 
5536         drop valid plugin entries that were written out correctly
5537         (Fixes #341479)
5538
5539 2006-05-17  Sebastien Moutte  <sebastien@moutte.net>
5540         
5541         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
5542           Use g_remove and g_rename instead of remove and rename that don't 
5543           handle utf8 characters. rename was failing for users who had specific
5544           characters in their name then the registry was built at each 
5545           gstreamer init.
5546         * win32/vs6/gst_inspect.dsp:
5547         * win32/vs6/gst_launch.dsp:
5548         * win32/vs6/libgstbase.dsp:
5549         * win32/vs6/libgstcoreelements.dsp:
5550         * win32/vs6/libgstreamer.dsp:
5551           Use a debug version of libxml2 (libxml2D.lib,libxml2D.dll) for DEBUG 
5552           build of libgstreamer and clean unused libraries in projects link 
5553           settings.
5554
5555 2006-05-17  Edward Hervey  <edward@fluendo.com>
5556
5557         * plugins/elements/gstqueue.c: (gst_queue_push_one):
5558         The queue is not responsible for pushing an EOS when receiving a fatal
5559         flow error. It's up to the real element driving the pipeline to do that.
5560
5561 2006-05-16  Edward Hervey  <edward@fluendo.com>
5562
5563         * plugins/elements/gstqueue.c: (gst_queue_push_one):
5564         The queue was posting a non-needed GST_MESSAGE_ERROR when pushing a
5565         buffer returned a fatal error. It should just send an EOS and stop
5566         its task.
5567         Upstream elements will then properly receive the GST_FLOW_UNEXPECTED
5568         when pushing buffers on the queue and will be able to handle the event.
5569
5570 2006-05-16  Tim-Philipp Müller  <tim at centricular dot net>
5571
5572         * docs/manual/basics-bins.xml:
5573         * docs/manual/basics-init.xml:
5574           Fix typos and minor errors in sample code (#341856).
5575
5576 2006-05-16  Wim Taymans  <wim@fluendo.com>
5577
5578         * docs/design/part-qos.txt:
5579         Fix indexes in formulas to make more sense.
5580
5581 2006-05-15  Wim Taymans  <wim@fluendo.com>
5582
5583         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
5584         Don't report POSITION based on clock time if sync is
5585         disabled in a sink.
5586
5587 2006-05-15  Tim-Philipp Müller  <tim at centricular dot net>
5588
5589         * gst/gstobject.h:
5590           Add cast to make compiler happy - refcount variable was a gint
5591           in GstObject but is a guint in GObject and g_atomic_int_get()
5592           wants a gint *.
5593
5594 2006-05-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5595
5596         * gst/parse/Makefile.am:
5597           chain commands using &&, which also makes parallel make work
5598
5599 2006-05-14  Tim-Philipp Müller  <tim at centricular dot net>
5600
5601         * docs/gst/gstreamer-sections.txt:
5602         * gst/gstevent.c:
5603         * gst/gstevent.h:
5604         * gst/gstmessage.h:
5605           Minor docs fixes.
5606
5607 === release 0.10.6 ===
5608
5609 2006-05-14  Jan Schmidt <thaytan@mad.scientist.com>
5610
5611         * configure.ac:
5612           releasing 0.10.6, "Take the cannoli"
5613
5614 2006-05-13  Tim-Philipp Müller  <tim at centricular dot net>
5615
5616         * tools/gst-launch.c: (print_tag):
5617           Fix use of uninitialized variable in the hypothetical
5618           case that some broken plugin creates a GST_TAG_IMAGE
5619           tag containing a NULL buffer (#341667).
5620
5621 2006-05-12  Tim-Philipp Müller  <tim at centricular dot net>
5622
5623         * tools/gst-launch.c: (print_tag):
5624           Print something more intelligible for image tags when
5625           using the -t switch (#341556).
5626
5627 2006-05-12  Thomas Vander Stichele  <thomas at apestaart dot org>
5628
5629         * Makefile.am:
5630           updates for win32
5631         * configure.ac:
5632           define GST_MAJORMINOR so we have it available in win32/common/config.h
5633           Possibly remove it from our Makefile.am files later
5634         * win32/common/config.h:
5635         * win32/common/config.h.in:
5636           added GST_MAJORMINOR
5637         * win32/common/gstenumtypes.c: (register_gst_resource_error):
5638         * win32/common/gstversion.h:
5639           updated
5640
5641 2006-05-12  Sebastien Moutte  <sebastien@moutte.net>
5642
5643         * win32/MANIFEST:
5644           Update win32 files listing.
5645         * win32/common/gstversion.h:
5646           Add GST_MAJORMINOR definition.
5647         * win32/common/libgstreamer.def:
5648           Add new exported functions.
5649           
5650 2006-05-12  Michael Smith  <msmith@fluendo.com>
5651
5652         * gst/gstplugin.c: (gst_plugin_load_file):
5653           If an so file has no plugin entry point, unload the module.
5654
5655 2006-05-11  Wim Taymans  <wim@fluendo.com>
5656
5657         * plugins/elements/gstqueue.c: (gst_queue_chain), (gst_queue_loop),
5658         (gst_queue_set_property):
5659         Don't forget to signal the _chain or _loop function 
5660         when the queue size or thresholds change since that might
5661         cause them to make progres again.
5662
5663 2006-05-11  Stefan Kost  <ensonic@users.sf.net>
5664
5665         * gst/gstclock.c: (gst_clock_class_init):
5666         * gst/gstindex.c: (gst_index_class_init):
5667         * gst/gstobject.c: (gst_object_class_init):
5668         * gst/gstpad.c: (gst_pad_class_init):
5669         * gst/gstpipeline.c: (gst_pipeline_class_init):
5670         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
5671         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
5672         * libs/gst/base/gstbasetransform.c:
5673         (gst_base_transform_class_init):
5674         * libs/gst/net/gstnetclientclock.c:
5675         (gst_net_client_clock_class_init):
5676         * libs/gst/net/gstnettimeprovider.c:
5677         (gst_net_time_provider_class_init):
5678         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
5679         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
5680         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
5681         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
5682         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
5683         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
5684         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
5685         * plugins/elements/gstidentity.c: (gst_identity_class_init):
5686         * plugins/elements/gsttee.c: (gst_tee_class_init):
5687         * tests/old/examples/plugins/example.c: (gst_example_class_init):
5688         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
5689           G_OBJECT_CLASS macro usage batch cleanup, fixes #337747 for core
5690
5691 2006-05-11  Wim Taymans  <wim@fluendo.com>
5692
5693         * gst/gstbuffer.c: (_gst_buffer_initialize):
5694         Register subbufer along with the buffer type so that
5695         it does not accidentally gets registered from N
5696         different streaming threads in a non threadsafe way.
5697
5698 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
5699
5700         * gst/gstbuffer.h:
5701         * gst/gstevent.h:
5702         * gst/gstmessage.h:
5703           Make gtk-doc generate docs for our inlined gst_buffer_ref(),
5704           gst_event_ref() and gst_message_ref() functions again
5705           (ugly hack, please do fix if there's a better way besides
5706           overrides.txt, which doesn't seem to work).
5707
5708 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5709
5710         * libs/gst/check/gstcheck.h:
5711           add an assert for setting state to avoid lots of repetitive code
5712           in the future
5713
5714 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5715
5716         * gst/gstvalue.c: (gst_value_serialize_flags):
5717           fix a leak if no flags are set
5718         * tests/check/gst/gstvalue.c: (GST_START_TEST):
5719           fix leak in tests
5720
5721 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
5722
5723         * docs/manual/basics-pads.xml:
5724           Expand a bit on caps and filtered links and update
5725           examples that were still using the no longer existing
5726           gst_pad_link_filtered() (#338206).
5727
5728 2006-05-10  Wim Taymans  <wim@fluendo.com>
5729
5730         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
5731         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
5732         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
5733         (gst_collect_pads_stop):
5734         * libs/gst/base/gstcollectpads.h:
5735         No need to call _stop in _finalize.
5736         Iterate the main pad list in _finalize.
5737         Added some more debug.
5738         Free lists and data in the right order.
5739         Also free data whem doing _remove_pad when stopped for
5740         backward compatibility protect ::started with PAD_LOCK as
5741         well.
5742
5743 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5744
5745         * gst/gststructure.c: (gst_structure_gtype_from_abbr),
5746         (gst_structure_parse_value):
5747           add some comments
5748           rename a method so that it actually says what it does better
5749
5750 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5751
5752         * gst/gstevent.c: (_gst_event_initialize):
5753         * gst/gstformat.c: (_gst_format_initialize):
5754           make sure some essential types used by events are registered
5755           as part of gst_init()
5756         * gst/gstvalue.c: (gst_value_serialize_flags):
5757           if no flags are set, serialize them to a value that represents NONE
5758           so that deserializing them works
5759         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
5760           add tests for serialization and deserialization of flags
5761
5762 2006-05-10  Wim Taymans  <wim@fluendo.com>
5763
5764         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_collect),
5765         (gst_collect_pads_collect_range), (gst_collect_pads_available),
5766         (gst_collect_pads_check_pads), (gst_collect_pads_check_collected),
5767         (gst_collect_pads_event), (gst_collect_pads_chain):
5768         Update docs.
5769         Better debug info.
5770         Catch and return errors from the collect function
5771         Refuse data on eos pads.
5772
5773 2006-05-10  Edward Hervey  <edward@fluendo.com>
5774
5775         * gst/gstinterface.h:
5776         GST_IMPLEMENTS_INTERFACE and GST_IS_IMPLEMENTS_INTERFACE use the normal
5777         GInterface type checking.
5778         They were previously using non-defined macros.
5779
5780 2006-05-09  Wim Taymans  <wim@fluendo.com>
5781
5782         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_init),
5783         (gst_collect_pads_finalize), (gst_collect_pads_add_pad),
5784         (gst_collect_pads_remove_pad), (gst_collect_pads_set_flushing),
5785         (gst_collect_pads_start), (gst_collect_pads_stop),
5786         (gst_collect_pads_peek), (gst_collect_pads_pop),
5787         (gst_collect_pads_available), (gst_collect_pads_read),
5788         (gst_collect_pads_flush), (gst_collect_pads_check_pads),
5789         (gst_collect_pads_is_collected), (gst_collect_pads_event),
5790         (gst_collect_pads_chain):
5791         * libs/gst/base/gstcollectpads.h:
5792         Clean up the mess that is collectpads, add comments and
5793         FIXMEs where needed.
5794         Maintain a separate pad list so we can add pads while
5795         collecting the other ones. For this we need a new separate 
5796         lock (see comics).
5797         Fix memory leak in finalize.
5798         Refactor some weird code to set/unset pad flushing flags, mark
5799         with comments.
5800         Don't crash in _available, _read, _flush when we're EOS.
5801
5802         * tests/check/libs/.cvsignore:
5803         Ignore adapter check binary.
5804
5805 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
5806
5807         * gst/gstindex.c: (gst_index_resolver_get_type):
5808         * plugins/elements/gstfakesink.c:
5809         (gst_fake_sink_state_error_get_type):
5810         * plugins/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
5811         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type):
5812         * plugins/elements/gstqueue.c: (queue_leaky_get_type):
5813           Const-ify GEnumValue arrays.
5814
5815 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
5816
5817         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
5818           Add test case for flags + gst_buffer_make_metadata_writable().
5819
5820 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
5821
5822         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable):
5823           gst_buffer_make_metadata_writable() should maintain the
5824           buffer flags (those that make sense at least) (see #340859).
5825
5826 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
5827
5828         * tools/gst-inspect.c:
5829         * tools/gst-launch.c:
5830         * tools/gst-typefind.c:
5831         * tools/gst-xmlinspect.c:
5832         * tools/tools.h:
5833           Fix up includes: need to include stdlib.h in tools.h for exit().
5834
5835 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
5836
5837         * gst/gsttaglist.c: (_gst_tag_initialize):
5838         * gst/gsttaglist.h:
5839           API: add GST_TAG_IMAGE tag (#340721).
5840
5841 2006-05-08  Wim Taymans  <wim@fluendo.com>
5842
5843         * gst/gstquery.c:
5844         Added some docs for the segment query.
5845
5846 2006-05-08  Wim Taymans  <wim@fluendo.com>
5847
5848         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
5849         (gst_base_src_loop), (gst_base_src_change_state):
5850         Always push non-flushing serialized events in the streaming 
5851         thread.
5852
5853 2006-05-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5854
5855         * gst/gsterror.c: (_gst_stream_errors_init):
5856           Add a missing error string.
5857
5858 2006-05-08  Jan Schmidt  <thaytan@mad.scientist.com>
5859
5860         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment):
5861         Add applied_rate to the debug
5862
5863         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
5864         Copy applied_rate into the outgoing NEWSEGMENT event
5865
5866 2006-05-08  Wim Taymans  <wim@fluendo.com>
5867
5868         Patch by: Philippe Rouquier <philippero at libertysurf dot fr>
5869
5870         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
5871         (gst_base_sink_change_state):
5872         call ::unlock before taking the PREROLL_LOCK so we can safely
5873         handle elements that lock in ::render.
5874         Fixes #340174.
5875
5876 2006-05-08  Edward Hervey  <edward@fluendo.com>
5877
5878         * autogen.sh: (CONFIGURE_DEF_OPT): 
5879         Darwin's libtoolize is in fact called glibtoolize.
5880         Adding glibtoolize to the list of accepted names for libtoolize.
5881
5882 2006-05-08  Wim Taymans  <wim@fluendo.com>
5883
5884         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
5885         Unify error handling, don't post an error message
5886         when a push() returns EOS but perform our normal EOS
5887         handling code. Fixes #340772.
5888
5889 2006-05-08  Wim Taymans  <wim@fluendo.com>
5890
5891         * docs/design/part-overview.txt:
5892         Make upsteam/downstream concepts more clear.
5893         Give an example of serialized/non-serialized events.
5894
5895         * docs/design/part-events.txt:
5896         * docs/design/part-streams.txt:
5897         Mention applied_rate.
5898
5899         * docs/design/part-trickmodes.txt:
5900         Mention applied rate, flesh out some more use cases.
5901
5902         * gst/gstevent.c: (gst_event_new_new_segment),
5903         (gst_event_parse_new_segment), (gst_event_new_new_segment_full),
5904         (gst_event_parse_new_segment_full), (gst_event_new_tag),
5905         (gst_event_parse_tag), (gst_event_new_buffer_size),
5906         (gst_event_parse_buffer_size), (gst_event_new_qos),
5907         (gst_event_parse_qos), (gst_event_parse_seek),
5908         (gst_event_new_navigation):
5909         * gst/gstevent.h:
5910         Add applied_rate field to NEWSEGMENT event.
5911         API: gst_event_new_new_segment_full()
5912         API: gst_event_parse_new_segment_full()
5913
5914         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_seek),
5915         (gst_segment_set_newsegment), (gst_segment_set_newsegment_full),
5916         (gst_segment_to_stream_time), (gst_segment_to_running_time):
5917         * gst/gstsegment.h:
5918         Add applied_rate to GstSegment structure.
5919         Make calculation of stream_time and running_time more correct
5920         wrt rate/applied_rate.
5921         Add some more docs.
5922         API: GstSegment::applied_rate field
5923         API: gst_segment_set_newsegment_full();
5924
5925         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
5926         (gst_base_sink_get_sync_times), (gst_base_sink_get_position):
5927         * libs/gst/base/gstbasetransform.c:
5928         (gst_base_transform_sink_eventfunc),
5929         (gst_base_transform_handle_buffer):
5930         Parse and use applied_rate in the GstSegment field.
5931
5932         * tests/check/gst/gstevent.c: (GST_START_TEST):
5933         Add check for applied_rate field.
5934
5935         * tests/check/gst/gstsegment.c: (GST_START_TEST),
5936         (gstsegments_suite):
5937         Add more checks for various GstSegment operations.
5938
5939 2006-05-08  Wim Taymans  <wim@fluendo.com>
5940
5941         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
5942         (gst_base_sink_do_sync), (gst_base_sink_chain_unlocked),
5943         (gst_base_sink_get_position), (gst_base_sink_change_state):
5944         Store the sync time of the buffer end position separatly in a
5945         new variable eos_rtime so we can properly sync the EOS event.
5946         Fixes #340697.
5947         Fix the docs for gst_base_sink_set_qos_enabled().
5948         Don't set segment start to invalid value when we receive a 
5949         non TIME newsegment.
5950         get closer to handling position reporting for negative rates 
5951         correctly.
5952
5953 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
5954
5955         * gst/gstcaps.c:
5956         Docs about how to print caps for debug purposes.
5957
5958         * gst/gstpadtemplate.c: (gst_static_pad_template_get):
5959         use gst_caps_make_writable instead of gst_caps_copy, Fixes #340608
5960
5961 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
5962
5963         * gst/gstelement.c:
5964           use full enum names and preprend a '%' in docs strings to make recent 
5965           gtk-doc turn that into a link
5966
5967 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
5968
5969         * docs/manual/basics-bins.xml:
5970         * docs/manual/basics-bus.xml:
5971         * docs/manual/basics-pads.xml:
5972           Some typo fixes, some additions, some clarifications. 
5973
5974 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
5975
5976         * tools/gst-inspect.c: (main):
5977         * tools/gst-launch.c: (main):
5978         * tools/gst-run.c: (main):
5979         * tools/gst-typefind.c: (main):
5980         * tools/gst-xmlinspect.c: (main):
5981           Use the string passed to g_option_context_new() for
5982           what it's intended for - the program name is already
5983           printed elsewhere.
5984
5985 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
5986
5987         * tools/Makefile.am:
5988         * tools/gst-inspect.c: (main):
5989         * tools/gst-launch.c: (main):
5990         * tools/gst-xmlinspect.c: (main):
5991         * tools/tools.h:
5992           Add back --version command line option (#340460).
5993
5994         * tools/gst-typefind.c: (have_type_handler), (typefind_file), (main):
5995           Add --version option and use GOption for argument parsing; refactor a
5996           bit; accept directories as arguments and recurse into them; lastly,
5997           print a decent error message when things go wrong.
5998
5999 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
6000
6001         * docs/manual/basics-bins.xml:
6002         Don't mention GstThread (#340611)
6003         * docs/manual/basics-elements.xml:
6004         Update link to GObject tutorial (#340607)
6005         
6006 2006-05-05  Wim Taymans  <wim@fluendo.com>
6007
6008         * gst/gstbuffer.h:
6009         * gst/gstminiobject.c:
6010         Add note about refcounting and miniobject/buffer writeability
6011         to docs. Fixes #340604
6012
6013         * gst/gstelementfactory.h:
6014         Added some explanation about @klass.
6015
6016 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
6017
6018         * docs/manual/intro-motivation.xml:
6019         * docs/manual/manual.xml:
6020         Avoid CORBA & Bonobo references (#340598)
6021
6022 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
6023
6024         * docs/manual/basics-bus.xml:
6025         * docs/manual/basics-pads.xml:
6026         Fix up some inaccuracies and omissions (#340609)
6027         
6028 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
6029
6030         * gst/gstghostpad.c:
6031           Small typo in docs (#340625)
6032
6033 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
6034
6035         * gst/parse/Makefile.am:
6036           Make 'make -j' proof (see #340698).
6037
6038 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
6039
6040         * configure.ac:
6041           Require GLib-2.8 here as well.
6042
6043 2006-05-05  Wim Taymans  <wim@fluendo.com>
6044
6045         * gst/glib-compat.c:
6046         * gst/gst.c: (init_pre):
6047         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
6048         (gst_object_unref), (gst_object_replace), (gst_object_dispose),
6049         (gst_object_dispatch_properties_changed):
6050         * gst/gstobject.h:
6051         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
6052         * gst/gststructure.c: (gst_structure_set_valist):
6053         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
6054         Remove pre glib2.8 compatibility, fixes #340508
6055
6056 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
6057
6058         * gst/gsttaglist.h:
6059           Mention type of tags in doc blurbs.
6060
6061 2006-05-04  Jan Schmidt  <thaytan@mad.scientist.com>
6062
6063         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
6064         (gst_pad_configure_src), (gst_pad_push):
6065         Restore acceptcaps checking behaviour now that good plugins have
6066         been released.
6067
6068 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
6069
6070         Patch by: James Andrewartha <trs80 at tartarus uwa edu au>
6071
6072         * gst/gst.c:
6073         * gst/gstbus.c:
6074         * gst/gstclock.c:
6075         * gst/gstevent.c:
6076         * gst/gstformat.c:
6077         * gst/gstmessage.c:
6078         * gst/gstparse.c:
6079         * gst/gstquery.c:
6080         * gst/gstutils.c:
6081         * gst/parse/Makefile.am:
6082         * libs/gst/base/gstadapter.c:
6083         * libs/gst/base/gstbasesrc.c:
6084         * libs/gst/base/gstpushsrc.c:
6085         * libs/gst/base/gsttypefindhelper.c:
6086         * plugins/elements/gstfakesrc.c:
6087         * plugins/elements/gstidentity.c:
6088           Make sure gstprivate.h and/or config.h are
6089           always included first, otherwise some of our
6090           defines (like _FILE_OFFSET_BITS) might be
6091           redefined in the system headers. Fixes build
6092           on opensolaris (#340016).
6093
6094 2006-05-04  Wim Taymans  <wim@fluendo.com>
6095
6096         * docs/libs/gstreamer-libs-sections.txt:
6097         API: addition: gst_adapter_take_buffer()
6098         
6099         * libs/gst/base/gstadapter.c: (gst_adapter_push),
6100         (gst_adapter_peek), (gst_adapter_take), (gst_adapter_take_buffer),
6101         (gst_adapter_available_fast):
6102         * libs/gst/base/gstadapter.h:
6103         Prepare for optimizing the hell out of this hugely inefficient
6104         piece of code. 
6105         Added gst_adapter_take_buffer() so we can at least start thinking
6106         about subbuffering and merging.
6107         Added some comments.
6108
6109         * tests/check/Makefile.am:
6110         * tests/check/libs/adapter.c: (GST_START_TEST),
6111         (gst_adapter_suite), (main):
6112         Added GstAdapter check.
6113
6114 2006-05-04  Wim Taymans  <wim@fluendo.com>
6115
6116         * docs/design/part-overview.txt:
6117         Fix some typos, add blurb about buffer flags.
6118
6119 2006-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
6120
6121         * docs/libs/gstreamer-libs-sections.txt:
6122           make sure GstBaseTransformClass shows up in the docs
6123         * libs/gst/base/gstbasetransform.c:
6124         * libs/gst/base/gstbasetransform.h:
6125           move docs so gtk-doc picks it up now
6126
6127 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
6128
6129         * docs/libs/gstreamer-libs-sections.txt:
6130           add missing symbols to docs
6131
6132 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
6133
6134         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
6135           back out the newsegment handling change, see #340060 for ongoing
6136           discussion
6137
6138 2006-04-30  Tim-Philipp Müller  <tim at centricular dot net>
6139
6140         * tools/gst-run.c: (get_candidates), (main):
6141           Fix wrong g_file_test() usage (see glib docs for why it doesn't
6142           work); fix typo in error message. Fixes #340079.
6143
6144 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
6145
6146         * common/Makefile.am:
6147         * docs/Makefile.am:
6148         * docs/faq/Makefile.am:
6149         * docs/gst/Makefile.am:
6150         * docs/libs/Makefile.am:
6151         * docs/manual/Makefile.am:
6152         * docs/plugins/Makefile.am:
6153         * docs/pwg/Makefile.am:
6154         * docs/slides/Makefile.am:
6155         * docs/upload.mak:
6156         * common/upload.mak:
6157           move upload.mak to common
6158
6159 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
6160
6161         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
6162           add more asserts on refcounts
6163           do more cleanup at end of tests
6164           fix test leaks showing in FC5
6165
6166 2006-04-29  Stefan Kost  <ensonic@users.sf.net>
6167
6168         * plugins/elements/gsttypefindelement.c:
6169         (gst_type_find_element_handle_event):
6170         reverted wrong change and reflowed code to avoid others falling into
6171         this trap
6172
6173 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
6174
6175         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
6176           fix changelog entry about last collectpads change,
6177           add notes about proper fix
6178
6179 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
6180
6181         * gst/gst.c:
6182         * gst/gstregistry.c: (gst_registry_scan_path_level),
6183         (gst_registry_scan_path):
6184         * gst/gstregistry.h:
6185           only write out registry if it has changed, fixes #338339
6186
6187 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
6188
6189         * gst/gstbin.c:
6190         * gst/gstpipeline.c:
6191         * plugins/elements/gstcapsfilter.c:
6192         * plugins/elements/gstfakesink.c:
6193         * plugins/elements/gstfakesrc.c:
6194         * plugins/elements/gstfdsink.c:
6195         * plugins/elements/gstfdsrc.c:
6196         * plugins/elements/gstfilesink.c:
6197         * plugins/elements/gstfilesrc.c:
6198         * plugins/elements/gstidentity.c:
6199         * plugins/elements/gstqueue.c:
6200         * plugins/elements/gsttee.c:
6201         * plugins/elements/gsttypefindelement.c:
6202         (gst_type_find_element_handle_event):
6203           make GstElementDetails const
6204
6205 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
6206
6207         * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
6208         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
6209         (gst_collect_pads_is_collected), (gst_collect_pads_event):
6210           more detailed debug and formatting cleanup,
6211           forward newsegments to src-pad (so that e.g. adder not eats them)
6212
6213 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
6214
6215         * gst/gstutils.c: (gst_element_link_pads):
6216           cleanup double code
6217
6218 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
6219
6220         * libs/gst/controller/gstcontroller.c:
6221         (gst_controller_sync_values):
6222           some little tuning
6223         * tests/check/libs/controller.c: (GST_START_TEST),
6224         (gst_controller_suite):
6225           a new test for live value handling
6226
6227 2006-04-28  Wim Taymans  <wim@fluendo.com>
6228
6229         * gst/gstutils.c: (push_and_ref):
6230         Added some more docs.
6231         Fix refcount issue whith gst_element_found_tags() helper 
6232         function. Fixes #338335
6233
6234         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
6235         Added testsuite for gst_element_found_tags().
6236
6237 2006-04-28  Michael Smith  <msmith@fluendo.com>
6238
6239         * gst/gstvalue.c: (gst_value_serialize_flags):
6240           Avoid NULL dereference when trying to serialize flags containing
6241           invalid values.
6242
6243 2006-04-28  Michael Smith  <msmith@fluendo.com>
6244
6245         * plugins/elements/gsttypefindelement.c:
6246         (gst_type_find_element_handle_event):
6247           If we get EOS before any data is accumulated, don't use
6248           uninitialised local variables.
6249
6250 2006-04-28  Michael Smith  <msmith@fluendo.com>
6251
6252         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
6253         (gst_dp_event_from_packet):
6254           Fixes in reading/writing events over GDP (not currently used?) - 
6255           dereferencing NULL events for unknown/invalid event types, memory
6256           leak, and change g_warning to GST_WARNING.
6257
6258 2006-04-28  Wim Taymans  <wim@fluendo.com>
6259
6260         * libs/gst/base/gstbasesink.c: (gst_base_sink_is_too_late),
6261         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
6262         (gst_base_sink_get_position), (gst_base_sink_change_state):
6263         When frame dropping is enabled, we should not ignore frames
6264         without a duration.
6265         Update some documentation.
6266
6267 2006-04-28  Wim Taymans  <wim@fluendo.com>
6268
6269         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
6270         (gst_base_src_send_event), (gst_base_src_change_state):
6271         Documentation updates.
6272
6273 2006-04-28  Wim Taymans  <wim@fluendo.com>
6274
6275         * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
6276         (gst_fd_sink_check_fd), (gst_fd_sink_update_fd):
6277         handle EAGAIN, EINTR and short writes correctly. Also clean
6278         up some error cases, avoid a deadlock on bad file descriptors and
6279         use GST_DEBUG_OBJECT.
6280         Fixes #339843
6281
6282 2006-04-28  Wim Taymans  <wim@fluendo.com>
6283
6284         * gst/gstvalue.c: (gst_value_serialize_buffer),
6285         (gst_value_deserialize_buffer):
6286         Don't try to serialize a GValue with a NULL buffer. 
6287         Fixes #339821.
6288
6289         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
6290         Added check for serialisation of NULL buffers.
6291
6292 2006-04-28  Wim Taymans  <wim@fluendo.com>
6293
6294         * gst/gstminiobject.c: (gst_value_take_mini_object):
6295         Taking a NULL miniobject is valid, fix the case where
6296         we try to unref the NULL miniobject.
6297
6298 2006-04-28  Wim Taymans  <wim@fluendo.com>
6299
6300         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
6301
6302         * gst/gstbin.c: (gst_bin_handle_message_func):
6303         Update docs.
6304         Don't leak bin refcount when a state recalc is
6305         in progress and we delay another one #339808.
6306
6307 2006-04-28  Wim Taymans  <wim@fluendo.com>
6308
6309         * docs/design/part-TODO.txt:
6310         Mention QoS as an ongoing work item.
6311
6312         * docs/design/part-buffering.txt:
6313         New doc about buffering that needs to be fleshed out
6314         at some point.
6315
6316         * docs/design/part-qos.txt:
6317         More QoS policy for decoders/demuxers/transforms
6318
6319         * docs/design/part-trickmodes.txt:
6320         Small update.
6321
6322 2006-04-28  Thomas Vander Stichele  <thomas at apestaart dot org>
6323
6324         * configure.ac:
6325           back to HEAD
6326
6327 === release 0.10.5 ===
6328
6329 2006-04-28  Thomas Vander Stichele <thomas at apestaart dot org>
6330
6331         * configure.ac:
6332           releasing 0.10.5, "Fogo"
6333
6334 2006-04-22  Thomas Vander Stichele  <thomas at apestaart dot org>
6335
6336         patch by: Wim Taymans
6337
6338         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
6339         (gst_pad_configure_src), (gst_pad_push):
6340         * gst/gstpipeline.c: (gst_pipeline_init):
6341           Fix internal data flow errors.  Fixes #338711.
6342
6343 2006-04-12  Wim Taymans  <wim@fluendo.com>
6344
6345         * tests/check/gst/gstelement.c: (GST_START_TEST):
6346         Don't leak the factory.
6347
6348 2006-04-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6349
6350         * configure.ac:
6351         * win32/common/config.h:
6352           prerelease
6353
6354 2006-04-12  Tim-Philipp Müller  <tim at centricular dot net>
6355
6356         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
6357         (gst_controller_unset_all):
6358           Free allocated GstTimedValues when freeing list nodes.
6359           Should fix leaks 'make check-valgrind' complains about.
6360
6361         * win32/common/libgstcontroller.def:
6362           Add gst_controller_unset_all.
6363
6364 2006-04-11  Stefan Kost  <ensonic@users.sf.net>
6365
6366         * docs/libs/gstreamer-libs-sections.txt:
6367         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
6368         (gst_controller_unset_all):
6369         * libs/gst/controller/gstcontroller.h:
6370         API: Added new method gst_controller_unset_all()
6371         fixed gst_controller_unset()
6372         * tests/check/libs/controller.c: (GST_START_TEST),
6373         (gst_controller_suite):
6374         Added two testcases for new and fixed method
6375
6376 2006-04-11  Tim-Philipp Müller  <tim at centricular dot net>
6377
6378         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
6379           MSG_DONTWAIT is not defined on Cygwin, so work
6380           around that (fixes #317048).
6381           
6382 2006-04-11  Wim Taymans  <wim@fluendo.com>
6383
6384         * gst/gstelementfactory.c: (gst_element_register),
6385         (gst_element_factory_create), (gst_element_factory_make):
6386         Some cleanups.
6387         Fixed a FIXME.
6388         Updated docs (Fixes #131079)
6389
6390         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
6391         Small cleanups.
6392
6393         * tests/check/gst/gstelement.c: (GST_START_TEST),
6394         (gst_element_suite):
6395         Added testcase for elementfactory class field.
6396
6397 2006-04-10  Wim Taymans  <wim@fluendo.com>
6398
6399         * gst/gstsegment.c:
6400         Added some more docs.
6401
6402         * libs/gst/base/gstbasesink.c: (gst_base_sink_perform_qos),
6403         (gst_base_sink_reset_qos):
6404         Calculate more accurate rate values.
6405
6406 2006-04-09  Sebastien Moutte  <sebastien@moutte.net>
6407
6408         * gst/gst_private.h:
6409           add a new #ifdef to use __declspec(dllimport) only for
6410           other modules and not for gstreamer core
6411         * gst/gstbasesink.c: (gst_base_sink_perform_qos):
6412           use gst_guint64_to_gdouble for conversion
6413         * win32/common/libgstreamer.def:
6414           add new exported functions
6415         * win32/vs6/gst_inspect.dsp:
6416         * win32/vs6/gst_launch.dsp:
6417         * win32/vs6/libgstbase.dsp:
6418         * win32/vs6/libgstcontroller.dsp:
6419         * win32/vs6/libgstcoreelements.dsp:
6420         * win32/vs6/libgstdataprotocol.dsp:
6421         * win32/vs6/libgstnet.dsp:
6422           update project files
6423
6424 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
6425
6426         * gst/gstbuffer.c: (gst_subbuffer_class_init):
6427         * gst/gstclock.c: (gst_clock_class_init):
6428         * gst/gstelement.c: (gst_element_class_init):
6429         * gst/gstindex.c: (gst_index_class_init):
6430         * gst/gstindexfactory.c: (gst_index_factory_class_init):
6431         * gst/gstobject.c: (gst_object_class_init),
6432         (gst_signal_object_class_init):
6433         * gst/gstpad.c: (gst_pad_class_init):
6434         * gst/gstpadtemplate.c: (gst_pad_template_class_init):
6435         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init):
6436         * gst/gstregistry.c: (gst_registry_class_init):
6437         * gst/gstsystemclock.c: (gst_system_clock_class_init):
6438         * gst/gsttask.c: (gst_task_class_init):
6439         * gst/gstxml.c: (gst_xml_class_init):
6440         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
6441         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
6442         (gst_base_src_loop):
6443         * libs/gst/controller/gstcontroller.c:/
6444         (_gst_controller_class_init):
6445         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
6446         * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
6447         * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init):
6448         * tests/old/examples/plugins/example.c: (gst_example_class_init):
6449         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
6450         Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent)
6451
6452 2006-04-08  Tim-Philipp Müller  <tim at centricular dot net>
6453
6454         * gst/gstpad.c: (gst_pad_link):
6455           Must set peer pads before calling the link function, otherwise
6456           a task started from a link function might get a flow-not-linked
6457           result when trying to push because the other thread where the
6458           linking happens hasn't had a chance to set the peers yet. This
6459           might happen for example when a queue gets linked to a downstream
6460           element, as queue starts a streaming task when its source pad
6461           gets linked. Happens in real life when playing back flac/musepack
6462           files in playbin (#332390).
6463           
6464 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
6465
6466         * gst/gstindex.h:
6467         * gst/gstxml.h:
6468         * libs/gst/base/gstadapter.h:
6469         * libs/gst/base/gstbasesink.h:
6470         * libs/gst/base/gstbasesrc.h:
6471         * libs/gst/base/gstbasetransform.h:
6472         * libs/gst/base/gstcollectpads.h:
6473         * libs/gst/base/gstpushsrc.h:
6474         Fix broken GObject macros
6475
6476 2006-04-07  Wim Taymans  <wim@fluendo.com>
6477
6478         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
6479         Initialize start and stop times, thanks valgrind.
6480
6481 2006-04-07  Wim Taymans  <wim@fluendo.com>
6482
6483         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
6484         Be a bit nicer to badly behaving upstream elements that expect
6485         us to deal with non TIME segments and timestamps (such as fakesrc
6486         in the testsuite).
6487
6488 2006-04-07  Wim Taymans  <wim@fluendo.com>
6489
6490         * gst/gstbus.c:
6491         Small documentation clarification about the signal watch.
6492
6493         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
6494         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
6495         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
6496         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
6497         (gst_base_sink_get_position_last),
6498         (gst_base_sink_get_position_paused), (gst_base_sink_change_state):
6499         Convert and store timestamps in stream time and running time, the
6500         raw timestamps are not useful, also document this better.
6501         Use different window sizes for good and bad QoS observations so
6502         we react to badness a little quicker.
6503         Keep track of the amount of rendered and dropped buffers.
6504         Send QoS timestamps in running time.
6505
6506         * libs/gst/base/gstbasetransform.c:
6507         (gst_base_transform_sink_eventfunc),
6508         (gst_base_transform_handle_buffer):
6509         Compare QoS timestamps against running time.
6510
6511 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
6512
6513         * gst/gstpad.c:
6514           Typo fixes in docs.
6515
6516 2006-04-06  Michael Smith  <msmith@fluendo.com>
6517
6518         * gst/gstpad.c: (gst_pad_set_property):
6519           Use g_value_get_object() instead of g_value_dup_gst_object(),
6520           to avoid double-reffing the pad template (which we then sink,
6521           so this worked previously if (and only if) the pad template
6522           was floating.
6523
6524         * gst/gstpadtemplate.c: (gst_pad_template_init),
6525         (gst_pad_template_pad_created):
6526           Never return floating references to pad templates, create
6527           them as initially-sunken.
6528
6529           Document an extra function (and make this stop sinking our
6530           pad template, since that is now guaranteed to do nothing,
6531           since we created it sunken).
6532
6533         * gst/gstghostpad.c:
6534           Fix docs typo.
6535
6536 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
6537
6538         * gst/gstinfo.c: (__gst_in_valgrind):
6539           Add some newlines.
6540
6541         * plugins/elements/gsttypefindelement.c:
6542         (gst_type_find_element_chain):
6543           Don't leak buffer caps.
6544
6545 2006-04-06  Michael Smith  <msmith@fluendo.com>
6546
6547         * gst/parse/grammar.y:
6548           Fix a leak in parse-launch for any source-or-sink named element 
6549           references used.
6550
6551         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
6552           Unref the pipeline if it exists after we've failed parsing.
6553
6554 2006-04-05  Michael Smith  <msmith@fluendo.com>
6555
6556         * gst/gstpipeline.c: (gst_pipeline_init):
6557           When we create a pipeline bus, initially create it in flushing mode.
6558           Fixes leaks in at least one test, and makes a new pipeline work the
6559           same as one that has gone to READY and then back to NULL.
6560
6561         * gst/gstelement.c:
6562           Typo fix in docs.
6563
6564 2006-04-05  Michael Smith  <msmith@fluendo.com>
6565
6566         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
6567           Unref a pad we reffed.
6568         * tests/check/gst/gstutils.c: (GST_START_TEST):
6569           Unref bins
6570
6571 2006-04-05  Michael Smith  <msmith@fluendo.com>
6572
6573         * gst/gstquery.c: (gst_query_set_formats),
6574         (gst_query_set_formatsv):
6575           Fix leaking GValues in queries, as shown by valgrind/testsuite.
6576
6577 2006-04-05  Michael Smith  <msmith@fluendo.com>
6578
6579         * tests/check/generic/sinks.c: (GST_START_TEST):
6580           Fix a variety of memleaks in sinks check, which are only sometimes 
6581           shown by running the tests under valgrind (weird?).
6582
6583 2006-04-05  Jan Schmidt  <thaytan@mad.scientist.com>
6584
6585         * docs/version.entities.in:
6586           Fix the substituted entity name after thomas' changes on the
6587           weekend.
6588
6589 2006-04-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
6590
6591         * gst/gstinfo.c: (__gst_in_valgrind): Use printf instead of
6592         VALGRIND_PRINTF
6593         
6594 2006-04-05  Andy Wingo  <wingo@pobox.com>
6595
6596         * gst/gstpad.c (gst_pad_set_blocked_async): More debug.
6597
6598         * libs/gst/base/gstbasetransform.c
6599         (gst_base_transform_sink_eventfunc): When resetting our segment on
6600         FLUSH_STOP, also update the flag saying we haven't seen a
6601         newsegment.
6602
6603 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
6604
6605         Patch by: Paolo Borelli  <pborelli at katamail dot com>
6606
6607         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
6608         (gst_plugin_check_license):
6609           minor clean-ups: G_DEFINE_TYPE already takes care of the
6610           parent_class stuff, no need to do it twice. Mark array of
6611           license strings as constant. (#337103)
6612           
6613 2006-04-04  Michael Smith  <msmith@fluendo.com>
6614
6615         * tools/gst-inspect.c: (print_element_list):
6616           Free the right plugin list; fixes a memory leak.
6617
6618 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
6619
6620         Patch by: Mark Nauwelaerts  <manauw at skynet dot be>
6621
6622         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
6623           Don't error out on empty buffers (#336945).
6624           
6625 2006-04-04  Jan Schmidt  <thaytan@mad.scientist.com>
6626
6627         * docs/libs/gstreamer-libs-sections.txt:
6628         * gst/gsttaglist.c:
6629         * libs/gst/base/gstbasesink.c:
6630         * libs/gst/base/gstbasesink.h:
6631         * libs/gst/base/gstbasesrc.c:
6632         * libs/gst/base/gstbasesrc.h:
6633           Documentation updates. Make BaseSink and BaseSrc docs contain the
6634           class structure so that people can actually see the prototypes for
6635           virtual functions they're supposed to be overriding.
6636
6637 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
6638
6639         * plugins/elements/gsttypefindelement.c:
6640         (gst_type_find_element_chain):
6641           More debug info; when skipping typefinding, send cached
6642           events in all cases.
6643
6644 2006-04-01  Thomas Vander Stichele  <thomas at apestaart dot org>
6645
6646         * configure.ac:
6647           use new AS_VERSION and AS_NANO macros
6648         * gst/gst-i18n-lib.h:
6649         * gst/gst.c:
6650         * gst/gsterror.c:
6651         * gst/gstversion.h.in:
6652         * win32/common/config.h:
6653         * win32/common/config.h.in:
6654           update accordingly
6655
6656 2006-03-31  Michael Smith  <msmith@fluendo.com>
6657
6658         * plugins/elements/gsttypefindelement.c:
6659         (gst_type_find_element_chain):
6660           Do not typefind content if the buffers already have caps.
6661           Neccesary for icydemux (#333657), and the right thing to do anyway.
6662
6663 2006-03-30  Wim Taymans  <wim@fluendo.com>
6664
6665         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
6666         (gst_base_sink_finalize), (gst_base_sink_set_qos_enabled),
6667         (gst_base_sink_is_qos_enabled), (gst_base_sink_do_sync),
6668         (gst_base_sink_record_qos_observation),
6669         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
6670         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
6671         (gst_base_sink_change_state):
6672         More QoS measurements as described in the design doc.
6673         Get rid of ringbuffer with observations, running average is
6674         more simple and equally good.
6675         Calculates valid proportion now.
6676         Added beginning of flood measurement.
6677
6678 2006-03-29  Wim Taymans  <wim@fluendo.com>
6679
6680         * docs/design/part-qos.txt:
6681         * gst/gstclock.c:
6682         Small documentation updates and additions.
6683
6684 2006-03-29  Wim Taymans  <wim@fluendo.com>
6685
6686         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
6687         (gst_base_src_send_event), (gst_base_src_loop),
6688         (gst_base_src_change_state):
6689         Perform the EOS logic when we reach the segment stop position.
6690         Fix compilation on gcc4.1
6691
6692 2006-03-29  Wim Taymans  <wim@fluendo.com>
6693
6694         Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
6695
6696         * plugins/elements/gstqueue.c: (gst_queue_init),
6697         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
6698         (gst_queue_set_property):
6699         * plugins/elements/gstqueue.h:
6700         In queue, when EOS is received, if minimum threshold > max_size -
6701         current_level, there is chance that queue blocks forever in conditional
6702         item del wait. This is because the queue is not emptied completely due
6703         to minimum threshold.  Here is another approach. Instead of setting
6704         cur_levels to max in EOS, just zero all minimum threshold levels. This
6705         should make sure that queue gives out all data. When going to READY
6706         (stop) state, just reset the original minimum threshold levels.
6707         Fixes #336336.
6708
6709 2006-03-29  Tim-Philipp Müller  <tim at centricular dot net>
6710
6711         * plugins/elements/gsttypefindelement.c: (stop_typefinding),
6712         (gst_type_find_element_handle_event),
6713         (gst_type_find_element_send_cached_events),
6714         (gst_type_find_element_change_state):
6715         * plugins/elements/gsttypefindelement.h:
6716           When typefinding is done in push mode, we should cache
6717           events we receive during typefinding instead of just
6718           dropping them (e.g. newsegment, custom events from
6719           dvdreadsrc etc.) and then send them out once we've
6720           determined the type of the stream (and decodebin
6721           has had a chance to plug in a decoder/demuxer).
6722           
6723 2006-03-27  Wim Taymans  <wim@fluendo.com>
6724
6725         * docs/design/part-qos.txt:
6726         First QoS ideas.
6727
6728 2006-03-27  Wim Taymans  <wim@fluendo.com>
6729
6730         Inspired by a patch of: Lutz Mueller <lutz at topfrose dot de>
6731
6732         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
6733         (gst_base_src_send_event), (gst_base_src_change_state):
6734         Handle element seek correctly when we are streaming.
6735         Fixes #326998.
6736
6737 2006-03-24  Michael Smith  <msmith@fluendo.com>
6738
6739         * docs/faq/gst-uninstalled:
6740           Set up LD_LIBRARY_PATH to point at all the gstreamer libs. This will
6741           allow you to correctly run intalled applications built against old 
6742           core, using plugins that require updated core (e.g. running
6743           installed totem against a full uninstalled gstreamer stack)
6744
6745 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
6746
6747         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
6748         more debug details
6749
6750 2006-03-24  Wim Taymans  <wim@fluendo.com>
6751
6752         * docs/gst/gstreamer-sections.txt:
6753         Rearrange the order of the methods so that related methods
6754         are grouped together in sections.
6755
6756 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
6757
6758         * gst/gstelement.c:
6759           Little clarification in the docs
6760
6761 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
6762
6763         * docs/README:
6764         formatting fix
6765         * plugins/elements/gstidentity.c:
6766         * plugins/elements/gstqueue.c:
6767         * plugins/elements/gsttee.c:
6768         * plugins/elements/gsttypefindelement.c:
6769         GST_ELEMENT_DETAILS formatting
6770
6771 2006-03-24  Wim Taymans  <wim@fluendo.com>
6772
6773         * libs/gst/base/gstbasesink.h:
6774         Only add fields, not insert or we break ABI.
6775
6776 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
6777
6778         * win32/common/libgstbase.def:
6779         * win32/common/libgstreamer.def:
6780           Update, add recently added functions.
6781
6782 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
6783
6784         * docs/gst/gstreamer-sections.txt:
6785         * gst/gstutils.c: (gst_pad_query_peer_position),
6786         (gst_pad_query_peer_duration), (gst_pad_query_peer_convert):
6787         * gst/gstutils.h:
6788           API: add some new utility functions:
6789            - gst_pad_query_peer_position()
6790            - gst_pad_query_peer_duration()
6791            - gst_pad_query_peer_convert()
6792           
6793 2006-03-23  Wim Taymans  <wim@fluendo.com>
6794
6795         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
6796         (gst_base_sink_init), (gst_base_sink_finalize),
6797         (gst_base_sink_set_qos_enabled), (gst_base_sink_is_qos_enabled),
6798         (gst_base_sink_set_property), (gst_base_sink_get_property),
6799         (gst_base_sink_commit_state), (gst_base_sink_get_sync_times),
6800         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
6801         (gst_base_sink_add_qos_observation), (gst_base_sink_send_qos),
6802         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
6803         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
6804         (gst_base_sink_preroll_object), (gst_base_sink_event),
6805         (gst_base_sink_chain_unlocked), (gst_base_sink_get_position_last),
6806         (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
6807         (gst_base_sink_query), (gst_base_sink_change_state):
6808         Decouple max-lateness and the fact that QoS messages are generated
6809         with a new property (qos).
6810         added API: GstBaseSink::async_play()
6811         Add vmethod so subclasses can be notified of ASYNC playing
6812         state changes.
6813         Collect timestamp start and stop to report better current
6814         position in EOS/PLAYING/PAUSED/READY/NULL.
6815         Refactor QoS/frame dropping and other measurements.
6816         API: GstBaseSrc::qos
6817         Fixes #326311
6818
6819         * libs/gst/base/gstbasesink.h:
6820         Added Private struct.
6821         API: gst_base_sink_set_qos_enabled()
6822         API: gst_base_sink_is_qos_enabled()
6823
6824 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
6825
6826         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
6827           If compiling against GLib-2.8 or newer, try to read the
6828           registry file using GMappedFile first before falling back
6829           to fopen() + fread() (#332151).
6830
6831 2006-03-22  Wim Taymans  <wim@fluendo.com>
6832
6833         * gst/gstinfo.c: (gst_debug_set_active),
6834         (gst_debug_category_set_threshold):
6835         Disable debugging unless explicitly activated.
6836         Fixes #335480.
6837
6838 2006-03-22  Wim Taymans  <wim@fluendo.com>
6839
6840         * gst/gstelement.c: (gst_element_set_locked_state),
6841         (gst_element_dispose):
6842         Cleanup the error case.
6843
6844         * gst/gstobject.c: (gst_object_dispose):
6845         print a critical when some object was disposed with
6846         a parent, also revive the object since it might
6847         crash the parent.
6848
6849 2006-03-22  Tim-Philipp Müller  <tim at centricular dot net>
6850
6851         * tools/gst-launch.1.in:
6852           Fix another typo.
6853
6854 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
6855
6856         * configure.ac:
6857         * tests/check/Makefile.am:
6858           disable some tests when we don't have a registry
6859         * tests/check/gst/gstutils.c: (gst_utils_suite):
6860           don't build the part that needs parsing
6861
6862 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
6863
6864         * gst/Makefile.am
6865         * tests/examples/Makefile.am:
6866           fix --disable-parse build
6867
6868 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
6869
6870         * tools/gst-feedback.1.in:
6871           Fix typo: s/feeback/feedback/ (#133494).
6872
6873 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
6874
6875         * tools/Makefile.am:
6876         * tools/gst-launch.1.in:
6877           Add FILES section and correct entry about GST_REGISTRY_PATH
6878           environment variable (#133495; #133494).
6879
6880 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
6881
6882         * tools/Makefile.am:
6883         * tools/gst-md5sum.1.in:
6884         * tools/gst-md5sum.c:
6885           Remove gst-md5sum and man page (the md5sink element
6886           required was removed ages ago)
6887
6888 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
6889
6890         * gst/gststructure.c: (gst_structure_id_set_value):
6891           Make sure that string fields in structures/taglists
6892           contain valid UTF-8 - we don't want to pass rubbish to
6893           applications because of a buggy plugin (cp. #334167).
6894
6895 2006-03-21  Edward Hervey  <edward@fluendo.com>
6896
6897         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
6898         (gst_bin_handle_message_func):
6899         * gst/gstclock.c: (gst_clock_dispose), (gst_clock_set_master):
6900         * gst/gstelement.c: (gst_element_set_clock), (gst_element_dispose),
6901         (gst_element_set_bus_func):
6902         * gst/gstghostpad.c: (gst_proxy_pad_dispose):
6903         * gst/gstminiobject.c: (gst_value_set_mini_object),
6904         (gst_value_take_mini_object):
6905         * gst/gstpad.c: (gst_pad_set_pad_template):
6906         * gst/gstpipeline.c: (gst_pipeline_dispose),
6907         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
6908         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop),
6909         (gst_collect_pads_chain):
6910         * libs/gst/net/gstnettimeprovider.c:
6911         (gst_net_time_provider_set_property):
6912         Series of fixes for dereferenced pointers that gcc 4.1 complains about.
6913         It's in fact all issues with gst_*object_replace().
6914
6915 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
6916
6917         Patch by: Loïc Minier  <lool + gnome at via dot ecp dot fr>
6918         
6919         * pkgconfig/gstreamer-check-uninstalled.pc.in:
6920         * pkgconfig/gstreamer-check.pc.in:
6921           Use @CHECK_LIBS@ here instead of hard-coding -lcheck (#334109).
6922
6923 2006-03-21  Edward Hervey  <edward@fluendo.com>
6924
6925         * gst/gstbuffer.h:
6926         * gst/gstevent.h:
6927         * gst/gstmessage.h:
6928         gst_[buffer|event|message]_ref() macros are replaced by a static
6929         inline functions because gcc-4.1 will about if the return value
6930         isn't used.
6931         * tests/check/gst/gstevent.c: (event_probe):
6932         gst_event_ref now has to be given a GstEvent* , fix check accordingly.
6933
6934 2006-03-20  Jan Schmidt  <thaytan@mad.scientist.com>
6935
6936         * gst/gstutils.h:
6937         Add G_UNLIKELY to our boilerplate to optimise the 'already registered
6938         the type' case. (Closes: #335195 for now). In the future, when we
6939         depend on GLib 2.10, we could also intern the type name using
6940         g_intern_static_string()
6941
6942 2006-03-20  Wim Taymans  <wim@fluendo.com>
6943
6944         * gst/gstbin.c: (gst_bin_handle_message_func),
6945         (bin_query_max_init), (bin_query_position_fold),
6946         (bin_query_position_done), (gst_bin_query):
6947         Position query should also take max of all streams.
6948
6949 2006-03-20  Wim Taymans  <wim@fluendo.com>
6950
6951         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
6952         (gst_fake_src_finalize):
6953         Fix leaks in fakesrc.
6954
6955         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
6956         Fix leaks in the testcase.
6957
6958 2006-03-19  Sebastien Moutte  <sebastien@moutte.net>
6959
6960         * gst/gst_private.h:
6961           add win32 specific import decoration(__declspec(dllimport)) 
6962           for all extern GstDebugCategory * variables
6963         * win32/common/libgstbase.def:
6964         * win32/common/libgstcontroller.def:
6965         * win32/common/libgstreamer.def:
6966           Add some exports, remove empty lines
6967         * win32/common/libgstdataprotocol.def:
6968         * win32/common/libgstdataprotocol.dsp:
6969         * win32/common/libgstnet.def:
6970         * win32/common/libgstnet.dsp:
6971           new project files and exportation files added
6972         
6973 2006-03-19  Wim Taymans  <wim@fluendo.com>
6974
6975         * tests/check/libs/basesrc.c: (eos_event_counter):
6976         Use proper return value for probe.
6977
6978 2006-03-17  Wim Taymans  <wim@fluendo.com>
6979
6980         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
6981         (gst_pad_push):
6982         Don't leak buffers, caps and pads on negotiation errors.
6983
6984 2006-03-16  Stefan Kost  <ensonic@users.sf.net>
6985
6986         * docs/faq/cvs.xml:
6987         * docs/faq/dependencies.xml:
6988         * docs/faq/developing.xml:
6989         * docs/faq/faq.xml:
6990         * docs/faq/general.xml:
6991         * docs/faq/getting.xml:
6992         * docs/faq/legal.xml:
6993         * docs/faq/troubleshooting.xml:
6994         * docs/faq/using.xml:
6995         Faq review and update.
6996
6997 2006-03-16  Jan Schmidt  <thaytan@mad.scientist.com>
6998
6999         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
7000         (gst_pad_push):
7001         Don't pound the cpu to pieces by checking get_caps when accept_caps
7002         is called with the same caps as the pad already has.
7003         Use GST_DEBUG_OBJECT when outputting caps change information.
7004
7005 2006-03-15  Wim Taymans  <wim@fluendo.com>
7006
7007         * gst/gstclock.c: (gst_clock_class_init):
7008         Fix docs.
7009
7010 2006-03-15  Jan Schmidt  <thaytan@mad.scientist.com>
7011
7012         * gst/gstbuffer.h:
7013         Documentation fix.
7014
7015         * gst/gstpad.c: (gst_pad_init), (gst_pad_acceptcaps_default),
7016         (gst_pad_accept_caps), (gst_pad_configure_sink),
7017         (gst_pad_configure_src), (gst_pad_chain), (gst_pad_push):
7018         Make the default acceptcaps behaviour be to check the requested 
7019         caps against the gst_pad_get_caps output. 
7020
7021         Ensure that gst_pad_accept_caps is used to check caps when a pad
7022         doesn't have a setcaps function, so that pads automatically refuse 
7023         caps that they don't allow in their pad template. (Fixes #332986)
7024
7025         When a buffer with attached caps is pushed, ensure that the source 
7026         pad receives those caps even if the element didn't call
7027         gst_pad_set_caps first.
7028
7029 2006-03-15  Wim Taymans  <wim@fluendo.com>
7030
7031         * libs/gst/base/gstadapter.c:
7032         Add some docs.
7033
7034 2006-03-15  Tim-Philipp Müller  <tim at centricular dot net>
7035
7036         * win32/common/libgstbase.def:
7037         * win32/common/libgstcontroller.def:
7038         * win32/common/libgstreamer.def:
7039           Add a whole bunch of missing functions (#334434).
7040
7041 2006-03-14  Wim Taymans  <wim@fluendo.com>
7042
7043         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
7044         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
7045         (gst_base_sink_do_sync), (gst_base_sink_do_qos):
7046         Better debug info when we receive a segment event.
7047         Reorganize a bit so we can pass the get_times() results around.
7048         Use the segment format when calculating the running time.
7049         Don't do QoS is sync is disabled or we have no clock or the
7050         element does not want us to sync to the clock.
7051         Don't drop buffers if QoS is disabled for now.
7052
7053 2006-03-14  Wim Taymans  <wim@fluendo.com>
7054
7055         * gst/gstclock.c: (gst_clock_class_init), (do_linear_regression):
7056         Marked the stats property as unimplemented so people don't get
7057         wild ideas.
7058         Add debug message when regression goes wrong.
7059         Added some more docs.
7060
7061 2006-03-14  Wim Taymans  <wim@fluendo.com>
7062
7063         * gst/gstsegment.c: (gst_segment_to_stream_time):
7064         Return correct return type in case of errors.
7065
7066 2006-03-14  Wim Taymans  <wim@fluendo.com>
7067
7068         * gst/gstformat.c: (gst_format_get_name), (gst_format_to_quark):
7069           Don't segfault on invalid formats.
7070
7071 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
7072
7073         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
7074           Can't use gst_segment_to_running_time() when the segment
7075           is not in GST_TIME_FORMAT (like with filesink, for example).
7076           Stops flac encoding pipelines from spewing critical warnings
7077           at EOS (#331248).
7078           
7079 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
7080
7081         * gst/gstpipeline.c: (gst_pipeline_class_init):
7082           Add 'Since: 0.10.5' to gtk-doc blurb for added property.
7083
7084         * plugins/elements/gsttypefindelement.c:
7085         (gst_type_find_element_handle_event):
7086           Don't try to typefind empty streams.
7087
7088 2006-03-14  Wim Taymans  <wim@fluendo.com>
7089
7090         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
7091         (gst_base_sink_do_qos):
7092         Separate QoS calculation.
7093         Only drop buffers when lateness is bigger than the 
7094         duration of the buffer.
7095
7096 2006-03-13  Wim Taymans  <wim@fluendo.com>
7097
7098         * gst/gstpipeline.c: (gst_pipeline_set_property),
7099         (gst_pipeline_get_property), (do_pipeline_seek),
7100         (gst_pipeline_change_state), (gst_pipeline_set_delay),
7101         (gst_pipeline_get_delay):
7102         Don't deadlock when reading properties.
7103
7104 2006-03-13  Wim Taymans  <wim@fluendo.com>
7105
7106         * libs/gst/base/gstbasetransform.c:
7107         (gst_base_transform_class_init), (gst_base_transform_init),
7108         (gst_base_transform_sink_event),
7109         (gst_base_transform_sink_eventfunc),
7110         (gst_base_transform_src_event), (gst_base_transform_src_eventfunc),
7111         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
7112         (gst_base_transform_set_property),
7113         (gst_base_transform_get_property),
7114         (gst_base_transform_change_state), (gst_base_transform_update_qos),
7115         (gst_base_transform_set_qos_enabled),
7116         (gst_base_transform_is_qos_enabled):
7117         * libs/gst/base/gstbasetransform.h:
7118         Make basetransform virtual method for src events too.
7119         Handle QOS in basetransform.
7120         API: gst_base_transform_update_qos()
7121         API: gst_base_transform_set_qos_enabled()
7122         API: gst_base_transform_is_qos_enabled()
7123
7124 2006-03-13  Wim Taymans  <wim@fluendo.com>
7125
7126         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
7127         (gst_base_sink_do_sync):
7128         Small cleanups.
7129         Use QOS debug category.
7130
7131 2006-03-13  Wim Taymans  <wim@fluendo.com>
7132
7133         * plugins/elements/gstqueue.c:
7134         Very small doc update.
7135
7136 2006-03-13  Wim Taymans  <wim@fluendo.com>
7137
7138         * gst/gst_private.h:
7139         * gst/gstinfo.c: (_gst_debug_init):
7140         Added QOS debug category
7141
7142 2006-03-13  Wim Taymans  <wim@fluendo.com>
7143
7144         * docs/gst/gstreamer-sections.txt:
7145         * gst/gstbin.c: (bin_bus_handler), (gst_bin_handle_message_func):
7146         * gst/gstbin.h:
7147         * gst/gstbus.c: (gst_bus_class_init):
7148         * gst/gstbus.h:
7149         * gst/gstclock.c:
7150         * gst/gstelement.c: (gst_element_set_locked_state):
7151         * gst/gstsegment.c:
7152         Documentation updates.
7153
7154         * gst/gstpipeline.c: (gst_pipeline_get_type),
7155         (gst_pipeline_class_init), (gst_pipeline_init),
7156         (gst_pipeline_dispose), (gst_pipeline_set_property),
7157         (gst_pipeline_get_property), (do_pipeline_seek),
7158         (gst_pipeline_send_event), (gst_pipeline_change_state),
7159         (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay),
7160         (gst_pipeline_get_delay):
7161         * gst/gstpipeline.h:
7162         Added methods for setting the delay.
7163         API: gst_pipeline_set_delay()
7164         API: gst_pipeline_get_delay()
7165         Add pipeline debug category
7166         Various cleanups.
7167         Updated docs.
7168         Don't reset stream time when seek failed.
7169
7170 2006-03-13  Wim Taymans  <wim@fluendo.com>
7171
7172         * docs/design/draft-klass.txt:
7173         * docs/design/part-clocks.txt:
7174         * docs/design/part-events.txt:
7175         * docs/design/part-gstbin.txt:
7176         * docs/design/part-gstpipeline.txt:
7177         * docs/design/part-messages.txt:
7178         * docs/design/part-negotiation.txt:
7179         * docs/design/part-overview.txt:
7180         * docs/design/part-preroll.txt:
7181         * docs/design/part-seeking.txt:
7182         * docs/design/part-states.txt:
7183         * docs/design/part-streams.txt:
7184         Documentation updates.
7185
7186 2006-03-12  Julien MOUTTE  <julien@moutte.net>
7187
7188         * gst/gsttaglist.c: Fix rubbish docs that are encouraging
7189         us to leak strings...
7190
7191 2006-03-12  Thomas Vander Stichele  <thomas at apestaart dot org>
7192
7193         * libs/gst/net/gstnettimeprovider.c:
7194           fix docs
7195         * win32/common/config.h:
7196           update
7197
7198 2006-03-12  Tim-Philipp Müller  <tim at centricular dot net>
7199
7200         Patch by: Julio M. Merino Vidal <jmmv at netbsd org>
7201
7202         * configure.ac:
7203           Don't check for libgnomeui (leftover from old examples
7204           that aren't built or disted any longer) (#334303).
7205           
7206 2006-03-11  Tim-Philipp Müller  <tim at centricular dot net>
7207
7208         * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
7209         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
7210           Emit RESOURCE_NO_SPACE_LEFT error here as well when
7211           there's no space left on the device.
7212
7213 2006-03-10  Tim-Philipp Müller  <tim at centricular dot net>
7214
7215         * gst/gstclock.h:
7216           Fix GST_CLOCK_TIME_IS_VALID signedness issues - we need
7217           to cast the input to GstClockTime before comparing with
7218           another GstClockTime value.
7219
7220 2006-03-10  Thomas Vander Stichele  <thomas at apestaart dot org>
7221
7222         * configure.ac:
7223           back to trunk
7224
7225 === release 0.10.4 ===
7226
7227 2006-03-10  Thomas Vander Stichele <thomas at apestaart dot org>
7228
7229         * configure.ac:
7230           releasing 0.10.4, "Light"
7231
7232 2006-03-10  Michael Smith  <msmith@fluendo.com>
7233
7234         * libs/gst/dataprotocol/dataprotocol.c:
7235           Fix docs for dataprocotol to not get the return types completely
7236           wrong for a few functions.
7237
7238 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
7239
7240         * docs/gst/gstreamer-sections.txt:
7241         * gst/gstpipeline.c: (gst_pipeline_class_init),
7242         (gst_pipeline_init), (gst_pipeline_set_property),
7243         (gst_pipeline_get_property), (gst_pipeline_change_state),
7244         (gst_pipeline_set_auto_flush_bus),
7245         (gst_pipeline_get_auto_flush_bus):
7246         * gst/gstpipeline.h:
7247           Add new API: gst_pipeline_set_auto_flush_bus() and
7248           gst_pipeline_get_auto_flush_bus() to disable automatic
7249           flushing of the pipeline's GstBus when going from READY
7250           to NULL state (#332045).
7251
7252 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
7253
7254         * docs/gst/gstreamer-sections.txt:
7255         * gst/gsturi.c: (gst_uri_has_protocol):
7256         * gst/gsturi.h:
7257            Add new API: gst_uri_has_protocol() (#333779).
7258
7259 2006-03-09  Wim Taymans  <wim@fluendo.com>
7260
7261         * gst/gstclock.c: (gst_clock_entry_new),
7262         (gst_clock_id_compare_func), (gst_clock_id_wait),
7263         (gst_clock_id_wait_async), (gst_clock_id_unschedule),
7264         (gst_clock_init), (gst_clock_get_internal_time),
7265         (gst_clock_set_master), (do_linear_regression),
7266         (gst_clock_add_observation), (gst_clock_set_property):
7267         * gst/gstclock.h:
7268         Review docs.
7269         Small cleanups.
7270         Fix a possible segfault when the window-size is made smaller.
7271         Calculate jitter before performing the clock wait. Ideally
7272         the clock implementation should calculate jitter but we need
7273         API breakage for that.
7274
7275         * gst/gstsystemclock.c: (gst_system_clock_init):
7276         Docs review.
7277         
7278         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
7279         Remove leftover else
7280
7281         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
7282         (gst_systemclock_suite):
7283         Added check to test GST_CLOCK_DIFF.
7284
7285 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
7286
7287         * libs/gst/base/gsttypefindhelper.c: (helper_find_get_length),
7288         (gst_type_find_helper_get_range):
7289           If we are provided with the size, we should implement
7290           GstTypeFind::get_length, so that typefind functions who
7291           want to can actually peek at the middle of a file.
7292
7293 2006-03-08  Tim-Philipp Müller  <tim at centricular dot net>
7294
7295         * docs/manual/advanced-dataaccess.xml:
7296           Add some very very basic error checking.
7297
7298         * docs/pwg/appendix-checklist.xml:
7299           Some updates to the list of things to check when writing an element.
7300
7301 2006-03-08  Wim Taymans  <wim@fluendo.com>
7302
7303         * docs/design/part-element-transform.txt:
7304         Added some docs about the design of tranform elements.
7305
7306         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
7307         (gst_base_src_loop), (gst_base_src_change_state):
7308         Mark buffers with the DISCONT flag.
7309
7310 2006-03-08  Michael Smith  <msmith@fluendo.com>
7311
7312         * gst/gstregistry.h:
7313         * gst/gstregistryxml.c: (gst_registry_save),
7314         (gst_registry_save_escaped), (gst_registry_xml_save_caps),
7315         (gst_registry_xml_save_pad_template),
7316         (gst_registry_xml_save_feature), (gst_registry_xml_save_plugin),
7317         (gst_registry_xml_write_cache):
7318           Rewrite registry-saving to avoid race conditions and check for
7319           failed writes.
7320
7321 2006-03-08  Wim Taymans  <wim@fluendo.com>
7322
7323         * libs/gst/base/gstbasetransform.c:
7324         (gst_base_transform_transform_caps),
7325         (gst_base_transform_transform_size),
7326         (gst_base_transform_prepare_output_buffer),
7327         (gst_base_transform_get_unit_size),
7328         (gst_base_transform_buffer_alloc),
7329         (gst_base_transform_handle_buffer),
7330         (gst_base_transform_change_state):
7331         Cleanups, separate normal flow from errors, add sensible
7332         DEBUG lines.
7333         Don't try to renegotiate when allocating an output buffer.
7334         Also copy DISCONT buffer flag when copying a buffer.
7335         Reset the transform after we finish streaming, not during.
7336
7337 2006-03-08  Wim Taymans  <wim@fluendo.com>
7338
7339         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
7340         Use last buffer timestamp in qos message.
7341
7342 2006-03-07  Wim Taymans  <wim@fluendo.com>
7343
7344         Patch by: Christophe Fergeau
7345
7346         * docs/pwg/advanced-tagging.xml:
7347         * docs/pwg/building-pads.xml:
7348           fixes #333416
7349
7350 2006-03-07  Wim Taymans  <wim@fluendo.com>
7351
7352         * docs/libs/gstreamer-libs-sections.txt:
7353         Added basesink new methods.
7354
7355         * gst/gstevent.c:
7356         * gst/gstevent.h:
7357         Docs updates. Flesh out the QoS docs.
7358
7359         * libs/gst/base/gstadapter.c:
7360         Small doc clarification about ownership and flushing.
7361
7362         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_sync),
7363         (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
7364         (gst_base_sink_get_max_lateness), (gst_base_sink_set_property),
7365         (gst_base_sink_get_property), (gst_base_sink_do_sync):
7366         * libs/gst/base/gstbasesink.h:
7367         API additions: 
7368         Added new methods to allow subclass to control max-lateness 
7369         and sync.
7370         Generate very basic QoS events based on last sync observation.
7371         Updated docs, fix typo, added some QoS blurb.
7372
7373         * libs/gst/base/gstbasesrc.c:
7374         Remove obsolete _get_state() calls from docs.
7375
7376 2006-03-07  Wim Taymans  <wim@fluendo.com>
7377
7378         * docs/libs/gstreamer-libs-sections.txt:
7379         * libs/gst/base/gstbasetransform.h:
7380         API addition: Fix #333669, Add pad accessor defines for GstBaseTransform
7381         Fix docs for GstBaseSrc.
7382
7383 2006-03-07  Wim Taymans  <wim@fluendo.com>
7384
7385         * docs/gst/gstreamer-sections.txt:
7386         * gst/gstbuffer.h:
7387         * gst/gstvalue.c:
7388         * libs/gst/base/gstbasetransform.h:
7389         Small documentation fixes.
7390
7391 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
7392
7393         * gst/gstvalue.c:
7394           Document thread-unsafety of gst_value_register_foo_func()
7395           when used at the same time as gst_value_foo() (#322628).
7396
7397 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
7398
7399         * libs/gst/base/gstpushsrc.c: (gst_push_src_class_init),
7400         (gst_push_src_check_get_range):
7401           Push sources don't support pull mode by default.
7402
7403 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
7404
7405         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
7406         (gst_base_src_init), (gst_base_src_pad_check_get_range),
7407         (gst_base_src_default_check_get_range):
7408         * libs/gst/base/gstbasesrc.h:
7409           API addition:  Add ::check_get_range() vfunc to GstBaseSrc (#332611),
7410           provide default implementation, and rename
7411           gst_base_src_check_get_range() to
7412           gst_base_src_pad_check_get_range() for clarity.
7413
7414 2006-03-06  Wim Taymans  <wim@fluendo.com>
7415
7416         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
7417         Make property overridable.
7418
7419 2006-03-06  Wim Taymans  <wim@fluendo.com>
7420
7421         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
7422         (gst_base_sink_init), (gst_base_sink_set_property),
7423         (gst_base_sink_get_property), (gst_base_sink_do_sync):
7424         * libs/gst/base/gstbasesink.h:
7425         API addition: Make max-lateness a property.
7426
7427 2006-03-06  Wim Taymans  <wim@fluendo.com>
7428
7429         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock),
7430         (gst_base_sink_do_sync), (gst_base_sink_render_object):
7431         Don't ever draw a frame that is >10ms late.
7432
7433 2006-03-06  Michael Smith  <msmith@fluendo.com>
7434
7435         * gst/gstmessage.c: (_gst_message_copy):
7436           When copying a message, set the parent_refcount of the enclosed
7437           structure to point at the copy, not the original message.
7438
7439 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
7440
7441         Patch by: Christophe Fergeau
7442
7443         * gst/gstutils.h:
7444           Do proper cast here to make GST_BOILERPLATE_WITH_INTERFACE
7445           usable in c++ code (#333417)
7446
7447 2006-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7448
7449         * gst/gstclock.h:
7450           Show GST_CLOCK_TIME_NONE as 99:99:99.999999999
7451
7452 2006-03-05  Tim-Philipp Müller  <tim at centricular dot net>
7453
7454         * libs/gst/base/gstbasetransform.c:
7455         (gst_base_transform_transform_caps):
7456           Make sure caps are writable before passing them to
7457           gst_caps_append().
7458
7459 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
7460
7461         * gst/gsterror.h:
7462           Fix some minor docs errors.
7463
7464 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
7465
7466           Patch by: Ross Burton <ross at burtonini dot com>
7467
7468         * gst/gsterror.c: (_gst_resource_errors_init):
7469         * gst/gsterror.h:
7470           Add GST_RESOURCE_ERROR_NO_SPACE_LEFT (for #333352;
7471
7472 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
7473
7474         * gst/gst.c:
7475         Add a check and output a g_warning when GStreamer is built
7476         against GLib 2.6 but running against 2.8 or higher, and vice 
7477         versa. (Closes: #323542)
7478
7479 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
7480
7481         * gst/parse/parse.l:
7482           Commit patch for parse_launch syntax from #331255. Removes 
7483           support for quoted strings and mimetypes when writing filtered 
7484           caps. See the bug report for more details - I'm pretty sure this
7485           obscure feature is not in use by _anyone_ anywhere.
7486
7487           With this simple change, the size of the gstreamer.so here 
7488           drops from 2193KB to 1565KB.
7489
7490 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
7491
7492         * plugins/elements/gsttypefindelement.h:
7493         * plugins/elements/gsttypefindelement.c:
7494         (gst_type_find_element_src_event), (start_typefinding),
7495         (stop_typefinding), (gst_type_find_element_handle_event),
7496         (gst_type_find_element_chain),
7497         (gst_type_find_element_chain_do_typefinding):
7498           Use gst_type_find_helper_for_buffer() for chain-based
7499           typefinding.
7500
7501 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
7502
7503         * plugins/elements/gsttypefindelement.c:
7504         (gst_type_find_element_class_init),
7505         (gst_type_find_element_set_property),
7506         (gst_type_find_element_get_property):
7507           Deprecate "maximum" property (not only was it only taken into
7508           account for typefinding in push-mode anyway, it also was never
7509           actually possible to set it in the first place because the
7510           property was registered with the numeric property ID for the
7511           "minimum" property). Register "maximum" property correctly,
7512           for the sake of future copy'n'pasters. Remove some cruft
7513           from property get/set functions.
7514
7515 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
7516
7517         * plugins/elements/gsttypefindelement.c:
7518         (gst_type_find_element_activate):
7519           Use gst_type_find_helper_get_range() here, so we
7520           can honour the "minimum" property and also emit
7521           the signal with the correct probability of the found caps.
7522
7523 2006-03-02  Tim-Philipp Müller  <tim at centricular dot net>
7524
7525         * docs/libs/gstreamer-libs-sections.txt:
7526         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
7527         (helper_find_suggest), (gst_type_find_helper_get_range),
7528         (gst_type_find_helper):
7529         * libs/gst/base/gsttypefindhelper.h:
7530           New API: gst_type_find_helper_get_range() (#333042).
7531
7532 2006-03-02  Michael Smith  <msmith@fluendo.com>
7533
7534         * gst/gstregistryxml.c: (load_feature):
7535           Asserting on a failure to read part of the registry is Not Cool.
7536           Just log a warning and return NULL (which is already handled)
7537
7538 2006-02-28  Sebastien Moutte  <sebastien@moutte.net>
7539
7540         * win32/common/libgstbase.def:
7541           added export of gst_type_find_helper_for_buffer
7542         * win32/common/libgstbase.def:
7543           added some exports : gst_bin_iterate_elements, gst_iterator_resync,
7544           gst_ghost_pad_get_target
7545
7546 2006-02-28  Wim Taymans  <wim@fluendo.com>
7547
7548         * docs/design/draft-klass.txt:
7549         We use Filter now.
7550         Added Connector to mark elements that are only used to
7551         allow pipeline connections.
7552         Moved Debug to extra feature since most of them are 
7553         functionally something else.
7554
7555 2006-02-28  Wim Taymans  <wim@fluendo.com>
7556
7557         * docs/design/draft-klass.txt:
7558         Some updates and clarifications.
7559
7560 2006-02-28  Wim Taymans  <wim@fluendo.com>
7561
7562         * docs/design/draft-klass.txt:
7563         Proposal for klass field values.
7564
7565         * docs/design/part-streams.txt:
7566         Start of a doc describing stream anatomy.
7567
7568 2006-02-28  Wim Taymans  <wim@fluendo.com>
7569
7570         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_handle_message_func):
7571         Help the compiler a bit with type registration.
7572         Use existing forward cod path instead of duplicating it when 
7573         handling a message.
7574         
7575         * gst/gstbus.c: (gst_bus_get_type):
7576         * gst/gstcaps.c: (gst_caps_get_type), (gst_static_caps_get_type):
7577         * gst/gstchildproxy.c: (gst_child_proxy_get_type):
7578         * gst/gstclock.c: (gst_clock_get_type):
7579         * gst/gstelement.c: (gst_element_get_type),
7580         * gst/gstelementfactory.c: (gst_element_factory_get_type):
7581         * gst/gstindexfactory.c: (gst_index_factory_get_type):
7582         * gst/gstminiobject.c: (gst_mini_object_get_type):
7583         * gst/gstpad.c: (gst_pad_get_type):
7584         * gst/gstsegment.c: (gst_segment_get_type):
7585         * gst/gststructure.c: (gst_structure_get_type):
7586         * gst/gstsystemclock.c: (gst_system_clock_get_type):
7587         * gst/gsttask.c: (gst_task_get_type), (gst_task_join):
7588         * gst/gstvalue.c:
7589         Help compiler with type registration.
7590
7591         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
7592         Small doc update.
7593
7594 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
7595
7596         * plugins/elements/gsttypefindelement.c:
7597         (gst_type_find_element_handle_event):
7598           When we get an EOS event and have not found a type yet
7599           (most likely because we had not yet accumulated
7600           TYPE_FIND_MIN_SIZE of data yet), try to determine the
7601           type given the data we have so far. Fixes typefinding
7602           for very short streams again, most notably quicktime
7603           redirections as used on Apple's trailer site (#331701).
7604
7605 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
7606
7607         * libs/gst/base/gsttypefindhelper.c: (type_find_factory_rank_cmp),
7608         (gst_type_find_helper):
7609           Try typefinding factories with the highest rank first.
7610
7611 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
7612
7613         * docs/libs/gstreamer-libs-docs.sgml:
7614         * docs/libs/gstreamer-libs-sections.txt:
7615         * libs/gst/base/gsttypefindhelper.c:
7616           Add section for typefind helper and add documentation
7617           for the old and the new function.
7618
7619 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
7620
7621         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek),
7622         (buf_helper_find_suggest), (type_find_factory_rank_cmp),
7623         (gst_type_find_helper_for_buffer):
7624         * libs/gst/base/gsttypefindhelper.h:
7625           New API: gst_type_find_helper_for_buffer() (#332723).
7626           
7627 2006-02-27  Michael Smith  <msmith@fluendo.com>
7628
7629         Patch by: Loïc Minier
7630
7631         * configure.ac:
7632         * docs/Makefile.am:
7633         * docs/slides/Makefile.am:
7634           prevent CVS directories getting disted.
7635
7636 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
7637
7638         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref):
7639           Use the REFCOUNTING category for caps refcounting.
7640           
7641 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
7642
7643         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
7644           This should be 0 not GST_CLOCK_TIME_NONE (see #331701).
7645
7646 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
7647
7648         * plugins/elements/gsttypefindelement.c:
7649         (gst_type_find_element_activate):
7650           Use gst_pad_check_pull_range() before _activate_pull()
7651           to avoid unnecessary open/close (see #331690).
7652
7653 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
7654
7655         * gst/gstutils.c:
7656           Docs enhancement: make it crystal clear what the
7657           gst_pad_add_*_probe() callbacks should look like.
7658
7659 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
7660
7661         * libs/gst/base/gstbasesrc.c:
7662           Document how applications can stop recording from
7663           live sources (see #330996).
7664
7665 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
7666
7667         * tests/check/Makefile.am:
7668         * tests/check/libs/basesrc.c: (eos_event_counter),
7669         (basesrc_eos_events_pull), (basesrc_eos_events_push),
7670         (basesrc_eos_events_push_live_op), (basesrc_eos_events_pull_live_op),
7671         (gst_basesrc_suite), (main):
7672           ... and add some tests for the base source EOS stuff.
7673
7674 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
7675
7676         * tests/check/gst/gstutils.c: (test_buffer_probe_n_times):
7677           Test case originally showed the problem fixed below,
7678           but was then amended. Add checks back at the place
7679           where they used to be.
7680
7681 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
7682
7683         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
7684         (gst_base_src_init), (gst_base_src_loop),
7685         (gst_base_src_activate_push), (gst_base_src_activate_pull),
7686         (gst_base_src_change_state):
7687         * libs/gst/base/gstbasesrc.h:
7688           Don't unconditionally send EOS when going from PAUSED to
7689           READY state, esp. make sure we don't send two EOS events
7690           in some cases (e.g. one when reaching EOS and one when
7691           going from PAUSED to READY). Also, we don't want to send
7692           EOS events when operating in pull mode. However, we do
7693           want to send an EOS event when shutting down a live
7694           source explicitly, for example (fixes #330996).
7695           
7696 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
7697
7698         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
7699           Update src->read_position after a seek when not using mmap.
7700           Fixes #332277, patch by: Renchi Raju <renchi gmail com>
7701
7702 2006-02-21  Jan Schmidt  <thaytan@mad.scientist.com>
7703
7704         * gst/Makefile.am:
7705         * gst/gstparse.h:
7706         * gst/gstutils.c:
7707         * gst/gstutils.h:
7708         Make things work with --disable-parse as they do with 
7709         --disable-load-save - the symbols involved disappear, but the
7710         header is still installed and GST_DISABLE_PARSE is included via
7711         gstconfig.h
7712
7713 2006-02-20  Julien MOUTTE  <julien@moutte.net>
7714
7715         * libs/gst/base/gstbasetransform.c:
7716         (gst_base_transform_change_state): Fix a stupid bug. I was 
7717         sure I compiled that.
7718
7719 2006-02-20  Julien MOUTTE  <julien@moutte.net>
7720
7721         * gst/gstpad.c: (gst_pad_set_blocked_async):
7722         * gst/gstutils.c: (gst_pad_add_data_probe),
7723         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
7724         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
7725         (gst_pad_remove_buffer_probe): Make those function act on the
7726         ghostpad target when it's a ghostpad. (Closes #331727)
7727
7728 2006-02-20  Julien MOUTTE  <julien@moutte.net>
7729
7730         * libs/gst/base/gstbasetransform.c:
7731         (gst_base_transform_change_state): Make basetransform reusable.
7732         (Closes #331898)
7733
7734 2006-02-20  Jan Schmidt  <thaytan@mad.scientist.com>
7735
7736         * docs/random/release:
7737         Move the current documentation of how to do a release to the top
7738         of the file.
7739
7740         * gst/gstbin.c: (gst_bin_class_init),
7741         (gst_bin_handle_message_func):
7742         Allow multiple state-recalculation threads. (Closes #328873)
7743
7744 2006-02-19  Julien MOUTTE  <julien@moutte.net>
7745
7746         * gst/gstinfo.h: Add GST_STR_NULL to the second string.
7747         * gst/gstpad.c: (gst_pad_set_event_function),
7748         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
7749         (gst_pad_set_getcaps_function): GST_DEBUG_PAD_NAME evaluates to
7750         2 strings. You can't use the STR_NULL macro on that.
7751
7752 2006-02-19  Sebastien Moutte <sebastien@moutte.net>
7753
7754         * gst/gstpad.c: (gst_pad_set_event_function),
7755         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
7756         (gst_pad_set_getcaps_function)
7757         * gst/parse/grammar.y: (gst_parse_found_pad), (gst_parse_perform_delayed_link)
7758           Fixed NULL pointer used in GST_CAT_DEBUG using GST_STR_NULL macro
7759           So now, we can use --gst-debug-level=5 on Windows
7760         * win32/common/libgstcontroller.def:
7761           Added export of gst_controller_init
7762         * win32/vs6/libgstcontroller.dsp:
7763           Fixed Release post build configuration
7764
7765 2006-02-17  Wim Taymans  <wim@fluendo.com>
7766
7767         * tests/check/gst/gstquery.c: (GST_START_TEST):
7768         Added another check.
7769
7770 2006-02-15  Tim-Philipp Müller  <tim at centricular dot net>
7771
7772         * plugins/elements/gsttypefindelement.c: (find_peek):
7773           We can do peeks at non-zero offsets, as long as they
7774           fall within the buffer we have.
7775
7776 2006-02-15  Jan Schmidt  <thaytan@mad.scientist.com>
7777
7778         * tests/check/Makefile.am:
7779         * tests/check/pipelines/parse-launch.c: (setup_pipeline),
7780         (expected_fail_pipe), (check_pipeline_runs), (GST_START_TEST),
7781         (parse_suite), (main):
7782           Add testsuite for parse launch syntax
7783
7784 2006-02-14  Tim-Philipp Müller  <tim at centricular dot net>
7785
7786         * plugins/elements/gsttypefindelement.c:
7787         (gst_type_find_element_chain):
7788           When typefinding is unsuccessful in the chain function, don't
7789           error out immediately. Only error out with NO_CAPS_FOUND if
7790           the amount of data is at least MAX_TYPEFIND_SIZE bytes,
7791           otherwise simply wait for more data so we can try typefinding
7792           again with more data later. Also, don't attempt to typefind
7793           if we have less than MIN_TYPEFIND_SIZE data available. Overall,
7794           this should improve typefinding from network sources where the
7795           size of the first buffer can be somewhat random.
7796
7797 2006-02-14  Wim Taymans  <wim@fluendo.com>
7798
7799         * docs/gst/gstreamer-sections.txt:
7800         * gst/gstpadtemplate.c:
7801         * gst/gstpadtemplate.h:
7802         Fix padtemplate docs, fixes #328805.
7803
7804 2006-02-14  Wim Taymans  <wim@fluendo.com>
7805
7806         * tools/gst-launch.c: (main):
7807         NO_PREROLL is not an ERROR so don't send confusing messages
7808         to the user.
7809
7810 2006-02-14  Wim Taymans  <wim@fluendo.com>
7811
7812         Patch by: Torsten Schoenfeld
7813
7814         * gst/gstregistry.c: (gst_registry_get_default),
7815         (_gst_registry_cleanup):
7816         Protect default registry with lock and ref/sink it.
7817         Fixes #324818
7818
7819 2006-02-14  Wim Taymans  <wim@fluendo.com>
7820
7821         * gst/gstbuffer.c:
7822         * gst/gstquery.c: (gst_query_list_add_format),
7823         (gst_query_set_formatsv), (gst_query_parse_formats_length),
7824         (gst_query_parse_formats_nth):
7825         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
7826         Docs fixes.
7827
7828 2006-02-14  Wim Taymans  <wim@fluendo.com>
7829
7830         * docs/gst/gstreamer-sections.txt:
7831         Reworked query docs.
7832
7833         * gst/gstquery.c: (gst_query_new_formats),
7834         (gst_query_list_add_format), (gst_query_set_formats),
7835         (gst_query_set_formatsv), (gst_query_parse_formats_length),
7836         (gst_query_parse_formats_nth):
7837         * gst/gstquery.h:
7838         Flesh out formats query, added some new methods.
7839         Fix part of #324398.
7840
7841         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite):
7842         Added query creation tests.
7843
7844 2006-02-14  Jan Schmidt  <thaytan@mad.scientist.com>
7845
7846         * gst/gstpad.c: (fixate_value):
7847         Add a default fixation for fraction lists.
7848
7849 2006-02-13  Wim Taymans  <wim@fluendo.com>
7850
7851         * gst/gsttask.c: (gst_task_init), (gst_task_func),
7852         (gst_task_set_lock), (gst_task_start), (gst_task_pause),
7853         (gst_task_join):
7854         * gst/gsttask.h:
7855         Detect and warn for obvious deadlocks. fixes #320340
7856         Fix error case where lock was not released.
7857
7858         * tests/check/Makefile.am:
7859         * tests/check/gst/gsttask.c: (task_func2), (GST_START_TEST),
7860         (task_func), (gst_element_suite), (main):
7861         Add task check.
7862
7863 2006-02-13  Wim Taymans  <wim@fluendo.com>
7864
7865         * docs/gst/gstreamer-sections.txt:
7866         * gst/gstbus.c:
7867         Add new functions to docs.
7868
7869 2006-02-13  Wim Taymans  <wim@fluendo.com>
7870
7871         * docs/design/part-TODO.txt:
7872         Updated TODO list, basesrc supports seeking to non-bytes
7873         formats.
7874
7875         * docs/design/part-element-sink.txt:
7876         Update docs.
7877
7878         * gst/gstbin.c: (bin_replace_message),
7879         (gst_bin_handle_message_func):
7880         * gst/gstbus.c: (gst_bus_post), (gst_bus_pop):
7881         * gst/gstevent.c: (gst_event_finalize):
7882         * gst/gstpad.c: (gst_pad_event_default_dispatch),
7883         (gst_pad_send_event):
7884         Use shiny new _TYPE_NAME macros.
7885
7886         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
7887         Move debug statement up.
7888
7889         * gst/gstelement.c: (gst_element_set_locked_state):
7890         Add some debugging.
7891
7892 2006-02-13  Tim-Philipp Müller  <tim at centricular dot net>
7893
7894         * docs/gst/gstreamer-sections.txt:
7895         * gst/gstmessage.h:
7896         * gst/gstquery.h:
7897           New API: add GST_MESSAGE_TYPE_NAME and GST_QUERY_TYPE_NAME
7898           macros (#330906). Also, document the already existing
7899           GST_QUERY_TYPE macro.
7900
7901 2006-02-13  Wim Taymans  <wim@fluendo.com>
7902
7903         * tests/check/gst/gstutils.c: (data_probe), (buffer_probe),
7904         (event_probe), (GST_START_TEST):
7905         Only events up to the pipeline EOS are counted, there are
7906         some more when going to NULL currently which we don't care
7907         about for now.
7908
7909 2006-02-13  Wim Taymans  <wim@fluendo.com>
7910
7911         * gst/gstpad.c: (gst_pad_send_event):
7912         Correctly check flushing and emit probes. fixes #330125
7913
7914 2006-02-10  Andy Wingo  <wingo@pobox.com>
7915
7916         * gst/gstbus.c (gst_bus_class_init): Declare our private data
7917         structure.
7918         (gst_bus_init): Cache the location of the private data in the
7919         instance structure.
7920         (gst_bus_enable_sync_message_emission) 
7921         (gst_bus_disable_sync_message_emission): Implement new public
7922         functions.
7923         (gst_bus_post): Emit the sync-message signal if the user asked for
7924         it. Fixes #330684.
7925
7926         * gst/gstbus.h (GstBus): Use a padding pointer to cache the
7927         location of the bus-private structure.
7928         (gst_bus_enable_sync_message_emission)
7929         (gst_bus_disable_sync_message_emission): API addition
7930
7931 2006-02-10  Jan Schmidt  <thaytan@mad.scientist.com>
7932
7933         Patch by: Vincent Torri
7934
7935         * docs/pwg/building-boiler.xml:
7936         PWG patch from #326800
7937
7938 2006-02-09  Tim-Philipp Müller  <tim at centricular dot net>
7939
7940         * configure.ac:
7941         * docs/Makefile.am:
7942         * docs/design/Makefile.am:
7943           Dist design docs.
7944
7945 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
7946
7947         * configure.ac:
7948           back to CVS
7949
7950 === release 0.10.3 ===
7951
7952 2006-02-08  Jan Schmidt <thaytan@mad.scientist.com>
7953
7954         * configure.ac:
7955           releasing 0.10.3, "Like a virgin"
7956
7957 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
7958
7959         * configure.ac:
7960           2nd prerelease of 0.10.3
7961           Bump libtool versioning.
7962
7963 2006-02-07  Andy Wingo  <wingo@pobox.com>
7964
7965         * libs/gst/base/gstcollectpads.c (gst_collect_pads_chain): Only
7966         update last_stop if we're in TIME format and the timestamp is
7967         valid.
7968
7969         * libs/gst/base/gstcollectpads.c (gst_collect_pads_event) 
7970         * libs/gst/base/gstbasetransform.c (gst_base_transform_eventfunc): 
7971         * libs/gst/base/gstbasesink.c (gst_base_sink_configure_segment):
7972         If we get a new newsegment with a different format, adapt
7973         accordingly.
7974
7975         * gst/gstclock.c (gst_clock_set_calibration): Accept a numerator
7976         of 0. Not a problem, really.
7977
7978         * libs/gst/base/gstbasesink.c (gst_base_sink_chain_unlocked): Only
7979         warn if sync=true.
7980
7981 2006-02-06  Jan Schmidt  <thaytan@mad.scientist.com>
7982
7983         * configure.ac:
7984           Prelease of 0.10.3
7985
7986 2006-02-06  Sebastien Moutte  <sebastien@moutte.net>
7987
7988         * win32/vs7:
7989           project files updated to the default vs7 configuration
7990         * win32/common/libgstbase.def:
7991         * win32/common/libgstreamer.def:
7992           added new symbols,
7993           removed empty lines,
7994           sorted all exported symbols alphabetically
7995         * win32/common/dirent.c:
7996         * win32/common/dirent.h:
7997         * win32/common/gchar.h:
7998           use windows line end.
7999           
8000 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
8001
8002         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
8003           Send EOS event when stopping.
8004
8005 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
8006
8007         * docs/README:
8008           Tell folks what to do if the plugin-foobar.xml file
8009           hasn't been generated for a newly-added plugin.
8010
8011 2006-02-05  Julien MOUTTE  <julien@moutte.net>
8012
8013         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
8014         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
8015         (gst_collect_pads_start), (gst_collect_pads_stop),
8016         (gst_collect_pads_event): Collectpads now holds a reference
8017         to the GstPad that was added. Indeed we don't want to look
8018         at pads that might just go away with no warning...
8019
8020 2006-02-05  Julien MOUTTE  <julien@moutte.net>
8021
8022         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
8023         (gst_collect_pads_start), (gst_collect_pads_stop),
8024         (gst_collect_pads_event), (gst_collect_pads_chain):
8025         * libs/gst/base/gstcollectpads.h: Handle flush. Adapted from
8026         Mark Nauwelaerts's patch on bug #328491.
8027
8028 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
8029
8030         * tests/check/gst/gstutils.c: (test_parse_bin_from_description),
8031         (gst_utils_suite):
8032           Add some simple tests for gst_parse_bin_from_description() and
8033           gst_bin_find_unconnected_pad() (#329069).
8034
8035 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
8036
8037         * tools/gst-launch.c: (event_loop), (main):
8038           Catch errors during preroll (#320084).
8039
8040 2006-02-03  Tim-Philipp Müller  <tim at centricular dot net>
8041
8042         * plugins/elements/gsttypefindelement.c:
8043         (gst_type_find_element_activate):
8044           Post TYPE_NOT_FOUND error message when typefinding
8045           is unsuccessful in the activate function as well.
8046
8047 2006-02-02  Wim Taymans  <wim@fluendo.com>
8048
8049         * docs/design/part-element-sink.txt:
8050         Updated doc.
8051
8052 2006-02-02  Wim Taymans  <wim@fluendo.com>
8053
8054         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
8055         (gst_base_sink_render_object),
8056         (gst_base_sink_queue_object_unlocked):
8057         Only keep track of prerollable items when we are 
8058         prerolling.
8059         Before rendering after preroll, always check if we
8060         have queued items.
8061         Added some more debugging.
8062
8063 2006-02-02  Wim Taymans  <wim@fluendo.com>
8064
8065         * gst/gstelement.c: (gst_element_continue_state),
8066         (gst_element_set_state_func), (gst_element_change_state):
8067         Fixed #326576, been running this for quite some time with
8068         no regressions at all.
8069
8070 2006-02-02  Wim Taymans  <wim@fluendo.com>
8071
8072         * common/gst.supp:
8073         Added more suppressions
8074
8075 2006-02-02  Wim Taymans  <wim@fluendo.com>
8076
8077         * docs/design/part-element-sink.txt:
8078         Updated document.
8079
8080         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
8081         (gst_base_sink_finalize), (gst_base_sink_preroll_queue_flush),
8082         (gst_base_sink_configure_segment), (gst_base_sink_commit_state),
8083         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
8084         (gst_base_sink_do_sync), (gst_base_sink_render_object),
8085         (gst_base_sink_preroll_object),
8086         (gst_base_sink_queue_object_unlocked),
8087         (gst_base_sink_queue_object), (gst_base_sink_event),
8088         (gst_base_sink_chain_unlocked), (gst_base_sink_chain),
8089         (gst_base_sink_loop), (gst_base_sink_activate_pull),
8090         (gst_base_sink_get_position), (gst_base_sink_change_state):
8091         * libs/gst/base/gstbasesink.h:
8092         Totally refactored matching the design doc.
8093         Use two segments, one to clip incomming buffers and another to
8094         perform sync.
8095         Handle queueing correctly, bypass the queue when playing.
8096         Make EOS cancelable.
8097         Handle errors correctly when operating in pull based mode.
8098
8099         * tests/check/elements/fakesink.c: (GST_START_TEST),
8100         (fakesink_suite):
8101         Added new check for sinks.
8102
8103 2006-02-02  Wim Taymans  <wim@fluendo.com>
8104
8105         * gst/gstsegment.c: (gst_segment_clip):
8106         No reason to refuse to clip when start == -1
8107
8108 2006-02-02  Stefan Kost  <ensonic@users.sf.net>
8109
8110         * docs/README:
8111         * docs/manual/intro-basics.xml:
8112         * docs/manual/intro-preface.xml:
8113         * docs/manual/manual.xml:
8114         * docs/pwg/advanced-dparams.xml:
8115         * docs/pwg/intro-basics.xml:
8116         * docs/pwg/intro-preface.xml:
8117         * docs/pwg/pwg.xml:
8118           describe dparams (controller) for plugins
8119           unify docs a little more
8120
8121 2006-02-02  Tim-Philipp Müller  <tim at centricular dot net>
8122
8123         * docs/gst/gstreamer-sections.txt:
8124         * gst/gstutils.c: (element_find_unconnected_pad),
8125         (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description):
8126         * gst/gstutils.h:
8127           Add new API: gst_parse_bin_from_description() and
8128           gst_bin_find_unconnected_pad() (#329069).
8129
8130 2006-02-01  Stefan Kost  <ensonic@users.sf.net>
8131
8132         * docs/manual/README:
8133           uncover a nasty detail of the docs build
8134
8135 2006-01-31  Wim Taymans  <wim@fluendo.com>
8136
8137         * gst/gstbin.c: (bin_remove_messages), (bin_query_duration_done):
8138         Don't cache duration messages if we're not going to use or
8139         free them.
8140
8141 2006-01-31  Stefan Kost  <ensonic@users.sf.net>
8142
8143         * docs/manual/advanced-dparams.xml:
8144         * docs/pwg/advanced-dparams.xml:
8145           more dparam docs
8146         * gst/gstindex.c:
8147           fix docs
8148         * libs/gst/controller/lib.c: (gst_controller_init):
8149           init just once
8150
8151 2006-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
8152
8153         * gst/gstelement.c: (gst_element_message_full):
8154           also show file/line/func if no additional debug was given
8155
8156 2006-01-31  Sebastien Moutte  <sebastien@moutte.net>
8157         
8158         * win32/vs7/grammar.vcproj:
8159           activate copy of autogenerated files for Release mode
8160
8161 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
8162         
8163         * win32/common/libgstreamer.def:
8164           export gst_value_compare
8165
8166 2006-01-30  Jan Schmidt  <thaytan@mad.scientist.com>
8167
8168         * plugins/elements/Makefile.am:
8169         * plugins/elements/gstelements.c:
8170         * plugins/elements/gstfdsink.c: (_do_init),
8171         (gst_fd_sink_base_init), (gst_fd_sink_class_init),
8172         (gst_fd_sink_init), (gst_fd_sink_dispose), (gst_fd_sink_query),
8173         (gst_fd_sink_render), (gst_fd_sink_check_fd), (gst_fd_sink_start),
8174         (gst_fd_sink_stop), (gst_fd_sink_unlock), (gst_fd_sink_update_fd),
8175         (gst_fd_sink_set_property), (gst_fd_sink_uri_get_type),
8176         (gst_fd_sink_uri_get_protocols), (gst_fd_sink_uri_get_uri),
8177         (gst_fd_sink_uri_set_uri), (gst_fd_sink_uri_handler_init):
8178         * plugins/elements/gstfdsink.h:
8179         Port fdsink to 0.10 (patch by Philippe Rouquier) (Fixes #325490)
8180
8181 2006-01-30  Stefan Kost  <ensonic@users.sf.net>
8182
8183         * docs/manual/advanced-dparams.xml:
8184           describe controller
8185         * docs/manual/advanced-position.xml:
8186         * docs/manual/basics-init.xml:
8187         * docs/manual/manual.xml:
8188         * docs/manual/titlepage.xml:
8189         * docs/pwg/pwg.xml:
8190         * docs/pwg/titlepage.xml:
8191           cleanup xml (more to come)
8192         * libs/gst/controller/gstcontroller.c:
8193           fix typo
8194
8195 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
8196         
8197         * win32/vs6/grammar.dsp:
8198           add autogen of gstmarshal.c,h for Release mode
8199                 
8200 2006-01-30  Wim Taymans  <wim@fluendo.com>
8201
8202         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
8203         (gst_base_sink_preroll_queue_empty), (gst_base_sink_commit_state),
8204         (gst_base_sink_handle_object), (gst_base_sink_event),
8205         (gst_base_sink_is_prerolled), (gst_base_sink_wait),
8206         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
8207         (gst_base_sink_handle_buffer), (gst_base_sink_set_flushing),
8208         (gst_base_sink_deactivate), (gst_base_sink_activate),
8209         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
8210         (gst_base_sink_query), (gst_base_sink_change_state):
8211         Basesink cleanups, remove some old code.
8212         Handle the case where a subclass can preroll in the render
8213         method (mostly audiosinks).
8214         Handle more events.
8215         Remove some locks around variables that are now protected
8216         with the PREROLL_LOCK (clock_id, flushing, ..).
8217         Optimize position query some more, do correct locking.
8218         Remove old code to push queue in state change, this is not
8219         needed anymore since preroll blocks on all prerollable items 
8220         now.
8221         Almost implemented as described in design doc.
8222
8223 2006-01-30  Wim Taymans  <wim@fluendo.com>
8224
8225         * tests/check/gst/gstbin.c: (GST_START_TEST):
8226         Wait for refcount to settle down before checking.
8227
8228 2006-01-30  Wim Taymans  <wim@fluendo.com>
8229
8230         * docs/design/part-element-sink.txt:
8231         Pseudo code overview of desired sink behaviour regarding
8232         preroll.
8233
8234 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
8235         * win32/vs6/grammar.dsp:
8236           fix some bugs in Release mode for autogenerated files
8237                 
8238 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
8239         * win32/common/libgstbase.def:
8240         * win32/common/libgstreamer.def:
8241           export some new symbols: gst_base_src_set_format,
8242           gst_iterator_next, gst_structure_set_valist
8243
8244 2006-01-29  Julien MOUTTE  <julien@moutte.net>
8245
8246         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
8247         Set pad functions unconditionally. Fixes #329105.
8248
8249 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
8250         * win32/vs8:
8251           add vs8 project files created by Sergey Scobich
8252
8253 2006-01-28  Jan Schmidt  <thaytan@mad.scientist.com>
8254
8255         * gst/gstutils.c: (gst_element_unlink_pads):
8256         Don't leak pad references.
8257
8258         * tests/check/elements/fakesink.c: (GST_START_TEST):
8259         * tests/check/generic/sinks.c: (GST_START_TEST):
8260         * tests/check/generic/states.c: (GST_START_TEST):
8261         * tests/check/gst/gstbin.c: (GST_START_TEST):
8262         * tests/check/gst/gstcaps.c: (GST_START_TEST):
8263         * tests/check/gst/gstelement.c: (GST_START_TEST):
8264         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
8265         * tests/check/gst/gstiterator.c: (GST_START_TEST):
8266         * tests/check/gst/gstvalue.c: (GST_START_TEST):
8267         Fix a bunch of leaks. Make generic/sinks.c
8268         use a bit less cpu by slowing the buffer rate
8269         between fakesrc and fakesink.
8270         
8271 2006-01-27  Stefan Kost  <ensonic@users.sf.net>
8272         * gst/gstcaps.c:
8273         * gst/gstelement.c: (gst_element_send_event):
8274         * gst/gstevent.c:
8275         * gst/gstinfo.c:
8276         * gst/gstiterator.c:
8277         * gst/gstiterator.h:
8278         * gst/gstpad.c: (gst_pad_send_event):
8279         * gst/gststructure.c:
8280         * gst/gsturi.c:
8281         * gst/gstutils.c:
8282         * gst/gstvalue.c:
8283         * libs/gst/base/gstadapter.c:
8284           doc fixes, to link to function, just write gst_cool_function(), don't
8285           prefix with '#'
8286
8287 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
8288
8289         * plugins/elements/gsttee.c: (gst_tee_do_push),
8290         (gst_tee_handle_buffer):
8291         Always prefer an actual return value from a src
8292         pad in place of NOT_LINKED. This means we return
8293         WRONG_STATE when all src pads are WRONG_STATE
8294         instead of NOT_LINKED.
8295
8296         Lock when replacing the last message to prevent
8297         racing with the get_property method.
8298
8299         Add debug output
8300
8301 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
8302
8303         * tests/check/Makefile.am:
8304         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite),
8305         (main):
8306         Add a very simple check that should have caught the memleak I fixed
8307         last night (if not for the slice allocator hiding it)
8308
8309 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
8310
8311         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
8312         (gst_bin_remove_func), (gst_bin_handle_message_func),
8313         (bin_query_duration_fold), (bin_query_generic_fold):
8314         Clean up references to the clock provider when disposed or when
8315         handling a clock-lost message from it.
8316
8317         Unref sinks when performing a query via gst_iterator_fold, as the
8318         gst_bin_iterate_sinks iterator refs each item. (Fixes #323874)
8319
8320         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_dispose),
8321         (gst_clock_set_master):
8322         Drop our reference to the master clock, if any, when we are disposed.
8323
8324         * gst/gsttypefindfactory.c: (gst_type_find_factory_dispose):
8325         Chain up in dispose. 
8326
8327 2006-01-26  Wim Taymans  <wim@fluendo.com>
8328
8329         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
8330         Add some debugging.
8331
8332 2006-01-26  Julien MOUTTE  <julien@moutte.net>
8333
8334         * plugins/elements/gsttee.c: (gst_tee_do_push),
8335         (gst_tee_handle_buffer): Apply patch from #328715. Tee now
8336         handles pad being NOT_LINKED or in WRONG_STATE.
8337
8338 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
8339
8340         * win32/MANIFEST:
8341           more updating
8342
8343 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
8344
8345         * win32/MANIFEST:
8346           remove obsolete entry
8347
8348 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
8349
8350         * docs/gst/gstreamer-sections.txt:
8351         * gst/gstbin.c: (bin_element_is_src), (src_iterator_filter),
8352         (gst_bin_iterate_sources), (gst_bin_send_event):
8353         * gst/gstbin.h:
8354         * gst/gstelement.c: (gst_element_send_event):
8355         * gst/gstevent.c:
8356         * gst/gstpad.c: (gst_pad_send_event):
8357           added code for downstream events, reviewed docs in gstevent.c
8358
8359 2006-01-25  Julien MOUTTE  <julien@moutte.net>
8360
8361         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
8362         We only query position using the clock in the playing state.
8363         Query peer in the other cases.
8364         * win32/common/config.h: Updates.
8365
8366 2006-01-24  Wim Taymans  <wim@fluendo.com>
8367
8368         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
8369         A clock entry that is scheduled for the exact time of the
8370         clock is still in time.
8371
8372         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8373         (gst_base_sink_do_sync):
8374         Add some more debug info.
8375
8376 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
8377
8378         * win32/vs7:
8379           Add new vs7 project files and solution.
8380
8381 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
8382
8383         * win32/vs7:
8384           all files removed as they were out-dated.
8385
8386 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8387
8388         * docs/random/release:
8389           update notes
8390         * gst/gstbin.c: (gst_bin_init):
8391         * gst/gstbus.c: (gst_bus_new):
8392         * gst/gstbus.h:
8393         * gst/gstpipeline.c: (gst_pipeline_init):
8394           use gst_bus_new(), improve logging, fix docs
8395         * win32/common/config.h:
8396           update for cvs build
8397
8398 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8399
8400         * autogen.sh:
8401           up required version of automake to 1.7
8402
8403 2006-01-20  Sebastien Moutte  <sebastien@moutte.net>
8404
8405         * win32/common/libgstreamer.def:
8406           export gst_buffer_is_metadata_writable
8407
8408 2006-01-20  Tim-Philipp Müller  <tim at centricular dot net>
8409
8410         * docs/gst/gstreamer-sections.txt:
8411         * gst/gstevent.h:
8412           Add gst_event_replace() (#327001)
8413
8414 2006-01-20  Wim Taymans  <wim@fluendo.com>
8415
8416         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
8417         Make it actually compile too..
8418
8419 2006-01-20  Wim Taymans  <wim@fluendo.com>
8420
8421         * gst/gstcaps.c:
8422         Clarify behaviour of _is_equal() when passing NULL parameters.
8423
8424         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
8425         (gst_pad_set_caps):
8426         Cleanups. Don't unref NULL caps.
8427         When setting the same caps, protect caps of the pad with
8428         proper lock.
8429         Use full functionality of _is_equal() when comparing caps.
8430
8431 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
8432
8433         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
8434         Don't loop infinitely if there are no buffers to present. Partially
8435         fixes #327197, but collectpads is just broken for reusing elements
8436         to do multiple encodes atm.
8437
8438 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
8439
8440         * tools/gst-inspect.c: (print_element_features):
8441         * tools/gst-xmlinspect.c: (main):
8442         URL_HANDLER is not a plugin feature we can search for in
8443         the registry.
8444
8445 2006-01-19  Edward Hervey  <edward@fluendo.com>
8446
8447         * gst/gstelement.c: (gst_element_pads_activate): 
8448         When activating, do src pads first, then sink pads.
8449         When de-activating, do sink pads first, then src pads.
8450
8451 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
8452
8453         * docs/gst/gstreamer-sections.txt:
8454         Add gst_index_add_associationv to the docs
8455
8456 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
8457
8458         * gst/gstevent.c:
8459           Fix docs typo
8460
8461         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event),
8462         (gst_queue_chain), (gst_queue_push_one), (gst_queue_loop):
8463           Do some refactoring. Doesn't actually change functionality,
8464           but makes landing the DRAIN event easier later.
8465
8466 2006-01-19  Tim-Philipp Müller  <tim at centricular dot net>
8467
8468         * docs/pwg/advanced-scheduling.xml:
8469           Update from 0.9.x to 0.10 API and make example a bit
8470           clearer.
8471
8472 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
8473
8474         * docs/gst/gstreamer-sections.txt:
8475         Add gst_buffer_(is|make)_metadata_writable methods.
8476
8477 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
8478
8479         * docs/design/part-sparsestreams.txt:
8480         Update sparse streams doc, hopefully for greater clarity
8481
8482 2006-01-18  Jan Schmidt  <thaytan@mad.scientist.com>
8483
8484         * docs/design/part-events.txt:
8485         Remove mention of FILLER events.
8486         Add DRAIN event.
8487
8488         * docs/design/part-sparsestreams.txt:
8489         Write some things about using NEWSEGMENT to keep sparse streams
8490         flowing.
8491
8492 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
8493
8494         * gst/gstbin.c: (gst_bin_dispose):
8495           Guard gst_object_unref call against a NULL object (dispose
8496           can theoretically be called multiple times).
8497           
8498 2006-01-18  Wim Taymans  <wim@fluendo.com>
8499
8500         * gst/gstbin.c: (gst_bin_element_set_state):
8501         * gst/gstclock.c: (gst_clock_id_wait):
8502         Added some more debug info.
8503
8504         * libs/gst/base/gstadapter.c:
8505         Added more docs.
8506
8507         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8508         (gst_base_sink_do_sync), (gst_base_sink_chain):
8509         Added some comments.
8510
8511 2006-01-18  Wim Taymans  <wim@fluendo.com>
8512
8513         * tests/check/Makefile.am:
8514         * tests/check/elements/fakesink.c: (chain_async_buffer),
8515         (chain_async), (chain_async_return), (GST_START_TEST),
8516         (fakesink_suite), (main):
8517         Added fakesink test that checks prerolling and clipping
8518         behaviour.
8519
8520         * tests/check/gst/gstutils.c: (GST_START_TEST):
8521         Make check run faster so that buildbots don't timeout.
8522
8523 2006-01-18  Wim Taymans  <wim@fluendo.com>
8524
8525         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8526         (gst_base_sink_do_sync):
8527         Some cleanups.
8528         When the sink finishes blocking on the preroll buffer, it can
8529         immediatly render it instead of rendering when the next buffer
8530         arrives.
8531
8532 2006-01-18  Wim Taymans  <wim@fluendo.com>
8533
8534         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_property),
8535         (gst_base_sink_get_property), (gst_base_sink_do_sync),
8536         (gst_base_sink_chain):
8537         Small cleanups.
8538         GST_ELEMENT_CLOCK and sync are protected with LOCK.
8539         Don't store _last_stop if the buffer is dropped.
8540
8541 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
8542
8543         * plugins/elements/gsttypefindelement.c:
8544         (gst_type_find_element_class_init):
8545           'have-type' signal needs to be G_SIGNAL_RUN_FIRST, as it is the
8546           object method handler that sets the caps on the pad and we want
8547           that to happen before we emit the signal (fixes e.g. feeding a
8548           plain text file to decodebin).
8549
8550 2006-01-18  Christian Schaller  <Christian@fluendo.com>
8551
8552         * gst/gstplugin.c: Add MPL and Proprietary as license options
8553
8554 2006-01-18  Andy Wingo  <wingo@pobox.com>
8555
8556         * gst/gstindex.h (gst_index_add_associationv): Add to header. The
8557         symbol was exported before, it appears this was just an oversight.
8558         Fixes #168703.
8559         Patch by: Torsten Schoenfeld <kaffeetisch at gmx.de>
8560
8561         * gst/gstindex.c (gst_index_add_associationv): Changed int in
8562         prototype to gint. OK since this prototype was not in the header.
8563
8564 2006-01-17  Andy Wingo  <wingo@pobox.com>
8565
8566         * gst/gstregistry.c (_gst_registry_remove_cache_plugins): Lock the
8567         registry while we remove plugins.
8568
8569         * tools/gst-inspect.c (print_element_info): Don't unref the
8570         factory arg, that should be the responsibility of whatever code
8571         received the ref. Fixes a double-free when called from
8572         print_element_list via gst-inspect-0.10 -a. Fixes #327324.
8573         (main): Unref the factory if we have one.
8574         (print_element_list): No change -- relies on the
8575         plugin_feature_list_free to free the list of features.
8576
8577 2006-01-17  Jan Schmidt  <thaytan@mad.scientist.com>
8578
8579         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
8580         (gst_buffer_make_metadata_writable):
8581         * gst/gstbuffer.h:
8582         * libs/gst/base/gstbasetransform.c:
8583         (gst_base_transform_prepare_output_buf):
8584         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
8585         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
8586           Replace gst_buffer_(make|is)_metadata_writable patch now
8587           that the release is out.
8588
8589 2006-01-17  Andy Wingo  <wingo@pobox.com>
8590
8591         * gst/gstregistry.c: Reflow design comment. Update so as to speak
8592         in the present tense without reference to versions.
8593
8594         * gst/gstregistry.c (gst_registry_add_plugin)
8595         (gst_registry_remove_plugin, gst_registry_remove_feature)
8596         (gst_registry_find_feature, gst_registry_get_feature_list)
8597         (gst_registry_get_plugin_list, gst_registry_lookup_feature)
8598         (gst_registry_lookup, gst_registry_scan_path)
8599         (_gst_registry_remove_cache_plugins)
8600         (gst_registry_get_feature_list_by_plugin): Add argument
8601         validation.
8602
8603 === release 0.10.2 ===
8604
8605 2006-01-16  Thomas Vander Stichele <thomas at apestaart dot org>
8606
8607         * configure.ac:
8608           releasing 0.10.2, "If man is five"
8609
8610 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
8611
8612         * gst/gstbuffer.c:
8613         * gst/gstbuffer.h:
8614         * libs/gst/base/gstbasetransform.c:
8615         (gst_base_transform_prepare_output_buf):
8616         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
8617         * tests/check/gst/gstbuffer.c: (gst_test_suite):
8618           Back out patch until after the release.
8619
8620 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
8621
8622         * gst/gstminiobject.c:
8623           Spelling fix in docs.
8624         * ChangeLog - remove conflict indicator
8625
8626 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
8627
8628         Reviewed By: Andy Wingo
8629
8630         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
8631         (gst_buffer_make_metadata_writable):
8632         * gst/gstbuffer.h:
8633           Add gst_buffer_(is|make)_metadata_writable as analogues of
8634           gst_buffer_(is|make)_writable.
8635
8636         * libs/gst/base/gstbasetransform.c:
8637         (gst_base_transform_prepare_output_buf):
8638         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
8639           Use name gst_buffer_(is|make)_metadata_writable functions.
8640
8641         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
8642           Test gst_buffer_(is|make)_metadata_writable
8643         
8644           (Closes: #324162)
8645
8646 2006-01-14  Thomas Vander Stichele  <thomas at apestaart dot org>
8647
8648         * docs/manual/Makefile.am:
8649           don't do parallel make
8650         * configure.ac:
8651           AC_SUBST HOST_CPU
8652         * win32/common/config.h.in:
8653           add generations for HOST_CPU and GST_MAJORMINOR
8654         * win32/common/config.h:
8655           commit generated result
8656
8657 2006-01-13  Tim-Philipp Müller  <tim at centricular dot net>
8658
8659         * docs/manual/appendix-integration.xml:
8660           Update GNOME integration section to use gst_init_get_option_group()
8661           instead of the old popt stuff (#322911). Also, GNOME applications
8662           should  now use gconf*sink and gconf*src instead of the old gconf
8663           helper lib we had.
8664
8665 2006-01-13  Stefan Kost  <ensonic@users.sf.net>
8666
8667
8668         * docs/gst/gstreamer-docs.sgml:
8669         * docs/gst/gstreamer-sections.txt:
8670         * docs/libs/gstreamer-libs-sections.txt:
8671           add new API entries to the docs
8672         * libs/gst/controller/Makefile.am:
8673         * libs/gst/controller/gstcontroller.c:
8674         * libs/gst/controller/gstcontroller.h:
8675         * libs/gst/controller/gstcontrollerprivate.h:
8676         * libs/gst/controller/gsthelper.c:
8677         * libs/gst/controller/gstinterpolation.c:
8678           move private structs to private header
8679         * po/README:
8680           gstreamer-0.7 -> gstreamer-0.10
8681         * tests/check/libs/struct_i386.h:
8682           remove private structs
8683
8684 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
8685
8686         * plugins/indexers/Makefile.am:
8687           Fixes as part of #317048
8688
8689 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
8690
8691         * plugins/indexers/Makefile.am:
8692           fix #316086 - compilation when mmap is missing
8693
8694 2006-01-12  Sebastien Moutte  <sebastien@moutte.net>
8695
8696         * libs/gst/base/gstbasesink.c:
8697           *cur = (now - base) * basesink->segment.abs_rate + time; replaced by 
8698           *cur = gst_guint64_to_gdouble(now - base) * basesink->segment.abs_rate + time; for vs6
8699         * win32/common/config.h:
8700           added some defines GST_MAJORMINOR and HOST_CPU
8701         * win32/common/libgstbase.def:
8702         * win32/common/libgstreamer.def:
8703           added some exported functions.
8704
8705 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
8706
8707         * libs/gst/controller/gstcontroller.c:
8708         (gst_controlled_property_set_interpolation_mode),
8709         (gst_controlled_property_new):
8710         * libs/gst/controller/gstcontroller.h:
8711         * libs/gst/controller/gstinterpolation.c:
8712         (interpolate_none_get_string_value_array):
8713           make G_TYPE_STRING controlable
8714
8715 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
8716
8717         * tools/README:
8718         * tools/gst-feedback.1.in:
8719         * tools/gst-inspect.1.in:
8720         * tools/gst-launch.1.in:
8721         * tools/gst-md5sum.1.in:
8722         * tools/gst-typefind.1.in:
8723         * tools/gst-xmlinspect.1.in:
8724         * tools/gst-xmllaunch.1.in:
8725           cleanup man-pages, remove reference to gst-register, document env-vars
8726
8727 2006-01-12  Jan Schmidt  <thaytan@mad.scientist.com>
8728
8729         * gst/gstbuffer.c: (gst_buffer_span):
8730           gst_buffer_span should copy the timestamp of the first buffer
8731           if they were both originally overlapping subbuffers of the 
8732           same parent, using the same logic as the 'slow copy' case.
8733
8734 2006-01-11  Jan Schmidt  <thaytan@mad.scientist.com>
8735
8736         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop):
8737           Need to awaken ALL the pads when we pop a buffer, otherwise
8738           collectpads only works when there is 2 input streams.
8739
8740 2006-01-11  Stefan Kost  <ensonic@users.sf.net>
8741
8742         * docs/random/ensonic/media-device-daemon.txt:
8743           more ideas (dbus)
8744         * gst/gstbuffer.c:
8745           fix doc example, add clarification
8746         * tools/gst-launch.1.in:
8747           add initial info about GST_PLUGIN_PATH, needs more work
8748
8749 2006-01-11  Tim-Philipp Müller  <tim at centricular dot net>
8750
8751         * docs/manual/basics-bins.xml:
8752         * docs/manual/basics-elements.xml:
8753         * docs/manual/intro-basics.xml:
8754           Some more minor docs additions and updates.
8755
8756 2006-01-11  Wim Taymans  <wim@fluendo.com>
8757
8758         * docs/manual/basics-bins.xml:
8759         * docs/manual/basics-elements.xml:
8760         Some small fixes as pointed out by Ser-ver on IRC.
8761
8762 2006-01-10  Edward Hervey  <edward@fluendo.com>
8763
8764         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
8765         Set the buffer offset/offset_end to GST_CLOCK_TIME_NONE when using
8766         the single-segment mode.
8767
8768 2006-01-10  Brian Cameron  <brian dot cameron at sun dot com>
8769
8770         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
8771
8772         * libs/gst/base/gstbasesrc.c: (gst_base_src_init),
8773         (gst_base_src_perform_seek), (gst_base_src_send_event),
8774         (gst_base_src_set_property), (gst_base_src_get_property),
8775         (gst_base_src_loop), (gst_base_src_start),
8776         (gst_base_src_activate_push):
8777         * libs/gst/base/gstbasesrc.h:
8778           Name (private) union; makes Sun's Forte compiler happy (#324900).
8779
8780 2006-01-09  Tim-Philipp Müller  <tim at centricular dot net>
8781
8782         * README:
8783           gst-register is gone.
8784
8785 2006-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
8786
8787         * gst/gstvalue.c: (_gst_value_initialize):
8788           make the G_TYPE_DATE instantiation work if debug is disabled
8789
8790 2006-01-06  Tim-Philipp Müller  <tim at centricular dot net>
8791
8792         * gst/gstmessage.c: (gst_message_parse_tag),
8793         (gst_message_parse_error), (gst_message_parse_warning):
8794           Don't crash when return location for error/warning debug
8795           string is NULL; add fact that return locations can be
8796           NULL to docs where appropriate.
8797
8798 2006-01-05  Wim Taymans  <wim@fluendo.com>
8799
8800         * gst/gstplugin.c: (gst_plugin_load_file):
8801         Replace strdup by g_strdup.
8802
8803 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
8804
8805         * docs/pwg/advanced-types.xml:
8806           fix doc borkage
8807
8808 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
8809
8810         submitted by: Abel Cheung
8811
8812         * po/LINGUAS:
8813         * po/zh_TW.po:
8814           Added Chinese (traditional) translation
8815
8816 2006-01-04  Wim Taymans  <wim@fluendo.com>
8817
8818         * docs/manual/basics-pads.xml:
8819         * docs/plugins/Makefile.am:
8820         * docs/plugins/gstreamer-plugins-docs.sgml:
8821         * docs/plugins/gstreamer-plugins-sections.txt:
8822         * docs/pwg/advanced-clock.xml:
8823         * docs/pwg/advanced-scheduling.xml:
8824         * docs/pwg/advanced-types.xml:
8825         * plugins/elements/gstfdsink.c:
8826         * plugins/elements/gstfdsrc.c:
8827         * plugins/elements/gstfdsrc.h:
8828         * plugins/elements/gstidentity.c: (gst_identity_class_init):
8829         * plugins/elements/gstidentity.h:
8830         * plugins/elements/gstqueue.h:
8831         * plugins/elements/gsttee.c:
8832         * plugins/elements/gsttee.h:
8833         * plugins/elements/gsttypefindelement.c:
8834         (gst_type_find_element_class_init):
8835         * plugins/elements/gsttypefindelement.h:
8836         Small updates to various docs.
8837         Added core plugins to docs.
8838
8839 2006-01-03  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8840
8841         * common/gst.supp:
8842           add a suppression for liboil's uninitialized variable
8843
8844 2006-01-02  James Livingston  <jrl at ids dot org dot au>
8845
8846         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
8847
8848         * gst/gstutils.h:
8849           Add prototype for _get_type() function to GST_BOILERPLATE_FULL
8850           macro, so that gcc doesn't complain if the -Wmissing-prototypes
8851           compiler switch is being used (#325429).
8852
8853 2005-12-29  Tim-Philipp Müller  <tim at centricular dot net>
8854
8855         * gst/gstbin.c: (gst_bin_query):
8856           Disable duration query caching in bins until it gets
8857           fixed (see #324807).
8858
8859 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
8860
8861         * tools/gst-inspect.c: (print_element_properties_info):
8862           Handle properties of POINTER and BOXED type.
8863
8864 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
8865
8866         * gst/gst.c: (init_post):
8867           Init tags stuff and some other things before loading
8868           any static plugins (there may be other static plugins
8869           than just the GStreamer ones, and they may want to
8870           register their own tags or formats or whatever, and
8871           preferably without segfaulting).
8872
8873         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
8874           Print at least a warning in the debug logs if we drop a
8875           query just because we don't know how to adjust the value
8876           in the particular format.
8877
8878 2005-12-24  David Schleef  <ds@schleef.org>
8879
8880         * tools/gstreamer-completion:
8881           Replacement for gst-complete written in sh and sed.  Only
8882           completes names of features, but that's 90% of what I want
8883           it for.  Properties are not available in registry.xml.  (Maybe
8884           they should be...)
8885
8886 === release 0.10.1 ===
8887
8888 2005-12-23  Thomas Vander Stichele <thomas at apestaart dot org>
8889
8890         * configure.ac:
8891           releasing 0.10.1, "Nollaig chridheil"
8892
8893 2005-12-22  Tim-Philipp Müller  <tim at centricular dot net>
8894
8895         * docs/faq/cvs.xml:
8896           Add missing quote, should be make ERROR_CFLAGS="".
8897
8898 2005-12-20  Wim Taymans  <wim@fluendo.com>
8899
8900         * docs/design/part-trickmodes.txt:
8901         More documentation on trickmodes.
8902
8903 2005-12-20  Edward Hervey  <edward@fluendo.com>
8904
8905         * gst/gstcaps.c: (gst_static_caps_get_type):
8906         * gst/gstcaps.h:
8907           API addition: GST_TYPE_STATIC_CAPS
8908         Added gpointer GType for GstStaticCaps so we can wrap them in bindings.
8909         * gst/gstpadtemplate.c: (gst_static_pad_template_get_type):
8910         * gst/gstpadtemplate.h:
8911           API addition: GST_TYPE_STATIC_PAD_TEMPLATE
8912         Added gpointer GType for GstStaticPadTemplate so we can wrap them in
8913         bindings.
8914
8915 2005-12-18  Wim Taymans  <wim@fluendo.com>
8916
8917         * libs/gst/base/gstadapter.c:
8918         * libs/gst/base/gstadapter.h:
8919         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
8920         (gst_base_sink_get_position):
8921         * libs/gst/base/gstbasesink.h:
8922         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
8923         (gst_base_src_default_query), (gst_base_src_default_do_seek),
8924         (gst_base_src_do_seek), (gst_base_src_perform_seek),
8925         (gst_base_src_send_event), (gst_base_src_update_length),
8926         (gst_base_src_get_range), (gst_base_src_loop),
8927         (gst_base_src_start):
8928         * libs/gst/base/gstbasesrc.h:
8929         * libs/gst/base/gstbasetransform.h:
8930         * libs/gst/base/gstcollectpads.h:
8931         * libs/gst/base/gstpushsrc.c:
8932         * libs/gst/base/gstpushsrc.h:
8933         * libs/gst/dataprotocol/dataprotocol.c:
8934         * libs/gst/dataprotocol/dataprotocol.h:
8935         * libs/gst/net/gstnetclientclock.h:
8936         * libs/gst/net/gstnettimeprovider.h:
8937         Documentation updates.
8938
8939 2005-12-18  Tim-Philipp Müller  <tim at centricular dot net>
8940
8941         * docs/manual/basics-helloworld.xml:
8942           Remove superfluous closing bracket in helloworld example.
8943
8944 2005-12-17  Tim-Philipp Müller  <tim at centricular dot net>
8945
8946         * tools/gst-launch.1.in:
8947           Update gst-launch man page; add a section with useful
8948           environment variables. Fixes #323882.
8949
8950 2005-12-16  Stefan Kost  <ensonic@users.sf.net>
8951
8952         * gst/gst.c:
8953         * gst/gst_private.h:
8954           change some char* into char[]
8955
8956 2005-12-16  Wim Taymans  <wim@fluendo.com>
8957
8958         * gst/gstregistryxml.c: (load_feature):
8959         Cleanups.
8960         Don't use g_object_unref on GstObjects so that we avoid
8961         leaks on unsafe glibs.
8962
8963 2005-12-16  Wim Taymans  <wim@fluendo.com>
8964
8965         * gst/gstbin.c: (gst_bin_recalc_state):
8966         Small doc updates.
8967
8968 2005-12-16  Wim Taymans  <wim@fluendo.com>
8969
8970         * common/check.mak:
8971         Added make forever target for check.
8972
8973 2005-12-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8974
8975         * gst/gst.c: (init_post):
8976           make the registry cache file HOST_CPU-dependent
8977
8978 2005-12-16  Andy Wingo  <wingo@pobox.com>
8979
8980         * plugins/elements/gstbufferstore.c
8981         (gst_buffer_store_cleared_func): Pay attention to g_list_append
8982         return value.
8983
8984         * tests/check/gst/gstobject.c
8985         (test_fake_object_name_threaded_unique): Pay attention to
8986         g_list_sort return value.
8987
8988 2005-12-16  Tim-Philipp Müller  <tim at centricular dot net>
8989
8990         * tools/gst-feedback-m.m:
8991           Update for 0.9/0.10 (fixes #323870).
8992
8993 2005-12-15  Tim-Philipp Müller  <tim at centricular dot net>
8994
8995         * gst/gstminiobject.c: (gst_value_mini_object_lcopy):
8996           Fix lcopy for mini objects, the mini object needs to be ref'ed.
8997           
8998         * tests/check/gst/gstminiobject.c: (my_foo_init),
8999         (my_foo_get_property), (my_foo_set_property), (my_foo_class_init),
9000         (test_value_collection), (gst_mini_object_suite):
9001           Add test to ensure refcounts end up as expected when passing
9002           GstMiniObjects through g_object_get() and g_object_set().
9003
9004 2005-12-14  Julien MOUTTE  <julien@moutte.net>
9005
9006         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
9007         (gst_collect_pads_remove_pad), (gst_collect_pads_is_collected),
9008         (gst_collect_pads_event), (gst_collect_pads_chain): Refactoring
9009         of collectpads. This version removes a lot of races without
9010         touching API/ABI. Yay !
9011
9012 2005-12-14  Jan Schmidt  <thaytan@mad.scientist.com>
9013
9014         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_link_prepare):
9015           Don't allow activation of a srcpad in pull_range if it has no
9016           getrange function.
9017           Change some debug statements to be a little clearer
9018
9019         * plugins/elements/gsttypefindelement.c:
9020         (gst_type_find_handle_src_query):
9021           Check that we have a peer before executing queries thereupon.
9022
9023         * tests/examples/metadata/read-metadata.c: (message_loop):
9024           Use gst_bus_pop instead of gst_bus_poll when we just want it to
9025           immediately return us any available message with 0 timeout.
9026
9027 2005-12-12  Michael Smith  <msmith@fluendo.com>
9028
9029         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
9030           Don't unref factories after calling them.
9031         * libs/gst/base/gsttypefindhelper.c: (gst_type_find_helper):
9032         * plugins/elements/gsttypefindelement.c:
9033         (gst_type_find_element_chain):
9034           Free lists of factories after using them. Fixing typefinding memory
9035           leaks.
9036
9037 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
9038
9039         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
9040         (gst_plugin_feature_load):
9041           more meaningful debug output
9042         * configure.ac:
9043         * tests/Makefile.am:
9044         * tests/old/examples/Makefile.am:
9045           make make distcheck happy again
9046
9047 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
9048
9049         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
9050           Catch the special case where we are operating chain-based,
9051           but the downstream peer pad has no chain function. Emit a
9052           custom error message in this case instead of letting the
9053           core generate one implying that this is some sort of core
9054           bug. It's not, it just means that whatever got plugged
9055           into the pipeline downstream when we announced the type
9056           can only operate pull-based, while our source can only
9057           operate push-based (e.g. http://foo/bar.mov ! qtdemux ! ...)
9058           Error string has not been marked for translation yet, as
9059           it probably needs some more work first.
9060
9061         (gst_type_find_element_get_best_possibility):
9062           Add helper function to find the best of all available
9063           found possibilities that qualify given the min. threshold.
9064
9065         (gst_type_find_element_handle_event):
9066           Fix the case where we get an EOS while still in TYPEFIND
9067           mode (we want to chose the best of all possible types,
9068           not just the first type that happens to be in our unsorted
9069           list of possible types).
9070
9071         (gst_type_find_element_chain):
9072           Make sure we return GST_FLOW_ERROR when we errored out
9073           in stop_typefinding(); also, don't just find the best of
9074           all found type entries and then use the last examined
9075           type entry, but actually use the best entry.
9076
9077 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
9078
9079         * tests/examples/typefind/typefind.c: (type_found):
9080         * tests/examples/xml/runxml.c: (xml_loaded):
9081           More gcc4 fixes and a mem leak fix.
9082
9083 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
9084
9085         * tests/examples/xml/createxml.c: (object_saved):
9086           gcc 4 fixes
9087
9088 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
9089
9090         * tests/Makefile.am:
9091           enable the examples even more
9092
9093 2005-12-12  Andy Wingo  <wingo@pobox.com>
9094
9095         * libs/gst/net/gstnettimeprovider.c
9096         (gst_net_time_provider_class_init, gst_net_time_provider_init)
9097         (gst_net_time_provider_set_property)
9098         (gst_net_time_provider_get_property):
9099         API addition: Export "active" as a GObject property.
9100         (gst_net_time_provider_thread): Only respond to time queries if
9101         the time provider is active.
9102
9103         * libs/gst/net/gstnettimeprovider.h: Add an "active" boolean to
9104         NetTimeProvider, preserving binary compat.
9105
9106 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
9107
9108         * tests/examples/controller/audio-example.c: (main):
9109         * tests/examples/launch/Makefile.am:
9110           convert comments again
9111
9112 2005-12-12  Wim Taymans  <wim@fluendo.com>
9113
9114         * libs/gst/base/gstpushsrc.c:
9115         Fix typo.
9116
9117 2005-12-12  Wim Taymans  <wim@fluendo.com>
9118
9119         * docs/libs/gstreamer-libs-sections.txt:
9120         Added new symbol to docs.
9121
9122         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
9123         (gst_base_src_init), (gst_base_src_set_format),
9124         (gst_base_src_default_query), (gst_base_src_query),
9125         (gst_base_src_default_do_seek), (gst_base_src_do_seek),
9126         (gst_base_src_perform_seek), (gst_base_src_send_event),
9127         (gst_base_src_default_event), (gst_base_src_event_handler),
9128         (gst_base_src_set_property), (gst_base_src_get_property),
9129         (gst_base_src_wait), (gst_base_src_do_sync),
9130         (gst_base_src_update_length), (gst_base_src_get_range),
9131         (gst_base_src_check_get_range), (gst_base_src_loop),
9132         (gst_base_src_default_negotiate), (gst_base_src_start),
9133         (gst_base_src_activate_push), (gst_base_src_activate_pull),
9134         (gst_base_src_change_state):
9135         * libs/gst/base/gstbasesrc.h:
9136         Implement seeking to other formats than _BYTES.
9137         Implement more seeking methods correctly.
9138         Doc updates.
9139         Added query vmethod.
9140         Added do_seek vmethod to make life easier for subclasses
9141         when seeking.
9142         API addition: gst_base_src_set_format()
9143
9144 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
9145
9146         * tests/examples/Makefile.am:
9147           added that too
9148
9149 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
9150
9151         * configure.ac:
9152         * docs/random/ensonic/media-device-daemon.txt:
9153         * tests/examples/controller/.cvsignore:
9154         * tests/examples/controller/Makefile.am:
9155         * tests/examples/controller/audio-example.c: (main):
9156         * tests/examples/helloworld/.cvsignore:
9157         * tests/examples/helloworld/Makefile.am:
9158         * tests/examples/helloworld/helloworld.c: (event_loop), (main):
9159         * tests/examples/launch/.cvsignore:
9160         * tests/examples/launch/Makefile.am:
9161         * tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
9162         * tests/examples/metadata/.cvsignore:
9163         * tests/examples/metadata/Makefile.am:
9164         * tests/examples/metadata/read-metadata.c: (message_loop),
9165         (make_pipeline), (print_tag), (main):
9166         * tests/examples/queue/.cvsignore:
9167         * tests/examples/queue/Makefile.am:
9168         * tests/examples/queue/queue.c: (event_loop), (main):
9169         * tests/examples/typefind/.cvsignore:
9170         * tests/examples/typefind/Makefile.am:
9171         * tests/examples/typefind/typefind.c: (type_found), (event_loop),
9172         (main):
9173         * tests/examples/xml/.cvsignore:
9174         * tests/examples/xml/Makefile.am:
9175         * tests/examples/xml/createxml.c: (object_saved), (main):
9176         * tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
9177         * tests/old/examples/Makefile.am:
9178         * tests/old/examples/TODO:
9179         * tests/old/examples/controller/.cvsignore:
9180         * tests/old/examples/controller/Makefile.am:
9181         * tests/old/examples/controller/audio-example.c:
9182         * tests/old/examples/helloworld/.cvsignore:
9183         * tests/old/examples/helloworld/Makefile.am:
9184         * tests/old/examples/helloworld/helloworld.c:
9185         * tests/old/examples/launch/.cvsignore:
9186         * tests/old/examples/launch/Makefile.am:
9187         * tests/old/examples/launch/mp3parselaunch.c:
9188         * tests/old/examples/launch/mp3play:
9189         * tests/old/examples/manual/Makefile.am:
9190         * tests/old/examples/metadata/Makefile.am:
9191         * tests/old/examples/metadata/read-metadata.c:
9192         * tests/old/examples/queue/.cvsignore:
9193         * tests/old/examples/queue/Makefile.am:
9194         * tests/old/examples/queue/queue.c:
9195         * tests/old/examples/typefind/.cvsignore:
9196         * tests/old/examples/typefind/Makefile.am:
9197         * tests/old/examples/typefind/typefind.c:
9198         * tests/old/examples/xml/.cvsignore:
9199         * tests/old/examples/xml/Makefile.am:
9200         * tests/old/examples/xml/createxml.c:
9201         * tests/old/examples/xml/runxml.c:
9202           applied some simple fixing to some examples
9203           re-enabled the working examples
9204
9205 2005-12-12  Wim Taymans  <wim@fluendo.com>
9206
9207         * gst/gstsegment.c: (gst_segment_init),
9208         (gst_segment_set_last_stop), (gst_segment_set_seek),
9209         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
9210         (gst_segment_to_running_time):
9211         Added more documentation.
9212         Make sure the last_pos value is updated properly.
9213         Make sure to_stream_time and to_running_time don't
9214         operate on wrong values.
9215
9216         * tests/check/gst/gstsegment.c: (GST_START_TEST):
9217         Update check.
9218
9219 2005-12-12  Michael Smith  <msmith@fluendo.com>
9220
9221         * plugins/elements/gsttypefindelement.c: (free_entry),
9222         (gst_type_find_element_chain):
9223           Now that we're not leaking factories, make sure we keep references
9224           to them while we need them.
9225
9226 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9227
9228         * tests/check/gst/struct_i386.h:
9229           ifdef out the XML structs
9230
9231 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9232
9233         * gst/gstvalue.c: (gst_value_transform_double_fraction):
9234           floor is not needed, F is always positive; this obviates the
9235           need for adding -lm when building without libxml
9236
9237 2005-12-12  Wim Taymans  <wim@fluendo.com>
9238
9239         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
9240         Take current playback rate into account when reporting
9241         the position.
9242
9243 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
9244
9245         * docs/manual/mime-world.fig:
9246           Let's try this again, this time with a file that is
9247           actually in XFig format.
9248
9249 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
9250
9251         * docs/manual/mime-world.fig:
9252           Add audioconvert element to diagram so that it
9253           matches the text and the code (fixes #319526).
9254
9255 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
9256
9257         * docs/pwg/building-chainfn.xml:
9258         * docs/pwg/building-pads.xml:
9259         * docs/pwg/building-state.xml:
9260         * docs/pwg/other-source.xml:
9261           Update state change stuff for 0.10 (fixes #322969).
9262
9263 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
9264
9265         * docs/manual/advanced-dataaccess.xml:
9266         * docs/manual/appendix-checklist.xml:
9267         * docs/manual/appendix-programs.xml:
9268         * docs/manual/basics-pads.xml:
9269         * docs/manual/highlevel-components.xml:
9270         * docs/manual/manual.xml:
9271           Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
9272           add converters in front of pipelines; remove curly
9273           brackets for threads stuff, they no longer exist; use
9274           GST_TYPE_FRACTION for framerates; update some pieces of
9275           code to 0.10, but there's plenty more to do.
9276
9277         * docs/manual/appendix-porting.xml:
9278           Expand on asynchroneous state changes; s/0.9/0.10/;
9279           mention disappearance of gst_init_get_popt_table()
9280           (fixes #322916).
9281
9282 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
9283
9284         * docs/faq/using.xml:
9285           Spider no longer exists, and neither does gst-launch-ext.
9286           Update examples to use decodebin and playbin and put
9287           converters in front of sinks (fixes #323726).
9288
9289 2005-12-09  Michael Smith  <msmith@fluendo.com>
9290
9291         * plugins/elements/gsttypefindelement.c: (find_peek),
9292         (gst_type_find_element_chain):
9293           Fix leaking element factories in typefinding.
9294           Fix problem where we forgot about a probable type on non-seekable
9295           files, and thus later mis-typefound it.
9296
9297 2005-12-09  Michael Smith  <msmith@fluendo.com>
9298
9299         * common/m4/gst-makecontext.m4:
9300         * common/m4/gst-mcsc.m4:
9301         * configure.ac:
9302         * win32/common/config.h:
9303         * win32/common/config.h.in:
9304           Remove makecontext stuff; not used in 0.10 and causes problems on
9305           HPUX according to bug #322441
9306
9307 2005-12-07  Wim Taymans  <wim@fluendo.com>
9308
9309         * tests/check/Makefile.am:
9310         * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
9311         (main):
9312         * tests/check/libs/struct_i386.h:
9313         Added ABI check for libs
9314
9315 2005-12-07  Wim Taymans  <wim@fluendo.com>
9316
9317         * tests/check/Makefile.am:
9318         And add the struct_i386.h to dist.
9319
9320 2005-12-07  Wim Taymans  <wim@fluendo.com>
9321
9322         * tests/check/Makefile.am:
9323         * tests/check/gst/.cvsignore:
9324         * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
9325         (main):
9326         * tests/check/gst/struct_i386.h:
9327         Added check for ABI compatibility.
9328
9329 2005-12-07  Wim Taymans  <wim@fluendo.com>
9330
9331         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
9332         (gst_fake_src_get_times), (gst_fake_src_create):
9333         Fix broken sync option, fixes #323259
9334
9335 2005-12-07  Wim Taymans  <wim@fluendo.com>
9336
9337         * gst/gstbuffer.c:
9338         Small docs update.
9339
9340         * gst/gstcaps.c: (gst_caps_is_equal):
9341         Don't assert on NULL <--> X. Fixes #323260
9342
9343         * gst/gstminiobject.c: (gst_mini_object_replace):
9344         If we're doing atomic operations, we might just as well use
9345         the proper way to get an atomic pointer.
9346
9347         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
9348         Clean up debugging.
9349
9350 2005-12-07  Michael Smith  <msmith@fluendo.com>
9351
9352         * gst/parse/grammar.y:
9353           Remove handling of { } for threads.
9354
9355 2005-12-06  David Schleef  <ds@schleef.org>
9356
9357         * libs/gst/base/gstbasetransform.c: speling fix.
9358
9359 2005-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
9360
9361         * docs/libs/tmpl/gstdataprotocol.sgml:
9362         * docs/random/omega/testing/gstobject.c:
9363         * gst/gst.c:
9364         * gst/gstclock.c:
9365         * gst/gstelement.c:
9366         * gst/gstelementfactory.c:
9367         * gst/gsterror.c:
9368         * gst/gstevent.c:
9369         * gst/gstghostpad.c:
9370         * gst/gstinfo.c:
9371         * gst/gstpadtemplate.c:
9372         * gst/gstregistryxml.c:
9373         * gst/gsttaglist.c:
9374         * gst/gsttagsetter.c:
9375         * gst/gsttypefind.c:
9376         * gst/gstvalue.c:
9377         * libs/gst/base/gstbasesrc.c:
9378         * libs/gst/net/gstnetclientclock.c:
9379         * libs/gst/net/gstnettimeprovider.c:
9380         * plugins/elements/gstfakesrc.c:
9381         * plugins/elements/gstfdsrc.c:
9382         * plugins/elements/gstfilesrc.c:
9383         * plugins/elements/gstidentity.c:
9384         * plugins/elements/gstqueue.c:
9385         * plugins/elements/gsttypefindelement.c:
9386         * plugins/indexers/gstfileindex.c:
9387         * plugins/indexers/gstmemindex.c:
9388         * tests/check/gst/gsttag.c:
9389         * tests/old/examples/cutter/cutter.c:
9390         * tests/old/examples/mixer/mixer.c:
9391         * tests/old/examples/xml/runxml.c: (main):
9392         * tests/old/testsuite/caps/normalisation.c:
9393         * tests/old/testsuite/debug/global.c:
9394         * tests/old/testsuite/parse/parse1.c:
9395         * tools/gst-xmlinspect.c:
9396         * win32/common/dirent.c:
9397           expand tabs
9398
9399 === release 0.10.0 ===
9400
9401 2005-12-05  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
9402
9403         * configure.ac:
9404           releasing 0.10.0, "Maroilles"
9405
9406 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
9407
9408         submitted by: Funda Wang <fundawang@linux.net.cn>
9409
9410         * po/LINGUAS:
9411         * po/zh_CN.po:
9412           added Chinese (Traditional) translation
9413
9414 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
9415
9416         * docs/gst/gstreamer-sections.txt:
9417         * docs/libs/tmpl/gstdataprotocol.sgml:
9418         * docs/random/thomasvs/TODO:
9419         * gst/gstutils.c:
9420         * gst/gstutils.h:
9421           fix docs
9422
9423 2005-12-05  Andy Wingo  <wingo@pobox.com>
9424
9425         patch by: Wim Taymans <wim@fluendo.com>
9426
9427         * libs/gst/base/gstbasetransform.c
9428         (gst_base_transform_prepare_output_buf)
9429         (gst_base_transform_buffer_alloc):
9430         * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
9431         alloc_buffer_and_set_caps.
9432
9433         * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
9434         set_caps on the source pad.
9435         (gst_pad_alloc_buffer_and_set_caps): New function, does what
9436         alloc_buffer used to do. Fixes #322874.
9437
9438         * docs/gst/gstreamer-sections.txt: 
9439         * docs/design/part-negotiation.txt: 
9440         * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
9441         changes.
9442
9443 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
9444
9445         patch by: Sebastien Moutte
9446
9447         * win32/MANIFEST:
9448         * win32/common/config.h.in:
9449         * win32/vs6/libgstcontroller.dsp:
9450           win32 build fixes
9451
9452 2005-12-05  Wim Taymans  <wim@fluendo.com>
9453
9454         * gst/gstcaps.c: (gst_caps_is_equal):
9455         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
9456         (gst_fake_src_create):
9457         Back out previous code changes, leave doc updates, file bugs 
9458         instead. 
9459
9460 2005-12-05  Wim Taymans  <wim@fluendo.com>
9461
9462         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
9463         (gst_fake_src_get_times), (gst_fake_src_create):
9464         * plugins/elements/gstfakesrc.h:
9465         Fix broken sync code.
9466
9467 2005-12-05  Wim Taymans  <wim@fluendo.com>
9468
9469         * gst/gstcaps.c: (gst_caps_is_equal):
9470         Comparing NULL against !NULL yields different caps, not a
9471         failure.
9472
9473 2005-12-05  Wim Taymans  <wim@fluendo.com>
9474
9475         * gst/gstpipeline.c:
9476         Fix small typo in docs.
9477
9478 2005-12-05  Andy Wingo  <wingo@pobox.com>
9479
9480         patch by: Thomas Vander Stichele  <thomas at apestaart dot org>
9481
9482         * gst/gst.c (init_post): remove hard-coded 0.9 location for
9483         registries/plugins with a MAJORMINOR one.
9484         (plugin_desc): Rename library from gstcoreleements to
9485         staticelements. Fixes #323222.
9486
9487 2005-12-05  Tim-Philipp Müller  <tim at centricular dot net>
9488
9489         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
9490           Change debug category to 'collectpads' from 'collect_pads'
9491           (fixes #323250).
9492
9493 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
9494
9495         patch by: Sebastien Moutte
9496
9497         * libs/gst/controller/gstinterpolation.c:
9498           use convert function for uint64/double
9499         * win32/vs6/libgstcontroller.dsp:
9500           link to GLib
9501
9502 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
9503
9504         * gst/gstutils.c: (gst_util_guint64_to_gdouble),
9505         (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
9506         * gst/gstutils.h:
9507         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
9508           add tests that seem to show that the guint64/gdouble conversions
9509           are correct.
9510
9511 2005-12-02  Wim Taymans  <wim@fluendo.com>
9512
9513         * gst/gstregistry.c: (gst_registry_add_path):
9514         * gst/gstregistry.h:
9515         * gst/gstregistryxml.c:
9516         Fix docs again.
9517
9518 2005-12-02  Wim Taymans  <wim@fluendo.com>
9519
9520         * gst/gstutils.c: (gst_util_uint64_scale_int64),
9521         (gst_util_uint64_scale_int):
9522         Small cleanup.
9523
9524         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
9525         Add debug log line.
9526
9527         * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
9528         Add FIXME.
9529
9530 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
9531
9532         * win32/MANIFEST:
9533         * win32/common/config.h:
9534         * win32/vs6/gstreamer.dsw:
9535         * win32/vs6/libgstcoreelements.dsp:
9536         * win32/vs6/libgstelements.dsp:
9537           renamed core elements plugin
9538
9539 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
9540
9541         * tools/gst-run.c: (compare_major_minor), (find_highest_version),
9542         (get_candidates):
9543           do piece-wise major/minor comparison so 0.9 < 0.10
9544           also allow .exe extensions for tools
9545
9546 2005-12-02  Michael Smith  <msmith@fluendo.com>
9547
9548         * gst/gst.c:
9549           Escape a % to make gtkdoc happier; bug 322958.
9550
9551 === release 0.9.7 ===
9552
9553 2005-12-01  Thomas Vander Stichele <thomas (at) apestaart (dot) org>
9554
9555         * configure.ac:
9556           releasing 0.9.7, "My Dog Has No Nose"
9557
9558 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
9559
9560         * common/gst-xmlinspect.py:
9561         * configure.ac:
9562         * docs/libs/tmpl/gstdataprotocol.sgml:
9563         * docs/random/release:
9564         * po/af.po:
9565         * po/az.po:
9566         * po/bg.po:
9567         * po/ca.po:
9568         * po/cs.po:
9569         * po/de.po:
9570         * po/en_GB.po:
9571         * po/fr.po:
9572         * po/it.po:
9573         * po/nb.po:
9574         * po/nl.po:
9575         * po/ru.po:
9576         * po/sq.po:
9577         * po/sr.po:
9578         * po/sv.po:
9579         * po/tr.po:
9580         * po/uk.po:
9581         * po/vi.po:
9582         * win32/common/config.h:
9583         * win32/common/config.h.in:
9584         * win32/vs6/gst_inspect.dsp:
9585         * win32/vs6/gst_launch.dsp:
9586         * win32/vs6/libgstbase.dsp:
9587         * win32/vs6/libgstelements.dsp:
9588         * win32/vs6/libgstreamer.dsp:
9589         * win32/vs7/GStreamer.vcproj:
9590         * win32/vs7/gst-inspect.vcproj:
9591         * win32/vs7/gst-launch.vcproj:
9592         * win32/vs7/libgstbase.vcproj:
9593           bump GST_MAJORMINOR to 0.10
9594           reset libtool version
9595
9596 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
9597
9598         * po/LINGUAS:
9599         * po/bg.po:
9600           Added Bulgarian translation by (Alexander Shopov)
9601
9602 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
9603
9604         * tests/check/gst/gstplugin.c:
9605           fix test
9606
9607 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
9608
9609         * common/gst-xmlinspect.py:
9610         * common/gtk-doc-plugins.mak:
9611         * configure.ac:
9612         * docs/Makefile.am:
9613         * docs/gst/Makefile.am:
9614         * docs/gst/gstreamer-docs.sgml:
9615         * docs/gst/gstreamer-sections.txt:
9616         * docs/gst/gstreamer.types:
9617         * docs/gst/gstreamer.types.in:
9618         * docs/plugins/Makefile.am:
9619         * docs/plugins/gstreamer-plugins-docs.sgml:
9620         * docs/plugins/gstreamer-plugins-sections.txt:
9621         * docs/plugins/gstreamer-plugins.types:
9622         * docs/plugins/inspect.stamp:
9623         * docs/plugins/inspect/plugin-coreelements.xml:
9624         * docs/plugins/inspect/plugin-coreindexers.xml:
9625         * docs/plugins/scanobj-build.stamp:
9626         * gstreamer.spec.in:
9627         * plugins/elements/Makefile.am:
9628         * plugins/elements/gstelements.c:
9629         * plugins/elements/gstfakesink.c:
9630         * plugins/elements/gstfakesrc.c:
9631         * plugins/elements/gstfilesink.c:
9632         * plugins/elements/gstfilesrc.c:
9633         * plugins/elements/gstqueue.c:
9634         * plugins/indexers/Makefile.am:
9635         * plugins/indexers/gstindexers.c:
9636           document core plugins in a separate document just like all the
9637           others
9638           rename these plugins to something starting with core
9639
9640 2005-12-01  Andy Wingo  <wingo@pobox.com>
9641
9642         * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
9643         padding here before, but it missed the commit.
9644
9645 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
9646
9647         * libs/gst/controller/gstinterpolation.c:
9648           whitespace prices have crashed, we should feel free to use some now
9649           use gst_guint64_to_gdouble
9650
9651 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
9652
9653         * libs/gst/controller/gstcontroller.c:
9654         * libs/gst/controller/gsthelper.c:
9655         * libs/gst/controller/gstinterpolation.c:
9656         * libs/gst/controller/lib.c:
9657           wrap config.h include
9658
9659 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
9660
9661         * docs/gst/gstreamer-sections.txt:
9662           update docs
9663
9664 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
9665
9666         * plugins/elements/gstelements.c:
9667         * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
9668         (gst_fd_sink__class_init), (gst_fd_sink__init),
9669         (gst_fd_sink__chain), (gst_fd_sink__set_property),
9670         (gst_fd_sink__get_property):
9671         * plugins/elements/gstfdsink.h:
9672         * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
9673         (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
9674         (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
9675         (gst_fd_src_unlock), (gst_fd_src_set_property),
9676         (gst_fd_src_get_property), (gst_fd_src_create),
9677         (gst_fd_src_is_seekable), (gst_fd_src_get_size),
9678         (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
9679         (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
9680         (gst_fd_src_uri_handler_init):
9681         * plugins/elements/gstfdsrc.h:
9682         * plugins/elements/gstqueue.c: (gst_queue_get_type):
9683           more anal cleanup
9684
9685 2005-11-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
9686
9687         * docs/gst/Makefile.am:
9688         * docs/gst/gstreamer.types.in:
9689         * gst/Makefile.am:
9690           fix the docs build
9691
9692 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
9693
9694         * configure.ac:
9695         * gst/Makefile.am:
9696         * gst/gst.c:
9697         * gst/gstplugin.h:
9698         * gst/gstregistry.h:
9699         * tests/benchmarks/complexity.c:
9700         * tests/benchmarks/mass-elements.c:
9701         * tests/check/Makefile.am:
9702         * tools/Makefile.am:
9703         * tools/gst-inspect.c:
9704         * tools/gst-xmlinspect.c:
9705           various fixes to make
9706           --disable-nls --disable-registry --disable-loadsave
9707           --disable-parse --disable-gst-debug
9708           work and get the core .so down to 360444 bytes after stripping
9709
9710 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
9711
9712         * Makefile.am:
9713         * configure.ac:
9714           descend into tests
9715         * docs/random/thomasvs/TODO:
9716         * tests/Makefile.am:
9717         * tests/README:
9718           add a README
9719
9720 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
9721
9722         * win32/GStreamer.vcproj:
9723         * win32/MANIFEST:
9724         * win32/Makefile:
9725         * win32/Makefile.inspect:
9726         * win32/Makefile.launch:
9727         * win32/Makefile.register:
9728         * win32/README.txt:
9729         * win32/gst-inspect.vcproj:
9730         * win32/gst-launch.vcproj:
9731         * win32/gst-register.vcproj:
9732         * win32/gstelements.vcproj:
9733         * win32/gstgetbits.def:
9734         * win32/gstgetbits.vcproj:
9735         * win32/gstreamer-dbg.def:
9736         * win32/gstreamer.def:
9737         * win32/libgstbase.def:
9738         * win32/libgstbase.vcproj:
9739         * win32/link_oldruntime.c:
9740         * win32/mman.c:
9741         * win32/mman.h:
9742         * win32/mman.inl:
9743         * win32/msvc71.sln:
9744           move even more stuff, win32/ is nice and clean now
9745
9746 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
9747
9748         * libs/gst/control/.cvsignore:
9749         * win32/MANIFEST:
9750         * win32/config.h:
9751         * win32/dirent.c:
9752         * win32/dirent.h:
9753         * win32/gstbytestream.def:
9754         * win32/gstbytestream.vcproj:
9755         * win32/gstconfig.h:
9756         * win32/gstenumtypes.c:
9757         * win32/gstenumtypes.h:
9758         * win32/gstoptimalscheduler.vcproj:
9759         * win32/gstversion.h:
9760         * win32/gtchar.h:
9761         * win32/testsuite/bins.vcproj:
9762         * win32/testsuite/bytestream.vcproj:
9763         * win32/testsuite/caps.vcproj:
9764         * win32/testsuite/cleanup.vcproj:
9765         * win32/testsuite/clock.vcproj:
9766         * win32/testsuite/debug.vcproj:
9767         * win32/testsuite/dlopen.vcproj:
9768         * win32/testsuite/dynparams.vcproj:
9769         * win32/testsuite/elements.vcproj:
9770         * win32/testsuite/ghostpads.vcproj:
9771         * win32/testsuite/indexers.vcproj:
9772         * win32/testsuite/negotiation.vcproj:
9773         * win32/testsuite/parse.vcproj:
9774         * win32/testsuite/plugin.vcproj:
9775         * win32/testsuite/refcounting.vcproj:
9776         * win32/testsuite/schedulers.vcproj:
9777         * win32/testsuite/states.vcproj:
9778         * win32/testsuite/tags.vcproj:
9779         * win32/testsuite/threads.vcproj:
9780           remove old win32 stuff that isn't maintained and should be
9781           reorganized
9782
9783 2005-11-30  Andy Wingo  <wingo@pobox.com>
9784
9785         * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
9786         loading the gst.interfaces python module bork.
9787
9788         * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
9789         available since GLib 2.2. Fixes #318031.
9790
9791 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
9792
9793         * Makefile.am:
9794         * check/.cvsignore:
9795         * check/Makefile.am:
9796         * check/elements/.cvsignore:
9797         * check/elements/fakesrc.c:
9798         * check/elements/fdsrc.c:
9799         * check/elements/identity.c:
9800         * check/generic/.cvsignore:
9801         * check/generic/states.c:
9802         * check/gst-libs/.cvsignore:
9803         * check/gst-libs/controller.c:
9804         * check/gst-libs/gdp.c:
9805         * check/gst/.cvsignore:
9806         * check/gst/capslist.h:
9807         * check/gst/gst.c:
9808         * check/gst/gstbin.c:
9809         * check/gst/gstbuffer.c:
9810         * check/gst/gstbus.c:
9811         * check/gst/gstcaps.c:
9812         * check/gst/gstelement.c:
9813         * check/gst/gstevent.c:
9814         * check/gst/gstghostpad.c:
9815         * check/gst/gstiterator.c:
9816         * check/gst/gstmessage.c:
9817         * check/gst/gstminiobject.c:
9818         * check/gst/gstobject.c:
9819         * check/gst/gstpad.c:
9820         * check/gst/gstpipeline.c:
9821         * check/gst/gstplugin.c:
9822         * check/gst/gstsegment.c:
9823         * check/gst/gststructure.c:
9824         * check/gst/gstsystemclock.c:
9825         * check/gst/gsttag.c:
9826         * check/gst/gstutils.c:
9827         * check/gst/gstvalue.c:
9828         * check/net/.cvsignore:
9829         * check/net/gstnetclientclock.c:
9830         * check/net/gstnettimeprovider.c:
9831         * check/pipelines/.cvsignore:
9832         * check/pipelines/cleanup.c:
9833         * check/pipelines/simple_launch_lines.c:
9834         * check/pipelines/stress.c:
9835         * check/states/.cvsignore:
9836         * check/states/sinks.c:
9837         * configure.ac:
9838         * examples/Makefile.am:
9839         * examples/appreader/.cvsignore:
9840         * examples/appreader/Makefile.am:
9841         * examples/appreader/appreader.c:
9842         * examples/controller/.cvsignore:
9843         * examples/controller/Makefile.am:
9844         * examples/controller/audio-example.c:
9845         * examples/cutter/.cvsignore:
9846         * examples/cutter/Makefile.am:
9847         * examples/cutter/cutter.c:
9848         * examples/cutter/cutter.h:
9849         * examples/events/Makefile.am:
9850         * examples/events/seek.c:
9851         * examples/helloworld/.cvsignore:
9852         * examples/helloworld/Makefile.am:
9853         * examples/helloworld/helloworld.c:
9854         * examples/helloworld2/.cvsignore:
9855         * examples/helloworld2/Makefile.am:
9856         * examples/helloworld2/helloworld2.c:
9857         * examples/launch/.cvsignore:
9858         * examples/launch/Makefile.am:
9859         * examples/launch/mp3parselaunch.c:
9860         * examples/launch/mp3play:
9861         * examples/manual/.cvsignore:
9862         * examples/manual/Makefile.am:
9863         * examples/manual/extract.pl:
9864         * examples/metadata/Makefile.am:
9865         * examples/metadata/read-metadata.c:
9866         * examples/mixer/.cvsignore:
9867         * examples/mixer/Makefile.am:
9868         * examples/mixer/mixer.c:
9869         * examples/mixer/mixer.h:
9870         * examples/pingpong/.cvsignore:
9871         * examples/pingpong/Makefile.am:
9872         * examples/pingpong/pingpong.c:
9873         * examples/plugins/.cvsignore:
9874         * examples/plugins/Makefile.am:
9875         * examples/plugins/example.c:
9876         * examples/plugins/example.h:
9877         * examples/pwg/.cvsignore:
9878         * examples/pwg/Makefile.am:
9879         * examples/pwg/extract.pl:
9880         * examples/queue/.cvsignore:
9881         * examples/queue/Makefile.am:
9882         * examples/queue/queue.c:
9883         * examples/queue2/.cvsignore:
9884         * examples/queue2/Makefile.am:
9885         * examples/queue2/queue2.c:
9886         * examples/queue3/.cvsignore:
9887         * examples/queue3/Makefile.am:
9888         * examples/queue3/queue3.c:
9889         * examples/queue4/.cvsignore:
9890         * examples/queue4/Makefile.am:
9891         * examples/queue4/queue4.c:
9892         * examples/retag/.cvsignore:
9893         * examples/retag/Makefile.am:
9894         * examples/retag/retag.c:
9895         * examples/retag/transcode.c:
9896         * examples/thread/.cvsignore:
9897         * examples/thread/Makefile.am:
9898         * examples/thread/thread.c:
9899         * examples/typefind/.cvsignore:
9900         * examples/typefind/Makefile.am:
9901         * examples/typefind/typefind.c:
9902         * examples/xml/.cvsignore:
9903         * examples/xml/Makefile.am:
9904         * examples/xml/createxml.c:
9905         * examples/xml/runxml.c:
9906         * tests/Makefile.am:
9907         * tests/check/Makefile.am:
9908         * testsuite/.cvsignore:
9909         * testsuite/Makefile.am:
9910         * testsuite/Rules:
9911         * testsuite/caps/.cvsignore:
9912         * testsuite/caps/Makefile.am:
9913         * testsuite/caps/app_fixate.c:
9914         * testsuite/caps/audioscale.c:
9915         * testsuite/caps/caps.c:
9916         * testsuite/caps/caps.h:
9917         * testsuite/caps/caps_strings:
9918         * testsuite/caps/compatibility.c:
9919         * testsuite/caps/deserialize.c:
9920         * testsuite/caps/enumcaps.c:
9921         * testsuite/caps/eratosthenes.c:
9922         * testsuite/caps/filtercaps.c:
9923         * testsuite/caps/fixed.c:
9924         * testsuite/caps/fraction-convert.c:
9925         * testsuite/caps/fraction-multiply-and-zero.c:
9926         * testsuite/caps/intersect2.c:
9927         * testsuite/caps/intersection.c:
9928         * testsuite/caps/normalisation.c:
9929         * testsuite/caps/random.c:
9930         * testsuite/caps/renegotiate.c:
9931         * testsuite/caps/sets.c:
9932         * testsuite/caps/simplify.c:
9933         * testsuite/caps/string-conversions.c:
9934         * testsuite/caps/structure.c:
9935         * testsuite/caps/subtract.c:
9936         * testsuite/caps/union.c:
9937         * testsuite/debug/.cvsignore:
9938         * testsuite/debug/Makefile.am:
9939         * testsuite/debug/category.c:
9940         * testsuite/debug/commandline.c:
9941         * testsuite/debug/global.c:
9942         * testsuite/debug/output.c:
9943         * testsuite/debug/printf_extension.c:
9944         * testsuite/dlopen/.cvsignore:
9945         * testsuite/dlopen/Makefile.am:
9946         * testsuite/dlopen/dlopen_gst.c:
9947         * testsuite/dlopen/loadgst.c:
9948         * testsuite/elements/.cvsignore:
9949         * testsuite/elements/Makefile.am:
9950         * testsuite/elements/gst-inspect-check.in:
9951         * testsuite/elements/struct_i386.h:
9952         * testsuite/elements/struct_size.c:
9953         * testsuite/indexers/.cvsignore:
9954         * testsuite/indexers/Makefile.am:
9955         * testsuite/indexers/cache1.c:
9956         * testsuite/indexers/indexdump.c:
9957         * testsuite/parse/.cvsignore:
9958         * testsuite/parse/Makefile.am:
9959         * testsuite/parse/parse1.c:
9960         * testsuite/parse/parse2.c:
9961         * testsuite/plugin/.cvsignore:
9962         * testsuite/plugin/Makefile.am:
9963         * testsuite/plugin/README:
9964         * testsuite/plugin/dynamic.c:
9965         * testsuite/plugin/linked.c:
9966         * testsuite/plugin/loading.c:
9967         * testsuite/plugin/registry.c:
9968         * testsuite/plugin/static.c:
9969         * testsuite/plugin/static2.c:
9970         * testsuite/plugin/testplugin.c:
9971         * testsuite/plugin/testplugin2.c:
9972         * testsuite/plugin/testplugin2_s.c:
9973         * testsuite/plugin/testplugin_s.c:
9974         * testsuite/refcounting/.cvsignore:
9975         * testsuite/refcounting/Makefile.am:
9976         * testsuite/refcounting/bin.c:
9977         * testsuite/refcounting/element.c:
9978         * testsuite/refcounting/element_pad.c:
9979         * testsuite/refcounting/mainloop.c:
9980         * testsuite/refcounting/mem.c:
9981         * testsuite/refcounting/mem.h:
9982         * testsuite/refcounting/object.c:
9983         * testsuite/refcounting/pad.c:
9984         * testsuite/refcounting/sched.c:
9985         * testsuite/refcounting/thread.c:
9986         * testsuite/states/.cvsignore:
9987         * testsuite/states/Makefile.am:
9988         * testsuite/states/bin.c:
9989         * testsuite/states/locked.c:
9990         * testsuite/states/parent.c:
9991         * testsuite/threads/.cvsignore:
9992         * testsuite/threads/159566.c:
9993         * testsuite/threads/159852.c:
9994         * testsuite/threads/Makefile.am:
9995         * testsuite/threads/queue.c:
9996         * testsuite/threads/signals.c:
9997         * testsuite/threads/staticrec.c:
9998         * testsuite/threads/thread.c:
9999         * testsuite/threads/threadb.c:
10000         * testsuite/threads/threadc.c:
10001         * testsuite/threads/threadd.c:
10002         * testsuite/threads/threade.c:
10003         * testsuite/threads/threadf.c:
10004         * testsuite/threads/threadg.c:
10005         * testsuite/threads/threadh.c:
10006         * testsuite/threads/threadi.c:
10007           move all of these under tests
10008
10009 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10010
10011         * configure.ac:
10012         * tests/Makefile.am:
10013           fix distcheck
10014
10015 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10016
10017         * docs/gst/gstreamer-sections.txt:
10018         * tests/sched/.cvsignore:
10019         * tests/sched/Makefile.am:
10020         * tests/sched/cases/(fs-fs).xml:
10021         * tests/sched/cases/(fs-i-fs).xml:
10022         * tests/sched/cases/(fs-i-i-fs).xml:
10023         * tests/sched/cases/(fs-i-q[i-fs]).xml:
10024         * tests/sched/dynamic-pipeline.c:
10025         * tests/sched/interrupt1.c:
10026         * tests/sched/interrupt2.c:
10027         * tests/sched/interrupt3.c:
10028         * tests/sched/runtestcases:
10029         * tests/sched/runxml.c:
10030         * tests/sched/sched-stress.c:
10031         * tests/sched/sort.c:
10032         * tests/sched/testcases:
10033         * tests/sched/testcases1.tc:
10034         * tests/seeking/.cvsignore:
10035         * tests/seeking/Makefile.am:
10036         * tests/seeking/seeking1.c:
10037         * tests/threadstate/.cvsignore:
10038         * tests/threadstate/Makefile.am:
10039         * tests/threadstate/test1.c:
10040         * tests/threadstate/test2.c:
10041         * tests/threadstate/threadstate1.c:
10042         * tests/threadstate/threadstate2.c:
10043         * tests/threadstate/threadstate3.c:
10044         * tests/threadstate/threadstate4.c:
10045         * tests/threadstate/threadstate5.c:
10046           remove obsolete tests
10047         * configure.ac:
10048         * tests/bench-complexity.scm:
10049         * tests/bench-mass_elements.scm:
10050         * tests/complexity.c:
10051         * tests/complexity.gnuplot:
10052         * tests/instantiate/.cvsignore:
10053         * tests/instantiate/Makefile.am:
10054         * tests/instantiate/caps.c:
10055         * tests/mass_elements.c:
10056         * tests/network-clock-utils.scm:
10057         * tests/network-clock.scm:
10058         * tests/plot-data:
10059         First pass at cleaning up tests/ dir before moving the rest
10060         Combined with CVS surgery
10061
10062 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10063
10064         * po/POTFILES.in:
10065           queue has moved, update
10066
10067 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10068
10069         * docs/gst/gstreamer-sections.txt:
10070           remove double entries from the docs
10071         * gst/gst_private.h:
10072         * gst/gstinfo.c: (_gst_debug_init):
10073           remove the THREAD debug category
10074         * gst/Makefile.am:
10075         * gst/gstqueue.c:
10076         * gst/gstqueue.h:
10077         * docs/gst/gstreamer.types:
10078         * plugins/elements/gstqueue.c: (gst_queue_get_type),
10079         (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
10080           completely move queue and fix up debugging categories
10081
10082 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10083
10084         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
10085           make initialization portable, using LL is not
10086
10087 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10088
10089         * win32/common/gstconfig.h:
10090           add large padding
10091
10092 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10093
10094         * win32/common/libgstreamer.def:
10095           rename symbols; sort base section
10096
10097 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10098
10099         * gst/gstclock.c: (do_linear_regression):
10100           remove crack non-portable handrolled DEBUG macro
10101
10102 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10103
10104         * docs/random/release:
10105           update notes
10106         * win32/common/gstenumtypes.c: (register_gst_object_flags),
10107         (gst_object_flags_get_type), (register_gst_bin_flags),
10108         (gst_bin_flags_get_type), (register_gst_buffer_flag),
10109         (gst_buffer_flag_get_type), (register_gst_bus_flags),
10110         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
10111         (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
10112         (gst_caps_flags_get_type), (register_gst_clock_return),
10113         (gst_clock_return_get_type), (register_gst_clock_entry_type),
10114         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
10115         (gst_clock_flags_get_type), (register_gst_state),
10116         (gst_state_get_type), (register_gst_state_change_return),
10117         (gst_state_change_return_get_type), (register_gst_state_change),
10118         (gst_state_change_get_type), (register_gst_element_flags),
10119         (gst_element_flags_get_type), (register_gst_core_error),
10120         (gst_core_error_get_type), (register_gst_library_error),
10121         (gst_library_error_get_type), (register_gst_resource_error),
10122         (gst_resource_error_get_type), (register_gst_stream_error),
10123         (gst_stream_error_get_type), (register_gst_event_type_flags),
10124         (gst_event_type_flags_get_type), (register_gst_event_type),
10125         (gst_event_type_get_type), (register_gst_seek_type),
10126         (gst_seek_type_get_type), (register_gst_seek_flags),
10127         (gst_seek_flags_get_type), (register_gst_format),
10128         (gst_format_get_type), (register_gst_index_certainty),
10129         (gst_index_certainty_get_type), (register_gst_index_entry_type),
10130         (gst_index_entry_type_get_type),
10131         (register_gst_index_lookup_method),
10132         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
10133         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
10134         (gst_index_resolver_method_get_type), (register_gst_index_flags),
10135         (gst_index_flags_get_type), (register_gst_debug_level),
10136         (gst_debug_level_get_type), (register_gst_debug_color_flags),
10137         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
10138         (gst_iterator_result_get_type), (register_gst_iterator_item),
10139         (gst_iterator_item_get_type), (register_gst_message_type),
10140         (gst_message_type_get_type), (register_gst_mini_object_flags),
10141         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
10142         (gst_pad_link_return_get_type), (register_gst_flow_return),
10143         (gst_flow_return_get_type), (register_gst_activate_mode),
10144         (gst_activate_mode_get_type), (register_gst_pad_direction),
10145         (gst_pad_direction_get_type), (register_gst_pad_flags),
10146         (gst_pad_flags_get_type), (register_gst_pad_presence),
10147         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
10148         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
10149         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
10150         (gst_plugin_error_get_type), (register_gst_plugin_flags),
10151         (gst_plugin_flags_get_type), (register_gst_rank),
10152         (gst_rank_get_type), (register_gst_query_type),
10153         (gst_query_type_get_type), (register_gst_tag_merge_mode),
10154         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
10155         (gst_tag_flag_get_type), (register_gst_task_state),
10156         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
10157         (gst_alloc_trace_flags_get_type),
10158         (register_gst_type_find_probability),
10159         (gst_type_find_probability_get_type), (register_gst_uri_type),
10160         (gst_uri_type_get_type), (register_gst_parse_error),
10161         (gst_parse_error_get_type):
10162         * win32/common/gstenumtypes.h:
10163         * win32/common/gstversion.h:
10164           update visual studio generated files
10165
10166 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10167
10168         * win32/vs6/libgstbase.dsp:
10169         * win32/vs6/libgstelements.dsp:
10170           update project files for new locations
10171
10172 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10173
10174         * Makefile.am:
10175           remove some files
10176         * README:
10177           reinstate and update
10178         * DEVEL:
10179         * REQUIREMENTS:
10180           removed
10181         * LICENSE:
10182         * docs/random/LICENSE:
10183           moved to random
10184
10185 2005-11-30  Edward Hervey  <edward@fluendo.com>
10186
10187         * gst/gsttypefind.c: (gst_type_find_register):
10188         * gst/gsttypefind.h:
10189         * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
10190         (gst_type_find_factory_dispose):
10191         * gst/gsttypefindfactory.h:
10192         Fix memory leak in GstTypeFindFactory.
10193
10194 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
10195
10196         * gst/gst.c:
10197         * plugins/elements/Makefile.am:
10198         * plugins/elements/gstelements.c:
10199         * plugins/elements/gstqueue.c:
10200           move queue from core to the elements plugin
10201
10202 2005-11-29  Andy Wingo  <wingo@pobox.com>
10203
10204         * libs/gst/base/gstbasetransform.h: 
10205         * libs/gst/base/gstbasesrc.h: 
10206         * libs/gst/base/gstbasesink.h: en-LARGE the padding.
10207
10208         * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
10209         of pointers by which to pad very extensible base classes (like the
10210         ones in libs/gst/base).
10211
10212 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
10213
10214         * docs/gst/gstreamer-docs.sgml:
10215         * docs/gst/gstreamer-sections.txt:
10216         * docs/libs/gstreamer-libs-docs.sgml:
10217         * docs/libs/gstreamer-libs-sections.txt:
10218           moving documentation from core to lib
10219
10220 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
10221
10222         * check/Makefile.am:
10223         * configure.ac:
10224         * docs/gst/Makefile.am:
10225         * gst/Makefile.am:
10226         * gst/base/.cvsignore:
10227         * gst/base/Makefile.am:
10228         * gst/base/README:
10229         * gst/base/gstadapter.c:
10230         * gst/base/gstadapter.h:
10231         * gst/base/gstbasesink.c:
10232         * gst/base/gstbasesink.h:
10233         * gst/base/gstbasesrc.c:
10234         * gst/base/gstbasesrc.h:
10235         * gst/base/gstbasetransform.c:
10236         * gst/base/gstbasetransform.h:
10237         * gst/base/gstcollectpads.c:
10238         * gst/base/gstcollectpads.h:
10239         * gst/base/gstpushsrc.c:
10240         * gst/base/gstpushsrc.h:
10241         * gst/base/gsttypefindhelper.c:
10242         * gst/base/gsttypefindhelper.h:
10243         * gst/check/Makefile.am:
10244         * gst/check/gstcheck.c:
10245         * gst/check/gstcheck.h:
10246         * gst/net/Makefile.am:
10247         * gst/net/gstnet.h:
10248         * gst/net/gstnetclientclock.c:
10249         * gst/net/gstnetclientclock.h:
10250         * gst/net/gstnettimepacket.c:
10251         * gst/net/gstnettimepacket.h:
10252         * gst/net/gstnettimeprovider.c:
10253         * gst/net/gstnettimeprovider.h:
10254         * libs/gst/Makefile.am:
10255         * libs/gst/base/Makefile.am:
10256         * libs/gst/base/gstbasetransform.c:
10257         * libs/gst/check/Makefile.am:
10258         * plugins/elements/Makefile.am:
10259         * po/POTFILES.in:
10260           CVS surgery + support to move base, check, and net out of gst
10261           and into libs/gst
10262
10263 2005-11-29  Andy Wingo  <wingo@pobox.com>
10264
10265         * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
10266
10267         * gst/gststructure.h (struct _GstStructure): Only one pointer of
10268         padding.
10269
10270         * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
10271
10272         * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
10273
10274         * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
10275
10276         * gst/gstobject.h: (struct _GstObject): Only one pointer of
10277         padding; reduces object size by about 30%. We don't expect
10278         anything else to go into gstobject.
10279
10280         * gst/gstminiobject.h (struct _GstMiniObject)
10281         (struct _GstMiniObjectClass): Only one pointer of padding; the
10282         payload is only a pointer and two ints anyway. For the class there
10283         are only two methods as well.
10284         
10285         * gst/gstelement.h (struct _GstElementClass): Removed
10286         the state_changed signal callback, it is not used.
10287
10288 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10289
10290         * docs/gst/gstreamer.types:
10291           fix includes, though they are a little dinky
10292
10293 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
10294
10295         * check/Makefile.am:
10296           look in the right place for elements, a lot more chance of
10297           success
10298         * gst/Makefile.am:
10299           remove indexers and elements subdirs
10300         * plugins/Makefile.am:
10301           make indexers conditional
10302
10303 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
10304
10305         * Makefile.am:
10306         * configure.ac:
10307         * plugins/elements/Makefile.am:
10308         * plugins/elements/gstcapsfilter.c:
10309         * plugins/elements/gstfilesink.c:
10310         * plugins/elements/gstfilesrc.c:
10311         * plugins/elements/gstidentity.c:
10312         * plugins/indexers/Makefile.am:
10313           do CVS surgery and related build fixery to move elements
10314           and indexers in a new gstreamer/plugins directory, out of the
10315           gst/ directory
10316
10317 2005-11-29  Andy Wingo  <wingo@pobox.com>
10318
10319         * check/Makefile.am:
10320         * pkgconfig/gstreamer-net-uninstalled.pc.in:
10321         * pkgconfig/gstreamer-net.pc.in:
10322         * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
10323         #322257.
10324
10325 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10326
10327         * tools/Makefile.am:
10328         * tools/gst-complete.1.in:
10329         * tools/gst-complete.c:
10330         * tools/gst-compprep.1.in:
10331         * tools/gst-compprep.c:
10332           removing -compprep and -complete
10333
10334 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10335
10336         * gst/gstevent.c: (gst_event_new_new_segment),
10337         (gst_event_parse_new_segment):
10338         * gst/gstevent.h:
10339           fix #320529 - clean up new_segment API and structure.
10340           Let's hope everyone was using the methods, and not the structure.
10341
10342 2005-11-29  Edward Hervey  <edward@fluendo.com>
10343
10344         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10345         (gst_base_sink_event), (gst_base_sink_do_sync),
10346         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
10347         Properly handle non GST_FORMAT_TIME segment
10348         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
10349         Properly handle non GST_FORMAT_TIME segment
10350         * gst/gstsegment.c:
10351         This function is valid if the accumulator is 0 and the format
10352         is different from the requested format.
10353         
10354 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
10355
10356         * docs/gst/gstreamer-sections.txt:
10357         Add gst_query_new_seeking and gst_query_parse_seeking to the
10358         docs.
10359
10360 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
10361
10362         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
10363           Treat a pad alloc with new caps the same as if we were not
10364           negotiated, in order to allow a changing upstream output
10365           to produce a new format of data.
10366
10367 2005-11-29  Edward Hervey  <edward@fluendo.com>
10368
10369         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
10370         (gst_base_transform_event), (gst_base_transform_eventfunc):
10371         The event virtual method is now properly implemented, with a default
10372         handler
10373         Sub classes should call the parent_class event method. They should
10374         return FALSE if they had a problem handling the given event, or don't
10375         want GstBaseTransform to send that even downstream
10376         * gst/elements/gstidentity.c: (gst_identity_class_init),
10377         (gst_identity_init), (gst_identity_event),
10378         (gst_identity_transform_ip), (gst_identity_set_property),
10379         (gst_identity_get_property):
10380         * gst/elements/gstidentity.h:
10381         Added the single-segment boolean property.
10382         If set to TRUE, it will output a single segment of data, starting from
10383         0, will eat up all incoming newsegment, and modify the timestamp of the
10384         buffers accordingly
10385
10386 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
10387
10388         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
10389           Don't ref NULL target pad (#322751). Improve docs.
10390
10391 2005-11-29  Michael Smith  <msmith@fluendo.com>
10392
10393         * gst/gstregistryxml.c: (load_plugin):
10394           Don't crash if we failed to load a feature from a plugin. 
10395
10396 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
10397
10398         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
10399         (GST_START_TEST):
10400           use more check API and less GLib API
10401
10402 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
10403
10404         * Makefile.am:
10405           don't run checks if we don't have check
10406         * common/check.mak:
10407           remove the registry when running make torture
10408         * docs/gst/gstreamer-sections.txt:
10409           remove second multiply
10410         * gst/gstqueue.c: (gst_queue_loop):
10411           fix a compile warning when disabling debug
10412
10413 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
10414
10415         * gst/gstinfo.h:
10416         Hey! Let's print the pad name if the pointer != NULL instead
10417         of when it == NULL :-)
10418
10419 2005-11-28  Wim Taymans  <wim@fluendo.com>
10420
10421         * check/gst/gstutils.c: (GST_START_TEST):
10422         Updated check, add some scaling accuracy checking code.
10423
10424         * gst/gstutils.c: (gst_util_div128_64),
10425         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
10426         (gst_util_uint64_scale_int):
10427         Fix 6 times faster division code. Optimize for common 
10428         1/1 and less common X/1 cases.
10429
10430 2005-11-28  Wim Taymans  <wim@fluendo.com>
10431
10432         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
10433         More checks.
10434
10435         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
10436         (do_linear_regression), (gst_clock_add_observation):
10437         Cleanups.
10438         Release lock when the clock cannot be slaved.
10439         Catch the case where the regression returned an invalid denominator.
10440
10441         * gst/gstutils.c: (gst_util_div128_64_iterate),
10442         (gst_util_div128_64), (gst_util_uint64_scale_int64),
10443         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
10444         Add protentially more performant non-iterative 128/64 divide function
10445         that unfortunatly does not work yet.
10446         Shortcut the trivial 0/X = 0 case.
10447         Remove the warnings on overflow.
10448
10449 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
10450
10451         * gst/gstplugin.c: (gst_plugin_register_func):
10452           everything causing a plugin not to load should be at least a WARNING
10453
10454 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
10455
10456         * docs/random/ensonic/dparams.txt:
10457           some TODOs for the next dev cycle
10458         * libs/gst/controller/gstcontroller.c:
10459         (gst_controlled_property_set_interpolation_mode),
10460         (gst_controlled_property_new):
10461         * libs/gst/controller/gstcontroller.h:
10462           use base type to assign acccessor functions
10463
10464 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
10465
10466         * check/Makefile.am:
10467         Oops, that should have been top_srcdir
10468
10469 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
10470
10471         * check/Makefile.am:
10472         * check/elements/fdsrc.c: (GST_START_TEST):
10473         Use a cmdline define to specify the location of a file to use for
10474         testing, to avoid breaking distcheck.
10475
10476 2005-11-28  Andy Wingo  <wingo@pobox.com>
10477
10478         * gst/gstpad.c (fixate_value): Use array functions for arrays.
10479
10480 2005-11-28  Edward Hervey  <edward@fluendo.com>
10481
10482         * tools/gst-launch.c: (main):
10483         Clarify the output strings, makes it easier to translate.
10484         Fixes #322626
10485
10486 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
10487
10488         * gst/Makefile.am:
10489           don't try and build net if we don't even have <sys/socket.h>
10490
10491 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
10492
10493         * check/Makefile.am:
10494         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
10495         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
10496           Add tests for fdsrc seekability
10497
10498         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
10499         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
10500         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
10501         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
10502         * gst/elements/gstfdsrc.h:
10503           fdsrc should not be a 'live' source.
10504           Implement seeking on seekable fd's.
10505
10506         * gst/gstquery.c: (gst_query_new_seeking),
10507         (gst_query_parse_seeking):
10508         * gst/gstquery.h:
10509           Implement SEEKING query functions: 
10510             *_new_seeking and *_parse_seeking
10511
10512 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
10513
10514         * gst/gstelement.c: (gst_element_dispose):
10515           don't loop forever
10516
10517         * gst/gstiterator.c:
10518         * gst/gststructure.c:
10519           doc fixes
10520
10521         * libs/gst/controller/gstcontroller.c:
10522         (gst_controlled_property_set_interpolation_mode):
10523         * libs/gst/controller/gstcontroller.h:
10524         * libs/gst/controller/gstinterpolation.c:
10525         (interpolate_none_get_enum_value_array):
10526           support controlling enums
10527
10528 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
10529
10530         * gst/gstvalue.c:
10531           Improve documentation for gst_value_union().
10532
10533         * gst/gstvalue.h:
10534           Change return value for union, intersect and subtract functions
10535           from gint to gboolean.
10536
10537 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
10538
10539         * gst/gstvalue.c: (gst_value_serialize_any_list),
10540         (gst_value_transform_any_list_string),
10541         (gst_value_deserialize_list), (gst_value_deserialize_array),
10542         (gst_value_set_int_range), (gst_value_deserialize_int_range),
10543         (gst_value_set_double_range), (gst_value_deserialize_double_range),
10544         (gst_value_set_fraction_range_full),
10545         (gst_value_deserialize_fraction_range),
10546         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
10547         (gst_value_deserialize_boolean),
10548         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
10549         (gst_value_serialize_float), (gst_value_deserialize_float),
10550         (gst_string_wrap), (gst_value_deserialize_string),
10551         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
10552         (gst_value_union_int_range_int_range),
10553         (gst_value_intersect_int_range_int_range),
10554         (gst_value_intersect_double_range_double_range),
10555         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
10556         (gst_value_subtract_int_range_int_range),
10557         (gst_value_subtract_double_double_range),
10558         (gst_value_subtract_double_range_double_range),
10559         (gst_value_deserialize_fraction):
10560         * gst/gstvalue.h:
10561           Use gint, gdouble and gchar in our API instead of int, double and
10562           char (and make usage in gstvalue.c more consistent).
10563
10564 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
10565
10566         * check/Makefile.am:
10567         * libs/gst/controller/Makefile.am:
10568         * libs/gst/dataprotocol/Makefile.am:
10569           fix up Makefile.am and remove GST_ENABLE_NEW
10570
10571 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
10572
10573         * configure.ac:
10574         * gst/Makefile.am:
10575         * gst/base/Makefile.am:
10576         * gst/check/Makefile.am:
10577         * gst/elements/Makefile.am:
10578         * gst/net/Makefile.am:
10579           update LDFLAGS use some more
10580
10581 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
10582
10583         * common/m4/gst-doc.m4:
10584           Fixes #312589
10585
10586 2005-11-26  Edward Hervey  <edward@fluendo.com>
10587
10588         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
10589         This shouldn't issue a g_warning since it returns NULL if it
10590         couldn't find the plugin, and all functions using this behave
10591         properly on a NULL return. Switching to a GST_WARNING.
10592
10593 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
10594
10595         * gst/gstbin.c: (gst_bin_handle_message_func):
10596         Don't leak clock messages.
10597
10598 2005-11-25  Wim Taymans  <wim@fluendo.com>
10599
10600         * gst/gstutils.c: (gst_util_uint64_scale_int64),
10601         (gst_util_uint64_scale_int):
10602         Optimisations, remove unneeded vars.
10603
10604 2005-11-25  Wim Taymans  <wim@fluendo.com>
10605
10606         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
10607         Added more checks for the high precision uint64 cases.
10608
10609         * gst/gstutils.c: (gst_util_uint64_scale_int64),
10610         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
10611         Implement high precision (guint64 * guint64) / guint64.
10612
10613 2005-11-24  Wim Taymans  <wim@fluendo.com>
10614
10615         * gst/base/gstbasesrc.c: (gst_base_src_query):
10616         Fix wrong percentage query.
10617
10618         * gst/gstutils.c: (gst_util_uint64_scale),
10619         (gst_util_uint64_scale_int):
10620         Add some more common cases that can be handled 
10621         efficiently to _scale.
10622
10623 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
10624
10625         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
10626         (gst_mini_object_suite):
10627           don't use check calls from threads; check probably isn't
10628           threadsafe and using a lock to make it threadsafe would
10629           defeat the purpose of this check
10630         * gst/check/gstcheck.c:
10631         * gst/check/gstcheck.h:
10632           use GST_DEBUG some more
10633
10634 2005-11-24  Wim Taymans  <wim@fluendo.com>
10635
10636         * gst/gstutils.c: (gst_util_uint64_scale),
10637         (gst_util_uint64_scale_int):
10638         Chain trivial case to _scale_int.
10639
10640 2005-11-24  Wim Taymans  <wim@fluendo.com>
10641
10642         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
10643         Added test for scaling.
10644
10645         * gst/gstclock.h:
10646         Small doc fix.
10647
10648         * gst/gstutils.c: (gst_util_uint64_scale_int):
10649         Implemented high precision scaling code.
10650
10651 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
10652
10653         * gst/gstinfo.h:
10654           do not crash on pad==NULL
10655
10656 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
10657
10658         Patch by: Stefan Kost
10659
10660         * common/gtk-doc.mak:
10661         * docs/gst/Makefile.am:
10662         * docs/libs/Makefile.am:
10663           Fix distcheck issues for the libraries docs build
10664           Closes #319599.
10665
10666 2005-11-24  Michael Smith <msmith@fluendo.com>
10667
10668         * docs/manual/basics-helloworld.xml:
10669           Fix bug #315027: memory leak in example code in docs.
10670
10671 2005-11-24  Michael Smith <msmith@fluendo.com>
10672
10673         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
10674           Unlock the PREROLL_LOCK in a failure case.
10675
10676 2005-11-24  Wim Taymans  <wim@fluendo.com>
10677
10678         * docs/gst/gstreamer-sections.txt:
10679         * gst/base/gstadapter.h:
10680         * gst/base/gstbasesink.h:
10681         * gst/base/gstbasesrc.h:
10682         * gst/base/gstbasetransform.h:
10683         * gst/base/gstpushsrc.h:
10684         * gst/elements/gstfakesink.h:
10685         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
10686         * gst/elements/gstfakesrc.h:
10687         * gst/elements/gstfilesink.h:
10688         * gst/elements/gstfilesrc.h:
10689         * gst/gst.c:
10690         * gst/gstbin.c:
10691         * gst/gstbuffer.c: (_gst_buffer_copy):
10692         * gst/gstbus.h:
10693         * gst/gstcaps.c:
10694         * gst/gstchildproxy.c:
10695         * gst/gstclock.c:
10696         * gst/gstelement.c:
10697         * gst/gstelementfactory.c:
10698         * gst/gstelementfactory.h:
10699         * gst/gstevent.c:
10700         * gst/gstghostpad.h:
10701         * gst/gstindex.h:
10702         * gst/gstinterface.h:
10703         * gst/gstminiobject.c:
10704         * gst/gstminiobject.h:
10705         * gst/gstpad.c:
10706         * gst/gstpad.h:
10707         * gst/gstpadtemplate.h:
10708         * gst/gstpipeline.h:
10709         * gst/gstpluginfeature.h:
10710         * gst/gstquery.h:
10711         * gst/gstqueue.h:
10712         * gst/gsttaglist.c:
10713         * gst/gsttaglist.h:
10714         * gst/gsttagsetter.c:
10715         * gst/gsttagsetter.h:
10716         * gst/gsttrace.c:
10717         * gst/gsttrace.h:
10718         * gst/gsttypefind.h:
10719         * gst/gsturi.h:
10720         * gst/gstvalue.c:
10721         * gst/net/gstnetclientclock.c:
10722         * gst/net/gstnetclientclock.h:
10723         * gst/net/gstnettimepacket.c:
10724         * gst/net/gstnettimeprovider.c:
10725         * gst/net/gstnettimeprovider.h:
10726         Doc fixes.
10727
10728 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
10729
10730         * configure.ac: back to HEAD
10731
10732 === release 0.9.6 ===
10733
10734 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
10735
10736         * configure.ac:
10737           releasing 0.9.6, "Always On Time"
10738
10739 2005-11-23  Wim Taymans  <wim@fluendo.com>
10740
10741         * docs/gst/gstreamer-sections.txt:
10742         * gst/glib-compat.c:
10743         * gst/gsttagsetter.c:
10744         * gst/gstvalue.c:
10745         * gst/net/gstnetclientclock.c:
10746         * gst/net/gstnettimepacket.h:
10747         Doc updates.
10748
10749 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
10750
10751         * docs/faq/using.xml:
10752         * docs/libs/tmpl/gstcontrol.sgml:
10753         * docs/manual/advanced-dparams.xml:
10754         * docs/manual/appendix-checklist.xml:
10755         * docs/manual/basics-elements.xml:
10756         * docs/pwg/other-source.xml:
10757         * docs/random/moving-plugins:
10758         * gst/gstpad.c:
10759         * tools/gst-launch.1.in:
10760           remove mentions of sinesrc
10761
10762 2005-11-23  Michael Smith <msmith@fluendo.com>
10763
10764         * docs/gst/gstreamer-sections.txt:
10765           Update for new API and API changes.
10766         * gst/gstobject.h:
10767           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
10768         * gst/gstvalue.c:
10769           Documentation typo fix.
10770         * gst/net/gstnettimepacket.c:
10771           Documentation fixes for arguments.
10772
10773 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
10774
10775         * gst/gststructure.c: (gst_structure_get_fraction),
10776         (gst_structure_parse_value),
10777         (gst_structure_fixate_field_nearest_fraction):
10778         * gst/gststructure.h:
10779         * gst/gstutils.c: (gst_util_uint64_scale_int):
10780         * gst/gstutils.h:
10781         * scripts/update-funcnames:
10782         API Changes. 
10783         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
10784         Make gst_structure_fixate_field_nearest_fraction take a numerator
10785         and denominator argument instead of a GValue
10786         add gst_structure_get_fraction helper function.
10787
10788 2005-11-23  Wim Taymans  <wim@fluendo.com>
10789
10790         * docs/design/part-TODO.txt:
10791         Update TODO.
10792
10793         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
10794         * gst/net/gstnetclientclock.h:
10795         Use parent fields for timeout and window_size.
10796
10797 2005-11-23  Andy Wingo  <wingo@pobox.com>
10798
10799         * check/net/gstnetclientclock.c (test_functioning): Adjust to
10800         rate_num/rate_denom change.
10801
10802         * gst/net/gstnetclientclock.c
10803         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
10804         OBJECT_LOCK. Don't call add_observation with the lock.
10805
10806         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
10807         fraction.
10808         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
10809         rate fraction.
10810         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
10811         deal with rate as a fraction whose numerator and denominator are
10812         GstClockTime values.
10813         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
10814         master; the other fields are protected by the SLAVE_LOCK.
10815         (do_linear_regression): Note that this must be called with the
10816         SLAVE_LOCK.
10817         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
10818         OBJECT_LOCK. Call set_calibration instead of touching the
10819         variables directly.
10820         (gst_clock_set_property, gst_clock_get_property): Protect
10821         master/slave parameters with the SLAVE_LOCK.
10822
10823         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
10824         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
10825         note that all of the instance variables that add_observation and
10826         the set_master functions use are protected by that lock and not
10827         the OBJECT_LOCK.
10828         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
10829
10830         * gst/gstclock.c (gst_clock_add_observation): No longer requires
10831         the caller to take the object lock.
10832
10833 2005-11-23  Wim Taymans  <wim@fluendo.com>
10834
10835         * gst/gsterror.c: (_gst_core_errors_init):
10836         * gst/gsterror.h:
10837         Add error for clock stuff.
10838
10839         * gst/gstpipeline.c: (gst_pipeline_change_state),
10840         (gst_pipeline_set_clock):
10841         Post clock error when clock cannot be used in a pipeline.
10842
10843 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
10844
10845         * docs/gst/gstreamer-sections.txt:
10846           make two symbols from gstinfo private for the docs
10847         * gst/base/gstcollectpads.h:
10848         * gst/gstutils.c:
10849           fix doc typos, update docs
10850
10851 2005-11-22  Wim Taymans  <wim@fluendo.com>
10852
10853         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
10854         (gst_base_sink_wait), (gst_base_sink_do_sync),
10855         (gst_base_sink_handle_event):
10856         * gst/base/gstbasesink.h:
10857         No need to store the clock, the parent element class already
10858         has it.
10859
10860         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
10861         Updates for clock_set returning a gboolean
10862
10863         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
10864         (gst_clock_id_wait_async), (gst_clock_class_init),
10865         (gst_clock_init), (gst_clock_finalize),
10866         (gst_clock_get_internal_time), (gst_clock_get_time),
10867         (gst_clock_slave_callback), (gst_clock_set_master),
10868         (gst_clock_get_master), (do_linear_regression),
10869         (gst_clock_add_observation), (gst_clock_set_property),
10870         (gst_clock_get_property):
10871         * gst/gstclock.h:
10872         Implement master/slave. When setting a clock as a slave, a
10873         periodic timeout is scheduled to sample master and slave times.
10874         Then the slave clock is recalibrated to match offset and rate
10875         of the master clock.
10876         Update logging a bit.
10877         Add flag so that a clock can state that is cannot be slaved to
10878         another clock.
10879
10880         * gst/gstelement.c: (gst_element_set_clock):
10881         * gst/gstelement.h:
10882         The set clock returns a gboolean for when an element cannot
10883         deal with the selected clock in the pipeline. 
10884
10885         * gst/gstpipeline.c: (gst_pipeline_change_state),
10886         (gst_pipeline_set_clock):
10887         * gst/gstpipeline.h:
10888         Handle the case where the selected clock cannot be set on
10889         the pipeline.
10890
10891         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
10892         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
10893         (gst_net_client_clock_set_property),
10894         (gst_net_client_clock_get_property),
10895         (gst_net_client_clock_observe_times):
10896         * gst/net/gstnetclientclock.h:
10897         Use regression code in GstClock parent, remove duplicated
10898         functionality.
10899
10900 2005-11-22  Michael Smith <msmith@fluendo.com>
10901
10902         * gst/gstutils.c: (gst_util_clock_time_scale):
10903         * gst/gstutils.h:
10904         * docs/gst/gstreamer-sections.txt:
10905           Rename method to have extra underscore.
10906
10907 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
10908
10909         * gst/elements/Makefile.am:
10910         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
10911         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
10912         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
10913         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
10914         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
10915         * gst/elements/gstfakesrc.h:
10916         * gst/gstqueue.c: (queue_leaky_get_type):
10917           correctly fix GEnumValues so that nick is the short lowercase
10918           dashed tag
10919         * tools/gst-inspect.c: (print_element_properties_info):
10920           also show the nick, since it's useful to use from parse_launch
10921           syntax
10922           Fixes #322139
10923
10924 2005-11-22  Michael Smith <msmith@fluendo.com>
10925
10926         * gst/gstutils.c: (gst_util_clocktime_scale):
10927         * gst/gstutils.h:
10928         * docs/gst/gstreamer-sections.txt:
10929           Add util method for scaling a clocktime by a fraction. Useful 
10930           implementation is left as an exercise for the reader.
10931
10932 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
10933
10934         * gst/gstvalue.c: (gst_value_collect_fraction_range):
10935         If needed, allocate storage in the destination value during
10936         collection.
10937
10938 2005-11-22  Edward Hervey  <edward@fluendo.com>
10939
10940         * docs/gst/gstreamer-sections.txt:
10941         * gst/Makefile.am:
10942         * gst/gst.h:
10943         * gst/gsturitype.c:
10944         * gst/gsturitype.h:
10945         * gst/gstutils.c: (gst_util_set_object_arg):
10946         * tools/gst-compprep.c: (main):
10947         * tools/gst-inspect.c: (print_element_properties_info):
10948         Removed GstURI, closes bug #321061
10949
10950 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
10951
10952         * check/gst/gststructure.c: (GST_START_TEST):
10953         * gst/gststructure.c: (gst_structure_parse_value):
10954           Oops, broke automatic string type parsing.
10955           Add a test to catch it in future.
10956
10957 2005-11-22  Andy Wingo  <wingo@pobox.com>
10958
10959         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
10960         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
10961         Actually rename the function implementations. Grr.
10962
10963 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
10964
10965         * check/gst/capslist.h:
10966           Comment test cases
10967         * check/gst/gststructure.c: (GST_START_TEST),
10968         (gst_structure_suite):
10969           Test automatic value type detection in gst_structure_from_string.
10970         * gst/gststructure.c: (gst_structure_parse_value):
10971           Add fraction as a type we try and guess automatically in
10972           caps/structure strings.
10973
10974 2005-11-22  Andy Wingo  <wingo@pobox.com>
10975
10976         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
10977
10978         * gst/gsttagsetter.h:
10979         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
10980         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
10981         (gst_tag_setter_add_tag_valist)
10982         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
10983         _add_values, _add_valist, and _add_valist_values. Since this is an
10984         interface the function suffixes should be more explicit so
10985         language binding don't end up with element.add_valist ->
10986         gst_tag_setter_add_valist, for example. Fixes #322069.
10987
10988 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
10989
10990         * check/gst/gstcaps.c: (GST_START_TEST):
10991           Extend caps string tests to check that a caps to string
10992           conversion is reversible and produces the same caps.
10993
10994         * gst/gststructure.c: (gst_structure_value_get_generic_type):
10995           Output "fraction" as the generic type fraction range, so caps
10996           serialisation and deserialisation works.
10997         * check/gst/capslist.h:
10998         * gst/gstvalue.c: (gst_value_deserialize_fraction):
10999           Support 'MIN' and 'MAX' for deserialising fractions.
11000
11001 2005-11-22  Andy Wingo  <wingo@pobox.com>
11002
11003         * gst/gstevent.h (gst_event_new_new_segment)
11004         (gst_event_parse_new_segment, gst_event_new_buffer_size)
11005         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
11006         Renamed from *_newsegment, *_buffersize, *_notarget.
11007
11008         * scripts/update-funcnames: New script, performs the changes
11009         listed above.
11010
11011 2005-11-22  Wim Taymans  <wim@fluendo.com>
11012
11013         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
11014         Make sure the GstFlowReturn is returned.
11015
11016         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
11017         (gst_bus_add_signal_watch):
11018         * gst/gstbus.h:
11019         add gst_bus_add_signal_watch_full.
11020
11021         * gst/gstplugin.c: (gst_plugin_load_file):
11022         Small style cleanup.
11023
11024 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
11025
11026         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
11027           Block the fakesrc srcpad when we send an event, to avoid
11028           contention on the stream_lock causing random test failures.
11029
11030 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
11031
11032         * check/gst/gstvalue.c: (GST_START_TEST):
11033         * gst/gstvalue.c: (gst_value_fraction_subtract):
11034           Fix subtraction.
11035
11036 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
11037
11038         * gst/gst.h:
11039           include "gstchildproxy.h"
11040         * gst/gstchildproxy.h:
11041         * libs/gst/controller/gstcontroller.h:
11042           use G_GNUC_NULL_TERMINATED
11043
11044 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
11045
11046         * check/gst/capslist.h:
11047         * check/gst/gstcaps.c: (GST_START_TEST):
11048         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
11049         * gst/gststructure.c: (gst_structure_parse_range),
11050         (gst_structure_fixate_field_nearest_fraction):
11051         * gst/gststructure.h:
11052         * gst/gstvalue.c: (gst_value_init_fraction_range),
11053         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
11054         (gst_value_collect_fraction_range),
11055         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
11056         (gst_value_set_fraction_range_full),
11057         (gst_value_get_fraction_range_min),
11058         (gst_value_get_fraction_range_max),
11059         (gst_value_serialize_fraction_range),
11060         (gst_value_transform_fraction_range_string),
11061         (gst_value_compare_fraction_range),
11062         (gst_value_deserialize_fraction_range),
11063         (gst_value_intersect_fraction_fraction_range),
11064         (gst_value_intersect_fraction_range_fraction_range),
11065         (gst_value_subtract_fraction_fraction_range),
11066         (gst_value_subtract_fraction_range_fraction),
11067         (gst_value_subtract_fraction_range_fraction_range),
11068         (gst_value_collect_fraction), (gst_value_fraction_multiply),
11069         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
11070         (gst_value_transform_string_fraction), (_gst_value_initialize):
11071         * gst/gstvalue.h:
11072           Implement fraction ranges and extend GstFraction to support
11073           arithmetic subtraction, as well as deserialization from integer
11074           strings such as "100"
11075           Add a testsuite as for int and double range set operations
11076
11077 2005-11-21  Andy Wingo  <wingo@pobox.com>
11078
11079         * gst/gsttaglist.h: 
11080         * gst/gstcaps.h: 
11081         * gst/gststructure.h: Add glib-compat.h.
11082
11083 2005-11-21  Wim Taymans  <wim@fluendo.com>
11084
11085         * gst/gstbin.c: (gst_bin_change_state_func):
11086         Fix for #321595
11087
11088 2005-11-21  Wim Taymans  <wim@fluendo.com>
11089
11090         * gst/gstsegment.h:
11091         And add a nice define too.
11092
11093 2005-11-21  Wim Taymans  <wim@fluendo.com>
11094
11095         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
11096         (gst_segment_new), (gst_segment_free), (gst_segment_init),
11097         (gst_segment_set_duration), (gst_segment_set_last_stop),
11098         (gst_segment_set_seek), (gst_segment_set_newsegment),
11099         (gst_segment_to_stream_time), (gst_segment_to_running_time),
11100         (gst_segment_clip):
11101         * gst/gstsegment.h:
11102         Make binding friendly.
11103
11104 2005-11-21  Andy Wingo  <wingo@pobox.com>
11105
11106         * gst/gsttagsetter.h: 
11107         * gst/gsttaglist.h: 
11108         * gst/gststructure.h: 
11109         * gst/gstcaps.h: 
11110         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
11111         #319940.
11112
11113         * gst/gsterror.c (_gst_core_errors_init):
11114         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
11115         category.
11116
11117         * gst/Makefile.am (gst_headers): Add glib-compat.h.
11118         (noinst_HEADERS): noinst the -private.
11119
11120 2005-11-21  Michael Smith <msmith@fluendo.com>
11121
11122         * gst/gstplugin.h:
11123         * gst/gstregistry.h:
11124           Remove unimplemented declarations for which we can see no sensible
11125           use.
11126
11127 2005-11-21  Andy Wingo  <wingo@pobox.com>
11128
11129         * gst/gst.h: Include glib-compat.h.
11130
11131         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
11132
11133         * gst/glib-compat.c: Include the public and the private header.
11134
11135         * gst/glib-compat-private.h: Copied here from glib-compat.h.
11136
11137         * gst/gstvalue.c: 
11138         * gst/gstpad.c: 
11139         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
11140
11141         * check/gst/gstevent.c (create_custom_events): Check that
11142         FLUSH_STOP is serialized.
11143
11144         * check/elements/identity.c (event_func): 
11145         * check/elements/fakesrc.c (event_func): No stream lock, the core
11146         takes it.
11147
11148         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
11149         stream lock taking, yay.
11150
11151         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
11152         ensure that core takes the stream lock.
11153
11154         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
11155         lock name change.
11156
11157         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
11158         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
11159         it already. For the flush start we do take it though so we get the
11160         right preroll state change messages.
11161
11162         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
11163         the stream lock here, the core does it for us.
11164
11165         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
11166         GST_STREAM_GET_LOCK.
11167         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
11168         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
11169         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
11170         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
11171         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
11172         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
11173
11174         * gst/gstpad.c: Update for stream lock name change.
11175
11176         * gst/base/gstbasesink.c: Update for preroll lock name change.
11177
11178 2005-11-21  Wim Taymans  <wim@fluendo.com>
11179
11180         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
11181         (gst_clock_get_master):
11182         * gst/gstclock.h:
11183         * gst/gstsystemclock.c: (gst_system_clock_init):
11184         Convert Clock flags to object flags.
11185         Added methods to manage master/slave clocks.
11186
11187 2005-11-21  Wim Taymans  <wim@fluendo.com>
11188
11189         * check/gst/gstsegment.c: (GST_START_TEST):
11190         * docs/design/part-TODO.txt:
11191         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
11192         (gst_base_sink_event), (gst_base_sink_do_sync),
11193         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
11194         (gst_base_sink_query), (gst_base_sink_change_state):
11195         * gst/base/gstbasesink.h:
11196         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
11197         (gst_base_src_default_newsegment),
11198         (gst_base_src_configure_segment), (gst_base_src_do_seek),
11199         (gst_base_src_get_range), (gst_base_src_loop),
11200         (gst_base_src_change_state):
11201         * gst/base/gstbasesrc.h:
11202         * gst/base/gstbasetransform.c:
11203         (gst_base_transform_prepare_output_buf),
11204         (gst_base_transform_event), (gst_base_transform_change_state):
11205         * gst/base/gstbasetransform.h:
11206         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
11207         (gst_collect_pads_event):
11208         * gst/base/gstcollectpads.h:
11209         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
11210         (gst_fake_src_create):
11211         * gst/elements/gstfakesrc.h:
11212         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
11213         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
11214         (gst_segment_set_last_stop), (gst_segment_set_seek),
11215         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
11216         (gst_segment_to_running_time), (gst_segment_clip):
11217         * gst/gstsegment.h:
11218         More segment updates, replace code in plugins with segment
11219         helper functions.
11220
11221 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
11222
11223         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
11224         Don't ignore sscanf results
11225
11226 2005-11-21  Andy Wingo  <wingo@pobox.com>
11227
11228         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
11229
11230         * *.h:
11231         * *.c: Ran scripts/update-macros. Oh yes.
11232
11233         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
11234         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
11235         GST_GET_LOCK, etc.
11236
11237         * scripts/update-macros: New script. Run it on your files to
11238         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
11239         well.
11240
11241 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
11242
11243         * docs/gst/Makefile.am:
11244         * docs/gst/gstreamer-docs.sgml:
11245         * docs/gst/gstreamer-sections.txt:
11246         * docs/gst/gstreamer.types:
11247         * gst/gstinfo.h:
11248           more docs fixes, add new api to the docs
11249
11250 2005-11-21  Andy Wingo  <wingo@pobox.com>
11251
11252         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
11253         state_broadcast call.
11254
11255         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
11256
11257 2005-11-21  Julien MOUTTE  <julien@moutte.net>
11258
11259         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
11260         function calls for arrays.
11261
11262 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
11263
11264         * docs/random/ensonic/media-device-daemon.txt:
11265           wild idea, can this be done?
11266         * docs/gst/gstreamer-sections.txt:
11267         * gst/gsterror.h:
11268         * gst/gstfilter.c:
11269         * gst/gstfilter.h:
11270         * gst/gstplugin.h:
11271         * gst/gstpluginfeature.c:
11272         * gst/gsttrace.c:
11273         * gst/gstvalue.c:
11274         * gst/gstvalue.h:
11275           doc fixes and additions
11276
11277 2005-11-21  Andy Wingo  <wingo@pobox.com>
11278
11279         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
11280         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
11281         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
11282         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
11283         private to the basesrc implementation.
11284
11285         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
11286         behalf of event function if necessary. It should no longer be
11287         necessary to take the stream lock in pad's event functions. Fixes
11288         #320299.
11289
11290 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
11291         * docs/gst/gstreamer-sections.txt:
11292         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
11293         (gst_structure_fixate_field_nearest_double),
11294         (gst_structure_fixate_field_boolean):
11295         * gst/gststructure.h:
11296         * win32/common/libgstreamer.def:
11297         * win32/gstreamer.def:
11298
11299         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
11300         (#322027)
11301
11302 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
11303
11304         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
11305         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
11306         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
11307         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
11308         (gst_fdsrc_uri_handler_init):
11309         * gst/elements/gstfdsrc.h:
11310           Port fd:// URI handler from 0.8 to fdsrc
11311
11312 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
11313
11314         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
11315         (gst_value_serialize_fourcc):
11316         * gst/gstvalue.h:
11317           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
11318           consistent with our other format defines (#320324).
11319
11320 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
11321
11322         * gst/gstvalue.c: (gst_value_is_fixed):
11323           Revert previous commit. Value lists are by definition
11324           not fixed, as they are a list of possible values.
11325
11326 2005-11-21  Andy Wingo  <wingo@pobox.com>
11327
11328         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
11329         during the stable series if we need it. Fixes #319178.
11330
11331         * gst/gstevent.c (gst_event_new_filler): Removed.
11332
11333         * check/gst/gstevent.c: Update comment about filler events.
11334
11335 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
11336
11337         * gst/gstvalue.c: (gst_value_is_fixed):
11338           Should handle both value arrays and value lists.
11339
11340 2005-11-21  Andy Wingo  <wingo@pobox.com>
11341
11342         patch by: Alessandro Dessina <alessandro nnva org>
11343
11344         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
11345         functions to access arrays. Fixes #321962.
11346
11347 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
11348
11349         * docs/gst/gstreamer.types:
11350           gst_collectpads_get_type => gst_collect_pads_get_type.
11351           
11352         * gst/base/gstbasetransform.c:
11353           Remove unused SIGNAL_HANDOFF enum.
11354
11355 2005-11-21  Andy Wingo  <wingo@pobox.com>
11356
11357         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
11358         the event type (upstream, downstream, serialized). Renamed
11359         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
11360         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
11361         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
11362
11363         * gst/gstevent.c: Update for new CUSTOM event names.
11364
11365         * check/gst/gstevent.c: Update check for new CUSTOM event names.
11366
11367         * gst/gstevent.h:
11368         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
11369         bug #319392.
11370
11371 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
11372
11373         * docs/gst/gstreamer-sections.txt:
11374         * win32/common/libgstbase.def:
11375         * win32/libgstbase.def:
11376         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
11377         (gst_collect_pads_class_init), (gst_collect_pads_init),
11378         (gst_collect_pads_finalize), (gst_collect_pads_new),
11379         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
11380         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
11381         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
11382         (gst_collect_pads_start), (gst_collect_pads_stop),
11383         (gst_collect_pads_peek), (gst_collect_pads_pop),
11384         (gst_collect_pads_available), (gst_collect_pads_read),
11385         (gst_collect_pads_flush), (gst_collect_pads_event),
11386         (gst_collect_pads_chain):
11387         * gst/base/gstcollectpads.h:
11388           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
11389           unimplemented functions as unimplemented. Add padding to
11390           GstCollectData. (#320766, #320423)
11391
11392 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
11393
11394         * gst/gstmessage.c:
11395           Improve docs for DURATION message (usage of duration parameter)
11396           (#320113)
11397
11398 2005-11-20  Wim Taymans  <wim@fluendo.com>
11399
11400         * check/Makefile.am:
11401         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
11402         (main):
11403         * gst/Makefile.am:
11404         * gst/gst.h:
11405         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
11406         (gst_segment_set_seek), (gst_segment_set_newsegment),
11407         (gst_segment_to_stream_time), (gst_segment_to_running_time),
11408         (gst_segment_clip):
11409         * gst/gstsegment.h:
11410         Added segment helper structure and methods. Not fully implemented
11411         yet.
11412         Added segment check.
11413
11414 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
11415
11416         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
11417           Add a deserialisation test for fractions
11418         * examples/metadata/read-metadata.c: (message_loop),
11419         (make_pipeline), (main):
11420           Fix up metadata reading sample.
11421         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
11422           Debug format fix
11423         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
11424           Don't try and fixate empty caps
11425         * gst/gst_private.h:
11426           Wrap in G_BEGIN_DECLS/G_END_DECLS
11427         * gst/gstvalue.c: (gst_value_collect_fraction),
11428         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
11429         (gst_value_transform_string_fraction),
11430         (gst_value_compare_fraction):
11431           Add some extra guards to ensure that we don't end up 
11432           with an invalid denominator of 0 in a gstfraction and
11433           that fractions always get reduced.
11434
11435 2005-11-20  Wim Taymans  <wim@fluendo.com>
11436
11437         * docs/gst/gstreamer-sections.txt:
11438         * gst/gstbuffer.h:
11439         * gst/gstelement.c:
11440         * gst/gstformat.c:
11441         * gst/gstformat.h:
11442         * gst/gstindex.h:
11443         * gst/gstquery.c:
11444         * gst/gstquery.h:
11445         * gst/gstvalue.c:
11446         Doc fixes.
11447
11448 2005-11-20  Wim Taymans  <wim@fluendo.com>
11449
11450         * docs/design/part-TODO.txt:
11451         * gst/gstcaps.h:
11452         Make a proper enum of the flag.
11453
11454 2005-11-19  Wim Taymans  <wim@fluendo.com>
11455
11456         * docs/design/part-TODO.txt:
11457         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
11458         (gst_format_to_quark), (gst_format_register):
11459         * gst/gstformat.h:
11460         * gst/gstquery.c: (_gst_query_initialize),
11461         (gst_query_type_get_name), (gst_query_type_to_quark),
11462         (gst_query_type_register):
11463         * gst/gstquery.h:
11464         Add type to quark and type to string conversions.
11465
11466 2005-11-19  Andy Wingo  <wingo@pobox.com>
11467
11468         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
11469         #320097.
11470
11471 2005-11-19  Wim Taymans  <wim@fluendo.com>
11472
11473         * docs/design/part-TODO.txt:
11474         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
11475         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
11476         (gst_bin_handle_message_func):
11477         * gst/gstbin.h:
11478         Make message handling overridable.
11479
11480 2005-11-19  Andy Wingo  <wingo@pobox.com>
11481
11482         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
11483
11484         * gst/gstclock.h:
11485         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
11486         be a GstClockTime.
11487         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
11488         is a GstClockTime. Fixes #321710.
11489
11490         * gst/gstclock.h (GstClock): Remove offset property. Add
11491         internal_calibration and external_calibration. Fix padding. Pad
11492         also by GstClockTime so we don't run into problems.
11493
11494         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
11495         (gst_clock_get_rate_offset): Remove.
11496         (gst_clock_set_time_adjust): Remove. Fixes #321712.
11497
11498         * gst/gstutils.h:
11499         * gst/gstutils.c (g_static_rec_cond_wait)
11500         (g_static_rec_cond_timed_wait): Removed, no longer needed.
11501
11502         * gst/gstbin.c: Remove terrible continue_state prototype.
11503
11504         * gst/gstelement.h (gst_element_continue_state): Make public.
11505
11506         * gst/gstelement.h:
11507         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
11508         by continue_state. Fixes #319389.
11509
11510         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
11511         Really fixes #168438. However I don't see anywhere where the
11512         filter function is called... stupid GStreamer...
11513         
11514         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
11515         don't have a dispose function, so it won't get called when the
11516         object is unreffed, but oh well!
11517
11518         * gst/gstindex.c (gst_index_set_filter_full): New API function,
11519         allows a destroy function to be set so user_data can be freed.
11520         Fixes #168438.
11521         (gst_index_set_filter): Call gst_index_set_filter_full.
11522
11523         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
11524
11525         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
11526         string should produce an error, given the lack of a way to
11527         represent NULL strings. Fixes #165650.
11528         
11529         * gst/gstvalue.h: 
11530         * gst/gstvalue.c (gst_value_array_append_value) 
11531         (gst_value_array_prepend_value, gst_value_array_get_size) 
11532         (gst_value_array_get_value): New API, copied from
11533         gst_value_list_*, only operates on arrays.
11534         (gst_value_list_append_value, gst_value_list_prepend_value) 
11535         (gst_value_list_concat, gst_value_list_get_size) 
11536         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
11537
11538         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
11539         init_list, because it works on both.
11540         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
11541         (gst_value_copy_list_or_array): Renamed from copy_list.
11542         (gst_value_free_list_or_array): Renamed from free_list.
11543         (gst_value_collect_list_or_array): Renamed from collect_list.
11544         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
11545         (gst_value_list_or_array_peek_pointer): Renamed from
11546         list_peek_pointer.
11547         (_gst_value_array_value_table, _gst_value_list_value_table):
11548         Update value table functions.
11549         (gst_value_compare_list_or_array): Renamed from compare_list.
11550
11551         * gsttaglist.h: Whoops, foreach function returns void. Also fix
11552         some constness.
11553
11554         * gst/gsttaglist.c:
11555         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
11556         GstTagList*. Fixes #143472.
11557
11558         * gst/gststructure.h: Clarify what the foreach/map functions can
11559         or can't do to their arguments.
11560
11561 2005-11-18  Wim Taymans  <wim@fluendo.com>
11562
11563         * gst/gstclock.c: (gst_clock_set_calibration),
11564         (gst_clock_get_calibration):
11565         Doc and API fixes.
11566         Calibration can be set with internal time equal to current
11567         internal time too.
11568
11569 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
11570
11571         * gst/gsterror.c:
11572         * gst/gsterror.h:
11573           document
11574
11575 2005-11-18  Andy Wingo  <wingo@pobox.com>
11576
11577         * configure.ac: 
11578         * pkgconfig/gstreamer-net.pc.in:
11579         * pkgconfig/gstreamer-net-uninstalled.pc.in:
11580         * pkgconfig/Makefile.am: Add net pkgconfig files.
11581
11582 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
11583
11584         * gst/gstcaps.c:
11585         * gst/gstghostpad.c:
11586         * gst/gsttrace.c:
11587         * gst/gstvalue.c:
11588         * gst/gstvalue.h:
11589           docs fixes
11590
11591 2005-11-18  Andy Wingo  <wingo@pobox.com>
11592
11593         * gst/net/gstnetclientclock.c: Turn off debugging.
11594
11595         * check/net/gstnetclientclock.c (test_functioning): Assert that the
11596         times connverge somewhat. Can't make a real test.
11597
11598         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
11599         integer arithmetic. Return the minimum of the domain, which can be
11600         set as "internal" for gst_clock_set_calibration.
11601         (gst_net_client_clock_observe_times): Call _set_calibration.
11602         (gst_net_client_clock_new): Call _set_calibration instead of
11603         rate_offset.
11604
11605         * check/net/gstnetclientclock.c (test_functioning): Use the right
11606         adjustment api.
11607
11608         * gst/gstclock.h:
11609         * gst/gstclock.c (gst_clock_get_calibration) 
11610         (gst_clock_set_calibration): New functions, obsolete the ones I
11611         added yesterday. Doh. Precision issues mean we have to extrapolate
11612         from a point in the more recent past than 1970.
11613         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
11614         obsolete.
11615         (gst_clock_adjust_unlocked): Use the right calibration data.
11616
11617 2005-11-18  Edward Hervey  <edward@fluendo.com>
11618
11619         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
11620         Also reset the ->current_* values in READY->PAUSED
11621
11622 2005-11-18  Andy Wingo  <wingo@pobox.com>
11623
11624         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
11625         Whoops, check the right fd. Also add some debugging.
11626         (gst_net_client_clock_observe_times): Adjust for int64 offset.
11627         (do_linear_regression): Add a crapload of debugging. Subtract off
11628         the minimum values from the input series to discard unneeded bits.
11629         Use only int arithmetic. There is still double arithmetic when
11630         calculating the intercept that needs fixing. Return boolean to
11631         indicate success; FALSE would mean the domain or range is too
11632         great. Still needs fixes.
11633
11634 2005-11-18  Wim Taymans  <wim@fluendo.com>
11635
11636         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
11637         For the current position in stream time, we need to subtract
11638         accumulated time.
11639         
11640         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
11641         Release lock before calling the callback function of async
11642         entries.
11643
11644 2005-11-18  Andy Wingo  <wingo@pobox.com>
11645
11646         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
11647         Port goes all the way to MAXUINT16.
11648
11649         * gst/net/gstnettimeprovider.c: Make the port range the same as
11650         for the kernel: 0 assigns, otherwise ports are less than
11651         MAXUINT16.
11652
11653         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
11654         port change.
11655
11656         * check/net/gstnetclientclock.c (test_functioning): Add the start
11657         of another test. 
11658
11659 2005-11-18  Wim Taymans  <wim@fluendo.com>
11660
11661         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
11662         (gst_bin_remove_func), (bin_bus_handler):
11663         * gst/gstbin.h:
11664         Removing a clock provider from a bin, triggers a clock lost message
11665         so that a new clock will be selected.
11666         Adding a clock to a bin triggers a clock provider message.
11667         Make sure we reselect a clock when we received a clock lost message.
11668         Keep a reference to the element that provided the clock.
11669
11670 2005-11-18  Andy Wingo  <wingo@pobox.com>
11671
11672         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
11673         the clock initially so it produces values around the base time.
11674         (gst_net_client_clock_class_init): Typo fix.
11675         (gst_net_client_clock_thread): Add note on when the socket gets
11676         closed.
11677
11678 2005-11-17  Wim Taymans  <wim@fluendo.com>
11679
11680         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
11681         Free remote and local time arrays.
11682
11683 2005-11-17  Wim Taymans  <wim@fluendo.com>
11684
11685         * gst/net/gstnetclientclock.c: (do_linear_regression),
11686         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
11687         Fix compilation, uninitialized vars and a forgotten continue.
11688
11689 2005-11-17  Andy Wingo  <wingo@pobox.com>
11690
11691         * check/Makefile.am (check_PROGRAMS): 
11692         * check/net/gstnetclientclock.c: Add a most minimal test for the
11693         net client clock. More to come later.
11694
11695         * gst/net/gstnet.h: 
11696         * gst/net/Makefile.am: Add netclientclock.
11697
11698         * gst/net/gstnetclientclock.h:
11699         * gst/net/gstnetclientclock.c: New files, implement an untested
11700         GstClock that takes its time from a network time provider.
11701         Implements the algorithm in network-clock.scm.
11702
11703         * tests/network-clock.scm (*window-size*): Rename from
11704         *queue-length*.
11705         * tests/network-clock.scm (network-time): 
11706         * tests/network-clock-utils.scm (q-push): Update callers.
11707
11708 2005-11-17  Wim Taymans  <wim@fluendo.com>
11709
11710         * gst/gstbin.c: (gst_bin_provide_clock_func),
11711         (gst_bin_sort_iterator_new):
11712         And unref the child too..
11713
11714 2005-11-17  Wim Taymans  <wim@fluendo.com>
11715
11716         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
11717         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
11718         Refactor the sort iterator so it can be used while holding the
11719         LOCK too.
11720         Make clock selection select a clock closest to the source.
11721
11722 2005-11-17  Michael Smith <msmith@fluendo.com>
11723
11724         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
11725         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
11726         * gst/gstclock.h:
11727           Anonymous structs are a gcc (and some other compilers) extension, so
11728           don't use them. Since this is only for ABI-compatibility, and our
11729           API/ABI freeze is over in a few days, this whole thing will only
11730           last a few days, so don't bother trying to think up a meaningful
11731           name for the struct.
11732
11733 2005-11-17  Andy Wingo  <wingo@pobox.com>
11734
11735         * gst/gstclock.h (GstClock): Add rate and offset properties,
11736         preserving ABI stability. Add rate/offset accessors. Will file bug
11737         for the freeze break.
11738
11739         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
11740         and offset, trying to keep precision and avoiding
11741         underflow/overflow.
11742         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
11743         functions. Make gst_clock_set_time_adjust obsolete.
11744         (gst_clock_set_time_adjust): Note that this function is obsolete.
11745         Will file bug soon.
11746
11747         * gst/base/gstbasetransform.h: Make the ABI-stability hack
11748         greppable by using GST_PADDING-1+1.
11749
11750 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
11751
11752         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
11753
11754         * gst/gstmessage.c: (gst_message_parse_clock_lost):
11755           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
11756
11757         * gst/gstpadtemplate.h:
11758         * gst/gstpluginfeature.h:
11759           Don't use c++ style comments in headers (#321638).
11760
11761 2005-11-16  Andy Wingo  <wingo@pobox.com>
11762
11763         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
11764         buffer.
11765
11766         * check/net/gstnettimeprovider.c: Check to see that the time
11767         provider actually provides times. Works, yo!
11768
11769 2005-11-16  Wim Taymans  <wim@fluendo.com>
11770
11771         * check/Makefile.am:
11772         Enable more tests.
11773
11774         * check/elements/fakesrc.c: (GST_START_TEST):
11775         Set element to NULL before disposing it.
11776
11777 2005-11-16  Andy Wingo  <wingo@pobox.com>
11778
11779         * gst/net/Makefile.am:
11780         * gst/net/gstnet.h:
11781         * gst/net/gstnettimeprovider.c: 
11782         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
11783         provider, include it from gstnet.h, and add it to the build.
11784
11785         * gst/net/gstnettimepacket.h: 
11786         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
11787         sending and receiving.
11788
11789 2005-11-16  Wim Taymans  <wim@fluendo.com>
11790
11791         * check/Makefile.am:
11792         Enable valgrind check.
11793
11794         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
11795         (gst_fake_src_alloc_buffer):
11796         Fix memleak.
11797
11798 2005-11-16  Wim Taymans  <wim@fluendo.com>
11799
11800         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
11801         Call parent finalize too.
11802
11803 2005-11-16  Wim Taymans  <wim@fluendo.com>
11804
11805         * check/Makefile.am:
11806         Enable valgrind check that should work fine now.
11807
11808         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
11809         * gst/gstqueue.c: (gst_queue_init):
11810         Fix memleaks in pad allocation.
11811
11812 2005-11-16  Andy Wingo  <wingo@pobox.com>
11813
11814         * gst/net/Makefile.am:
11815         * gst/net/gstnet.h: New part of core to hold network elements and
11816         objects. Put in core because it exposes API that applications want
11817         to use. The library is named libgstnet-tempname right now because
11818         of the existing libgstnet in gst-plugins-base. Solution is
11819         probably to rename the one in plugins-base; will file a bug for
11820         the freeze break.
11821
11822         * gst/net/gstnettimeprovider.c: 
11823         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
11824         get_time call over the network.
11825
11826         * configure.ac: 
11827         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
11828
11829         * check/Makefile.am:
11830         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
11831         get additions shortly.
11832
11833 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
11834
11835         * gst/gstpad.c: (gst_pad_new_from_static_template):
11836         * gst/gstpad.h:
11837           add gst_pad_new_from_static_template functions
11838         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
11839         (gst_check_setup_sink_pad):
11840         * gst/elements/gsttee.c: (gst_tee_init):
11841           and use them
11842
11843 2005-11-16  Wim Taymans  <wim@fluendo.com>
11844
11845         * gst/gstpad.c: (gst_pad_pause_task):
11846         Removed warning, it's not really an error either.
11847
11848 2005-11-16  Wim Taymans  <wim@fluendo.com>
11849
11850         * gst/base/gstbasetransform.c:
11851         (gst_base_transform_prepare_output_buf),
11852         (gst_base_transform_event):
11853         Check if the caps are NULL, this can happen if the element
11854         is shutting down and the pad caps are set to NULL.
11855
11856 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
11857
11858         * gst/elements/gsttee.c: (gst_tee_init):
11859           fix pad template leak in tee
11860
11861 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
11862
11863         * gst/glib-compat.c: (g_value_dup_gst_object):
11864         * gst/glib-compat.h:
11865         * gst/gstpad.c: (gst_pad_set_property):
11866           use gst_object_ref when setting the pad template; this will
11867           trigger the pad template leaks on GLib 2.6 and the slaves
11868
11869 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
11870
11871         * gst/glib-compat.c: (gst_flags_get_first_value):
11872         * gst/glib-compat.h:
11873         * gst/gstregistryxml.c:
11874           remove functions copied from GLib 2.6
11875
11876 2005-11-16  Michael Smith <msmith@fluendo.com>
11877
11878         * gst/Makefile.am:
11879           Don't link against VALGRIND_LIBS. That was always the wrong thing to
11880           do, but only breaks with newer valgrind versions. We're not a
11881           valgrind tool, we have no link-time dependencies on libcoregrind.
11882
11883 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
11884
11885         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
11886           some debug changes
11887         * gst/gstmessage.h:
11888           typo fixes
11889
11890 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
11891
11892         * gst/base/gstbasesrc.c: (gst_base_src_init):
11893         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
11894         * gst/gstqueue.c: (gst_queue_init):
11895         * gst/gstregistryxml.c: (load_feature):
11896           Revert all these unrefs, they don't even pass make check !
11897
11898 2005-11-15  Johan Dahlin  <johan@gnome.org>
11899
11900         * gst/base/gstbasesrc.c: (gst_base_src_init):
11901         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
11902         * gst/gstqueue.c: (gst_queue_init): 
11903         Free pad templates, fixes a couple of leaks.
11904
11905 2005-11-15  Daniel Fischer  <dan at f3c dot com>
11906
11907         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
11908
11909         * gst/gstpad.c: (gst_pad_get_property):
11910           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
11911           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
11912           (#321452)
11913
11914 2005-11-15  Wim Taymans  <wim@fluendo.com>
11915
11916         * gst/gstevent.c:
11917         Small doc update.
11918
11919 2005-11-15  Andy Wingo  <wingo@pobox.com>
11920
11921         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
11922
11923         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
11924         using GST_CLOCK_TIME_NONE to disable base time management.
11925         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
11926         time if it was NONE before.
11927         (gst_pipeline_change_state): Only munge the base time if
11928         stream_time != GST_CLOCK_TIME_NONE.
11929
11930         * check/gst/gstpipeline.c (test_base_time): Punt around the
11931         problem of the probe not being called, because that's not the
11932         issue I'm looking at. Add a check that setting stream_time to NONE
11933         disables base time management.
11934         
11935 2005-11-15  Wim Taymans  <wim@fluendo.com>
11936
11937         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
11938         segment_stop == -1 at startup.
11939
11940         * gst/base/gstbasetransform.c: (gst_base_transform_event),
11941         (gst_base_transform_change_state):
11942         Init segment values at start.
11943
11944 2005-11-15  Wim Taymans  <wim@fluendo.com>
11945
11946         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
11947         0 segment values are 0 in any format.
11948
11949         * gst/base/gstbasetransform.c: (gst_base_transform_event):
11950         * gst/base/gstbasetransform.h:
11951         Parse newsegment correctly in basetransform
11952
11953         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
11954         Sync to clock using updated segment values.
11955
11956 2005-11-15  Andy Wingo  <wingo@pobox.com>
11957
11958         * check/gst/gstpipeline.c (test_base_time): Add check that the
11959         base time and stream time are reset correctly.
11960
11961 2005-11-15  Wim Taymans  <wim@fluendo.com>
11962
11963         * docs/design/part-TODO.txt:
11964         Some more TODO items.
11965
11966 2005-11-15  Andy Wingo  <wingo@pobox.com>
11967
11968         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
11969         error if the user selected "no clock" as the clocking method.
11970
11971         * check/gst/gstpipeline.c (test_base_time): New test for buffer
11972         timestamps with live capture.
11973
11974         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
11975         is 0 but we are a live source, timestamp the buffers using the
11976         element's clock.
11977
11978 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
11979
11980         * docs/gst/gstreamer-sections.txt:
11981         * gst/gsterror.c:
11982         * gst/gstghostpad.c:
11983         * gst/gstobject.h:
11984         * gst/gstxml.c:
11985           more section docs
11986
11987 2005-11-14  Wim Taymans  <wim@fluendo.com>
11988
11989         * common/gst.supp:
11990           add suppressions from Wim's Debian machine
11991
11992 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
11993
11994         * common/gst.supp:
11995           add suppressions from Andy's AMD64 Ubuntu machine
11996
11997 2005-11-14  Andy Wingo  <wingo@pobox.com>
11998
11999         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
12000         STATE_LOCK not necessary. Fixes #311489.
12001
12002         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
12003         #305291.
12004
12005         * gst/gstindex.c (gst_index_add_object): Note in the docs that
12006         this function is not implemented.
12007
12008 2005-11-14  Julien MOUTTE  <julien@moutte.net>
12009
12010         * gst/base/gstbasetransform.c:
12011         (gst_base_transform_prepare_output_buf):
12012         Ref the source pad caps while we need them.
12013         Fixes (#321386)
12014
12015 2005-11-11  Wim Taymans  <wim@fluendo.com>
12016
12017         * docs/gst/gstreamer-sections.txt:
12018         Added some docs for GstCollectData.
12019
12020         * gst/base/gstadapter.c:
12021         Some small code example fix.
12022
12023         * gst/base/gstcollectpads.c:
12024         * gst/base/gstcollectpads.h:
12025         Document some more.
12026
12027 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
12028
12029         * configure.ac: back to HEAD
12030
12031 === release 0.9.5 ===
12032
12033 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
12034
12035         * configure.ac:
12036           releasing 0.9.5, "Bike Lunch Day"
12037
12038 2005-11-11  Wim Taymans  <wim@fluendo.com>
12039
12040         * gst/gstbuffer.c: (_gst_buffer_copy):
12041         Copy more flags.
12042
12043         * gst/gstcaps.c: (gst_caps_is_equal):
12044         Fix some docs.
12045         Make _is_equal fast in the trivial cases.
12046
12047         * gst/gstminiobject.c:
12048         * gst/gstminiobject.h:
12049         More docs. Spifify .h file.
12050
12051         * gst/gstutils.c:
12052         Small doc update.
12053
12054 2005-11-11  Wim Taymans  <wim@fluendo.com>
12055
12056         * gst/base/gstbasetransform.c:
12057         (gst_base_transform_prepare_output_buf),
12058         (gst_base_transform_handle_buffer):
12059         Small cleanups.
12060         If we're processing a buffer and need to allocate an output
12061         buffer, we cannot accept a format change. If we did get a 
12062         format change, we have to alloc a buffer ourselves of the 
12063         right size.
12064
12065 2005-11-11  Wim Taymans  <wim@fluendo.com>
12066
12067         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
12068         While checking the flag for reentrancy in the gstcaps function
12069         is nice to detect recursive invocations, it also makes it 
12070         impossible to call getcaps from multiple threads, which must be
12071         possible. So, checking for recursive calls has to go.
12072
12073 2005-11-11  Michael Smith <msmith@fluendo.com>
12074
12075         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
12076           Don't sync on buffers that fall partially outside our current
12077           segment. Prevents an assertion failure/abort playing some files.
12078
12079 2005-11-10  Andy Wingo  <wingo@pobox.com>
12080
12081         * check/gst/gstbin.c (test_message_state_changed_children): Style
12082         fix..
12083
12084         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
12085         gst_bus_poll with the signal watch. Ensures that poll and a signal
12086         watch see the same messages.
12087
12088         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
12089         a poll and a watch at the same time get the same messages.
12090
12091 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
12092
12093         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
12094         * gst/gstcaps.c: (gst_caps_intersect):
12095           Don't call gst_caps_do_simplify - it doesn't respect order of caps
12096           and it's not needed.
12097
12098 2005-11-10  Wim Taymans  <wim@fluendo.com>
12099
12100         * docs/design/part-TODO.txt:
12101         Updated todo.
12102
12103 2005-11-10  Wim Taymans  <wim@fluendo.com>
12104
12105         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
12106         * gst/base/gstbasesrc.c: (gst_base_src_wait),
12107         (gst_base_src_do_sync), (gst_base_src_get_range):
12108         Implement clock sync in base class.
12109
12110 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
12111
12112         patch by: Tim-Philipp Müller <tim at centricular dot net>
12113
12114         * gst/gststructure.c: (gst_structure_parse_field),
12115         (gst_structure_from_string):
12116           Forward-port a 0.8 patch to handle escaped spaces in structure string,
12117           so that gst_parse_launch() can deal with spaces in filtered link
12118           caps (fixes #164479)
12119         * check/gst/capslist.h:
12120         * check/gst/gststructure.c: (GST_START_TEST):
12121           add unit tests for this change
12122
12123 2005-11-10  Wim Taymans  <wim@fluendo.com>
12124
12125         * docs/gst/gstreamer-sections.txt:
12126         * gst/gstelement.c:
12127         * gst/gstelement.h:
12128         Fix docs, move some STATE macros to private.
12129
12130 2005-11-10  Wim Taymans  <wim@fluendo.com>
12131
12132         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
12133         Added check for bug #317341
12134
12135         * gst/gstbuffer.c:
12136         * gst/gstbuffer.h:
12137         Some more spiffifying.
12138
12139         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
12140         Call peer linkfunction if we are a source pad. Totally fixes
12141         #317341
12142
12143         * gst/gstpad.c:
12144         Update docs, source pads should call the peer linkfunction
12145         so they can atomically perform the pad link.
12146
12147 2005-11-09  Wim Taymans  <wim@fluendo.com>
12148
12149         * gst/gstbuffer.c:
12150         * gst/gstbuffer.h:
12151         Uber-spiffy-spiffify some more.
12152
12153 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
12154
12155         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
12156         * gst/elements/gstfilesink.c: (gst_file_sink_init):
12157         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
12158         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
12159         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
12160         * gst/gstpad.c: (gst_pad_init):
12161           Use GST_DEBUG_FUNCPTR() more extensively.
12162
12163 2005-11-09  Wim Taymans  <wim@fluendo.com>
12164
12165         * gst/gstobject.c: (gst_object_class_init):
12166         * gst/gstobject.h:
12167         Documentation fixes.
12168
12169 2005-11-09  Edward Hervey  <edward@fluendo.com>
12170
12171         * gst/gsttypefindfactory.c:
12172         Fix docs.
12173         
12174 2005-11-09  Edward Hervey  <edward@fluendo.com>
12175
12176         * gst/base/gsttypefindhelper.c:
12177         * gst/gsttypefind.c:
12178         * gst/gsttypefind.h:
12179         Fix docs.
12180
12181 2005-11-09  Wim Taymans  <wim@fluendo.com>
12182
12183         * gst/gstiterator.c:
12184         Fix revision data.
12185
12186         * gst/gsttask.c:
12187         * gst/gsttask.h:
12188         Fix docs.
12189
12190 2005-11-09  Wim Taymans  <wim@fluendo.com>
12191
12192         * gst/gstevent.h:
12193         * gst/gsturi.h:
12194         Fix docs.
12195
12196 2005-11-09  Wim Taymans  <wim@fluendo.com>
12197
12198         * docs/gst/gstreamer-sections.txt:
12199         Moved the message async delivery private lock and cond
12200         to the private section.
12201
12202         * gst/gstmessage.c:
12203         * gst/gstmessage.h:
12204         Fixed docs.
12205
12206 2005-11-09  Edward Hervey  <edward@fluendo.com>
12207
12208         * docs/gst/gstreamer-sections.txt:
12209         * gst/gsturi.c:
12210         * gst/gsturi.h:
12211         Document GstURIHandler
12212
12213 2005-11-09  Wim Taymans  <wim@fluendo.com>
12214
12215         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
12216         (gst_iterator_find_custom):
12217         * gst/gstiterator.h:
12218         Fix iterator docs.
12219
12220 2005-11-09  Wim Taymans  <wim@fluendo.com>
12221
12222         * gst/gstbin.h:
12223         Document another field.
12224
12225         * gst/gststructure.c:
12226         * gst/gststructure.h:
12227         Document.
12228
12229 2005-11-09  Wim Taymans  <wim@fluendo.com>
12230
12231         * gst/gstbin.h:
12232         Documented structs.
12233
12234 2005-11-09  Wim Taymans  <wim@fluendo.com>
12235
12236         * docs/gst/gstreamer-sections.txt:
12237         Added some new macros.
12238
12239         * gst/gstclock.c:
12240         * gst/gstclock.h:
12241         * gst/gstobject.h:
12242         Docs updates.
12243
12244 2005-11-09  Wim Taymans  <wim@fluendo.com>
12245
12246         * docs/design/part-TODO.txt:
12247         Some more items for the TODO
12248
12249         * gst/gstcaps.c:
12250         * gst/gstcaps.h:
12251         Document GstCaps.
12252
12253 2005-11-09  Andy Wingo  <wingo@pobox.com>
12254
12255         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
12256         to work on something else now tho...
12257
12258         * gst/base/gstadapter.c: More adapter docs.
12259
12260         * gst/elements/gstfilesink.c (gst_file_sink_start) 
12261         (gst_file_sink_stop): New functions, replace the state change
12262         handler.
12263         (gst_file_sink_class_init): Hook up the start and stop functions.
12264         (gst_file_sink_base_init): Don't set the state change handler any
12265         more. It was a bit ugly too, being set from here...
12266         (gst_file_sink_get_property, gst_file_sink_set_property):
12267         Cleanups...
12268         (gst_file_sink_set_location): More robust check that doesn't call
12269         GST_STATE. Ugggggg.
12270
12271 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
12272
12273         * gst/base/gstbasetransform.c: (gst_base_transform_event):
12274           Hold STREAM_LOCK while pushing newsegment or tag events as well.
12275
12276 2005-11-08  Wim Taymans  <wim@fluendo.com>
12277
12278         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
12279         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
12280         (gst_base_sink_chain), (gst_base_sink_change_state):
12281         * gst/base/gstbasesink.h:
12282         * gst/base/gstbasesrc.h:
12283         * gst/gstelement.h:
12284         * gst/gstevent.h:
12285         Avoid excessive typechecking in macros.
12286
12287         * gst/gstminiobject.c: (gst_mini_object_get_type),
12288         (gst_mini_object_init), (gst_mini_object_new),
12289         (gst_mini_object_free):
12290         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
12291         (gst_object_finalize):
12292         Remove cruft code, optimize alloc_trace.
12293
12294 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
12295
12296         * docs/faq/gst-uninstalled:
12297           fix up PS1 for systems that try to reset it
12298
12299 2005-11-07  Wim Taymans  <wim@fluendo.com>
12300
12301         * gst/base/gstbasesrc.c: (gst_base_src_init),
12302         (gst_base_src_get_range):
12303         Set the segment_end to -1 initially. Fixed typefind.
12304
12305 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
12306
12307         * gst/base/gstadapter.c:
12308           Debug category should be 'adapter', not 'GstAdapter'.
12309           
12310         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
12311         (gst_collectpads_class_init), (gst_collectpads_init),
12312         (gst_collectpads_peek), (gst_collectpads_pop),
12313         (gst_collectpads_event), (gst_collectpads_chain):
12314           Add debug category and some debugging output. Use boilerplate
12315           macros. Remove some extraneous words from docs.
12316
12317 2005-11-05  Andy Wingo  <wingo@pobox.com>
12318
12319         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
12320         macro.
12321
12322 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
12323
12324         * docs/gst/gstreamer-sections.txt:
12325         * gst/gstcaps.h:
12326         * gst/gstinfo.c:
12327         * gst/gstminiobject.h:
12328         * gst/gstobject.h:
12329         * gst/gstutils.h:
12330           more docs added
12331
12332 2005-11-04  Wim Taymans  <wim@fluendo.com>
12333
12334         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
12335         Small update to stop at the configured segment_end
12336         position.
12337
12338 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
12339
12340         * gst/gstregistry.c:
12341         * gst/gstregistry.h:
12342           added missing docs
12343
12344 2005-11-04  Edward Hervey  <edward@fluendo.com>
12345
12346         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
12347         Check if we are doing a segment seek and have arrived at the
12348         end of that segment.
12349
12350 2005-11-04  Wim Taymans  <wim@fluendo.com>
12351
12352         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
12353         Don't leak a mutex unlock in case of an error.
12354
12355         * gst/gstbus.h:
12356         Doc fixes.
12357
12358 2005-11-04  Wim Taymans  <wim@fluendo.com>
12359
12360         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
12361         (gst_bus_post):
12362         Get the context to wake up only once.
12363
12364 2005-11-03  Wim Taymans  <wim@fluendo.com>
12365
12366         * check/states/sinks.c: (GST_START_TEST):
12367         Uncomment fixed check.
12368
12369         * docs/design/part-TODO.txt:
12370         Updated TODO.
12371
12372         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
12373         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
12374         (gst_base_sink_get_position):
12375         If we are going to PLAYING, post the right pending state
12376         when we post the intermediate paused message.
12377
12378         * gst/gstelement.c: (gst_element_continue_state),
12379         (gst_element_set_state_func), (gst_element_change_state):
12380         Don't post state changes that were between the same state
12381         and were not ASYNC.
12382
12383 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
12384
12385         * docs/gst/gstreamer-sections.txt:
12386         * gst/gstcaps.h:
12387         * gst/gstinfo.c:
12388         * gst/gstminiobject.h:
12389         * gst/gstobject.h:
12390         * gst/gstutils.h:
12391           more docs and doc style fixes
12392
12393 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
12394
12395         * docs/gst/gstreamer-sections.txt:
12396         * gst/gstelement.c:
12397         * gst/gstminiobject.c:
12398         doc fixes
12399
12400 2005-11-03  Andy Wingo  <wingo@pobox.com>
12401
12402         * check/states/sinks.c (test_livesrc_sink): Add checks that the
12403         state-changed messages actually have the right order and the right
12404         values.
12405
12406 2005-11-03  Wim Taymans  <wim@fluendo.com>
12407
12408         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
12409         Added some more checks. Specifically the case where NO_PREROLL
12410         elements are in the pipeline.
12411
12412         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
12413         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
12414         (gst_base_sink_get_position):
12415         Post READY->PAUSED state change messages too.
12416         Fix bug where VOID was posted as pending state...
12417
12418         * gst/gstbin.c: (gst_bin_recalc_state):
12419         use _element_continue_state() to continue the state change.
12420
12421         * gst/gstelement.c: (gst_element_continue_state),
12422         (gst_element_commit_state), (gst_element_set_state_func),
12423         (gst_element_change_state), (gst_element_change_state_func):
12424         Lots of state change cleanups, assign the STATE_RETURN in
12425         a new continue_state() function that also propagates the
12426         last return value from a state change to the app.
12427         Update some debug statements with proper category.
12428
12429 2005-11-03  Wim Taymans  <wim@fluendo.com>
12430
12431         * docs/design/part-events.txt:
12432         * docs/design/part-gstpipeline.txt:
12433         * docs/design/part-messages.txt:
12434         * docs/design/part-overview.txt:
12435         * docs/design/part-seeking.txt:
12436         * docs/design/part-states.txt:
12437         * docs/design/part-trickmodes.txt:
12438         * docs/manual/advanced-position.xml:
12439         Small docs updates.
12440
12441         * gst/gstobject.h:
12442         People think !! is ugly, this looks better.
12443
12444         * gst/gstpad.c: (gst_pad_set_blocked_async):
12445         Remove !! since it's fixed elsewhere now.
12446
12447 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
12448
12449         * gst/gstminiobject.h:
12450         * gst/gstobject.h:
12451           Add !! to _FLAG_IS_SET macros to make the result boolean.
12452
12453 2005-11-03  Edward Hervey  <edward@fluendo.com>
12454
12455         * gst/gstpad.c: (gst_pad_set_blocked_async):
12456         comparing a flag and a gboolean rarely returns coherent results...
12457         Added two characters (!!) to make that work correctly.
12458         
12459 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
12460
12461         * gst/gstbus.c: (gst_bus_class_init):
12462           Fix some typos.
12463           
12464         * gst/gstqueue.c: (gst_queue_loop):
12465           Don't assume a miniobject that isn't a buffer is an
12466           event (it could be that there is a refcounting
12467           problem somewhere and the pointer is stale and
12468           refers to an already destroyed miniobject).
12469
12470 2005-11-03  Julien MOUTTE  <julien@moutte.net>
12471
12472         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
12473
12474 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
12475
12476         * docs/manual/advanced-position.xml:
12477           Update seek example and explanations to current 0.9 API.
12478
12479         * gst/elements/gsttypefindelement.c:
12480         (gst_type_find_element_activate):
12481           Remove FIXME comment now that the found caps
12482           are unreffed.
12483
12484 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
12485
12486         * gst/gstregistryxml.c: (load_feature):
12487           Add another GST_STR_NULL instance
12488
12489 2005-11-02  Edward Hervey  <edward@fluendo.com>
12490
12491         * gst/gstpad.c: (handle_pad_block):
12492         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
12493         
12494 2005-11-02  Wim Taymans  <wim@fluendo.com>
12495
12496         * gst/gstbin.c:
12497         Fix typo in docs.
12498
12499         * gst/gstelement.c: (gst_element_commit_state):
12500         Remove unused value.
12501
12502         * gst/gstiterator.c:
12503         Mention that the returned element is reffed in the docs.
12504
12505 2005-11-02  Wim Taymans  <wim@fluendo.com>
12506
12507         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
12508         (gst_pad_push), (gst_pad_push_event):
12509         Unlock blocked pads when they are flushed.
12510
12511 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12512
12513         * docs/README:
12514         * docs/gst/gstreamer-sections.txt:
12515         * gst/gstbin.c:
12516           doc updates
12517         * gst/gstregistry.c: (gst_registry_scan_path_level):
12518           fix for a nasty little missed situation where an installed plug-in
12519           which was in the cache did not get overridden by an uninstalled one
12520           which was earlier in the plugin path because the newly created plugin
12521           for the uninstalled one (not in the registry) didn't get its
12522           ->registered set to TRUE
12523
12524 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
12525
12526         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
12527         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
12528         (gst_collectpads_is_active), (gst_collectpads_collect),
12529         (gst_collectpads_collect_range), (gst_collectpads_start),
12530         (gst_collectpads_stop), (gst_collectpads_peek),
12531         (gst_collectpads_pop), (gst_collectpads_available),
12532         (gst_collectpads_read), (gst_collectpads_flush):
12533           Guard public API with assertions.
12534         
12535         * gst/gstpad.c:
12536           Fix docs for gst_pad_set_link_function().
12537
12538 2005-11-02  Johan Dahlin  <johan@gnome.org>
12539
12540         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
12541         Unref found_caps after we used it.
12542
12543 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
12544
12545         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
12546           Don't try to ref NULL.
12547
12548 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12549
12550         * win32/common/config.h.in:
12551           provide a GST_FUNCTION that just gives a string for now
12552
12553 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12554
12555         * win32/common/gstenumtypes.c: (register_gst_object_flags),
12556         (gst_object_flags_get_type), (register_gst_bin_flags),
12557         (gst_bin_flags_get_type), (register_gst_buffer_flag),
12558         (gst_buffer_flag_get_type), (register_gst_bus_flags),
12559         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
12560         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
12561         (gst_clock_return_get_type), (register_gst_clock_entry_type),
12562         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
12563         (gst_clock_flags_get_type), (register_gst_state),
12564         (gst_state_get_type), (register_gst_state_change_return),
12565         (gst_state_change_return_get_type), (register_gst_state_change),
12566         (gst_state_change_get_type), (register_gst_element_flags),
12567         (gst_element_flags_get_type), (register_gst_core_error),
12568         (gst_core_error_get_type), (register_gst_library_error),
12569         (gst_library_error_get_type), (register_gst_resource_error),
12570         (gst_resource_error_get_type), (register_gst_stream_error),
12571         (gst_stream_error_get_type), (register_gst_event_type),
12572         (gst_event_type_get_type), (register_gst_seek_type),
12573         (gst_seek_type_get_type), (register_gst_seek_flags),
12574         (gst_seek_flags_get_type), (register_gst_format),
12575         (gst_format_get_type), (register_gst_index_certainty),
12576         (gst_index_certainty_get_type), (register_gst_index_entry_type),
12577         (gst_index_entry_type_get_type),
12578         (register_gst_index_lookup_method),
12579         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
12580         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
12581         (gst_index_resolver_method_get_type), (register_gst_index_flags),
12582         (gst_index_flags_get_type), (register_gst_debug_level),
12583         (gst_debug_level_get_type), (register_gst_debug_color_flags),
12584         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
12585         (gst_iterator_result_get_type), (register_gst_iterator_item),
12586         (gst_iterator_item_get_type), (register_gst_message_type),
12587         (gst_message_type_get_type), (register_gst_mini_object_flags),
12588         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
12589         (gst_pad_link_return_get_type), (register_gst_flow_return),
12590         (gst_flow_return_get_type), (register_gst_activate_mode),
12591         (gst_activate_mode_get_type), (register_gst_pad_direction),
12592         (gst_pad_direction_get_type), (register_gst_pad_flags),
12593         (gst_pad_flags_get_type), (register_gst_pad_presence),
12594         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
12595         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
12596         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
12597         (gst_plugin_error_get_type), (register_gst_plugin_flags),
12598         (gst_plugin_flags_get_type), (register_gst_rank),
12599         (gst_rank_get_type), (register_gst_query_type),
12600         (gst_query_type_get_type), (register_gst_tag_merge_mode),
12601         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
12602         (gst_tag_flag_get_type), (register_gst_task_state),
12603         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
12604         (gst_alloc_trace_flags_get_type),
12605         (register_gst_type_find_probability),
12606         (gst_type_find_probability_get_type), (register_gst_uri_type),
12607         (gst_uri_type_get_type), (register_gst_parse_error),
12608         (gst_parse_error_get_type):
12609         * win32/common/gstversion.h:
12610           update win32 copies
12611
12612 2005-11-01  Luca Ognibene  <luogni@tin.it>
12613
12614         * gst/gst.c:
12615           fix docs. popt is dead, long live GOption.
12616
12617 2005-10-31  Wim Taymans  <wim@fluendo.com>
12618
12619         * gst/gstbuffer.h:
12620         Small doc fix.
12621
12622 2005-10-31  Andy Wingo  <wingo@pobox.com>
12623
12624         * Boo!
12625
12626         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
12627
12628         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
12629         need to serialize property notifications on GLib 2.8. GLib 2.6 has
12630         the possibility of deadlocks here if code calling notify() or
12631         set() has a lock that can be taken in another notify handler (ABBA
12632         with class lock and e.g. python GIL state lock).
12633
12634 2005-10-28  Julien MOUTTE  <julien@moutte.net>
12635
12636         * gst/gstbus.c: Doc updates.
12637
12638 2005-10-28  Wim Taymans  <wim@fluendo.com>
12639
12640         * docs/design/part-TODO.txt:
12641         * gst/gstiterator.c:
12642         * gst/gstsystemclock.c:
12643         * gst/gstsystemclock.h:
12644         Doc updates.
12645
12646 2005-10-28  Edward Hervey  <edward@fluendo.com>
12647
12648         * docs/gst/gstreamer-docs.sgml:
12649         * docs/gst/gstreamer-sections.txt:
12650         the GstURIType documentation page is private, it only defines GstURIType
12651         which should be defined in the GstURIHandler page
12652         
12653 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
12654
12655         * gst/gstbin.c: (gst_bin_class_init):
12656         * gst/gstbin.h:
12657         * gst/gstutils.c:
12658         Documentation updates.
12659
12660 2005-10-28  Wim Taymans  <wim@fluendo.com>
12661
12662         * docs/gst/gstreamer-sections.txt:
12663         * gst/gstclock.c:
12664         * gst/gstclock.h:
12665         Documented the clocks.
12666
12667 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
12668
12669         * docs/gst/gstreamer-sections.txt:
12670           move some macros to private sections
12671         * gst/gstminiobject.c:
12672         * gst/gstminiobject.h:
12673           add descriptions provided by ds and some more
12674         * gst/gstpad.h:
12675           mark macro as to be removed
12676
12677 2005-10-28  Wim Taymans  <wim@fluendo.com>
12678
12679         * docs/design/part-TODO.txt:
12680         Add an item to TODO.
12681
12682         * gst/gstiterator.c: (gst_iterator_fold),
12683         (gst_iterator_find_custom):
12684         * gst/gstiterator.h:
12685         Add iterator docs.
12686
12687 2005-10-28  Wim Taymans  <wim@fluendo.com>
12688
12689         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
12690         (gst_base_transform_init):
12691         Don't leak class.
12692
12693         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
12694         An EOS event marks the queue as completely filled.
12695
12696 2005-10-27  Wim Taymans  <wim@fluendo.com>
12697
12698         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
12699         (gst_base_sink_do_sync), (gst_base_sink_get_position):
12700         Some more debugging.
12701
12702         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
12703         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
12704         (gst_base_transform_event), (gst_base_transform_getrange),
12705         (gst_base_transform_chain):
12706         * gst/base/gstbasetransform.h:
12707         Fix debugging,
12708         Protect transform and concurrent buffer alloc with a new lock.
12709         Try not to break ABI/API.
12710
12711 2005-10-27  Wim Taymans  <wim@fluendo.com>
12712
12713         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
12714         (gst_base_src_init), (gst_base_src_query),
12715         (gst_base_src_default_newsegment),
12716         (gst_base_src_configure_segment), (gst_base_src_do_seek),
12717         (gst_base_src_send_event), (gst_base_src_event_handler),
12718         (gst_base_src_pad_get_range), (gst_base_src_loop),
12719         (gst_base_src_unlock), (gst_base_src_default_negotiate),
12720         (gst_base_src_start), (gst_base_src_deactivate),
12721         (gst_base_src_activate_push), (gst_base_src_change_state):
12722         Move some stuff around and cleanup things.
12723
12724 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
12725
12726         * gst/base/gstbasesrc.c: (gst_base_src_query):
12727           Add missing break statements.
12728
12729 2005-10-27  Wim Taymans  <wim@fluendo.com>
12730
12731         * check/gst/gstbin.c: (GST_START_TEST):
12732         An extra refcount is taken in basesrc.
12733
12734         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
12735         (gst_base_src_get_range), (gst_base_src_pad_get_range),
12736         (gst_base_src_loop):
12737         Small cleanups, check for flushing after being unlocked from the 
12738         LIVE_LOCK. take refcounts correctly (not yet everywhere).
12739         Don't send out EOS when going to READY.
12740
12741 2005-10-27  Wim Taymans  <wim@fluendo.com>
12742
12743         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
12744         (gst_base_sink_get_position):
12745         Some more debug.
12746
12747         * gst/gstbin.c: (message_check), (bin_replace_message),
12748         (bin_remove_messages), (is_eos), (gst_bin_add_func),
12749         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
12750         (bin_query_duration_init), (bin_query_duration_fold),
12751         (bin_query_duration_done), (bin_query_generic_fold),
12752         (gst_bin_query):
12753         * tools/gst-launch.c: (main):
12754         Remove old option.
12755
12756 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
12757
12758         * examples/controller/audio-example.c: (main):
12759         * examples/queue/queue.c: (event_loop):
12760         * gst/base/gstbasetransform.h:
12761         * gst/gstelement.c: (gst_element_send_event):
12762         * gst/gstevent.h:
12763         * gst/gstpad.c: (gst_pad_send_event):
12764           fixing examples
12765           fixing docs typos
12766           changing log priority in error situations
12767
12768 2005-10-25  Wim Taymans  <wim@fluendo.com>
12769
12770         * gst/gstbin.c: (message_check), (bin_replace_message),
12771         (bin_remove_messages), (is_eos), (gst_bin_add_func),
12772         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
12773         (bin_query_duration_init), (bin_query_duration_fold),
12774         (bin_query_duration_done), (bin_query_generic_fold),
12775         (gst_bin_query):
12776         Some doc and debug updates.
12777         Cache previously requested query DURATION for speed. invalidate
12778         cached duration if element posts a DURATION message.
12779
12780 2005-10-25  Wim Taymans  <wim@fluendo.com>
12781
12782         * docs/design/part-TODO.txt:
12783         Update TODO.
12784
12785         * gst/gstbin.c: (message_check), (bin_replace_message),
12786         (bin_remove_messages), (is_eos), (gst_bin_add_func),
12787         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
12788         (bin_query_duration_init), (bin_query_duration_fold),
12789         (bin_query_duration_done), (bin_query_generic_fold),
12790         (gst_bin_query):
12791         Handle SEGMENT_START/DONE messages correctly.
12792         More evolved query algorithm that handles duration queries
12793         correctly.
12794
12795         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
12796         (gst_element_get_state_func), (gst_element_abort_state),
12797         (gst_element_commit_state), (gst_element_lost_state):
12798         Some more debugging.
12799
12800         * gst/gstmessage.h:
12801         Added doc.
12802
12803 2005-10-25  Wim Taymans  <wim@fluendo.com>
12804
12805         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
12806         Don't use invalid stream_time.
12807
12808         * gst/gstevent.c: (gst_event_new_newsegment):
12809         stream_time in newsegment cannot be undefined.
12810
12811 2005-10-24  Wim Taymans  <wim@fluendo.com>
12812
12813         * gst/gstbus.c:
12814         Doc fix.
12815
12816         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
12817         (gst_queue_loop):
12818         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
12819
12820 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
12821
12822         * docs/libs/tmpl/gstdparam.sgml:
12823         * docs/libs/tmpl/gstdplinint.sgml:
12824         * docs/libs/tmpl/gstdpman.sgml:
12825         * docs/libs/tmpl/gstdpsmooth.sgml:
12826         * docs/libs/tmpl/gstunitconvert.sgml:
12827           these are obsolete
12828
12829 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
12830
12831         * configure.ac:
12832           back to HEAD
12833
12834 === release 0.9.4 ===
12835
12836 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
12837
12838         * configure.ac:
12839           releasing 0.9.4, "Tyrannosaurus Rex"
12840
12841 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
12842
12843         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
12844         (gst_file_sink_get_current_offset):
12845           Use fseeko() and ftello() if available. When falling back on
12846           lseek() to get the current offset, fflush() first to make sure
12847           everything is up-to-date and we get the right offset.
12848
12849 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
12850
12851         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
12852         * gst/base/gstbasesrc.c: (gst_base_src_loop):
12853         * gst/gsterror.c: (_gst_stream_errors_init):
12854         * gst/gsterror.h:
12855         * gst/gstqueue.c: (gst_queue_loop):
12856         * po/POTFILES.in:
12857           remove prematurely added error category and clean up the instances
12858
12859 2005-10-21  Wim Taymans  <wim@fluendo.com>
12860
12861         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
12862         (gst_base_sink_get_position), (gst_base_sink_query),
12863         (gst_base_sink_change_state):
12864         Simply set the right flag when going to playing, that's all
12865         we need to do instead of calling a function inside the object
12866         lock (that could take the lock as well and deadlock)
12867
12868 2005-10-21  Wim Taymans  <wim@fluendo.com>
12869
12870         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
12871         (gst_base_src_loop):
12872         Don't warn, the peer element knows what to do best when
12873         the seek failed, it might try something else.
12874
12875 2005-10-21  Wim Taymans  <wim@fluendo.com>
12876
12877         * gst/base/gstbasesrc.c: (gst_base_src_init),
12878         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
12879         Fix seeking.
12880
12881 2005-10-21  Wim Taymans  <wim@fluendo.com>
12882
12883         * docs/design/part-segments.txt:
12884         More docs.
12885
12886         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
12887         Correctly set caps, even on the subbufer.
12888
12889 2005-10-21  Wim Taymans  <wim@fluendo.com>
12890
12891         * docs/gst/gstreamer-docs.sgml:
12892         * docs/gst/gstreamer-sections.txt:
12893         * gst/gstelement.h:
12894         * gst/gstevent.c:
12895         * gst/gstevent.h:
12896         * gst/gstmessage.h:
12897         * gst/gstpad.h:
12898         * gst/gstparse.h:
12899         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
12900         * gst/gsttask.h:
12901         * gst/gstutils.c:
12902         * gst/gstutils.h:
12903         And 2% more doc coverage.
12904
12905 2005-10-21  Andy Wingo  <wingo@pobox.com>
12906
12907         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
12908         position reporting.
12909
12910 2005-10-20  Wim Taymans  <wim@fluendo.com>
12911
12912         * gst/gsterror.c: (gst_error_get_message):
12913         * gst/gstparse.h:
12914         * gst/gstquery.h:
12915         * gst/gststructure.c:
12916         * gst/gsttrace.c:
12917         * gst/gstutils.c:
12918         More docs.
12919
12920 2005-10-20  Wim Taymans  <wim@fluendo.com>
12921
12922         * gst/gstbuffer.h:
12923         * gst/gstpad.c:
12924         * gst/gstparse.c:
12925         Another 1% more coverage.
12926
12927 2005-10-20  Wim Taymans  <wim@fluendo.com>
12928
12929         * docs/gst/gstreamer-sections.txt:
12930         * gst/gstelement.c: (gst_element_get_state_func),
12931         (gst_element_abort_state), (gst_element_commit_state),
12932         (gst_element_lost_state):
12933         * gst/gstevent.h:
12934         * gst/gstquery.c: (gst_query_set_position),
12935         (gst_query_parse_position), (gst_query_set_duration),
12936         (gst_query_parse_duration), (gst_query_new_convert):
12937         * gst/gstutils.c:
12938         Yay! 1% more docs coverage.
12939
12940 2005-10-20  Wim Taymans  <wim@fluendo.com>
12941
12942         * gst/gstpad.h:
12943         * gst/gstquery.c: (gst_query_set_position),
12944         (gst_query_parse_position), (gst_query_set_duration),
12945         (gst_query_parse_duration), (gst_query_new_convert):
12946         * gst/gstquery.h:
12947         * gst/gstutils.c: (gst_element_query_convert):
12948         * gst/gstutils.h:
12949         Docs and consistency fixes.
12950
12951 2005-10-20  Wim Taymans  <wim@fluendo.com>
12952
12953         * gst/gsttask.c:
12954         * gst/gsttask.h:
12955         More docs.
12956
12957 2005-10-20  Wim Taymans  <wim@fluendo.com>
12958
12959         * gst/gstbin.c: (message_check), (bin_replace_message),
12960         (bin_remove_messages), (is_eos), (gst_bin_add_func),
12961         (update_degree), (gst_bin_sort_iterator_next),
12962         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
12963         Reworked the message handling a bit, cache the messages instead of
12964         only the senders. alows us to do more in the future.
12965
12966 2005-10-20  Wim Taymans  <wim@fluendo.com>
12967
12968         * docs/design/part-TODO.txt:
12969         Update TODO
12970
12971         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
12972         (gst_base_sink_query):
12973         Don't use clock time to report position when in EOS.
12974
12975 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
12976
12977         * tools/gst-inspect.c: (print_interfaces),
12978         (print_element_properties_info), (print_element_info):
12979           Fix interface output with gst-inspect -a; don't print
12980           newlines after double/float properties.
12981
12982 2005-10-20  Wim Taymans  <wim@fluendo.com>
12983
12984         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
12985         (gst_base_sink_query):
12986         Speed up current position calculation.
12987
12988         * gst/base/gstbasesrc.c: (gst_base_src_query),
12989         (gst_base_src_default_newsegment):
12990         Correctly set stream position in newsegment.
12991
12992         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
12993         (update_degree), (gst_bin_sort_iterator_next),
12994         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
12995         * gst/gstmessage.c: (gst_message_new_custom):
12996         Clean up debugging info
12997
12998         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
12999         (gst_queue_loop), (gst_queue_handle_src_query):
13000         Pause task faster.
13001
13002 2005-10-19  Wim Taymans  <wim@fluendo.com>
13003
13004         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
13005         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
13006         Fix query handling again.
13007
13008 2005-10-19  Wim Taymans  <wim@fluendo.com>
13009
13010         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
13011         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
13012         * gst/base/gstbasesrc.c: (gst_base_src_query):
13013         * gst/elements/gstfilesink.c: (gst_file_sink_query):
13014         * gst/elements/gsttypefindelement.c:
13015         (gst_type_find_handle_src_query), (find_element_get_length),
13016         (gst_type_find_element_activate):
13017         API change fix.
13018
13019         * gst/gstquery.c: (gst_query_new_position),
13020         (gst_query_set_position), (gst_query_parse_position),
13021         (gst_query_new_duration), (gst_query_set_duration),
13022         (gst_query_parse_duration), (gst_query_set_segment),
13023         (gst_query_parse_segment):
13024         * gst/gstquery.h:
13025         Bundling query position/duration is not a good idea since duration
13026         does not change much and we don't want to recalculate it for every
13027         position query, so they are separated again..
13028         Base value in segment query is not needed.
13029
13030         * gst/gstqueue.c: (gst_queue_handle_src_query):
13031         * gst/gstutils.c: (gst_element_query_position),
13032         (gst_element_query_duration), (gst_pad_query_position),
13033         (gst_pad_query_duration):
13034         * gst/gstutils.h:
13035         Updates for query API change.
13036         Added some docs here and there.
13037
13038 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13039
13040         * check/gst/gstbin.c: (GST_START_TEST):
13041         * check/gst/gstghostpad.c: (GST_START_TEST):
13042         * check/pipelines/cleanup.c: (GST_START_TEST):
13043           wait on thread to die so we can check refcount correctly
13044
13045 2005-10-18  Wim Taymans  <wim@fluendo.com>
13046
13047         * check/pipelines/stress.c: (GST_START_TEST):
13048         Make check a little more time consuming.
13049
13050 2005-10-18  Wim Taymans  <wim@fluendo.com>
13051
13052         * check/Makefile.am:
13053         * check/pipelines/stress.c: (GST_START_TEST),
13054         (simple_launch_lines_suite), (main):
13055         Small state change torture test.
13056
13057         * docs/design/part-states.txt:
13058         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
13059         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
13060         (gst_base_sink_change_state):
13061         Never take state lock from streaming thread, clean up ugly
13062         hacks. Unfortunatly core does not yet support nice ways to
13063         async commit state.
13064         
13065         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
13066         (bin_bus_handler):
13067         Start state recalc if a STATE_DIRTY message is posted, but only
13068         on the toplevel bin.
13069
13070         * gst/gstelement.c: (gst_element_sync_state_with_parent),
13071         (gst_element_get_state_func), (gst_element_abort_state),
13072         (gst_element_commit_state), (gst_element_lost_state),
13073         (gst_element_set_state_func), (gst_element_change_state):
13074         * gst/gstelement.h:
13075         State variables are now protected with the LOCK, the state
13076         lock is only used to serialize _set_state().
13077
13078 2005-10-18  Wim Taymans  <wim@fluendo.com>
13079
13080         * check/gst/gstbin.c: (GST_START_TEST):
13081         * check/gst/gstmessage.c: (GST_START_TEST):
13082         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
13083         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
13084         (bin_bus_handler):
13085         * gst/gstelement.c: (gst_element_abort_state),
13086         (gst_element_commit_state), (gst_element_lost_state):
13087         * gst/gstmessage.c: (gst_message_new_state_changed),
13088         (gst_message_new_state_dirty), (gst_message_new_segment_start),
13089         (gst_message_new_segment_done), (gst_message_new_duration),
13090         (gst_message_parse_state_changed),
13091         (gst_message_parse_segment_start),
13092         (gst_message_parse_segment_done), (gst_message_parse_duration):
13093         * gst/gstmessage.h:
13094         * tools/gst-launch.c: (event_loop):
13095         Seriously, this is better than a previous commit as we only need
13096         to notify the fact that an element changed state in a streaming
13097         thread, marking the state of the parents dirty, hence the 
13098         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
13099         message.
13100
13101 2005-10-18  Wim Taymans  <wim@fluendo.com>
13102
13103         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
13104         (gst_bin_recalc_func):
13105         * gst/gstelement.c: (gst_element_set_clock),
13106         (gst_element_abort_state), (gst_element_lost_state):
13107         Cleanups, prepare for state change fixes.
13108
13109 2005-10-18  Wim Taymans  <wim@fluendo.com>
13110
13111         * gst/gstbin.h:
13112         * gst/gstelement.c: (gst_element_class_init),
13113         (gst_element_set_state), (gst_element_set_state_func):
13114         * gst/gstelement.h:
13115         Pending ABI changes.
13116         GThreadPool in GstBinClass to monitor async state changes.
13117         state_cookie in GstElement to detect concurrent gst/set state.
13118         set_state is now virtual too in case a very complicated element
13119         has to be constructed.
13120
13121 2005-10-18  Wim Taymans  <wim@fluendo.com>
13122
13123         * check/gst/gstbin.c: (GST_START_TEST):
13124         * check/gst/gstmessage.c: (GST_START_TEST):
13125         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
13126         * gst/gstbin.c: (bin_bus_handler):
13127         * gst/gstelement.c: (gst_element_commit_state),
13128         (gst_element_lost_state):
13129         * gst/gstmessage.c: (gst_message_new_state_changed),
13130         (gst_message_new_segment_start), (gst_message_new_segment_done),
13131         (gst_message_new_duration), (gst_message_parse_state_changed),
13132         (gst_message_parse_segment_start),
13133         (gst_message_parse_segment_done), (gst_message_parse_duration):
13134         * gst/gstmessage.h:
13135         * tools/gst-launch.c: (event_loop):
13136         Make messages future proof.
13137         state-change gets a flag if it was a message comming from the
13138         streaming thread.
13139         segment-start/stop can also be specified in other formats.
13140         A message to notify an app that a pipeline changed playback 
13141         duration.
13142         Also fix a GstMessage leak in -launch
13143
13144 2005-10-18  Andy Wingo  <wingo@pobox.com>
13145
13146         * gst/gstelement.c (gst_element_dispose): More helpful message.
13147
13148 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
13149
13150         reviewed by: <delete if not using a buddy>
13151
13152         * common/gtk-doc.mak:
13153
13154 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
13155
13156         * gst/gstregistry.c: (gst_registry_scan_path_level):
13157           unref a plug-in we get that was already initialized
13158
13159 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
13160
13161         * docs/gst/gstreamer-sections.txt:
13162         * docs/libs/gstreamer-libs-sections.txt:
13163         * gst/gstelement.h:
13164           add new api entries
13165           hide internal macro
13166
13167 2005-10-17  Andy Wingo  <wingo@pobox.com>
13168
13169         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
13170         cleanup.
13171
13172         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
13173
13174         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
13175
13176         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
13177         (gst_element_get_state_func): Better debug message.
13178         (gst_element_commit_state): s/INFO/DEBUG/.
13179         (gst_element_lost_state, gst_element_change_state): 
13180
13181         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
13182         (gst_message_new_custom): s/INFO/LOG/.
13183
13184 2005-10-17  Michael Smith <msmith@fluendo.com>
13185
13186         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
13187           Check if end time is valid using end time, not start time.
13188
13189 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
13190
13191         * check/gst-libs/controller.c: (GST_START_TEST),
13192         (gst_controller_suite):
13193         * libs/gst/controller/gstcontroller.c:
13194         (gst_controlled_property_set_interpolation_mode):
13195         * libs/gst/controller/gstcontroller.h:
13196         * libs/gst/controller/gstinterpolation.c:
13197         * testsuite/controller/.cvsignore:
13198         * testsuite/controller/Makefile.am:
13199         * testsuite/controller/interpolator.c:
13200           merge controller testsuites
13201           fix broken tests
13202           remove mem-chunk from docs
13203
13204 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
13205
13206         * gst/gstmemchunk.c:
13207         * gst/gstmemchunk.h:
13208         * gst/gsttrashstack.c:
13209         * gst/gsttrashstack.h:
13210           out.  get out.  you're fired.  to the Attic !
13211
13212 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
13213
13214         * gst/gstcaps.c: (gst_caps_intersect):
13215           fix signedness issues in a (hopefully) correct way
13216         * gst/gstelement.c: (gst_element_pads_activate):
13217           some debugging
13218         * gst/gstobject.c: (gst_object_set_parent):
13219           some debugging
13220
13221 2005-10-17  Julien MOUTTE  <julien@moutte.net>
13222
13223         * gst/gstvalue.h: Fix prototypes.
13224
13225 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
13226
13227         * docs/gst/gstreamer-sections.txt:
13228         * gst/gst.c: (gst_version_string):
13229         * gst/gst.h:
13230         * gst/gstversion.h.in:
13231         * win32/common/libgstreamer.def:
13232           add gst_version_string ()
13233
13234 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
13235
13236         * configure.ac:
13237           clean up further
13238         * gst/gst.c: (init_post):
13239         * win32/common/config.h.in:
13240           it's PLUGINDIR now
13241         * gst/gstcaps.c: (gst_caps_intersect):
13242           use gint64, the range could be bigger than a guint
13243
13244 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
13245
13246         * gst/gstclock.h:
13247           document potential problem in 2038
13248
13249 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
13250
13251         * gst/gstcaps.c: (gst_caps_intersect):
13252           Fix guint j diving under 0
13253
13254 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
13255
13256         * configure.ac:
13257         * win32/common/config.h:
13258         * win32/common/config.h.in:
13259           check for process.h, declares getpid() on Windows
13260         * gst/gstinfo.c:
13261           include process.h if we have it
13262         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
13263         * gst/gstmemchunk.h:
13264           fix signedness issues
13265         * win32/common/libgstreamer.def:
13266           fix get_type's
13267
13268 2005-10-16  Julien MOUTTE  <julien@moutte.net>
13269
13270         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
13271         fix. Because of unsigned ints, caps intersection was going nuts and
13272         trying to access structures with G_MAXUINT index. That fixes
13273         videotestsrc ! ffmpegcolorspace ! fakesink
13274         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
13275         consistency.
13276
13277 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
13278
13279         * configure.ac:
13280           use the gettext macro
13281         * gst/elements/gstelements.c:
13282         * gst/gst.c:
13283         * gst/indexers/gstindexers.c:
13284           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
13285         * win32/common/config.h:
13286           updated config.h
13287         * win32/common/config.h.in:
13288           add the template to generate config.h
13289         * win32/common/gstenumtypes.c:
13290         * win32/common/gstversion.h:
13291           updated copies
13292
13293 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
13294
13295         * gst/gst.c: (gst_version):
13296         * gst/gstversion.h.in:
13297           add the nano
13298
13299 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
13300
13301         * gst/gstevent.h:
13302           Oops, add missing closing bracket.
13303
13304 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
13305
13306         * configure.ac:
13307           use common m4's for argument checking
13308
13309 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
13310
13311         * docs/gst/gstreamer-sections.txt:
13312         * gst/gstevent.h:
13313           Add GST_EVENT_TYPE_NAME() macro.
13314
13315 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
13316
13317         * gst/gstinfo.c:
13318         * gst/gstpluginfeature.c:
13319         * gst/gsttask.c:
13320           privatize more symbols
13321
13322 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
13323
13324         * configure.ac:
13325           add srcdir, builddir includes to GST_ALL_CFLAGS, since
13326           everything that uses GStreamer API should have the includes
13327
13328 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
13329
13330         * docs/gst/gstreamer-sections.txt:
13331         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
13332         * gst/gstvalue.h:
13333           give each value a _get_type, removes the DATA exports
13334
13335 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
13336
13337         * gst/gst.c:
13338         * gst/gst.h:
13339           remove _gst_registry_auto_load, not used anymore
13340         * gst/gstbin.c: (gst_bin_get_type):
13341         * gst/gstbin.h:
13342         * gst/gstelement.c: (gst_element_get_type):
13343         * gst/gstelement.h:
13344         * gst/gstobject.c: (gst_object_get_type):
13345         * gst/gstobject.h:
13346         * gst/gstpad.c: (gst_pad_get_type):
13347         * gst/gstpad.h:
13348           make _get_type functions similar, fixes data export from library
13349
13350 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
13351
13352         * configure.ac:
13353           correctly make conditionals
13354         * gst/elements/Makefile.am:
13355         * gst/elements/gstelements.c:
13356           fix typo causing fdsrc not to build
13357
13358 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
13359
13360         * testsuite/Makefile.am:
13361         * testsuite/bytestream/.cvsignore:
13362         * testsuite/bytestream/Makefile.am:
13363         * testsuite/bytestream/filepadsink.c:
13364         * testsuite/bytestream/gstbstest.c:
13365         * testsuite/bytestream/test1.c:
13366         * testsuite/bytestream/testfile1:
13367         * testsuite/caps/normalisation.c:
13368         * testsuite/caps/random.c: (main):
13369         * testsuite/cleanup/.cvsignore:
13370         * testsuite/cleanup/Makefile.am:
13371         * testsuite/cleanup/cleanup1.c:
13372         * testsuite/cleanup/cleanup2.c:
13373         * testsuite/cleanup/cleanup3.c:
13374         * testsuite/cleanup/cleanup4.c:
13375         * testsuite/cleanup/cleanup5.c:
13376         * testsuite/controller/interpolator.c:
13377         * testsuite/debug/printf_extension.c: (main):
13378         * testsuite/elements/tee.c:
13379         * testsuite/negotiation/.cvsignore:
13380         * testsuite/negotiation/Makefile.am:
13381         * testsuite/negotiation/pad_link.c:
13382         * testsuite/pad/Makefile.am:
13383         * testsuite/pad/chainnopull.c:
13384         * testsuite/pad/getnopush.c:
13385         * testsuite/pad/link.c:
13386         * testsuite/refcounting/sched.c: (create_pipeline):
13387         * testsuite/registry/Makefile.am:
13388         * testsuite/registry/gst-print-formats.c:
13389         * testsuite/schedulers/.cvsignore:
13390         * testsuite/schedulers/142183-2.c:
13391         * testsuite/schedulers/142183.c:
13392         * testsuite/schedulers/143777-2.c:
13393         * testsuite/schedulers/143777.c:
13394         * testsuite/schedulers/147713.c:
13395         * testsuite/schedulers/147819.c:
13396         * testsuite/schedulers/147894-2.c:
13397         * testsuite/schedulers/147894.c:
13398         * testsuite/schedulers/Makefile.am:
13399         * testsuite/schedulers/group_link.c:
13400         * testsuite/schedulers/queue_link.c:
13401         * testsuite/schedulers/relink.c:
13402         * testsuite/schedulers/unlink.c:
13403         * testsuite/schedulers/unref.c:
13404         * testsuite/schedulers/useless_iteration.c:
13405         * testsuite/states/bin.c:
13406           clean out/remove some stuff from the testsuite directories
13407
13408 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
13409
13410         * configure.ac:
13411           check for some headers
13412         * gst/elements/Makefile.am:
13413         * gst/elements/gstelements.c:
13414           don't compile fdsrc without sys/socket.h
13415         * gst/indexers/Makefile.am:
13416         * gst/indexers/gstindexers.c: (plugin_init):
13417           don't compile fileindex without mmap
13418
13419 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
13420
13421         * configure.ac:
13422           reorganize
13423           clean up
13424           document more
13425           remove cruft
13426         * check/Makefile.am:
13427         * docs/gst/Makefile.am:
13428         * examples/helloworld/Makefile.am:
13429         * gst/Makefile.am:
13430         * gst/base/Makefile.am:
13431         * gst/check/Makefile.am:
13432         * gst/elements/Makefile.am:
13433         * gst/indexers/Makefile.am:
13434         * gst/parse/Makefile.am:
13435         * libs/gst/controller/Makefile.am:
13436         * libs/gst/dataprotocol/Makefile.am:
13437         * examples/helloworld/helloworld.c: (event_loop):
13438           compile fixes, though it's not being compiled currently
13439
13440 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
13441
13442         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
13443           Add some simple tests for the new taglist date API.
13444
13445 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
13446
13447         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
13448         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
13449           Beautify 'last-message' output: print 'none' for buffer timestamps
13450           and durations if none is set; improve alignment with next messages.
13451
13452 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
13453
13454         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
13455         * gst/gstpluginfeature.h:
13456         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
13457         * gst/gstregistry.h:
13458         * docs/gst/gstreamer-sections.txt:
13459           Add new API to check plugin feature version requirements.
13460
13461         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
13462           Some basic tests for the above.         
13463
13464 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13465
13466         * gst/gststructure.c: (gst_structure_to_string):
13467           guard against NULL printf - happens when for example
13468           a message structure with GstClock gets serialized
13469
13470 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
13471
13472         * gst/base/gstcollectpads.c: (gst_collectpads_event):
13473           Fix presumable copy'n'pasto.
13474
13475 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13476
13477         * gst/elements/gstfakesrc.h:
13478         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
13479         * gst/elements/gsttypefindelement.c:
13480           fix some signedness
13481         * gst/elements/gstfilesink.c: (gst_file_sink_render):
13482           I wonder if this could actually write +2GB files before
13483
13484 2005-10-13  Andy Wingo  <wingo@pobox.com>
13485
13486         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
13487         Fix Timmeke Waymans bug.
13488         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
13489         string of the proper length to gst_caps_from_string. There's a
13490         potential for, before this fix, that this could cause someone
13491         connecting over the network to cause a segfault if the payload is
13492         not NUL-terminated.
13493
13494 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
13495
13496         * docs/design/draft-push-pull.txt:
13497         * docs/design/part-overview.txt:
13498         * docs/random/TODO-pre-0.9:
13499         * docs/random/old/ChangeLog.gstreamer:
13500         * gst/base/gstpushsrc.c:
13501         * gst/gstclock.c:
13502           fixed typos
13503
13504 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13505
13506         * gst/glib-compat.c: (gst_flags_get_first_value):
13507         * gst/glib-compat.h:
13508         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
13509         (gst_value_compare_double), (gst_value_serialize_flags):
13510           GLib 2.6 g_flags_get_first_value has a bug that triggers an
13511           infinite loop
13512
13513 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13514
13515         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
13516         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
13517           fix up debugging
13518         * tools/gst-launch.c: (event_loop):
13519           print out clock nicely
13520
13521 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
13522
13523         * docs/gst/gstreamer-sections.txt:
13524         * gst/gsttaglist.h:
13525         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
13526         (gst_tag_list_get_date_index):
13527           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
13528           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
13529
13530 2005-10-13  Julien MOUTTE  <julien@moutte.net>
13531
13532         * gst/base/gstcollectpads.c: (gst_collectpads_event),
13533         (gst_collectpads_chain):
13534         * gst/base/gstcollectpads.h: Handle newsegment and store informations
13535         in CollectData.
13536
13537 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
13538
13539         * docs/gst/gstreamer-sections.txt:
13540         * gst/gst.c:
13541         * gst/gsterror.h:
13542         * tools/gst-inspect.c: (main):
13543         * tools/gst-launch.c: (main):
13544         * tools/gst-run.c: (main):
13545         * tools/gst-xmlinspect.c: (main):
13546           fix GOption context leaks
13547           doc fixes
13548
13549 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13550
13551         * gst/gstbus.c:
13552           use HAVE_UNISTD_H
13553         * win32/common/config.h:
13554           update config
13555         * win32/vs6/grammar.dsp:
13556         * win32/vs6/libgstelements.dsp:
13557         * win32/vs6/libgstreamer.dsp:
13558           update vs6 files
13559
13560 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
13561
13562         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
13563         * gst/base/gstbasesrc.c: (gst_base_src_query):
13564           fix more guint64<->gdouble conversions
13565
13566 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
13567
13568         * Makefile.am:
13569           add win32-update target
13570         * win32/common/gstconfig.h:
13571         * win32/common/gstenumtypes.c:
13572         * win32/common/gstenumtypes.h:
13573         * win32/common/gstversion.h:
13574           add files that visual studio can't generate
13575
13576 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
13577
13578         * Makefile.am:
13579           add a win32-update target
13580         * configure.ac:
13581
13582 2005-10-12  Wim Taymans  <wim@fluendo.com>
13583
13584         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
13585         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
13586         * gst/gstelement.c: (gst_element_commit_state),
13587         (gst_element_set_state):
13588         Protect flags with proper lock.
13589         unref provided cached clock in dispose.
13590
13591 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
13592
13593         * gst/gst.c:
13594         * gst/gstminiobject.h:
13595         * gst/gstpad.h:
13596         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
13597           removed unused flags from miniobject
13598           doc fixes
13599
13600 2005-10-12  Wim Taymans  <wim@fluendo.com>
13601
13602         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
13603         (gst_file_sink_event), (gst_file_sink_render):
13604         Flush before seeking.
13605
13606 2005-10-12  Andy Wingo  <wingo@pobox.com>
13607
13608         * gst/gst.c (gst_init_check): Ignore unknown options, as has
13609         always been the case.
13610
13611 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
13612
13613         * check/gst/gstbin.c: (GST_START_TEST):
13614         * docs/gst/gstreamer-sections.txt:
13615         * gst/base/gstbasesink.c: (gst_base_sink_init):
13616         * gst/base/gstbasesrc.c: (gst_base_src_init),
13617         (gst_base_src_get_range), (gst_base_src_check_get_range),
13618         (gst_base_src_start), (gst_base_src_stop):
13619         * gst/base/gstbasesrc.h:
13620         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
13621         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
13622         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
13623         (bin_bus_handler):
13624         * gst/gstbin.h:
13625         * gst/gstbuffer.h:
13626         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
13627         * gst/gstbus.h:
13628         * gst/gstelement.c: (gst_element_is_locked_state),
13629         (gst_element_set_locked_state), (gst_element_commit_state),
13630         (gst_element_set_state):
13631         * gst/gstelement.h:
13632         * gst/gstindex.c: (gst_index_init):
13633         * gst/gstindex.h:
13634         * gst/gstminiobject.h:
13635         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
13636         (gst_object_set_parent):
13637         * gst/gstobject.h:
13638         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
13639         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
13640         * gst/gstpad.h:
13641         * gst/gstpadtemplate.h:
13642         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
13643         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
13644         * gst/gstpipeline.h:
13645         * gst/indexers/gstfileindex.c: (gst_file_index_load),
13646         (gst_file_index_commit):
13647         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
13648         * testsuite/pad/link.c: (gst_test_src_init),
13649         (gst_test_filter_init), (gst_test_sink_init):
13650         * testsuite/states/locked.c: (main):
13651           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
13652           moved bitshift from macro to enum definition
13653
13654 2005-10-12  Wim Taymans  <wim@fluendo.com>
13655
13656         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
13657         * gst/elements/gstfilesink.c: (gst_file_sink_event),
13658         (gst_file_sink_render):
13659         Some more debugging info.
13660
13661 2005-10-12  Wim Taymans  <wim@fluendo.com>
13662
13663         * docs/design/part-states.txt:
13664         * tools/gst-launch.c: (main):
13665         Some doc updates.
13666         Revert non-intentional change.
13667
13668 2005-10-12  Wim Taymans  <wim@fluendo.com>
13669
13670         * check/gst/gstbin.c: (GST_START_TEST):
13671         * check/gst/gstelement.c: (GST_START_TEST):
13672         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
13673         * check/gst/gstghostpad.c: (GST_START_TEST):
13674         * check/gst/gstpipeline.c: (GST_START_TEST):
13675         * check/pipelines/simple_launch_lines.c: (run_pipeline):
13676         * check/states/sinks.c: (GST_START_TEST):
13677         * gst/elements/gsttypefindelement.c: (stop_typefinding):
13678         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
13679         (gst_bin_remove_func), (gst_bin_get_state_func),
13680         (gst_bin_recalc_state), (gst_bin_change_state_func),
13681         (bin_bus_handler):
13682         * gst/gstelement.c: (gst_element_get_state_func),
13683         (gst_element_get_state), (gst_element_abort_state),
13684         (gst_element_commit_state), (gst_element_set_state),
13685         (gst_element_change_state), (gst_element_change_state_func):
13686         * gst/gstelement.h:
13687         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
13688         (gst_pipeline_provide_clock_func):
13689         * gst/gstutils.c: (gst_element_link_pads_filtered):
13690         * tools/gst-launch.c: (main):
13691         * tools/gst-typefind.c: (main):
13692         Use GstClockTime in _get_state() instead of GTimeVal.
13693         Remove old code in gstutils.c
13694
13695 2005-10-12  Andy Wingo  <wingo@pobox.com>
13696
13697         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
13698         removed.
13699
13700         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
13701         there is no task. Shouldn't affect any code, as nothing in our
13702         plugins checks this return value.
13703         (gst_pad_stop_task): Also take the stream lock if the pad has no
13704         task. Docs updated.
13705
13706 2005-10-12  Wim Taymans  <wim@fluendo.com>
13707
13708         * gst/gstpad.c: (pre_activate), (post_activate),
13709         (gst_pad_activate_pull), (gst_pad_activate_push):
13710         Cleanup activation code. Reset old state if
13711         activation failed.
13712
13713 2005-10-12  Wim Taymans  <wim@fluendo.com>
13714
13715         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13716         (gst_base_sink_change_state):
13717         No need to prerol after receiving EOS.
13718
13719         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
13720         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
13721         * gst/elements/gstidentity.c: (gst_identity_event):
13722         Print events more verbosely.
13723
13724 2005-10-12  Wim Taymans  <wim@fluendo.com>
13725
13726         * check/Makefile.am:
13727         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
13728         * check/states/sinks2.c:
13729         Moved sinks2 testcode in sinks check.
13730
13731         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
13732         (gst_bin_remove_func), (gst_bin_recalc_state),
13733         (gst_bin_change_state_func), (bin_bus_handler):
13734         Fix potential race condition when _get_state() iterated over an
13735         ASYNC element right before it posted a state completion.
13736
13737         * gst/gstclock.h:
13738         Do proper cast here.
13739
13740         * gst/gstevent.c: (gst_event_new_newsegment),
13741         (gst_event_parse_newsegment):
13742         A playback rate of 0.0 is not allowed.
13743
13744 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
13745
13746         * win32/common/config.h:
13747         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
13748         (_trewinddir), (_ttelldir), (_tseekdir):
13749         * win32/common/dirent.h:
13750         * win32/common/gtchar.h:
13751         * win32/common/libgstbase.def:
13752         * win32/common/libgstreamer.def:
13753         * win32/vs6/grammar.dsp:
13754         * win32/vs6/gst_inspect.dsp:
13755         * win32/vs6/gst_launch.dsp:
13756         * win32/vs6/gstreamer.dsw:
13757         * win32/vs6/libgstbase.dsp:
13758         * win32/vs6/libgstelements.dsp:
13759         * win32/vs6/libgstreamer.dsp:
13760           Visual Studio 6 project files, and a new common directory.
13761           Phear.
13762
13763 2005-10-11  Wim Taymans  <wim@fluendo.com>
13764
13765         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13766         (gst_base_sink_do_sync), (gst_base_sink_query),
13767         (gst_base_sink_change_state):
13768         * gst/base/gstbasesink.h:
13769         Correctly parse newsegment info.
13770
13771 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
13772
13773         * gst/gst.c: (init_post):
13774           split plugin paths correctly
13775
13776 2005-10-11  Wim Taymans  <wim@fluendo.com>
13777
13778         * check/gst/gstevent.c: (GST_START_TEST):
13779         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13780         (gst_base_sink_change_state):
13781         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
13782         * gst/base/gstbasetransform.c: (gst_base_transform_event):
13783         * gst/elements/gstfilesink.c: (gst_file_sink_event):
13784         * gst/gstevent.c: (gst_event_new_newsegment),
13785         (gst_event_parse_newsegment):
13786         * gst/gstevent.h:
13787         Added extra flag to newsegment for future API freeze.
13788         Updated check and base elements.
13789
13790 2005-10-11  Julien MOUTTE  <julien@moutte.net>
13791
13792         * gst/base/gstcollectpads.c: (gst_collectpads_init),
13793         (gst_collectpads_add_pad), (gst_collectpads_pop),
13794         (gst_collectpads_event), (gst_collectpads_chain):
13795         * gst/base/gstcollectpads.h: Handle EOS correctly.
13796
13797 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
13798
13799         * tools/gst-launch.c: (main):
13800           more null protecting
13801
13802 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
13803
13804         * gst/gst-i18n-lib.h:
13805           check for ENABLE_NLS, not GETTEXT_PACKAGE
13806         * gst/gstregistry.c: (gst_registry_add_plugin),
13807         (gst_registry_scan_path_level),
13808         (_gst_registry_remove_cache_plugins):
13809           protect possibly NULL strings
13810         * gst/parse/types.h:
13811           config.h already included before
13812         * tools/gst-inspect.c: (main):
13813           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
13814           check for ENABLE_NLS, not GETTEXT_PACKAGE
13815         * tools/gst-launch.c: (main):
13816           check for ENABLE_NLS, not GETTEXT_PACKAGE
13817
13818 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
13819
13820         * configure.ac:
13821           if we don't have glib, fail before testing 2.8
13822         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
13823           fix a leak, should fix plugins-base testsuite
13824
13825 2005-10-11  Andy Wingo  <wingo@pobox.com>
13826
13827         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
13828         take the mode we're going to as an arg. Go head and set the mode
13829         and flushing flags now, so that if the activate function starts a
13830         thread all the flags will be in the right state.
13831         (post_activate): Renamed also. Just handle making sure streaming
13832         finishes for the deactivation case, and setting the deactivated
13833         mode.
13834         (gst_pad_set_active): Complain loudly if deactivation fails.
13835         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
13836         (gst_pad_activate_push): Adapt to pre/post_activate changes,
13837         remove the terrible hack.
13838
13839 2005-10-11  Wim Taymans  <wim@fluendo.com>
13840
13841         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
13842         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
13843         (gst_bin_recalc_state), (gst_bin_change_state_func),
13844         (gst_bin_dispose), (bin_bus_handler):
13845         * gst/gstbin.h:
13846         Prepare to make current EOS message queue more generic.
13847         Fix some typos.
13848
13849         * gst/gstevent.c: (gst_event_new_newsegment),
13850         (gst_event_parse_newsegment):
13851         * gst/gstevent.h:
13852         Rename base to stream_time.
13853
13854         * gst/gstmessage.h:
13855         Fix typo in docs.
13856
13857 2005-10-11  Wim Taymans  <wim@fluendo.com>
13858
13859         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
13860         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
13861         (gst_bin_change_state_func), (bin_bus_handler):
13862         * gst/gstbin.h:
13863         Work on proper clock selection.
13864
13865 2005-10-11  Edward Hervey  <edward@fluendo.com>
13866
13867         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
13868         * libs/gst/controller/gstcontroller.h:
13869         Added GList* version of _remove_properties() in order to be able to wrap
13870         it in bindings.
13871
13872 2005-10-11  Wim Taymans  <wim@fluendo.com>
13873
13874         * docs/design/part-states.txt:
13875         Some more docs.
13876
13877         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
13878         (gst_bin_change_state_func), (bin_bus_handler):
13879         Doc updates. Don't distribute the same clock over and over again.
13880
13881         * gst/gstclock.c:
13882         * gst/gstclock.h:
13883         Doc updates.
13884
13885         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
13886         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
13887         (gst_pad_send_event):
13888         * gst/gstpad.h:
13889         Make probe emission threadsafe again.
13890         Register quarks and move _get_name() from utils.
13891         Doc updates.
13892
13893         * gst/gstpipeline.c: (gst_pipeline_class_init),
13894         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
13895         Only redistribute the clock of it changed.
13896
13897         * gst/gstsystemclock.h:
13898         Doc updates. 
13899
13900         * gst/gstutils.c:
13901         * gst/gstutils.h:
13902         Moved the _flow_get_name() to GstPad.
13903
13904 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
13905
13906         * check/gst-libs/gdp.c: (GST_START_TEST):
13907         * check/gst/gstcaps.c: (GST_START_TEST):
13908         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
13909         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
13910         (gst_dp_packet_from_caps):
13911           fix more valgrind warnings before turning up the heat
13912
13913 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
13914
13915         * gst/parse/grammar.y:
13916           some cleanup before the hacking
13917
13918 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
13919
13920         * gst/base/gstbasesrc.c: (gst_base_src_query):
13921           use conversions
13922         * gst/gstutils.c: (gst_guint64_to_gdouble),
13923         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
13924         * gst/gstutils.h:
13925           externalize, basesrc uses it
13926           obviously the implementation needs testing
13927
13928 2005-10-10  Wim Taymans  <wim@fluendo.com>
13929
13930         * tests/sched/Makefile.am:
13931         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
13932         (make_pipeline3), (make_pipeline4), (print_elem), (main):
13933
13934 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
13935
13936         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
13937           apparently converting from guint64 to double is not implemented
13938           on MSVC
13939
13940 2005-10-10  Wim Taymans  <wim@fluendo.com>
13941
13942         * check/Makefile.am:
13943         * check/generic/states.c: (GST_START_TEST):
13944         * check/gst/gstbin.c: (GST_START_TEST):
13945         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
13946         * check/states/sinks.c: (GST_START_TEST):
13947         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
13948         (main):
13949         Check fixes, use API as stated in design docs, remove hacks.
13950
13951         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13952         (gst_base_sink_change_state):
13953         Catch stopping our task while we're shutting down.
13954
13955         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
13956         (gst_bin_remove_func), (gst_bin_get_state_func),
13957         (gst_bin_recalc_state), (gst_bin_change_state_func),
13958         (bin_bus_handler):
13959         * gst/gstbin.h:
13960         * gst/gstelement.c: (gst_element_init),
13961         (gst_element_get_state_func), (gst_element_abort_state),
13962         (gst_element_commit_state), (gst_element_lost_state),
13963         (gst_element_set_state), (gst_element_change_state),
13964         (gst_element_change_state_func):
13965         * gst/gstelement.h:
13966         New state change algorithm (see #318116)
13967
13968         * gst/gstpipeline.c: (gst_pipeline_class_init),
13969         (gst_pipeline_init), (gst_pipeline_set_property),
13970         (gst_pipeline_get_property), (do_pipeline_seek),
13971         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
13972         * gst/gstpipeline.h:
13973         Remove crude state change hacks.
13974
13975         * gst/gstutils.h:
13976         Remove crude hacks.
13977
13978         * tools/gst-launch.c: (main):
13979         Fixes for state change. Needs some more work to fully use the
13980         new stuff.
13981
13982 2005-10-10  Andy Wingo  <wingo@pobox.com>
13983
13984         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
13985
13986         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
13987         this flag, but it's not even in GLib 2.6. Odd. Hack around the
13988         issue.
13989
13990 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
13991
13992         * gst/gstiterator.c: (gst_iterator_new):
13993           Fix my previous commit: GTypes passed to gst_iterator_new()
13994           can be fundamental types.
13995
13996 2005-10-10  Wim Taymans  <wim@fluendo.com>
13997
13998         * gst/gstelement.c: (gst_element_iterate_pad_list),
13999         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
14000         (gst_element_iterate_sink_pads):
14001         Use src/sink pads lists for the respective iterators instead
14002         of filtering.
14003
14004 2005-10-10  Andy Wingo  <wingo@pobox.com>
14005
14006         Merged in popt removal + GOption addition patch from Ronald, bug
14007         #169772.
14008
14009         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
14010         GstElement macros around, remove popt-related symbols, add goption
14011         stuff.
14012
14013         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
14014         
14015         * docs/gst/Makefile.am:
14016         * docs/libs/Makefile.am: No POPT_CFLAGS.
14017         
14018         * examples/manual/Makefile.am:
14019         * docs/manual/basics-init.xml: Doc updates with an example.
14020         
14021         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
14022         (gst_init), (parse_one_option), (parse_goption_arg):
14023         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
14024         bit of hand merging and debugging to get the GOption stuff working
14025         tho.
14026         
14027         * tests/Makefile.am:
14028         * tools/Makefile.am:
14029         * tools/gst-inspect.c: (main):
14030         * tools/gst-launch.c: (main):
14031         * tools/gst-run.c: (main):
14032         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
14033
14034 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
14035
14036         * gst/gstiterator.c: (gst_iterator_new):
14037           Add assertions to make sure passed GType is likely to really
14038           be a GType (as the compiler won't catch it if the size and
14039           GType arguments get mixed up, see #318447).
14040
14041 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
14042
14043         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
14044
14045         * gst/gstbin.c: (gst_bin_iterate_sorted):
14046           Pass GType and size arguments to gst_iterator_new() in the right
14047           order (maybe we should make _new() take the GType as first argument
14048           just like _new_list()?) (#318447).
14049           
14050
14051 2005-10-10  Wim Taymans  <wim@fluendo.com>
14052
14053         * gst/gstelement.c: (gst_element_finalize):
14054         And free the GStaticRecMutex too
14055
14056 2005-10-10  Andy Wingo  <wingo@pobox.com>
14057
14058         * gst/gstelement.c (gst_element_init, gst_element_finalize):
14059         Allocate and free the mutex properly.
14060
14061         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
14062         New macros.
14063         (GstElement): The state_lock is now recursive. Rebuild your
14064         plugins, suckers. Old macros adapted.
14065
14066         * docs/gst/gstreamer-sections.txt: Doc updates.
14067
14068         * gst/gstutils.h:
14069         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
14070         (g_static_rec_cond_wait): Ported from state changes patch, while
14071         we wait on bug #317802 to be solved in a well-distributed GLib.
14072
14073         * gst/gstelement.c (gst_element_change_state_func): Renamed from
14074         gst_element_change_state, variable name changes.
14075         (gst_element_change_state): Split out of gst_element_set_state in
14076         preparation for the state change merge. Doesn't pay attention to
14077         the 'transition' argument.
14078         (gst_element_set_state): Updates, hopefully purely cosmetic.
14079         (gst_element_sync_state_with_parent): MT-safety. Ported from the
14080         state change patch.
14081         (gst_element_get_state_func): Renamed from get_state, cosmetic
14082         changes.
14083
14084 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14085
14086         * gst/elements/gstelements.c:
14087         * win32/GStreamer.vcproj:
14088         * win32/config.h:
14089         * win32/dirent.c: (_tseekdir):
14090         * win32/gst-inspect.vcproj:
14091         * win32/gst-launch.vcproj:
14092         * win32/gstconfig.h:
14093         * win32/gstelements.vcproj:
14094         * win32/gstenumtypes.c: (gst_object_flags_get_type):
14095         * win32/gstreamer.def:
14096         * win32/msvc71.sln:
14097           updates for the win32 build (patch from Sebastien Moutte)
14098
14099 2005-10-10  Andy Wingo  <wingo@pobox.com>
14100
14101         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
14102         gst_bin_get_state, cleaned up (but no logic changes).
14103         (bin_element_is_sink): Comment updates.
14104         (sink_iterator_filter): Remove needless cast.
14105         (gst_bin_iterate_sinks): Doc update.
14106         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
14107         cleaned up (but no logic changes).
14108
14109         * check/states/sinks.c (test_src_sink): Cleanups from the state
14110         change patch.
14111         (test_livesrc_sink): Sync on the state.
14112
14113         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
14114         the state change patch.
14115
14116         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
14117         change patch.
14118
14119         * check/gst/gstbin.c: Merge in some style fixes and additional
14120         checks from Wim's state change patch.
14121
14122 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
14123
14124         * gst/base/gsttypefindhelper.c: (helper_find_peek),
14125         (gst_type_find_helper):
14126           Check whether we have the requested data already in our list of
14127           cached buffers before pulling a new buffer; also make the buffer
14128           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
14129
14130 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14131
14132         * gst/gstcaps.c:
14133         * gst/gstevent.c:
14134           doc updates
14135         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
14136           don't use long long, it's not portable.  Replacing with
14137           gint64 seems to work; let's hope no skeletons fall out of the closet.
14138
14139 2005-10-10  Andy Wingo  <wingo@pobox.com>
14140
14141         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
14142
14143 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
14144
14145         * docs/gst/gstreamer-sections.txt:
14146         * gst/gstevent.c:
14147         * gst/gstevent.h:
14148         * gst/gstinfo.c:
14149         * gst/gstinfo.h:
14150         * gst/gstmessage.c: (gst_message_parse_state_changed):
14151         * gst/gstpad.c:
14152         * gst/gstpad.h:
14153           more docs, fix compilation
14154
14155 2005-10-09  Philippe Khalaf <burger@speedy.org>
14156         * gst/gstmessage.c:
14157           Fixed a few forgotten variables on previous commit
14158
14159 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
14160
14161         * gst/base/gsttypefindhelper.c: (helper_find_peek):
14162           Fix evil typefind crasher: getrange() might return a short
14163           buffer at the end of a file, but gst_type_find_peek() must
14164           either return the full data as requested or NULL, but
14165           never a short buffer.
14166
14167 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
14168
14169         * gst/gstmessage.c: (gst_message_new_state_changed),
14170         (gst_message_parse_state_changed):
14171         * gst/gstmessage.h:
14172           don't use "new", it's a C++ keyword
14173
14174 2005-10-08  Wim Taymans  <wim@fluendo.com>
14175
14176         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
14177         * gst/gstelement.c: (gst_element_post_message):
14178         * gst/gstpipeline.c: (gst_pipeline_change_state):
14179         Small docs and debug updates.
14180
14181 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
14182
14183         * docs/gst/gstreamer-sections.txt:
14184         * gst/gstelementfactory.c:
14185         * gst/gstevent.c:
14186         * gst/gsttaglist.c:
14187           more docs
14188
14189 2005-10-08  Wim Taymans  <wim@fluendo.com>
14190
14191         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
14192         (gst_bin_dispose), (bin_bus_handler):
14193         Fix typos, add comments.
14194         Clear EOS list when going to PAUSED from any direction and do it
14195         in a threadsafe way.
14196         Get base time in a threadsafe way too.
14197         Fix confusing debug in the change_state function.
14198         Various other small cleanups.
14199         
14200         * gst/gstelement.c: (gst_element_post_message):
14201         Fix very verbose bus posting code.
14202
14203         * gst/gstpipeline.c: (gst_pipeline_class_init),
14204         (gst_pipeline_set_property), (gst_pipeline_get_property),
14205         (gst_pipeline_change_state):
14206         Small ARG_ -> PROP_ cleanup
14207
14208 2005-10-08  Wim Taymans  <wim@fluendo.com>
14209
14210         * gst/gstbin.c: (is_eos), (bin_bus_handler):
14211         Do a less CPU demanding EOS check because we can.
14212
14213 2005-10-08  Wim Taymans  <wim@fluendo.com>
14214
14215         * libs/gst/dataprotocol/dataprotocol.c:
14216         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
14217         (gst_dp_packet_from_event):
14218         * libs/gst/dataprotocol/dataprotocol.h:
14219         * libs/gst/dataprotocol/dp-private.h:
14220         It's about time we bump the version number.
14221         Since event types don't fit in the guint8 anymore describing
14222         the payload type, make payload type 16 bits wide.
14223
14224 2005-10-08  Wim Taymans  <wim@fluendo.com>
14225
14226         * docs/design/part-TODO.txt:
14227         * docs/design/part-clocks.txt:
14228         * docs/design/part-events.txt:
14229         * docs/design/part-gstbin.txt:
14230         * docs/design/part-gstelement.txt:
14231         * docs/design/part-gstpipeline.txt:
14232         * docs/design/part-live-source.txt:
14233         * docs/design/part-messages.txt:
14234         * docs/design/part-overview.txt:
14235         * docs/design/part-states.txt:
14236         Many doc updates.
14237
14238 2005-10-08  Wim Taymans  <wim@fluendo.com>
14239
14240         * gst/gstevent.c:
14241         * gst/gstevent.h:
14242         Fix event quark registration.
14243         Add some space between events so we can insert them in the
14244         right groups.
14245
14246 2005-10-08  Wim Taymans  <wim@fluendo.com>
14247
14248         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14249         (gst_base_sink_handle_buffer):
14250         Better log message.
14251
14252         * gst/gstbus.h:
14253         * gst/gstelement.h:
14254         More docs.
14255
14256         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
14257         (gst_queue_set_property), (gst_queue_get_property):
14258         * gst/gstqueue.h:
14259         Remove old unused properties.
14260
14261 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
14262         * docs/gst/gstreamer-sections.txt:
14263         * gst/gstmessage.c:
14264         * gst/gstmessage.h:
14265         * gst/gstminiobject.c:
14266         * gst/gstminiobject.h:
14267         * gst/gstobject.h:
14268         * gst/gstpad.h:
14269         * gst/gstutils.h:
14270           lots of new docs and doc fixes
14271
14272 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
14273
14274         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
14275         * gst/gstplugin.h:
14276         * gst/gstregistry.c: (gst_registry_lookup_locked),
14277         (gst_registry_scan_path_level):
14278         * gst/gstregistryxml.c: (load_plugin):
14279           Only ever load one plugin for a given plugin basename.
14280           This ensures correct overriding of GST_PLUGIN_PATH over
14281           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
14282           system installed plugins.
14283
14284 2005-10-08  Wim Taymans  <wim@fluendo.com>
14285
14286         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14287         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
14288         Prepare for doing QOS.
14289
14290 2005-10-08  Wim Taymans  <wim@fluendo.com>
14291
14292         * check/gst/gstbin.c: (GST_START_TEST):
14293         * check/pipelines/cleanup.c: (GST_START_TEST):
14294         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
14295         Allow new clock message too.
14296
14297 2005-10-08  Wim Taymans  <wim@fluendo.com>
14298
14299         * gst/gstmessage.c: (gst_message_new_error),
14300         (gst_message_new_warning), (gst_message_new_tag),
14301         (gst_message_new_state_changed), (gst_message_new_clock_provide),
14302         (gst_message_new_clock_lost), (gst_message_new_new_clock),
14303         (gst_message_new_segment_start), (gst_message_new_segment_done),
14304         (gst_message_parse_state_changed),
14305         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
14306         (gst_message_parse_new_clock):
14307         * gst/gstmessage.h:
14308         Also carry the clock in question.
14309
14310 2005-10-08  Wim Taymans  <wim@fluendo.com>
14311
14312         * gst/gstmessage.c: (gst_message_new_custom),
14313         (gst_message_new_eos), (gst_message_new_error),
14314         (gst_message_new_warning), (gst_message_new_tag),
14315         (gst_message_new_state_changed), (gst_message_new_clock_provide),
14316         (gst_message_new_new_clock), (gst_message_new_segment_start),
14317         (gst_message_new_segment_done), (gst_message_parse_state_changed),
14318         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
14319         * gst/gstmessage.h:
14320         Clean up.
14321         Added clock related messages.
14322
14323         * gst/gstpipeline.c: (gst_pipeline_change_state):
14324         Post message when the clock changed.
14325
14326         * tools/gst-launch.c: (event_loop):
14327         Print new clock.
14328
14329 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
14330
14331         * tools/gst-inspect.c: (print_element_properties_info):
14332           Can't pass NULL strings to g_print() on windows.
14333
14334 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
14335
14336         * docs/Makefile.am:
14337         * docs/gst/Makefile.am:
14338         * docs/gst/gstreamer-docs.sgml:
14339         * docs/gst/running.xml:
14340         * docs/version.entities.in:
14341           add a chapter on running GStreamer.
14342           document GST_DEBUG and GST_PLUGIN* env vars
14343
14344 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
14345
14346         * Makefile.am:
14347           remove include dir
14348         * configure.ac:
14349           remove PLUGINS_BUILDDIR stuff
14350         * gst/gst.c: (init_post):
14351           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
14352         * idiottest.mak:
14353           remove, it was condescending and not needed
14354
14355 2005-10-08  Wim Taymans  <wim@fluendo.com>
14356
14357         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
14358         (gst_base_sink_handle_object), (gst_base_sink_event),
14359         (gst_base_sink_wait), (gst_base_sink_handle_event),
14360         (gst_base_sink_change_state):
14361         * gst/base/gstbasesink.h:
14362         Repost EOS message while going to PLAYING if still EOS.
14363         Make sure that when receiving a FLUSH_START we don't attempt
14364         to sync on the clock anymore.
14365
14366 2005-10-08  Wim Taymans  <wim@fluendo.com>
14367
14368         * tools/gst-launch.c: (event_loop):
14369         Better message printout.
14370
14371 2005-10-08  Wim Taymans  <wim@fluendo.com>
14372
14373         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
14374         (gst_bin_child_proxy_get_children_count):
14375         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
14376         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
14377         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
14378         (gst_child_proxy_set_valist):
14379         * gst/parse/grammar.y:
14380         Make ChildProxy threadsafe and fix mem leaks.
14381
14382 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
14383
14384         * gst/gst.c: (init_post):
14385           debug the GST_PLUGIN_ env vars
14386
14387 2005-10-08  Wim Taymans  <wim@fluendo.com>
14388
14389         * check/gst/gstbin.c: (GST_START_TEST):
14390         * check/gst/gstmessage.c: (GST_START_TEST):
14391         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
14392         * gst/gstelement.c: (gst_element_commit_state),
14393         (gst_element_lost_state):
14394         * gst/gstmessage.c: (gst_message_new_state_changed),
14395         (gst_message_parse_state_changed):
14396         * gst/gstmessage.h:
14397         * tools/gst-launch.c: (event_loop):
14398         Added extra field to STATE_CHANGE message with the pending
14399         state, which will be different from the new state soon.
14400
14401 2005-10-08  Wim Taymans  <wim@fluendo.com>
14402
14403         * gst/gstbus.c: (gst_bus_pop):
14404         * gst/gstclock.c:
14405         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
14406         Small cleanups and doc updates.
14407
14408 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
14409
14410         * gst/gst.c: (init_pre):
14411         * gst/gstbin.c: (gst_bin_add_func):
14412           log distributing clocks and base time
14413         * gst/gstregistry.c: (gst_registry_add_plugin),
14414         (gst_registry_scan_path_level), (gst_registry_scan_path):
14415           clean up the debugging output a little
14416         * gst/gstutils.c: (gst_element_state_get_name):
14417           warn about a memleak (I've actually seen this be used, though
14418           it was probably a bug)
14419
14420 2005-10-07  Wim Taymans  <wim@fluendo.com>
14421
14422         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
14423         (gst_base_src_init), (gst_base_src_default_newsegment),
14424         (gst_base_src_newsegment), (gst_base_src_do_seek),
14425         (gst_base_src_loop), (gst_base_src_start):
14426         * gst/base/gstbasesrc.h:
14427         Make the newsegment event customizable by subclasses.
14428
14429 2005-10-07  Wim Taymans  <wim@fluendo.com>
14430
14431         * gst/gstevent.c: (gst_event_new_buffersize),
14432         (gst_event_parse_buffersize):
14433         * gst/gstevent.h:
14434         New event for future idea.
14435
14436 2005-10-07  Andy Wingo  <wingo@pobox.com>
14437
14438         * gst/gstelement.c (gst_element_post_message): Doc update.
14439
14440         * docs/gst/gstreamer-sections.txt: Update.
14441
14442         * gst/gstmessage.c (gst_message_new_application): Made into a
14443         function like honest API calls.
14444         (gst_message_new_element): New message type.
14445
14446         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
14447
14448         * check/elements/fakesrc.c (test_no_preroll): New check, checks
14449         that setting a live fakesrc to PAUSED returns NO_PREROLL both
14450         times.
14451
14452         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
14453         NO_PREROLL from gst_element_change_state to fall through.
14454
14455 2005-10-07  Wim Taymans  <wim@fluendo.com>
14456
14457         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
14458         (gst_ghost_pad_do_activate_push):
14459         Activating a ghostpad with no internal pad in push mode
14460         is ok.
14461
14462 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
14463
14464         * gst/gstobject.h:
14465           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
14466           Fixes compilation on Windows.
14467
14468 2005-10-07  Michael Smith <msmith@fluendo.com>
14469
14470         * tools/gst-inspect.c:
14471           Print out feature and plugin count at the end when printing out
14472           all features.
14473
14474 2005-10-04  Michael Smith <msmith@fluendo.com>
14475
14476         * gst/gsterror.c: (_gst_stream_errors_init):
14477           Add another error string used in a few existing plugins.
14478
14479         * gst/gstplugin.c:
14480         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
14481         * tools/gst-inspect.c: (print_element_info):
14482           When a feature disappears from a plugin (and the feature exists in
14483           the cached registry file), things went horribly wrong. This isn't a
14484           complete fix, we should actually be removing the 'missing' features
14485           from the features list when we load the actual plugin. That's not
14486           yet implemented. 
14487
14488 2005-10-04  Johan Dahlin  <johan@gnome.org>
14489
14490         * check/gst/gstiterator.c: (GST_START_TEST):
14491         * gst/gstbin.c: (gst_bin_iterate_elements),
14492         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
14493         * gst/gstelement.c: (gst_element_iterate_pads):
14494         * gst/gstformat.c: (gst_format_iterate_definitions):
14495         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
14496         (gst_iterator_new_list), (gst_iterator_filter):
14497         * gst/gstiterator.h:
14498         * gst/gstquery.c: (gst_query_type_iterate_definitions):
14499         Add a GType to GstIterator, update callsites and tests.
14500
14501 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
14502
14503         * gst/gstpad.c: (gst_pad_event_default_dispatch):
14504           give events a chance to be handled by event probes when the pad
14505           is not linked
14506
14507 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
14508
14509         * gst/gstevent.c: (gst_event_type_get_name),
14510         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
14511         * gst/gstevent.h:
14512           add string representations for event types
14513
14514 2005-10-06  Wim Taymans  <wim@fluendo.com>
14515
14516         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
14517         Don't use NULL pointers.
14518
14519 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
14520
14521         * gst/gst_private.h:
14522         * gst/gstbus.c:
14523         * gst/gstelement.c:
14524         * gst/gstinfo.c:
14525         * gst/gstpluginfeature.c:
14526           widen the debug category in output to fit the biggest one we have
14527           add a bus category and use it
14528           play with the colors
14529           fix up some categories
14530
14531 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
14532
14533         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
14534           add push activation of sink ghost pads.
14535           Andye, please verify
14536
14537 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
14538
14539         * gst/gstutils.c: (gst_element_link_pads):
14540           fix a bug in the case where neither element has a pad
14541         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
14542           add a test for that case
14543
14544 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
14545
14546         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
14547           emit have-data before checking for peers.  This allows
14548           for probe handlers to connect elements.  This helps autopluggers.
14549         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
14550         (gst_pad_suite):
14551           add six checks, linked/unlinked with no/true/false probe
14552
14553 2005-10-04  Wim Taymans  <wim@fluendo.com>
14554
14555         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
14556         (gst_fake_sink_event), (gst_fake_sink_preroll),
14557         (gst_fake_sink_render), (gst_fake_sink_change_state):
14558         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
14559         (gst_fake_src_get_property), (gst_fake_src_create),
14560         (gst_fake_src_stop):
14561         * gst/elements/gstidentity.c: (gst_identity_stop):
14562         Protect last_message with lock.
14563
14564 2005-10-04  Edward Hervey  <edward@fluendo.com>
14565
14566         * gst/gstformat.h: 
14567         Added precision in the comments for GST_FORMAT_DEFAULT
14568
14569 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
14570
14571         * tools/gst-launch.c: (main):
14572           Don't try to run erroneous pipelines.
14573
14574 2005-10-04  Julien MOUTTE  <julien@moutte.net>
14575
14576         * gst/gstbus.c: We don't need this header.
14577
14578 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
14579
14580         * configure.ac:
14581           back to development
14582
14583 === release 0.9.3 ===
14584
14585 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
14586
14587         * README:
14588         * configure.ac:
14589           Releasing 0.9.3, "Unregistered"
14590
14591 2005-10-03  Andy Wingo  <wingo@pobox.com>
14592
14593         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
14594         whereby calling a pad's activatepush() function can start a thread
14595         that starts to push or pull before the pad gets the FLUSHING flag
14596         unset. Hack around it by holding the stream lock until the flag is
14597         set. Need to replace this with a proper solution. Together with
14598         the ghost pad fixes, this fixes mp3 playing/tagreading.
14599
14600         * docs/design/part-gstghostpad.txt: Add a note about activation of
14601         proxy pads outside of ghost pads.
14602
14603         * gst/gstghostpad.c: Implement the ghost pad activation design.
14604
14605 2005-10-02  Andy Wingo  <wingo@pobox.com>
14606
14607         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
14608         It is volatile, after all.
14609
14610         * docs/design/part-gstghostpad.txt: Flesh out activation with
14611         ghost pads.
14612
14613         * gst/base/gstbasesrc.c (gst_base_src_init): Use
14614         GST_DEBUG_FUNCPTR.
14615
14616 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
14617
14618         * configure.ac:
14619           Fix (unused) AM_CONDITIONAL tests.
14620
14621 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
14622
14623         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
14624
14625         * gst/gstutils.c: (gst_pad_query_convert):
14626           Add assertion that makes sure src_val is >=0, just like
14627           gst_query_new_convert() has. (#315895)
14628
14629 2005-09-30  Edward Hervey  <edward@fluendo.com>
14630
14631         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
14632         Let's not iterate pads we're not interested in, it avoids getting 
14633         sky-high refcounts on sinkpad.
14634
14635 2005-09-30  Wim Taymans  <wim@fluendo.com>
14636
14637         * gst/gstelement.c: (gst_element_set_state),
14638         (gst_element_change_state):
14639         Small tweak, element in ASYNC remains ASYNC.
14640
14641 2005-09-30  Wim Taymans  <wim@fluendo.com>
14642
14643         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
14644         Only error is an error.
14645
14646         * gst/gstbin.c: (gst_bin_change_state):
14647         Better debugging.
14648
14649         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
14650         Also call pad_block in pad alloc.
14651
14652         * gst/gstutils.c: (gst_flow_get_name):
14653         Better debugging.
14654
14655 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
14656
14657         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
14658         (gst_base_src_get_range):
14659           Fix documentation typos. Add some more debug info.
14660
14661 2005-09-29  David Schleef  <ds@schleef.org>
14662
14663         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
14664           more end-user friendly.
14665         * tools/gst-inspect.c: (main): Check if command-line argument is
14666           a file and attempt to load that file as a plugin.
14667
14668 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
14669
14670         * check/gst/gstbin.c:
14671         * check/states/sinks.c:
14672           fix tests for the new warning
14673         * check/gst/gstpipeline.c:
14674           add a test for pipeline and bus interaction
14675         * gst/gstelement.c:
14676           elements should be NULL if they get disposed; add a warning if not
14677
14678 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
14679
14680         * gst/gstobject.c:
14681           for 2.6 refcounting, make debug log more correct by printing
14682           the actual refcounts at the time of swap (Wim)
14683
14684 2005-09-29  Andy Wingo  <wingo@pobox.com>
14685
14686         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
14687         removes signal watches previously added via
14688         gst_bus_add_signal_watch.
14689         (gst_bus_add_signal_watch): Don't return the source id, just store
14690         it on the bus if there wasn't an id already.
14691
14692         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
14693         add_signal_watch and remove_signal_watch.
14694
14695 2005-09-29  Edward Hervey  <edward@fluendo.com>
14696
14697         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
14698         Better if we actually iterate the list :)
14699
14700 2005-09-29  Wim Taymans  <wim@fluendo.com>
14701
14702         * check/gst/gstbin.c: (GST_START_TEST):
14703         Change for new bus API.
14704
14705         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
14706         (send_messages), (GST_START_TEST), (gstbus_suite):
14707         Change for new bus signal API.
14708
14709         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
14710         (gst_bus_source_prepare), (gst_bus_source_check),
14711         (gst_bus_create_watch), (gst_bus_add_watch_full),
14712         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
14713         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
14714         * gst/gstbus.h:
14715         Remove support for multiple GSources operating on different
14716         message types as it is too complex and unneeded when using
14717         signals.
14718         Added support for receiving signals from the bus.
14719
14720 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
14721
14722         * docs/libs/tmpl/gstdataprotocol.sgml:
14723         * docs/manual/advanced-dataaccess.xml:
14724         * gst/elements/gstcapsfilter.c:
14725         * gst/gstutils.c:
14726           rename filter-caps to caps property
14727
14728 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
14729
14730         * gst/gstvalue.c: (gst_value_deserialize_fraction):
14731           More robust fraction string parsing.
14732
14733         * docs/pwg/appendix-porting.xml:
14734           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
14735
14736 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
14737
14738         * gst/gstcaps.c: (gst_caps_do_simplify):
14739           Thou shalt not free a structure and then continue using it
14740           in the next loop iteration.
14741
14742         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
14743         (gst_caps_suite):
14744           Add test case for caps simplification.
14745
14746 2005-09-29  Wim Taymans  <wim@fluendo.com>
14747
14748         * check/gst/gstbin.c: (GST_START_TEST):
14749         Oops.
14750
14751 2005-09-29  Wim Taymans  <wim@fluendo.com>
14752
14753         * check/gst/gstbin.c: (GST_START_TEST):
14754         Add bus to bin.
14755
14756         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
14757         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
14758         (find_element), (gst_bin_sort_iterator_next),
14759         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
14760         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
14761         (gst_bin_change_state), (gst_bin_dispose):
14762         A bin does not have a bus, it gets the bus from the parent.
14763
14764         * gst/gstelement.c: (gst_element_requires_clock),
14765         (gst_element_provides_clock), (gst_element_is_indexable),
14766         (gst_element_is_locked_state), (gst_element_change_state),
14767         (gst_element_set_bus_func):
14768         Small cleanups.
14769
14770         * gst/gstpipeline.c: (gst_pipeline_class_init),
14771         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
14772         The pipeline provides a bus.
14773
14774 2005-09-28  Johan Dahlin  <johan@gnome.org>
14775
14776         * gst/gstmessage.c (gst_message_parse_state_changed): Use
14777         gst_structure_get_enum instead of gst_structure_get_int
14778
14779         * gst/gststructure.c (gst_structure_get_enum): Impl.
14780
14781         * gst/gststructure.h (gst_structure_get_enum): Add
14782
14783         * docs/gst/gstreamer-sections.txt: Ditto
14784
14785         * gst/gstmessage.c (gst_message_new_state_changed): Use
14786         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
14787         which does introspection.
14788         Reviewed by Christian Schaller
14789
14790 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
14791
14792         * gst/gstinfo.c: (gst_debug_log_default):
14793           don't do dummy g_strdup()s
14794         * libs/gst/controller/gstcontroller.c:
14795         (on_object_controlled_property_changed),
14796         (gst_controlled_property_new), (gst_controller_new_valist),
14797         (gst_controller_new_list),
14798         (gst_controller_remove_properties_valist), (gst_controller_set),
14799         (gst_controller_get), (gst_controller_sync_values),
14800         (gst_controller_get_value_array), (_gst_controller_class_init),
14801         (gst_controller_get_type):
14802         * libs/gst/controller/gstcontroller.h:
14803         * libs/gst/controller/gstinterpolation.c:
14804         (gst_controlled_property_find_timed_value_node):
14805           convert // to /**/ comments
14806
14807 2005-09-28  Wim Taymans  <wim@fluendo.com>
14808
14809         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
14810         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
14811         (gst_bus_sync_signal_handler):
14812         * gst/gstbus.h:
14813         Added async-message and sync-message signals to the bus.
14814         Added helper BusFunc to emit signals for all posted messages.
14815
14816         * gst/gstmessage.c: (gst_message_type_get_name),
14817         (gst_message_type_to_quark), (gst_message_get_type):
14818         * gst/gstmessage.h:
14819         Register quarks for message names.
14820
14821 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
14822
14823         * docs/libs/gstreamer-libs-sections.txt:
14824         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
14825         (gst_controller_new_list):
14826         * libs/gst/controller/gstcontroller.h:
14827           added another constructor for language bindings
14828
14829 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
14830
14831         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
14832           add another check
14833         * gst/gstbus.c:
14834           add some doc
14835         * gst/gstinfo.c: (_gst_debug_init):
14836           slightly more readable color for refcount debugging
14837
14838 2005-09-28  Wim Taymans  <wim@fluendo.com>
14839
14840         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
14841         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
14842         (find_element), (gst_bin_sort_iterator_next),
14843         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
14844         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
14845         (gst_bin_change_state), (gst_bin_dispose):
14846         Small doc fixes. get_clock -> provide_clock.
14847
14848         * gst/gstelement.c: (gst_element_class_init),
14849         (gst_element_provides_clock), (gst_element_provide_clock),
14850         (gst_element_get_clock), (gst_element_commit_state),
14851         (gst_element_lost_state):
14852         * gst/gstelement.h:
14853         Make get/set_clock() symetric. Add provide_clock vmethod since
14854         that is actually what this function does.
14855
14856         * gst/gstpipeline.c: (gst_pipeline_class_init),
14857         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
14858         (gst_pipeline_get_clock):
14859         get_clock -> provide_clock.
14860
14861 2005-09-28  Andy Wingo  <wingo@pobox.com>
14862
14863         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
14864         lieu of real docs...
14865
14866         * gst/elements/gstfdsrc.c: Cleaned up a bit.
14867
14868 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
14869
14870         * gst/elements/gstcapsfilter.c:
14871         * gst/elements/gstfakesink.c:
14872         * gst/elements/gstfakesrc.c:
14873         * gst/elements/gstfdsink.c:
14874         * gst/elements/gstfdsrc.c:
14875         * gst/elements/gstfilesink.c:
14876         * gst/elements/gstfilesrc.c:
14877         * gst/elements/gstidentity.c:
14878         * gst/elements/gsttee.c:
14879         * gst/elements/gsttypefindelement.c:
14880           Make element details static.
14881
14882 2005-09-28  Wim Taymans  <wim@fluendo.com>
14883
14884         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
14885         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
14886         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
14887         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
14888         (gst_bin_change_state), (gst_bin_dispose):
14889         Some documentation updates.
14890         Clean up dispose handlers.
14891
14892         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
14893         * gst/gstpad.c: (gst_pad_dispose):
14894         Clean up dispose handler.
14895
14896         * gst/gstpipeline.c: (gst_pipeline_change_state):
14897         Removed spurious UNLOCK.
14898
14899 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
14900
14901         * docs/gst/gstreamer-sections.txt:
14902         * gst/base/gstbasesrc.h:
14903         * gst/gstelement.h:
14904         * gst/gstevent.h:
14905         * gst/gstobject.h:
14906         * gst/gstpad.h:
14907         * gst/gstpipeline.c:
14908         * gst/gstpipeline.h:
14909         * gst/gstutils.h:
14910         * gst/gstxml.h:
14911           added two new functions to the docs
14912                 documents all undocumented GstXXXFlags
14913                 completed some incomplete docs 
14914
14915 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
14916
14917         * gst/gstbin.c: (gst_bin_dispose):
14918         * gst/gstelement.c: (gst_element_dispose):
14919           remove now useless and leaky resurrection code in dispose
14920         * gst/base/gstbasesrc.c: (gst_base_src_init):
14921         * gst/gstelementfactory.c: (gst_element_factory_create):
14922         * gst/gstobject.c: (gst_object_set_parent):
14923           add some debugging
14924
14925 2005-09-27  Wim Taymans  <wim@fluendo.com>
14926
14927         * docs/design/part-TODO.txt:
14928         Update TODO.
14929
14930         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
14931         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
14932         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
14933         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
14934         (gst_bin_change_state):
14935         * gst/gstelement.h:
14936         Remove element variable, we keep element info in the iterator now.
14937
14938 2005-09-27  Andy Wingo  <wingo@pobox.com>
14939
14940         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
14941         values.
14942
14943 2005-09-27  Wim Taymans  <wim@fluendo.com>
14944
14945         * check/gst/gstbin.c: (GST_START_TEST):
14946         Enable check that works now.
14947
14948         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
14949         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
14950         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
14951         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
14952         (gst_bin_change_state):
14953         * gst/gstbin.h:
14954         Redid the state change algorithm using a topological sort algo.
14955         Handles all cases correctly.
14956         Exposed iterator for state change order.
14957
14958         * gst/gstelement.h:
14959         Temp storage for state changes. Need to get rid of this soon.
14960
14961 2005-09-27  Wim Taymans  <wim@fluendo.com>
14962
14963         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
14964         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
14965         (link_fold_func), (gst_pad_proxy_setcaps):
14966         Leak fixes, the fold functions need to unref the passed object and
14967         _get_parent_*() returns ref to parent.
14968
14969 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
14970
14971         * check/gst/gstbuffer.c: (test_make_writable):
14972           Plug leak in test case and fix 'make check-valgrind'
14973
14974 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
14975
14976         * gst/gstbuffer.c: (gst_subbuffer_init):
14977           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
14978           works correctly in all circumstances (we could have just copied
14979           the parent buffer's readonly flag, but conceptually it seems
14980           cleaner to mark all subbuffers as read-only). (based on patch
14981           by Alessandro Decina, #314710).
14982         
14983         * check/gst/gstbuffer.c: (create_read_only_buffer),
14984         (test_make_writable), (test_subbuffer_make_writable),
14985         (gst_test_suite):
14986           Add some tests for gst_buffer_make_writable().
14987
14988 2005-09-27  Wim Taymans  <wim@fluendo.com>
14989
14990         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
14991         use gst_object_has_ancestor().
14992
14993         * gst/gstobject.c: (gst_object_has_ancestor):
14994         * gst/gstobject.h:
14995         gst_object_has_ancestor() copied from gstbin.c as it is a
14996         useful function.
14997
14998         * tests/instantiate/create.c: (create_all_elements):
14999         * tests/lat.c: (handoff_src), (handoff_sink):
15000         * tests/sched/runxml.c: (main):
15001         * tests/seeking/seeking1.c: (main):
15002         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
15003         (main):
15004         Fix compilation of some tests.
15005
15006 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
15007
15008         * gst/gsterror.h:
15009           Remove comment. GST_TYPE_G_ERROR is here to stay,
15010           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
15011           (#316961, #300610).
15012
15013 2005-09-26  Wim Taymans  <wim@fluendo.com>
15014
15015         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
15016         Added check that shows error in state change order.
15017
15018 2005-09-26  Wim Taymans  <wim@fluendo.com>
15019
15020         * gst/gstbin.c: (gst_bin_change_state):
15021         Make state change function use 3 queues again, we were
15022         adding elements in the wrong order.
15023
15024         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
15025         Some debug info,
15026
15027         * gst/gstpad.c: (gst_pad_dispose):
15028         Added some debug info first.
15029
15030 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
15031
15032         * docs/design/draft-push-pull.txt:
15033         * docs/design/part-events.txt:
15034         * docs/design/part-overview.txt:
15035         * docs/design/part-scheduling.txt:
15036           Replace all _pull_region() with _pull_range()
15037           
15038 2005-09-26  Andy Wingo  <wingo@pobox.com>
15039
15040         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
15041
15042         * check/gst-libs/controller.c: Update for controller api change.
15043
15044         * configure.ac: 
15045         * tests/Makefile.am:
15046         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
15047         over by GLib bug 118439.
15048         
15049         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
15050         routines to a function.
15051
15052         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
15053
15054         * libs/gst/controller/gsthelper.c:
15055         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
15056         (gst_object_sync_values): Renamed from sink_values. Ugh.
15057
15058         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
15059
15060         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
15061         Renamed from controller_key, as it is exported.
15062
15063         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
15064
15065 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
15066
15067         * gst/Makefile.am:
15068         * gst/gst.h:
15069         * gst/gstpad.h:
15070         * gst/gstpadtemplate.h:
15071         * gst/gstquery.c:
15072         * gst/gstquery.h:
15073         * gst/gstqueryutils.c:
15074         * gst/gstqueryutils.h:
15075           remove queryutils headers after moving the two used functions
15076           to gstquery.  also fixes build problem for gstsiddec
15077
15078 2005-09-26  Michael Smith <msmith@fluendo.com>
15079
15080         * tools/gst-launch.1.in:
15081         Correct documentation in manpage of debug syntax
15082
15083 2005-09-26  Wim Taymans  <wim@fluendo.com>
15084
15085         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
15086         (gst_base_src_is_seekable), (gst_base_src_change_state):
15087         Some more debugging info.
15088
15089 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
15090
15091         * docs/gst/gstreamer-sections.txt:
15092         * gst/base/gstbasetransform.h:
15093         * gst/gstindex.h:
15094           added more docs
15095
15096 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
15097
15098         * docs/gst/.cvsignore:
15099         * docs/gst/tmpl/.cvsignore:
15100         * docs/gst/tmpl/gstpipeline.sgml:
15101         * docs/gst/tmpl/gstplugin.sgml:
15102         * gst/gstpipeline.c:
15103         * gst/gstplugin.c:
15104         * gst/gstplugin.h:
15105           inlined the last two docs files
15106           removed the tmpl directory from cvs (no more conflicts here!)
15107
15108 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
15109
15110         * docs/gst/gstreamer-sections.txt:
15111         * docs/gst/tmpl/.cvsignore:
15112         * docs/gst/tmpl/gstpad.sgml:
15113         * docs/gst/tmpl/gstpadtemplate.sgml:
15114         * gst/Makefile.am:
15115         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
15116         (gst_pad_finalize), (gst_pad_set_pad_template):
15117         * gst/gstpad.h:
15118         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
15119         (gst_pad_template_class_init), (gst_pad_template_init),
15120         (gst_pad_template_dispose), (name_is_valid),
15121         (gst_static_pad_template_get), (gst_pad_template_new),
15122         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
15123         (gst_pad_template_pad_created):
15124         * gst/gstpadtemplate.h:
15125           inlined two more docs
15126           factored gstpadtemplate out of gstpad
15127
15128 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
15129
15130         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
15131         (test_children_state_change_order_semi_sink):
15132           Fix test case: we can't rely on a fixed state change order when
15133           going from READY => PAUSED because the sink might commit its 
15134           new state first when the first buffer created by the source 
15135           reaches the sink before the source has finished its change state.
15136           (Test case still fails at times, see #316856, comment 5 onwards)
15137
15138 2005-09-24  Wim Taymans  <wim@fluendo.com>
15139
15140         * docs/design/part-events.txt:
15141         * docs/design/part-gstbus.txt:
15142         * docs/design/part-gstpipeline.txt:
15143         * docs/design/part-messages.txt:
15144         * docs/design/part-overview.txt:
15145         * docs/design/part-segments.txt:
15146         * gst/gstbin.c:
15147         * gst/gstbuffer.c:
15148         * gst/gstclock.c:
15149         * gst/gstelement.c:
15150         * gst/gstevent.c:
15151         * gst/gstfilter.c:
15152         * gst/gstiterator.c:
15153         Various documentation updates.
15154
15155 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
15156
15157         * gst/gstclock.h:
15158           Well, that's embarassing.  Luckily we weren't using
15159           GST_CLOCK_DIFF anywhere.
15160
15161 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
15162
15163         * common/gtk-doc.mak:
15164           don't fail on building XML, FC4 slave shows a bunch of doc
15165           missing bits that I don't get
15166         * gst/gstpad.c:
15167         * gst/gstpipeline.c:
15168         * gst/gststructure.c:
15169           some doc updates
15170
15171 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
15172
15173         * docs/design/part-gstbin.txt:
15174         * docs/design/part-gstbus.txt:
15175         * gst/gstbus.c:
15176           Add blurb about how the bus goes into flushing mode and
15177           drops all messages when its bin goes from READY into NULL 
15178           state.
15179
15180 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
15181
15182         * docs/gst/gstreamer-sections.txt:
15183         * gst/gststructure.c: (gst_structure_get_clock_time):
15184         * gst/gststructure.h:
15185           add a method to get a GstClockTime out of a structure
15186
15187 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
15188
15189         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
15190         (test_children_state_change_order_semi_sink), (gst_bin_suite):
15191           Added test to check state change order in bins (can still be made
15192           to fail here under heavy disk load; bails out with 'Push on pad
15193           fakesink:sink0, but it was not activated in push mode').
15194
15195         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
15196           Fix state change order when there is only a semi sink (#316856)
15197
15198         * gst/gstbus.c: (gst_bus_class_init):
15199           Use _class_peek_parent(), not _class_ref(); fix docs to say
15200           'default main context' instead of 'mainloop' where that is
15201           what's meant.
15202
15203         * gst/gstelement.c: (gst_element_commit_state),
15204         (gst_element_set_state):
15205           Fix typos in debug messages
15206
15207 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
15208
15209         * docs/README:
15210         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
15211         * gst/gstpluginfeature.c:
15212         * gst/gstutils.c:
15213           various doc updates
15214         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
15215           change an assert into an error until it gets fixed properly
15216
15217 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
15218
15219         * docs/gst/gstreamer-sections.txt:
15220         * docs/gst/tmpl/.cvsignore:
15221         * docs/gst/tmpl/gstelement.sgml:
15222         * docs/gst/tmpl/gstinfo.sgml:
15223         * docs/gst/tmpl/gstobject.sgml:
15224         * gst/gstelement.c:
15225         * gst/gstelement.h:
15226         * gst/gstinfo.c:
15227         * gst/gstinfo.h:
15228         * gst/gstobject.c: (gst_object_class_init):
15229         * gst/gstobject.h:
15230           inlined 3 more biiiig doc files and added some missing docs on the fly
15231
15232 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
15233
15234         * check/gst/.cvsignore:
15235         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
15236         * gst/gstregistryxml.c: (load_plugin),
15237         (gst_registry_xml_save_plugin):
15238           put back source in registry.  add checks for find_plugin.
15239         * testsuite/states/bin.c: (assert_state), (empty_bin),
15240         (test_adding_one_element), (main):
15241         * testsuite/states/locked.c: (main):
15242           some compile/run fixes
15243
15244 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
15245
15246         * check/gst/gstvalue.c: (GST_START_TEST):
15247           fix leaks in the test itself
15248
15249 2005-09-22  Wim Taymans  <wim@fluendo.com>
15250
15251         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
15252         (gst_base_sink_send_event), (gst_base_sink_peer_query),
15253         (gst_base_sink_query):
15254         Prepare for more accurate position reporting and query
15255         handling.
15256
15257         * gst/gstelement.c: (gst_element_send_event),
15258         (gst_element_set_state):
15259         Add some comment.
15260
15261 2005-09-22  Wim Taymans  <wim@fluendo.com>
15262
15263         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
15264         (gst_query_parse_segment):
15265         * gst/gstquery.h:
15266         More documentation.
15267         Add segment query for future use.
15268
15269 2005-09-22  Wim Taymans  <wim@fluendo.com>
15270
15271         * gst/gstbin.c: (gst_bin_add_func):
15272         Some more debug info.
15273
15274         * gst/gstelement.c: (gst_element_send_event):
15275         Simplify send_event
15276
15277         * gst/gstelement.h:
15278         Don't know how flags got broken.
15279
15280         * gst/gstquery.h:
15281         Added new query.
15282
15283 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
15284
15285         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
15286           Add simplistic test suite for GST_TYPE_DATE serialisation and
15287           deserialisation.
15288
15289 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
15290
15291         * docs/gst/gstreamer-sections.txt:
15292         * gst/gststructure.c: (gst_structure_set_valist),
15293         (gst_structure_get_date):
15294         * gst/gststructure.h:
15295         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
15296         (gst_date_copy), (gst_value_compare_date),
15297         (gst_value_serialize_date), (gst_value_deserialize_date),
15298         (gst_value_transform_date_string),
15299         (gst_value_transform_string_date), (_gst_value_initialize):
15300         * gst/gstvalue.h:
15301           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
15302           bunch of utility functions along with a hack that checks that
15303           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
15304           is required. Part of the grand scheme in #170777.
15305
15306 2005-09-22  Andy Wingo  <wingo@pobox.com>
15307
15308         * gst/gstconfig.h.in: Psych out gtk-doc.
15309
15310         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
15311
15312         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
15313
15314         * tools/gst-inspect.c (print_element_list): Plug some
15315         inconsequential leaks.
15316
15317         * gst/gstregistry.c (gst_registry_get_default): Doc.
15318
15319         * check/gst/gstplugin.c: 
15320         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
15321         * gst/gstelementfactory.c (gst_element_factory_create): 
15322         * gst/gstindexfactory.c (gst_index_factory_create): Update for
15323         refcount changes.
15324
15325         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
15326         (gst_plugin_feature_load): Doc, don't eat refs.
15327
15328         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
15329         (gst_plugin_list_free): Doc.
15330         (gst_plugin_load_file): Doc updates.
15331
15332         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
15333         accessors returning refcounted objects, return a ref.
15334
15335         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
15336         accessor for caps. IDEMPOTENCE. Oh yes.
15337
15338 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
15339
15340         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
15341
15342         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
15343         (_gst_debug_register_funcptr):
15344           Add mutex to serialise access to the hash table with
15345           the function pointer => function name string mapping;
15346           make that hash table static scope (#316809).
15347
15348         * gst/registries/.cvsignore:
15349           Remove left-over file.
15350
15351 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
15352
15353         * docs/pwg/appendix-porting.xml:
15354           And something about newsegment events and caps-on-buffers to
15355           the porting guide (feel free to improve).
15356
15357 2005-09-21  Andy Wingo  <wingo@pobox.com>
15358
15359         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
15360         data and event probes on the same pad.
15361         (test_buffer_probe_once): Test that removing probes from within
15362         the probe functions works.
15363
15364 2005-09-21  Andy Wingo  <wingo@pobox.com>
15365
15366         * check/gst/gstutils.c: New file.
15367         (test_buffer_probe_n_times): A simple buffer probe test. More to
15368         come, foolios.
15369
15370         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
15371         have-data::buffer, not have-data.
15372         (gst_pad_add_event_probe): Likewise for have-data::event.
15373         (gst_pad_add_data_probe): More docs. The part about 'resolving the
15374         peer' isn't quite right yet though.
15375         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
15376         (gst_pad_remove_data_probe): Change to take the guint handler_id
15377         as their arg, not the function+data, which is more glib-like.
15378
15379         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
15380         the signal emission to indicate if the data is a buffer or an
15381         event.
15382         (gst_pad_get_type): Initialize buffer and event quarks.
15383         (gst_pad_class_init): have-data is now a detailed signal, yes it
15384         is.
15385
15386 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
15387
15388         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
15389         * gst/gstutils.c: (gst_util_set_value_from_string),
15390         (gst_util_set_object_arg):
15391           Don't put functional code in g_return_if_fail() or
15392           g_return_val_if_fail() statements, otherwise things will 
15393           break when G_DISABLE_CHECKS is defined during compilation.
15394
15395 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
15396
15397         * docs/gst/tmpl/.cvsignore:
15398         * docs/gst/tmpl/gstvalue.sgml:
15399         * gst/gstvalue.c:
15400         * gst/gstvalue.h:
15401           inlied another one and added  some obvious docs
15402
15403 2005-09-21  Wim Taymans  <wim@fluendo.com>
15404
15405         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
15406         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
15407         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
15408         (gst_fdsrc_get_property), (gst_fdsrc_create):
15409         * gst/elements/gstfdsrc.h:
15410         Properly implement fdsrc. Removed signal and timeout,
15411         better implemented somewhere else.
15412
15413 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
15414
15415         * docs/gst/tmpl/.cvsignore:
15416         * docs/gst/tmpl/gstimplementsinterface.sgml:
15417         * gst/gstinterface.c:
15418           inlined more docs
15419
15420 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
15421
15422         * docs/gst/gstreamer-sections.txt:
15423         * docs/gst/tmpl/.cvsignore:
15424         * docs/gst/tmpl/gstenumtypes.sgml:
15425           remove obsolete doc file
15426
15427 2005-09-21  David Schleef  <ds@schleef.org>
15428
15429         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
15430         little beer, fix a little leak.
15431
15432 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
15433
15434         * docs/gst/gstreamer-docs.sgml:
15435         * docs/gst/gstreamer-sections.txt:
15436         * docs/gst/tmpl/.cvsignore:
15437         * gst/Makefile.am:
15438         * gst/gst.h:
15439         * gst/gstbin.c:
15440         * gst/gstelement.h:
15441         * gst/gstindex.c: (gst_index_class_init):
15442         * gst/gstindex.h:
15443         * gst/gstindexfactory.c: (gst_index_factory_get_type),
15444         (gst_index_factory_class_init), (gst_index_factory_init),
15445         (gst_index_factory_finalize), (gst_index_factory_new),
15446         (gst_index_factory_destroy), (gst_index_factory_find),
15447         (gst_index_factory_create), (gst_index_factory_make):
15448         * gst/gstindexfactory.h:
15449         * gst/gstpluginfeature.c:
15450         * gst/gstpluginfeature.h:
15451         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
15452           more docs inlined, splitted gstindex.{c,h}
15453
15454 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
15455
15456         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
15457           fix a leak
15458
15459 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
15460
15461         * gst/elements/gstfilesink.c: (gst_file_sink_init):
15462           Set sync to FALSE by default.
15463
15464 2005-09-20  Wim Taymans  <wim@fluendo.com>
15465
15466         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
15467         (gst_base_sink_init):
15468         Make sync property settable from subclass.
15469
15470         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
15471         (gst_fake_sink_change_state):
15472         Set sync to FALSE by default.
15473
15474 2005-09-20  Wim Taymans  <wim@fluendo.com>
15475
15476         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
15477         * tools/gst-launch.c: (main):
15478         The timeout handler should have lower priority than the source
15479         so we don't timeout before popping a message with 0 timeout.
15480         Dump error messages after failed state change.
15481
15482 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
15483
15484         * tools/gst-inspect.c: (print_element_properties_info):
15485           Fix two typos.
15486
15487 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
15488
15489         * check/gst/gstevent.c:
15490         * gst/elements/gstfakesink.c:
15491         * gst/elements/gstfakesink.h:
15492           remove the sync property from fakesink.
15493           has the side effect of setting sync TRUE
15494           for fakesink, which is a change.  Anyone who knows how
15495           to fix this nicely in a GObject-y way, feel free.
15496
15497 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
15498
15499         * docs/gst/gstreamer-docs.sgml:
15500           remove probe refsection
15501
15502 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
15503
15504         * check/Makefile.am:
15505           disable valgrinding the controller test again
15506         * docs/gst/gstreamer-sections.txt:
15507           update for api-changes
15508
15509 2005-09-20  Wim Taymans  <wim@fluendo.com>
15510
15511         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
15512         (gst_base_sink_set_property), (gst_base_sink_get_property),
15513         (gst_base_sink_do_sync):
15514         * gst/base/gstbasesink.h:
15515         Added sync property to basesink to disable clock sync.
15516
15517 2005-09-20  Andy Wingo  <wingo@pobox.com>
15518
15519         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
15520         eating the caller's refcount.
15521
15522         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
15523         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
15524         refcount.
15525
15526         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
15527         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
15528         of GLib 2.8 public, so we can know which refcount to check in
15529         tests.
15530
15531         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
15532         (gst_object_init): Only set the gst refcount if we're going ahead
15533         with the refcount hack.
15534
15535 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
15536
15537         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
15538         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
15539           more leaks plumbed, added more debug-logging
15540         * gst/gstmacros.h:
15541           whitespace fix
15542
15543 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
15544
15545         * gst/gstmessage.c:
15546           remove include of gstmemchunk.h
15547
15548 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
15549
15550         * gst/gstclock.c: (_gst_clock_id_free):
15551           Commit from the Political Party For More Atomic CVS Commits,
15552           so that people don't waste too much of their day fishing
15553           out obvious leaks out of massive commits.
15554           Oh, and fix a pretty damn obvious leak in the memchunk
15555           removal code.
15556
15557 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
15558
15559         * check/Makefile.am:
15560         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
15561           plug mem-leak, re-add to valgrindable tests
15562
15563 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
15564
15565         * gst/gstplugin.h:
15566           unbreak the build for those who have chronic arthritis
15567           and typing "make check" is just too taxing on the hands
15568
15569 2005-09-20  Andy Wingo  <wingo@pobox.com>
15570
15571         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
15572         really want it out, you should fix plugins at the same time.
15573
15574 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
15575
15576         * configure.ac:
15577         * docs/gst/gstreamer-sections.txt:
15578         * gst/gstobject.c:
15579           added missing symbols to api docs
15580           disable ref-count hack if we have glib >= 2.8
15581
15582 2005-09-19  David Schleef  <ds@schleef.org>
15583
15584         * docs/gst/Makefile.am: Ignore a few more internal headers
15585         * docs/gst/gstreamer-docs.sgml: Remove old sections
15586         * docs/gst/gstreamer-sections.txt: Remove old sections
15587         * docs/gst/tmpl/gstobject.sgml: update
15588         * docs/gst/tmpl/gstplugin.sgml: update
15589         * docs/gst/tmpl/gstpluginfeature.sgml: update
15590         * docs/random/ds/0.9-suggested-changes: update.
15591         * gst/Makefile.am: remove memchunk and trashstack, since they're
15592           not used.
15593         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
15594         * gst/gst.h: don't include some headers
15595         * gst/gstchildproxy.c: add gstmarshal.h
15596         * gst/gstclock.c: Don't use memchunks
15597         * gst/gstminiobject.c: Add some docs
15598         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
15599         * gst/gstobject.h: same
15600         * gst/gstplugin.c: include gstmacros.h
15601         * gst/gstplugin.h: don't include gstmacros.h, since it's private
15602         * gst/gstquery.c: don't use memchunks
15603         * gst/gstregistry.c: rename gst_registry_deinit()
15604         * gst/gstregistry.h: same
15605
15606 2005-09-19  David Schleef  <ds@schleef.org>
15607
15608         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
15609         * docs/libs/gstreamer-libs-sections.txt:
15610         * docs/libs/tmpl/gstgetbits.sgml:
15611         * docs/libs/tmpl/gstputbits.sgml:
15612
15613 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
15614
15615         * win32/gstenumtypes.c:
15616         * win32/gstenumtypes.h:
15617           Update.
15618
15619 2005-09-19  Wim Taymans  <wim@fluendo.com>
15620
15621         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
15622         Automatically PAUSE and RESUME a pipeline when a flushing seek
15623         is performed.
15624
15625 2005-09-19  Andy Wingo  <wingo@pobox.com>
15626
15627         * gst/gstregistry.h: Spacing fixen.
15628
15629 2005-09-19  Wim Taymans  <wim@fluendo.com>
15630
15631         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
15632         Handle state change failure more correctly.
15633
15634 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
15635
15636         * check/Makefile.am:
15637         * check/pipelines/cleanup.c: (run_pipeline):
15638         * check/pipelines/simple_launch_lines.c: (run_pipeline),
15639         (GST_START_TEST):
15640           enable cleanup again after fixing the leak
15641         * docs/README:
15642           some more info on docs
15643
15644 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
15645
15646         * check/Makefile.am:
15647           re-enable tests now that leaks are plugged
15648         * check/gst/gst.c:
15649         * check/gst/gstbin.c:
15650         * check/gst/gstpipeline.c:
15651           add some more tests while fixing leaks
15652         * common/check.mak:
15653           make sure binaries are uptodate when valgrinding/gdbing
15654         * gst/gst.c:
15655         * gst/gstelementfactory.c:
15656           remove a ref too many, and add a FIXME for when we get
15657           round to disposing of classes
15658         * gst/gstplugin.c:
15659           fix the refcounting when loading a plugin from a file and
15660           the code pretends that the pointer is the same even though
15661           of course it can change
15662         * gst/gstpluginfeature.c:
15663           unref plugins marked cached (a bit confusing as a name)
15664           as the docs state should be done
15665           various doc additions to explain refcounting
15666         * gst/gstregistry.c:
15667         * gst/gstregistryxml.c:
15668           debugging
15669
15670 2005-09-19  Wim Taymans  <wim@fluendo.com>
15671
15672         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
15673         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
15674         (send_messages), (GST_START_TEST), (gstbus_suite):
15675         * check/gst/gstpipeline.c: (GST_START_TEST):
15676         * check/pipelines/cleanup.c: (run_pipeline):
15677         * check/pipelines/simple_launch_lines.c: (run_pipeline),
15678         (GST_START_TEST):
15679         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
15680         (gst_bus_source_check), (gst_bus_source_dispatch),
15681         (gst_bus_create_watch), (gst_bus_add_watch_full),
15682         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
15683         * gst/gstbus.h:
15684         * tools/gst-launch.c: (event_loop):
15685         * tools/gst-md5sum.c: (event_loop):
15686         GstBusHandler -> GstBusFunc, return value has the same meaning as
15687         any other GSource (FALSE == remove source).
15688         _add_watch() and _add_watch_full() now take a MessageType mask to
15689         only handle specific types of messages.
15690         _poll() returns the GstMessage instead of the message type to avoid
15691         race conditions.
15692         _have_pending() takes a MessageType mask now too.
15693         Added testsuite for multiple bus watches.
15694         Fix testsuites and applications for new bus API.
15695
15696 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
15697
15698         * check/Makefile.am:
15699           mark a bunch of the tests as to fix until we fix them
15700
15701 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
15702
15703         * common/check.mak:
15704           use GST_PLUGIN settings for valgrind tests as well, so we're
15705           valgrinding the correct thing
15706         * gst/gst.c: (init_post):
15707           plug another leak
15708
15709 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
15710
15711         * gst/gst.c: (init_post), (gst_deinit):
15712         * gst/gstelementfactory.c: (gst_element_factory_class_init),
15713         (gst_element_factory_finalize), (gst_element_factory_cleanup):
15714         * gst/gstindex.c: (gst_index_factory_class_init),
15715         (gst_index_factory_finalize):
15716         * gst/gstobject.c: (gst_object_dispose):
15717         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
15718         (gst_plugin_load_file), (gst_plugin_desc_free):
15719         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
15720         (gst_plugin_feature_finalize):
15721         * gst/gstregistry.c: (gst_registry_class_init),
15722         (gst_registry_init), (gst_registry_finalize),
15723         (gst_registry_get_default), (gst_registry_deinit):
15724         * gst/gstregistry.h:
15725         * gst/gstregistryxml.c: (load_feature), (load_plugin):
15726           various cleanups and memleak plugging.  make valgrind is happy now.
15727
15728 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
15729
15730         * common/check.mak:
15731           add a check-valgrind target
15732
15733 2005-09-18  David Schleef  <ds@schleef.org>
15734
15735         * tools/gst-inspect.c: Revert the GOption code.
15736
15737 2005-09-17  David Schleef  <ds@schleef.org>
15738
15739         * check/Makefile.am: Fix environment variables.
15740         * check/gst/gstplugin.c: Fix for API changes.
15741         * tools/gst-inspect.c: Fix for API changes.
15742         * tools/gst-xmlinspect.c: Fix for API changes.
15743         * gst/gstelementfactory.c:
15744         * gst/gstplugin.c:
15745         * gst/gstplugin.h:
15746         * gst/gstpluginfeature.c:
15747         * gst/gstpluginfeature.h:
15748         * gst/gstregistry.c:
15749         * gst/gstregistry.h:
15750         * gst/gstregistryxml.c:
15751         * gst/gsttypefind.c:
15752         * gst/gsttypefindfactory.c:
15753         * gst/indexers/gstfileindex.c:
15754         * gst/indexers/gstmemindex.c:
15755         * gst/schedulers/Makefile.am:
15756           Change registry to keep track of both plugins and features,
15757           removing the feature tracking from plugins themselves.
15758
15759 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
15760
15761         * check/Makefile.am:
15762         * tools/gst-register.1.in:
15763           remove gst-register
15764
15765 2005-09-15  David Schleef  <ds@schleef.org>
15766
15767         * check/gst/gstplugin.c:
15768         * gst/gstelementfactory.c:
15769         * gst/gstplugin.c:
15770         * gst/gstpluginfeature.c:
15771         * gst/gstregistry.c:
15772           Getting tired of debugging.  Disabled all the unreffing of
15773           plugins and features, which fixes the segfaults, but of
15774           course leaks like crazy.  At least playbin works.
15775
15776 2005-09-15  David Schleef  <ds@schleef.org>
15777
15778         * check/gst/gstplugin.c: (register_check_elements),
15779         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
15780         More testing
15781         * gst/elements/gsttypefindelement.c: Fix refcounting.
15782         * gst/gsttypefind.c:
15783         * gst/gsttypefindfactory.c:
15784         * gst/gsttypefindfactory.h:
15785
15786 2005-09-15  David Schleef  <ds@schleef.org>
15787
15788         * gst/gstindex.c: get refcounting correct.
15789         * gst/gstregistry.c: Handle the case where a feature/plugin is
15790           not found.
15791
15792 2005-09-15  David Schleef  <ds@schleef.org>
15793
15794         * check/Makefile.am:
15795         * check/gst/gstplugin.c: Add test
15796         * gst/gstplugin.c: Fix problems noticed by testsuite
15797         * gst/gstplugin.h:
15798         * gst/gstregistry.c: 
15799         * gst/gstregistry.h:
15800
15801 2005-09-15  David Schleef  <ds@schleef.org>
15802
15803         * gst/gstplugin.c: Implement semi-decent recounting and locking
15804           in plugins and plugin features.
15805         * gst/gstplugin.h:
15806         * gst/gstpluginfeature.c:
15807         * gst/gstpluginfeature.h:
15808         * gst/gstregistry.c:
15809
15810 2005-09-15  Michael Smith <msmith@fluendo.com>
15811
15812         * gst/gstregistry.c: (gst_registry_get_feature_list):
15813           Implement this. Makes oggdemux work; decodebin still broken.
15814
15815 2005-09-14  David Schleef  <ds@schleef.org>
15816
15817         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
15818           #316076)
15819         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
15820         * gst/check/Makefile.am:
15821         * libs/gst/controller/Makefile.am:
15822         * libs/gst/dataprotocol/Makefile.am:
15823
15824 2005-09-14  David Schleef  <ds@schleef.org>
15825
15826         * configure.ac: Remove getbits library.  Nothing uses it, and
15827           it should be in something like liboil if someone did want
15828           to use it.
15829         * libs/gst/Makefile.am:
15830         * libs/gst/getbits/Makefile.am:
15831         * libs/gst/getbits/gbtest.c:
15832         * libs/gst/getbits/getbits.c:
15833         * libs/gst/getbits/getbits.h:
15834         * libs/gst/getbits/gstgetbits_generic.c:
15835         * libs/gst/getbits/gstgetbits_i386.s:
15836         * libs/gst/getbits/gstgetbits_inl.h:
15837
15838 2005-09-14  David Schleef  <ds@schleef.org>
15839
15840         * gst/Makefile.am: Dist glib-compat.h
15841
15842 2005-09-14  David Schleef  <ds@schleef.org>
15843
15844         * configure.ac: Remove gst/registries, since it's no longer used.
15845         * gst/registries/Makefile.am:
15846         * gst/registries/gstlibxmlregistry.c:
15847         * gst/registries/gstlibxmlregistry.h:
15848         * gst/registries/gstxmlregistry.c:
15849         * gst/registries/gstxmlregistry.h:
15850         * gst/registries/registrytest.c:
15851
15852 2005-09-14  David Schleef  <ds@schleef.org>
15853
15854         * gst/glib-compat.h:
15855         * gst/gstregistryxml.c:
15856           Convergence is near.  Seriously.
15857
15858 2005-09-14  David Schleef  <ds@schleef.org>
15859
15860         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
15861         * gst/glib-compat.h:
15862           Attempt #4 to appease the buildbots.
15863
15864 2005-09-14  David Schleef  <ds@schleef.org>
15865
15866         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
15867           Attempt #3.
15868
15869 2005-09-14  David Schleef  <ds@schleef.org>
15870
15871         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
15872         Attempt #2.
15873
15874 2005-09-14  David Schleef  <ds@schleef.org>
15875
15876         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
15877           the new functions.
15878
15879 2005-09-14  David Schleef  <ds@schleef.org>
15880
15881         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
15882         * gst/glib-compat.h: Add some functions that are in newer versions
15883           of glib than we care to require.
15884         * gst/gstregistryxml.c: Use them.
15885
15886 2005-09-14  David Schleef  <ds@schleef.org>
15887
15888         * po/POTFILES.in: remove gst-register.c
15889
15890 2005-09-14  David Schleef  <ds@schleef.org>
15891
15892         * docs/gst/gstreamer-docs.sgml:
15893         * docs/gst/gstreamer-sections.txt:
15894         * docs/gst/gstreamer.types:
15895         * docs/gst/tmpl/gstelement.sgml:
15896         * docs/gst/tmpl/gstplugin.sgml:
15897         * docs/gst/tmpl/gstpluginfeature.sgml:
15898           Documentation updates for registry changes.
15899
15900 2005-09-14  David Schleef  <ds@schleef.org>
15901
15902         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
15903           because we don't require glib-2.8.
15904
15905 2005-09-14  David Schleef  <ds@schleef.org>
15906
15907         * gst/gstregistryxml.c: Added.  Essentially moved out of the
15908           registries directory.
15909
15910 2005-09-14  David Schleef  <ds@schleef.org>
15911
15912         * check/Makefile.am:
15913         * check/generic/states.c:
15914         * gst/Makefile.am:
15915         * gst/gst.c:
15916         * gst/gst.h:
15917         * gst/gst_private.h:
15918         * gst/gstelementfactory.c:
15919         * gst/gstindex.c:
15920         * gst/gstinfo.c:
15921         * gst/gstplugin.c:
15922         * gst/gstplugin.h:
15923         * gst/gstpluginfeature.c:
15924         * gst/gstpluginfeature.h:
15925         * gst/gstregistry.c:
15926         * gst/gstregistry.h:
15927         * gst/gstregistrypool.c: remove
15928         * gst/gstregistrypool.h: remove
15929         * gst/gsttypefind.c:
15930         * gst/gsttypefindfactory.c:
15931         * gst/gsturi.c:
15932         * tools/Makefile.am:
15933         * tools/gst-compprep.c:
15934         * tools/gst-inspect.c:
15935         * tools/gst-register.c: remove
15936         * tools/gst-xmlinspect.c:
15937           Registry rewrite.  Changes registry from being a file created
15938           by a tool into a simple cache file created automatically by 
15939           libgstreamer.  Removed gst-register (because it's no longer
15940           needed).  Remove registry pools, because we only have one
15941           registry implementation (XML).  Fix up other subsystems as
15942           necessary.
15943
15944 2005-09-13  Michael Smith <msmith@fluendo.com>
15945
15946         * gst/gstconfig.h.in:
15947           Don't Use windows linking attributes for MinGW. Fixes #316157
15948
15949 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
15950
15951         * gst/gstutils.c: (set_state_async_thread_func),
15952         (gst_element_set_state_async):
15953           Apparently people think it's better if this function doesn't
15954           try to set the state to whatever state was asked for on the first
15955           call to this function for any object.  Seriously.
15956
15957 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
15958
15959         * check/gst/gstpipeline.c: (GST_START_TEST):
15960         * docs/gst/gstreamer-sections.txt:
15961         * gst/gstutils.c: (set_state_async_thread_func),
15962         (gst_element_set_state_async):
15963         * gst/gstutils.h:
15964           add a "gst_element_set_state_async" method that
15965           sets the state and starts a thread to make sure the state
15966           change completes as best as it can
15967
15968 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
15969
15970         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
15971           codify design+behaviour in testsuite after discussion
15972
15973 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
15974
15975         * docs/gst/tmpl/gstelement.sgml:
15976         * docs/manual/appendix-quotes.xml:
15977           add a quote
15978         * gst/gstelement.c: (gst_element_set_state):
15979           add some debug
15980
15981 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
15982
15983         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
15984         (gst_base_transform_prepare_output_buf),
15985         (gst_base_transform_handle_buffer):
15986         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
15987         (gst_capsfilter_prepare_buf):
15988           Remove the requirement for sub-classes to call the parent
15989           implementation of prepare_output_buffer with a wrapper function.
15990           
15991         * gst/gsttaglist.h:
15992         * gst/gsttagsetter.h:
15993           Fix #define wrapper
15994
15995 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
15996
15997         * docs/gst/gstreamer-sections.txt:
15998           more doc cleanups
15999
16000 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
16001
16002         * docs/gst/gstreamer-sections.txt:
16003         * docs/gst/tmpl/gstelement.sgml:
16004         * docs/gst/tmpl/gstplugin.sgml:
16005         * gst/gstminiobject.c:
16006         * gst/gstvalue.h:
16007           docs now stop throwing warnings
16008
16009 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
16010
16011         * docs/gst/gstreamer-sections.txt:
16012         * docs/gst/gstreamer.types:
16013         * docs/gst/tmpl/gstpad.sgml:
16014         * docs/gst/tmpl/gsttypes.sgml:
16015         * gst/base/gstadapter.h:
16016         * gst/base/gstbasesink.h:
16017         * gst/base/gstbasesrc.h:
16018         * gst/gstbin.h:
16019         * gst/gstbuffer.h:
16020         * gst/gstbus.h:
16021         * gst/gstcaps.h:
16022         * gst/gstclock.h:
16023         * gst/gstelement.h:
16024         * gst/gstevent.h:
16025         * gst/gstmessage.h:
16026         * gst/gstpad.h:
16027         * gst/gststructure.c:
16028         * gst/registries/gstlibxmlregistry.h:
16029           various documentation fixes
16030
16031 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
16032
16033         * docs/gst/gstreamer-sections.txt:
16034         * docs/gst/tmpl/gstvalue.sgml:
16035           rearrange gstvalue section
16036         * gst/gstutils.c: (gst_element_state_get_name):
16037           NONE -> VOID
16038         * gst/gstvalue.c: (_gst_value_initialize):
16039         * gst/gstvalue.h:
16040           doc updates
16041
16042 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
16043
16044         * check/gst-libs/controller.c:
16045           Header include fix.
16046         * gst/base/gstbasetransform.c:
16047         (gst_base_transform_default_prepare_buf),
16048         (gst_base_transform_handle_buffer):
16049         * gst/base/gstbasetransform.h:
16050           Some more basetransform changes and fixes to enable sub-classes
16051           that modify buffer metadata only.
16052         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
16053         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
16054         (gst_capsfilter_prepare_buf):
16055           If the output pad has fixed allowed caps and input buffers 
16056           don't have any, set the fixed caps on outgoing buffers.
16057
16058 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
16059         * check/elements/identity.c: (GST_START_TEST):
16060           Make the error a little clearer when the test fails because
16061           identity made a copy of the buffer.
16062         * docs/gst/gstreamer-sections.txt:
16063           New symbols in gstbasetransform.h
16064         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
16065         (gst_base_transform_init), (gst_base_transform_transform_size),
16066         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
16067         (gst_base_transform_default_prepare_buf),
16068         (gst_base_transform_get_unit_size),
16069         (gst_base_transform_buffer_alloc),
16070         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
16071         (gst_base_transform_change_state),
16072         (gst_base_transform_set_passthrough),
16073         (gst_base_transform_set_in_place),
16074         (gst_base_transform_is_in_place):
16075         * gst/base/gstbasetransform.h:
16076           Change BaseTransform to separate in_place operate from same_caps
16077           output. in_place implies that the element can perform the transform
16078           on incoming buffers in-place, even if the caps on the output are
16079           different.
16080           Sub-class elements can now implement special buffer allocation
16081           methods for outgoing buffers if they wish to.
16082           Big documentation addition.
16083         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
16084         * gst/elements/gstelements.c:
16085           Changes for basetransform modifications.
16086         * gst/elements/Makefile.am:
16087         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
16088           Compile fix. Extra debug output.
16089
16090 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
16091
16092         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
16093         (gst_pad_suite):
16094           add tests for valid pad naming
16095         * gst/check/gstcheck.c: (gst_check_log_message_func),
16096         (gst_check_log_critical_func):
16097           add ASSERT_WARNING
16098           remove printing of code, it is fragile when the code contains
16099           % and the line number is enough info
16100         * gst/check/gstcheck.h:
16101         * gst/gstpad.c: (gst_pad_template_new):
16102           fix memleaks
16103
16104 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
16105
16106         * configure.ac:
16107           say what CHECK flags we use
16108         * docs/libs/gstreamer-libs.types:
16109         * libs/gst/controller/Makefile.am:
16110         * libs/gst/controller/gst-controller.c:
16111         * libs/gst/controller/gst-controller.h:
16112         * libs/gst/controller/gst-helper.c:
16113         * libs/gst/controller/gst-interpolation.c:
16114         * libs/gst/controller/gstcontroller.c:
16115         * libs/gst/controller/gsthelper.c:
16116         * libs/gst/controller/gstinterpolation.c:
16117         * tools/gst-inspect.c: (print_plugin_info):
16118           we don't use dashes in header names
16119
16120 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
16121
16122         * check/Makefile.am:
16123         * check/gst/.cvsignore:
16124         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
16125         (gst_pipeline_suite), (main):
16126           adding a test for pipelines and state changes
16127         * gst/gstutils.c: (get_state_func):
16128           add some debugging
16129         * gstreamer.spec.in:
16130           fix up spec file
16131
16132 2005-09-08  Michael Smith <msmith@fluendo.com>
16133
16134         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
16135         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
16136         (gst_file_src_is_seekable), (gst_file_src_get_size),
16137         (gst_file_src_start):
16138         * gst/elements/gstfilesrc.h:
16139           Various fixes for unseekable, unmmapable, and non-normal files, so
16140           that fallback to read() rather than mmap() works.
16141         * gst/gstevent.c: (gst_event_new_newsegment):
16142           Allow newsegment events with segment_start == segment_end, as will
16143           correctly happen if you use filesrc on a zero-size file, for
16144           example.
16145
16146 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
16147
16148         * gst/gstplugin.c: (gst_plugin_load_file):
16149           Call g_module_close when we don't load the module
16150
16151         * gst/registries/gstlibxmlregistry.c:
16152         (gst_xml_registry_get_property):
16153           Port leak fix from 0.8
16154
16155 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
16156
16157         * docs/gst/gstreamer-docs.sgml:
16158         * docs/gst/tmpl/.cvsignore:
16159         * docs/gst/tmpl/gsttrace.sgml:
16160         * docs/gst/tmpl/gsttrashstack.sgml:
16161         * gst/Makefile.am:
16162         * gst/gst.h:
16163         * gst/gstelement.h:
16164         * gst/gstevent.h:
16165         * gst/gstmessage.c:
16166         * gst/gstmessage.h:
16167         * gst/gsttag.c:
16168         * gst/gsttag.h:
16169         * gst/gsttaginterface.c:
16170         * gst/gsttaginterface.h:
16171         * gst/gsttaglist.c:
16172         * gst/gsttaglist.h:
16173         * gst/gsttagsetter.c:
16174         * gst/gsttagsetter.h:
16175         * gst/gsttrace.c:
16176         * gst/gsttrace.h:
16177         * gst/gsttrashstack.c:
16178           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
16179           inlined docs for gsttrace, gsttrashstack
16180
16181 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
16182
16183         * gst/Makefile.am:
16184         * gst/elements/gstbufferstore.h:
16185         * gst/elements/gsttypefindelement.c:
16186         * gst/elements/gsttypefindelement.h:
16187         * gst/gst.h:
16188         * gst/gsttypefind.c:
16189         * gst/gsttypefind.h:
16190         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
16191         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
16192         (gst_type_find_factory_dispose),
16193         (gst_type_find_factory_unload_thyself),
16194         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
16195         (gst_type_find_factory_get_caps),
16196         (gst_type_find_factory_get_extensions),
16197         (gst_type_find_factory_call_function):
16198         * gst/gsttypefindfactory.h:
16199         * gst/registries/gstlibxmlregistry.c:
16200         * gst/registries/gstxmlregistry.c:
16201           splitted gsttypefind into gsttypefind, gsttypefindfactory
16202
16203 2005-09-07  Andy Wingo  <wingo@pobox.com>
16204
16205         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
16206         condition whereby the pad's task function is entered before the
16207         pad_mode variable was set.
16208
16209 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
16210
16211         * gst/gstpad.c: (gst_pad_alloc_buffer):
16212           Catch misbehaving pad_alloc functions that don't
16213           set up caps and do it for them.
16214
16215 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
16216
16217         * check/pipelines/simple_launch_lines.c: (run_pipeline):
16218           test for pipe!=NULL
16219         * docs/gst/tmpl/.cvsignore:
16220         * docs/gst/tmpl/gstmemchunk.sgml:
16221         * docs/gst/tmpl/gstparse.sgml:
16222         * docs/gst/tmpl/gsttaglist.sgml:
16223         * docs/gst/tmpl/gsttagsetter.sgml:
16224         * docs/gst/tmpl/gsttypefind.sgml:
16225         * docs/gst/tmpl/gsttypefindfactory.sgml:
16226         * gst/gstmemchunk.c:
16227         * gst/gstparse.c:
16228         * gst/gsttag.c:
16229         * gst/gsttaginterface.c:
16230         * gst/gsttypefind.c:
16231         * gst/gsttypefind.h:
16232           inlined more docs
16233
16234 === release 0.9.2 ===
16235
16236 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
16237
16238         * NEWS:
16239         * RELEASE:
16240         * configure.ac:
16241           releasing 0.9.2, "South"
16242
16243 2005-09-05  Andy Wingo  <wingo@pobox.com>
16244
16245         * gst/registries/gstxmlregistry.h:
16246         * gst/registries/gstxmlregistry.c: Um... resurrect...
16247         
16248         * gst/registries/gstxmlregistry.h:
16249         * gst/registries/gstxmlregistry.c: and update to newer API.
16250         Incidentally they should be a bit faster now that they don't have
16251         to parse the caps.
16252         
16253 2005-09-05  Andy Wingo  <wingo@pobox.com>
16254
16255         * gst/registries/gstxmlregistry.h:
16256         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
16257         replaced by the libxml registry a while back
16258
16259 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
16260
16261         * docs/gst/tmpl/gstplugin.sgml:
16262         * gst/elements/gstelements.c:
16263         * gst/gst.c:
16264         * gst/gstplugin.c: (gst_plugin_register_func),
16265         (gst_plugin_desc_copy), (gst_plugin_desc_free),
16266         (gst_plugin_get_source):
16267         * gst/gstplugin.h:
16268         * gst/registries/gstlibxmlregistry.c: (load_plugin),
16269         (gst_xml_registry_save_plugin):
16270         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
16271         (gst_xml_registry_save_plugin):
16272         * tools/gst-inspect.c: (print_plugin_info):
16273           add a "source" plugin description field, to represent the source
16274           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
16275           will set it to PACKAGE, which is automake's idea of the name of
16276           the source project.
16277
16278 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
16279
16280         * Makefile.am:
16281         * autogen.sh:
16282         * configure.ac:
16283         * docs/Makefile.am:
16284         * docs/faq/Makefile.am:
16285         * docs/gst/tmpl/gstelement.sgml:
16286         * docs/gst/tmpl/gsttypes.sgml:
16287         * docs/htmlinstall.mak:
16288         * docs/manual/Makefile.am:
16289         * docs/pwg/Makefile.am:
16290           reorganize doc build a little
16291           split out docbook and gtk-doc stuff
16292           have two separate --enable's and enable them through autogen
16293           but disable by default in configure (to be similar to other
16294           projects)
16295         * gstreamer.spec.in:
16296           clean up docs install
16297         * po/af.po:
16298         * po/az.po:
16299         * po/ca.po:
16300         * po/cs.po:
16301         * po/de.po:
16302         * po/en_GB.po:
16303         * po/fr.po:
16304         * po/it.po:
16305         * po/nb.po:
16306         * po/nl.po:
16307         * po/ru.po:
16308         * po/sq.po:
16309         * po/sr.po:
16310         * po/sv.po:
16311         * po/tr.po:
16312         * po/uk.po:
16313         * po/vi.po:
16314           translation updates
16315
16316 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
16317
16318         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
16319           Add comment.
16320           
16321         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
16322         (gst_fake_sink_change_state):
16323           Make state change function thread-safe.
16324           
16325         * gst/gstpad.c: (gst_pad_alloc_buffer):
16326           Set offset on generic buffer allocated by fallback.
16327
16328 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
16329
16330         * docs/gst/gstreamer-sections.txt:
16331         * docs/gst/tmpl/gstelement.sgml:
16332         * gst/gstpad.c:
16333         * libs/gst/controller/gst-controller.c:
16334         (gst_controlled_property_set_interpolation_mode),
16335         (gst_controlled_property_new),
16336         (gst_controller_find_controlled_property):
16337          run the wingo-magic script against the docs
16338
16339 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
16340
16341         * docs/gst/gstreamer-docs.sgml:
16342         * docs/gst/gstreamer-sections.txt:
16343         * docs/gst/tmpl/.cvsignore:
16344         * docs/gst/tmpl/gstelementdetails.sgml:
16345         * docs/gst/tmpl/gstelementfactory.sgml:
16346         * gst/gst.c:
16347         * gst/gstbus.c:
16348         * gst/gstelementfactory.c:
16349         * gst/gstelementfactory.h:
16350           merged elementdetails docs into elementfactory docs
16351           inlined both
16352
16353 2005-09-02  Andy Wingo  <wingo@pobox.com>
16354
16355         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
16356         consider this enum an enum and not a flags.
16357
16358 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
16359
16360         * docs/gst/gstreamer-docs.sgml:
16361         * docs/gst/tmpl/.cvsignore:
16362         * docs/gst/tmpl/gstghostpad.sgml:
16363         * docs/gst/tmpl/gstiterator.sgml:
16364         * docs/gst/tmpl/gstmacros.sgml:
16365         * docs/gst/tmpl/gstrealpad.sgml:
16366         * docs/gst/tmpl/gstregistry.sgml:
16367         * docs/gst/tmpl/gstregistrypool.sgml:
16368         * docs/gst/tmpl/gststructure.sgml:
16369         * docs/gst/tmpl/gstsystemclock.sgml:
16370         * docs/gst/tmpl/gsttrace.sgml:
16371         * gst/gstghostpad.c:
16372         * gst/gstmacros.h:
16373         * gst/gstmemchunk.c:
16374         * gst/gstmemchunk.h:
16375         * gst/gstqueue.c:
16376         * gst/gstregistry.c:
16377         * gst/gstregistrypool.c:
16378         * gst/gststructure.c:
16379         * gst/gstsystemclock.c:
16380           more docs inlined
16381
16382 2005-09-02  Andy Wingo  <wingo@pobox.com>
16383
16384         * gst/gstelement.h (GstState): Renamed from GstElementState,
16385         changed to be a normal enum instead of flags.
16386         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
16387         munged to be GST_STATE_CHANGE_*.
16388         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
16389         work with the new state representation.
16390         (GstStateChange): New enumeration of possible state transitions.
16391         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
16392         (GstElementClass::change_state): Pass the GstStateChange along as
16393         an argument. Helps language bindings, so they don't have to use
16394         tricky lock-needing macros like GST_STATE_CHANGE ().
16395
16396         * scripts/update-states (file): New script. Run it on a file to
16397         update it for state naming and API changes. Updates files in
16398         place.
16399
16400         * All files updated for the new API.
16401
16402 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
16403
16404         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
16405         * gst/gstutils.c: (gst_util_set_value_from_string),
16406         (gst_util_set_object_arg):
16407           fix a bunch of unchecked return values
16408         * tools/gst-complete.c: (main):
16409         * gstreamer.spec.in:
16410           clean up a little
16411
16412 2005-09-01  Wim Taymans  <wim@fluendo.com>
16413
16414         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
16415         (gst_base_sink_event), (gst_base_sink_do_sync),
16416         (gst_base_sink_handle_event):
16417         * gst/base/gstbasesink.h:
16418         Handle newsegments more correctly.
16419
16420         * gst/gstbus.c:
16421         Fix docs.
16422
16423         * gst/gstevent.c: (gst_event_new_newsegment):
16424         A newsegment cannot have a start_time of -1
16425
16426 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
16427
16428         * win32/gstenumtypes.c:
16429         * win32/gstenumtypes.h:
16430           Update
16431
16432 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
16433
16434         * libs/gst/controller/gst-controller.c:
16435         (gst_controlled_property_set_interpolation_mode),
16436         (gst_controlled_property_new):
16437          fixed boolean again
16438
16439 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
16440
16441         * docs/faq/gst-uninstalled:
16442           add -good
16443         * gst/gstevent.c:
16444         * gst/gstevent.h:
16445           remove wrong docs
16446         * gst/gstutils.c: (gst_element_link_filtered):
16447         * gst/gstutils.h:
16448           add gst_element_link_filtered
16449
16450 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
16451
16452         * docs/gst/gstreamer-docs.sgml:
16453         * docs/gst/gstreamer-sections.txt:
16454         * docs/gst/tmpl/.cvsignore:
16455         * docs/gst/tmpl/gsterror.sgml:
16456         * docs/gst/tmpl/gstfilter.sgml:
16457         * docs/gst/tmpl/gsturihandler.sgml:
16458         * docs/gst/tmpl/gsturitype.sgml:
16459         * docs/gst/tmpl/gstutils.sgml:
16460         * docs/gst/tmpl/gstxml.sgml:
16461         * gst/gsterror.c:
16462         * gst/gsterror.h:
16463         * gst/gstfilter.c:
16464         * gst/gsturi.c:
16465         * gst/gsturitype.c:
16466         * gst/gstutils.c:
16467         * gst/gstxml.c:
16468           inlined more docs, fixed double id-ref
16469
16470 2005-08-31  Wim Taymans  <wim@fluendo.com>
16471
16472         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
16473         (gst_base_transform_handle_buffer):
16474         Passthrough elements don't need the caps as they don't care.
16475
16476 2005-08-31  Wim Taymans  <wim@fluendo.com>
16477
16478         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
16479         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
16480         Don't leak refcounts on buffers.
16481
16482 2005-08-31  Wim Taymans  <wim@fluendo.com>
16483
16484         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
16485         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
16486         (gst_base_transform_chain), (gst_base_transform_change_state):
16487         * gst/base/gstbasetransform.h:
16488         Handle the case where we are not negotiated more gracefully.
16489
16490 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
16491
16492         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
16493         (gst_file_src_map_region):
16494           Set READONLY flag on mmap'ed buffers, otherwise
16495           gst_buffer_make_writable() won't work properly (#314708).
16496
16497 2005-08-31  Wim Taymans  <wim@fluendo.com>
16498
16499         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
16500         passthrough elements can even do inplace on non writable
16501         buffers (as they don't touch them).
16502
16503 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
16504
16505         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
16506         (gst_test_mono_source_set_property),
16507         (gst_test_mono_source_class_init), (GST_START_TEST),
16508         (gst_controller_suite):
16509           more tests (hehe I have the most)
16510         * gst/gstbus.c:
16511           describe popping messages whenusing mulltiple sources
16512         * libs/gst/controller/gst-controller.c:
16513         (gst_controlled_property_set_interpolation_mode),
16514         (gst_controlled_property_new):
16515         * libs/gst/controller/gst-controller.h:
16516         * libs/gst/controller/gst-interpolation.c:
16517           implement boolean properties
16518
16519 2005-08-31  Wim Taymans  <wim@fluendo.com>
16520
16521         * gst/gstminiobject.c: (gst_mini_object_ref):
16522         Cannot assert that the refcount has to be positive
16523         since a disposed object can be resurrected.
16524
16525 2005-08-31  Wim Taymans  <wim@fluendo.com>
16526
16527         * gst/gstpad.c: (gst_pad_init):
16528         Revert change, need to first fix badly behaving 
16529         apps.
16530
16531 2005-08-30  Wim Taymans  <wim@fluendo.com>
16532
16533         * check/elements/fakesrc.c: (setup_fakesrc):
16534         * check/elements/identity.c: (setup_identity):
16535         Activate pads before using them.
16536
16537 2005-08-30  Wim Taymans  <wim@fluendo.com>
16538
16539         * gst/base/gstadapter.c: (gst_adapter_flush):
16540         Flushing out 0 bytes is ok for this function.
16541
16542         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
16543         no newsegment gives a warning and sets the start/stop to 
16544         invalid.
16545
16546         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
16547         (gst_base_transform_set_passthrough):
16548         Some debug info.
16549
16550         * gst/gstminiobject.c: (gst_mini_object_ref):
16551         Check refcount here too.
16552
16553         * gst/gstpad.c: (gst_pad_init):
16554         Pads are initially flushing and refusing data.
16555
16556         * gst/gstutils.c: (gst_element_link_pads_filtered):
16557         When adding a capsfilter element make sure it has the
16558         same state as the parent bin.
16559
16560 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
16561
16562         * docs/gst/tmpl/.cvsignore:
16563         * docs/gst/tmpl/gstformat.sgml:
16564         * docs/gst/tmpl/gstversion.sgml:
16565         * gst/gstbus.h:
16566         * gst/gstformat.c:
16567         * gst/gstformat.h:
16568         * gst/gstversion.h.in:
16569           more docs and two more inlined
16570
16571 2005-08-30  Wim Taymans  <wim@fluendo.com>
16572
16573         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
16574         Don't sync to clock.
16575
16576 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
16577
16578         * docs/gst/gstreamer-sections.txt:
16579           ultral33t func10ns deserve to appear in the docs actually
16580         * docs/gst/tmpl/.cvsignore:
16581         * docs/gst/tmpl/gstcompat.sgml:
16582         * docs/gst/tmpl/gstconfig.sgml:
16583         * gst/check/gstcheck.c:
16584         * gst/gstcompat.h:
16585         * gst/gstconfig.h.in:
16586           inlined more docs
16587
16588 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
16589
16590         * docs/gst/tmpl/.cvsignore:
16591         * docs/gst/tmpl/gstquery.sgml:
16592         * docs/gst/tmpl/gstutils.sgml:
16593         * gst/gstquery.c:
16594         * gst/gstquery.h:
16595           inlined and extended docs
16596
16597 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
16598
16599         * check/gst-libs/controller.c: (GST_START_TEST),
16600         (gst_controller_suite):
16601           more tests
16602         * docs/gst/tmpl/gstutils.sgml:
16603         * docs/libs/gstreamer-libs-sections.txt:
16604         * docs/libs/tmpl/gstdataprotocol.sgml:
16605           include path fixes
16606         * examples/controller/audio-example.c: (main):
16607           controller example works now
16608         * gst/gstclock.h:
16609           doc fixes
16610         * tools/gst-inspect.c: (print_element_properties_info):
16611           show param spec flags
16612
16613 2005-08-29  Andy Wingo  <wingo@pobox.com>
16614
16615         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
16616
16617 2005-08-28  Andy Wingo  <wingo@pobox.com>
16618
16619         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
16620         as having two arguments instead of just one. Allows superclasses
16621         to access information on subclasses -- see the terrible for() loop
16622         in gtype.c:g_type_create_instance for the reason why. All callers
16623         changed.
16624
16625 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
16626
16627         * docs/design/part-messages.txt:
16628           update info
16629         * docs/gst/tmpl/.cvsignore:
16630         * docs/gst/tmpl/gstcaps.sgml:
16631         * docs/gst/tmpl/gstclock.sgml:
16632         * gst/gstbus.c:
16633         * gst/gstcaps.c:
16634         * gst/gstcaps.h:
16635         * gst/gstclock.c:
16636         * gst/gstclock.h:
16637         * gst/gstmessage.c:
16638           added descriptions for bus and message
16639           inline caps and clock docs
16640
16641 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
16642
16643         * gst/gstmessage.c:
16644         * gst/gstmessage.h:
16645           doc fixes
16646
16647 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
16648
16649         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
16650           fix div-by-zero
16651
16652 2005-08-26  Andy Wingo  <wingo@pobox.com>
16653
16654         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
16655         element_set_state's return val.
16656         (test_2_elements): Add test that's been disabled for months.
16657
16658         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
16659         can-activate-pull properties.
16660
16661         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
16662         can-activate-pull properties. Implement is_seekable so fakesrc can
16663         operate in pull mode.
16664
16665         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
16666         properties.
16667         (gst_base_sink_activate, gst_base_sink_activate_pull)
16668         (gst_base_sink_activate_push): Make activation mode choosing work.
16669         Cleanups.
16670         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
16671         is right. Make pull mode work. Post an eos before pausing in pull
16672         mode.
16673         (gst_base_sink_change_state): Pay attention to the core's
16674         change_state() return val.
16675         
16676         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
16677         has-getrange properties. Cleanups.
16678         
16679         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
16680         has_getrange and replace with can_activate_pull and
16681         can_activate_push.
16682
16683         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
16684         locking comments. Remove has_loop, has_chain and replace with
16685         can_activate_pull and can_activate_push.
16686
16687 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
16688
16689         * configure.ac:
16690         * examples/Makefile.am:
16691         * examples/metadata/Makefile.am:
16692         * examples/metadata/read-metadata.c: (message_loop),
16693         (have_pad_handler), (make_pipeline), (print_tag), (main):
16694           Add metadata reading example that loops over a list of filenames,
16695           dumping any tags found.
16696
16697         * gst/gstbus.c: (gst_bus_dispose):
16698         * gst/gstelement.c: (gst_element_dispose):
16699           Release a few potentially-held references in dispose.
16700
16701 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
16702
16703         * docs/gst/tmpl/gstminiobject.sgml:
16704           do *not* add tmpl/*.sgml files to CVS!
16705
16706 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
16707
16708         * libs/gst/bytestream/.cvsignore:
16709         * libs/gst/bytestream/Makefile.am:
16710         * libs/gst/bytestream/adapter.c:
16711         * libs/gst/bytestream/adapter.h:
16712         * libs/gst/bytestream/bytestream.c:
16713         * libs/gst/bytestream/bytestream.h:
16714         * libs/gst/bytestream/filepad.c:
16715         * libs/gst/bytestream/filepad.h:
16716           removing obsolete files
16717
16718 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
16719
16720         * docs/gst/gstreamer-docs.sgml:
16721         * docs/libs/gstreamer-libs-docs.sgml:
16722           disabed additional index entries again, as this makes docs-gen just
16723           slow and they aren't useful yet
16724         * docs/libs/gstreamer-libs-sections.txt:
16725           little -section.txt cleanup for libs
16726
16727 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
16728
16729         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
16730         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
16731           fix up some debugging
16732         (gst_base_transform_get_unit_size),
16733         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
16734         (gst_base_transform_handle_buffer):
16735         * gst/base/gstbasetransform.h:
16736           handle and store timed NEWSEGMENT events so that subclasses that
16737           calculate time by counting samples have a segment_start time they
16738           need to add to their timestamps - see audioresample
16739
16740 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
16741
16742         * gst/gstbin.h:
16743           removed ';' from the end of macro defs
16744         * docs/gst/gstreamer-docs.sgml:
16745         * docs/gst/gstreamer-sections.txt:
16746         * docs/gst/tmpl/.cvsignore:
16747         * gst/gstbus.h:
16748         * gst/gstelement.c: (gst_element_class_init),
16749         (gst_element_set_state), (activate_pads),
16750         (gst_element_save_thyself):
16751         * gst/gstevent.c: (gst_event_new_newsegment):
16752         * gst/gstevent.h:
16753         * gst/gstiterator.c:
16754         * gst/gstiterator.h:
16755         * gst/gstpad.c:
16756         * gst/gstprobe.h:
16757         * gst/gstutils.c: (gst_pad_query_convert):
16758         * gst/gstutils.h:
16759           fixed parameter name mismatches between source, header and docs
16760           added some more docs, resolved the last batch of unused elements in
16761           docs (now someone needs to doc them)
16762
16763 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
16764
16765         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
16766         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
16767           don't walk through the plugins backwards.  Where is all this
16768           reversed logic coming from ?
16769
16770 2005-08-25  Wim Taymans  <wim@fluendo.com>
16771
16772         * gst/base/gstbasetransform.c: (gst_base_transform_init),
16773         (gst_base_transform_transform_size),
16774         (gst_base_transform_configure_caps),
16775         (gst_base_transform_get_unit_size),
16776         (gst_base_transform_buffer_alloc),
16777         (gst_base_transform_change_state):
16778         * gst/base/gstbasetransform.h:
16779         Cache caps unit_size.
16780         Make sure we cannot negotiate up and downstream at the
16781         same time.
16782
16783 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
16784
16785         * gst/gst.c: (init_pre), (init_post):
16786           register the installed plugin path after the env var
16787         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
16788         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
16789           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
16790           directories, so the tests can prefer uninstalled over installed
16791
16792 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
16793
16794         * gst/base/gstbasetransform.h:
16795           comment
16796         * gst/gstpad.c:
16797           add to docs
16798
16799 2005-08-25  Wim Taymans  <wim@fluendo.com>
16800
16801         * gst/gstbin.c: (bin_bus_handler):
16802         Be a bit more conservative about the posted message.
16803         
16804         * gst/gstbus.c: (gst_bus_post):
16805         Some cleanups, warn wrong return values.
16806
16807 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
16808
16809         * check/gst/gstbin.c: (GST_START_TEST):
16810         * gst/gstbin.c: (bin_bus_handler):
16811         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
16812         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
16813         (gst_message_new_warning), (gst_message_new_tag),
16814         (gst_message_new_state_changed), (gst_message_new_segment_start),
16815         (gst_message_new_segment_done), (gst_message_new_custom):
16816         * gst/gstmessage.h:
16817         * tools/gst-launch.c: (event_loop):
16818         * tools/gst-md5sum.c: (event_loop):
16819           Revert unpopular change for GST_MESSAGE_SRC to GObject.
16820
16821 2005-08-25  Wim Taymans  <wim@fluendo.com>
16822
16823         * check/generic/states.c: (GST_START_TEST):
16824         Cleanup can be done at the end.
16825
16826         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
16827         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
16828         (gst_task_get_state), (gst_task_start), (gst_task_pause):
16829         Oh boy.. Thanks for finding this, Thomas. 
16830
16831 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
16832
16833         * docs/gst/gstreamer.types:
16834           added missing types
16835
16836 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
16837
16838         * docs/gst/gstreamer-docs.sgml:
16839         * docs/gst/gstreamer-sections.txt:
16840         * docs/gst/tmpl/.cvsignore:
16841         * gst/gstbin.c:
16842         * gst/gstiterator.c:
16843         * gst/gstutils.c:
16844         * gst/registries/gstxmlregistry.h:
16845           added missing classes and symbols (123 more to go)
16846           removed removed symbols from section file
16847           fixed many doc-comments
16848
16849 2005-08-24  Wim Taymans  <wim@fluendo.com>
16850
16851         * check/generic/states.c: (GST_START_TEST):
16852         Make sure all tasks are stopped.
16853
16854         * check/gst/gstbin.c: (GST_START_TEST):
16855         Unref after usage for proper valgrinding.
16856
16857         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
16858         Really wait for the task to stop before destroying the
16859         mutex.
16860
16861         * gst/gstqueue.c: (gst_queue_sink_activate_push),
16862         (gst_queue_src_activate_push):
16863         Small cleanups. Don't stop the task when we did not start
16864         it.
16865
16866         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
16867         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
16868         (gst_task_get_state), (gst_task_start), (gst_task_pause),
16869         (gst_task_join):
16870         * gst/gsttask.h:
16871         Protect the stream lock with the object lock.
16872         Disallow setting the stream lock when running.
16873         Add cleanup_all to wait for the threadpool to finish.
16874         Remove code to autoallocate a mutex if none was provided.
16875         Add _join() to wait for a task to stop.
16876         Protect the thread pool with a global lock.
16877
16878 2005-08-24  Wim Taymans  <wim@fluendo.com>
16879
16880         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
16881         (gst_base_sink_get_times), (gst_base_sink_do_sync),
16882         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
16883         * gst/base/gstbasesink.h:
16884         Handle newsegment events correctly.
16885         Drop buffers out of the segment range.
16886
16887 2005-08-22  Andy Wingo  <wingo@pobox.com>
16888
16889         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
16890         macro, implements an interface and gstimplementsinterface for a
16891         new type.
16892
16893 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
16894
16895         * check/Makefile.am:
16896         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
16897           add a test that does a bunch of state changes on elements
16898           needs some fixing for valgrind
16899         * check/states/sinks.c: (gst_object_suite):
16900           whitespace
16901         * gst/gstcaps.h:
16902           add prototype for gst_caps_is_equal_fixed
16903         * gst/gstplugin.c:
16904         * gst/gstregistrypool.c:
16905           doc fixes
16906
16907 2005-08-24  Andy Wingo  <wingo@pobox.com>
16908
16909         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
16910         convert a negative value. Doesn't make much sense. Mostly this is
16911         here to force callers to ensure -1 maps to -1.
16912
16913 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
16914
16915         * docs/pwg/advanced-types.xml:
16916           Well done to Michael for catching my deliberate introduction
16917           of this spelling mistake. 
16918         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
16919         * gst/gstelement.h:
16920           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
16921           unlink pads before removing the element from the bin.
16922
16923 2005-08-24  Andy Wingo  <wingo@pobox.com>
16924
16925         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
16926         the same thing as GST_DEBUG=*:4.
16927         (parse_debug_level, parse_debug_category): New helper parsers.
16928
16929 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
16930
16931         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
16932         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
16933         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
16934         (gst_base_transform_buffer_alloc),
16935         (gst_base_transform_handle_buffer):
16936           use gboolean return values and pointers to size so we can use the
16937           full GST_BUFFER_SIZE range (guint) for buffer sizes
16938           use GstPadDirection for transform_caps
16939         * gst/base/gstbasetransform.h:
16940           rename get_size to get_unit_size since that's what it is
16941         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
16942           use GstPadDirection for transform_caps
16943         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
16944         * gst/gstutils.h:
16945           cleanup and debugging
16946
16947 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
16948
16949         * gst/gstelement.c: (gst_element_class_init),
16950         (gst_element_set_state), (activate_pads),
16951         (gst_element_save_thyself):
16952         * tools/gst-compprep.c: (main):
16953         * tools/gst-inspect.c: (print_element_properties_info):
16954         * tools/gst-xmlinspect.c: (print_element_properties):
16955           Fixed long standing mem-leak
16956
16957 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
16958
16959         * check/gst/gstbin.c: (GST_START_TEST):
16960         * gst/gstbin.c: (bin_bus_handler):
16961         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
16962         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
16963         (gst_message_new_warning), (gst_message_new_tag),
16964         (gst_message_new_state_changed), (gst_message_new_segment_start),
16965         (gst_message_new_segment_done), (gst_message_new_custom):
16966         * gst/gstmessage.h:
16967         * tools/gst-launch.c: (event_loop):
16968         * tools/gst-md5sum.c: (event_loop):
16969           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
16970           that applications can sensibly post custom messages with references
16971           to their own objects.
16972
16973 2005-08-24  Andy Wingo  <wingo@pobox.com>
16974
16975         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
16976         already.
16977
16978 2005-08-24  Wim Taymans  <wim@fluendo.com>
16979
16980         * gst/base/gstbasetransform.c: (gst_base_transform_init),
16981         (gst_base_transform_transform_caps),
16982         (gst_base_transform_transform_size),
16983         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
16984         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
16985         (gst_base_transform_handle_buffer):
16986         * gst/base/gstbasetransform.h:
16987         Many fixes and new features added by Thomas. Can now also do
16988         transforms with variable sizes and a custom fixate_caps function.
16989
16990 2005-08-24  Wim Taymans  <wim@fluendo.com>
16991
16992         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
16993         Some debugging.
16994
16995         * gst/gstclock.h:
16996         Cast to ClockTime before formatting to time.
16997
16998         * gst/gstutils.h:
16999         Cleanups.
17000
17001 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
17002
17003         * check/gst-libs/controller.c: (GST_START_TEST),
17004         (gst_controller_suite):
17005         * docs/gst/tmpl/gstcaps.sgml:
17006         * docs/gst/tmpl/gstghostpad.sgml:
17007         * docs/gst/tmpl/gstquery.sgml:
17008         * docs/gst/tmpl/gstutils.sgml:
17009         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
17010         (gst_object_sink_values), (gst_object_get_value_arrays),
17011         (gst_object_get_value_array):
17012           gracefully handle helper method calls to objects that are not beeing
17013           controlled, added test case for that          
17014
17015 2005-08-23  Wim Taymans  <wim@fluendo.com>
17016
17017         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
17018         (gst_event_new_newsegment), (gst_event_parse_newsegment),
17019         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
17020         (gst_event_parse_qos), (gst_event_new_seek),
17021         (gst_event_parse_seek):
17022         * gst/gstevent.h:
17023         Some more debugging output and doc cleanups.
17024
17025         * gst/gstqueue.c: (gst_queue_handle_sink_event):
17026         Fix possible deadlock.
17027
17028 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
17029
17030         * docs/gst/gstreamer-docs.sgml:
17031         * docs/gst/gstreamer-sections.txt:
17032         * docs/gst/gstreamer.types:
17033         * docs/gst/tmpl/.cvsignore:
17034         * gst/gstbin.h:
17035         * gst/gstbus.c:
17036         * gst/gstelement.c:
17037         * gst/gstevent.h:
17038           added 100 symbols from gstreamer-unused.txt to the right sections
17039           fixed more broken comments
17040           added GstBus to docs
17041
17042 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
17043
17044         * docs/gst/gstreamer-sections.txt:
17045         * docs/gst/tmpl/.cvsignore:
17046         * docs/gst/tmpl/gstbin.sgml:
17047         * docs/gst/tmpl/gstbuffer.sgml:
17048         * gst/base/gstbasesrc.c:
17049         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
17050         * gst/gstbuffer.c:
17051         * gst/gstbuffer.h:
17052         * tools/gst-launch.1.in:
17053           inlined more doc comments, added missing comments and fixed comments
17054           fixed typos
17055
17056 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
17057
17058         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
17059           some debugging
17060         * gst/gstcaps.h:
17061           whitespace fixes
17062         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
17063           more debugging
17064         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
17065         * gst/gststructure.h:
17066           add a fixate function for booleans; add a FIXME that these func
17067           names should probably be gst_structure_fixate_*
17068
17069 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
17070
17071         * docs/gst/gstreamer-docs.sgml:
17072         * docs/gst/gstreamer-sections.txt:
17073         * gst/Makefile.am:
17074         * gst/gstbin.c: (gst_bin_get_type),
17075         (gst_bin_child_proxy_get_child_by_index),
17076         (gst_bin_child_proxy_get_children_count),
17077         (gst_bin_child_proxy_init):
17078         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
17079         (gst_child_proxy_get_child_by_index),
17080         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
17081         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
17082         (gst_child_proxy_get), (gst_child_proxy_set_property),
17083         (gst_child_proxy_set_valist), (gst_child_proxy_set),
17084         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
17085         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
17086         * gst/gstchildproxy.h:
17087         * gst/parse/grammar.y:
17088         * tools/gst-inspect.c: (print_interfaces),
17089         (print_element_properties_info), (print_element_info):
17090           ported gstchildproxy over from 0.8
17091           ported gst-inspect fixes and enhancements over from 0.8
17092
17093 2005-08-22  Wim Taymans  <wim@fluendo.com>
17094
17095         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
17096         (gst_base_transform_handle_buffer):
17097         Also call the transform function if we have ANY caps.
17098
17099         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
17100         Fix debug info.
17101
17102 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
17103
17104         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
17105           Don't pretend to handle seek events if the source is not seekable
17106
17107 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
17108
17109         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
17110           Remove extra parameter to debug output
17111
17112         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
17113         (gst_base_src_do_seek), (gst_base_src_activate_push):
17114           Fix seek event handling.
17115
17116         * gst/gstpipeline.c: (gst_pipeline_change_state):
17117         * gst/gstqueue.c: (gst_queue_handle_sink_event),
17118         (gst_queue_src_activate_push):
17119           Don't start the src pad task on FLUSH_STOP if the pad
17120           isn't linked.
17121           Debug changes.
17122
17123 2005-08-22  Wim Taymans  <wim@fluendo.com>
17124
17125         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
17126         Added check for gst_static_caps_get() refcounting.
17127
17128 2005-08-22  Wim Taymans  <wim@fluendo.com>
17129
17130         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
17131         Make _static_caps_get() refcounting sane.
17132         
17133         * gst/gstelement.c: (gst_element_set_state):
17134         Add g_return_val_if_fail() to protect against segfaults.
17135
17136 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
17137
17138         * docs/gst/tmpl/gstevent.sgml:
17139         * gst/gstevent.c:
17140         * gst/gstevent.h:
17141           inlined remaining docs, added missing doc comments
17142
17143 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
17144
17145         * check/gst/gstbin.c: (GST_START_TEST):
17146           since we don't know when preroll is done, use refcount range
17147           check for the sink
17148         * gst/check/gstcheck.h:
17149           add macro for checking refcount range
17150
17151 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
17152
17153         * check/Makefile.am:
17154           clean up environment for when registry gets built versus
17155           when actual tests are run; valgrind seems to not report
17156           leaks if GST_PLUGIN_PATH is set to some specific values
17157         * check/gst/gstbin.c: (GST_START_TEST):
17158           add more refcounting checks; maybe this exposes a
17159           preroll lock bug ?
17160         * common/check.mak:
17161         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
17162         * gst/check/gstcheck.h:
17163         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
17164         (gst_bin_change_state):
17165         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
17166           add/fix debugging/whitespace
17167
17168 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
17169
17170         * check/gst/gstevent.c: (event_probe), (test_event),
17171         (GST_START_TEST):
17172          Er, don't call gst_bin_watch_for_state_change you idiot.
17173
17174 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
17175
17176         * check/Makefile.am:
17177           Use CHECK_CFLAGS and CHECK_LIBS
17178         * check/gst/gstevent.c: (event_probe), (test_event),
17179         (GST_START_TEST):
17180           Don't leak events.
17181         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
17182         (gst_base_src_start), (gst_base_src_stop),
17183         (gst_base_src_activate_push), (gst_base_src_activate_pull),
17184         (gst_base_src_change_state):
17185           Sprinkle gst_base_src_stop liberally around error paths to fix
17186           problems reusing a source after failed state changes.
17187         * gst/base/gsttypefindhelper.c: (helper_find_peek),
17188         (helper_find_suggest), (gst_type_find_helper):
17189           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
17190         * gst/gstevent.h:
17191         * docs/gst/tmpl/gstevent.sgml:
17192           Migrate part of the docs from the SGML file. Wait for ensonic to
17193           tell me how I did it wrong ;)
17194         * tools/gst-typefind.c: (main):
17195           Extra robustness to state changes between files.
17196
17197 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
17198
17199         * check/Makefile.am:
17200           don't valgrind the controller test - it's leaking - Stefan, HELP
17201         * gst/check/gstcheck.c: (gst_check_message_error),
17202         (gst_check_chain_func), (gst_check_setup_element),
17203         (gst_check_teardown_element), (gst_check_setup_src_pad),
17204         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
17205         (gst_check_teardown_sink_pad):
17206         * gst/check/gstcheck.h:
17207           add a bunch of methods to set up elements, and src and sink pads
17208         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
17209         * check/elements/identity.c: (setup_identity), (cleanup_identity),
17210         (GST_START_TEST):
17211           use them
17212         * gst/gstmessage.c:
17213         * gst/gsttag.h:
17214           whitespace/doc fixes
17215
17216 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
17217
17218         * gst/gstelement.h:
17219           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
17220           be handled by the application and not always printed as well
17221
17222 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
17223
17224         * check/Makefile.am:
17225           set GST_TOOLS_DIR
17226         * gst/check/gstcheck.c: (gst_check_message_error):
17227         * gst/check/gstcheck.h:
17228           add a fail_unless_equals_int
17229           add fail_unless for error messages
17230
17231 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
17232
17233         * check/Makefile.am:
17234         * check/gst.supp:
17235         * common/Makefile.am:
17236         * common/check.mak:
17237         * common/gst.supp:
17238           factor out some of the common stuff so we can use it
17239
17240 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
17241
17242         * check/Makefile.am:
17243         * check/gst/gstiterator.c: (GST_START_TEST):
17244         * check/gst/gstsystemclock.c: (GST_START_TEST),
17245         (gst_systemclock_suite):
17246         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
17247         * gst/gstclock.c:
17248           valgrind more tests
17249
17250 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
17251
17252         * check/elements/.cvsignore:
17253         * check/elements/gstfakesrc.c:
17254           rename to name of element
17255         * check/elements/identity.c: (chain_func), (event_func),
17256         (setup_identity), (cleanup_identity), (GST_START_TEST),
17257         (identity_suite), (main):
17258           add a test for identity
17259         * check/Makefile.am:
17260         * pkgconfig/Makefile.am:
17261         * pkgconfig/gstreamer-check.pc.in:
17262         * pkgconfig/gstreamer-check-uninstalled.pc.in:
17263         * gst/check:
17264         * gst/Makefile.am:
17265         * configure.ac:
17266           move the check stuff to a library that gets installed
17267         * check/gst-libs/controller.c: (GST_START_TEST):
17268         * check/gst-libs/gdp.c:
17269         * check/gst/gst.c: (GST_START_TEST):
17270         * check/gst/gstbin.c:
17271         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
17272         * check/gst/gstbus.c:
17273         * check/gst/gstcaps.c: (GST_START_TEST):
17274         * check/gst/gstelement.c:
17275         * check/gst/gstghostpad.c:
17276         * check/gst/gstiterator.c:
17277         * check/gst/gstmessage.c:
17278         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
17279         * check/gst/gstobject.c:
17280         * check/gst/gstpad.c: (GST_START_TEST):
17281         * check/gst/gststructure.c: (GST_START_TEST):
17282         * check/gst/gstsystemclock.c: (GST_START_TEST),
17283         (gst_systemclock_suite):
17284         * check/gst/gsttag.c: (gst_tag_suite):
17285         * check/gst/gstvalue.c:
17286         * check/pipelines/cleanup.c:
17287         * check/pipelines/simple_launch_lines.c:
17288         * check/states/sinks.c:
17289           change include statement
17290
17291         * docs/gst/gstreamer-sections.txt:
17292         * docs/gst/tmpl/gstpad.sgml:
17293           document more pad stuff
17294         * gst/gstminiobject.c: (gst_mini_object_ref),
17295         (gst_mini_object_unref):
17296           debug refcounting
17297
17298 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
17299
17300         * docs/gst/tmpl/gst.sgml:
17301         * gst/gst.c:
17302           eliminate another tmpl file, fix spelling in the long-description
17303
17304 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
17305
17306         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
17307         (test_event), (timediff), (gstevents_suite):
17308           Should fix build on 64-bit arch's
17309
17310 2005-08-18  Andy Wingo  <wingo@pobox.com>
17311
17312         Make sure that when a pipeline goes to PLAYING, that data has
17313         actually hit the sink.
17314
17315         * check/states/sinks.c (test_sink): A sink that doesn't get any
17316         data shouldn't return SUCCESS for going to either PLAYING or
17317         PAUSED. Test also the return values on the way back down.
17318
17319         * gst/gstelement.c (gst_element_set_state): When changing the
17320         state of an element currently changing state asynchronously, go to
17321         lost-state after commiting the pending state. Makes future calls
17322         to get_state continue to return ASYNC.
17323
17324         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
17325         ASYNC when going to PLAYING if we still don't have preroll, as can
17326         happen with live sources.
17327
17328 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
17329
17330         * docs/pwg/advanced-types.xml:
17331           Hack long paragraph into 2 chunks as a workaround for buggy
17332           jadetex version in sid and breezy that loops infinitely and
17333           eats all RAM.
17334
17335 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
17336
17337         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
17338         (test_event), (timediff), (gstevents_suite):
17339           Provide more error margin in clock measurements to allow for 
17340           g_get_current_time inaccuracies.
17341
17342 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
17343
17344         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
17345         (test_event), (timediff), (gstevents_suite):
17346            Fix error message output so I might be able to tell why the
17347            test works here but fails on the build farm.
17348
17349 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
17350
17351         * check/Makefile.am:
17352         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
17353         (test_event), (timediff), (gstevents_suite), (main):
17354           I wrote a test!
17355
17356         * docs/design/part-seeking.txt:
17357           Spelling correction
17358
17359         * docs/gst/tmpl/gstevent.sgml:
17360         * docs/gst/tmpl/gstfakesrc.sgml:
17361           Docs updates.
17362
17363         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
17364           Treat a buffer-without-newsegment the same as a receiving 
17365           a newsegment not in time format, and disable syncing to the clock
17366           with a warning.
17367
17368         * gst/gstbus.c: (gst_bus_set_sync_handler):
17369           Assert if anyone tries to replace the existing sync_handler for bus, 
17370           as only the owner should be setting it.
17371
17372         * gst/gstevent.h:
17373           Have a fixed set of custom event enums with events identified by
17374           their structure name (as in 0.8), rather than a free-for-all
17375           allowing collisions between enum values from different plugins.
17376
17377         * gst/gstpad.c: (gst_pad_class_init):
17378           Docs change.
17379           
17380         * gst/gstqueue.c: (gst_queue_handle_sink_event):
17381           Handle out-of-band downstream events from the sending thread.
17382
17383 2005-08-17  Andy Wingo  <wingo@pobox.com>
17384
17385         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
17386         play-timeout==0 to mean no timeout at all. In that case, don't
17387         bother with a get_state or a warning, just return directly, even
17388         if it's ASYNC.
17389
17390         * gst/base/gstbasetransform.c: Debug changes.
17391
17392         * gst/gstutils.h:
17393         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
17394         ensure bins post state change messages. A bit of a hack but I can't
17395         think of a way to avoid it.
17396
17397         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
17398
17399 2005-08-16  Andy Wingo  <wingo@pobox.com>
17400
17401         * gst/base/gstadapter.h:
17402         * gst/base/gstadapter.c (gst_adapter_take): New function, like
17403         peek() but you own the data. Not terribly efficient atm.
17404
17405 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17406
17407         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
17408         (gst_element_found_tags):
17409         * gst/gstutils.h:
17410           Add two utility functions for tag handling.
17411
17412 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17413
17414         * docs/manual/advanced-dataaccess.xml:
17415         * docs/manual/basics-helloworld.xml:
17416           Fix docs to use _bin_add() before _link(), which fixes the examples
17417           with recent core versions (reported by Madhan Raj M
17418           <raj_madan@rediffmail.com>, #313199).
17419
17420 2005-08-16  Wim Taymans  <wim@fluendo.com>
17421
17422         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
17423         Added subtract checks.
17424
17425         * docs/design/part-events.txt:
17426         Some more docs about newsegment
17427
17428         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
17429         Fix FIXME
17430
17431         * gst/gstcaps.c: (gst_caps_to_string):
17432         Add comments, cleanups.
17433         
17434         * gst/gstelement.c: (gst_element_save_thyself):
17435         cleanups
17436         
17437         * gst/gstvalue.c: (gst_value_collect_int_range),
17438         (gst_string_unwrap), (gst_value_union_int_int_range),
17439         (gst_value_union_int_range_int_range),
17440         (gst_value_intersect_int_int_range),
17441         (gst_value_intersect_int_range_int_range),
17442         (gst_value_intersect_double_double_range),
17443         (gst_value_intersect_double_range_double_range),
17444         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
17445         (gst_value_subtract_int_range_int),
17446         (gst_value_subtract_double_range_double),
17447         (gst_value_subtract_double_range_double_range),
17448         (gst_value_subtract_from_list), (gst_value_subtract_list),
17449         (gst_value_can_compare), (gst_value_compare_fraction):
17450         Cleanups, add comments, remove unneeded asserts.
17451
17452 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
17453
17454         * tools/gst-launch.c: (event_loop):
17455           don't convert NULL structures to strings
17456
17457 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
17458
17459         * docs/gst/gstreamer-sections.txt:
17460           made some defines private
17461         * docs/gst/tmpl/gstconfig.sgml:
17462         * docs/gst/tmpl/gstqueue.sgml:
17463         * docs/gst/tmpl/gsttaglist.sgml:
17464         * docs/gst/tmpl/gsttypes.sgml:
17465         * docs/gst/tmpl/gstutils.sgml:
17466         * docs/pwg/appendix-porting.xml:
17467         * gst/base/gstbasesink.h:
17468         * gst/base/gstbasesrc.c:
17469         * gst/base/gstbasesrc.h:
17470         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
17471         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
17472         * gst/gstelement.c: (gst_element_class_init):
17473         * gst/gstpad.c: (gst_pad_class_init):
17474         * gst/gstqueue.c: (gst_queue_class_init):
17475         * gst/gstxml.c: (gst_xml_class_init):
17476           documented all undocumented signal inline
17477         * libs/gst/controller/gst-controller.h:
17478           added padding
17479
17480 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17481
17482         * docs/pwg/appendix-porting.xml:
17483           Document _set_link_function -> _set_setcaps_function.
17484
17485 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
17486
17487         * check/Makefile.am:
17488           add a .check target for running the check
17489         * check/gst-libs/controller.c: (GST_START_TEST):
17490           cosmetic fixups
17491         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
17492           complete checks for gstbuffer; would be nice if I could get the
17493           gcov stuff to work so I can see if I actually completed gstbuffer.c
17494         * check/gstcheck.h:
17495           add ASSERT_BUFFER_REFCOUNT
17496
17497 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
17498
17499         * docs/gst/gstreamer-sections.txt:
17500         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
17501         * gst/gsttag.h:
17502           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
17503           spew out a warning if a tag that is already registered
17504           is re-registered, unless it is re-registered with a 
17505           different type (#308438).
17506
17507 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
17508
17509         * docs/pwg/appendix-porting.xml:
17510         * docs/pwg/building-state.xml:
17511           Add some paragraphs about state changes in 0.9 to the PWG
17512           and the porting guide, in particular about the new meaning
17513           of GST_STATE_PAUSED and how to write state change functions
17514           with concurrent access by multiple threads in mind.
17515
17516 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
17517
17518         * docs/gst/gstreamer-docs.sgml:
17519         * docs/libs/gstreamer-libs-docs.sgml:
17520           added deprecation and since indexes
17521         * libs/gst/controller/gst-controller.c:
17522         * libs/gst/controller/gst-helper.c:
17523           added since tags
17524
17525
17526 2005-08-11  Wim Taymans  <wim@fluendo.com>
17527
17528         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
17529         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
17530         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
17531         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
17532         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
17533         (gst_ghost_pad_set_target):
17534         Actually implement (re)setting the target on a ghostpad
17535         as described in the docs.
17536
17537 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
17538
17539         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
17540           Check whether GST_DEBUG_NO_COLOR environment variable is
17541           set and disable coloured debug output if that is the case.
17542
17543 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
17544
17545         * gst/base/gsttypefindhelper.c: (helper_find_peek),
17546         (gst_type_find_helper):
17547           The memory returned by gst_type_find_peek() needs to
17548           stay valid until the end of a typefind function, and
17549           typefind functions may keep results from different 
17550           offsets around, so we can't just unref the buffer from
17551           the previous _peek(), but have to save all buffers 
17552           returned by _peek() until typefinding is done and only
17553           free them then.
17554
17555 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
17556
17557         * docs/gst/gstreamer-sections.txt:
17558         * gst/gstutils.h:
17559           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
17560
17561 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17562
17563         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
17564           Fix a pretty good memleak.
17565
17566 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
17567
17568         * gst/gstiterator.h:
17569           Fix wrong include and 'make distcheck'.
17570
17571 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17572
17573         * gst/gstbin.c: (bin_bus_handler):
17574           Use gst_element_post_message() instead.
17575
17576 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
17577
17578         * gst/base/gstadapter.h:
17579         * gst/base/gstbasesink.h:
17580         * gst/base/gstbasesrc.h:
17581         * gst/base/gstbasetransform.h:
17582         * gst/base/gstcollectpads.h:
17583         * gst/base/gstpushsrc.h:
17584         * gst/gstiterator.h:
17585           Add padding to our base elements' class and instance structs and
17586           to GstIterator (you will need to rebuild all plugins and apps!)
17587
17588 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17589
17590         * gst/gstbin.c: (bin_bus_handler):
17591           Make default message forwarding from child->bus to bin->bus
17592           threadsafe and make it not emit warnings if the parent has no bus.
17593
17594 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17595
17596         * gst/gstelement.c: (activate_pads):
17597           On paused->ready, set pad->caps to NULL, as is the documented
17598           behaviour in this state change. Fixes playback of series of
17599           media files when visualization is enabled in Totem.
17600
17601 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17602
17603         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
17604           Allow NULL as filter-caps (which means "any").
17605
17606 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
17607
17608         * docs/libs/gstreamer-libs-sections.txt:
17609         * libs/gst/controller/gst-controller.c:
17610         * libs/gst/controller/gst-controller.h:
17611         * libs/gst/controller/gst-helper.c:
17612           adding more entries to the docs and fix small doc-bugs
17613
17614 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
17615
17616         * docs/gst/gstreamer-docs.sgml:
17617         * docs/gst/gstreamer-sections.txt:
17618         * docs/gst/gstreamer.types:
17619         * docs/gst/tmpl/gstbasesink.sgml:
17620         * docs/gst/tmpl/gstbasesrc.sgml:
17621         * docs/gst/tmpl/gstbasetransform.sgml:
17622         * docs/gst/tmpl/gstfakesrc.sgml:
17623         * gst/base/gstcollectpads.c:
17624         * gst/base/gstcollectpads.h:
17625         * libs/gst/controller/gst-controller.c:
17626         * libs/gst/controller/gst-controller.h:
17627         * libs/gst/controller/gst-helper.c:
17628         * libs/gst/controller/gst-interpolation.c:
17629         * libs/gst/controller/lib.c:
17630           added long/short desc for controller docs
17631           added collectpads base class docs
17632           added correct includes to base-class docs
17633
17634 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
17635
17636         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
17637         (gst_test_mono_source_set_property),
17638         (gst_test_mono_source_class_init), (GST_START_TEST),
17639         (gst_controller_suite):
17640         * docs/gst/gstreamer-docs.sgml:
17641         * docs/gst/gstreamer-sections.txt:
17642         * docs/gst/gstreamer.types:
17643         * docs/libs/gstreamer-libs-docs.sgml:
17644         * docs/libs/gstreamer-libs-sections.txt:
17645         * gst/base/gstadapter.c:
17646         * libs/gst/controller/gst-controller.c:
17647         (gst_controlled_property_new), (gst_controlled_property_free),
17648         (gst_controller_new_valist),
17649         (gst_controller_remove_properties_valist),
17650         (gst_controller_sink_values), (_gst_controller_finalize):
17651         * libs/gst/controller/gst-controller.h:
17652         * libs/gst/controller/gst-helper.c:
17653         (gst_object_control_properties), (gst_object_uncontrol_properties),
17654         (gst_object_get_controller), (gst_object_set_controller),
17655         (gst_object_sink_values), (gst_object_get_value_arrays),
17656         (gst_object_get_value_array):
17657           more tests (and fixes) for the controller
17658           more docs for the controller
17659           integrated companies docs for the adapter 
17660
17661 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
17662
17663         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
17664         (GST_START_TEST), (fakesrc_suite):
17665           add tests for sizetype
17666
17667 2005-08-04  Andy Wingo  <wingo@pobox.com>
17668
17669         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
17670         fixes buffer_alloc proxying among other things.
17671
17672         * gst/base/gstbasetransform.c:
17673         * gst/base/gstbasetransform.h:
17674         Revert patch to gstbasetransform from 7-28 removing
17675         delay_configure.
17676
17677         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
17678         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
17679         Semantics changed, should return not the size of the output buffer
17680         but the byte size of a buffer with a given caps.
17681
17682         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
17683         debug object.
17684         (gst_base_transform_configure_caps): Don't set out_size here: (in,
17685         out) are not the pad caps until setcaps finishes.
17686         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
17687         not-in-place case as well. Deal with changing from in-place to
17688         not-in-place within calling pad_alloc_buffer. Still a bit
17689         concerned about the overhead here...
17690
17691 2005-08-03  Andy Wingo  <wingo@pobox.com>
17692
17693         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
17694         fixating is an error.
17695
17696 2005-08-04  Edward Hervey  <edward@fluendo.com>
17697
17698         * gst/base/gstadapter.h: 
17699         Added gst_adapter_get_type() to the header
17700
17701 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
17702
17703         * check/Makefile.am:
17704         * check/gst-libs/controller.c:
17705         * libs/gst/controller/gst-controller.c:
17706         (gst_controller_new_valist):
17707           added check test suite for the controller
17708         * gst/base/gstpushsrc.c:
17709           fixed a doc typo
17710
17711 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
17712
17713         * docs/gst/Makefile.am:
17714         * docs/gst/gstreamer-docs.sgml:
17715         * docs/gst/gstreamer-sections.txt:
17716         * docs/gst/gstreamer.types:
17717         * docs/gst/tmpl/gstfakesrc.sgml:
17718         * gst/base/README:
17719         * gst/base/gstbasesink.c:
17720         * gst/base/gstbasesink.h:
17721         * gst/base/gstbasesrc.c:
17722         * gst/base/gstbasesrc.h:
17723         * gst/base/gstbasetransform.c:
17724         * gst/base/gstpushsrc.c:
17725         * gst/base/gstpushsrc.h:
17726           add short/long description docs to base classes
17727           add pushsrc to the docs
17728           remove consolidated doc fragments
17729
17730 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
17731
17732         * configure.ac:
17733         * docs/libs/Makefile.am:
17734         * docs/libs/gstreamer-libs-docs.sgml:
17735         * docs/libs/gstreamer-libs-sections.txt:
17736         * docs/libs/gstreamer-libs.types:
17737         * examples/Makefile.am:
17738         * examples/controller/.cvsignore:
17739         * examples/controller/Makefile.am:
17740         * examples/controller/audio-example.c: (main):
17741         * libs/gst/Makefile.am:
17742         * libs/gst/controller/.cvsignore:
17743         * libs/gst/controller/Makefile.am:
17744         * libs/gst/controller/gst-controller.c:
17745         (on_object_controlled_property_changed), (gst_timed_value_compare),
17746         (gst_timed_value_find),
17747         (gst_controlled_property_set_interpolation_mode),
17748         (gst_controlled_property_new), (gst_controlled_property_free),
17749         (gst_controller_find_controlled_property),
17750         (gst_controller_new_valist), (gst_controller_new),
17751         (gst_controller_remove_properties_valist),
17752         (gst_controller_remove_properties), (gst_controller_set),
17753         (gst_controller_set_from_list), (gst_controller_unset),
17754         (gst_controller_get), (gst_controller_get_all),
17755         (gst_controller_sink_values), (gst_controller_get_value_arrays),
17756         (gst_controller_get_value_array),
17757         (gst_controller_set_interpolation_mode),
17758         (_gst_controller_finalize), (_gst_controller_init),
17759         (_gst_controller_class_init), (gst_controller_get_type):
17760         * libs/gst/controller/gst-controller.h:
17761         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
17762         (g_object_uncontrol_properties), (g_object_get_controller),
17763         (g_object_set_controller), (g_object_sink_values),
17764         (g_object_get_value_arrays), (g_object_get_value_array):
17765         * libs/gst/controller/gst-interpolation.c:
17766         (gst_controlled_property_find_timed_value_node),
17767         (interpolate_none_get), (interpolate_trigger_get),
17768         (interpolate_trigger_get_value_array):
17769         * libs/gst/controller/lib.c: (gst_controller_init):
17770         * pkgconfig/Makefile.am:
17771         * pkgconfig/gstreamer-control-uninstalled.pc.in:
17772         * pkgconfig/gstreamer-control.pc.in:
17773         * testsuite/Makefile.am:
17774         * testsuite/controller/.cvsignore:
17775         * testsuite/controller/Makefile.am:
17776         * testsuite/controller/interpolator.c: (main):
17777           added controller code
17778           removed dparam pc files
17779
17780 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
17781         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
17782         (gst_collectpads_stop):
17783           Broadcast the condition when shutting down, to make sure we wake all
17784           threads up. Shut down pads on finalize, for safety.
17785
17786 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
17787         * gst/base/gstbasetransform.c: (gst_base_transform_init),
17788         (gst_base_transform_handle_buffer),
17789         (gst_base_transform_change_state):
17790           Handle PAUSED->READY->PAUSED transition after negotiation
17791           occurred already.
17792         * gst/gstmessage.c: (gst_message_init):
17793           Extra piece of debug for new messages.
17794
17795 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
17796
17797         * configure.ac:
17798         * docs/gst/tmpl/gstbasesrc.sgml:
17799         * docs/gst/tmpl/gstelement.sgml:
17800         * docs/gst/tmpl/gstevent.sgml:
17801         * docs/gst/tmpl/gstfakesrc.sgml:
17802         * docs/gst/tmpl/gstformat.sgml:
17803         * docs/gst/tmpl/gstghostpad.sgml:
17804         * docs/gst/tmpl/gstpad.sgml:
17805         * docs/gst/tmpl/gstquery.sgml:
17806         * docs/gst/tmpl/gststructure.sgml:
17807         * docs/gst/tmpl/gsttaglist.sgml:
17808         * docs/gst/tmpl/gstvalue.sgml:
17809         * docs/libs/gstreamer-libs-docs.sgml:
17810         * docs/libs/gstreamer-libs-sections.txt:
17811         * docs/libs/gstreamer-libs.types:
17812         * libs/gst/Makefile.am:
17813         * libs/gst/control/.cvsignore:
17814         * libs/gst/control/Makefile.am:
17815         * libs/gst/control/control.c:
17816         * libs/gst/control/control.h:
17817         * libs/gst/control/dparam.c:
17818         * libs/gst/control/dparam.h:
17819         * libs/gst/control/dparam_smooth.c:
17820         * libs/gst/control/dparam_smooth.h:
17821         * libs/gst/control/dparamcommon.h:
17822         * libs/gst/control/dparammanager.c:
17823         * libs/gst/control/dparammanager.h:
17824         * libs/gst/control/dplinearinterp.c:
17825         * libs/gst/control/dplinearinterp.h:
17826         * libs/gst/control/unitconvert.c:
17827         * libs/gst/control/unitconvert.h:
17828         * testsuite/Makefile.am:
17829         * testsuite/dynparams/.cvsignore:
17830         * testsuite/dynparams/Makefile.am:
17831         * testsuite/dynparams/dparamstest.c:
17832         * tools/Makefile.am:
17833         * tools/gst-inspect.c: (print_element_info), (main):
17834         * tools/gst-xmlinspect.c: (print_element_info), (main):
17835           deactivate and remove dparams (libgstcontrol)
17836
17837 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
17838
17839         * gst/elements/gsttypefindelement.c:
17840         (gst_type_find_element_have_type), (gst_type_find_element_init),
17841         (stop_typefinding), (gst_type_find_element_handle_event),
17842         (gst_type_find_element_chain), (gst_type_find_element_getrange):
17843         * gst/elements/gsttypefindelement.h:
17844           Set caps on all outgoing buffers, not just the first one.
17845
17846 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
17847
17848         * gst/elements/gsttypefindelement.c:
17849         (gst_type_find_element_have_type),
17850         (gst_type_find_element_check_set_buffer_caps),
17851         (gst_type_find_element_init), (stop_typefinding),
17852         (gst_type_find_element_handle_event),
17853         (gst_type_find_element_chain), (gst_type_find_element_getrange):
17854         * gst/elements/gsttypefindelement.h:
17855           Set caps on first outgoing buffer when we've found the type.
17856
17857 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
17858
17859         * docs/gst/gstreamer-docs.sgml:
17860         * docs/gst/gstreamer-sections.txt:
17861         * docs/gst/tmpl/gstscheduler.sgml:
17862         * docs/gst/tmpl/gstschedulerfactory.sgml:
17863           Remove some old cruft from docs.
17864
17865 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
17866
17867         * gst/gstpad.h:
17868           Fix inline docs for GstPadLinkReturn.
17869           
17870         * gst/gststructure.c: (gst_structure_has_name):
17871         * gst/gststructure.h:
17872         * docs/gst/gstreamer-sections.txt:
17873           New API: gst_structure_has_name().
17874
17875 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
17876
17877         * configure.ac:
17878           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
17879           and _LARGEFILE_SOURCE in config.h as required. Do not 
17880           export those flags in our .pc files any longer (#142209).
17881
17882           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
17883
17884         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
17885         (gst_file_sink_do_seek), (gst_file_sink_event),
17886         (gst_file_sink_get_current_offset), (gst_file_sink_render):
17887           Redo seek/tell calls with large file support in mind; add some
17888           debugging messages; add log message that tells us when large
17889           file support is unavailable or not enabled for some reason.
17890
17891         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
17892           Add log message that tells us when large file support 
17893           is unavailable or not enabled for some reason.
17894
17895 2005-07-29  Wim Taymans  <wim@fluendo.com>
17896
17897         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
17898         Added test for removing an element with ghostpad from a bin.
17899         Fixed test as current implementation does the right thing.
17900
17901         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
17902         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
17903         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
17904         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
17905         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
17906         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
17907         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
17908         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
17909         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
17910         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
17911         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
17912         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
17913         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
17914         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
17915         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
17916         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
17917         * gst/gstghostpad.h:
17918         Clean up ghostpads, remove properties for internal stuff.
17919         Make threadsafe.
17920         Fix refcounting.
17921         Prepare for switching targets, not all use cases work yet.
17922
17923 2005-07-29  Wim Taymans  <wim@fluendo.com>
17924
17925         * docs/design/part-gstghostpad.txt:
17926         Small update.
17927
17928         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
17929         (gst_bin_remove_func):
17930         Unlinking pads while holding the bin LOCK is not a good
17931         idea.
17932
17933         * gst/gstpad.c: (gst_pad_class_init),
17934         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
17935         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
17936         No prob setting template after creating the pad.
17937
17938 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
17939
17940         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
17941         (gst_bus_peek), (gst_bus_source_dispatch),
17942         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
17943         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
17944           gst_bus_poll may be called from other threads. Handle
17945           this nicely by not making poll_data disappear off the
17946           stack once gst_bus_poll returns.
17947           gst_bus_peek now increments the refcount on the returned
17948           message.
17949
17950 2005-07-29  Wim Taymans  <wim@fluendo.com>
17951
17952         * docs/design/part-gstghostpad.txt:
17953         Overview of current GhostPad datastructures and use
17954         cases for changing the target.
17955
17956 2005-07-28  Wim Taymans  <wim@fluendo.com>
17957
17958         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
17959         Added checks for hierarchy consistency whan adding linked
17960         elements to bins.
17961
17962         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
17963         Added check to test element scheduling without bin/pipeline.
17964
17965         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
17966         First add elements to bin, then link.
17967         
17968         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
17969         (gst_bin_remove_func):
17970         Unlink pads from elements added/removed from bin to maintain
17971         hierarchy consistency.
17972
17973 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17974
17975         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
17976         (gst_base_transform_handle_buffer):
17977         * gst/base/gstbasetransform.h:
17978           Remove broken delay_configure (fixes renegotiation of software
17979           scaling pipelines); remove some leftover printf()s.
17980
17981 2005-07-28  Wim Taymans  <wim@fluendo.com>
17982
17983         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
17984         Added some more tests for wrong hierarchy
17985
17986         * docs/design/part-overview.txt:
17987         Some updates.
17988
17989         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
17990         Cleanups.
17991
17992         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
17993         (gst_element_dispose):
17994         Some more cleanups.
17995
17996         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
17997         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
17998         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
17999         (gst_pad_set_caps), (gst_pad_send_event):
18000         Check for correct hierarchy when linking pads. Moving to
18001         strict requirement for ghostpads when linking elements in
18002         different bins.
18003
18004         * gst/gstpad.h:
18005         Clean ups. Added WRONG_HIERARCHY return value.
18006
18007 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18008
18009         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
18010           Better debug if no transform is possible.
18011
18012 2005-07-27  Wim Taymans  <wim@fluendo.com>
18013
18014         * docs/random/wtay/network-transp:
18015         Some old doc I had.
18016
18017 2005-07-27  Wim Taymans  <wim@fluendo.com>
18018
18019         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
18020         (gst_dp_event_from_packet):
18021         Fix serialization of seek events.
18022
18023 2005-07-27  Wim Taymans  <wim@fluendo.com>
18024
18025         * check/gst-libs/gdp.c: (GST_START_TEST):
18026         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
18027         Fix compilation and fix event serialization.
18028
18029 2005-07-27  Wim Taymans  <wim@fluendo.com>
18030
18031         * CHANGES-0.9:
18032         * docs/design/part-TODO.txt:
18033         * docs/design/part-events.txt:
18034         Some docs updates
18035
18036         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
18037         (gst_base_sink_event), (gst_base_sink_do_sync),
18038         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
18039         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
18040         (gst_base_src_do_seek), (gst_base_src_event_handler),
18041         (gst_base_src_loop):
18042         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
18043         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
18044         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
18045         (gst_base_transform_event), (gst_base_transform_handle_buffer),
18046         (gst_base_transform_set_passthrough),
18047         (gst_base_transform_is_passthrough):
18048         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
18049         * gst/elements/gstfilesink.c: (gst_file_sink_event):
18050         Event updates.
18051
18052         * gst/gstbuffer.h:
18053         Use faster casts.
18054
18055         * gst/gstelement.c: (gst_element_seek):
18056         * gst/gstelement.h:
18057         Update gst_element_seek.
18058
18059         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
18060         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
18061         (gst_event_new_flush_start), (gst_event_new_flush_stop),
18062         (gst_event_new_eos), (gst_event_new_newsegment),
18063         (gst_event_parse_newsegment), (gst_event_new_tag),
18064         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
18065         (gst_event_parse_qos), (gst_event_new_seek),
18066         (gst_event_parse_seek), (gst_event_new_navigation):
18067         * gst/gstevent.h:
18068         Make GstEvent use GstStructure. Add parsing code, make sure the
18069         API is sufficiently generic.
18070         Mark possible directions of events and serialization.
18071
18072         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
18073         (_gst_message_copy), (gst_message_new_segment_start),
18074         (gst_message_new_segment_done), (gst_message_new_custom),
18075         (gst_message_parse_segment_start),
18076         (gst_message_parse_segment_done):
18077         Small cleanups.
18078
18079         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
18080         (gst_pad_set_caps), (gst_pad_send_event):
18081         Update for new events. 
18082         Catch events sent in wrong directions.
18083
18084         * gst/gstqueue.c: (gst_queue_link_src),
18085         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
18086         (gst_queue_handle_src_query):
18087         Event updates.
18088
18089         * gst/gsttag.c:
18090         * gst/gsttag.h:
18091         Remove event code from this file.
18092
18093         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
18094         (gst_dp_event_from_packet):
18095         Event updates.
18096
18097 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18098
18099         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
18100         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
18101         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
18102           Make debugging actually useful.
18103
18104 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18105
18106         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
18107         (gst_pad_fixate_caps):
18108           Implement default fixation once again, so that gst_pad_fixate()
18109           actually does anything at all. This probably needs to be some
18110           sort of a last resort, and use profile-based fixation first, but
18111           since that doesn't exist yet, this is the best we have. Fixes
18112           visualization in Totem.
18113
18114 2005-07-22  Wim Taymans  <wim@fluendo.com>
18115
18116         * docs/design/part-events.txt:
18117         Small update.
18118
18119         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
18120         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
18121         (gst_base_sink_activate_pull):
18122         Some more comments.
18123
18124         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
18125         (gst_fake_src_create):
18126         Fix handoff marshall.
18127
18128         * gst/elements/gstidentity.c: (gst_identity_class_init),
18129         (gst_identity_transform_ip):
18130         We're a real inplace element.
18131
18132         * gst/gstbus.c: (gst_bus_post):
18133         Added some comments.
18134
18135         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
18136         * tests/muxing/case1.c: (main):
18137         * tests/sched/dynamic-pipeline.c: (main):
18138         * tests/sched/interrupt1.c: (main):
18139         * tests/sched/interrupt2.c: (main):
18140         * tests/sched/interrupt3.c: (main):
18141         * tests/sched/runxml.c: (main):
18142         * tests/sched/sched-stress.c: (main):
18143         * tests/seeking/seeking1.c: (event_received), (main):
18144         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
18145         (main):
18146         * tests/threadstate/threadstate3.c: (main):
18147         * tests/threadstate/threadstate4.c: (main):
18148         * tests/threadstate/threadstate5.c: (main):
18149         Fix the tests.
18150
18151 2005-07-21  Wim Taymans  <wim@fluendo.com>
18152
18153         * docs/design/part-seeking.txt:
18154         Some small additions.
18155
18156         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
18157         (gst_base_sink_get_times), (gst_base_sink_do_sync),
18158         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
18159         * gst/base/gstbasesink.h:
18160         discont values are gint64, handle the math correctly.
18161
18162         * gst/base/gstbasesrc.c: (gst_base_src_loop):
18163         Make the basesrc report error if the source pad is not linked.
18164
18165         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
18166         (gst_queue_loop), (gst_queue_handle_src_query),
18167         (gst_queue_src_activate_push):
18168         Make queue collect data even if the srcpad is not linked.
18169         Start pushing out data as soon as it is linked.
18170
18171         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
18172         * gst/gstutils.h:
18173         Added gst_flow_get_name() to ease error reporting.
18174
18175 2005-07-20  Wim Taymans  <wim@fluendo.com>
18176
18177         * gst/gstmessage.c: (gst_message_new_segment_start),
18178         (gst_message_new_segment_done), (gst_message_parse_segment_start),
18179         (gst_message_parse_segment_done):
18180         * gst/gstmessage.h:
18181         Added a bunch of messages for advanced seeking.
18182
18183         * gst/parse/grammar.y:
18184         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
18185         (gst_dpman_state_changed):
18186         Fix some new-pad -> pad-added signals
18187
18188 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18189
18190         * docs/manual/appendix-porting.xml:
18191         * docs/pwg/appendix-porting.xml:
18192           Document new-pad/state-change signal renames and the FixedList
18193           type rename.
18194
18195 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18196
18197         * docs/manual/advanced-autoplugging.xml:
18198         * docs/manual/basics-helloworld.xml:
18199         * docs/manual/basics-pads.xml:
18200         * docs/random/ds/0.9-suggested-changes:
18201         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
18202         * gst/gstelement.h:
18203         * gst/gstevent.h:
18204         * gst/gstformat.h:
18205         * gst/gstquery.h:
18206         * gst/gststructure.c: (gst_structure_value_get_generic_type),
18207         (gst_structure_parse_array), (gst_structure_parse_value):
18208         * gst/gstvalue.c: (gst_type_is_fixed),
18209         (gst_value_list_prepend_value), (gst_value_list_append_value),
18210         (gst_value_list_get_size), (gst_value_list_get_value),
18211         (gst_value_transform_array_string), (gst_value_serialize_array),
18212         (gst_value_deserialize_array), (gst_value_intersect_array),
18213         (gst_value_is_fixed), (_gst_value_initialize):
18214         * gst/gstvalue.h:
18215           GstElement::new-pad -> pad-added, GstElement::state-change ->
18216           state-changed, GstValueFixedList -> GstValueArray, add format and
18217           flags as their own arguments in gst_element_seek() (should improve
18218           "bindeability"), remove function generators since they don't work
18219           under a whole bunch of compilers (they were deprecated already
18220           anyway).
18221
18222 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18223
18224         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
18225         (_gst_debug_register_funcptr):
18226         * gst/gstinfo.h:
18227           Fix illegal cast on some platforms (#309253).
18228
18229 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18230
18231         * gst/gstmessage.c: (gst_message_new_custom):
18232         * gst/gstmessage.h:
18233           Add _new_custom, make _new_application a macro to _new_custom.
18234
18235 2005-07-20  Wim Taymans  <wim@fluendo.com>
18236
18237         * gst/base/gstbasesrc.c: (gst_base_src_init),
18238         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
18239         * gst/base/gstbasesrc.h:
18240         Add a gboolean to decide when to push out a discont.
18241
18242         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
18243         (gst_queue_loop), (gst_queue_handle_src_query),
18244         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
18245         (gst_queue_set_property), (gst_queue_get_property):
18246         Some cleanups.
18247
18248         * tests/threadstate/threadstate1.c: (main):
18249         Make a thread test compile and run... very silly..
18250
18251
18252 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18253
18254         * docs/manual/appendix-porting.xml:
18255           Mention removal of libgstgconf-0.9.la and existence of gconf
18256           elements.
18257
18258 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18259
18260         * docs/pwg/advanced-clock.xml:
18261         * docs/pwg/appendix-porting.xml:
18262         * docs/pwg/intro-preface.xml:
18263         * docs/pwg/other-base.xml:
18264         * docs/pwg/other-manager.xml:
18265         * docs/pwg/other-nton.xml:
18266         * docs/pwg/other-ntoone.xml:
18267         * docs/pwg/other-oneton.xml:
18268         * docs/pwg/pwg.xml:
18269           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
18270           demuxer), remove n-to-n (was never written), fix some code examples
18271           and links and update the porting section to include all this.
18272
18273 2005-07-19  Wim Taymans  <wim@fluendo.com>
18274
18275         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
18276         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
18277         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
18278         (gst_queue_src_activate_push), (gst_queue_change_state),
18279         (gst_queue_get_property):
18280         * gst/gstqueue.h:
18281         Propagate GstFlowReturn more intelligently upstream and output
18282         an ERROR/EOS when streaming stopped due to fatal error.
18283
18284 2005-07-19  Wim Taymans  <wim@fluendo.com>
18285
18286         * tools/gst-launch.c: (check_intr), (event_loop), (main):
18287         Don't block forever for the state change to complete, the
18288         pipeline already did with a sensible timeout.
18289
18290 2005-07-19  Wim Taymans  <wim@fluendo.com>
18291
18292         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
18293         Make sure we never call the create function is we
18294         got deactivated.
18295
18296 2005-07-19  Andy Wingo  <wingo@pobox.com>
18297
18298         * gst/parse/parse.l: Attempt to solve bug #172815.
18299
18300 2005-07-19  Wim Taymans  <wim@fluendo.com>
18301
18302         * docs/design/part-clocks.txt:
18303         * docs/design/part-events.txt:
18304         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
18305         Small docs updates.
18306         Only update the seeking values when we are not
18307         busy streaming.
18308
18309 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
18310
18311         * gst/base/gstbasesrc.c: (gst_base_src_loop):
18312           Oops, ignore the result of gst_pad_push_event here.
18313
18314 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
18315
18316         * gst/base/gstbasesrc.c: (gst_base_src_loop),
18317         (gst_base_src_activate_push):
18318           Send discont event from the loop function, as pads
18319           aren't activated yet in the activate_push handler.
18320
18321         * gst/gstbin.c: (bin_bus_handler):
18322           Don't leak element name.
18323
18324 2005-07-18  Andy Wingo  <wingo@pobox.com>
18325
18326         * configure.ac: Use AS_LIBTOOL_TAGS.
18327
18328 2005-07-18  Wim Taymans  <wim@fluendo.com>
18329
18330         * docs/gst/gstreamer.types:
18331         Remove deleted types.
18332
18333 2005-07-18  Wim Taymans  <wim@fluendo.com>
18334
18335         * check/elements/gstfakesrc.c: (GST_START_TEST):
18336         * configure.ac:
18337         * gst/Makefile.am:
18338         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
18339         (init_popt_callback):
18340         * gst/gst.h:
18341         * gst/gst_private.h:
18342         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
18343         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
18344         * gst/gstbin.h:
18345         * gst/gstbus.h:
18346         * gst/gstconfig.h.in:
18347         * gst/gstelement.c: (gst_element_class_init),
18348         (gst_element_set_base_time), (gst_element_get_base_time),
18349         (iterator_fold_with_resync), (gst_element_change_state),
18350         (gst_element_dispose), (gst_element_get_bus):
18351         * gst/gstelement.h:
18352         * gst/gstelementfactory.h:
18353         * gst/gsterror.c: (_gst_core_errors_init):
18354         * gst/gsterror.h:
18355         * gst/gstevent.h:
18356         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
18357         * gst/gstindex.c:
18358         * gst/gstinfo.c: (_gst_debug_init):
18359         * gst/gstmessage.c: (_gst_message_copy):
18360         * gst/gstmessage.h:
18361         * gst/gstminiobject.h:
18362         * gst/gstobject.c:
18363         * gst/gstobject.h:
18364         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
18365         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
18366         * gst/gstpad.h:
18367         * gst/gstparse.h:
18368         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
18369         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
18370         (gst_pipeline_get_last_stream_time):
18371         * gst/gstpipeline.h:
18372         * gst/gstpluginfeature.h:
18373         * gst/gstquery.h:
18374         * gst/gstscheduler.c:
18375         * gst/gstscheduler.h:
18376         * gst/gststructure.h:
18377         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
18378         (gst_task_finalize), (gst_task_func), (gst_task_create),
18379         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
18380         (gst_task_stop), (gst_task_pause):
18381         * gst/gsttask.h:
18382         * gst/gsttypefind.h:
18383         * gst/gsttypes.h:
18384         * gst/registries/gstlibxmlregistry.c: (load_feature),
18385         (gst_xml_registry_load), (gst_xml_registry_save_feature):
18386         * gst/registries/gstxmlregistry.c:
18387         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
18388         * gst/schedulers/threadscheduler.c:
18389         * libs/gst/control/dparammanager.h:
18390         * tools/gst-inspect.c: (print_element_list),
18391         (print_plugin_features), (print_element_features):
18392         * tools/gst-xmlinspect.c: (print_element_list),
18393         (print_plugin_info), (main):
18394         Removed plugable schedulers.
18395         Removed Scheduler/Manager from elements.
18396         Removed gsttypes.h, rearranged includes.
18397         Removed dependency pad<->element, element<>pipeline, and
18398         various others,  fix includes.
18399         implement gst_pad_get_parent() with gst_object_get_parent()
18400         Make GstTask sefcontained.
18401         Fix _get_state() on GstBin, it did not return ASYNC with a 0
18402         timeout.
18403         Fix endless loop in iterator_fold_with_resync.
18404
18405
18406 2005-07-18  Wim Taymans  <wim@fluendo.com>
18407
18408         * gst/Makefile.am:
18409         * gst/gstarch.h:
18410         Remove old file.
18411
18412 2005-07-18  Wim Taymans  <wim@fluendo.com>
18413
18414         * gst/Makefile.am:
18415         No more cothreads.h
18416
18417 2005-07-18  Wim Taymans  <wim@fluendo.com>
18418
18419         * gst/cothreads.c:
18420         * gst/cothreads.h:
18421         Let's remove these.
18422
18423 2005-07-18  Wim Taymans  <wim@fluendo.com>
18424
18425         * docs/design/part-dynamic.txt:
18426         * docs/design/part-events.txt:
18427         * docs/design/part-seeking.txt:
18428         Some more docs in the works.
18429
18430         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
18431         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
18432         (gst_base_transform_setcaps), (gst_base_transform_get_size),
18433         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
18434         (gst_base_transform_handle_buffer),
18435         (gst_base_transform_sink_activate_push),
18436         (gst_base_transform_src_activate_pull),
18437         (gst_base_transform_set_passthrough),
18438         (gst_base_transform_is_passthrough):
18439         Refcounting fixes.
18440
18441         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
18442         Cleanups.
18443
18444         * gst/gstevent.c: (gst_event_finalize):
18445         Set SRC to NULL.
18446
18447         * gst/gstutils.c: (gst_element_unlink),
18448         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
18449         (gst_pad_proxy_setcaps):
18450         * gst/gstutils.h:
18451         Add _get_parent_element() to get a pads parent as an element.
18452
18453 2005-07-18  Wim Taymans  <wim@fluendo.com>
18454
18455         * check/gst/gstbin.c: (GST_START_TEST):
18456         Remove bogus test.
18457
18458 2005-07-18  Wim Taymans  <wim@fluendo.com>
18459
18460         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
18461         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
18462         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
18463         (gst_base_sink_event), (gst_base_sink_do_sync),
18464         (gst_base_sink_chain), (gst_base_sink_loop),
18465         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
18466         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
18467         Refcounting fixes.
18468         Fix logic for returning ASYNC when not prerolled.
18469
18470 2005-07-18  Wim Taymans  <wim@fluendo.com>
18471
18472         * gst/gstqueue.c: (gst_queue_handle_sink_event):
18473         Fix nasty refcount bug.
18474
18475 2005-07-16 Philippe Khalaf <burger@speedy.org>
18476
18477         * gst/elements/gstfdsrc.c:
18478         * gst/elements/gstfdsrc.h:
18479         * gst/elements/gstelements.c:
18480         * gst/elements/Makefile.am:
18481         Ported fdsrc to 0.9.
18482
18483 2005-07-16  Wim Taymans  <wim@fluendo.com>
18484
18485         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
18486         (gst_base_sink_do_sync):
18487         Fix compile error.
18488
18489 2005-07-16  Wim Taymans  <wim@fluendo.com>
18490
18491         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
18492         (gst_base_sink_event), (gst_base_sink_get_times),
18493         (gst_base_sink_do_sync), (gst_base_sink_change_state):
18494         * gst/base/gstbasesink.h:
18495         Store and use discont values when syncing buffers as described
18496         in design docs.
18497         
18498         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
18499         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
18500         (gst_base_src_activate_push):
18501         Push discont event when starting.
18502
18503         * gst/elements/gstidentity.c: (gst_identity_transform):
18504         Small cleanups.
18505
18506         * gst/gstbin.c: (gst_bin_change_state):
18507         Small cleanups in base_time  distribution.
18508
18509         * gst/gstelement.c: (gst_element_set_base_time),
18510         (gst_element_get_base_time), (gst_element_change_state):
18511         * gst/gstelement.h:
18512         Added methods for the base_time of the element.
18513         Some MT fixes.
18514
18515         * gst/gstpipeline.c: (gst_pipeline_send_event),
18516         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
18517         (gst_pipeline_get_last_stream_time):
18518         * gst/gstpipeline.h:
18519         MT fixes.
18520         Handle seeking as described in design doc, remove stream_time
18521         hack.
18522         Cleanups clock and stream_time selection code. Added accessors
18523         for the stream_time.
18524         
18525
18526 2005-07-16  Andy Wingo  <wingo@pobox.com>
18527
18528         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
18529         (#305291).
18530
18531 2005-07-16  Wim Taymans  <wim@fluendo.com>
18532
18533         * check/gst/gstbin.c: (GST_START_TEST):
18534         Make elements silent as the deep_notify refs the
18535         parent, which might make the test fail.
18536
18537         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
18538         Don't hold the lock for too long.
18539
18540 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
18541
18542         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
18543           Don't unref the caps we passed to gst_caps_make_writable() after
18544           passing them. gst_caps_make_writable() will do that for us.
18545
18546 2005-07-15  Andy Wingo  <wingo@pobox.com>
18547
18548         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
18549         (#157311).
18550
18551         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
18552         own marshalling function for the handoff signal. Properly type the
18553         buffer as a buffer. Fixes some warnings. Should do a more general
18554         solution.
18555         (gst_identity_class_init): Plug into the right marshaller.
18556
18557 2005-07-15  Wim Taymans  <wim@fluendo.com>
18558
18559         * docs/design/part-TODO.txt:
18560         * docs/design/part-clocks.txt:
18561         * docs/design/part-element-sink.txt:
18562         * docs/design/part-events.txt:
18563         * docs/design/part-gstpipeline.txt:
18564         Updated docs, mostly DISCONT related.
18565
18566 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
18567
18568         * docs/pwg/building-pads.xml:
18569           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
18570
18571 2005-07-15  Andy Wingo  <wingo@pobox.com>
18572
18573         * tools/gst-typefind.c: Update, add copyright block.
18574
18575         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
18576         Normalize and truncate caps before fixation.
18577
18578         * gst/gstcaps.h:
18579         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
18580         discards all but the first structure from its argument.
18581
18582 2005-07-15  Wim Taymans  <wim@fluendo.com>
18583
18584         * gst/base/gstbasetransform.c: (gst_base_transform_init),
18585         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
18586         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
18587         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
18588         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
18589         (gst_base_transform_chain), (gst_base_transform_change_state),
18590         (gst_base_transform_set_passthrough),
18591         (gst_base_transform_is_passthrough):
18592         * gst/base/gstbasetransform.h:
18593         Make passthrough work using the bufferpools.
18594         Changed API a bit, subclasses have to write into a buffer
18595         provided by the base class.
18596         More debug info in nego functions.
18597         
18598         * gst/elements/gstidentity.c: (gst_identity_init),
18599         (gst_identity_transform):
18600         Port to new base class.
18601
18602 2005-07-15  Wim Taymans  <wim@fluendo.com>
18603
18604         * gst/gstmessage.c: (gst_message_new_state_changed):
18605         * tools/gst-launch.c: (event_loop), (main):
18606         Totally dump messages in -launch with the -m option.
18607         Fix message name for State messages,
18608
18609 2005-07-14  Wim Taymans  <wim@fluendo.com>
18610
18611         * gst/base/gstbasesrc.c: (gst_base_src_loop):
18612         Post error messages on errors.
18613
18614 2005-07-14  Wim Taymans  <wim@fluendo.com>
18615
18616         * gst/gstcaps.c: (gst_caps_do_simplify):
18617         Remove debug info.
18618
18619         * gst/gsterror.h:
18620         Define error for stream stopped.
18621
18622         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
18623         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
18624         Do proper return values.
18625
18626         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
18627         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
18628         (gst_pad_get_range):
18629         Better return values.
18630
18631         * gst/gstpad.h:
18632         Reorganise return values, add macro to check for fatal errors.
18633
18634         * gst/gstqueue.c: (gst_queue_chain):
18635         Return proper GstFlowReturn values,
18636
18637 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
18638
18639         * docs/gst/gstreamer-sections.txt:
18640         * docs/gst/gstreamer.types:
18641         * docs/gst/tmpl/gst.sgml:
18642         * docs/gst/tmpl/gstbasesink.sgml:
18643         * docs/gst/tmpl/gstbasesrc.sgml:
18644         * docs/gst/tmpl/gstbasetransform.sgml:
18645         * docs/gst/tmpl/gstbin.sgml:
18646         * docs/gst/tmpl/gstbuffer.sgml:
18647         * docs/gst/tmpl/gstcaps.sgml:
18648         * docs/gst/tmpl/gstclock.sgml:
18649         * docs/gst/tmpl/gstcompat.sgml:
18650         * docs/gst/tmpl/gstconfig.sgml:
18651         * docs/gst/tmpl/gstelement.sgml:
18652         * docs/gst/tmpl/gstelementdetails.sgml:
18653         * docs/gst/tmpl/gstelementfactory.sgml:
18654         * docs/gst/tmpl/gstenumtypes.sgml:
18655         * docs/gst/tmpl/gsterror.sgml:
18656         * docs/gst/tmpl/gstevent.sgml:
18657         * docs/gst/tmpl/gstfakesink.sgml:
18658         * docs/gst/tmpl/gstfakesrc.sgml:
18659         * docs/gst/tmpl/gstfilesink.sgml:
18660         * docs/gst/tmpl/gstfilesrc.sgml:
18661         * docs/gst/tmpl/gstfilter.sgml:
18662         * docs/gst/tmpl/gstformat.sgml:
18663         * docs/gst/tmpl/gstghostpad.sgml:
18664         * docs/gst/tmpl/gstimplementsinterface.sgml:
18665         * docs/gst/tmpl/gstindex.sgml:
18666         * docs/gst/tmpl/gstindexfactory.sgml:
18667         * docs/gst/tmpl/gstinfo.sgml:
18668         * docs/gst/tmpl/gstiterator.sgml:
18669         * docs/gst/tmpl/gstmacros.sgml:
18670         * docs/gst/tmpl/gstmemchunk.sgml:
18671         * docs/gst/tmpl/gstminiobject.sgml:
18672         * docs/gst/tmpl/gstobject.sgml:
18673         * docs/gst/tmpl/gstpad.sgml:
18674         * docs/gst/tmpl/gstpadtemplate.sgml:
18675         * docs/gst/tmpl/gstparse.sgml:
18676         * docs/gst/tmpl/gstpipeline.sgml:
18677         * docs/gst/tmpl/gstplugin.sgml:
18678         * docs/gst/tmpl/gstpluginfeature.sgml:
18679         * docs/gst/tmpl/gstquery.sgml:
18680         * docs/gst/tmpl/gstqueue.sgml:
18681         * docs/gst/tmpl/gstregistry.sgml:
18682         * docs/gst/tmpl/gstregistrypool.sgml:
18683         * docs/gst/tmpl/gstscheduler.sgml:
18684         * docs/gst/tmpl/gstschedulerfactory.sgml:
18685         * docs/gst/tmpl/gststructure.sgml:
18686         * docs/gst/tmpl/gstsystemclock.sgml:
18687         * docs/gst/tmpl/gsttaglist.sgml:
18688         * docs/gst/tmpl/gsttagsetter.sgml:
18689         * docs/gst/tmpl/gsttrace.sgml:
18690         * docs/gst/tmpl/gsttrashstack.sgml:
18691         * docs/gst/tmpl/gsttypefind.sgml:
18692         * docs/gst/tmpl/gsttypefindfactory.sgml:
18693         * docs/gst/tmpl/gsttypes.sgml:
18694         * docs/gst/tmpl/gsturihandler.sgml:
18695         * docs/gst/tmpl/gsturitype.sgml:
18696         * docs/gst/tmpl/gstutils.sgml:
18697         * docs/gst/tmpl/gstvalue.sgml:
18698         * docs/gst/tmpl/gstversion.sgml:
18699         * docs/gst/tmpl/gstxml.sgml:
18700         * docs/libs/tmpl/gstcontrol.sgml:
18701         * docs/libs/tmpl/gstdataprotocol.sgml:
18702         * docs/libs/tmpl/gstdparam.sgml:
18703         * docs/libs/tmpl/gstdplinint.sgml:
18704         * docs/libs/tmpl/gstdpman.sgml:
18705         * docs/libs/tmpl/gstdpsmooth.sgml:
18706         * docs/libs/tmpl/gstgetbits.sgml:
18707         * docs/libs/tmpl/gstunitconvert.sgml:
18708         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
18709         (gst_push_src_base_init), (gst_push_src_class_init),
18710         (gst_push_src_init), (gst_push_src_create):
18711         * gst/base/gstpushsrc.h:
18712         * gst/elements/gstelements.c:
18713         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
18714         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
18715         (gst_fake_sink_init), (gst_fake_sink_set_property),
18716         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
18717         (gst_fake_sink_event), (gst_fake_sink_preroll),
18718         (gst_fake_sink_render), (gst_fake_sink_change_state):
18719         * gst/elements/gstfakesink.h:
18720         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
18721         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
18722         (gst_fake_src_base_init), (gst_fake_src_class_init),
18723         (gst_fake_src_init), (gst_fake_src_event_handler),
18724         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
18725         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
18726         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
18727         (gst_fake_src_create_buffer), (gst_fake_src_create),
18728         (gst_fake_src_start), (gst_fake_src_stop):
18729         * gst/elements/gstfakesrc.h:
18730         * gst/elements/gstfilesink.c: (_do_init),
18731         (gst_file_sink_base_init), (gst_file_sink_class_init),
18732         (gst_file_sink_init), (gst_file_sink_dispose),
18733         (gst_file_sink_set_location), (gst_file_sink_set_property),
18734         (gst_file_sink_get_property), (gst_file_sink_open_file),
18735         (gst_file_sink_close_file), (gst_file_sink_query),
18736         (gst_file_sink_event), (gst_file_sink_render),
18737         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
18738         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
18739         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
18740         * gst/elements/gstfilesink.h:
18741         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
18742         (gst_file_src_class_init), (gst_file_src_init),
18743         (gst_file_src_finalize), (gst_file_src_set_location),
18744         (gst_file_src_set_property), (gst_file_src_get_property),
18745         (gst_file_src_map_region), (gst_file_src_map_small_region),
18746         (gst_file_src_create_mmap), (gst_file_src_create_read),
18747         (gst_file_src_create), (gst_file_src_is_seekable),
18748         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
18749         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
18750         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
18751         (gst_file_src_uri_handler_init):
18752         * gst/elements/gstfilesrc.h:
18753           more autistic cleanliness in functions/names/defines
18754
18755 2005-07-13  Andy Wingo  <wingo@pobox.com>
18756
18757         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
18758         source couldn't negotiate.
18759
18760         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
18761         connections again.
18762
18763         * gst/gstutils.h:
18764         * gst/gstutils.c (gst_element_link_pads_filtered): New old
18765         function. I am channeling Hades. Put your boots on suckers!!!
18766
18767 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
18768
18769         * testsuite/caps/Makefile.am:
18770         * testsuite/caps/value_compare.c:
18771         * testsuite/caps/value_intersect.c:
18772         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
18773           move two testsuite apps over to the check dir
18774
18775 2005-07-12  Wim Taymans  <wim@fluendo.com>
18776
18777         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
18778         Added more debug info in the negotiate process.
18779
18780         * gst/gstmessage.h:
18781         Prepare for segment playback.
18782
18783         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
18784         Better debugging.
18785
18786         * gst/gstutils.c:
18787         Some more docs.
18788
18789         * tools/gst-launch.c: (main):
18790         NULL pipeline on errors.
18791
18792 2005-07-12  Andy Wingo  <wingo@pobox.com>
18793
18794         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
18795         not it comes from a malloc region. Make sure our copy gets freed.
18796
18797 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
18798
18799         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
18800         * check/gst/gstmessage.c: (GST_START_TEST):
18801         * check/gst/gststructure.c: (GST_START_TEST),
18802         (gst_structure_suite), (main):
18803           more testing
18804         * gst/gstelement.c: (gst_element_message_full):
18805           clean up GError and debug string now that they get copied
18806         * gst/gstmessage.c: (gst_message_new_error),
18807         (gst_message_new_warning), (gst_message_parse_error),
18808         (gst_message_parse_warning):
18809           use GST_TYPE_G_ERROR for structure_new, and take copies of
18810           arguments, so that we don't mess up refcounting
18811
18812 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
18813
18814         * check/Makefile.am:
18815           add per-test valgrind targets
18816         * check/gst-libs/gdp.c: (GST_START_TEST),
18817         (gst_data_protocol_suite), (main):
18818           clean up
18819
18820 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
18821
18822         * check/Makefile.am:
18823           instate more valgrindable tests
18824         * check/elements/gstfakesrc.c: (chain_func), (event_func),
18825         (GST_START_TEST), (fakesrc_suite):
18826         * check/gst/gstpad.c: (GST_START_TEST):
18827         * check/gst/gststructure.c: (GST_START_TEST):
18828           fix test leaks
18829         * docs/gst/tmpl/gstminiobject.sgml:
18830         * gst/gstpad.c: (gst_pad_finalize):
18831           fix the static mutex leak
18832
18833 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
18834
18835         * check/Makefile.am:
18836           add two more tests for valgrinding
18837         * check/gst/gstvalue.c: (GST_START_TEST):
18838           test refcount of deserialized buffer, found a leak
18839         * docs/gst/gstreamer-docs.sgml:
18840         * docs/gst/gstreamer-sections.txt:
18841         * docs/gst/gstreamer.types:
18842         * docs/gst/tmpl/gstminiobject.sgml:
18843           add miniobject to docs
18844         * gst/gstminiobject.c:
18845           add some docs
18846         * gst/gstvalue.c: (gst_value_deserialize_buffer),
18847         (gst_string_unwrap):
18848           fix a hard-to-find invalid write for one of the tests
18849           fix a leak for deserialized buffers
18850
18851 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18852
18853         * docs/pwg/advanced-events.xml:
18854         * docs/pwg/advanced-request.xml:
18855         * docs/pwg/advanced-scheduling.xml:
18856         * docs/pwg/appendix-porting.xml:
18857         * docs/pwg/building-boiler.xml:
18858         * docs/pwg/intro-preface.xml:
18859         * docs/pwg/other-ntoone.xml:
18860           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
18861           of example code and explanation for pad activation, loop() and
18862           getrange() functions and a bit more. Remove old comments pointing
18863           to loop-functions.
18864         * examples/pwg/Makefile.am:
18865           Add loop/getrange examples.
18866
18867 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
18868
18869         * configure.ac:
18870           check for valgrind binary + some fixes
18871         * check/gst.supp:
18872           valgrind suppressions for the tests
18873         * check/Makefile.am:
18874           add a valgrind: target that valgrinds the unit tests
18875         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
18876         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
18877         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
18878         * check/gst/gstghostpad.c:
18879           added some cleanup
18880         * check/gst/gstdata.c:
18881           removed
18882         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
18883         (thread_unref), (gst_mini_object_suite), (main):
18884           added
18885         * gst/gst.c: (gst_deinit):
18886         * gst/gst.h:
18887           add a method to clean up.
18888         * gst/gstsystemclock.c: (gst_system_clock_dispose),
18889         (gst_system_clock_obtain):
18890           allow for disposing the system clock.
18891         * tools/gst-launch.c: (main):
18892           deinit
18893
18894 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
18895
18896         * docs/gst/tmpl/gstbasesrc.sgml:
18897         * docs/gst/tmpl/gstfakesrc.sgml:
18898         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
18899         (gst_base_src_init), (gst_base_src_set_property),
18900         (gst_base_src_get_property), (gst_base_src_get_range),
18901         (gst_base_src_start):
18902         * gst/base/gstbasesrc.h:
18903           add num-buffers property
18904         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
18905         (gst_fakesrc_init), (gst_fakesrc_set_property),
18906         (gst_fakesrc_get_property), (gst_fakesrc_create),
18907         (gst_fakesrc_start):
18908           remove num-buffers property
18909
18910 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
18911
18912         * docs/gst/gstreamer-sections.txt:
18913         * docs/gst/tmpl/gstbasesink.sgml:
18914         * docs/gst/tmpl/gstbasesrc.sgml:
18915         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
18916         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
18917         (gst_base_sink_finalize), (gst_base_sink_set_clock),
18918         (gst_base_sink_set_property), (gst_base_sink_get_property),
18919         (gst_base_sink_handle_object), (gst_base_sink_event),
18920         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
18921         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
18922         (gst_base_sink_loop), (gst_base_sink_deactivate),
18923         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
18924         (gst_base_sink_change_state):
18925         * gst/base/gstbasesink.h:
18926         * gst/base/gstbasesrc.h:
18927         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
18928         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
18929         (gst_filesink_init):
18930           more macro splitting
18931
18932 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
18933
18934         * gst/gstelement.c: (gst_element_get_bus):
18935           add debug
18936         * tools/gst-launch.c: (check_intr), (event_loop):
18937           fix bus leaks
18938
18939 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
18940
18941         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
18942           fix a caps leak
18943
18944 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
18945
18946         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
18947         (gst_base_src_finalize):
18948           add finalize method and clean up properly
18949         * gst/gstpipeline.c: (gst_pipeline_dispose):
18950           add debug
18951
18952 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
18953
18954         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
18955         (gst_bin_suite):
18956           add more things to check
18957         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
18958         * gst/gstelement.c:
18959           more debug
18960
18961 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
18962
18963         * check/elements/gstfakesrc.c: (chain_func), (event_func),
18964         (GST_START_TEST), (fakesrc_suite):
18965         * check/gst-libs/gdp.c: (GST_START_TEST):
18966         * check/gst/gst.c: (GST_START_TEST):
18967         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
18968         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
18969         * check/gst/gstbus.c: (GST_START_TEST):
18970         * check/gst/gstcaps.c: (GST_START_TEST):
18971         * check/gst/gstdata.c: (GST_START_TEST):
18972         * check/gst/gstelement.c: (GST_START_TEST):
18973         * check/gst/gstghostpad.c: (GST_START_TEST):
18974         * check/gst/gstiterator.c: (GST_START_TEST):
18975         * check/gst/gstmessage.c: (GST_START_TEST):
18976         * check/gst/gstobject.c: (GST_START_TEST):
18977         * check/gst/gstpad.c: (GST_START_TEST):
18978         * check/gst/gststructure.c: (GST_START_TEST):
18979         * check/gst/gstsystemclock.c: (GST_START_TEST),
18980         (gst_systemclock_suite):
18981         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
18982         * check/gst/gstvalue.c: (GST_START_TEST):
18983         * check/pipelines/cleanup.c: (GST_START_TEST):
18984         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
18985         * check/states/sinks.c: (GST_START_TEST):
18986         * check/gstcheck.c: (gst_check_init):
18987         * check/gstcheck.h:
18988           add debugging category
18989           use GST_START_TEST now, so we add a debug line
18990
18991 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
18992
18993         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
18994           add test for state change message on a bin
18995         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
18996           add another test
18997         * gst/gstbin.c: (gst_bin_init):
18998         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
18999         * gst/gstelement.c: (gst_element_post_message),
19000         (gst_element_set_state):
19001         * gst/gstelementfactory.c: (gst_element_factory_create):
19002         * gst/gstmessage.c: (gst_message_new):
19003         * gst/gstscheduler.c:
19004           various debugging additions and cleanups
19005
19006 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
19007
19008         * check/Makefile.am:
19009         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
19010         (main):
19011           adding tests for elements
19012         * gst/gstelement.c: (gst_element_dispose):
19013
19014 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
19015
19016         * gst/registries/gstlibxmlregistry.c: (load_feature):
19017           plug more leaks.  A simple gst_init() now is leakfree, yay.
19018
19019 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
19020
19021         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
19022         (gst_xml_registry_load):
19023           plug another memleak
19024
19025 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
19026
19027         * configure.ac:
19028           use GST_SET_ERROR_CFLAGS
19029         * docs/faq/cvs.xml:
19030           change to ERROR_CFLAGS
19031
19032 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
19033
19034         * configure.ac:
19035           make GST_ERROR_CFLAGS overridable and re-enable Werror
19036         * docs/faq/cvs.xml:
19037           add a note about error CFLAGS
19038         * docs/gst/tmpl/gstfakesrc.sgml:
19039         * gst/elements/gstfakesrc.c:
19040           comment out some unused code
19041         * gst/gst.c: (split_and_iterate):
19042         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
19043         (load_feature):
19044           plug some memleaks
19045
19046 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
19047
19048         * common/Makefile.am:
19049         * common/gtk-doc.mak:
19050         * docs/gst/Makefile.am:
19051           factor out gtk-doc.mak
19052
19053 2005-07-07  Wim Taymans  <wim@fluendo.com>
19054
19055         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
19056         (gst_thread_scheduler_dispose):
19057         Unlock the STREAM_LOCK completely.
19058
19059 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
19060
19061         * check/Makefile.am:
19062         * check/elements/.cvsignore:
19063         * check/elements/gstfakesrc.c: (chain_func), (event_func),
19064         (START_TEST), (fakesrc_suite), (main):
19065         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
19066         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
19067         (gst_fakesrc_create), (gst_fakesrc_start):
19068         * gst/elements/gstfakesrc.h:
19069           adding a first element test
19070
19071 2005-07-07  Andy Wingo  <wingo@pobox.com>
19072
19073         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
19074         debug message.
19075
19076 2005-07-07  Wim Taymans  <wim@fluendo.com>
19077
19078         * gst/gstquery.c:
19079         * gst/gstquery.h:
19080         Remove old types
19081
19082 2005-07-07  Wim Taymans  <wim@fluendo.com>
19083
19084         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
19085         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
19086         Allow subclasses to implement their own negotiation.
19087
19088 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
19089
19090         * docs/design/part-gstbin.txt:
19091         * docs/design/part-gstpipeline.txt:
19092           Update design notes to reflect the movement of
19093           responsibility for bus handling from GstPipeline to
19094           GstBin
19095
19096 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
19097
19098         * configure.ac:
19099           Remove unnecessary queue2/3/4 examples.
19100
19101 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
19102
19103         * examples/Makefile.am:
19104         * examples/helloworld/helloworld.c: (event_loop), (main):
19105         * examples/queue/queue.c: (event_loop), (main):
19106         * examples/queue2/queue2.c: (main):
19107           Update a couple of the examples to work again.
19108
19109         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
19110         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
19111          Spelling corrections and extra debug.
19112         
19113         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
19114         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
19115         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
19116         * gst/gstbin.h:
19117         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
19118         (gst_pipeline_change_state):
19119         * gst/gstpipeline.h:
19120           Move the bus handler for children to the GstBin, and create a
19121           separate bus for receiving messages from children to the one the
19122           bus sends 'upwards' on.
19123
19124 2005-07-06  Wim Taymans  <wim@fluendo.com>
19125
19126         * gst/base/README:
19127         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
19128         (gst_base_sink_handle_object), (gst_base_sink_loop),
19129         (gst_base_sink_change_state):
19130         * gst/base/gstbasesink.h:
19131         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
19132         (gst_base_src_init), (gst_base_src_setcaps),
19133         (gst_base_src_getcaps), (gst_base_src_loop),
19134         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
19135         (gst_base_src_start), (gst_base_src_change_state):
19136         * gst/base/gstbasesrc.h:
19137         Make basesrc negotiate.
19138         Handle the case where preroll fails in basesink.
19139         Update README.
19140
19141 2005-07-06  Wim Taymans  <wim@fluendo.com>
19142
19143         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
19144         Implement the fixate function.
19145         Clean up acceptcaps.
19146
19147 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19148
19149         * docs/pwg/building-filterfactory.xml:
19150         * docs/pwg/pwg.xml:
19151           Remove never-written filter-factory chapter; I'll add the various
19152           base classes to part 4 ("other element types") later on.
19153
19154 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19155
19156         * docs/pwg/advanced-negotiation.xml:
19157         * docs/pwg/building-boiler.xml:
19158         * docs/pwg/building-pads.xml:
19159         * docs/pwg/pwg.xml:
19160         * examples/pwg/Makefile.am:
19161           Add a chapter on caps negotiation, simplify the original code
19162           samples a bit w.r.t. caps negotiation, add link to the advanced
19163           section. Add a bunch of examples showing different use cases of
19164           different types of caps negotiation. Upstream renegotiation isn't
19165           fully documented yet since nobody knows how that works.
19166
19167 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
19168
19169         * check/gst/gstpad.c:
19170         * check/gstcheck.c:
19171         * gst/gstpad.c: (gst_pad_get_internal_links_default):
19172           if pad has no parent, return NULL as list of internal links
19173
19174 2005-07-05  Andy Wingo  <wingo@pobox.com>
19175
19176         * gst/elements/gstfilesrc.c:
19177         * gst/elements/gstfakesrc.c: 
19178         * gst/base/gstpushsrc.c:
19179         * gst/base/gstbasesrc.h: 
19180         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
19181         
19182 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
19183
19184         * Makefile.am:
19185           better report generation target (lcov needs a patch)
19186
19187 2005-07-05  Andy Wingo  <wingo@pobox.com>
19188
19189         * gst/elements, testsuite: Null if we got it...
19190
19191 2005-07-05  Wim Taymans  <wim@fluendo.com>
19192
19193         * configure.ac:
19194         * libs/gst/dataprotocol/Makefile.am:
19195         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
19196         * libs/gst/dataprotocol/dataprotocol.h:
19197         * pkgconfig/Makefile.am:
19198         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
19199         * pkgconfig/gstreamer-dataprotocol.pc.in:
19200         Ported dataprotol to 0.9. 
19201         Added pkgconfig files.
19202
19203 2005-07-05  Andy Wingo  <wingo@pobox.com>
19204
19205         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
19206         Default to returning TRUE for the case when tranform_caps returns
19207         a fixed caps, like for identity or volume.
19208
19209         * check/gst/gstbus.c (pound_bus_with_messages): 
19210         * check/gst/gstmessage.c (START_TEST): 
19211         * check/pipelines/simple_launch_lines.c (got_handoff): Application
19212         message API change.
19213
19214         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
19215         logic weaks here: always run transform_caps, trying passthrough
19216         operation only if the original caps intersects with the transform.
19217
19218         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
19219         source and sink caps.
19220
19221         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
19222         Intersect the peer caps with the pad template before going into
19223         transform_caps.
19224         (gst_base_transform_transform_caps): More debugging.
19225
19226         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
19227         src argument.
19228
19229 2005-07-04  Edward Hervey  <edward@fluendo.com>
19230
19231         * gst/gstutils.c:
19232         * gst/gstutils.h:
19233         (gst_pad_add_*_probe): now returns the signal id for better wrapping
19234         in bindings.
19235
19236 2005-07-04  Andy Wingo  <wingo@pobox.com>
19237
19238         * check/gst/gstpad.c: Only set explicit caps on pads.
19239
19240 2005-07-01  Andy Wingo  <wingo@pobox.com>
19241
19242         * tests/network-clock.scm: Commentary update.
19243
19244         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
19245         Didn't really make sense, not implementable with basetransform,
19246         etc.
19247         (gst_identity_transform): Unref inbuf via make_writable. Feeble
19248         attempt at implementing the sync property, needs an unlock method.
19249
19250         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
19251         New func, by default returns the same caps (the identity
19252         transformation).
19253         (gst_base_transform_getcaps): Uses transform_caps to return
19254         something sensible.
19255         (gst_base_transform_setcaps): Complicated logic to get caps on
19256         both pads, even if they are different, and to call set_caps once
19257         for every time both pads get their caps set.
19258         (gst_base_transform_handle_buffer): Give the ref to the transform
19259         function. Allows in-place modification of the buffer.
19260
19261         * gst/base/gstbasetransform.h (transform_caps): New class method.
19262         Given caps on one side, what can I do on the other.
19263         (set_caps): Take two caps, one for each side of the element.
19264
19265         * gst/gstpad.h:
19266         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
19267         caps in place. This is safe because we can check the mutability of
19268         the caps, and a good idea because fixate functions are just called
19269         as a matter of last resort. (Not actually implemented.)
19270         (gst_pad_set_caps): If the caps we're setting is actually the same
19271         as the existing pad caps, just update the pointer without calling
19272         setcaps. Assert that caps is either NULL or fixed, as per the
19273         docs.
19274
19275         * gst/gstghostpad.c: Update for fixate changes.
19276
19277 2005-07-02  Andy Wingo  <wingo@pobox.com>
19278
19279         * gst/gstcaps.c:
19280         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
19281         two refcounts makes it immutable, which is enough. Doc more.
19282
19283 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
19284
19285         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
19286           Put the mini_object into GValue as a mini_object,
19287           not a gpointer, since that's how we declared
19288           the signal.
19289
19290 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19291
19292         * examples/pwg/Makefile.am:
19293           Fix buildbot again.
19294
19295 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19296
19297         * docs/pwg/building-testapp.xml:
19298           Add extra check.
19299         * examples/pwg/Makefile.am:
19300           Fix buildbot.
19301
19302 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19303
19304         * configure.ac:
19305         * examples/Makefile.am:
19306         * examples/pwg/Makefile.am:
19307         * examples/pwg/extract.pl:
19308           Enable building the PWG examples.
19309         * docs/pwg/advanced-interfaces.xml:
19310           Add URI interface stub.
19311         * docs/pwg/advanced-types.xml:
19312         * docs/pwg/other-autoplugger.xml:
19313         * docs/pwg/appendix-porting.xml:
19314         * docs/pwg/pwg.xml:
19315           Add porting guide (mostly stubs), remove autoplugging (see ADM).
19316         * docs/pwg/building-boiler.xml:
19317         * docs/pwg/building-chainfn.xml:
19318         * docs/pwg/building-pads.xml:
19319         * docs/pwg/building-props.xml:
19320         * docs/pwg/building-state.xml:
19321         * docs/pwg/building-testapp.xml:
19322           Update the building-*.xml parts for 0.9 changes. All examples
19323           code blocks compile in examples/pwg/*.
19324
19325 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19326
19327         * docs/manual/advanced-autoplugging.xml:
19328         * docs/manual/appendix-checklist.xml:
19329         * docs/manual/appendix-integration.xml:
19330         * docs/manual/highlevel-components.xml:
19331           Fix playbin/decodebin examples, update docs a bit, mention bus
19332           instead of signals in various places, mention kmplayer and
19333           kaffeine since they have a working GStreamer backend in the KDE
19334           section.
19335
19336 2005-06-30  Wim Taymans  <wim@fluendo.com>
19337
19338         * CHANGES-0.9:
19339         * docs/design/draft-ghostpads.txt:
19340         * docs/design/draft-push-pull.txt:
19341         * docs/design/draft-query.txt:
19342         * docs/design/part-TODO.txt:
19343         * docs/design/part-query.txt:
19344         Added CHANGES-0.9 doc, updated status of other docs.
19345         
19346         * gst/gstquery.h:
19347         Remove "hmm" macro
19348
19349 2005-06-30  Wim Taymans  <wim@fluendo.com>
19350
19351         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
19352         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
19353         (gst_base_sink_change_state):
19354         * gst/base/gstbasesink.h:
19355         Some tweaks, only EOS and a buffer complete a preroll.
19356
19357 2005-06-30  Andy Wingo  <wingo@pobox.com>
19358
19359         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
19360         activate_push down to the internal pad as well.
19361
19362 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
19363
19364         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19365
19366         * gst/gsttaginterface.c:
19367           Some documentation fixes (#307394 and #307397).
19368
19369 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
19370
19371         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19372
19373         * gst/gstvalue.c: (gst_value_intersect_list):
19374           Fix memleak (#309125).
19375
19376 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19377
19378         * docs/manual/advanced-dataaccess.xml:
19379           Fix fakesrc example to compile; doesn't work, bug somewhere...?
19380         * docs/manual/basics-pads.xml:
19381           Add reference for filtered caps to above chapter.
19382
19383 2005-06-30  Wim Taymans  <wim@fluendo.com>
19384
19385         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
19386         (gst_bin_change_state):
19387         Probes are gone.
19388         Lame attempt at making the state change function a bit
19389         more readable.
19390
19391 2005-06-30  Wim Taymans  <wim@fluendo.com>
19392
19393         * docs/design/part-clocks.txt:
19394         * docs/design/part-element-sink.txt:
19395         * docs/design/part-events.txt:
19396         * docs/design/part-preroll.txt:
19397         * docs/design/part-states.txt:
19398         Some more tweeks and additions to the docs.
19399
19400 2005-06-30  Wim Taymans  <wim@fluendo.com>
19401
19402         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
19403         (default_have_data), (gst_pad_class_init), (gst_pad_init),
19404         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
19405         (gst_pad_check_pull_range), (gst_pad_get_range),
19406         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
19407         * gst/gstpad.h:
19408         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
19409         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
19410         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
19411         (gst_pad_remove_buffer_probe):
19412         Removed atomic operations, use existing LOCK.
19413         Move exception handling out of main code path.
19414
19415 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19416
19417         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
19418         (silly_return_true_function), (gst_pad_class_init),
19419         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
19420         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
19421         (gst_pad_send_event):
19422           Fix accumulator, add default value by using _emitv() instead
19423           of _emit() for signal emission.
19424
19425 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19426
19427         * docs/manual/advanced-dataaccess.xml:
19428         * examples/manual/Makefile.am:
19429           Add probe example.
19430         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
19431           Make work (??).
19432
19433 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
19434
19435         * gst/elements/gstfilesink.c: (gst_filesink_render):
19436           Simplify code so that we don't have to handle short
19437           writes and return GST_FLOW_ERROR if an error occured.
19438
19439 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19440
19441         * docs/gst/gstreamer-docs.sgml:
19442           Remove probes more.
19443
19444 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19445
19446         * docs/gst/gstreamer-sections.txt:
19447         * docs/gst/tmpl/gstpad.sgml:
19448         * docs/gst/tmpl/gstprobe.sgml:
19449         * gst/Makefile.am:
19450         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
19451         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
19452         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
19453         (gst_pad_push_event), (gst_pad_send_event):
19454         * gst/gstpad.h:
19455         * gst/gstutils.c: (gst_pad_add_data_probe),
19456         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
19457         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
19458         (gst_pad_remove_buffer_probe):
19459         * gst/gstutils.h:
19460           Remove old probes, add new g-signal-based probes and some utility
19461           functions.
19462
19463 2005-06-29  Edward Hervey  <edward@fluendo.com>
19464
19465         * gst/gstelementfactory.c:
19466         * gst/gstutils.h:
19467         * gst/gstutils.c:
19468         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
19469         the definition to the header file.
19470
19471 2005-06-29  Andy Wingo  <wingo@pobox.com>
19472
19473         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
19474         plugins from the source directory.
19475
19476 2005-06-29  Wim Taymans  <wim@fluendo.com>
19477
19478         * docs/gst/tmpl/gstbuffer.sgml:
19479         * docs/gst/tmpl/gstclock.sgml:
19480         Some fixings for blantently wrong text.
19481
19482 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
19483
19484         * check/Makefile.am:
19485         * gst/gst.c: (add_path_func), (init_pre):
19486         * gst/gstregistry.c: (gst_registry_add_path):
19487           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
19488           only scan the GST_PLUGIN_PATH locations, and not add
19489           system locations
19490
19491 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
19492
19493         * docs/gst/gstreamer-sections.txt:
19494         * docs/gst/tmpl/gstbasesrc.sgml:
19495         * gst/gstelement.c:
19496         * gst/gstelement.h:
19497         * gst/gstevent.c:
19498         * gst/gstutils.c:
19499           doc fixes
19500
19501 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19502
19503         * docs/manual/advanced-autoplugging.xml:
19504           Fix autoplugging example.
19505
19506 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19507
19508         * docs/manual/advanced-autoplugging.xml:
19509         * docs/manual/mime-world.fig:
19510           Try to get autoplugging working, fix type detection. Fix text
19511           in hello-world image.
19512
19513 2005-06-29  Wim Taymans  <wim@fluendo.com>
19514
19515         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
19516         (gst_base_sink_change_state):
19517         Small debug line.
19518
19519         * gst/gstclock.h:
19520         map SIGNAL and BROADCAST to the right function.
19521
19522         * gst/gstobject.h:
19523         Remove redundant braces.
19524
19525         * gst/gstpad.c: (gst_pad_set_caps):
19526         Don't call setcaps function when reseting caps to NULL.
19527
19528         * gst/gstsystemclock.c: (gst_system_clock_dispose),
19529         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
19530         (gst_system_clock_id_unschedule):
19531         Use BROADCAST as this is what we do.
19532
19533 2005-06-29  Wim Taymans  <wim@fluendo.com>
19534
19535         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
19536         We are actually prerolling before commiting the state
19537         change. 
19538
19539 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19540
19541         * docs/manual/advanced-clocks.xml:
19542         * docs/manual/advanced-interfaces.xml:
19543         * docs/manual/advanced-metadata.xml:
19544         * docs/manual/advanced-position.xml:
19545         * docs/manual/advanced-schedulers.xml:
19546         * docs/manual/advanced-threads.xml:
19547         * docs/manual/appendix-porting.xml:
19548         * docs/manual/basics-bins.xml:
19549         * docs/manual/basics-bus.xml:
19550         * docs/manual/basics-elements.xml:
19551         * docs/manual/basics-helloworld.xml:
19552         * docs/manual/basics-pads.xml:
19553         * docs/manual/highlevel-components.xml:
19554         * docs/manual/manual.xml:
19555         * docs/manual/thread.fig:
19556           Update (until threads/scheduling) Application Development Manual;
19557           remove GstThread, add GstBus, add simple porting checklist, add
19558           documentation for tag writing, clocks, make all examples until this
19559           part compile and run.
19560         * examples/manual/Makefile.am:
19561           Update from changes to Application Development Manual; add bus
19562           example, remove thread example.
19563
19564 2005-06-28  Wim Taymans  <wim@fluendo.com>
19565
19566         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
19567         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
19568         (gst_bus_source_dispatch):
19569         Add debugging messages.
19570         Make internal methods static.
19571         Handle the case where the bus is flushed in the handler.
19572         
19573         * gst/gstelement.c: (gst_element_get_bus):
19574         Fix refcount in _get_bus();
19575
19576         * gst/gstpipeline.c: (gst_pipeline_change_state),
19577         (gst_pipeline_get_clock_func):
19578         Clock refcounting fixes.
19579         Handle the case where preroll timed out more gracefully.
19580         
19581         * gst/gstsystemclock.c: (gst_system_clock_dispose):
19582         Clean up the internal thread in dispose. This is needed
19583         for subclasses that actually get disposed.
19584         
19585         * gst/schedulers/threadscheduler.c:
19586         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
19587         (gst_thread_scheduler_dispose):
19588         Free thread pool in dispose.
19589
19590 2005-06-28  Andy Wingo  <wingo@pobox.com>
19591
19592         * tests/network-clock-utils.scm (debug, print-event): New utils.
19593
19594         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
19595         (*packet-loss*): Unified loss probability.
19596         (network-time): Report out-of-band events.
19597
19598         * tests/plot-data: Add support for out-of-band events. Hack it
19599         into this script instead of passing it down the pipe; should fix
19600         this later.
19601
19602 2005-06-28  Wim Taymans  <wim@fluendo.com>
19603
19604         * docs/gst/gstreamer.types:
19605         * docs/gst/tmpl/gstbasesrc.sgml:
19606         * docs/gst/tmpl/gstpad.sgml:
19607         Docs fixes.
19608
19609 2005-06-28  Wim Taymans  <wim@fluendo.com>
19610
19611         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
19612         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
19613         (gst_proxy_pad_do_fixatecaps):
19614         Correctly proxy the check_pull_range function.
19615
19616 2005-06-28  Andy Wingo  <wingo@pobox.com>
19617
19618         * tests/network-clock.scm: Removed need for slib.
19619         
19620 2005-06-28  Wim Taymans  <wim@fluendo.com>
19621
19622         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
19623         (gst_basesink_preroll_queue_flush):
19624         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
19625         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
19626         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
19627         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
19628         (gst_proxy_pad_set_property):
19629         * gst/gstpad.c:
19630         * gst/gstpad.h:
19631         * gst/gstqueue.c: (gst_queue_init):
19632         The deprecated pad loop function is removed now.
19633
19634 2005-06-28  Andy Wingo  <wingo@pobox.com>
19635
19636         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
19637         New parameters, simulate network packet loss.
19638
19639         * tests/network-clock-utils.scm: Initialize the RNG.
19640
19641 2005-06-28  Wim Taymans  <wim@fluendo.com>
19642
19643         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
19644         (gst_basesink_event), (gst_basesink_deactivate):
19645         Flushing the preroll queue always needs to unlock the waiters.
19646
19647 2005-06-28  Edward Hervey  <edward@fluendo.com>
19648
19649         * gst/gstpipeline.c: (gst_pipeline_send_event): 
19650         Wheen a seek was successful on a pipeline, set the stream_time to the
19651         seek offset in order to have a synchronized stream_time.
19652
19653 2005-06-28  Wim Taymans  <wim@fluendo.com>
19654
19655         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
19656         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
19657         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
19658         (gst_proxy_pad_do_fixatecaps):
19659         Call wrapper function instead of just calling the function
19660         pointers. This takes care of any locking and whatmore.
19661
19662 2005-06-28  Wim Taymans  <wim@fluendo.com>
19663
19664         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
19665         (gst_pad_pull_range):
19666         * gst/gstpad.h:
19667         CONNECTED -> LINKED.
19668
19669 2005-06-28  Andy Wingo  <wingo@pobox.com>
19670
19671         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
19672         source-munging commit!!!
19673
19674         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
19675         (gst_object_sink): Take gpointer arguments, not GstObject --
19676         avoids casts. Like GLib.
19677
19678         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
19679         activate.
19680
19681 2005-06-27  Andy Wingo  <wingo@pobox.com>
19682
19683         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
19684         remaining buffer.
19685
19686         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
19687         returns a sorted copy of the trace list.
19688         (gst_alloc_trace_print_live): New API, only prints traces with
19689         live objects. Sort the list.
19690         (gst_alloc_trace_print_all): Sort the list.
19691         (gst_alloc_trace_print): Align columns.
19692
19693         * gst/elements/gstttypefindelement.c:
19694         * gst/elements/gsttee.c:
19695         * gst/base/gstbasesrc.c:
19696         * gst/base/gstbasesink.c:
19697         * gst/base/gstbasetransform.c:
19698         * gst/gstqueue.c: Adapt for pad activation changes.
19699
19700         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
19701         sched.
19702         (gst_pipeline_dispose): Drop ref on sched.
19703
19704         * gst/gstpad.c (gst_pad_init): Set the default activate func.
19705         (gst_pad_activate_default): Push mode by default.
19706         (pre_activate_switch, post_activate_switch): New stubs, things to
19707         do before and after switching activation modes on pads.
19708         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
19709         the pad's activate function to choose which mode to activate.
19710         Shortcut on deactivation and call the right function directly.
19711         (gst_pad_activate_pull): New API, (de)activates a pad in pull
19712         mode.
19713         (gst_pad_activate_push): New API, same for push mode.
19714         (gst_pad_set_activate_function) 
19715         (gst_pad_set_activatepull_function) 
19716         (gst_pad_set_activatepush_function): Setters for new API.
19717
19718         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
19719         Trace all miniobjects.
19720         (gst_mini_object_make_writable): Unref the arg if we copy, like
19721         gst_caps_make_writable.
19722
19723         * gst/gstmessage.c (_gst_message_initialize): No trace init.
19724
19725         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
19726         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
19727         Adapt for new pad API.
19728
19729         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
19730
19731         * gst/gstelement.h:
19732         * gst/gstelement.c (gst_element_iterate_src_pads) 
19733         (gst_element_iterate_sink_pads): New API functions.
19734         
19735         * gst/gstelement.c (iterator_fold_with_resync): New utility,
19736         should fold into gstiterator.c in some form.
19737         (gst_element_pads_activate): Simplified via use of fold and
19738         delegation of decisions to gstpad->activate.
19739
19740         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
19741         help in debugging.
19742
19743         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
19744         class once in init, like gstmessage. Didn't run into this issue
19745         but it seems correct. Don't initialize a trace, gstminiobject does
19746         that.
19747
19748         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
19749         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
19750         to the bus.
19751         (assert_live_count): New util function, uses alloc traces to check
19752         cleanup.
19753
19754         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
19755         To be modified when unlink drops the internal pad.
19756
19757 2005-06-27  Wim Taymans  <wim@fluendo.com>
19758
19759         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
19760         (gst_bin_change_state):
19761         Cleanup the get_state() function a little, make sure it
19762         iterates the same set of elements.
19763         Added stub iterate_state_order().
19764
19765 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
19766
19767         * docs/gst/gstreamer-docs.sgml:
19768         * docs/gst/gstreamer-sections.txt:
19769         * docs/gst/gstreamer.types:
19770         * docs/gst/tmpl/gstbasesink.sgml:
19771         * docs/gst/tmpl/gstbasesrc.sgml:
19772         * docs/gst/tmpl/gstbasetransform.sgml:
19773         * docs/gst/tmpl/gstelement.sgml:
19774         * docs/gst/tmpl/gstiterator.sgml:
19775         * gst/base/gstbasesrc.c:
19776         * gst/base/gstbasesrc.h:
19777         * gst/base/gstbasetransform.h:
19778         * gst/gstelement.c:
19779         * gst/gstiterator.h:
19780           adding basetransform and iterator docs
19781
19782 2005-06-27  Andy Wingo  <wingo@pobox.com>
19783
19784         * docs/design/part-activation.txt: Notes on how activation should
19785         work -- not quite implemented yet.
19786
19787 2005-06-25  Wim Taymans  <wim@fluendo.com>
19788
19789         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
19790         At least get the chain function correct, needs more
19791         fixing.
19792
19793 2005-06-25  Wim Taymans  <wim@fluendo.com>
19794
19795         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
19796         (gst_basesink_handle_object), (gst_basesink_event),
19797         (gst_basesink_do_sync), (gst_basesink_handle_event),
19798         (gst_basesink_change_state):
19799         * gst/gsttask.h:
19800         Right, two problems here: ghostpads don't take locks and
19801         glib _rec_mutex_lock_full() with depth==0 still locks.
19802         Catch illegal locking and g_warn them.
19803
19804 2005-06-25  Wim Taymans  <wim@fluendo.com>
19805
19806         * check/states/sinks.c: (START_TEST), (gst_object_suite):
19807         Have to check for completion now...
19808
19809 2005-06-25  Wim Taymans  <wim@fluendo.com>
19810
19811         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
19812         (gst_basesink_handle_object), (gst_basesink_event),
19813         (gst_basesink_do_sync), (gst_basesink_handle_event),
19814         (gst_basesink_change_state):
19815         * gst/gstpad.h:
19816         Unlock STREAM_LOCK whatever the recursion was.
19817
19818 2005-06-25  Wim Taymans  <wim@fluendo.com>
19819
19820         * gst/base/gstbasesink.c: (gst_basesink_set_property),
19821         (gst_basesink_preroll_queue_empty),
19822         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
19823         (gst_basesink_event), (gst_basesink_do_sync),
19824         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
19825         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
19826         (gst_basesink_change_state):
19827         Reworked the base sink, handle event and buffer serialisation
19828         correctly and removed possible deadlock.
19829         Handle EOS correctly.
19830
19831 2005-06-25  Wim Taymans  <wim@fluendo.com>
19832
19833         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
19834         (gst_pipeline_change_state):
19835         * tools/gst-launch.c: (check_intr), (event_loop), (main):
19836         Allow elements to post EOS in the state change function.
19837         Fix up -launch, make it exit the poll loop when the
19838         pipeline actually changed state.
19839         Fix up warning parsing in -launch.
19840
19841 2005-06-25  Wim Taymans  <wim@fluendo.com>
19842
19843         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
19844         (gst_tee_sink_activate):
19845         Core takes STREAM_LOCK for us now.
19846
19847 2005-06-25  Wim Taymans  <wim@fluendo.com>
19848
19849         * gst/gstelement.c: (gst_element_get_state_func),
19850         (gst_element_set_state):
19851         * gst/gstelement.h:
19852         * gst/gstmessage.c: (gst_message_parse_error),
19853         (gst_message_parse_warning):
19854         Keep track of current target state while performing a state
19855         change so that subclasses can do something interesting.
19856         Fix parsing of warning/error messages when GError is NULL.
19857
19858 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
19859
19860         * docs/gst/Makefile.am:
19861         * docs/gst/gstreamer-docs.sgml:
19862         * docs/gst/gstreamer-sections.txt:
19863         * docs/gst/gstreamer.types:
19864         * docs/gst/tmpl/gstbasesink.sgml:
19865         * docs/gst/tmpl/gstbasesrc.sgml:
19866         * docs/gst/tmpl/gstbin.sgml:
19867         * docs/gst/tmpl/gstcompat.sgml:
19868         * docs/gst/tmpl/gstfakesink.sgml:
19869         * docs/gst/tmpl/gstfakesrc.sgml:
19870         * docs/gst/tmpl/gstfilesink.sgml:
19871         * docs/gst/tmpl/gstfilesrc.sgml:
19872         * docs/gst/tmpl/gstindex.sgml:
19873         * docs/manual/appendix-quotes.xml:
19874         * gst/base/gstbasesrc.h:
19875         * gst/elements/gstfakesrc.h:
19876         * gst/gstmessage.h:
19877           start pulling in base classes and elements in our docs
19878
19879 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
19880
19881         * docs/gst/Makefile.am:
19882         * docs/libs/Makefile.am:
19883           fixed make distcheck with gtk-doc 1.3
19884
19885 2005-06-23  Wim Taymans  <wim@fluendo.com>
19886
19887         * gst/gstelement.c: (gst_element_get_state_func),
19888         (gst_element_set_state), (gst_element_change_state):
19889         When the state did not change, also report NO_PREROLL
19890         when it matters.
19891
19892 2005-06-23  Wim Taymans  <wim@fluendo.com>
19893
19894         * gst/gstpad.c: (gst_pad_event_default):
19895         * gst/gstqueue.c: (gst_queue_loop):
19896         No unsafe task pausing please.
19897
19898 2005-06-23  Wim Taymans  <wim@fluendo.com>
19899
19900         * gst/schedulers/threadscheduler.c:
19901         (gst_thread_scheduler_task_start),
19902         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
19903         Ref the task before pushing it on the threadpool. This
19904         makes sure that we have a ref when the threadfunction is
19905         actually called.
19906
19907 2005-06-23  Andy Wingo  <wingo@pobox.com>
19908
19909         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
19910         offset is greater than the file's size.
19911
19912         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
19913         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
19914         * gst/gstobject.c (gst_object_class_init): Make the class lock
19915         recursive. Wim won't let me drop deep_notify. Decodebin works
19916         again, whoopdy doo.
19917
19918         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
19919         internal pad, and hacks accordingly. Doesn't do it on the target
19920         pad because we change its caps. Probably catches all cases of
19921         interest tho.
19922         (gst_ghost_pad_set_property): Connect to notify::caps as
19923         appropritate.
19924
19925         * tests/network-clock.scm (plot-simulation): Pipe data to the
19926         elite python skript.
19927
19928         * tests/network-clock-utils.scm (define-parameter): New macro,
19929         defines a parameter that can be set via the command line.
19930         (set-parameter!, parse-parameter-arguments): Command line args
19931         parser.
19932
19933         * tests/plot-data: Simple matplotlib-based plotter, takes input on
19934         stdin.
19935
19936 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
19937
19938         * gst/elements/gsttypefindelement.c:
19939         (gst_type_find_element_handle_event):
19940           Don't restart typefinding on a discont.
19941         * gst/gstelement.c: (gst_element_set_state):
19942           Debug spelling fix.
19943         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
19944           Allow changing mode of an active pad.
19945           Debug output fixes.
19946         * gst/registries/gstlibxmlregistry.c: (load_feature):
19947           Don't cast a static pad template to a normal pad template.
19948
19949 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
19950
19951         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
19952         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
19953           remove gst_strtoll completely, since it didn't actually do
19954           anything more than what g_ascii_strtoull already does.
19955           check for range errors when deserializing
19956           do a cast for the unsigned cases; but further fixing needs
19957           a decision on what the interpretation of "(int)" and
19958           deserialization should be for values that fall outside the
19959           type's boundaries (ie, refuse, or interpret as casting)
19960
19961 2005-06-23  Wim Taymans  <wim@fluendo.com>
19962
19963         * check/Makefile.am:
19964         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
19965         * docs/design/part-live-source.txt:
19966         * docs/design/part-states.txt:
19967         * gst/base/gstbasesrc.c: (gst_basesrc_init),
19968         (gst_basesrc_set_live), (gst_basesrc_is_live),
19969         (gst_basesrc_get_range), (gst_basesrc_activate),
19970         (gst_basesrc_change_state):
19971         * gst/base/gstbasesrc.h:
19972         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
19973         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
19974         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
19975         * gst/gstelement.c: (gst_element_get_state_func),
19976         (gst_element_set_state):
19977         * gst/gstelement.h:
19978         * gst/gsttypes.h:
19979         * tools/gst-launch.c: (event_loop), (main):
19980         Added support for live sources and other elements that
19981         cannot do preroll.
19982         Updated design docs, added live-source design doc.
19983         Implemented live source functionality in basesrc
19984         Fix error condition in _bin_get_state()
19985         Implement live source handling in -launch.
19986         Added check for live sources.
19987         Fixed case in GstBin where elements were changed state
19988         multiple times.
19989
19990
19991 2005-06-23  Andy Wingo  <wingo@pobox.com>
19992
19993         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
19994         borken refcounting.
19995
19996         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
19997         gst_caps_replace takes care of this for us.
19998
19999         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
20000         gst_pad_set_caps on the target, not just its setcaps() function.
20001
20002         * tests/network-clock.scm: 
20003         * tests/network-clock-utils.scm: A network clock simulator.
20004         Something of an algorithmic testbed before doing something in C.
20005
20006 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
20007
20008         * check/Makefile.am:
20009         * check/gst/capslist.h:
20010           copy over from 0.8, and add two with bitmasks specified with
20011           (int) 0xFF...
20012         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
20013           add test to parse everything from capslist.h
20014         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
20015         (main):
20016           add test for structure deserialization
20017         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
20018           add tests for deserialization of strings to int types
20019         * gst/gststructure.c: (gst_structure_nth_field_name):
20020         * gst/gststructure.h:
20021           add a way to get the name of a field referenced by index
20022         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
20023           instead of checking if the resulting long long lies between
20024           min and max, we check if the long long would fit into
20025           a number of bytes for the final type.
20026           This fixes cases where a string represents 2^32 - 1, which
20027           when cast to int would be the (valid) -1, but is bigger than
20028           G_MAXINT
20029
20030 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
20031
20032         * gst/parse/grammar.y:
20033           add a log line for type deserialization
20034
20035 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
20036
20037         * check/gst/gstvalue.c: (START_TEST):
20038         * gst/gstvalue.c: (gst_value_deserialize):
20039           return long long, not int, so gint64 deserialization actually
20040           works.  Is there any flag that makes the compiler check this ?
20041           Fixes #308559
20042
20043 2005-06-22  Wim Taymans  <wim@fluendo.com>
20044
20045         * gst/gstbuffer.h:
20046         Added convenience macros for setting buffers in GValue.
20047
20048 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
20049
20050         * check/gst/.cvsignore:
20051         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
20052           add a test deserializing int64, and comment part out because
20053           it fails, yay !
20054
20055 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
20056
20057         * check/Makefile.am:
20058         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
20059         * testsuite/Makefile.am:
20060         * testsuite/caps/Makefile.am:
20061         * testsuite/caps/value_serialize.c:
20062         * testsuite/test_gst_init.c:
20063           move a value_serialize test over
20064
20065 2005-06-20  Wim Taymans  <wim@fluendo.com>
20066
20067         * gst/gstpad.c:
20068         Small doc updates.
20069         
20070         * gst/gstvalue.c: (gst_value_compare_buffer),
20071         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
20072         (gst_value_compare_flags), (gst_value_serialize_flags),
20073         (gst_value_deserialize_flags), (_gst_value_initialize):
20074         Fix serialisation of buffers, they are not boxed types anymore
20075
20076 2005-06-20  Wim Taymans  <wim@fluendo.com>
20077
20078         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
20079         Testcase to show error in buffer-on-caps serialisation.
20080
20081 2005-06-20  Andy Wingo  <wingo@pobox.com>
20082
20083         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
20084         will be adding to later.
20085
20086         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
20087         if its socks fill with rocks.
20088         (gst_system_clock_obtain): Set the name on object construction.
20089         Avoid double-checked locking.
20090
20091 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
20092
20093         * gst/gsturi.c: (gst_element_make_from_uri):
20094           Fix potential endless loop.
20095
20096 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
20097
20098         * check/Makefile.am:
20099           add gsttag
20100         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
20101         (main):
20102           move over from testsuite dir and clean up
20103         * configure.ac:
20104         * gst/gsttag.c:
20105         * testsuite/Makefile.am:
20106         * testsuite/tags/.cvsignore:
20107         * testsuite/tags/Makefile.am:
20108         * testsuite/tags/merge.c:
20109           remove testsuite/tags
20110
20111 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
20112
20113         * docs/gst/gstreamer-sections.txt:
20114         * docs/gst/tmpl/gstenumtypes.sgml:
20115         * win32/gstenumtypes.c:
20116           clean up documentation build a little
20117
20118 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
20119
20120         * check/gstcheck.h:
20121           add macros for checking refcounts on objects and caps
20122         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
20123           add some more unit tests
20124         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
20125         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
20126           fix leaked refcounts (I hope :)) so unittest works
20127         * gst/gstpad.h:
20128           whitespace removal
20129
20130 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
20131
20132         * configure.ac: back to HEAD
20133
20134 === release 0.9.1 ===
20135
20136 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
20137
20138         * NEWS:
20139         * RELEASE:
20140           updated
20141
20142 2005-06-17  Andy Wingo  <wingo@pobox.com>
20143
20144         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
20145         assert; it's always possible that the pad gets deactivated in
20146         between the checks in gstpad.c and the implementation. Rely on
20147         finish_preroll() to return a FLUSHING or similar instead of on the
20148         assert.
20149         
20150         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
20151         clock and post an EOS message if we come out of finish_preroll in
20152         the playing state.
20153
20154 2005-06-16  David Schleef  <ds@schleef.org>
20155
20156         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
20157         (gst_capsfilter_set_property): Allow NULL as possible value
20158         for filter_caps property, indicating GST_CAPS_ANY.
20159
20160 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
20161
20162         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
20163           fix debug output
20164         * gst/schedulers/Makefile.am:
20165           use libgst prefix
20166         * gstreamer.spec.in:
20167           fix spec for it
20168
20169 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
20170
20171         * gstreamer.spec.in:
20172           clean up
20173
20174 2005-06-08  Andy Wingo  <wingo@pobox.com>
20175
20176         * gst/gstutils.c: RPAD fixes all around.
20177         (gst_element_link_pads): Refcounting fixes.
20178
20179         * tools/gst-inspect.c:
20180         * tools/gst-xmlinspect.c:
20181         * parse/grammar.y:
20182         * gst/base/gsttypefindhelper.c:
20183         * gst/base/gstbasesink.c:
20184         * gst/gstqueue.c: RPAD fixes.
20185
20186         * gst/gstghostpad.h:
20187         * gst/gstghostpad.c: New ghost pad implementation as full proxy
20188         pads. The tricky thing is they provide both source and sink
20189         interfaces, since they proxy the internal pad for the external
20190         pad, and vice versa. Implement with lower-level ProxyPad objects,
20191         with the interior proxy pad as a child of the exterior ghost pad.
20192         Should write a doc on this.
20193         
20194         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
20195         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
20196         gst_object API.
20197         
20198         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
20199         pads are real pads. No ghost pads in this file. Not documenting
20200         the myriad s/RPAD/PAD/ and REALIZE fixes.
20201         (gst_pad_class_init): Add properties for "direction" and
20202         "template". Both are construct-only, so they can't change during
20203         the life of the pad. Fixes properly deriving from GstPad.
20204         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
20205         derived objects, just set properties when creating the objects via
20206         g_object_new.
20207         (gst_pad_get_parent): Implement as a function, return NULL if the
20208         parent is not an element.
20209         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
20210         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
20211         
20212         * gst/gstobject.c (gst_object_class_init): Make name a construct
20213         property. Don't set it in the object init.
20214
20215         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
20216         with UNKNOWN direction.
20217         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
20218         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
20219         (gst_element_remove_pad): Remove ghost-pad special cases.
20220         (gst_element_pads_activate): Remove rpad cruft.
20221
20222         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
20223         catch the pad's-parent-not-an-element case.
20224
20225         * gst/gst.h: Include gstghostpad.h.
20226
20227         * gst/gst.c (init_post): No more real, ghost pads.
20228
20229         * gst/Makefile.am: Add gstghostpad.[ch].
20230
20231         * check/Makefile.am:
20232         * check/gst/gstbin.c:
20233         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
20234         into a bin creates ghost pads, and that the refcounts are right.
20235         Partly moved from gstbin.c.
20236
20237 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
20238
20239         * check/gst-libs/.cvsignore:
20240         * check/gst/.cvsignore:
20241         * check/pipelines/.cvsignore:
20242           ignore more
20243         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
20244         (START_TEST), (cleanup_suite), (main):
20245           add some tests related to cleanup after running pipelines
20246
20247 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
20248
20249         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
20250           add a testsuite for GstBuffer
20251
20252 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
20253
20254         * gst/gstminiobject.h:
20255           add defines for accessing the refcount
20256
20257 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
20258
20259         * Makefile.am: added support for html unit test coverage reports
20260
20261 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
20262
20263         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
20264           Free existing caps if the capsfilter changes. Add a FIXME about
20265           setting those caps on the pads.
20266
20267         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
20268           Before adding a ghost pad to a parent bin, check that there isn't
20269           already one for the element on the bin. Prevents infinite recursion
20270           when using decodebin in parse pipelines. Andy says he'll rewrite the
20271           way this works anyway, so ignore the hack.
20272
20273 2005-06-02  Andy Wingo  <wingo@pobox.com>
20274
20275         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
20276         file size, pass it on to the type find helper.
20277
20278         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
20279         segment_start and segment_end properly according to the seek
20280         method. Segment_end is still a bit flaky because offset can be
20281         negative for CUR and END cases, but it takes -1 as an "unset"
20282         value.
20283
20284 2005-06-02  Wim Taymans  <wim@fluendo.com>
20285
20286         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
20287         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
20288         (gst_basesink_activate):
20289         * gst/base/gstbasesink.h:
20290         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
20291         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
20292         (gst_pad_query), (gst_pad_start_task):
20293         * gst/gstpad.h:
20294         * gst/gstqueue.c: (gst_queue_bufferalloc),
20295         (gst_queue_handle_sink_event), (gst_queue_chain):
20296         Bufferalloc: return GstFlowReturn to more accuratly report
20297         why allocation failed.
20298
20299 2005-06-02  Wim Taymans  <wim@fluendo.com>
20300
20301         * gst/gstpipeline.c: (gst_pipeline_send_event):
20302         Take snapshot of state without blocking.
20303
20304 2005-06-02  Wim Taymans  <wim@fluendo.com>
20305
20306         * docs/design/part-TODO.txt:
20307         * docs/design/part-caps.txt:
20308         * docs/design/part-clocks.txt:
20309         * docs/design/part-negotiation.txt:
20310         * docs/design/part-preroll.txt:
20311         Small doc updates 
20312
20313 2005-05-30  Wim Taymans  <wim@fluendo.com>
20314
20315         * gst/elements/gstidentity.c: (gst_identity_event),
20316         (gst_identity_transform), (gst_identity_get_property):
20317         Protect last_message property as it is accessed from
20318         multiple threads.
20319
20320 2005-05-30  Wim Taymans  <wim@fluendo.com>
20321
20322         * gst/gstelement.c: (gst_element_init),
20323         (gst_element_pads_activate), (gst_element_change_state):
20324         Slicker pad activation code.
20325
20326 2005-05-30  Wim Taymans  <wim@fluendo.com>
20327
20328         * gst/Makefile.am:
20329         * gst/gstelement.h:
20330         * gst/gstelementfactory.h:
20331         * gst/gsttypes.h:
20332         Move elementfactory methods to separate .h file.
20333
20334 2005-05-30  Wim Taymans  <wim@fluendo.com>
20335
20336         * docs/design/part-overview.txt:
20337         * gst/gstsystemclock.h:
20338         Small typo fixes, doc updates.
20339
20340 2005-05-30  Wim Taymans  <wim@fluendo.com>
20341
20342         * gst/gst.c: (gst_init_get_popt_table), (init_post),
20343         (init_popt_callback):
20344         Remove cpu-opt flag.
20345
20346 2005-05-30  Wim Taymans  <wim@fluendo.com>
20347
20348         * gst/gstbuffer.c: (gst_subbuffer_finalize),
20349         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
20350         * gst/gstbuffer.h:
20351         Avoid typechecking in places where not needed.
20352         Added accessor for malloc_data.
20353
20354 2005-05-30  Wim Taymans  <wim@fluendo.com>
20355
20356         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
20357         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
20358         (gst_pad_configure_sink), (gst_pad_configure_src),
20359         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
20360         (gst_pad_start_task):
20361         Propagate errors from _set_caps() in configure_src/sink
20362         functions instead of returning TRUE.
20363         FLUSH events can travel up and downstream
20364
20365
20366 2005-05-30  Wim Taymans  <wim@fluendo.com>
20367
20368         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
20369         (gst_basesink_activate):
20370         Handle EOS in preroll.
20371
20372 2005-05-30  Wim Taymans  <wim@fluendo.com>
20373
20374         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
20375         (gst_queue_loop), (gst_queue_handle_src_event):
20376         Remove old pieces of code
20377         Flushing the queue in an upstream event is a very bad idea.
20378
20379 2005-05-26  Andy Wingo  <wingo@pobox.com>
20380
20381         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
20382         gst_value_set_mini_object so as to add a ref on the object (which
20383         will be removed when the value is unset).
20384
20385         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
20386         arg type in ::handoff.
20387
20388         * gst/gstelement.c (gst_element_change_state): Also deactivate
20389         pads in READY->NULL, just in case the element didn't make it to
20390         PAUSED. Wingo tested, Wim approved.
20391
20392 2005-05-26  Wim Taymans  <wim@fluendo.com>
20393
20394         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
20395         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
20396         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
20397         A flushing pad cannot be used to alloc_buffer from.
20398
20399 2005-05-26  Wim Taymans  <wim@fluendo.com>
20400
20401         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
20402         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
20403         (gst_bus_source_dispatch), (gst_bus_source_finalize),
20404         (gst_bus_create_watch), (gst_bus_add_watch_full):
20405         * gst/gstbus.h:
20406         Implement a real GSource and use g_main_context_wakeup() to
20407         signal new messages instead of the socketpair.
20408
20409 2005-05-25  Wim Taymans  <wim@fluendo.com>
20410
20411         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
20412         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
20413         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
20414         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
20415         (gst_pad_send_event), (gst_pad_start_task):
20416         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
20417         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
20418         (gst_queue_sink_activate), (gst_queue_src_activate),
20419         (gst_queue_change_state):
20420         * gst/gstqueue.h:
20421         Fix state changes for non sinks. We now change sinks, then elements
20422         with unconnected srcpads, then the rest.
20423         More efficient queue unlocking in flush and state changes.
20424         Set the pad activate mode even if it does not have an activate
20425         function.
20426
20427 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20428
20429         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
20430           Don't go in pull mode for non-seekable sources.
20431         * gst/elements/gsttypefindelement.h:
20432         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
20433         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
20434         (free_entry), (stop_typefinding),
20435         (gst_type_find_element_handle_event), (find_peek),
20436         (gst_type_find_element_chain), (do_pull_typefind),
20437         (gst_type_find_element_change_state):
20438           Allow typefinding (w/o seeking) in push-mode, simplified version
20439           of what was in 0.8.
20440         * gst/gstutils.c: (gst_buffer_join):
20441         * gst/gstutils.h:
20442           gst_buffer_join() from 0.8.
20443
20444 2005-05-25  Wim Taymans  <wim@fluendo.com>
20445
20446         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
20447         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
20448         (gst_pad_send_event), (gst_pad_start_task):
20449         Disable attempt at mode switching until it is figured out.
20450
20451 2005-05-25  Wim Taymans  <wim@fluendo.com>
20452
20453         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
20454         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
20455         (gst_basesink_finish_preroll), (gst_basesink_chain),
20456         (gst_basesink_loop), (gst_basesink_activate),
20457         (gst_basesink_change_state):
20458         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
20459         (gst_basesrc_get_range), (gst_basesrc_loop),
20460         (gst_basesrc_activate):
20461         * gst/elements/gsttee.c: (gst_tee_sink_activate):
20462         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
20463         (gst_real_pad_init), (gst_real_pad_set_property),
20464         (gst_real_pad_get_property), (gst_pad_set_active),
20465         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
20466         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
20467         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
20468         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
20469         (gst_pad_event_default_dispatch), (gst_pad_event_default),
20470         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
20471         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
20472         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
20473         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
20474         (gst_pad_stop_task):
20475         * gst/gstpad.h:
20476         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
20477         (gst_queue_loop), (gst_queue_src_activate):
20478         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
20479         (gst_task_get_state):
20480         * gst/gsttask.h:
20481         * gst/schedulers/threadscheduler.c:
20482         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
20483         Implement gst_pad_pause/start/stop_task(), take STREAM lock
20484         in task function.
20485         Remove ACTIVE pad flag, use FLUSHING everywhere
20486         Added _pad_chain(), _pad_get_range() to call chain/getrange 
20487         functions.
20488         Add locks around IS_FLUSHING when reading.
20489         Take STREAM lock in chain(), get_range() functions so plugins
20490         don't need to take it anymore.
20491         
20492
20493
20494 2005-05-25  Wim Taymans  <wim@fluendo.com>
20495
20496         * tools/gst-launch.c: (event_loop):
20497         Unref message after using its contents instead of
20498         before.
20499
20500 2005-05-24  Wim Taymans  <wim@fluendo.com>
20501
20502         * docs/design/draft-ghostpads.txt:
20503         * docs/design/draft-push-pull.txt:
20504         * docs/design/draft-query.txt:
20505         * docs/design/part-overview.txt:
20506         Docs updates, added general overview doc.
20507
20508 2005-05-21  David Schleef  <ds@schleef.org>
20509
20510         * docs/gst/tmpl/old/GstBin.sgml:
20511         * docs/gst/tmpl/old/GstBuffer.sgml:
20512         * docs/gst/tmpl/old/GstCaps.sgml:
20513         * docs/gst/tmpl/old/GstClock.sgml:
20514         * docs/gst/tmpl/old/GstCompat.sgml:
20515         * docs/gst/tmpl/old/GstData.sgml:
20516         * docs/gst/tmpl/old/GstElement.sgml:
20517         * docs/gst/tmpl/old/GstEvent.sgml:
20518         * docs/gst/tmpl/old/GstIndex.sgml:
20519         * docs/gst/tmpl/old/GstStructure.sgml:
20520         * docs/gst/tmpl/old/GstTag.sgml:
20521         * docs/gst/tmpl/old/cothreads.sgml:
20522         * docs/gst/tmpl/old/cothreads_compat.sgml:
20523         * docs/gst/tmpl/old/gettext.sgml:
20524         * docs/gst/tmpl/old/gobject2gtk.sgml:
20525         * docs/gst/tmpl/old/grammar.tab.sgml:
20526         * docs/gst/tmpl/old/gst-i18n-app.sgml:
20527         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
20528         * docs/gst/tmpl/old/gst_private.sgml:
20529         * docs/gst/tmpl/old/gstaggregator.sgml:
20530         * docs/gst/tmpl/old/gstarch.sgml:
20531         * docs/gst/tmpl/old/gstatomic_impl.sgml:
20532         * docs/gst/tmpl/old/gstbufferstore.sgml:
20533         * docs/gst/tmpl/old/gstdata_private.sgml:
20534         * docs/gst/tmpl/old/gstdisksink.sgml:
20535         * docs/gst/tmpl/old/gstdisksrc.sgml:
20536         * docs/gst/tmpl/old/gstelementfactory.sgml:
20537         * docs/gst/tmpl/old/gstextratypes.sgml:
20538         * docs/gst/tmpl/old/gstfakesink.sgml:
20539         * docs/gst/tmpl/old/gstfakesrc.sgml:
20540         * docs/gst/tmpl/old/gstfdsink.sgml:
20541         * docs/gst/tmpl/old/gstfdsrc.sgml:
20542         * docs/gst/tmpl/old/gstfilesink.sgml:
20543         * docs/gst/tmpl/old/gstfilesrc.sgml:
20544         * docs/gst/tmpl/old/gsthttpsrc.sgml:
20545         * docs/gst/tmpl/old/gstidentity.sgml:
20546         * docs/gst/tmpl/old/gstindexfactory.sgml:
20547         * docs/gst/tmpl/old/gstmarshal.sgml:
20548         * docs/gst/tmpl/old/gstmd5sink.sgml:
20549         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
20550         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
20551         * docs/gst/tmpl/old/gstpadtemplate.sgml:
20552         * docs/gst/tmpl/old/gstpipefilter.sgml:
20553         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
20554         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
20555         * docs/gst/tmpl/old/gstshaper.sgml:
20556         * docs/gst/tmpl/old/gstspider.sgml:
20557         * docs/gst/tmpl/old/gstspideridentity.sgml:
20558         * docs/gst/tmpl/old/gststatistics.sgml:
20559         * docs/gst/tmpl/old/gsttee.sgml:
20560         * docs/gst/tmpl/old/gsttimecache.sgml:
20561         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
20562         * docs/gst/tmpl/old/gstxmlregistry.sgml:
20563         * docs/gst/tmpl/old/gthread-cothreads.sgml:
20564         * docs/gst/tmpl/old/types.sgml:
20565           I didn't intend to add these or check them in.
20566
20567 2005-05-19  David Schleef  <ds@schleef.org>
20568
20569         * configure.ac: Use -no-common everywhere.  In a sane world, it
20570           would be the default in libtool, because without it, you can't
20571           build DLLs on Windows.
20572         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
20573         * docs/gst/gstreamer-sections.txt:
20574         * docs/gst/tmpl/gstcpu.sgml:
20575         * docs/gst/tmpl/gstdata.sgml:
20576         * docs/gst/tmpl/gstthread.sgml:
20577
20578 2005-05-19  David Schleef  <ds@schleef.org>
20579
20580         * gst/gstminiobject.c: (gst_value_set_mini_object),
20581         (gst_value_take_mini_object), (gst_value_get_mini_object):
20582         * gst/gstminiobject.h: Add GValue set/get functions.
20583
20584 2005-05-19  Wim Taymans  <wim@fluendo.com>
20585
20586         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
20587         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
20588         (gst_subbuffer_init), (gst_buffer_is_span_fast):
20589         * gst/gstbuffer.h:
20590         * gst/gstbus.c: (gst_bus_post):
20591         * gst/gstelement.c: (gst_element_get_random_pad):
20592         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
20593         Make subbufer unref the parent in finalize.
20594         some more debugging info.
20595
20596
20597 2005-05-19  Wim Taymans  <wim@fluendo.com>
20598
20599         * gst/base/gstbasesink.c: (gst_basesink_class_init),
20600         (gst_basesink_init), (gst_basesink_finalize),
20601         (gst_basesink_activate), (gst_basesink_change_state):
20602         Don't free preroll queue too early.
20603
20604 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20605
20606         * gst/Makefile.am:
20607         * gst/ROADMAP:
20608           Hi, I'm outdated. Please shoot me.
20609
20610 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20611
20612         * gst/gstpipeline.c: (gst_pipeline_send_event):
20613           Do not access variables after they have been deleted.
20614
20615 2005-05-19  Wim Taymans  <wim@fluendo.com>
20616
20617         * tools/gst-inspect.c: (print_plugin_features):
20618         A plugin feature does unfortunatly not use the
20619         object name yet...
20620
20621 2005-05-18  Wim Taymans  <wim@fluendo.com>
20622
20623         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
20624         Port _span() functions to new subbuffers.
20625
20626 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20627
20628         * gst/gstbin.c: (gst_bin_add_func):
20629           Fix clock settery in bins when adding kids after the clock has
20630           been selected.
20631
20632 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20633
20634         * gst/elements/gstidentity.c: (gst_identity_class_init):
20635           Workaround until signals support GstMiniObject.
20636
20637 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
20638
20639         * gst/gstbuffer.c:
20640         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
20641
20642 2005-05-18  Wim Taymans  <wim@fluendo.com>
20643
20644         * gst/base/Makefile.am:
20645         * gst/base/gstadapter.c: (gst_adapter_base_init),
20646         (gst_adapter_class_init), (gst_adapter_init),
20647         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
20648         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
20649         (gst_adapter_flush), (gst_adapter_available),
20650         (gst_adapter_available_fast):
20651         * gst/base/gstadapter.h:
20652         Ported and added adapter to the base classes.
20653
20654 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
20655
20656         * gst/gst.c:
20657         * gst/gstmessage.c:
20658           Make sure the class is reffed/unreffed once before threads can be
20659           used.  Fixes #304551.
20660
20661 2005-05-17  Wim Taymans  <wim@fluendo.com>
20662
20663         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
20664         (gst_basesink_chain_unlocked), (gst_basesink_activate):
20665         * gst/gstminiobject.c: (gst_mini_object_get_type),
20666         (gst_mini_object_free):
20667         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
20668         (gst_pad_push), (gst_pad_push_event):
20669         * gst/gstqueue.c: (gst_queue_change_state):
20670         Don't queue buffers in basesink when we are flushing.
20671         Unref buffer when flushing in basesink.
20672         Flush queue when going to READY
20673         Unref buffer when _push() returns an error.
20674         Don't free MiniObject instance when refcount is incremented
20675         in _finalize() so that we can recover objects.
20676
20677 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
20678
20679         * docs/manual/advanced-schedulers.xml:
20680         * docs/manual/appendix-checklist.xml:
20681         * docs/pwg/advanced-clock.xml:
20682         * docs/pwg/advanced-interfaces.xml:
20683         * docs/pwg/advanced-request.xml:
20684         * docs/pwg/advanced-types.xml:
20685         * docs/pwg/intro-preface.xml:
20686         * examples/plugins/example.c: (gst_example_get_type),
20687         (gst_example_class_init), (gst_example_chain),
20688         (gst_example_set_property), (gst_example_get_property),
20689         (gst_example_change_state), (plugin_init):
20690         * examples/plugins/example.h:
20691           small doc fixes
20692
20693 2005-05-17  Wim Taymans  <wim@fluendo.com>
20694
20695         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
20696         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
20697         * gst/gstqueue.c: (gst_queue_change_state):
20698         Clear queue when going to READY.
20699         Remove IN_SETCAPS flag too.
20700
20701 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
20702
20703         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
20704           Remove implicit cast from gboolean to GstElementStateReturn;
20705           make sure we still return failure in paused => ready case if
20706           the parent class fails to change state and our own stop 
20707           vfunc succeeds.
20708
20709 2005-05-17  Wim Taymans  <wim@fluendo.com>
20710
20711         * tools/gst-launch.c: (event_loop):
20712         Message was unreffed too soon.
20713
20714 2005-05-16  Andy Wingo  <wingo@pobox.com>
20715
20716         * gst/gstbin.c (sink_iterator_filter): Err... um...
20717
20718         * check/gst/gstbin.c (test_ghost_pads): New test for the
20719         ghosting-if-elements-not-in-same-bin behavior.
20720
20721 2005-05-16  David Schleef  <ds@schleef.org>
20722
20723         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
20724         accessing refcount directly.
20725
20726 2005-05-15  David Schleef  <ds@schleef.org>
20727
20728         * check/Makefile.am: remove GstData checks
20729         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
20730         * gst/Makefile.am: add miniobject, remove data
20731         * gst/gst.h: add miniobject, remove data
20732         * gst/gstdata.c: remove
20733         * gst/gstdata.h: remove
20734         * gst/gstdata_private.h: remove
20735         * gst/gsttypes.h: remove GstEvent and GstMessage
20736         * gst/gstelement.c: (gst_element_post_message): fix for API changes
20737         * gst/gstmarshal.list: change BOXED -> OBJECT
20738
20739         Implement GstMiniObject.
20740         * gst/gstminiobject.c:
20741         * gst/gstminiobject.h:
20742
20743         Modify to be subclasses of GstMiniObject.
20744         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
20745         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
20746         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
20747         (gst_subbuffer_get_type), (gst_subbuffer_init),
20748         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
20749         (gst_buffer_span):
20750         * gst/gstbuffer.h:
20751         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
20752         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
20753         (_gst_event_copy), (gst_event_new):
20754         * gst/gstevent.h:
20755         * gst/gstmessage.c: (_gst_message_initialize),
20756         (gst_message_get_type), (gst_message_class_init),
20757         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
20758         (gst_message_new), (gst_message_new_error),
20759         (gst_message_new_warning), (gst_message_new_tag),
20760         (gst_message_new_state_changed), (gst_message_new_application):
20761         * gst/gstmessage.h:
20762         * gst/gstprobe.c: (gst_probe_perform),
20763         (gst_probe_dispatcher_dispatch):
20764         * gst/gstprobe.h:
20765         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
20766         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
20767         (_gst_query_copy), (gst_query_new):
20768
20769         Update elements for GstData -> GstMiniObject changes
20770         * gst/gstquery.h:
20771         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
20772         (gst_queue_chain), (gst_queue_loop):
20773         * gst/elements/gstbufferstore.c:
20774         (gst_buffer_store_add_buffer_func),
20775         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
20776         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
20777         (gst_fakesink_render):
20778         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
20779         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
20780         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
20781         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
20782         (gst_filesrc_create_read):
20783         * gst/elements/gstidentity.c: (gst_identity_class_init):
20784         * gst/elements/gsttypefindelement.c:
20785         (gst_type_find_element_src_event), (free_entry_buffers),
20786         (gst_type_find_element_handle_event):
20787         * libs/gst/dataprotocol/dataprotocol.c:
20788         (gst_dp_header_from_buffer):
20789         * libs/gst/dataprotocol/dataprotocol.h:
20790         * libs/gst/dataprotocol/dp-private.h:
20791
20792 2005-05-15  David Schleef  <ds@schleef.org>
20793
20794         * gst/elements/gstelements.c: Don't include headers that were
20795         just removed.
20796
20797 2005-05-15  David Schleef  <ds@schleef.org>
20798
20799         * gst/elements/Makefile.am: Remove some elements that don't
20800         need to be in the core (or even exist at all).
20801         * gst/elements/gstaggregator.c:
20802         * gst/elements/gstaggregator.h:
20803         * gst/elements/gstmd5sink.c:
20804         * gst/elements/gstmd5sink.h:
20805         * gst/elements/gstmultifilesrc.c:
20806         * gst/elements/gstmultifilesrc.h:
20807         * gst/elements/gstpipefilter.c:
20808         * gst/elements/gstpipefilter.h:
20809         * gst/elements/gstshaper.c:
20810         * gst/elements/gstshaper.h:
20811         * gst/elements/gststatistics.c:
20812         * gst/elements/gststatistics.h:
20813         * po/POTFILES.in: Remove above files.
20814
20815 2005-05-14  Andy Wingo  <wingo@pobox.com>
20816
20817         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
20818         so as to get the refs right.
20819         (sink_iterator_filter): New function, wraps bin_element_is_sink,
20820         unreffing objects that don't pass the filter.
20821
20822         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
20823         gst_element_set_bus.
20824         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
20825         normal cases, this will destroy the bus.
20826
20827         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
20828         object.
20829
20830         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
20831         has no sinks.
20832
20833 2005-05-13  Andy Wingo  <wingo@pobox.com>
20834
20835         * gst/gstutils.c (gst_element_link_pads): Instead of calling
20836         gst_pad_link, call pad_link_maybe_ghosting,
20837         (pad_link_maybe_ghosting): Links pads, making sure that the
20838         elements being linked are in the same bin.
20839         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
20840         Helpers for pad_link_maybe_ghosting.
20841
20842 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
20843
20844         * configure.ac:
20845           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
20846
20847 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
20848
20849         * docs/design/part-element-source.txt:
20850           Mention GstPushSrc
20851
20852 2005-05-12  Wim Taymans  <wim@fluendo.com>
20853
20854         * gst/base/gstbasesink.c: (gst_basesink_init),
20855         (gst_basesink_activate):
20856         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
20857         (gst_basesrc_is_seekable):
20858         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
20859         (bin_element_is_sink), (gst_bin_change_state):
20860         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
20861         * gst/gstelement.h:
20862         Identify sinks by their flag to avoid overly complicated
20863         checks (fow now).
20864         Do state changes even for elements not reachable from the
20865         sinks.
20866         BaseSink is a sink now :)
20867         Some more debugging info in the basesrc.
20868
20869
20870 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20871
20872         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
20873           Implement _query on a bin, similar to _send_event.
20874
20875 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
20876
20877         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
20878           Discont event offset format should be GST_FORMAT_BYTES,
20879           not GST_FORMAT_TIME.
20880
20881 2005-05-12  Wim Taymans  <wim@fluendo.com>
20882
20883         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
20884         Same fix as Ronald's but without the signal. 
20885
20886 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20887
20888         * gst/gstutils.c: (gst_element_query_position):
20889           No, an element is not a pad.
20890
20891 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20892
20893         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
20894         (gst_bin_get_state):
20895           If a child is removed from a bin while we remove the child from
20896           the bin and while we're retrieving its state, signal this to the
20897           get_state function so we abort the wait (instead of waiting for
20898           a timeout) and can immediately re-iterate over all other elements.
20899
20900 2005-05-12  Wim Taymans  <wim@fluendo.com>
20901
20902         * gst/base/Makefile.am:
20903         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
20904         (gst_basesrc_start):
20905         * gst/base/gstbasesrc.h:
20906         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
20907         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
20908         (gst_pushsrc_init), (gst_pushsrc_create):
20909         * gst/base/gstpushsrc.h:
20910         Added is_seekable to BaseSrc
20911         Added simple PushSrc.
20912
20913 2005-05-11  Wim Taymans  <wim@fluendo.com>
20914
20915         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
20916         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
20917         (gst_element_link_pads), (gst_element_query_position),
20918         (gst_element_query_convert), (intersect_caps_func),
20919         (gst_pad_query_position), (gst_pad_query_convert):
20920         Fix refcounting in utils function.
20921         No point in trying to activate a pad when it's added, it could
20922         be added from the state change function and then we deadlock, the
20923         element has to decide what to do.
20924
20925 2005-05-10  Andy Wingo  <wingo@pobox.com>
20926
20927         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
20928         *all* the arguments.
20929
20930         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
20931         stream lock if it's a FLUSH_DONE; normal flushes don't get the
20932         lock (according to the docs -- if this is wrong change the docs).
20933
20934         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
20935         flush messages in the NULL state.
20936
20937         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
20938         message immediately and return.
20939         (gst_bus_set_flushing): New function. If a bus is flushing, it
20940         flushes out any queued messages and immediately unrefs new
20941         messages. This is so when an element goes to NULL, all of the
20942         unhandled messages coming from it can be freed, and their
20943         references to the element dropped. In other words: message source
20944         ref considered harmful :P
20945
20946         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
20947         we're finished with it.
20948
20949         * gst/gstmessage.c (gst_message_new_state_changed): 
20950
20951 2005-05-10  Wim Taymans  <wim@fluendo.com>
20952
20953         * gst/gstvalue.c: (gst_value_compare_flags),
20954         (gst_value_serialize_flags), (gst_value_deserialize_flags),
20955         (_gst_value_initialize):
20956         Added flags serialize/deserialize/compare code.
20957
20958 2005-05-09  Andy Wingo  <wingo@pobox.com>
20959
20960         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
20961         Intersect the peer's caps with our caps.
20962
20963 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20964
20965         * gst/base/gsttypefindhelper.c: (helper_find_peek):
20966         * gst/elements/gsttypefindelement.c: (find_peek):
20967           Handle negative offsets better. Fixes decodebin.
20968
20969 2005-05-09  Wim Taymans  <wim@fluendo.com>
20970
20971         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
20972         (gst_base_transform_event):
20973         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
20974         Implement accept_caps.
20975         Fix silly lock/unlock mismatch in base class.
20976
20977 2005-05-09  Wim Taymans  <wim@fluendo.com>
20978
20979         * docs/design/draft-push-pull.txt:
20980         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
20981         * gst/elements/gstfilesink.c: (gst_filesink_init),
20982         (gst_filesink_query):
20983         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
20984         (gst_type_find_handle_src_query), (find_element_get_length):
20985         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
20986         * gst/gstelement.h:
20987         * gst/gstmessage.c:
20988         * gst/gstmessage.h:
20989         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
20990         (gst_real_pad_get_caps_unlocked),
20991         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
20992         (gst_pad_event_default_dispatch), (gst_pad_event_default),
20993         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
20994         (gst_real_pad_dispose), (gst_real_pad_finalize),
20995         (gst_pad_load_and_link), (gst_pad_save_thyself),
20996         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
20997         (gst_pad_check_pull_range), (gst_pad_pull_range),
20998         (gst_pad_template_get_type), (gst_pad_template_class_init),
20999         (gst_pad_template_init), (gst_pad_template_dispose),
21000         (name_is_valid), (gst_static_pad_template_get),
21001         (gst_pad_template_new), (gst_static_pad_template_get_caps),
21002         (gst_pad_template_get_caps), (gst_pad_set_element_private),
21003         (gst_pad_get_element_private), (gst_pad_start_task),
21004         (gst_pad_pause_task), (gst_pad_stop_task),
21005         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
21006         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
21007         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
21008         (gst_ghost_pad_new):
21009         * gst/gstpad.h:
21010         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
21011         (gst_query_new_position), (gst_query_set_position),
21012         (gst_query_parse_position), (gst_query_new_convert),
21013         (gst_query_set_convert), (gst_query_parse_convert):
21014         * gst/gstquery.h:
21015         * gst/gstqueryutils.c:
21016         * gst/gstqueryutils.h:
21017         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
21018         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
21019         (gst_queue_handle_src_query):
21020         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
21021         (gst_element_query_position), (gst_element_query_convert),
21022         (intersect_caps_func), (gst_pad_query_position),
21023         (gst_pad_query_convert):
21024         * gst/gstutils.h:
21025         * tools/gst-inspect.c: (print_pad_info):
21026         * tools/gst-xmlinspect.c: (print_element_info):
21027         Remove old query functions. Ported old code.
21028         Added position/convert helper functions to gstutils.
21029         Reordered gstpad.c code, grouping relevant things.
21030         Remove gst_message_new(), always need to speficy a specific
21031         message.
21032
21033
21034 2005-05-09  Andy Wingo  <wingo@pobox.com>
21035
21036         * gst/gstiterator.h: Add some includes.
21037
21038         * gst/gstqueryutils.h: Include more headers.
21039
21040         * gst/gstpad.h:
21041         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
21042         some uses of gst_pad_query.
21043
21044         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
21045         NULL out parameters.
21046         (gst_query_new_position): New proc, allocates a new position
21047         query.
21048
21049         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
21050         gstqueryutils.c to the build.
21051
21052         * gst/gststructure.c (gst_structure_set_valist): Implement with
21053         the generic G_VALUE_COLLECT.
21054         
21055 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
21056
21057         * gst/Makefile.am: (gst_headers):
21058         Added gstqueryutils.h to the list of headers to install, that was
21059         a 'nachty' move wingo :)
21060
21061 2005-05-06  Andy Wingo  <wingo@pobox.com>
21062
21063         * gst/gstquery.h
21064         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
21065         GstData, init a memchunk.
21066         (standard_definitions): Add a few query types, deprecate a few.
21067         (gst_query_get_type): New proc.
21068         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
21069         implementation.
21070         (gst_query_new_application, gst_query_get_structure): New public
21071         procs.
21072
21073         * docs/design/draft-query.txt: Removed LINKS from the query types,
21074         because all the rest can be dispatched to other pads -- seemed
21075         ugly to have a query that couldn't be dispatched. internal_links
21076         is fine as a pad method.
21077
21078         * gst/gstpad.h: Add query2 as a pad method, add the new functions
21079         in gstpad.c, but maintain binary compatibility for the moment.
21080         Will fix before 0.9 is out.
21081
21082         * gst/gstqueryutils.c: 
21083         * gst/gstqueryutils.h: New files, implement 3 methods for each
21084         query type: parse_query, parse_response, and set. Probably need an
21085         allocator as well.
21086
21087         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
21088
21089         * gst/elements/gstfilesink.c (gst_filesink_query2):
21090         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
21091         query_types, and formats methods.
21092
21093         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
21094         (gst_pad_set_query2_function): New functions.
21095         (gst_real_pad_init): Set query2_default as the default query2
21096         function. Basically just dispatches to internally linked pads.
21097
21098         Needs review!
21099         
21100         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
21101         without using the atomic operations. Only one thread can possibly
21102         be accessing the data at this point. Changed so as to avoid
21103         gst_atomic operations.
21104
21105 2005-05-06  Wim Taymans  <wim@fluendo.com>
21106
21107         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
21108         Also set caps if we use the fallback buffer alloc.
21109
21110 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
21111
21112         * docs/gst/Makefile.am:
21113         * docs/gst/gstreamer-docs.sgml:
21114         * docs/gst/gstreamer-sections.txt:
21115         * docs/gst/tmpl/gstatomic.sgml:
21116         * docs/gst/tmpl/gstmemchunk.sgml:
21117         * testsuite/elements/struct_i386.h:
21118         * win32/GStreamer.vcproj:
21119         * win32/Makefile:
21120           Purge GstAtomic stuff from docs and win32 makefiles as well
21121
21122 2005-05-06  Wim Taymans  <wim@fluendo.com>
21123
21124         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
21125         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
21126         * gst/gstpad.c: (gst_pad_peer_get_caps):
21127         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
21128         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
21129         (gst_queue_src_activate), (gst_queue_change_state):
21130         * gst/gstqueue.h:
21131         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
21132         (intersect_caps_func):
21133         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
21134         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
21135         Some fixes for the peer_get_caps() change.
21136
21137 2005-05-06  Wim Taymans  <wim@fluendo.com>
21138
21139         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
21140         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
21141         (gst_basesink_activate):
21142         Actually do something with error codes returned from the push
21143         functions.
21144
21145 2005-05-06  Wim Taymans  <wim@fluendo.com>
21146
21147         * docs/design/part-element-sink.txt:
21148         * docs/design/part-element-source.txt:
21149         * gst/base/gstbasesink.c: (gst_basesink_class_init),
21150         (gst_basesink_event), (gst_basesink_activate):
21151         * gst/base/gstbasesink.h:
21152         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
21153         (gst_basesrc_activate):
21154         * gst/base/gstbasesrc.h:
21155         * gst/gstelement.c: (gst_element_pads_activate):
21156         Some more documentation.
21157         Fixed scheduling decision in _pads_activate().
21158
21159 2005-05-05  Andy Wingo  <wingo@pobox.com>
21160
21161         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
21162         the test suite.
21163
21164 2005-05-05  Wim Taymans  <wim@fluendo.com>
21165
21166         * gst/base/Makefile.am:
21167         * gst/base/gstbasesink.h:
21168         * gst/base/gstbasesrc.c: (gst_basesrc_init),
21169         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
21170         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
21171         (gst_collectpads_class_init), (gst_collectpads_init),
21172         (gst_collectpads_finalize), (gst_collectpads_new),
21173         (gst_collectpads_set_function), (gst_collectpads_add_pad),
21174         (find_pad), (gst_collectpads_remove_pad),
21175         (gst_collectpads_is_active), (gst_collectpads_collect),
21176         (gst_collectpads_collect_range), (gst_collectpads_start),
21177         (gst_collectpads_stop), (gst_collectpads_peek),
21178         (gst_collectpads_pop), (gst_collectpads_available),
21179         (gst_collectpads_read), (gst_collectpads_flush),
21180         (gst_collectpads_chain):
21181         * gst/base/gstcollectpads.h:
21182         * gst/elements/Makefile.am:
21183         * gst/elements/gstelements.c:
21184         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
21185         (gst_fakesink_get_times), (gst_fakesink_event),
21186         (gst_fakesink_preroll), (gst_fakesink_render):
21187         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
21188         (gst_filesink_init), (gst_filesink_set_location),
21189         (gst_filesink_open_file), (gst_filesink_close_file),
21190         (gst_filesink_pad_query), (gst_filesink_event),
21191         (gst_filesink_render), (gst_filesink_change_state):
21192         * gst/elements/gstfilesink.h:
21193         Added object to help in making collect pad based elements.
21194         Ported filesink.
21195         Make event function in sink baseclass return gboolean.
21196
21197 2005-05-05  Wim Taymans  <wim@fluendo.com>
21198
21199         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
21200         (gst_bin_get_by_name):
21201         * gst/gstbuffer.h:
21202         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
21203         (gst_clock_finalize):
21204         * gst/gstdata.c: (gst_data_replace):
21205         * gst/gstdata.h:
21206         * gst/gstelement.c: (gst_element_request_pad),
21207         (gst_element_pads_activate):
21208         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
21209         (gst_object_unref):
21210         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
21211         (gst_pad_set_checkgetrange_function),
21212         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
21213         (gst_pad_check_pull_range), (gst_pad_pull_range),
21214         (gst_static_pad_template_get_caps), (gst_pad_start_task),
21215         (gst_pad_pause_task), (gst_pad_stop_task):
21216         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
21217         (gst_element_request_pad), (gst_pad_proxy_getcaps):
21218         Fix name lookup in GstBin.
21219         Added _data_replace() function and _buffer_replace()
21220         Use finalize method to clean up clock.
21221         Fix refcounting on request pads.
21222         Fix pad schedule mode error.
21223         Some more object refcounting debug info,
21224
21225
21226 2005-05-04  Andy Wingo <wingo@pobox.com>
21227
21228         * check/Makefile.am:
21229         * docs/gst/tmpl/gstatomic.sgml:
21230         * docs/gst/tmpl/gstplugin.sgml:
21231         * gst/base/gstbasesink.c: (gst_basesink_activate):
21232         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
21233         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
21234         (gst_basesrc_query), (gst_basesrc_set_property),
21235         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
21236         (gst_basesrc_activate):
21237         * gst/base/gstbasesrc.h:
21238         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
21239         (gst_base_transform_src_activate):
21240         * gst/elements/gstelements.c:
21241         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
21242         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
21243         * gst/elements/gsttee.c: (gst_tee_sink_activate):
21244         * gst/elements/gsttypefindelement.c: (find_element_get_length),
21245         (gst_type_find_element_checkgetrange),
21246         (gst_type_find_element_activate):
21247         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
21248         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
21249         (gst_caps_load_thyself):
21250         * gst/gstelement.c: (gst_element_pads_activate),
21251         (gst_element_save_thyself), (gst_element_restore_thyself):
21252         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
21253         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
21254         * gst/gstpad.h:
21255         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
21256         (gst_xml_parse_file), (gst_xml_parse_memory),
21257         (gst_xml_get_element), (gst_xml_make_element):
21258         * gst/indexers/gstfileindex.c: (gst_file_index_load),
21259         (_file_index_id_save_xml), (gst_file_index_commit):
21260         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
21261         (read_enum), (load_pad_template), (load_feature), (load_plugin),
21262         (load_paths):
21263         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
21264         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
21265         * tools/gst-complete.c: (main):
21266         * tools/gst-compprep.c: (main):
21267         * tools/gst-inspect.c: (print_element_properties_info):
21268         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
21269         * tools/gst-xmlinspect.c: (print_element_properties):
21270         GCC 4 fixen.
21271         
21272 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
21273
21274         * gst/gstplugin.c: (gst_plugin_check_module),
21275         (gst_plugin_check_file), (gst_plugin_load_file):
21276             apply patch from #172526 to make register work on MacOSX
21277
21278 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
21279
21280         * docs/gst/tmpl/gstconfig.sgml:
21281         * gst/gstconfig.h.in:
21282           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
21283         * testsuite/debug/printf_extension.c: (main):
21284           Do not use GST_PTR_FORMAT on pointers to types with
21285           sizeof < sizeof(gpointer).  Fixes test on 64-bit
21286         * testsuite/elements/property.h:
21287           use correct printf format
21288
21289 2005-05-02  Wim Taymans  <wim@fluendo.com>
21290
21291         * docs/design/draft-push-pull.txt:
21292         * docs/design/draft-query.txt:
21293         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
21294         (gst_basesrc_start):
21295         Added draft for new query API.
21296         Added draft for better selecting scheduling methods.
21297         Make basesrc ignore length if the subclass does not support
21298         it.
21299
21300 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
21301
21302         * gst/Makefile.am:
21303           possible fixes for automake-1.5 - _LIBADD is reserved
21304
21305 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
21306
21307         * docs/faq/Makefile.am:
21308         * docs/manual/Makefile.am:
21309         * docs/manuals.mak:
21310         * docs/pwg/Makefile.am:
21311         * gst/Makefile.am:
21312           possible fixes for automake-1.5
21313
21314 2005-04-28  Wim Taymans  <wim@fluendo.com>
21315
21316         * gst/base/gstbasesink.c: (gst_basesink_base_init),
21317         (gst_basesink_pad_getcaps), (gst_basesink_init),
21318         (gst_basesink_do_sync):
21319         * gst/gstclock.c: (gst_clock_entry_new):
21320         * gst/gstevent.c: (gst_event_discont_get_value):
21321         * gst/gstpipeline.c: (pipeline_bus_handler),
21322         (gst_pipeline_change_state):
21323         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
21324         Better debugging of clocking info.
21325         Allow NULL values when getting discont values.
21326
21327 2005-04-27  Wim Taymans  <wim@fluendo.com>
21328
21329         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
21330         * check/gst/gstpad.c: (gst_pad_suite):
21331         Increase timeout for checks.
21332
21333 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
21334
21335         * check/Makefile.am:
21336           fix the broken rule for cleanup.  Apparently this rule is
21337           only needed on FC2, so maybe this warrants further autotool
21338           inspection.
21339
21340 2005-04-26  Wim Taymans  <wim@fluendo.com>
21341
21342         * gst/gsttrashstack.h:
21343         Ooohh. a nasty one! After having a failed pop() from the stack,
21344         it's possible that the stack is empty. In that case, don't
21345         follow the NULL pointer.
21346
21347 2005-04-25  Wim Taymans  <wim@fluendo.com>
21348
21349         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
21350         (gst_pad_set_checkgetrange_function),
21351         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
21352         (gst_pad_check_pull_range), (gst_pad_pull_range),
21353         (gst_static_pad_template_get_caps), (gst_pad_start_task),
21354         (gst_pad_pause_task), (gst_pad_stop_task):
21355         * gst/gstplugin.c: (gst_plugin_load):
21356         * gst/gstplugin.h:
21357         Remove gst_library_load as it does more harm than good with
21358         the new g_module flags.
21359         Revert bogus caps template check in pad linking, pad caps
21360         are important when linking not the template, which is more
21361         general than the current caps.
21362
21363 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21364
21365         * gst/autoplug/.cvsignore:
21366         * gst/autoplug/Makefile.am:
21367         * gst/autoplug/gstsearchfuncs.c:
21368         * gst/autoplug/gstsearchfuncs.h:
21369         * gst/autoplug/gstspider.c:
21370         * gst/autoplug/gstspider.h:
21371         * gst/autoplug/gstspideridentity.c:
21372         * gst/autoplug/gstspideridentity.h:
21373         * gst/autoplug/spidertest.c:
21374           Die, spider, die.
21375
21376 2005-04-25  Wim Taymans  <wim@fluendo.com>
21377
21378         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
21379         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
21380         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
21381         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
21382         * gst/gstpad.h:
21383         Added stubs for unimplemented functions. 
21384
21385 2005-04-24  David Schleef  <ds@schleef.org>
21386
21387         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
21388         please fix.
21389
21390 2005-04-24  David Schleef  <ds@schleef.org>
21391
21392         Convert everything from GstAtomicInt to g_atomic_int_*, and
21393         remove gstatomic.
21394         * gst/Makefile.am:
21395         * gst/gstatomic.c:
21396         * gst/gstatomic.h:
21397         * gst/gstatomic_impl.h:
21398         * gst/gstbuffer.c:
21399         * gst/gstcaps.c:
21400         * gst/gstcaps.h:
21401         * gst/gstclock.c:
21402         * gst/gstclock.h:
21403         * gst/gstdata.c:
21404         * gst/gstdata.h:
21405         * gst/gstdata_private.h:
21406         * gst/gstevent.c:
21407         * gst/gstinfo.c:
21408         * gst/gstinfo.h:
21409         * gst/gstmessage.c:
21410         * gst/gstobject.c:
21411         * gst/gstobject.h:
21412         * gst/gststructure.c:
21413         * gst/gststructure.h:
21414         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
21415         * gst/gstutils.h:
21416
21417 2005-04-24  David Schleef  <ds@schleef.org>
21418
21419         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
21420         make the regressions tests work.  Remove some code that is no
21421         longer true.
21422         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
21423         Disable warning for pads without templates.
21424
21425 2005-04-24  David Schleef  <ds@schleef.org>
21426
21427         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
21428         functions that handle filtered links.
21429         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
21430         removed functions.
21431         * gst/gstutils.c: Fix/remove utility functions that handle
21432         filtered caps.
21433         * gst/gstutils.h:
21434         * gst/gstvalue.c: Add serialization/deserialization of caps
21435         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
21436         requires fixing so that the filter caps notation creates
21437         a capsfilter element and sets the filter_caps property.  I
21438         think everyone probably wants to keep the shorthand notation.
21439         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
21440         * docs/gst/tmpl/gstpad.sgml:
21441
21442         * gst/elements/gstelements.c: Register capsfilter element.
21443         * gst/Makefile.am: fix spacing
21444         * docs/random/ds/0.9-suggested-changes: random
21445
21446 2005-04-23  David Schleef  <ds@schleef.org>
21447
21448         * gst/elements/Makefile.am:
21449         * gst/elements/gstcapsfilter.c: New element that acts like an
21450         identity, but filters caps.  Will eventually replace filtered
21451         caps in pad linking.
21452         * gst/gstutils.c: (gst_element_create_all_pads): New function
21453         to create all the ALWAYS pads that are registered with an
21454         element class.  This functionality should eventually be
21455         merged in with GstElement initialization.
21456         * gst/gstutils.h:
21457         * testsuite/trigger/README: part of trigger test code that should
21458         have been checked in a long time ago.
21459
21460 2005-04-23  David Schleef  <ds@schleef.org>
21461
21462         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
21463         needed with new versions of libtool (nobody will confirm this),
21464         and hard to carry around.
21465         * gst/autoplug/Makefile.am:
21466         * gst/base/Makefile.am:
21467         * gst/elements/Makefile.am:
21468         * gst/indexers/Makefile.am:
21469         * gst/schedulers/Makefile.am:
21470         * libs/gst/bytestream/Makefile.am:
21471         * libs/gst/control/Makefile.am:
21472         * libs/gst/dataprotocol/Makefile.am:
21473         * libs/gst/getbits/Makefile.am:
21474
21475 2005-04-21  Wim Taymans  <wim@fluendo.com>
21476
21477         * docs/design/draft-push-pull.txt:
21478         * docs/design/part-MT-refcounting.txt:
21479         * docs/design/part-TODO.txt:
21480         * docs/design/part-caps.txt:
21481         * docs/design/part-events.txt:
21482         * docs/design/part-gstbus.txt:
21483         * docs/design/part-gstpipeline.txt:
21484         * docs/design/part-messages.txt:
21485         * docs/design/part-push-pull.txt:
21486         * docs/design/part-query.txt:
21487         Some more docs.
21488
21489 2005-04-21  Wim Taymans  <wim@fluendo.com>
21490
21491         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
21492         (gst_message_new), (gst_message_new_error),
21493         (gst_message_new_warning), (gst_message_new_tag),
21494         (gst_message_new_state_changed), (gst_message_new_application),
21495         (gst_message_get_structure):
21496         * gst/gstmessage.h:
21497         * gst/gststructure.c: (gst_structure_set_parent_refcount),
21498         (gst_structure_copy_conditional):
21499         Use parent refcount in GstMessage to ensure GstStructure
21500         consistency.
21501         Cleaned up headers a bit.
21502         
21503
21504 2005-04-20  Wim Taymans  <wim@fluendo.com>
21505
21506         * gst/base/gstbasesink.c: (gst_basesink_base_init),
21507         (gst_basesink_pad_getcaps), (gst_basesink_init),
21508         (gst_basesink_chain_unlocked):
21509         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
21510         (gst_type_find_helper):
21511         * gst/elements/gsttypefindelement.c:
21512         (gst_type_find_element_have_type), (gst_type_find_element_init),
21513         (stop_typefinding), (gst_type_find_element_handle_event),
21514         (find_suggest), (gst_type_find_element_chain),
21515         (gst_type_find_element_checkgetrange),
21516         (gst_type_find_element_getrange), (do_typefind),
21517         (gst_type_find_element_activate):
21518         * gst/gstbuffer.c: (_gst_buffer_sub_free),
21519         (gst_buffer_default_free), (gst_buffer_default_copy),
21520         (gst_buffer_set_caps):
21521         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
21522         (gst_caps_replace):
21523         * gst/gstmessage.c: (gst_message_new),
21524         (gst_message_new_state_changed):
21525         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
21526         (gst_pad_set_checkgetrange_function),
21527         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
21528         (gst_pad_set_caps), (gst_pad_check_pull_range),
21529         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
21530         * gst/gstpad.h:
21531         * gst/gsttypefind.c: (gst_type_find_register):
21532         Make gst_caps_replace() work like other _replace() functions.
21533         Use _caps_replace() where possible.
21534         Make sure _message_new() initialises its field.
21535         Add gst_static_pad_template_get_caps()
21536
21537
21538 2005-04-18  Andy Wingo  <wingo@pobox.com>
21539
21540         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
21541         on the peer, not the pad. I think that was a typo. Pass an extra
21542         arg to see if random access is possible. Activate the pads as
21543         PULL_RANGE if possible.
21544
21545         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
21546
21547         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
21548         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
21549         to PROP_....
21550
21551 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21552
21553         * docs/faq/using.xml:
21554           Add note on gstreamer-properties (#154996).
21555
21556 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21557
21558         * docs/random/bbb/optional-properties:
21559           Some analysis on optional properties.
21560
21561 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21562
21563         * docs/gst/tmpl/gstelementfactory.sgml:
21564         * gst/gstelement.h:
21565         * gst/gstelementfactory.c: (gst_element_factory_init),
21566         (gst_element_factory_cleanup), (gst_element_register),
21567         (__gst_element_factory_add_static_pad_template),
21568         (gst_element_factory_get_static_pad_templates),
21569         (gst_element_factory_can_src_caps),
21570         (gst_element_factory_can_sink_caps):
21571         * gst/registries/Makefile.am:
21572         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
21573         (gst_xml_registry_class_init), (gst_xml_registry_init),
21574         (gst_xml_registry_new), (gst_xml_registry_set_property),
21575         (gst_xml_registry_get_property), (get_time), (make_dir),
21576         (gst_xml_registry_get_perms_func),
21577         (plugin_times_older_than_recurse), (plugin_times_older_than),
21578         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
21579         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
21580         (add_to_char_array), (read_string), (read_uint), (read_enum),
21581         (load_pad_template), (load_feature), (load_plugin), (load_paths),
21582         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
21583         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
21584         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
21585         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
21586         (gst_xml_registry_rebuild):
21587         * gst/registries/gstlibxmlregistry.h:
21588         * tools/gst-compprep.c: (main):
21589         * tools/gst-inspect.c: (print_pad_templates_info):
21590         * tools/gst-xmlinspect.c: (print_element_info):
21591           Use libxml2 for registry parsing, use staticpadtemplates in
21592           elementfactories. Makes gst_init() +/- 10x faster.
21593
21594 2005-04-12  Wim Taymans  <wim@fluendo.com>
21595
21596         * gst/base/Makefile.am:
21597         * gst/base/gstbasesink.c: (gst_basesink_base_init),
21598         (gst_basesink_pad_getcaps), (gst_basesink_init),
21599         (gst_basesink_event), (gst_basesink_change_state):
21600         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
21601         (gst_basesrc_init), (gst_basesrc_query),
21602         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
21603         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
21604         (gst_basesrc_check_get_range), (gst_basesrc_loop),
21605         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
21606         (gst_basesrc_stop), (gst_basesrc_activate),
21607         (gst_basesrc_change_state):
21608         * gst/base/gsttypefindhelper.c: (helper_find_peek),
21609         (helper_find_suggest), (gst_type_find_helper):
21610         * gst/base/gsttypefindhelper.h:
21611         * gst/elements/Makefile.am:
21612         * gst/elements/gstelements.c:
21613         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
21614         (gst_fakesink_get_times), (gst_fakesink_event),
21615         (gst_fakesink_preroll), (gst_fakesink_render):
21616         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
21617         (gst_fakesrc_init), (gst_fakesrc_event_handler),
21618         (gst_fakesrc_get_property), (gst_fakesrc_create),
21619         (gst_fakesrc_start), (gst_fakesrc_stop):
21620         * gst/elements/gstfakesrc.h:
21621         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
21622         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
21623         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
21624         (gst_filesrc_create_read), (gst_filesrc_create),
21625         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
21626         (gst_filesrc_start):
21627         * gst/elements/gsttypefindelement.c:
21628         (gst_type_find_element_have_type), (gst_type_find_element_init),
21629         (start_typefinding), (stop_typefinding), (push_buffer_store),
21630         (gst_type_find_element_handle_event),
21631         (gst_type_find_element_chain),
21632         (gst_type_find_element_checkgetrange),
21633         (gst_type_find_element_getrange), (do_typefind),
21634         (gst_type_find_element_activate),
21635         (gst_type_find_element_change_state):
21636         * gst/elements/gsttypefindelement.h:
21637         * gst/gstpipeline.c: (pipeline_bus_handler):
21638         Added typefind helper.
21639         Small preroll fix in the base sink.
21640         Disable typefind code in basesrc.
21641         Crude port of typefindelement.
21642         Fakesrc cleanups.
21643
21644
21645 2005-04-11  Wim Taymans  <wim@fluendo.com>
21646
21647         * check/gst/gstbus.c: (gstbus_suite):
21648         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
21649         * check/gstcheck.h:
21650           Fix up the timeout so that the test does not fail.
21651
21652 2005-04-06  Wim Taymans  <wim@fluendo.com>
21653
21654         * gst/base/README:
21655         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
21656         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
21657         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
21658         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
21659         (gst_basesrc_check_get_range), (gst_basesrc_loop),
21660         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
21661         (gst_basesrc_stop), (gst_basesrc_activate),
21662         (gst_basesrc_change_state), (basesrc_find_peek),
21663         (basesrc_find_suggest), (gst_basesrc_type_find):
21664         * gst/base/gstbasesrc.h:
21665         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
21666         (gst_filesrc_class_init), (gst_filesrc_init),
21667         (gst_filesrc_finalize), (gst_filesrc_set_location),
21668         (gst_filesrc_set_property), (gst_filesrc_get_property),
21669         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
21670         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
21671         (gst_filesrc_create_read), (gst_filesrc_create),
21672         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
21673         * gst/elements/gstfilesrc.h:
21674         * gst/gstelement.c: (gst_element_get_state_func),
21675         (gst_element_lost_state), (gst_element_pads_activate):
21676         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
21677         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
21678         (gst_pad_pull_range):
21679         * gst/gstpad.h:
21680         More work on the generic source base class, implement seeking,
21681         query.
21682         Make filesrc extend the base source class.
21683         Added gst_pad_set_checkgetrange_function to GstPad.
21684
21685 2005-04-06  Andy Wingo  <wingo@pobox.com>
21686
21687         * pkgconfig/gstreamer-base.pc.in:
21688         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
21689
21690         * pkgconfig/Makefile.am:
21691         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
21692
21693 2005-04-04  Wim Taymans  <wim@fluendo.com>
21694
21695         * gst/base/Makefile.am:
21696         * gst/base/README:
21697         * gst/base/gstbasesink.c: (gst_basesink_base_init),
21698         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
21699         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
21700         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
21701         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
21702         (gst_basesrc_base_init), (gst_basesrc_class_init),
21703         (gst_basesrc_init), (gst_basesrc_get_formats),
21704         (gst_basesrc_get_query_types), (gst_basesrc_query),
21705         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
21706         (gst_basesrc_set_property), (gst_basesrc_get_property),
21707         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
21708         (gst_basesrc_loop), (gst_basesrc_activate),
21709         (gst_basesrc_change_state):
21710         * gst/base/gstbasesrc.h:
21711         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
21712         (gst_fakesrc_class_init), (gst_fakesrc_init),
21713         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
21714         (gst_fakesrc_get_property), (gst_fakesrc_create):
21715         * gst/elements/gstfakesrc.h:
21716         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
21717         (gst_filesrc_open_file), (gst_filesrc_loop),
21718         (gst_filesrc_activate), (filesrc_find_peek),
21719         (gst_filesrc_type_find):
21720         Made base source class, make fakesrc extend it.
21721         Add comments to basesink class.
21722         Some filesrc cleanup.
21723
21724 2005-03-31  David Schleef  <ds@schleef.org>
21725
21726         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
21727         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
21728         expected to link against libgstreamer.
21729         * gst/base/Makefile.am: link against libgstreamer
21730         * gst/elements/Makefile.am: same
21731
21732 2005-03-31  Andy Wingo  <wingo@pobox.com>
21733
21734         * tests/instantiate/Makefile.am:
21735         * tests/instantiate/caps.c: Add test to test speed of caps copy
21736         and free.
21737
21738         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
21739         GMemChunk to be fair.
21740
21741         * gst/gsttrashstack.h: Remove warning about using the fallback
21742         trash stack implementation, it's still faster than malloc.
21743
21744 2005-03-30  Andy Wingo  <wingo@pobox.com>
21745
21746         * tests/complexity.c: Add a copyright.
21747
21748 2005-03-31  Wim Taymans  <wim@fluendo.com>
21749
21750         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
21751         (gst_base_transform_class_init), (gst_base_transform_init),
21752         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
21753         (gst_base_transform_get_property),
21754         (gst_base_transform_sink_activate),
21755         (gst_base_transform_src_activate),
21756         (gst_base_transform_change_state):
21757         * gst/base/gstbasetransform.h:
21758         * gst/elements/gstidentity.c: (gst_identity_class_init),
21759         (gst_identity_event), (gst_identity_check_perfect),
21760         (gst_identity_transform), (gst_identity_start),
21761         (gst_identity_stop):
21762         Added start/stop methods to transform base class so subclasses 
21763         don't need to deal with state changes even.
21764
21765 2005-03-31  Wim Taymans  <wim@fluendo.com>
21766
21767         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
21768         (gst_event_new_discontinuous), (gst_event_discont_get_value):
21769         * gst/gstevent.h:
21770         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
21771         (gst_pad_pull_range):
21772         Added rate to the discont event to prepare for variable speed
21773         and reverse playback.
21774
21775 2005-03-29  David Schleef  <ds@schleef.org>
21776
21777         * configure.ac:
21778         * testsuite/trigger/Makefile.am:
21779         * testsuite/trigger/trigger.c: A little example program to show
21780         how trigger-based elements can work.
21781
21782 2005-03-29  Wim Taymans  <wim@fluendo.com>
21783
21784         * gst/base/Makefile.am:
21785         * gst/base/README:
21786         * gst/base/gstbasesink.c: (gst_basesink_get_type),
21787         (gst_basesink_base_init), (gst_basesink_class_init),
21788         (gst_basesink_pad_getcaps), (gst_basesink_init),
21789         (gst_basesink_activate), (gst_basesink_change_state):
21790         * gst/base/gstbasesink.h:
21791         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
21792         (gst_base_transform_base_init), (gst_base_transform_finalize),
21793         (gst_base_transform_class_init), (gst_base_transform_init),
21794         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
21795         (gst_base_transform_event), (gst_base_transform_getrange),
21796         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
21797         (gst_base_transform_set_property),
21798         (gst_base_transform_get_property),
21799         (gst_base_transform_sink_activate),
21800         (gst_base_transform_src_activate),
21801         (gst_base_transform_change_state):
21802         * gst/base/gstbasetransform.h:
21803         * gst/elements/gstidentity.c: (gst_identity_finalize),
21804         (gst_identity_class_init), (gst_identity_init),
21805         (gst_identity_event), (gst_identity_check_perfect),
21806         (gst_identity_transform), (gst_identity_set_property),
21807         (gst_identity_get_property), (gst_identity_change_state):
21808         * gst/elements/gstidentity.h:
21809         * gst/gstelement.c: (gst_element_get_state_func),
21810         (gst_element_lost_state), (gst_element_pads_activate):
21811         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
21812         (gst_pad_check_pull_range), (gst_pad_pull_range):
21813         * gst/gstpad.h:
21814         Simplify pad activation.
21815         Added function to check if pull_range can be performed.
21816         Error out when pulling inactive or flushing pads.
21817         Removed const from refcounted types as it does not make sense.
21818         Simplify pad templates in basesink
21819         Added base class for simple 1-to-1 transforms.
21820         Make identity subclass the base transform.
21821
21822 2005-03-29  Andy Wingo  <wingo@pobox.com>
21823
21824         * docs/libs/gstreamer-libs-overrides.txt: 
21825         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
21826         really don't understand what's going on, but like whatever. I want
21827         green buildbot!
21828
21829         * docs/gst/Makefile.am:
21830         * docs/libs/Makefile.am: Dist the overrides files.
21831
21832         * check/Makefile.am (clean-local): Remove .libs directories.
21833
21834         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
21835         elements to EXTRA_DIST, so po/ files are happy.
21836
21837         * po/POTFILES.in: Er, remove it here.
21838
21839         * po/POTFILES: Remove gstspider.c.
21840
21841         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
21842
21843         * docs/libs/gstreamer-libs-docs.sgml: 
21844         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
21845         bytestream.
21846
21847         * tests/complexity.c (main): Set the length of the preroll queue
21848         on the sinks to prevent a lockup.
21849
21850         * libs/gst/dataprotocol/Makefile.am: 
21851         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
21852         the same as the one in check/gst-libs/gdp.c.
21853
21854         * po/, docs/gst/: Commit automatic changes to docs and po files.
21855
21856         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
21857         the versioned libgstbase.
21858
21859         * check/Makefile.am: Depend on an unversioned gst-register, seems
21860         to make autoconf happier.
21861
21862         * gst/base/Makefile.am: Make libgstbase a versioned lib.
21863
21864 2005-03-28  Wim Taymans  <wim@fluendo.com>
21865
21866         * configure.ac:
21867         * docs/design/part-gstelement.txt:
21868         * docs/design/part-negotiation.txt:
21869         * docs/design/part-preroll.txt:
21870         * docs/design/part-scheduling.txt:
21871         * docs/design/part-states.txt:
21872         * gst/Makefile.am:
21873         * gst/base/Makefile.am:
21874         * gst/base/README:
21875         * gst/base/gstbasesink.c: (gst_basesink_get_template),
21876         (gst_basesink_base_init), (gst_basesink_class_init),
21877         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
21878         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
21879         (gst_basesink_set_pad_functions),
21880         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
21881         (gst_basesink_set_property), (gst_basesink_get_property),
21882         (gst_base_sink_get_template), (gst_base_sink_get_caps),
21883         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
21884         (gst_basesink_preroll_queue_push),
21885         (gst_basesink_preroll_queue_empty),
21886         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
21887         (gst_basesink_event), (gst_basesink_get_times),
21888         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
21889         (gst_basesink_chain_unlocked), (gst_basesink_chain),
21890         (gst_basesink_loop), (gst_basesink_activate),
21891         (gst_basesink_change_state):
21892         * gst/base/gstbasesink.h:
21893         * gst/elements/Makefile.am:
21894         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
21895         (gst_fakesink_class_init), (gst_fakesink_init),
21896         (gst_fakesink_set_property), (gst_fakesink_get_property),
21897         (gst_fakesink_get_times), (gst_fakesink_event),
21898         (gst_fakesink_preroll), (gst_fakesink_render),
21899         (gst_fakesink_change_state):
21900         * gst/elements/gstfakesink.h:
21901         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
21902         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
21903         * gst/gstelement.c: (gst_element_add_pad),
21904         (gst_element_get_state_func), (gst_element_abort_state),
21905         (gst_element_commit_state), (gst_element_lost_state),
21906         (gst_element_set_state), (gst_element_pads_activate):
21907         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
21908         * gst/gstpipeline.c: (gst_pipeline_send_event),
21909         (gst_pipeline_change_state):
21910         Added state change code.
21911         Added/updated docs.
21912         Added sink base class, make fakesink extend the base class.
21913         Small cleanups in GstPipeline.
21914
21915 2005-03-26  David Schleef  <ds@schleef.org>
21916
21917         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
21918         is broken and should be implemented in a different library.
21919         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
21920         * gst/gst.h: remove gstcpu.h
21921         * gst/gstcpu.c: remove
21922         * gst/gstcpu.h: remove
21923         * gst/Makefile.am.future: Remove this file.  It's ancient.
21924
21925 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21926
21927         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
21928         (gst_bin_send_event):
21929           Add default event/set_manager handlers. The set_manager handler
21930           takes care that the manager is distributed over kids that were
21931           already in the bin before the manager was set. The event handler
21932           is a utility virtual function that sends the event over all sinks,
21933           so that gst_element_send_event (bin, event); has the expected
21934           behaviour.
21935         * gst/gstpad.c: (gst_pad_event_default):
21936           Re-install default event handling for discontinuities, so that
21937           seeking works without requiring hacks in applications or extra
21938           code in sinks.
21939         * gst/gstpipeline.c: (gst_pipeline_class_init),
21940         (gst_pipeline_send_event):
21941           Half hack, half utility: set a pipeline to PAUSED for seek events,
21942           since that is the only way we can guarantee a/v sync. Means that
21943           you can do gst_element_seek (pipeline, method, pos); on a pipeline
21944           and it "just works".
21945
21946 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21947
21948         * gst/gstpipeline.c: (gst_pipeline_use_clock):
21949           Lock/unlock mismatch.
21950
21951 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
21952
21953         * docs/faq/gst-uninstalled:
21954           add gst-plugins-base
21955         * docs/gst/Makefile.am:
21956           don't error out until docs are fixed
21957         * docs/gst/gstreamer.types:
21958           remove thread
21959
21960 2005-03-22  Wim Taymans  <wim@fluendo.com>
21961
21962         * check/Makefile.am:
21963         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
21964         * gst/gststructure.c: (gst_structure_set_valist),
21965         (gst_structure_copy_conditional):
21966         Activated more tests.
21967         Added message test.
21968         Added G_TYPE_POINTER to GstStructure.
21969         
21970
21971 2005-03-22  Wim Taymans  <wim@fluendo.com>
21972
21973         * docs/design/part-TODO.txt:
21974         * docs/design/part-events.txt:
21975         * docs/design/part-gstbin.txt:
21976         * docs/design/part-gstbus.txt:
21977         * docs/design/part-gstpipeline.txt:
21978         * docs/design/part-messages.txt:
21979         * gst/gstbus.c:
21980         * gst/gstmessage.c:
21981         Docs updates
21982
21983 2005-03-21  Wim Taymans  <wim@fluendo.com>
21984
21985         * gst/gstbus.c: (gst_bus_post):
21986         Fix copy-and-paste error.
21987
21988 2005-03-21  Wim Taymans  <wim@fluendo.com>
21989
21990         * check/Makefile.am:
21991         * gst/Makefile.am:
21992         * gst/elements/Makefile.am:
21993         * gst/elements/gstelements.c:
21994         * gst/elements/gstfakesink.c: (gst_fakesink_init),
21995         (gst_fakesink_event), (gst_fakesink_chain):
21996         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
21997         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
21998         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
21999         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
22000         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
22001         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
22002         (gst_fakesrc_loop), (gst_fakesrc_activate),
22003         (gst_fakesrc_change_state):
22004         * gst/elements/gstfakesrc.h:
22005         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
22006         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
22007         (gst_filesrc_open_file), (gst_filesrc_loop),
22008         (gst_filesrc_activate), (gst_filesrc_change_state),
22009         (filesrc_find_peek), (filesrc_find_suggest),
22010         (gst_filesrc_type_find):
22011         * gst/elements/gstidentity.c: (gst_identity_finalize),
22012         (gst_identity_class_init), (gst_identity_init),
22013         (gst_identity_proxy_getcaps), (identity_queue_push),
22014         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
22015         (gst_identity_getrange), (gst_identity_chain),
22016         (gst_identity_sink_loop), (gst_identity_src_loop),
22017         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
22018         (gst_identity_set_property), (gst_identity_get_property),
22019         (gst_identity_change_state):
22020         * gst/elements/gstidentity.h:
22021         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
22022         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
22023         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
22024         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
22025         (gst_tee_sink_activate):
22026         * gst/elements/gsttee.h:
22027         * gst/gst.c: (gst_register_core_elements), (init_post):
22028         * gst/gst.h:
22029         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
22030         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
22031         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
22032         (gst_bin_change_state):
22033         * gst/gstbin.h:
22034         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
22035         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
22036         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
22037         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
22038         (gst_bus_set_sync_handler), (gst_bus_create_watch),
22039         (bus_watch_callback), (bus_watch_destroy),
22040         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
22041         (poll_timeout), (gst_bus_poll):
22042         * gst/gstbus.h:
22043         * gst/gstcaps.h:
22044         * gst/gstdata.h:
22045         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
22046         (gst_element_post_message), (gst_element_message_full),
22047         (gst_element_get_state_func), (gst_element_get_state),
22048         (gst_element_abort_state), (gst_element_commit_state),
22049         (gst_element_lost_state), (gst_element_set_state),
22050         (gst_element_pads_activate), (gst_element_change_state),
22051         (gst_element_dispose), (gst_element_set_manager_func),
22052         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
22053         (gst_element_set_manager), (gst_element_get_manager),
22054         (gst_element_set_bus), (gst_element_get_bus),
22055         (gst_element_set_scheduler), (gst_element_get_scheduler):
22056         * gst/gstelement.h:
22057         * gst/gstevent.c: (gst_event_new_segment_seek),
22058         (gst_event_new_flush):
22059         * gst/gstevent.h:
22060         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
22061         (_gst_message_free), (gst_message_get_type), (gst_message_new),
22062         (gst_message_new_eos), (gst_message_new_error),
22063         (gst_message_new_warning), (gst_message_new_tag),
22064         (gst_message_new_state_changed), (gst_message_new_application),
22065         (gst_message_get_structure), (gst_message_parse_tag),
22066         (gst_message_parse_state_changed), (gst_message_parse_error),
22067         (gst_message_parse_warning):
22068         * gst/gstmessage.h:
22069         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
22070         (gst_real_pad_set_property), (gst_pad_set_active),
22071         (gst_pad_is_active), (gst_pad_set_blocked_async),
22072         (gst_pad_set_blocked), (gst_pad_is_blocked),
22073         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
22074         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
22075         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
22076         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
22077         (gst_pad_link_filtered), (gst_pad_relink_filtered),
22078         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
22079         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
22080         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
22081         (gst_pad_set_caps), (gst_pad_configure_sink),
22082         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
22083         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
22084         (gst_real_pad_dispose), (gst_real_pad_finalize),
22085         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
22086         (gst_pad_event_default_dispatch), (gst_pad_event_default),
22087         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
22088         * gst/gstpad.h:
22089         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
22090         (pipeline_bus_handler), (gst_pipeline_change_state),
22091         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
22092         * gst/gstpipeline.h:
22093         * gst/gstprobe.h:
22094         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
22095         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
22096         (gst_queue_link_src), (gst_queue_bufferalloc),
22097         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
22098         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
22099         (gst_queue_loop), (gst_queue_handle_src_event),
22100         (gst_queue_handle_src_query), (gst_queue_src_activate),
22101         (gst_queue_change_state):
22102         * gst/gstqueue.h:
22103         * gst/gstscheduler.c: (gst_scheduler_init),
22104         (gst_scheduler_dispose), (gst_scheduler_create_task),
22105         (gst_scheduler_factory_create):
22106         * gst/gstscheduler.h:
22107         * gst/gststructure.c: (gst_structure_get_type),
22108         (gst_structure_copy_conditional):
22109         * gst/gststructure.h:
22110         * gst/gsttaginterface.h:
22111         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
22112         (gst_task_init), (gst_task_dispose), (gst_task_create),
22113         (gst_task_get_state), (gst_task_start), (gst_task_stop),
22114         (gst_task_pause):
22115         * gst/gsttask.h:
22116         * gst/gstthread.c:
22117         * gst/gstthread.h:
22118         * gst/gsttypes.h:
22119         * gst/schedulers/Makefile.am:
22120         * gst/schedulers/cothreads_compat.h:
22121         * gst/schedulers/entryscheduler.c:
22122         * gst/schedulers/faircothreads.c:
22123         * gst/schedulers/faircothreads.h:
22124         * gst/schedulers/fairscheduler.c:
22125         * gst/schedulers/gstbasicscheduler.c:
22126         * gst/schedulers/gstoptimalscheduler.c:
22127         * gst/schedulers/gthread-cothreads.h:
22128         * gst/schedulers/threadscheduler.c:
22129         (gst_thread_scheduler_task_get_type),
22130         (gst_thread_scheduler_task_class_init),
22131         (gst_thread_scheduler_task_init),
22132         (gst_thread_scheduler_task_start),
22133         (gst_thread_scheduler_task_stop),
22134         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
22135         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
22136         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
22137         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
22138         (plugin_init):
22139         * libs/gst/Makefile.am:
22140         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
22141         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
22142         (gst_file_pad_parent_set):
22143         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
22144         (gst_dp_event_from_packet):
22145         * tests/complexity.c: (main):
22146         * tests/mass_elements.c: (main):
22147         * testsuite/states/locked.c: (message_received), (main):
22148         * testsuite/states/parent.c: (main):
22149         * tools/gst-inspect.c: (print_element_flag_info),
22150         (print_implementation_info), (print_pad_info):
22151         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
22152         (main):
22153         * tools/gst-md5sum.c: (event_loop), (main):
22154         * tools/gst-typefind.c: (main):
22155         * tools/gst-xmlinspect.c: (print_element_info):
22156         Next big merge.
22157         Added GstBus for mainloop integration.
22158         Added GstMessage for sending notifications on the bus.
22159         Added GstTask as an abstraction for pipeline entry points.
22160         Removed GstThread.
22161         Removed Schedulers.
22162         Simplified GstQueue for multithreaded core.
22163         Made _link threadsafe, removed old capsnego.
22164         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
22165         Added pad blocking functions.
22166         Reworked scheduling functions in GstPad to prepare for
22167         scheduling updates soon.
22168         Moved events out of data stream.
22169         Simplified GstEvent types.
22170         Added return values to push/pull.
22171         Removed clocking from GstElement.
22172         Added prototypes for state change function for next merge.
22173         Removed iterate from bins and state change management.
22174         Fixed some elements, disabled others for now.
22175         Fixed -inspect and -launch.
22176         Added check for GstBus.
22177
22178 2005-03-10  Wim Taymans  <wim@fluendo.com>
22179
22180         * docs/design/part-MT-refcounting.txt:
22181         * docs/design/part-clocks.txt:
22182         * docs/design/part-gstelement.txt:
22183         * docs/design/part-gstobject.txt:
22184         * docs/design/part-standards.txt:
22185         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
22186         (gst_bin_remove_func), (gst_bin_remove):
22187         * gst/gstbin.h:
22188         * gst/gstbuffer.c:
22189         * gst/gstcaps.h:
22190         * testsuite/clock/clock1.c: (main):
22191         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
22192         (main):
22193         * testsuite/dlopen/loadgst.c: (do_test):
22194         * testsuite/refcounting/bin.c: (add_remove_test1),
22195         (add_remove_test2), (main):
22196         * testsuite/refcounting/element.c: (main):
22197         * testsuite/refcounting/element_pad.c: (main):
22198         * testsuite/refcounting/pad.c: (main):
22199         * tools/gst-launch.c: (sigint_handler_sighandler):
22200         * tools/gst-typefind.c: (main):
22201         Doc updates.
22202         Added doc about clock.
22203         removed gst_bin_iterate_recurse_up(), marked methods
22204         for removal.
22205         Fix more testsuites.
22206
22207 2005-03-09  Wim Taymans  <wim@fluendo.com>
22208
22209         * gst/gstpad.c: (gst_pad_get_direction),
22210         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
22211         (gst_pad_collect_valist):
22212         * testsuite/bins/interface.c: (main):
22213         * testsuite/caps/audioscale.c: (test_caps):
22214         * testsuite/caps/caps.c: (test1), (test2), (test3):
22215         * testsuite/caps/deserialize.c: (main):
22216         * testsuite/caps/enumcaps.c: (main):
22217         * testsuite/caps/filtercaps.c: (main):
22218         * testsuite/caps/intersect2.c: (main):
22219         * testsuite/caps/random.c: (main):
22220         * testsuite/caps/renegotiate.c: (my_fixate), (main):
22221         * testsuite/caps/sets.c: (check_caps):
22222         * testsuite/caps/simplify.c: (check_caps), (main):
22223         * testsuite/caps/subtract.c: (check_caps):
22224         Fix _pad_get_direction wrt ghostpads.
22225         Fix caps testsuite.
22226
22227 2005-03-09  Wim Taymans  <wim@fluendo.com>
22228
22229         * check/Makefile.am:
22230         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
22231         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
22232         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
22233         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
22234         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
22235         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
22236         (gst_bin_remove), (gst_bin_iterate_recurse_up),
22237         (bin_element_is_sink), (gst_bin_iterate_sinks),
22238         (gst_bin_iterate_all_by_interface):
22239         * gst/gstbin.h:
22240         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
22241         (gst_element_change_state), (gst_element_dispose),
22242         (gst_element_finalize), (gst_element_set_loop_function):
22243         * gst/gstelement.h:
22244         * gst/gstiterator.c: (find_custom_fold_func):
22245         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
22246         (gst_pad_collectv), (gst_pad_collect_valist),
22247         (gst_pad_template_new):
22248         * gst/gstpipeline.c: (gst_pipeline_class_init),
22249         (gst_pipeline_dispose), (gst_pipeline_set_property),
22250         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
22251         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
22252         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
22253         * gst/gstutils.h:
22254         * gst/schedulers/entryscheduler.c:
22255         * gst/schedulers/gstbasicscheduler.c:
22256         (gst_basic_scheduler_cothreaded_chain),
22257         (gst_basic_scheduler_chain_add_element):
22258         * testsuite/bins/interface.c: (main):
22259         Added GstBin test.
22260         Added GstSystemClock test.
22261         Implemented clock distribution code in GstBin.
22262         Implemented iterate sinks method for future use.
22263         Rearranged gstelement.h
22264         Fix GstIterator comparison bug.
22265         Moved some code to GstPipeline, mostly clocking related.
22266
22267 2005-03-09  Wim Taymans  <wim@fluendo.com>
22268
22269         * configure.ac:
22270         * gst/gst_private.h:
22271         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
22272         (gst_bin_remove_func), (gst_bin_remove),
22273         (gst_bin_get_by_name_recurse_up):
22274         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
22275         (gst_clock_id_compare_func), (gst_clock_id_wait),
22276         (gst_clock_id_wait_async), (gst_clock_init),
22277         (gst_clock_adjust_unlocked), (gst_clock_get_time):
22278         * gst/gstelement.h:
22279         * gst/gstinfo.c: (_gst_debug_init):
22280         * gst/gstobject.h:
22281         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
22282         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
22283         * gst/gstpad.h:
22284         Bump version number, we're now 0.9.0
22285         Add future debugging category.
22286         Fix NULL _unref() in _get_by_name_recurse_up
22287         Rearrange gstpad.h.
22288         Update some docs.
22289
22290 2005-03-08  Wim Taymans  <wim@fluendo.com>
22291
22292         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
22293         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
22294         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
22295         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
22296         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
22297         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
22298         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
22299         * gst/elements/gstidentity.c: (gst_identity_class_init):
22300         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
22301         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
22302         * gst/elements/gstshaper.c: (gst_shaper_class_init):
22303         * gst/elements/gststatistics.c: (gst_statistics_class_init):
22304         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
22305         (gst_tee_link):
22306         * gst/gstelement.c: (gst_element_class_init),
22307         (gst_element_base_class_init), (gst_element_init),
22308         (gst_element_get_random_pad), (gst_element_wait_state_change),
22309         (gst_element_change_state), (gst_element_dispose),
22310         (gst_element_finalize), (gst_element_set_loop_function):
22311         * gst/gstelement.h:
22312         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
22313         * gst/gstthread.c: (gst_thread_class_init),
22314         (gst_thread_release_children_locks), (gst_thread_change_state):
22315         * gst/schedulers/gstbasicscheduler.c:
22316         (gst_basic_scheduler_loopfunc_wrapper),
22317         (gst_basic_scheduler_chain_wrapper),
22318         (gst_basic_scheduler_src_wrapper),
22319         (gst_basic_scheduler_remove_element):
22320         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
22321         Remove threadsafe properties. Fix elements because GObject
22322         complains when installing a property before declaring a
22323         set/get_property handler.
22324         Rearrange gstelement.h file, use STATE macros for state locks.
22325         Free mutexes in the finalize method instead of dispose.
22326
22327 2005-03-08  Wim Taymans  <wim@fluendo.com>
22328
22329         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
22330         * gst/gstthread.c: (gst_thread_release_children_locks):
22331         Added parentage check.
22332         Fix build og GstThread again.
22333
22334 2005-03-08  Wim Taymans  <wim@fluendo.com>
22335
22336         * docs/design/part-MT-refcounting.txt:
22337         * docs/design/part-conventions.txt:
22338         * docs/design/part-gstobject.txt:
22339         * docs/design/part-relations.txt:
22340         * docs/design/part-standards.txt:
22341         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
22342         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
22343         (gst_bin_get_by_name), (gst_bin_get_by_interface),
22344         (gst_bin_iterate_all_by_interface):
22345         * gst/gstbuffer.h:
22346         * gst/gstclock.h:
22347         * gst/gstelement.c: (gst_element_class_init),
22348         (gst_element_change_state), (gst_element_set_loop_function):
22349         * gst/gstelement.h:
22350         * gst/gstiterator.c:
22351         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
22352         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
22353         (gst_object_dispatch_properties_changed), (gst_object_set_name),
22354         (gst_object_set_parent), (gst_object_unparent),
22355         (gst_object_check_uniqueness):
22356         * gst/gstobject.h:
22357         Docs updates, clean up some headers.
22358
22359 2005-03-07  Wim Taymans  <wim@fluendo.com>
22360
22361         * check/.cvsignore:
22362         * check/Makefile.am:
22363         * check/gst-libs/.cvsignore:
22364         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
22365         * check/gst/.cvsignore:
22366         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
22367         (START_TEST), (gstbus_suite), (main):
22368         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
22369         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
22370         (gst_data_suite), (main):
22371         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
22372         (add_fold_func), (gstiterator_suite), (main):
22373         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
22374         (thread_name_object), (thread_name_object_default),
22375         (gst_object_name_compare), (gst_object_suite), (main):
22376         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
22377         (gst_pad_suite), (main):
22378         * check/gstcheck.c: (gst_check_log_message_func),
22379         (gst_check_log_critical_func), (gst_check_init):
22380         * check/gstcheck.h:
22381         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
22382         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
22383         Added checks.
22384
22385 2005-03-07  Wim Taymans  <wim@fluendo.com>
22386
22387         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
22388         (gst_list_iterator_next), (gst_list_iterator_resync),
22389         (gst_list_iterator_free), (gst_iterator_new_list),
22390         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
22391         (gst_iterator_free), (gst_iterator_push), (filter_next),
22392         (filter_resync), (filter_uninit), (filter_free),
22393         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
22394         (gst_iterator_foreach), (find_custom_fold_func),
22395         (gst_iterator_find_custom):
22396         * gst/gstiterator.h:
22397         Added missing files.
22398
22399 2005-03-07  Wim Taymans  <wim@fluendo.com>
22400
22401         * Makefile.am:
22402         * configure.ac:
22403         * docs/design/part-MT-refcounting.txt:
22404         * docs/design/part-conventions.txt:
22405         * docs/design/part-gstobject.txt:
22406         * docs/design/part-relations.txt:
22407         * examples/mixer/mixer.c: (main):
22408         * examples/thread/thread.c: (eos), (main):
22409         * gst/Makefile.am:
22410         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
22411         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
22412         (gst_spider_plug_from_srcpad):
22413         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
22414         (gst_spider_identity_change_state),
22415         (gst_spider_identity_sink_loop_type_finding):
22416         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
22417         * gst/elements/gstidentity.c: (gst_identity_init):
22418         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
22419         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
22420         * gst/elements/gsttypefindelement.c: (free_entry):
22421         * gst/gst.c:
22422         * gst/gst.h:
22423         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
22424         (gst_bin_set_clock_func), (gst_bin_auto_clock),
22425         (gst_bin_set_index), (gst_bin_set_element_sched),
22426         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
22427         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
22428         (gst_bin_iterate_elements), (iterate_child_recurse),
22429         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
22430         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
22431         (compare_interface), (gst_bin_get_by_interface),
22432         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
22433         * gst/gstbin.h:
22434         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
22435         (gst_buffer_default_free), (gst_buffer_default_copy),
22436         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
22437         (gst_buffer_create_sub):
22438         * gst/gstbuffer.h:
22439         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
22440         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
22441         (gst_caps_unref), (gst_static_caps_get),
22442         (gst_caps_remove_and_get_structure), (gst_caps_append),
22443         (gst_caps_append_structure), (gst_caps_remove_structure),
22444         (gst_caps_copy_nth), (gst_caps_set_simple),
22445         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
22446         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
22447         (gst_caps_structure_intersect_field), (gst_caps_intersect),
22448         (gst_caps_structure_subtract_field), (gst_caps_subtract),
22449         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
22450         (gst_caps_structure_figure_out_union),
22451         (gst_caps_switch_structures), (gst_caps_do_simplify),
22452         (gst_caps_replace), (gst_caps_from_string),
22453         (gst_caps_copy_conditional):
22454         * gst/gstcaps.h:
22455         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
22456         (_gst_clock_id_free), (gst_clock_id_unref),
22457         (gst_clock_id_compare_func), (gst_clock_id_wait),
22458         (gst_clock_id_wait_async), (gst_clock_class_init),
22459         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
22460         (gst_clock_get_time), (gst_clock_set_time_adjust),
22461         (gst_clock_set_property), (gst_clock_get_property):
22462         * gst/gstclock.h:
22463         * gst/gstcompat.h:
22464         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
22465         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
22466         * gst/gstdata.h:
22467         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
22468         (gst_element_requires_clock), (gst_element_provides_clock),
22469         (gst_element_set_clock), (gst_element_clock_wait),
22470         (gst_element_wait), (gst_element_set_time_delay),
22471         (gst_element_is_indexable), (gst_element_add_pad),
22472         (gst_element_add_ghost_pad), (gst_element_remove_pad),
22473         (pad_compare_name), (gst_element_get_static_pad),
22474         (gst_element_request_pad), (gst_element_get_request_pad),
22475         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
22476         (gst_element_class_get_pad_template_list),
22477         (gst_element_class_get_pad_template), (gst_element_error_func),
22478         (gst_element_get_random_pad), (gst_element_get_event_masks),
22479         (gst_element_send_event), (gst_element_seek),
22480         (gst_element_get_query_types), (gst_element_query),
22481         (gst_element_get_formats), (gst_element_convert),
22482         (gst_element_is_locked_state), (gst_element_set_locked_state),
22483         (gst_element_sync_state_with_parent), (gst_element_change_state),
22484         (gst_element_finalize), (gst_element_yield),
22485         (gst_element_interrupt), (gst_element_set_scheduler),
22486         (gst_element_get_scheduler), (gst_element_set_loop_function):
22487         * gst/gstelement.h:
22488         * gst/gstevent.h:
22489         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
22490         (gst_format_get_by_nick), (gst_format_get_details),
22491         (gst_format_iterate_definitions):
22492         * gst/gstformat.h:
22493         * gst/gstindex.c: (gst_index_gtype_resolver):
22494         * gst/gstinfo.c:
22495         * gst/gstinfo.h:
22496         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
22497         (gst_mem_chunk_free):
22498         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
22499         (gst_object_ref), (gst_object_unref), (gst_object_sink),
22500         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
22501         (gst_object_dispatch_properties_changed),
22502         (gst_object_set_name_default), (gst_object_set_name),
22503         (gst_object_get_name), (gst_object_set_name_prefix),
22504         (gst_object_get_name_prefix), (gst_object_set_parent),
22505         (gst_object_get_parent), (gst_object_unparent),
22506         (gst_object_check_uniqueness), (gst_object_save_thyself),
22507         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
22508         (gst_object_set_property), (gst_object_get_property),
22509         (gst_object_get_path_string):
22510         * gst/gstobject.h:
22511         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
22512         (gst_real_pad_init), (gst_real_pad_get_property),
22513         (gst_pad_custom_new), (gst_pad_get_direction),
22514         (gst_pad_set_active), (gst_pad_is_active),
22515         (gst_pad_set_event_function), (gst_pad_is_linked),
22516         (gst_pad_link_free), (gst_pad_link_intersect),
22517         (gst_pad_link_fixate), (gst_pad_set_caps),
22518         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
22519         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
22520         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
22521         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
22522         (gst_pad_get_caps), (gst_pad_peer_get_caps),
22523         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
22524         (gst_pad_realize), (gst_pad_get_allowed_caps),
22525         (gst_real_pad_dispose), (gst_real_pad_finalize),
22526         (gst_pad_collectv), (gst_pad_collect_valist),
22527         (gst_pad_template_dispose), (gst_pad_template_new),
22528         (gst_pad_get_internal_links):
22529         * gst/gstpad.h:
22530         * gst/gstpipeline.c: (gst_pipeline_dispose),
22531         (gst_pipeline_change_state):
22532         * gst/gstpipeline.h:
22533         * gst/gstplugin.c:
22534         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
22535         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
22536         * gst/gstpluginfeature.h:
22537         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
22538         * gst/gstquery.c: (_gst_query_type_initialize),
22539         (gst_query_type_register), (gst_query_type_get_by_nick),
22540         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
22541         * gst/gstquery.h:
22542         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
22543         * gst/gstscheduler.c: (gst_scheduler_add_element),
22544         (gst_scheduler_factory_create):
22545         * gst/gststructure.c: (gst_structure_set_parent_refcount),
22546         (gst_structure_free), (gst_structure_set_name),
22547         (gst_structure_id_set_value), (gst_structure_set_value),
22548         (gst_structure_set_valist), (gst_structure_remove_field),
22549         (gst_structure_remove_fields),
22550         (gst_structure_remove_fields_valist),
22551         (gst_structure_remove_all_fields), (gst_structure_foreach),
22552         (gst_structure_map_in_place),
22553         (gst_caps_structure_fixate_field_nearest_int),
22554         (gst_caps_structure_fixate_field_nearest_double):
22555         * gst/gststructure.h:
22556         * gst/gstsystemclock.c: (gst_system_clock_class_init),
22557         (gst_system_clock_init), (gst_system_clock_dispose),
22558         (gst_system_clock_async_thread),
22559         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
22560         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
22561         * gst/gstsystemclock.h:
22562         * gst/gsttag.c: (gst_tag_list_add_value_internal),
22563         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
22564         * gst/gsttaginterface.c:
22565         * gst/gstthread.c: (gst_thread_dispose),
22566         (gst_thread_release_children_locks), (gst_thread_change_state),
22567         (gst_thread_main_loop):
22568         * gst/gsttrashstack.h:
22569         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
22570         * gst/gsttypes.h:
22571         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
22572         (gst_element_request_pad), (gst_element_get_pad_from_template),
22573         (gst_element_request_compatible_pad),
22574         (gst_element_get_compatible_pad_filtered),
22575         (gst_element_get_compatible_pad), (gst_element_state_get_name),
22576         (gst_element_link_pads_filtered), (gst_element_link_filtered),
22577         (gst_element_link_many), (gst_element_link),
22578         (gst_element_link_pads), (gst_element_unlink_pads),
22579         (gst_element_unlink_many), (gst_element_unlink),
22580         (gst_pad_can_link_filtered), (gst_pad_can_link),
22581         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
22582         (gst_object_default_error), (gst_bin_add_many),
22583         (gst_bin_remove_many), (gst_element_populate_std_props),
22584         (gst_element_class_install_std_props), (gst_buffer_merge),
22585         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
22586         (link_fold_func), (gst_pad_proxy_setcaps):
22587         * gst/gstutils.h:
22588         * gst/gstvalue.c: (gst_value_deserialize_string):
22589         * gst/parse/grammar.y:
22590         * gst/schedulers/gstbasicscheduler.c:
22591         (gst_basic_scheduler_cothreaded_chain),
22592         (gst_basic_scheduler_chain_recursive_add),
22593         (gst_basic_scheduler_pad_link):
22594         * gst/schedulers/gstoptimalscheduler.c:
22595         (get_group_schedule_function),
22596         (gst_opt_scheduler_state_transition),
22597         (gst_opt_scheduler_add_element), (element_get_reachables_func):
22598         * libs/gst/bytestream/bytestream.c:
22599         * libs/gst/dataprotocol/dataprotocol.c:
22600         (gst_dp_header_from_buffer):
22601         * po/nb.po:
22602         * po/ru.po:
22603         * tests/threadstate/threadstate2.c: (eos):
22604         * tools/gst-compprep.c: (main):
22605         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
22606         (print_pad_info), (print_children_info):
22607         * tools/gst-launch.c: (idle_func), (main):
22608         * tools/gst-md5sum.c: (idle_func), (main):
22609         * tools/gst-xmlinspect.c: (print_element_info):
22610         First THREADED backport attempt, focusing on adding locks and
22611         making sure the API is threadsafe. Needs more work. More docs
22612         follow this week.
22613
22614 2005-02-24  Andy Wingo  <wingo@pobox.com>
22615
22616         * tests/bench-complexity.scm:
22617         * tests/complexity.gnuplot: New files, good for running complexity
22618         benchmarks.
22619
22620         * tests/Makefile.am:
22621         * tests/complexity.c: New test, sets up N elements, at each level
22622         teeing into M streams per element. Eeeenteresting.
22623
22624         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
22625         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
22626         running bench-mass_elements.scm.
22627
22628         * tests/bench-mass_elements.scm: New script, runs mass_elements
22629         for various numbers of identities, outputting the results to a
22630         file. Requires guile 1.6. Just for testing.
22631
22632 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
22633
22634         * gst/schedulers/fairscheduler.c:
22635           compile with debug disabled
22636
22637 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
22638
22639         * configure.ac:
22640           hunting season on 0.9 is now OPEN