Update some docs regarding reverse playback.
[platform/upstream/gstreamer.git] / ChangeLog
1 2006-10-16  Wim Taymans  <wim@fluendo.com>
2
3         * docs/design/part-trickmodes.txt:
4         * gst/gstevent.c:
5         Update some docs regarding reverse playback.
6
7 2006-10-15  Tim-Philipp Müller  <tim at centricular dot net>
8
9         Patch by: Marcus Granado  <mrc dot gran at gmail com>
10
11         * win32/vs8/grammar.vcproj:
12           Error out with a warning if glib-genmarshal.exe is not in path,
13           instead of creating bogus gstmarshal.[ch] files. Fixes #361720.
14
15 2006-10-13  Wim Taymans  <wim@fluendo.com>
16
17         * gst/gstsegment.c: (gst_segment_set_seek):
18         When seeking to stop -1, set last_stop (current position) to the
19         duration of the segment.
20
21 2006-10-13  Wim Taymans  <wim@fluendo.com>
22
23         * gst/gstelement.h:
24         Clarify _NO_PREROLL a bit more.
25
26         * gst/gstevent.c:
27         Fix docs.
28
29         * gst/gstpad.c: (gst_pad_link_check_hierarchy),
30         (gst_pad_get_caps_unlocked), (gst_pad_save_thyself),
31         (handle_pad_block), (gst_pad_push_event), (gst_pad_send_event):
32         Patch by: Yves Lefebvre <ivanohe at abacom dot com> Fix possible deadlock
33         due to wrong locking order. Fixes #361769.
34         Remove some redundant/misplaced checks in pad_block.
35
36         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
37         For negative rates, count backwards from the duration.
38
39 2006-10-13  Tim-Philipp Müller  <tim at centricular dot net>
40
41         * gst/gsterror.c: (_gst_library_errors_init):
42           Fix error message for GST_LIBRARY_ERROR_SETTINGS (feel free to come
43           up with something better).
44
45 2006-10-12  Tim-Philipp Müller  <tim at centricular dot net>
46
47         * win32/vs6/libgstreamer.dsp:
48         * win32/vs7/libgstreamer.vcproj:
49         * win32/vs8/libgstreamer.vcproj:
50           Don't reference glib-compat.c which is currently not used and not
51           disted; add gstquark.c which was recently added. Fixes #361730.
52
53 2006-10-12  Tim-Philipp Müller  <tim at centricular dot net>
54
55         * win32/common/libgstbase.def:
56         * win32/common/libgstcontroller.def:
57         * win32/common/libgstreamer.def:
58           Add gst_caps_merge() and a bunch of other recently-added functions.
59           Fixes #361732.
60
61 2006-10-11  Wim Taymans  <wim@fluendo.com>
62
63         * docs/plugins/gstreamer-plugins.args:
64         * docs/plugins/inspect/plugin-coreelements.xml:
65         * docs/plugins/inspect/plugin-coreindexers.xml:
66         Update element args.
67
68         * gst/gstsystemclock.c:
69         Small comment update.
70
71         * plugins/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
72         (gst_tee_request_new_pad), (gst_tee_release_pad),
73         (gst_tee_buffer_alloc), (gst_tee_sink_activate_push),
74         (gst_tee_sink_activate_pull):
75         * plugins/elements/gsttee.h:
76         Some tee loving:
77         Add default property defines.
78         Implement release pad function.
79         Give properties better blubs etc.
80         Activate pads before adding them to a running tee.
81         Do simple buffer_alloc on the first requested pad.
82         Post error when activation fails.
83
84 2006-10-11  Tim-Philipp Müller  <tim at centricular dot net>
85
86         * gst/gst.c: (ensure_current_registry_forking):
87           Check return value of write() to make compiler happy.
88
89 2006-10-11  Wim Taymans  <wim@fluendo.com>
90
91         Patch by: Sjoerd Simons <sjoerd at luon dot net>
92
93         * plugins/elements/gstqueue.c: (gst_queue_chain):
94         Recheck queue filledness after signalling the overrun when we're about
95         to leak downstream because we released the lock when emitting the signal
96         and the queue could be empty again. Fixes #352345.
97
98 2006-10-11  Tim-Philipp Müller  <tim at centricular dot net>
99
100         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list):
101           Fix refcounting here too, just like we did for _new_valist() a few
102           days ago (#357180) (thanks to René Stadler). Also remove all those
103           'Since: 0.9' from the gtk-doc blobs.
104
105         * tests/check/libs/controller.c: (controller_refcount_new_list),
106         (gst_controller_suite):
107           Unit test for the above.
108
109 2006-10-10  Wim Taymans  <wim@fluendo.com>
110
111         Patch by: Sebastien Cote <sebas642 at yahoo dot ca>
112
113         * gst/gstpad.c: (gst_pad_get_caps_unlocked),
114         (gst_pad_save_thyself):
115         Update some docs.
116         Write pad direction in XML output. Fixes #345496.
117
118 2006-10-10  Wim Taymans  <wim@fluendo.com>
119
120         Patch by: René Stadler <mail at renestadler dot de>
121
122         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
123         (gst_controller_new_list), (_gst_controller_dispose),
124         (_gst_controller_finalize), (_gst_controller_class_init):
125         Take ref to controlled object so that it cannot disappear. 
126         Fixes #357432.
127
128 2006-10-10  Wim Taymans  <wim@fluendo.com>
129
130         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
131         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
132         (gst_check_teardown_sink_pad):
133         Activate/deactivate pads in setup/teardown respectively.
134
135 2006-10-10  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
136
137         Patch by: Josep Torre Valles <josep@fluendo.com>
138
139         * gst/Makefile.am:
140         Cast values when making gstenumtypes.h.  This pacifies Forte
141         so it doesn't warn about the ~0 as GST_MESSAGE_ANY not fitting
142         in the enumeration.
143
144 2006-10-09  Wim Taymans  <wim@fluendo.com>
145
146         * gst/gstevent.c: (gst_event_new_seek), (gst_event_parse_seek):
147         Rename some more @cur to @start to fix docs. 
148
149         * gst/gstsegment.c: (gst_segment_set_seek):
150         Fix typo.
151         time and start must always stay in sync as defined in design doc.
152
153         * gst/gsttaglist.c: (gst_tag_list_is_empty):
154         Rename param to fix docs.
155
156         * tests/check/gst/gstsegment.c: (GST_START_TEST):
157         Check that start and time are in sync.
158
159         * tests/check/pipelines/parse-launch.c:
160         (gst_parse_test_element_change_state):
161         Activate pad before adding to the element.
162
163 2006-10-09  Wim Taymans  <wim@fluendo.com>
164
165         * docs/design/part-qos.txt:
166         Fix typo.
167
168         * gst/gstevent.c:
169         * gst/gstevent.h:
170         Update seek event docs regarding negative rates.
171         Rename @cur to @start. 
172
173         * gst/gstsegment.c: (gst_segment_set_seek):
174         * gst/gstsegment.h:
175         Update set_seek docs regarding negative rates.
176         Correctly update last_stop to @stop when dealing with negative
177         rates.
178         Rename @cur to @start. 
179
180         * tests/check/gst/gstpad.c: (GST_START_TEST):
181         Activate pads before trying to use them.
182
183         * tests/check/gst/gstsegment.c: (GST_START_TEST),
184         (gst_segment_suite):
185         Add simple check for segments and negative rates.
186
187 2006-10-09  Tim-Philipp Müller  <tim at centricular dot net>
188
189         * gst/gsttaglist.c: (gst_tag_list_is_empty):
190         * gst/gsttaglist.h:
191         * docs/gst/gstreamer-sections.txt:
192           API: add gst_tag_list_is_empty() (#360467).
193
194         * tests/check/gst/gsttag.c: (GST_START_TEST):
195           And a test case.
196
197 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
198
199         * gst/gstmessage.h:
200         Revert change from earlier wrt GST_MESSAGE_TYPE_ANY having
201         a value that doesn't fit on enumeration.
202
203 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
204
205         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
206         Remove local debugging system and use Gstreamer's instead.
207
208 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
209
210         Patch by: Josep Torre Valles <josep@fluendo.com>
211
212         * common/m4/gst-error.m4:
213         Disable warning of statement not reached on Forte.
214         * gst/gstmessage.h:
215         Fix warning on Forte (value doesn't fit on enumeration).
216         * libs/gst/base/gstbasesink.c: (gst_base_sink_chain_unlocked):
217         Fix warning on Forte (value doesn't fit on enumeration).
218         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
219         DEBUG macro says it takes minimum of 2 args and so Forte
220         complains about the use with just 1 arg.
221         * plugins/elements/gstfdsink.c:
222         * plugins/elements/gstfdsrc.c:
223         * plugins/elements/gstfilesink.c:
224         * plugins/elements/gstfilesrc.c:
225         Use correct return type for the uri handler implementations.
226
227         All these fix warnings in Forte.  Fixes bug #360860.
228
229 2006-10-08  Tim-Philipp Müller  <tim at centricular dot net>
230
231         * gst/gstelement.h:
232           gcc versions prior to gcc 3.3 apparently complain about a NULL printf
233           format string, so don't use G_GNUC_PRINTF for those versions.
234
235 2006-10-07  Tim-Philipp Müller  <tim at centricular dot net>
236
237         * gst/gsttaglist.c: (gst_is_tag_list):
238         * gst/gsttaglist.h:
239           Minor fixes to GST_IS_TAG_LIST and gst_is_tag_list().
240
241         * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
242           Small test for the above.
243
244 2006-10-07  Tim-Philipp Müller  <tim at centricular dot net>
245
246         * gst/gsttaglist.h:
247           Less tabs, more spaces.
248
249 2006-10-06  Tim-Philipp Müller  <tim at centricular dot net>
250
251         * gst/gstinfo.h:
252           Those two function declarations do actually belong there, revert
253           commit from yesterday that turned them intro macros.
254
255 2006-10-06  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
256
257         Patch by: Josep Torre Valles <josep@fluendo.com>
258
259         * gst/gst.c: (gst_init_get_option_group):
260         Fix empty declaration and type mismatch.
261         * gst/gstbin.c: (gst_bin_change_state_func):
262         Fix type mismatch.
263         * gst/gstelement.c: (gst_element_continue_state),
264         (gst_element_set_state_func), (gst_element_change_state),
265         (gst_element_change_state_func):
266         Fix type mismatches.
267         * gst/gstinfo.c: (gst_debug_compare_log_function_by_func),
268         (gst_debug_remove_log_function), (_gst_debug_nameof_funcptr):
269         Cast as appropriate.
270         * gst/gstobject.c: (gst_class_signal_connect):
271         Cast as appropriate.  The function pointer parameter really
272         has the wrong type but would break API if we change it.
273         * gst/gstquery.c:
274         Fix redefinition of _FILE_OFFSET_BITS caused on Solaris wrt
275         order of including string.h.
276         * gst/gstutils.c: (gst_element_state_get_name):
277         Remove unreachable line.
278         * gst/gstxml.c: (gst_xml_parse_doc):
279         Fix type mismatch.
280         All these caught by Forte.
281
282 2006-10-06  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
283
284         Patch by: Josep Torre Valles <josep@fluendo.com>
285
286         * common/m4/gst-error.m4:
287         Fixed bug #360151.
288         We need to disable warnings on Forte for empty declarations
289         due to gst-indent adding ;s to lines that just use macros
290         where the macro actually doesn't need a ; at end to end
291         statement.
292
293 2006-10-06  Wim Taymans  <wim@fluendo.com>
294
295         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
296         (gst_file_sink_close_file), (gst_file_sink_event),
297         (gst_file_sink_render):
298         Add some FIXME for the NEWSEGMENT handling.
299
300 2006-10-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
301
302         * gst/parse/grammar.y:
303         Remove static function gst_parse_element_lock as all it does
304         is return.  Looks like cruft from 0.8.
305
306 2006-10-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
307
308         Patch by: Josep Torre Valles <josep@fluendo.com>
309
310         * common/m4/gst-error.m4:
311         * configure.ac:
312         * libs/gst/net/Makefile.am:
313         Fix a compilation issue with Forte on Solaris.  inet_aton is in
314         libresolv.
315
316 2006-10-05  Tim-Philipp Müller  <tim at centricular dot net>
317
318         * gst/gstpad.c: (pre_activate):
319         * gst/gstregistry.c: (gst_registry_scan_path_level):
320         * gst/gstregistryxml.c: (load_plugin):
321         * libs/gst/controller/gstcontroller.c:
322         (gst_controlled_property_set_interpolation_mode):
323         * libs/gst/dataprotocol/dataprotocol.c:
324         (gst_dp_packet_from_event_1_0):
325         * libs/gst/net/gstnetclientclock.c:
326         (gst_net_client_clock_observe_times):
327         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
328           Printf fixes.
329
330 2006-10-05  Tim-Philipp Müller  <tim at centricular dot net>
331
332         * configure.ac:
333         * docs/gst/gstreamer-sections.txt:
334         * gst/gstconfig.h.in:
335         * gst/gstelement.h:
336         * gst/gstinfo.h:
337           Add GST_USING_PRINTF_EXTENSION to gstconfig.h so that we know
338           whether we can use G_GNUC_PRINTF in other header files and at
339           least check the printf format/arguments of debug messages and
340           GST_ELEMENT_ERROR messages when the printf extension is not
341           being used.
342           Replace more tabs with spaces in gstinfo.h and remove two spurious
343           function declarations in GST_DISABLE_DEBUG part with macros.
344
345 2006-10-03  Tim-Philipp Müller  <tim at centricular dot net>
346
347         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_post):
348           More docs for the sync-message signal (mention that it is not
349           emitted by default); log message structures of messages posted on
350           the bus as well.
351
352 2006-10-03  Jan Schmidt  <thaytan@mad.scientist.com>
353
354         * gst/gst.c: (ensure_current_registry_forking):
355         Use a pipe pair to receive status results from the forked child, and
356         ignore the result from waitpid. Fixes #355499
357
358 2006-10-02  Wim Taymans  <wim@fluendo.com>
359
360         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
361         (gst_ghost_pad_suite):
362         Fix leak in check.
363
364 2006-10-02  Tim-Philipp Müller  <tim at centricular dot net>
365
366         * gst/gstpad.c:
367           Add 'Since: 0.10.11' to gst_pad_is_blocking() gtk-doc blurb.
368
369 2006-10-02  Edward Hervey  <edward@fluendo.com>
370
371         * docs/design/part-block.txt:
372         Further explain the use of flushing on blocked pads.
373         * docs/gst/gstreamer-sections.txt:
374         * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
375         (gst_pad_push_event):
376         * gst/gstpad.h:
377         Added new GstPadFlag : GST_PAD_BLOCKING.
378         Adds the notion of pads really blocking, which enables to properly
379         handle FLUSH_START/FLUSH_STOP events on blocked pads.
380         Fixes #358999
381         API: gst_pad_is_blocking()
382         API: GST_PAD_IS_BLOCKING() macro
383         API: GST_PAD_BLOCKING GstPadFlag
384         
385 2006-10-02  Wim Taymans  <wim@fluendo.com>
386
387         Patch by: mrcgran <mrc.gran at gmail dot com>
388
389         * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps):
390         Filter the proxied caps against the padtemplate if we have one.
391
392         * gst/gstquery.c: (gst_query_new_segment):
393         Add include for gstinfo.h so that compilation with
394         -DGST_DISABLE_GST_DEBUG works again. Fixes #358436.
395
396 2006-10-02  Wim Taymans  <wim@fluendo.com>
397
398         Patch by: Alessandro Decina  <alessandro at nnva org>
399
400         * plugins/elements/gstfilesink.c: (gst_file_sink_init),
401         (gst_file_sink_set_location), (gst_file_sink_open_file),
402         (gst_file_sink_close_file), (gst_file_sink_event),
403         (gst_file_sink_render):
404         Set file to NULL when closing filesink so that we can set a new filename
405         in READY. Fixes #358613.
406
407 2006-10-02  Tim-Philipp Müller  <tim at centricular dot net>
408
409         Patch by: Alessandro Decina  <alessandro at nnva org>
410
411         * gst/gstevent.c: (_gst_event_copy):
412           Fix gst_mini_object_make_writable() and gst_event_copy() for events
413           with event structures by setting the parent refcount address of the
414           copied structure to the address of the refcount member of the newly
415           copied event rather than the address of the refcount member of the
416           original event. Fixes #358737.
417
418         * tests/check/gst/gstevent.c: (GST_START_TEST):
419           Unit test for the above.
420
421 2006-09-29  Stefan Kost  <ensonic@users.sf.net>
422
423         * docs/design/Makefile.am:
424           Dist some more files.
425
426 2006-09-29  Tim-Philipp Müller  <tim at centricular dot net>
427
428         * tests/check/libs/controller.c: (GST_START_TEST),
429         (gst_controller_suite):
430           Add test for the previous fix; add some more tests
431           for correct refcounting behaviour; fix a few leaks
432           in test cases; call gst_controller_init() at start
433           of all tests.
434
435 2006-09-29  Tim-Philipp Müller  <tim at centricular dot net>
436
437         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
438         (gst_controller_set_from_list):
439           Don't g_return_val_if_fail() on timed values with invalid timestamps
440           inside a critical section without unlocking the mutex. Spotted by
441           René Stadler. (#357617)
442           Also, fix up refcounting properly: when returning an existing
443           controller, we should increase the reference only once and not
444           once per property and when trying to control a property again
445           we should also increase the refcount.
446
447 2006-09-29  Wim Taymans  <wim@fluendo.com>
448
449         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
450         * libs/gst/net/gstnettimeprovider.c:
451         (gst_net_time_provider_thread):
452         Stop reading commands when EOF as well.
453
454         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
455         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
456         * plugins/elements/gstidentity.c: (gst_identity_class_init):
457         Unify description of the dump property.
458
459 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
460
461         * tests/examples/manual/.cvsignore:
462         OK, so it's actually cvsignore that needs changing. Stop laughing.
463
464 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
465
466         * tests/examples/manual/Makefile.am:
467         Gah, declare vars *before* using them
468
469 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
470
471         * gst/gst.c: (init_pre), (scan_and_update_registry),
472         (ensure_current_registry_nonforking),
473         (ensure_current_registry_forking), (ensure_current_registry),
474         (init_post), (gst_debug_help), (gst_deinit):
475         * gst/gst_private.h:
476         * gst/gstregistry.c: (gst_registry_finalize),
477         (gst_registry_remove_features_for_plugin_unlocked),
478         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
479         (gst_registry_scan_path),
480         (_priv_gst_registry_remove_cache_plugins),
481         (_priv_gst_registry_cleanup):
482         * gst/gstregistry.h:
483         Re-commit the registry changes, along with an extra fix:
484           When a cached plugin is encountered at a different file path,
485           update the stored path in the registry cache so that the parent
486           process knows where it actually is now when it re-reads the registry
487           cache. Fixes the thing that broke distcheck with the previous commit.
488
489         * tests/check/Makefile.am:
490         Clean up files named 'core' too when running make clean.
491
492         * tests/examples/manual/Makefile.am:
493         Set up a registry path for running these tests, and clean it properly
494         for distcheck.
495
496 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
497
498         * configure.ac:
499         Don't pull in gmodule-2.0.pc as a dependency in our .pc files - we
500         want gmodule-no-export-2.0.pc instead so that we don't drag in
501         --export-dynamic on every project that links to GStreamer.
502
503         Also, make our export regex only match the start of symbols, rather 
504         than any symbol that contains '_gst' somewhere.
505
506         * libs/gst/check/Makefile.am:
507         The libgstcheck we build does however need export-dynamic, as it
508         produces some symbols that don't match our _gst... style regex.
509         Fixes: #318031
510
511 2006-09-27  Jan Schmidt  <thaytan@mad.scientist.com>
512
513         * gst/gst.c: (init_pre), (scan_and_update_registry),
514         (ensure_current_registry_nonforking),
515         (ensure_current_registry_forking), (ensure_current_registry),
516         (init_post), (gst_debug_help), (gst_deinit):
517         * gst/gst_private.h:
518         * gst/gstregistry.c: (gst_registry_finalize),
519         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
520         (gst_registry_scan_path), (_gst_registry_remove_cache_plugins),
521         (_gst_registry_cleanup):
522         * gst/gstregistry.h:
523           Revert previous change until I figure out why it breaks distcheck.
524
525 2006-09-27  Jan Schmidt  <thaytan@mad.scientist.com>
526
527         * gst/gst.c: (init_pre), (scan_and_update_registry),
528         (ensure_current_registry_nonforking),
529         (ensure_current_registry_forking), (ensure_current_registry),
530         (init_post), (gst_debug_help), (gst_deinit):
531
532           Make init_pre and init_post take the full complement of GOptionFunc
533           args so they can return useful GErrors. Make the registry updating
534           functions do so.
535
536           Call _priv_gst_registry_remove_cache_plugins after scanning files to
537           ensure that the registry we're about to write out doesn't contain
538           stale information about old-deleted plugin files.
539
540           Make _priv_gst_registry_remove_cache_plugins return a boolean so
541           that deletion of plugin files is considered a registry change.
542
543         * gst/gst_private.h:
544         * gst/gstregistry.c: (gst_registry_finalize),
545         (gst_registry_remove_features_for_plugin_unlocked),
546         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
547         (gst_registry_scan_path),
548         (_priv_gst_registry_remove_cache_plugins),
549         (_priv_gst_registry_cleanup):
550         * gst/gstregistry.h:
551         Rename _gst_registry_remove_cache_plugins and _gst_registry_cleanup
552         by adding _priv prefix, so that they won't appear in the global
553         symbol table. They still do atm though because of #318031. Move the
554         prototypes to gst_private.h
555
556         When removing a plugin, remove all features for that plugin too. 
557         Fixes #340878.
558
559 2006-09-27  Wim Taymans  <wim@fluendo.com>
560
561         * docs/random/moving-plugins:
562         Make it clear that the "compiled-in descriptions" really mean
563         the element details.
564
565         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
566         (gst_base_sink_wait_preroll):
567         Update docs.
568
569         * docs/libs/gstreamer-libs-sections.txt:
570         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
571         (gst_base_src_get_range), (gst_base_src_activate_push):
572         * libs/gst/base/gstbasesrc.h:
573         Added function to block while waiting for PLAYING, this function
574         is used by live sources that block on the clock.
575         API: gst_base_src_wait_playing()
576
577 2006-09-27  Tim-Philipp Müller  <tim at centricular dot net>
578
579         Patch by: Peter Kjellerstedt <pkj at axis com>
580
581         * Makefile.am:
582           gst-element-check.m4 is generated and should therefore be
583           copied from the build dir rather than the source dir (#357593).
584           'make distcheck' hasn't noticed this because we were disting
585           the file as well, so stop doing that.
586
587 2006-09-27  Tim-Philipp Müller  <tim at centricular dot net>
588
589         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
590           Add some tests for gst_caps_intersect().
591
592         * tools/gst-launch.c: (event_loop):
593           Print all buffering percentages we get, even the 100% one.
594
595 2006-09-26  Wim Taymans  <wim@fluendo.com>
596
597         * tools/gst-inspect.c: (print_element_properties_info),
598         (print_signal_info):
599         Fix printing of flags to match the look of enums.
600
601 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
602
603         * gst/gstelementfactory.c:
604           Fix typo in docs blurb.
605
606 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
607
608         * gst/gsturi.c: (search_by_entry):
609           Don't assert/crash here if a uri handler doesn't return any
610           supported protocols. The list of protocols could be generated
611           dynamically at runtime or at plugin registration, and an error
612           in the underlying library shouldn't be fatal (#353301).
613
614 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
615
616         * gst/gstinfo.c:
617           Fix warning if HAVE_PRINTF_EXTENSION is undefined
618           (spotted by Peter Kjellerstedt).
619
620 2006-09-23  Wim Taymans  <wim@fluendo.com>
621
622         Based on patch by: Antoine Tremblay <hexa00 at gmail dot com>
623
624         * libs/gst/base/gstbasesrc.c:
625         (gst_base_src_default_check_get_range), (gst_base_src_start),
626         (gst_base_src_activate_push), (gst_base_src_activate_pull),
627         (gst_base_src_change_state):
628         Match _start/_stop calls in the activate functions. Remove redundant
629         _stop call from the state change function. Fixes #356910.
630         Turn failure DEBUG into ERROR. 
631
632 2006-09-22  Wim Taymans  <wim@fluendo.com>
633
634         * docs/design/part-buffering.txt:
635         * gst/gstmessage.c: (gst_message_new_buffering),
636         (gst_message_parse_buffering):
637         Update docs about buffering.
638
639         * docs/design/part-trickmodes.txt:
640         Fix typo.
641
642 2006-09-22  Stefan Kost  <ensonic@users.sf.net>
643
644         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
645         (gst_controller_new_list):
646           Ref instances when returning them again (fixes #357180)
647
648 2006-09-22  Tim-Philipp Müller  <tim at centricular dot net>
649
650         * gst/gstghostpad.c: (gst_ghost_pad_set_target):
651           Don't forget to release proxy lock when there's an error.
652
653 2006-09-20  Jan Schmidt  <thaytan@mad.scientist.com>
654
655         * gst/gstcaps.h:
656           Add extra initialisers for Caps things, to fix some plugin warnings
657           when using -Wextra
658
659 2006-09-18  Wim Taymans  <wim@fluendo.com>
660
661         * gst/gstghostpad.c: (gst_ghost_pad_new_full):
662           Also set template on the internal pad so that a getcaps from the 
663           target pad returns the template caps.
664
665 2006-09-18  Wim Taymans  <wim@fluendo.com>
666
667         * gst/gstelement.c: (gst_element_post_message),
668         (gst_element_dispose):
669         Use _DEBUG_OBJECT some more.
670
671         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
672         Avoid typechecks.
673
674         * tools/gst-launch.c: (main):
675         If the toplevel element is not a GstPipeline, it must be put in a
676         pipeline so that a bus and clock is selected.
677
678 2006-09-17  Tim-Philipp Müller  <tim at centricular dot net>
679
680         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
681           JITTER, RATE, and LATENCY query should be handled by the
682           default case and not by the CONVERT query code.
683
684 2006-09-17  Tim-Philipp Müller  <tim at centricular dot net>
685
686         * gst/gstformat.c: (gst_format_register):
687           Fix locking order (must take lock before using n_values).
688
689         * gst/gstvalue.c: (gst_value_serialize_enum),
690         (gst_value_deserialize_enum_iter_cmp),
691         (gst_value_deserialize_enum):
692           Fix serialisation/deserialisation of custom registered GstFormats.
693
694         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
695           Unit test for custom format serialisation/deserialisation.
696
697 2006-09-17  Stefan Kost  <ensonic@users.sf.net>
698
699         * docs/pwg/building-boiler.xml:
700         * plugins/elements/gstcapsfilter.c:
701         More G_OBJECT macro fixing. Also Fix some details on the plugin-stamp
702         section.
703
704 2006-09-16  Edward Hervey  <edward@fluendo.com>
705
706         * libs/gst/base/gstbasetransform.c:
707         (gst_base_transform_buffer_alloc):
708         Check if requested caps are the same as the sinks caps IF
709         ->have_same_caps is TRUE. If they are not, act as if have_same_caps
710         is FALSE.
711         This fixes the renegotiation issues stated in #352827.
712
713 2006-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
714
715         * configure.ac:
716         * docs/manual/advanced-autoplugging.xml:
717         * tests/examples/Makefile.am:
718         * tests/examples/manual/.cvsignore:
719         * tests/examples/manual/Makefile.am:
720         * tests/examples/manual/extract.pl:
721           Extract the manual examples again like we used to do.
722           Fix one of them.
723
724 2006-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
725
726         * win32/common/config.h:
727           update for version
728
729 2006-09-16  Stefan Kost  <ensonic@users.sf.net>
730
731         * gst/gsterror.c:
732           Documents how to receive errors.
733
734 2006-09-15  Wim Taymans  <wim@fluendo.com>
735
736         * tools/gst-launch.c: (sigint_handler_sighandler), (check_intr),
737         (event_loop), (main):
738         Added some comments here and there.
739         Post an application message when an interrupt is caught instead of doing
740         an uncontrolled state change.
741         Clean up the event loop.
742         Handle buffering messages, pause/resume the pipeline.
743         Make shutdown because of an interrupt more reliable.
744
745 2006-09-15  Wim Taymans  <wim@fluendo.com>
746
747         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
748         (gst_base_sink_wait_preroll), (gst_base_sink_do_sync),
749         (gst_base_sink_preroll_object):
750         Make sure that our internal state is correct when we commit our state
751         asynchronously. This solves a race where a state change to PLAYING
752         could cause the sink to remain blocked in preroll in some situations.
753
754 2006-09-15  Wim Taymans  <wim@fluendo.com>
755
756         * tools/gst-inspect.c: (print_element_properties_info),
757         (print_signal_info):
758         List flags as hex so it's easier to deal with.
759
760 2006-09-15  Wim Taymans  <wim@fluendo.com>
761
762         * docs/libs/gstreamer-libs-sections.txt:
763         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_preroll),
764         (gst_base_sink_do_sync):
765         * libs/gst/base/gstbasesink.h:
766         Expose logic to wait for preroll so that subclasses such as audiosink
767         can also use this method.
768         API: gst_base_sink_wait_preroll()
769
770 2006-09-15  Wim Taymans  <wim@fluendo.com>
771
772         * gst/gstobject.c: (gst_object_set_parent):
773         * gst/gstpipeline.c: (do_pipeline_seek):
774         Small cleanups in docs and code.
775
776         * gst/gstsegment.c: (gst_segment_clip):
777         * tests/check/gst/gstsegment.c: (GST_START_TEST):
778         if stop == start and start is in the segment, no clipping should be
779         done. Also add a test for this.
780
781 2006-09-15  Wim Taymans  <wim@fluendo.com>
782
783         * docs/design/part-buffering.txt:
784         * docs/gst/gstreamer-sections.txt:
785         * gst/gstmessage.c: (gst_message_new_buffering),
786         (gst_message_parse_buffering):
787         * gst/gstmessage.h:
788         Added methods to create and parse BUFFERING messages.
789         Added preliminary docs about buffering.
790         API: gst_message_new_buffering
791         API: gst_message_parse_buffering
792
793 2006-09-06  Wim Taymans  <wim@fluendo.com>
794
795         * gst/gstbin.c:
796         Update documentation.
797
798         * gst/gstelement.c: (gst_element_class_init),
799         (gst_element_release_request_pad), (gst_element_set_clock),
800         (gst_element_get_index), (gst_element_add_pad),
801         (gst_element_remove_pad), (gst_element_get_random_pad),
802         (gst_element_send_event), (gst_element_get_query_types),
803         (gst_element_query), (gst_element_post_message),
804         (gst_element_message_full), (gst_element_continue_state),
805         (gst_element_lost_state), (gst_element_save_thyself),
806         (gst_element_restore_thyself):
807         Documentation updates.
808         Rename last bit of the new-pad -> pad-added signal rename.
809         Fix the case where an element query would only work if the source
810         pad was linked.
811         Avoid some useless type checking in message handling.
812
813         * gst/gstevent.c:
814         * gst/gstevent.h:
815         * gst/gstutils.c:
816         Documentation updates.
817
818 2006-09-14  Thomas Vander Stichele  <thomas at apestaart dot org>
819
820         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
821           add an INFO line for when we actually update the fd
822
823 2006-09-14  Thomas Vander Stichele  <thomas at apestaart dot org>
824
825         * configure.ac:
826           back to TRUNK
827
828 === release 0.10.10 ===
829
830 2006-09-14  Thomas Vander Stichele <thomas at apestaart dot org>
831
832         * configure.ac:
833           releasing 0.10.10, "Pais"
834
835 2006-09-05  Tim-Philipp Müller  <tim at centricular dot net>
836
837         * docs/manual/advanced-position.xml:
838           Fix typo in sample code.
839
840 2006-09-05  Wim Taymans  <wim@fluendo.com>
841
842         * libs/gst/net/gstnetclientclock.c: (inet_aton),
843         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
844         (gst_net_client_clock_do_select), (gst_net_client_clock_new):
845         * libs/gst/net/gstnetclientclock.h:
846         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
847         * libs/gst/net/gstnettimepacket.h:
848         * libs/gst/net/gstnettimeprovider.c: (inet_aton),
849         (gst_net_time_provider_init), (gst_net_time_provider_finalize),
850         (gst_net_time_provider_thread), (gst_net_time_provider_new):
851         * libs/gst/net/gstnettimeprovider.h:
852         Make stuff compile on windows. Fixes #345295.
853
854 2006-09-03  Tim-Philipp Müller  <tim at centricular dot net>
855
856         * gst/gst.c: (ensure_current_registry_forking):
857           Print better details when child was terminated by signal.
858
859 2006-09-03  Tim-Philipp Müller  <tim at centricular dot net>
860
861         * gst/gstregistryxml.c: (gst_registry_xml_save_feature):
862           Print a warning rather than g_assert() if a plugin feature
863           is a URI handler but returns no protocols (#353976).
864
865 2006-09-02  Stefan Kost  <ensonic@users.sf.net>
866
867         * docs/random/moving-plugins:
868         Fix two typos.         
869
870 2006-09-01  Tim-Philipp Müller  <tim at centricular dot net>
871
872         * gst/gstinfo.c: (_gst_debug_nameof_funcptr):
873           Fix locking order, handle NULL function values properly.
874
875         * gst/gstinfo.h:
876           Fix docs.
877
878         * gst/gstpad.c: (gst_pad_buffer_alloc_unchecked):
879           Initialise variable before using it and fix debug statement to
880           print the address of the function rather than the address of the
881           variable on the stack holding the address of the function.
882
883 2006-09-01  Wim Taymans  <wim@fluendo.com>
884
885         * gst/gstghostpad.c: (gst_proxy_pad_do_event),
886         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_chain),
887         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
888         (gst_proxy_pad_set_target_unlocked), (gst_ghost_pad_parent_set),
889         (gst_ghost_pad_parent_unset),
890         (gst_ghost_pad_internal_do_activate_push),
891         (gst_ghost_pad_internal_do_activate_pull),
892         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
893         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
894         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
895         (gst_ghost_pad_new_full), (gst_ghost_pad_new_no_target),
896         (gst_ghost_pad_new), (gst_ghost_pad_new_from_template),
897         (gst_ghost_pad_new_no_target_from_template),
898         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
899         More cleanups.
900         Avoid needless typechecking in macros.
901         Since the internal pad is always present and never changes, there is
902         no need to locking or ref when retrieving it.
903         Improve debugging a bit.
904         Handle link errors when setting the target. Fixes #341029.
905
906 2006-09-01  Wim Taymans  <wim@fluendo.com>
907
908         * docs/libs/gstreamer-libs-sections.txt:
909         * docs/plugins/gstreamer-plugins-sections.txt:
910         Fix docs some more.
911
912         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
913         (gst_collect_pads_event):
914         * libs/gst/base/gstcollectpads.h:
915         Documentation updates.
916         Free queued buffer when removing a pad.
917
918 2006-08-31  Michael Smith  <msmith@fluendo.com>
919
920         * gst/gstutils.c: (gst_element_link_pads),
921         (gst_element_link_pads_filtered):
922           Ensure that we set a capsfilter to NULL if we failed to link it
923           when doing filtered linking, to avoid criticals.
924
925           No need to check for unreffing srcpad, which is explicly NULLed
926           above (a trivial code cleanup).
927
928 2006-08-31  Wim Taymans  <wim@fluendo.com>
929
930         * docs/design/part-gstghostpad.txt:
931         Update ascii art in documentation.
932
933         * gst/gstghostpad.c: (gst_proxy_pad_do_internal_link),
934         (gst_proxy_pad_set_target_unlocked), (gst_proxy_pad_init),
935         (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
936         (gst_ghost_pad_internal_do_activate_push),
937         (gst_ghost_pad_internal_do_activate_pull),
938         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
939         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
940         (gst_ghost_pad_dispose), (gst_ghost_pad_new_full),
941         (gst_ghost_pad_set_target):
942         Small cleanups and leak fixes.
943         Remove some checks now that the internal pad is never NULL.
944         Fix the case where linking pads without a target would create nasty
945         criticals. Fixes #341029.
946         Don't assign a GstPadLinkReturn to a gboolean and mess up the return
947         value of _set_target().
948
949         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
950         (gst_ghost_pad_suite):
951         Some more tests for creating and linking untargeted ghostpads.
952
953 2006-08-31  Edward Hervey  <edward@fluendo.com>
954
955         * docs/gst/gstreamer-sections.txt:
956         * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps),
957         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
958         (gst_proxy_pad_dispose), (gst_ghost_pad_new_full),
959         (gst_ghost_pad_new_no_target), (gst_ghost_pad_new),
960         (gst_ghost_pad_new_from_template),
961         (gst_ghost_pad_new_no_target_from_template):
962         * gst/gstghostpad.h:
963         Refactored *_new() functions.
964         Templates are now used as a g_object_new() parameter.
965         Use template in _do_getcaps() if we don't have a target.
966         Small documentation cleanups.
967         Added two new constructors:
968         gst_ghost_pad_new_from_template()
969         gst_ghost_pad_new_no_target_from_template()
970         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
971         (gst_ghost_pad_suite):
972         Added tests for new ghostpad instanciation functions.
973
974         API additions: gst_ghost_pad_new_from_template,
975         gst_ghost_pad_new_no_target_from_template
976
977 2006-08-30  Stefan Kost  <ensonic@users.sf.net>
978
979         * docs/random/ensonic/profiling.txt:
980           Ideas about qos profiling.
981
982 2006-08-29  Wim Taymans  <wim@fluendo.com>
983
984         * gst/gstcaps.c: (gst_caps_structure_is_subset_field):
985         Code cleanups.
986         Fix memleak.
987
988 2006-08-29  Tim-Philipp Müller  <tim at centricular dot net>
989
990         * gst/gstxml.c:
991           Improve and detypofy docs.
992
993         * tests/check/Makefile.am:
994         * tests/check/gst/.cvsignore:
995         * tests/check/gst/gstxml.c: (GST_START_TEST), (gst_xml_suite):
996           Add a basic test suite for GstXML.
997
998 2006-08-29  Wim Taymans  <wim@fluendo.com>
999
1000         * gst/gstelement.c: (activate_pads), (clear_caps),
1001         (iterator_activate_fold_with_resync), (gst_element_pads_activate):
1002         Clear the pad caps when the element shut down all of the pads and
1003         is not streaming data that could modify the caps. 
1004         Fixes #352958.
1005
1006 2006-08-28  Michael Smith  <msmith@fluendo.com>
1007
1008         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
1009           Revert previous change; I misunderstood single-segment mode.
1010
1011 2006-08-28  Michael Smith  <msmith@fluendo.com>
1012
1013         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
1014           Unset DISCONT on buffers when using single-segment mode.
1015
1016 2006-08-28  Wim Taymans  <wim@fluendo.com>
1017
1018         * gst/gstcaps.c: (gst_caps_merge_structure):
1019         * gst/gstcaps.h:
1020         Fix docs and indentation again.
1021
1022         * tests/check/gst/gstquery.c: (GST_START_TEST):
1023         Fix leak in tests and add some more tests.
1024
1025 2006-08-28  Edward Hervey  <edward@fluendo.com>
1026
1027         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
1028         Inform GstSegment of the last stop position in order for the current
1029         segment to have a proper duration if it doesn't have a specific stop
1030         position from which a duration could be calculated.
1031         This bug was noticeable when a non-flushing, non-update new segment was
1032         followed by another segment (all buffers from the new segment were being
1033         dropped).
1034
1035 2006-08-28  Wim Taymans  <wim@fluendo.com>
1036
1037         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
1038         Small comment update.
1039
1040         * plugins/elements/gstidentity.c: (gst_identity_class_init),
1041         (gst_identity_transform_ip):
1042         Drop-probability is broken, mention this in the code with a 
1043         FIXME and also in the property description.
1044         Make silent also be silent about the drop messages.
1045
1046 2006-08-28  Tim-Philipp Müller  <tim at centricular dot net>
1047
1048         * docs/manual/appendix-win32.xml:
1049           Remove mention of popt, we don't depend on that any
1050           longer (#353136). Add some comments pointing out that
1051           this section is slightly outdated.
1052
1053 2006-08-28  Wim Taymans  <wim@fluendo.com>
1054
1055         Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
1056
1057         * gst/gstquery.c: (gst_query_new_segment):
1058         * tests/check/gst/gstquery.c: (GST_START_TEST):
1059         Initialize variables when creating a new segment query.
1060         Fixes #353121.
1061
1062 2006-08-28  Wim Taymans  <wim@fluendo.com>
1063
1064         Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
1065
1066         * gst/gstelement.c: (gst_element_get_bus):
1067         * tests/check/gst/gstelement.c: (GST_START_TEST):
1068         Check for NULL before _reffing the bus. Fixes #353122.
1069
1070 2006-08-25  Tim-Philipp Müller  <tim at centricular dot net>
1071
1072         * docs/manual/basics-bus.xml:
1073           Docs update: fix wrong callback return value explanation; add
1074           some lines about the implicit relationship between main loop
1075           and main context; remove duplicate main loop variable declaration.
1076
1077 2006-08-24  Tim-Philipp Müller  <tim at centricular dot net>
1078
1079         * tests/check/gst/gstcaps.c: (GST_START_TEST):
1080           Don't leak caps in unit test; add a few more simple
1081           checks. 
1082
1083 2006-08-24  Stefan Kost  <ensonic@users.sf.net>
1084
1085         * docs/gst/gstreamer-sections.txt:
1086         * gst/gstcaps.c: (gst_caps_structure_is_subset_field),
1087         (gst_caps_structure_is_subset), (gst_caps_merge),
1088         (gst_caps_merge_structure):
1089         * gst/gstcaps.h:
1090         * libs/gst/base/gstbasetransform.c:
1091         (gst_base_transform_transform_caps):
1092         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
1093           implement caps merging (fixes #352580)
1094
1095 2006-08-23  Stefan Kost  <ensonic@users.sf.net>
1096
1097         * tools/Makefile.am:
1098         * tools/gst-plot-timeline.py:
1099           add debug-log plotting developer tool (#340674)
1100
1101 2006-08-23  Wim Taymans  <wim@fluendo.com>
1102
1103         * gst/gstpad.c: (gst_pad_start_task), (gst_pad_pause_task),
1104         (gst_pad_stop_task):
1105         Improve debugging for task functions.
1106
1107         * gst/gsttask.c: (gst_task_func), (gst_task_set_lock),
1108         (gst_task_start), (gst_task_pause), (gst_task_join):
1109         Make sure that the task function started and finished after a 
1110         join(). 
1111         Don't try to push the task function on the threadpool multiple
1112         times.
1113         Improve the g_warning message with some useful suggestions
1114         about how to fix the problem. 
1115
1116 2006-08-23  Wim Taymans  <wim@fluendo.com>
1117
1118         * gst/gstutils.c: (gst_pad_proxy_getcaps):
1119         Handle RESYNC correctly in _proxy_getcaps.
1120
1121 2006-08-21  Tim-Philipp Müller  <tim at centricular dot net>
1122
1123         * gst/gstxml.c: (gst_xml_dispose), (gst_xml_parse_file),
1124         (gst_xml_parse_memory), (gst_xml_get_element):
1125           Chain up to parent class in dispose function and also
1126           unref the elements in the toplevel_elements GList.
1127           Don't leak XmlDocPtr in _parse_file() and _parse_memory().
1128           Always return a reference in gst_xml_get_element() rather
1129           than only sometimes.
1130
1131         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
1132           Don't leak GstXml object.
1133
1134 2006-08-21  Stefan Kost  <ensonic@users.sf.net>
1135
1136         * docs/gst/gstreamer-sections.txt:
1137         * gst/gstcaps.c: (gst_structure_is_equal_foreach),
1138         (gst_caps_merge):
1139         * gst/gstcaps.h:
1140         * libs/gst/base/gstbasetransform.c:
1141         (gst_base_transform_transform_caps):
1142           API: Add gst_caps_merge() and use it in basetransform, fixes #345444
1143           in a better way
1144
1145 2006-08-21  Edward Hervey  <edward@fluendo.com>
1146
1147         * gst/gstxml.c: (gst_xml_class_init), (gst_xml_dispose):
1148         Implement GObject::dispose virtual method in GstXML so we can free the
1149         top_elements GList.
1150
1151 2006-08-21  Wim Taymans  <wim@fluendo.com>
1152
1153         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable),
1154         (gst_buffer_create_sub):
1155         Copy duration/offset_end/caps when creating a subbuffer of the
1156         complete parent.
1157         Make the subbuffer read-only when we make the metadata writable for
1158         now. Fixes #351768.
1159
1160         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
1161         Added check for metadata copy when creating subbuffers.
1162
1163 2006-08-21  Edward Hervey  <edward@fluendo.com>
1164
1165         * libs/gst/base/gstbasetransform.c:
1166         (gst_base_transform_buffer_alloc):
1167         Only call downstream buffer_alloc if transform element is passthrough
1168         or always_in_place. Closes #350449.
1169
1170 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
1171
1172         * ChangeLog:
1173           ChangeLog surgery to add comments to previous changes
1174
1175 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
1176
1177         * gst/gst.c:
1178           Add comments
1179
1180         * gst/gstpad.c: (gst_pad_set_active):
1181           Be more verbose in the log
1182
1183         * libs/gst/base/gstbasetransform.c:
1184         (gst_base_transform_transform_caps):
1185           Simplify caps to get rid of duplicates, fixes #345444
1186
1187 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
1188
1189         * gst/gstvalue.c:
1190         * gst/gstvalue.h:
1191           Use these optimizations only internally.
1192
1193 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
1194
1195         * gst/gstvalue.c: (gst_value_compare_list),
1196         (gst_value_compare_fraction_range),
1197         (gst_value_intersect_fraction_fraction_range),
1198         (gst_value_intersect_fraction_range_fraction_range),
1199         (gst_value_subtract_fraction_fraction_range),
1200         (gst_value_subtract_fraction_range_fraction_range),
1201         (gst_value_get_compare_func), (gst_value_compare),
1202         (gst_value_compare_with_func):
1203         * gst/gstvalue.h:
1204           Saves the expensive lookup of the compare function in many cases
1205          (#345444)
1206
1207 2006-08-18  Edward Hervey  <edward@fluendo.com>
1208
1209         * tests/check/gst/gstinfo.c: (gst_info_suite):
1210         Disable test that require gstdebug if it wasn't built in core.
1211
1212 2006-08-18  Stefan Kost  <ensonic@users.sf.net>
1213
1214         * docs/random/ensonic/logging.txt:
1215           update ideas
1216           
1217         * gst/gstinfo.c: (gst_debug_log_default):
1218           reorder fields, save some columns, add optional color codes for log
1219           levels
1220
1221 2006-08-18  Stefan Kost  <ensonic@users.sf.net>
1222
1223         * docs/random/ensonic/logging.txt:
1224           add ideas about making the logs a bit more useful
1225
1226 2006-08-17  Tim-Philipp Müller  <tim at centricular dot net>
1227
1228         * docs/pwg/advanced-events.xml:
1229         * docs/pwg/titlepage.xml:
1230           Update for 0.10 API (#340627). Add myself
1231           to authors list.
1232
1233 2006-08-17  Tim-Philipp Müller  <tim at centricular dot net>
1234
1235         * docs/libs/gstreamer-libs-docs.sgml:
1236         * docs/libs/gstreamer-libs-sections.txt:
1237         * libs/gst/check/gstbufferstraw.c:
1238           Make gstcheck stuff show up in docs (still needs to
1239           be documented properly though).
1240
1241 2006-08-16  Jan Schmidt  <thaytan@mad.scientist.com>
1242
1243         * docs/gst/gstreamer-sections.txt:
1244         * gst/Makefile.am:
1245         * gst/gst.c: (init_post):
1246         * gst/gst_private.h:
1247         * gst/gstquark.c: (_priv_gst_quarks_initialize):
1248         * gst/gstquark.h:
1249         * gst/gstquery.c: (gst_query_new_position),
1250         (gst_query_set_position), (gst_query_parse_position),
1251         (gst_query_new_duration), (gst_query_set_duration),
1252         (gst_query_parse_duration), (gst_query_new_convert),
1253         (gst_query_set_convert), (gst_query_parse_convert),
1254         (gst_query_new_segment), (gst_query_set_segment),
1255         (gst_query_parse_segment), (gst_query_new_seeking),
1256         (gst_query_set_seeking), (gst_query_parse_seeking):
1257         Add internal helpers for pre-registering quarks from static strings
1258         and using the quark values directly instead of looking them up when
1259         creating and parsing queries. Can be used for event construction too.
1260         Closes #350432.
1261
1262 2006-08-16  Wim Taymans  <wim@fluendo.com>
1263
1264         * gst/gstbin.c:
1265         Fix bogus docs.
1266
1267 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
1268
1269         * gst/gstutils.c: (gst_util_set_value_from_string):
1270           Fix memleak (#351502).
1271
1272         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1273           Add unit test for most of gst_util_set_value_from_string()
1274           (not that one would want to encourage use of this function).
1275
1276 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
1277
1278         * libs/gst/check/gstcheck.h:
1279           Use const gchar * variables in fail_unless_equals_string
1280           macro to avoid compiler warnings (and don't use tabs for
1281           indenting).
1282
1283 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
1284
1285         * tools/gst-launch.c: (print_tag):
1286           More space on the left for the tag names, to cater
1287           for the 'extended comment' tag (not touching the
1288           string for the first line since it's translated).
1289
1290 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
1291
1292         * libs/gst/check/gstcheck.h:
1293           Fix ASSERT_CRITICAL and ASSERT_WARNING macros to actually
1294           print something when they fail.
1295
1296 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
1297
1298         * docs/gst/gstreamer-sections.txt:
1299         * gst/gsttaglist.c: (_gst_tag_initialize):
1300         * gst/gsttaglist.h:
1301           API: add GST_TAG_EXTENDED_COMMENT (#350935).
1302           Also change merge function for GST_TAG_COMMENT to
1303           use_first.
1304
1305 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
1306
1307         * gst/gstinfo.c: (gst_debug_print_object):
1308           Make GST_PTR_FORMAT print messages as well.
1309
1310         * tests/check/gst/gstinfo.c: (printf_extension_log_func),
1311         (GST_START_TEST), (gst_info_suite):
1312           More tests.
1313
1314 2006-08-14  Edward Hervey  <edward@fluendo.com>
1315
1316         * gst/gstelementfactory.c: (gst_element_register):
1317         If the GstElementClass doesn't have a GstElementDetails with all fields
1318         filled up correctly (longname, description AND author), then error out
1319         nicely instead of crashing.
1320
1321 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
1322
1323         * gst/gststructure.c:
1324           Fix typo in docs and re-wrap docs blurb to not exceed 80 chars/line.
1325
1326         * gst/gstvalue.h:
1327           Expand on the difference between arrays and lists as we use them.
1328           
1329 2006-08-14  Wim Taymans  <wim@fluendo.com>
1330
1331         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
1332         If the parent state change function failed, don't assume we can safely
1333         stop the source, this will be done when the pads are deactivated.
1334
1335 2006-08-14  Wim Taymans  <wim@fluendo.com>
1336
1337         * gst/gstbuffer.c:
1338         * gst/gsttask.c: (gst_task_join):
1339         Small doc updates.
1340
1341         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
1342         (gst_pad_stop_task):
1343         When pad (de)activation failed for some reason, restore the old
1344         activation mode and set the pad to flushing instead of assuming the
1345         pad is deactivated.
1346         If the _task_join() failed, reinstall the task on the pad so that it can
1347         be stopped later and return an error.
1348
1349 2006-08-11  Andy Wingo  <wingo@pobox.com>
1350
1351         * configure.ac:
1352         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
1353         * tests/check/libs/gdp.c: (gst_dp_suite): GST_DISABLE_DEPRECATED
1354         is only for users of API that don't want to see deprecated
1355         functions in the headers; people that want to compile out
1356         deprecated code should pass -DGST_REMOVE_DEPRECATED into the
1357         CFLAGS. Fixes the build of multifdsink, or will soon..
1358
1359 2006-08-11  Wim Taymans  <wim@fluendo.com>
1360
1361         * docs/gst/gstreamer-sections.txt:
1362         Add GstClockClass vmethod docs.
1363
1364         * gst/gstcaps.h:
1365         Mark #endif with comment for associated #if
1366
1367         * gst/gstclock.c: (gst_clock_id_wait):
1368         * gst/gstclock.h:
1369         Add vmethod wait_jitter to avoid an unneeded _get_time() for
1370         most clock implementations.
1371         Document vmethods.
1372         Flesh out docs about resolution methods.
1373         API: GstClockClass::wait_jitter
1374
1375         * gst/gstsystemclock.c: (gst_system_clock_class_init),
1376         (gst_system_clock_async_thread),
1377         (gst_system_clock_id_wait_jitter_unlocked),
1378         (gst_system_clock_id_wait_jitter):
1379         Use base class wait_jitter variant for improved performance
1380         due to less clock polling.
1381
1382 2006-08-11  Edward Hervey  <edward@fluendo.com>
1383
1384         * gst/gst.c: (gst_init_check), (init_post):
1385         Set gst as being initialized before scanning/updating the registry,
1386         since there might be my python plugin loader that calls gst_init() and
1387         we don't want to loop back in.
1388         Closes #350879
1389
1390 2006-08-11  Wim Taymans  <wim@fluendo.com>
1391
1392         * docs/design/part-qos.txt:
1393         Bring docs in line with the code. Mostly the sign of the jitter was
1394         wrong in the docs. Fixes #349943.
1395
1396         * gst/gstclock.c:
1397         Fix the docs for the jitter.
1398
1399         * gst/gstevent.c: (gst_event_new_custom), (gst_event_new_tag),
1400         (gst_event_parse_tag), (gst_event_new_buffer_size),
1401         (gst_event_parse_buffer_size), (gst_event_parse_qos),
1402         (gst_event_new_seek), (gst_event_parse_seek),
1403         (gst_event_new_navigation):
1404         Make sure the GstStructure has no parent when creating custom
1405         events.
1406         Add some more argument checking so that we avoid 0.0 rates.
1407         Flesh out the docs for the QoS event some more.
1408
1409 2006-08-11  Wim Taymans  <wim@fluendo.com>
1410
1411         * docs/gst/gstreamer-sections.txt:
1412         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
1413         (ensure_current_registry_forking), (ensure_current_registry),
1414         (parse_one_option), (parse_goption_arg), (gst_deinit),
1415         (gst_registry_fork_is_enabled), (gst_registry_fork_set_enabled):
1416         * gst/gst.h:
1417         Doc updates.
1418         Added API and command line option to disable registry forking in
1419         addition to the environment variable.
1420         Constify some static arrays.
1421         Added some more debug.
1422         Don't deinit twice.
1423         API: gst_registry_fork_is_enabled()
1424         API: gst_registry_fork_set_enabled()
1425         API: --gst-disable-registry-fork command line option
1426         Fixes #348918.
1427
1428 2006-08-11  Tim-Philipp Müller  <tim at centricular dot net>
1429
1430         * gst/gst.c: (gst_init):
1431           Fix typo in error message.
1432
1433 2006-08-10  Stefan Kost  <ensonic@users.sf.net>
1434
1435         * libs/gst/controller/gstcontroller.h:
1436           fix ABI size-correction
1437
1438         * tests/check/libs/gdp.c: (gst_dp_suite):
1439           make tests that use deprecated API conditional
1440
1441 2006-08-10  Stefan Kost  <ensonic@users.sf.net>
1442
1443         * docs/libs/gstreamer-libs-sections.txt:
1444         * libs/gst/controller/gstcontroller.c:
1445         (_gst_controller_get_property), (_gst_controller_set_property),
1446         (_gst_controller_init), (_gst_controller_class_init):
1447         * libs/gst/controller/gstcontroller.h:
1448         * libs/gst/controller/gsthelper.c: (gst_object_get_control_rate),
1449         (gst_object_set_control_rate):
1450           API: add gst_object_{s,g}et_control_rate(), add private data section,
1451           fix docs
1452
1453         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
1454         * libs/gst/dataprotocol/dataprotocol.h:
1455           add deprecation guards to make gtk-doc happy and allow disabling cruft
1456
1457 2006-08-09  Tim-Philipp Müller  <tim at centricular dot net>
1458
1459         * tests/check/Makefile.am:
1460         * tests/check/gst/.cvsignore:
1461           Let's enable the new unit test as well.
1462
1463 2006-08-08  Tim-Philipp Müller  <tim at centricular dot net>
1464
1465         * configure.ac:
1466         * docs/gst/gstreamer-sections.txt:
1467         * gst/gstconfig.h.in:
1468         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_print_segment),
1469         (_gst_info_printf_extension_ptr),
1470         (_gst_info_printf_extension_segment):
1471           API: add GST_SEGMENT_FORMAT, which is a printf extension we
1472           register that lets us easily dump GstSegments into debug
1473           logs (#350419).
1474
1475         * tests/check/gst/gstinfo.c: (segment_printf_extension_log_func),
1476         (info_segment_format_printf_extension), (gst_info_suite):
1477           Add simple unit test that logs a bunch of different segments (not
1478           valgrinded at the moment because of leaks in
1479           gst_debug_add_log_function).
1480
1481 2006-08-09  Edward Hervey  <edward@fluendo.com>
1482
1483         * libs/gst/base/gstbasetransform.c:
1484         (gst_base_transform_buffer_alloc):
1485         Even if we can't figure out the proper format to request downstream,
1486         call buffer_alloc() downstream with the input parameters without setting
1487         the caps on the srcpad. This will force negotiation in the chain
1488         function.
1489         Closes #350449
1490
1491 2006-08-08  Edward Hervey  <edward@fluendo.com>
1492
1493         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
1494         Unlinking from a pad without a target is now a perfectly valid case
1495         which should NOT raise an assertion.
1496         This case would happen if a linked ghostpad its target set to NULL after
1497         it was previously linked.
1498
1499 2006-08-08  Edward Hervey  <edward@fluendo.com>
1500
1501         * tests/check/libs/gdp.c:
1502         Also comment out the test (see below).
1503
1504 2006-08-08  Edward Hervey  <edward@fluendo.com>
1505
1506         * tests/check/libs/gdp.c: (gst_dp_suite):
1507         Use the architecture information from config.h and not gcc macros
1508         in order to properly disable a test that fails on PPC64.
1509
1510 2006-08-04  Tim-Philipp Müller  <tim at centricular dot net>
1511
1512         * gst/gstelement.c: (gst_element_remove_pad):
1513           Don't crash printing the warning if the pad has no parent.
1514
1515 2006-08-02  Wim Taymans  <wim@fluendo.com>
1516
1517         * libs/gst/dataprotocol/dataprotocol.c:
1518         (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
1519         (gst_dp_crc), (gst_dp_header_payload_length),
1520         (gst_dp_header_payload_type), (gst_dp_packet_from_event),
1521         (gst_dp_packet_from_event_1_0), (gst_dp_buffer_from_header),
1522         (gst_dp_caps_from_packet), (gst_dp_event_from_packet_0_2),
1523         (gst_dp_event_from_packet), (gst_dp_validate_header),
1524         (gst_dp_validate_payload):
1525         Make debug category static
1526         Constify the crc table.
1527         Do some more arg checking in public functions.
1528         Fix some docs and do some small cleanups.
1529
1530         * tests/check/libs/gdp.c: (GST_START_TEST), (gst_dp_suite):
1531         Add some more checks to see if GDP deals with bogus input.
1532
1533 2006-07-31  Wim Taymans  <wim@fluendo.com>
1534
1535         * gst/gstvalue.c: (gst_value_compare_list):
1536         Fix GstValueList comparison code. Fixes #347293.
1537
1538         * tests/check/gst/gstvalue.c: (GST_START_TEST):
1539         Check to test GstValueList comparison.
1540
1541 2006-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
1542
1543         * gst/gstelementfactory.c: (gst_element_factory_create):
1544         Remove unnecessary ref/unref pair
1545
1546         * gst/parse/grammar.y:
1547         Make sure to free the parse buffer on all code paths.
1548         Move a g_free up to the error handler where it's easier to see.
1549
1550         * tests/check/gst/gstevent.c: (test_event):
1551         Extending timeout for downstream travelling events to 10 seconds to
1552         hopefully avoid intermittent failure on the buildbots.
1553
1554         * tests/check/pipelines/parse-launch.c: (run_delayed_test):
1555         Don't manually set the state of the src element - it will happen as a
1556         natural consequence of the pipeline changing state, and that way it
1557         will do it in the right order too.
1558
1559 2006-07-31  Wim Taymans  <wim@fluendo.com>
1560
1561         * libs/gst/base/gstbasetransform.c:
1562         (gst_base_transform_buffer_alloc):
1563         Use OBJECT_LOCK and refcounting to get the pad caps in the
1564         buffer_alloc function because the caps could change while we are
1565         busy with them. Fixes #349105
1566
1567 2006-07-31  Wim Taymans  <wim@fluendo.com>
1568
1569         * gst/gstutils.c: (gst_pad_get_fixed_caps_func):
1570         Protect _PAD_CAPS with OBJECT_LOCK.
1571
1572 2006-07-31  Wim Taymans  <wim@fluendo.com>
1573
1574         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
1575         (gst_pad_get_property), (gst_pad_activate_pull),
1576         (gst_pad_activate_push), (gst_pad_set_blocked_async),
1577         (gst_pad_set_activate_function),
1578         (gst_pad_set_activatepull_function),
1579         (gst_pad_set_activatepush_function), (gst_pad_set_chain_function),
1580         (gst_pad_set_getrange_function),
1581         (gst_pad_set_checkgetrange_function), (gst_pad_set_event_function),
1582         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
1583         (gst_pad_set_internal_link_function), (gst_pad_set_link_function),
1584         (gst_pad_set_unlink_function), (gst_pad_set_getcaps_function),
1585         (gst_pad_set_acceptcaps_function),
1586         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
1587         (gst_pad_set_bufferalloc_function), (gst_pad_link_check_hierarchy),
1588         (gst_pad_get_caps_unlocked), (gst_pad_get_caps),
1589         (gst_pad_peer_get_caps), (gst_pad_accept_caps),
1590         (gst_pad_peer_accept_caps), (gst_pad_set_caps),
1591         (gst_pad_configure_sink), (gst_pad_configure_src),
1592         (gst_pad_get_allowed_caps), (gst_pad_get_negotiated_caps),
1593         (gst_pad_buffer_alloc_unchecked), (gst_pad_alloc_buffer_full),
1594         (gst_pad_query), (gst_pad_load_and_link), (handle_pad_block),
1595         (gst_pad_chain_unchecked), (gst_pad_push), (gst_pad_get_range),
1596         (gst_pad_send_event):
1597         Use _DEBUG_OBJECT when it makes sense.
1598         Protect GST_PAD_CAPS with the OBJECT_LOCK.
1599         Small cleanups and code reflows.
1600         Avoid caps refcounting in _accept_caps.
1601         Refactor alloc_buffer so that the code performed on the peer is in a
1602         separate function. Also if the pad does not implement a buffer alloc
1603         function, we should still check if the pad is flushing before falling
1604         back to the default allocator.
1605
1606 2006-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
1607
1608         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
1609         Make all uses of identity and fakesink have silent=true to avoid
1610         serialising every passing data structure, which is breaking tests
1611         on FC4 for some unknown reason.
1612
1613 2006-07-30  Stefan Kost  <ensonic@users.sf.net>
1614
1615         * gst/parse/Makefile.am:
1616         * gst/parse/grammar.y:
1617         * gst/parse/parse.l:
1618           Reverted previous patch as it required to bump the flex dependency to
1619           2.5.31, where fc4/5 seem to ship only the ancient 2.5.4a :(
1620
1621 2006-07-30  Stefan Kost  <ensonic@users.sf.net>
1622
1623         Patch by: Marc-Andre Lureau <marcandre.lureau@gmail.com>
1624
1625         * gst/parse/Makefile.am:
1626         * gst/parse/grammar.y:
1627         * gst/parse/parse.l:
1628           push & pop the state of the lexer for reentrant use case
1629           Fixes #349180
1630
1631 2006-07-29  Tim-Philipp Müller  <tim at centricular dot net>
1632
1633         * libs/gst/base/gstbasesrc.h:
1634           Note in the docs that the ::newsegment vfunc is not actually used by
1635           GstBaseSrc.
1636
1637 2006-07-28  Wim Taymans  <wim@fluendo.com>
1638
1639         * libs/gst/base/gstcollectpads.c:
1640         (gst_collect_pads_set_flushing_unlocked), (gst_collect_pads_pop),
1641         (gst_collect_pads_clear), (gst_collect_pads_flush),
1642         (gst_collect_pads_event), (gst_collect_pads_chain):
1643         When flushing a pad, also clear the queued buffer so that we don't
1644         accidentally use it when we shouldn't.
1645         Fix leaks by inreffing incomming buffer.
1646         Flush out queued buffers in case of errors.
1647         Fixes #347452.
1648
1649 2006-07-28  Wim Taymans  <wim@fluendo.com>
1650
1651         * docs/random/phonon-gst:
1652         Random notes about a Phonon backend.
1653
1654 2006-07-27  Jan Schmidt  <thaytan@mad.scientist.com>
1655
1656         * libs/gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
1657         Extra debug output
1658         * tests/check/libs/gdp.c: (gst_dp_suite):
1659         Take a whack at fixing the ppc compile using a different define to
1660         disable the broken test.
1661
1662         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
1663         Remove excess g_print()
1664
1665 2006-07-27  Jan Schmidt <thaytan@mad.scientist.com>
1666
1667         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
1668         Oops, meant to uncomment this line too to dampen the noise a bit.
1669
1670 2006-07-27  Jan Schmidt <thaytan@mad.scientist.com>
1671
1672         * gst/parse/grammar.y:
1673         * gst/parse/parse.l:
1674         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
1675         (GST_START_TEST), (parse_suite):
1676         Fix some of the leaks exposed by extending the parse-launch testsuite,
1677         and move the 3 I can't figure out into a separate test that won't run
1678         the pipelines unless the appropriate line is uncommented.
1679
1680 2006-07-27  Tim-Philipp Müller  <tim at centricular dot net>
1681
1682         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
1683           Requesting 0 bytes before the end of the file should result in
1684           FLOW_OK and an empty buffer, not FLOW_UNEXPECTED. Thank you
1685           unit test.
1686
1687 2006-07-27  Wim Taymans  <wim@fluendo.com>
1688
1689         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_get_structure):
1690         Fix useless assert, a uint is always positive.
1691
1692         * gst/gststructure.c: (gst_structure_nth_field_name),
1693         (gst_structure_foreach), (gst_structure_map_in_place):
1694         Check input arguments for public functions to avoid obvious crashes.
1695
1696         * plugins/elements/gstfakesink.c: (gst_fake_sink_render):
1697         * plugins/elements/gstfakesink.h:
1698         Do less useless typechecking.
1699
1700 2006-07-27  Tim-Philipp Müller  <tim at centricular dot net>
1701
1702         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
1703           Do not use mmap() by default since there are a number of error
1704           conditions that we would like to handle in a non-fatal way that
1705           will result in a SIGBUS if we use mmap(). Examples: external
1706           devices (USB harddrive, portable music player) being unplugged
1707           while in use; file on mounted CD/DVD that can't be read because
1708           the medium is partly damaged. Fixes #348455 and #348475.
1709
1710 2006-07-27  Jan Schmidt  <thaytan@mad.scientist.com>
1711
1712         * gst/gstquery.h:
1713         Delete unused and misleading define of GST_QUERY_TYPE_RATE_DEN -
1714         rates are a gdouble
1715
1716 2006-07-26  Stefan Kost  <ensonic@users.sf.net>
1717
1718         * gst/gstregistry.c:
1719           Move big documentation comment into class section header, so that it
1720           appears in the API docs.
1721
1722 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
1723
1724         * docs/gst/gstreamer-sections.txt:
1725         Oops. Commit the docs additions too for new API.
1726         Also, remove the mention of the non-existent GST_QUERY_TYPE_RATE_DEN
1727
1728 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
1729
1730         * gst/gststructure.c: (gst_structure_id_set),
1731         (gst_structure_id_set_valist):
1732         * gst/gststructure.h:
1733         Add API for setting values into structures without performing
1734         a quark lookup, if the appropriate quark is already known.
1735
1736         API: gst_structure_id_set
1737         API: gst_structure_id_set_valist
1738
1739         * gst/parse/grammar.y:
1740         * gst/parse/parse.l:
1741         Remove some dead code shown by the coverage information.
1742         Don't throw a critical g_warning when encountering a syntax error,
1743         just warn and let the normal error path handle it.
1744
1745         * plugins/elements/gstelements.c:
1746         Bump the rank of filesink up to PRIMARY so that it is preferred over
1747         gnomevfssink for file:// sink uri's
1748
1749         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
1750         (GST_START_TEST), (run_delayed_test),
1751         (gst_parse_test_element_base_init),
1752         (gst_parse_test_element_class_init), (gst_parse_test_element_init),
1753         (gst_parse_test_element_change_state),
1754         (gst_register_parse_element), (parse_suite):
1755         Beef up the tests for parse syntax to check that more error cases
1756         fail as they are supposed to. Increases the test coverage a bit.
1757
1758 2006-07-26  Tim-Philipp Müller  <tim at centricular dot net>
1759
1760         * docs/manual/basics-elements.xml:
1761           Fix gst_element_link() example.
1762
1763         * gst/gstutils.c:
1764           Mention in API docs that one should usually gst_bin_add()
1765           elements to a bin or pipeline before doing the linking.
1766           
1767 2006-07-26  Wim Taymans  <wim@fluendo.com>
1768
1769         * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_new),
1770         (gst_subbuffer_get_type), (gst_buffer_create_sub):
1771         Avoid function call for known types by keeping the buffer and
1772         subbuffer GType global.
1773
1774         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
1775         Random silly optimisations in read() path.
1776
1777 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
1778
1779         * tools/gst-launch.c: (main):
1780           If the top-level of the parse is a normal bin, it doesn't do the
1781           right logic to run as a top-level element, so place it inside a
1782           pipeline.
1783
1784 2006-07-25  Tim-Philipp Müller  <tim at centricular dot net>
1785
1786         * plugins/elements/gstfilesrc.c: (gst_file_src_set_property):
1787           Remove superfluous g_object_notify() calls, GObject does
1788           that for us automatically.
1789
1790 2006-07-25  Stefan Kost  <ensonic@users.sf.net>
1791
1792         * gst/gstinfo.h:
1793           on Win32, use dllspec to export the debug category symbols
1794
1795 2006-07-24  Tim-Philipp Müller  <tim at centricular dot net>
1796
1797         * gst/gsttaglist.c: (_gst_tag_initialize):
1798           Allow more than one GST_TAG_IMAGE per taglist.
1799
1800 2006-07-24  Thomas Vander Stichele  <thomas at apestaart dot org>
1801
1802         * gst/gstminiobject.c:
1803           update docs
1804         * plugins/elements/gstfdsrc.c: (gst_fd_src_set_property),
1805         (gst_fd_src_create):
1806           log recurring events at LOG level
1807           add more debug for when the fd gets set
1808
1809 2006-07-21  Stefan Kost  <ensonic@users.sf.net>
1810
1811         * gst/gstparse.c: (gst_parse_launch):
1812           Also remove reentrance checks if flex is MT safe (#348179)
1813          Fix my empty ChangeLog entry below
1814
1815 2006-07-21  Andy Wingo  <wingo@pobox.com>
1816
1817         * docs/libs/gstreamer-libs-sections.txt: Attempt to pacify buildbot.
1818
1819         * libs/gst/check/Makefile.am
1820         (libgstcheck_@GST_MAJORMINOR@include_HEADERS)
1821         (libgstcheck_@GST_MAJORMINOR@_la_SOURCES): 
1822         * libs/gst/check/gstbufferstraw.h:
1823         * libs/gst/check/gstbufferstraw.c: Add some new hype testing
1824         functions, thus proving I am still a GStreamer haxor. OK I wrote
1825         them a long time ago, but anyways.
1826
1827 2006-07-21  Stefan Kost  <ensonic@users.sf.net>
1828
1829         * configure.ac:
1830         * gst/gstparse.c: (gst_parse_launch):
1831           Check for flex version and omit mutex if we have a MT save flex
1832           (fixes #348179)
1833
1834 2006-07-21  Wim Taymans  <wim@fluendo.com>
1835
1836         * gst/gstparse.c: (gst_parse_launch):
1837         Protect recursive calls to _parse with a recursive mutex
1838         and busy flag.
1839
1840 2006-07-21  Wim Taymans  <wim@fluendo.com>
1841
1842         * tests/check/gst/gstpad.c: (GST_START_TEST):
1843         Fix leak in test.
1844
1845 2006-07-20  Stefan Kost  <ensonic@users.sf.net>
1846
1847         * gst/gstparse.c: (gst_parse_launch):
1848           Do not hang on recursive usage of gst_parse_launch()
1849
1850 2006-07-20  Tim-Philipp Müller  <tim at centricular dot net>
1851
1852         * gst/gsttaglist.c:
1853           Add some more docs, comments and FIXME 0.11s here and there
1854           and also fix some typos.
1855
1856 2006-07-20  Tim-Philipp Müller  <tim at centricular dot net>
1857
1858         * gst/gstsegment.h:
1859           Convert tabs to spaces for better readability. 
1860
1861 2006-07-20  Edward Hervey  <edward@fluendo.com>
1862
1863         * tests/check/libs/gdp.c: (gst_dp_suite):
1864         the test_buffer test fails at line 140 on ppc64 at the following
1865         check:
1866         fail_unless (GST_BUFFER_FLAG_IS_SET (newbuffer,
1867                 GST_BUFFER_FLAG_IN_CAPS),
1868                 "GST_BUFFER_IN_CAPS flag should have been copied !");
1869         See bug #348114 for more details.
1870
1871 2006-07-19  Tim-Philipp Müller  <tim at centricular dot net>
1872
1873         * docs/pwg/advanced-scheduling.xml:
1874         * gst/gstpad.c:
1875           Fix typos (#348000).
1876
1877 2006-07-18  Tim-Philipp Müller  <tim at centricular dot net>
1878
1879         * docs/pwg/intro-basics.xml:
1880           Fix wrong links (#347927).
1881
1882 2006-07-18  Stefan Kost  <ensonic@users.sf.net>
1883
1884         * gst/gstregistry.h:
1885         * gst/gstregistryxml.c: (load_feature),
1886         (gst_registry_xml_read_cache), (gst_registry_xml_save_feature):
1887         * win32/common/config.h:
1888           make --disable-index work (#342564)
1889
1890 2006-07-18  Wim Taymans  <wim@fluendo.com>
1891
1892         Patch by: Peter Kjellerstedt <pkj at axis dot com>
1893
1894         * gst/Makefile.am:
1895         * gst/gsttrace.h:
1896         The attached patch adds two missing defines to gsttrace.h when tracing
1897         is disabled.  It also corrects one existing define.
1898         Fixes #347756.
1899
1900 2006-07-17  Wim Taymans  <wim@fluendo.com>
1901
1902         * docs/gst/gstreamer-sections.txt:
1903         * gst/gst.c: (gst_segtrap_is_enabled), (gst_segtrap_set_enabled):
1904         * gst/gst.h:
1905         * gst/gstplugin.c: (_gst_plugin_fault_handler_restore):
1906         Add two functions to check and change the SIGSEGV behaviour
1907         when loading plugins.
1908         Don't mess with the SIGSEGV handler when we were told not to.
1909         Fixes #347794.
1910         API: gst_segtrap_is_enabled
1911         API: gst_segtrap_set_enabled
1912
1913 2006-07-14  Wim Taymans  <wim@fluendo.com>
1914
1915         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
1916         * tests/check/elements/filesrc.c: (GST_START_TEST):
1917         Revert fix for regression in #347408 after release.
1918
1919 2006-07-14  Tim-Philipp Müller  <tim at centricular dot net>
1920
1921         Patch by: Antoine Tremblay <hexa00 at gmail com>
1922
1923         * gst/gstutils.c: (gst_element_unlink):
1924           Free iterator when done (#347311).
1925
1926         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1927           And add a test case for this.
1928
1929 2006-07-14  Jan Schmidt  <thaytan@mad.scientist.com>
1930
1931         * configure.ac:
1932         Bump nano back to CVS
1933
1934 === release 0.10.9 ===
1935
1936 2006-07-13  Jan Schmidt <thaytan@mad.scientist.com>
1937
1938         * configure.ac:
1939           releasing 0.10.9, "On the road again"
1940
1941 2006-07-13  Wim Taymans  <wim@fluendo.com>
1942
1943         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
1944         * tests/check/elements/filesrc.c: (GST_START_TEST):
1945         Revert pull-0 fix for release. Disable check. Fixes #347408.
1946
1947 2006-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
1948
1949         * libs/gst/dataprotocol/dataprotocol.c:
1950         (gst_dp_event_from_packet_1_0):
1951           Fixes #347337: failure to deserialize event packets with
1952           empty payload (only event type)
1953
1954 2006-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
1955
1956         * gst/Makefile.am:
1957           do not install a .c file in the header directory
1958
1959 2006-07-13  Edward Hervey  <edward@fluendo.com>
1960
1961         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
1962         GhostPad no longer implicitely use the padtemplates of the targets.
1963         Fixes #347384
1964
1965 2006-07-11  Jan Schmidt  <thaytan@mad.scientist.com>
1966
1967         * gst/gstvalue.c: (gst_value_compare_list),
1968         (gst_value_compare_array), (_gst_value_initialize):
1969         * tests/check/gst/gstvalue.c: (GST_START_TEST):
1970         Make GstValueArray comparison be order dependent as designed.
1971         Add checks for value lists and value array comparisons.
1972         Fixes #347221
1973
1974 2006-07-11  Edward Hervey  <edward@fluendo.com>
1975
1976         * gst/gstbin.c: (activate_pads),
1977         (iterator_activate_fold_with_resync), (gst_bin_src_pads_activate),
1978         (gst_bin_change_state_func):
1979         (de)activate src pads before calling state_change on the childs.
1980         This is to avoid the case where a src ghostpad is blocked (holding the
1981         stream lock), which would block the deactivation of the ghostpad's
1982         target pad.
1983         * gst/gstghostpad.c: (gst_proxy_pad_do_query_type),
1984         (gst_proxy_pad_do_event), (gst_proxy_pad_do_query),
1985         (gst_proxy_pad_do_internal_link), (gst_proxy_pad_do_bufferalloc),
1986         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
1987         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
1988         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
1989         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
1990         (gst_proxy_pad_set_target), (gst_proxy_pad_get_internal),
1991         (gst_proxy_pad_dispose), (gst_proxy_pad_init),
1992         (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
1993         (gst_ghost_pad_class_init),
1994         (gst_ghost_pad_internal_do_activate_push),
1995         (gst_ghost_pad_internal_do_activate_pull),
1996         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
1997         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
1998         (gst_ghost_pad_dispose), (gst_ghost_pad_new_no_target),
1999         (gst_ghost_pad_new), (gst_ghost_pad_set_target):
2000         GhostPads now create their internal GstProxyPad at creation (and not
2001         when they're linked, as it was being done previously).
2002         The internal and target pads are linked straight away.
2003         The data will also travel through the other pad in order to make
2004         pad blocking and probes non-hackish (the probe/block now really happens
2005         on the GhostPad and not on the target).
2006         * gst/gstpad.c: (gst_pad_set_blocked_async),
2007         (gst_pad_link_prepare), (gst_pad_push_event):
2008         Remove previous ghostpad cruft.
2009         * gst/gstutils.c: (gst_pad_add_data_probe),
2010         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
2011         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
2012         (gst_pad_remove_buffer_probe):
2013         Remove previous ghost pad cruft.
2014         Added more detailed debug statements.
2015         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
2016         Fix the testsuite for refcounting changes.
2017         The comments about who has references were correct, but the refcount
2018         being checked wasn't the same (!?!).
2019
2020         Fixes #341029
2021
2022 2006-07-10  Stefan Kost  <ensonic@users.sf.net>
2023
2024         * docs/gst/gstreamer-sections.txt:
2025         * gst/gstconfig.h.in:
2026         More docs for configuration options, add docs to gtk-doc.
2027
2028 2006-07-10  Stefan Kost  <ensonic@users.sf.net>
2029
2030         * gst/Makefile.am:
2031         * gst/gstconfig.h.in:
2032         * win32/common/config.h:
2033         Fix build when disabling tracing (fixes #344016). Also start to document
2034         the defines that disable the sub-systems.
2035
2036 2006-07-10  Edward Hervey  <edward@fluendo.com>
2037
2038         * gst/gst.c: (ensure_current_registry_forking):
2039         let's make valgrind happy...
2040
2041 2006-07-09  Wim Taymans  <wim@fluendo.com>
2042
2043         * gst/gstelement.c: (activate_pads),
2044         (iterator_activate_fold_with_resync), (gst_element_pads_activate):
2045         Better pad activation code: Reset the collect value too on resync.
2046         Add some comments.
2047
2048 2006-07-09  Wim Taymans  <wim@fluendo.com>
2049
2050         * gst/gstpad.c: (gst_pad_init), (gst_pad_activate_pull),
2051         (gst_pad_activate_push):
2052         Use some more macros where it makes sense.
2053         Allow pad mode switching instead of asserting. When a pad
2054         is activated in one mode and we activate it in another, 
2055         deactivate it first before activating it in a different mode.
2056         Fixes #329198.
2057
2058 2006-07-08  Andy Wingo  <wingo@pobox.com>
2059
2060         * tools/gst-launch.c (main): Handle err == NULL.
2061
2062         * gst/gst.c (init_post, ensure_current_registry)
2063         (ensure_current_registry_forking)
2064         (ensure_current_registry_nonforking): Reduce #ifdef ratnest by
2065         factoring out the registry scanning into separate functions. Don't
2066         fork for the rescan is GST_REGISTRY_FORK=no; useful in debugging.
2067         Better environment var name/interface suggestions accepted.
2068
2069 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
2070
2071         * gst/gstobject.c: (gst_object_set_name_default),
2072         (gst_object_set_name):
2073           Random micro-optimisation: don't use a hash table
2074           with strings as keys and the usual strdup/strcmp
2075           involved, but rather just use the GQuark of the
2076           type name as key, since it needs to be looked up
2077           anyway to get the type name string.
2078
2079         * tests/check/gst/gstobject.c: (GST_START_TEST):
2080           Fix various leaks.
2081
2082 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
2083
2084         * gst/gstbin.c: (compare_interface), (gst_bin_get_by_interface),
2085         (gst_bin_iterate_all_by_interface):
2086           Can't use GPOINTER_TO_INT and GINT_TO_POINTER with GTypes.
2087           GTypes are gulongs and thus the top 4 bytes might be cut
2088           off on some platforms when doing GPOINTER_TO_INT, leading
2089           to invalid GTypes and bad things happening (see RH bug #179654).
2090           Also add a check to make sure the type passed in is really
2091           an interface type.
2092
2093 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
2094
2095         * .cvsignore:
2096           Ignore more.
2097
2098 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
2099
2100         * Makefile.am:
2101         * configure.ac:
2102         * gst-element-check.m4:
2103         * gst-element-check.m4.in:
2104           Make gst-element-check-$VERSION.m4 call gst-inspect-$VERSION
2105           instead of the unversioned gst-inspect (#324176, #168659).
2106
2107 2006-07-06  Wim Taymans  <wim@fluendo.com>
2108
2109         * gst/gstmessage.h:
2110         Use a valid int for the _MESSAGE_ANY enum value to avoid compiler
2111         warnings.
2112
2113 2006-07-06  Wim Taymans  <wim@fluendo.com>
2114
2115         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
2116         (gst_base_src_wait), (gst_base_src_update_length),
2117         (gst_base_src_get_range), (gst_base_src_default_check_get_range),
2118         (gst_base_src_check_get_range), (gst_base_src_pad_check_get_range),
2119         (gst_base_src_loop), (gst_base_src_start),
2120         (gst_base_src_activate_pull):
2121         Update docs.
2122         blocksize == 0 now means the default blocksize when working in push
2123         based mode.
2124         Remove some pointless asserts in _wait function.
2125         Fix offset/length calculations and EOS handling. We can now pull 0
2126         bytes as well, which is allowed.
2127         use _check_get_range() to decide if we can operate in _pull based
2128         mode.
2129         Fix refcounting leak when check_get_range function was not 
2130         implemented.
2131         API GstBaseSrc::blocksize range can be 0 too now (default)
2132
2133         * tests/check/elements/filesrc.c: (GST_START_TEST),
2134         (filesrc_suite):
2135         Added check to test _get_range() behaviour.
2136
2137 2006-07-06  Wim Taymans  <wim@fluendo.com>
2138
2139         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
2140         (gst_pad_push), (gst_pad_check_pull_range), (gst_pad_get_range),
2141         (gst_pad_pull_range):
2142         * gst/gstpad.h:
2143         Lots of comments and docs added to the pad functions.
2144         Flesh out the expected behaviour of the get_range() functions.
2145
2146 2006-07-06  Wim Taymans  <wim@fluendo.com>
2147
2148         * gst/gstbus.h:
2149         * gst/gstclock.h:
2150         * gst/gstevent.h:
2151         * gst/gstiterator.h:
2152         * gst/gstpad.h:
2153         * gst/gstplugin.h:
2154         * gst/gsttask.h:
2155         Remove comma at end of enumerator list. 
2156
2157 2006-07-05  Sebastien Moutte  <sebastien@moutte.net>
2158
2159         * win32/common/libgstbase.def:
2160         * win32/common/libgstdataprotocol.def:
2161         * win32/common/libsgtreamer.def:
2162         Add new exported functions.
2163
2164 2006-07-05  Wim Taymans  <wim@fluendo.com>
2165
2166         * libs/gst/base/gstpushsrc.c: (gst_push_src_check_get_range):
2167         Add some more docs here and there.
2168
2169 2006-07-05  Wim Taymans  <wim@fluendo.com>
2170
2171         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_object),
2172         (gst_base_sink_loop), (gst_base_sink_get_position):
2173         When operating in pull mode update the offset so that we
2174         read sequentially.
2175
2176 2006-07-05  Wim Taymans  <wim@fluendo.com>
2177
2178         * gst/gstregistryxml.c: (read_string):
2179         Avoid strdup. (will happen in libxml, but hey!)
2180
2181         * gst/gsturi.c:
2182         Add some more docs.
2183
2184 2006-07-05  Wim Taymans  <wim@fluendo.com>
2185
2186         * gst/gstbuffer.c: (_gst_buffer_copy), (gst_buffer_create_sub):
2187         * tests/check/gst/gstbuffer.c: (GST_START_TEST),
2188         (gst_buffer_suite):
2189         No point in checking if the size of the subbuffer > 0, the
2190         code handles it correclty as demonstrated by unit test.
2191         Also add a unit test for the zero sized _new_and_alloc and
2192         _copy. Fixes #346663.
2193
2194 2006-07-05  Wim Taymans  <wim@fluendo.com>
2195
2196         * libs/gst/base/gstbasetransform.c:
2197         (gst_base_transform_prepare_output_buffer),
2198         (gst_base_transform_buffer_alloc),
2199         (gst_base_transform_handle_buffer):
2200         Make sure the buffer we pass to transform_ip has a refcount of
2201         1 and thus is writable. Fixes #343196
2202
2203 2006-07-04  Jan Schmidt  <thaytan@mad.scientist.com>
2204
2205         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
2206         (gst_file_src_init), (gst_file_src_set_property),
2207         (gst_file_src_get_property), (gst_file_src_map_region):
2208         * plugins/elements/gstfilesrc.h:
2209         Add "sequential" property, off by default, to use madvise and hint
2210         to the kernel that sequential access is desired.
2211         Touch all retrieved pages by default to ensure they are pulled
2212         into memory. (Closes #345720)
2213
2214 2006-07-03  Wim Taymans  <wim@fluendo.com>
2215
2216         * docs/design/part-block.txt:
2217         * docs/design/part-dynamic.txt:
2218         Small docs updates.
2219
2220 2006-07-03  Wim Taymans  <wim@fluendo.com>
2221
2222         * gst/gstcaps.c: (gst_caps_new_empty), (_gst_caps_free),
2223         (gst_caps_unref), (gst_static_caps_get),
2224         (gst_caps_append_structure):
2225         * gst/gstclock.c: (gst_clock_entry_new), (_gst_clock_id_free):
2226         Use GSlice when the glib we build against is >= 2.10
2227
2228 2006-07-03  Wim Taymans  <wim@fluendo.com>
2229
2230         * gst/gstelement.c: (gst_element_pads_activate):
2231         Small cleanup in pad activation code.
2232
2233 2006-07-03  Wim Taymans  <wim@fluendo.com>
2234
2235         Patch by: Peter Kjellerstedt <pkj at axis dot com>
2236
2237         * gst/gst-i18n-app.h:
2238         * gst/gst-i18n-lib.h:
2239         * tools/gst-inspect.c: (print_signal_info):
2240         The attached patch will make the inclusion of gettext.h unconditional in
2241         gst/gst-i18n-app.h and gst/gst-i18n-lib.h, and it will remove the inclusion of
2242         libintl.h in tools/gst-inspect.c.
2243         This allows use of --disable-nls again and fixes #344642.
2244
2245 2006-07-03  Edward Hervey  <edward@fluendo.com>
2246
2247         * gst/gstpad.c: (handle_pad_block), (gst_pad_push_event):
2248         Implement pad blocking on events according to part-block.txt.
2249         More comments on behaviour.
2250         * tests/check/gst/gstevent.c: (test_event):
2251         Send event to peer pad of blocked pad (else it will block).
2252
2253 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
2254
2255         * libs/gst/check/gstcheck.c: (gst_check_message_error),
2256         (gst_check_run_suite):
2257           if we get the wrong message, give us the types as string
2258         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
2259           Fix a translatable
2260         * tests/check/elements/filesrc.c: (GST_START_TEST):
2261           add a test for trying to open a non-existing file
2262
2263 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
2264
2265         * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
2266           add a test for adding self
2267
2268 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
2269
2270         * libs/gst/check/gstcheck.h:
2271           add some assert_ as alias for fail_unless_*
2272         * tests/check/gst/gst.c: (GST_START_TEST), (gst_suite):
2273           increase test coverage
2274
2275 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2276
2277         * Makefile.am:
2278           include lcov.mak for lcov coverage generation
2279         * tools/Makefile.am:
2280           add to CLEANFILES
2281
2282 2006-07-02  Edward Hervey  <edward@fluendo.com>
2283
2284         * tests/check/elements/.cvsignore:
2285         moaping
2286
2287 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2288
2289         * configure.ac:
2290           don't set CFLAGS and friends for gcov, done from GST_GCOV now
2291         * tests/check/Makefile.am:
2292           clean up gcov files
2293
2294 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2295
2296         * gst/gstcaps.c: (gst_caps_remove_and_get_structure):
2297           remove gst_caps_simplify; it was not declared and not used
2298           and deprecated in 0.8
2299
2300 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2301
2302         * docs/faq/gst-uninstalled:
2303           don't put empty paths on PYTHONPATH
2304         * docs/gst/gstreamer-sections.txt:
2305           remove some symbols that are not there
2306
2307 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2308
2309         * gst/gstcaps.c: (gst_caps_compare_structures):
2310           whitespace fixes
2311         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
2312         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
2313           add more tests
2314
2315 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2316
2317         * libs/gst/dataprotocol/Makefile.am:
2318           build dataprotocol test by linking to the lib, instead of
2319           compiling the source, so we get coverage
2320         * tests/check/Makefile.am:
2321         * tests/check/elements/filesrc.c: (event_func), (setup_filesrc),
2322         (cleanup_filesrc), (GST_START_TEST), (filesrc_suite):
2323           add a test for filesrc
2324
2325 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2326
2327         * tests/check/gst/gststructure.c: (GST_START_TEST),
2328         (gst_structure_suite):
2329           Push coverage from 59.04% to 70.00%
2330
2331 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2332
2333         * tests/check/Makefile.am:
2334           gst-inspect every element; this makes sure that we also get
2335           coverage on element's get/set functions
2336
2337 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2338
2339         * configure.ac:
2340           set CFLAGS and friends to -O0 if gcov is being used
2341           add GCOV LIBS
2342         * gst/Makefile.am:
2343         * libs/gst/base/Makefile.am:
2344         * libs/gst/check/Makefile.am:
2345         * libs/gst/controller/Makefile.am:
2346         * libs/gst/dataprotocol/Makefile.am:
2347         * libs/gst/net/Makefile.am:
2348         * plugins/elements/Makefile.am:
2349         * plugins/indexers/Makefile.am:
2350           add makefile rules to generate gcov data and clean up
2351         * tests/check/Makefile.am:
2352           add a coverage target that generates an html overview
2353           of coverage data
2354
2355 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
2356
2357         * tests/check/elements/fakesink.c:
2358         * tests/check/elements/fakesrc.c:
2359         * tests/check/elements/fdsrc.c:
2360         * tests/check/elements/identity.c:
2361         * tests/check/generic/sinks.c: (gst_sinks_suite):
2362         * tests/check/generic/states.c:
2363         * tests/check/gst/gst.c:
2364         * tests/check/gst/gstabi.c:
2365         * tests/check/gst/gstbin.c:
2366         * tests/check/gst/gstbuffer.c: (gst_buffer_suite):
2367         * tests/check/gst/gstbus.c: (gst_bus_suite):
2368         * tests/check/gst/gstcaps.c: (GST_START_TEST):
2369         * tests/check/gst/gstelement.c:
2370         * tests/check/gst/gstevent.c: (gst_event_suite):
2371         * tests/check/gst/gstghostpad.c:
2372         * tests/check/gst/gstiterator.c: (gst_iterator_suite):
2373         * tests/check/gst/gstmessage.c: (gst_message_suite):
2374         * tests/check/gst/gstminiobject.c:
2375         * tests/check/gst/gstobject.c:
2376         * tests/check/gst/gstpad.c:
2377         * tests/check/gst/gstpipeline.c:
2378         * tests/check/gst/gstplugin.c:
2379         * tests/check/gst/gstquery.c: (gst_query_suite):
2380         * tests/check/gst/gstsegment.c: (gst_segment_suite):
2381         * tests/check/gst/gststructure.c:
2382         * tests/check/gst/gstsystemclock.c:
2383         * tests/check/gst/gsttag.c:
2384         * tests/check/gst/gsttask.c: (gst_task_suite):
2385         * tests/check/gst/gstutils.c:
2386         * tests/check/gst/gstvalue.c:
2387         * tests/check/libs/adapter.c:
2388         * tests/check/libs/basesrc.c:
2389         * tests/check/libs/collectpads.c:
2390         * tests/check/libs/controller.c:
2391         * tests/check/libs/gdp.c: (gst_dp_suite):
2392         * tests/check/libs/gstnetclientclock.c:
2393         * tests/check/libs/gstnettimeprovider.c:
2394         * tests/check/libs/libsabi.c: (libsabi_suite):
2395         * tests/check/libs/typefindhelper.c:
2396         * tests/check/pipelines/cleanup.c:
2397         * tests/check/pipelines/parse-launch.c:
2398         * tests/check/pipelines/simple-launch-lines.c:
2399         * tests/check/pipelines/stress.c: (stress_suite):
2400           use the new macro
2401
2402 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
2403
2404         * libs/gst/check/gstcheck.c: (gst_check_run_suite):
2405         * libs/gst/check/gstcheck.h:
2406           create a macro and function so that the simple unit test
2407           case can be just one macro to create main()
2408
2409 2006-06-30  Tim-Philipp Müller  <tim at centricular dot net>
2410
2411         * gst/gstbin.c: (gst_bin_restore_thyself):
2412         * gst/gstxml.c: (gst_xml_make_element):
2413           Fix deserialisation from XML. Set parent manually
2414           instead of using gst_bin_add(), since gst_bin_add()
2415           will unlink all pads of the element being added.
2416           Fixes #341667.
2417
2418 2006-06-28  Tim-Philipp Müller  <tim at centricular dot net>
2419
2420         Patch by: Peter Kjellerstedt <pkj at axis com>
2421
2422         * gst/gst.c: (prepare_for_load_plugin_func), (split_and_iterate):
2423           Fix missing g_strdup() and double free when using the
2424           --gst-plugin-load command line option (#346097).
2425
2426 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
2427
2428         * gst/gstinfo.c:
2429           Promote GST_DEBUG_CATEGORY_STATIC in example in docs.
2430
2431         * libs/gst/net/gstnetclientclock.c:
2432         * libs/gst/net/gstnettimeprovider.c:
2433           Use GST_DEBUG_CATEGORY_STATIC here too (#342503).
2434
2435 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
2436
2437         * docs/manual/advanced-dataaccess.xml:
2438           Fix buffer probe example compilation in
2439           ADM (#345708).
2440         
2441 2006-06-22  Edward Hervey  <edward@fluendo.com>
2442
2443         * gst/gstelement.c: (gst_element_pads_activate):
2444         We need to deactivate src pads first and then sink pads.
2445         The reason is the src pads might be blocking while holding the streaming
2446         lock, so we need to deactivate them first so that deactivating the sink
2447         pads doesn't block (since it will require the streaming lock).
2448
2449 2006-06-22  Wim Taymans  <wim@fluendo.com>
2450
2451         * libs/gst/base/gstbasetransform.c:
2452         (gst_base_transform_buffer_alloc):
2453         Forgot to remove two unneeded unrefs.
2454         Simplify a check _is_equal allready checks the obvious case.
2455
2456 2006-06-22  Wim Taymans  <wim@fluendo.com>
2457
2458         * docs/design/part-block.txt:
2459         Some docs about what pad_block should do.
2460
2461 2006-06-22  Wim Taymans  <wim@fluendo.com>
2462
2463         * gst/gstcaps.c: (gst_caps_replace):
2464         Fix crasher when passed NULL. Doc clarification.
2465         Optimize for the trivial case.
2466
2467         * gst/gstpipeline.c: (gst_pipeline_change_state):
2468         Small cleanups.
2469
2470         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
2471         Small documentation cleanup.
2472
2473         * libs/gst/base/gstbasetransform.c:
2474         (gst_base_transform_buffer_alloc):
2475         Don't use silly gst_pad_get_negotiated_caps, GST_PAD_CAPS
2476         is what we need and it avoids a whole lot of redundant 
2477         refcount operations.
2478
2479 2006-06-22  Tim-Philipp Müller  <tim at centricular dot net>
2480
2481         Patch by: Philip Jägenstedt  <philip at lysator liu se>
2482
2483         * docs/manual/advanced-dataaccess.xml:
2484           Fix 'Embedding static elements' section to use
2485           GST_PLUGIN_DEFINE_STATIC (#345607).
2486
2487 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
2488
2489         * tests/check/pipelines/simple-launch-lines.c: (test_stop_from_app):
2490           Attempt to 'fix' spuriously failing test case: it seems like the
2491           timeout of half a second is simply too small when the system is under
2492           load otherwise, and the timeout doesn't really seem to serve any
2493           particular purpose here. Give the pipeline a few seconds to preroll
2494           first, and then give it another half a second to go from PAUSED to
2495           PLAYING and marshal the message into the main thread.
2496
2497 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
2498
2499         * tools/gst-feedback-m.m:
2500           Don't only use unversioned tools, try versioned tools as well
2501           (#345086).
2502
2503 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
2504
2505         * gst/gstbus.c: (gst_bus_class_init):
2506           Fix some typos, make docs more explicit.
2507
2508 2006-06-20  Wim Taymans  <wim@fluendo.com>
2509
2510         * tests/check/gst/gstghostpad.c: (block_callback),
2511         (GST_START_TEST), (gst_ghost_pad_suite):
2512         Added some more ghostpad tests, mainly blocking
2513         and probes.
2514
2515 2006-06-16  Wim Taymans  <wim@fluendo.com>
2516
2517         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
2518         (gst_file_sink_close_file), (gst_file_sink_do_seek),
2519         (gst_file_sink_event), (gst_file_sink_render):
2520         * plugins/elements/gstfilesink.h:
2521         Check if we can seek in the file instead of assuming
2522         we always can. Post an error when we are asked to seek in a
2523         non-seekable file (like a fifo). Fixes #343312.
2524         Some cleanups.
2525
2526 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
2527
2528         * tools/gst-launch.1.in:
2529           Un-garble (fourcc) bit in filtered caps section.
2530
2531 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
2532
2533         * docs/manual/advanced-autoplugging.xml:
2534         * docs/manual/basics-helloworld.xml:
2535         * docs/manual/highlevel-components.xml:
2536           Don't leak bus reference in sample code.
2537
2538 2006-06-15  Tim-Philipp Müller  <tim at centricular dot net>
2539
2540         * autogen.sh:
2541           Add default for new --enable-plugin-docs switch.
2542
2543         * configure.ac:
2544           Use new GST_PLUGIN_DOCS macro to check for pyxml etc.
2545           Fixes #344039.
2546
2547         * docs/Makefile.am:
2548           Use new ENABLE_PLUGIN_DOCS conditional.
2549
2550 2006-06-14  Wim Taymans  <wim@fluendo.com>
2551
2552         * gst/gstbin.c: (bin_query_duration_done), (gst_bin_query):
2553         Make it clear with a FIXME and a real define what the #if 0
2554         previously disabled.
2555
2556 2006-06-14  Wim Taymans  <wim@fluendo.com>
2557
2558         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
2559         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
2560         * libs/gst/base/gstbasetransform.c:
2561         (gst_base_transform_sink_eventfunc):
2562         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
2563         Don't randomly and silently reset a segment when the format 
2564         changes as this is a bug somewhere upstream. Fixes #330379.
2565
2566 2006-06-14  Tim-Philipp Müller  <tim at centricular dot net>
2567
2568         Patch by: Wouter Paesen  <wouter at kangaroot net>
2569
2570         * libs/gst/controller/gstcontroller.c:
2571         (gst_controlled_property_new):
2572           Fix controlling of float properties (#344849).
2573
2574         * tests/check/libs/controller.c:
2575         (gst_test_mono_source_get_property),
2576         (gst_test_mono_source_set_property),
2577         (gst_test_mono_source_class_init), (GST_START_TEST):
2578           While we're at it, add some float stuff to unit test.
2579
2580 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
2581
2582         * docs/README:
2583         * docs/images/gdp-header.svg:
2584           add a gdp image
2585         * docs/libs/Makefile.am:
2586         * docs/libs/gdp-header.png:
2587         * libs/gst/dataprotocol/dataprotocol.c:
2588           add it to the API docs
2589         * docs/manual/intro-motivation.xml:
2590           fix typo
2591
2592 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
2593
2594         * gst/gst.c: (scan_and_update_registry), (init_post):
2595           If the fork()'ed child process can't write the updated registry cache
2596           file to disk for some reason, make it exit with a failure exit code,
2597           so that the parent can then re-scan the plugins itself and update the
2598           registry structures in memory and work with that (rather than failing
2599           when creating elements because seemingly no plugins are available).
2600           Refactor registry scanning code into separate function for this and
2601           also separate fork() and non-fork() code paths. Fixes #344748.
2602
2603 2006-06-13  Wim Taymans  <wim@fluendo.com>
2604
2605         * docs/manual/advanced-dataaccess.xml:
2606         Fix wrong PluginDesc. Fixes #344755.
2607
2608 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
2609
2610         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
2611           Fix silly bug that prevented us from creating
2612           ~/.gstreamer-0.10 and writing the registry in one
2613           go (the first call to g_mkstemp() would overwrite the
2614           placeholder in the template string, so the second call
2615           to g_mkstemp() after creating the missing directory
2616           would then error out with 'invalid argument').
2617
2618 2006-06-13  Edward Hervey  <edward@fluendo.com>
2619
2620         * gst/gst.c: (init_post):
2621         Free string.
2622
2623 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
2624
2625         * gst/glib-compat-private.h:
2626         * gst/glib-compat.c:
2627         * gst/glib-compat.h:
2628         * gst/gstvalue.c: (gst_value_serialize_flags):
2629           remove GLib 2.6 compatibility code
2630
2631 2006-06-12  Tim-Philipp Müller  <tim at centricular dot net>
2632
2633         * gst/parse/Makefile.am:
2634           Fix build with 'make -j N' even more (#340016).
2635
2636 2006-06-12  Wim Taymans  <wim@fluendo.com>
2637
2638         * docs/gst/gstreamer-sections.txt:
2639         Fix docs.
2640
2641 2006-06-12  Wim Taymans  <wim@fluendo.com>
2642
2643         * gst/gstsegment.c: (gst_segment_set_duration),
2644         (gst_segment_set_last_stop), (gst_segment_set_seek),
2645         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
2646         (gst_segment_to_running_time), (gst_segment_clip):
2647         Use G_UNLIKELY to help the compiler a bit.
2648
2649 2006-06-12  Wim Taymans  <wim@fluendo.com>
2650
2651         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
2652
2653         * gst/gstevent.c: (gst_event_get_type):
2654         * gst/gstmessage.c:
2655         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
2656         (gst_pad_push):
2657         constify quark registration strings. Fixes #344115
2658         Avoid unneeded type checking is _pad_push() by internally
2659         calling gst_pad_chain_unchecked().
2660
2661 2006-06-12  Wim Taymans  <wim@fluendo.com>
2662
2663         * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_finalize),
2664         (_gst_buffer_copy), (gst_buffer_is_metadata_writable),
2665         (gst_subbuffer_finalize), (gst_buffer_create_sub),
2666         (gst_buffer_is_span_fast), (gst_buffer_span):
2667         Init _type for consistency.
2668         Use _FLAGS macro to avoid type check.
2669         Avoid unneeded type checks in subbufer code.
2670
2671 2006-06-12  Wim Taymans  <wim@fluendo.com>
2672
2673         * gst/gst.c: (gst_debug_help):
2674         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_list_free):
2675         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
2676         (gst_plugin_feature_list_free):
2677         * gst/gstregistry.c: (gst_registry_add_plugin),
2678         (gst_registry_add_feature), (gst_registry_plugin_filter),
2679         (gst_registry_feature_filter), (gst_registry_find_plugin),
2680         (gst_registry_find_feature), (gst_registry_get_plugin_list),
2681         (gst_registry_lookup_feature_locked), (gst_registry_lookup_locked):
2682         * gst/gstregistryxml.c: (load_feature),
2683         (gst_registry_xml_read_cache), (gst_registry_xml_write_cache):
2684         * gst/gstminiobject.c: (gst_mini_object_unref),
2685         (gst_mini_object_replace), (gst_value_mini_object_free),
2686         (gst_value_mini_object_copy):
2687         Use _CAST macros to avoid unneeded type checking.
2688         Added some more G_UNLIKELY.
2689
2690 2006-06-12  Wim Taymans  <wim@fluendo.com>
2691
2692         * gst/gstbuffer.h:
2693         Avoid unneeded type checking.
2694         API: GST_BUFFER_IS_DISCONT
2695
2696         * gst/gstminiobject.h:
2697         Avoid type check in flag accessor.
2698
2699         * gst/gstelementfactory.h:
2700         * gst/gstplugin.h:
2701         * gst/gstpluginfeature.h:
2702         Add _CAST macros.
2703         API: GST_ELEMENT_FACTORY_CAST
2704         API: GST_PLUGIN_CAST
2705         API: GST_PLUGIN_FEATURE_CAST
2706
2707 2006-06-12  Wim Taymans  <wim@fluendo.com>
2708
2709         * gst/gstobject.c: (gst_object_get_type), (gst_object_ref),
2710         (gst_object_unref):
2711         Add G_UNLIKELY in type registration.
2712         Avoid type check in _ref/_unref since that is also
2713         done in glib.
2714
2715 2006-06-12  Wim Taymans  <wim@fluendo.com>
2716
2717         * gst/gsterror.c: (gst_g_error_get_type):
2718         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
2719         (gst_static_pad_template_get_type):
2720         * gst/gsttaglist.c: (gst_tag_list_get_type):
2721         * gst/gsttagsetter.c: (gst_tag_setter_get_type):
2722         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type):
2723         * gst/gsturi.c: (gst_uri_handler_get_type):
2724         * gst/gstvalue.c: (gst_date_get_type):
2725         * gst/gstxml.c: (gst_xml_get_type):
2726         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
2727         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
2728         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type):
2729         Add G_UNLIKELY in type registration.
2730
2731 2006-06-12  Wim Taymans  <wim@fluendo.com>
2732
2733         * tools/gst-inspect.c: (print_signal_info):
2734         Properly print enum values.
2735
2736 2006-06-12  Wim Taymans  <wim@fluendo.com>
2737
2738         * gst/gstinfo.c: (gst_debug_set_active),
2739         (gst_debug_category_set_threshold), (_gst_debug_nameof_funcptr):
2740         * gst/gstinfo.h:
2741         Add some G_[UN]LIKELY.
2742         Maintain __gst_debug_min to avoid formatting the arguments of
2743         debug messages that will be dropped anyway to avoid a lot of 
2744         overhead from the debugging system.
2745
2746 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
2747
2748         * po/POTFILES.in:
2749         * po/POTFILES.skip:
2750           add missing files containing translatable strings, tell intltool about
2751           one exception
2752
2753 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
2754
2755         * tests/check/libs/.cvsignore:
2756         add test-binary to ignore list
2757
2758 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
2759
2760         * docs/libs/gstreamer-libs-docs.sgml:
2761         reorder (put dp into a chapter) and indent
2762
2763 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
2764
2765         * configure.ac:
2766           back to HEAD
2767
2768 === release 0.10.8 ===
2769
2770 2006-06-10  Thomas Vander Stichele <thomas at apestaart dot org>
2771
2772         * configure.ac:
2773           releasing 0.10.8, "Soepeke, ik zie ou nog altijd nie"
2774
2775 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
2776
2777         * gst/gst.c: (init_post):
2778           move pid declaration to declaration block
2779
2780 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
2781
2782         * gst/gst.c: (init_post):
2783           use _exit() instead of exit() in our forked child; this ensures
2784           that none of the registered exit handlers from whatever is using
2785           GStreamer get executed.  This fixes gnome-mixer-applet failing
2786           to load, because ORBit would shut down.
2787           Spotted by: Edward Hervey  <edward@fluendo.com>
2788           Fix suggested by: Tim-Philipp Müller  <tim at centricular dot net>
2789           Fixes #344474
2790
2791 2006-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
2792
2793         * configure.ac:
2794           back to TRUNK
2795
2796 === release 0.10.7 ===
2797
2798 2006-06-09  Thomas Vander Stichele <thomas at apestaart dot org>
2799
2800         * configure.ac:
2801           releasing 0.10.7, "Soepeke, ik zie ou"
2802
2803 2006-06-07  Thomas Vander Stichele  <thomas at apestaart dot org>
2804
2805         * configure.ac:
2806         * po/af.po:
2807         * po/az.po:
2808         * po/bg.po:
2809         * po/ca.po:
2810         * po/cs.po:
2811         * po/de.po:
2812         * po/en_GB.po:
2813         * po/fr.po:
2814         * po/it.po:
2815         * po/nb.po:
2816         * po/nl.po:
2817         * po/ru.po:
2818         * po/sq.po:
2819         * po/sr.po:
2820         * po/sv.po:
2821         * po/tr.po:
2822         * po/uk.po:
2823         * po/vi.po:
2824         * po/zh_CN.po:
2825         * po/zh_TW.po:
2826         * win32/common/config.h:
2827           0.10.6.2 prerelease
2828
2829 2006-06-07  Wim Taymans  <wim@fluendo.com>
2830
2831         * gst/gstindex.c: (gst_index_gtype_resolver):
2832         * tools/gst-xmlinspect.c: (print_plugin_info):
2833         Fix leak spotted by coverity checker. Fixes #343827
2834         Fix another other leak found by paolo borelli.
2835
2836 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
2837
2838         * libs/gst/dataprotocol/dataprotocol.c:
2839         (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
2840         (gst_dp_version_get_type), (gst_dp_init),
2841         (gst_dp_header_from_buffer), (gst_dp_header_from_buffer_1_0),
2842         (gst_dp_packet_from_caps), (gst_dp_packet_from_caps_1_0),
2843         (gst_dp_packet_from_event), (gst_dp_packet_from_event_1_0),
2844         (gst_dp_event_from_packet_0_2), (gst_dp_event_from_packet_1_0),
2845         (gst_dp_event_from_packet), (gst_dp_packetizer_new),
2846         (gst_dp_packetizer_free):
2847         * libs/gst/dataprotocol/dataprotocol.h:
2848           API: add a GstDPPacketizer object, and create/free functions
2849           API: add GstDPVersion enum
2850           Add 1.0 event function that uses the string serialization
2851           Serialize more useful buffer flags
2852           Fixes #343988
2853
2854 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
2855
2856         * tests/check/Makefile.am:
2857         * tests/check/gst/gstabi.c:
2858         * tests/check/gst/struct_ppc64.h:
2859         * tests/check/libs/libsabi.c:
2860         * tests/check/libs/struct_ppc64.h:
2861           add ppc64 structure sizes
2862
2863 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
2864
2865         * tests/check/Makefile.am:
2866         * tests/check/gst/gstabi.c:
2867         * tests/check/gst/struct_x86_64.h:
2868         * tests/check/libs/libsabi.c:
2869         * tests/check/libs/struct_x86_64.h:
2870           generate and add structure size lists for x86_64
2871
2872 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
2873
2874         * libs/gst/check/gstcheck.c: (gst_check_abi_list):
2875         * libs/gst/check/gstcheck.h:
2876           factor out the method from tests that checks size of structures,
2877           and add code to generate the header containing these sizes
2878         * tests/check/gst/gstabi.c: (GST_START_TEST):
2879         * tests/check/gst/struct_i386.h:
2880         * tests/check/libs/libsabi.c: (GST_START_TEST):
2881         * tests/check/libs/struct_i386.h:
2882           use it
2883
2884 2006-06-06  Michael Smith  <msmith@fluendo.com>
2885
2886         * gst/gstsegment.h:
2887           Don't use c++-style comments, fixes #343929
2888
2889 2006-06-05  Edward Hervey  <edward@fluendo.com>
2890
2891         * gst/gst.c:
2892         plugin_paths is not used if we build without registry support.
2893
2894         * gst/gstsegment.c: (gst_segment_copy): 
2895         _copy() was always returning NULL...
2896
2897 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2898
2899         * libs/gst/dataprotocol/dataprotocol.c:
2900         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
2901         (gst_dp_packet_from_event):
2902           factor out CRC code
2903
2904 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2905
2906         * libs/gst/check/gstcheck.c: (gst_check_teardown_src_pad):
2907           make sure we unset caps
2908
2909 2006-06-02  Michael Smith  <msmith@fluendo.com>
2910
2911         * libs/gst/check/gstcheck.c: (gst_check_init),
2912         (gst_check_chain_func):
2913         * libs/gst/check/gstcheck.h:
2914           Add a cond/mutex to the check support lib, signal this whenever we
2915           add to the buffers list. This will allow tests to not busy-wait on
2916           the buffer-list.
2917
2918 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2919
2920         * libs/gst/dataprotocol/dataprotocol.c:
2921         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
2922         (gst_dp_packet_from_event):
2923           factor out some common header init code
2924
2925 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2926
2927         * docs/libs/gstreamer-libs-sections.txt:
2928         * docs/libs/tmpl/gstdataprotocol.sgml:
2929         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
2930         * libs/gst/dataprotocol/dataprotocol.h:
2931           API: make gst_dp_crc() public
2932
2933 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
2934
2935         * plugins/indexers/gstindexers.c: (plugin_init):
2936         conditionally register fileindexer (fixes #343598)
2937
2938 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
2939
2940         * gst/gsttagsetter.h:
2941         Can't cast ifaces to a class
2942
2943         * libs/gst/net/gstnetclientclock.h:
2944         * libs/gst/net/gstnettimeprovider.h:
2945         * plugins/elements/gstfakesink.h:
2946         * plugins/elements/gstfakesrc.h:
2947         * plugins/elements/gstfdsink.h:
2948         * plugins/elements/gstfdsrc.h:
2949         * plugins/elements/gstfilesink.h:
2950         * plugins/elements/gstfilesrc.h:
2951         * plugins/elements/gstidentity.h:
2952         * plugins/elements/gstqueue.h:
2953         * plugins/elements/gsttee.h:
2954         * plugins/indexers/gstfileindex.c:
2955         * plugins/indexers/gstmemindex.c:
2956         * tests/old/examples/plugins/example.h:
2957         Fix more gobject macros: obj<->klass, GstXXX<->GstXXXClass
2958
2959 2006-06-01  Thomas Vander Stichele  <thomas at apestaart dot org>
2960
2961         * libs/gst/dataprotocol/dataprotocol.c:
2962         (gst_dp_header_from_buffer):
2963           make sure we zero the whole ABI-compatible area
2964
2965 2006-06-01  Wim Taymans  <wim@fluendo.com>
2966
2967         Patch by: Alessandro Decina <alessandro at nnva dot org>
2968
2969         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop):
2970         Make sure the EOS flag is cleared from pads after a flush
2971         or stop. Fixes #343538.
2972
2973         * tests/check/libs/collectpads.c: (GST_START_TEST),
2974         (gst_collect_pads_suite):
2975         Added test for collectpads reusage after EOS.
2976
2977 2006-05-30  Sebastien Moutte  <sebastien@moutte.net>
2978
2979         * gst/gst.c:
2980          set #include <sys/wait.h> in a #ifdef #ifdef HAVE_FORK
2981         * win32/common/libgstbase.def:
2982          export gst_collect_pads_set_flushing
2983         * win32/common/libgstreamer.def:
2984          export gst_pad_set_acceptcaps_function, gst_structure_empty_new,
2985          gst_value_fraction_multiply
2986         * win32/vs6/gst_inspect.dsp:
2987          add a link to intl.lib
2988
2989 2006-05-30  Wim Taymans  <wim@fluendo.com>
2990
2991         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
2992         (gst_collect_pads_chain):
2993         Handle the case where a pad is removed from the collection
2994         that could cause the other pads to become collectable.
2995
2996 2006-05-30  Wim Taymans  <wim@fluendo.com>
2997
2998         * gst/gstelement.c:
2999         Clarify the use of _release_request_pad() and
3000         _get_request_pad() a bit better.
3001
3002         * libs/gst/base/gstadapter.c: (gst_adapter_peek),
3003         (gst_adapter_take_buffer):
3004         Fix some doc and comment typos.
3005
3006 2006-05-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
3007
3008         * docs/gst/gstreamer-sections.txt:
3009         * docs/libs/gstreamer-libs-sections.txt:
3010           add declared symbols
3011
3012 2006-05-30  Jan Schmidt  <thaytan@mad.scientist.com>
3013
3014         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
3015         Add debug that can be enabled using a #define at the top of the file,
3016         for dumping stats about how late/early we were when waking up from
3017         waiting on the clock.
3018
3019 2006-05-30  Wim Taymans  <wim@fluendo.com>
3020
3021         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_check_pads):
3022         When rebuilding the pad list, don't leak the previous list.
3023
3024 2006-05-30  Wim Taymans  <wim@fluendo.com>
3025
3026         Patch by: Lutz Mueller <lutz at topfrose dot de>
3027
3028         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
3029         (gst_base_src_get_query_types), (gst_base_src_update_length):
3030         Publish supported query types.
3031         Update last_stop field in get_range mode so the position
3032         query works. Fixes #342321.
3033
3034 2006-05-30  Tim-Philipp Müller  <tim at centricular dot net>
3035
3036         * docs/gst/gstreamer-sections.txt:
3037         * gst/gsttaglist.c: (_gst_tag_initialize):
3038         * gst/gsttaglist.h:
3039           API: add GST_TAG_PREVIEW_IMAGE (#343341).
3040
3041 2006-05-30  Wim Taymans  <wim@fluendo.com>
3042
3043         Patch by: Alessandro Decina <alessandro at nnva dot org>
3044
3045         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
3046         Unlock mutex when removing an unknown pad.
3047         Fixes #343334.
3048
3049         * tests/check/Makefile.am:
3050         * tests/check/libs/collectpads.c: (collected_cb), (push_buffer),
3051         (push_event), (setup), (teardown), (GST_START_TEST),
3052         (gst_collect_pads_suite), (main):
3053         Added collecpads check, disabled for now as check crashes for
3054         some reason.
3055
3056 2006-05-29  Wim Taymans  <wim@fluendo.com>
3057
3058         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize):
3059         Don't leak pads lists.
3060
3061 2006-05-29  Wim Taymans  <wim@fluendo.com>
3062
3063         * docs/libs/gstreamer-libs-sections.txt:
3064         * libs/gst/base/gstcollectpads.c:
3065         (gst_collect_pads_set_flushing_unlocked),
3066         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
3067         (gst_collect_pads_stop):
3068         * libs/gst/base/gstcollectpads.h:
3069         API: gst_collect_pads_set_flushing()
3070         Added api to set the pads to flushing, useful for seeking
3071         code in elements using collectpads.
3072         Clear segment when receiving a flush.
3073
3074 2006-05-29  Tim-Philipp Müller  <tim at centricular dot net>
3075
3076         * gst/gst.c: (add_path_func), (init_post):
3077           Don't scan registry paths passed via --gst-plugin-path immediately
3078           (will crash, because absolutely nothing is set up and no types are
3079           registered etc.); do this later in init_post(). Fixes #343057.
3080
3081 2006-05-28  Thomas Vander Stichele  <thomas at apestaart dot org>
3082
3083         * gst/gst.c: (init_post):
3084           if we have fork, fork while reading/rebuilding the registry
3085           so the parent doesn't take the hit of having all plugins loaded
3086           in memory.  Fixes #342777.
3087         * configure.ac:
3088           Check if we have fork()
3089         * win32/common/config.h.in:
3090           no fork() on win32
3091
3092 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
3093
3094         * plugins/elements/gstelements.c:
3095         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
3096         (gst_file_src_init), (gst_file_src_set_property),
3097         (gst_file_src_get_property), (gst_file_src_start):
3098         * plugins/elements/gstfilesrc.h:
3099           API: GstFileSrc::use-mmap
3100
3101         Add a use-mmap property to enable easier testing of all code paths.
3102         Bump rank to PRIMARY, so filesrc is the preferred file reader and used
3103         in the absence of gnomevfssrc. (Closes #340501)
3104
3105 2006-05-26  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
3106
3107         * tools/gst-inspect.c:
3108         Add missing include, removes warning of ngettext not being defined on
3109         some arches.
3110
3111 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
3112
3113         * gst/gstvalue.c: (gst_value_deserialize_fraction):
3114         Handle NULL input and output pointers silently as a failed conversion,
3115         rather than g_warnings.
3116
3117 2006-05-25  Wim Taymans  <wim@fluendo.com>
3118
3119         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_start):
3120         Initialize variable before using. Fixes #342820.
3121
3122 2006-05-24  Tim-Philipp Müller  <tim at centricular dot net>
3123
3124         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek):
3125           Fix off-by-one bug that would only allow peeks of N-1 bytes
3126           from the start even if the buffer to typefind on contains
3127           in fact N bytes of data (makes vorbis typefinding from a
3128           vorbis identification header buffer work).
3129
3130         * tests/check/Makefile.am:
3131         * tests/check/libs/.cvsignore:
3132         * tests/check/libs/typefindhelper.c: (GST_START_TEST),
3133         (gst_typefindhelper_suite), (main), (foobar_typefind),
3134         (plugin_init):
3135           Add very basic unit test for gst_type_find_helper_for_buffer()
3136           that checks for the problem fixed above.
3137
3138 2006-05-24  Thomas Vander Stichele  <thomas at apestaart dot org>
3139
3140         * tools/gst-inspect.c: (print_interfaces),
3141         (print_element_properties_info), (print_element_list), (main):
3142           add more translatable strings
3143
3144 2006-05-23  Tim-Philipp Müller  <tim at centricular dot net>
3145
3146         Patch by: Julien Moutte  <julien at moutte net>
3147
3148         * docs/gst/gstreamer-sections.txt:
3149           Make new GST_FLOW_IS_SUCCESS macro visible in docs.
3150           
3151         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
3152         (gst_fake_sink_preroll):
3153         * plugins/elements/gstfakesink.h:
3154           API: Add new GstFakeSink::preroll-handoff signal (#337100).
3155
3156 2006-05-23  Wim Taymans  <wim@fluendo.com>
3157
3158         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark):
3159         * gst/gstpad.h:
3160         Added _CUSTOM error and success GstFlowReturn that can be
3161         used be elements internally. 
3162         Added macro to check for SUCCESS flowreturns.
3163         API: GST_FLOW_CUSTOM_SUCCESS
3164         API: GST_FLOW_CUSTOM_ERROR
3165         API: GST_FLOW_IS_SUCCESS
3166
3167         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
3168         Added check for GstFlowReturn sanity.
3169
3170 2006-05-23  Wim Taymans  <wim@fluendo.com>
3171
3172         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
3173
3174         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
3175         (gst_collect_pads_event):
3176         clear/reset segment info in FLUSH_STOP.
3177         Fixes #336929.
3178
3179 2006-05-22  Stefan Kost  <ensonic@users.sf.net>
3180
3181         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop),
3182         (gst_collect_pads_check_collected):
3183         Flush queued buffer on _stop(), fixes playing again (#342454)
3184
3185 2006-05-22  Thomas Vander Stichele  <thomas at apestaart dot org>
3186
3187         * tests/check/gst/gststructure.c: (GST_START_TEST),
3188         (gst_structure_suite):
3189           add a test for a complete structure
3190
3191 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
3192
3193         * docs/faq/developing.xml:
3194         * docs/faq/faq.xml:
3195         * docs/faq/troubleshooting.xml:
3196         * docs/faq/using.xml:
3197           Some minor FAQ updates that won't change the fact that
3198           our FAQ is badly structured, full of information hardly
3199           anyone new to GStreamer needs to know and lacking lots
3200           of information people constantly ask for.
3201           
3202 2006-05-19  Jan Schmidt  <thaytan@mad.scientist.com>
3203
3204         * gst/gstpad.c: (gst_pad_set_caps):
3205           Short-circuit gst_pad_set_caps if setting the existing
3206           caps pointer again, and avoid printing debug and 
3207           reffing/unreffing the caps.
3208
3209         * plugins/elements/gstqueue.c: (gst_queue_push_one):
3210           There's actually no need to set the caps before pushing -
3211           the acceptcaps method will handle it anyway.
3212
3213 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
3214
3215         * docs/gst/gstreamer-sections.txt:
3216         * win32/common/libgstreamer.def:
3217         * gst/gstutils.c: (gst_element_seek_simple):
3218         * gst/gstutils.h:
3219           API: add gst_element_seek_simple() (#342238).
3220
3221 2006-05-18  Edward Hervey  <edward@fluendo.com>
3222
3223         * gst/gsttypefind.c: (gst_type_find_get_type):
3224         * gst/gsttypefind.h:
3225         Added GST_TYPE_TYPE_FIND and gst_type_find_get_type() so a GType gets
3226         registered for GstTypeFind pointers. This allows wrapping the structure
3227         in bindings (i.e. gst-python).
3228
3229 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
3230
3231         * gst/gsttagsetter.c:
3232           Docs additions and fixes (see #339918).
3233
3234 2006-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
3235
3236         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
3237         The caps intersection algorithm can produce multiple copies of the
3238         caps. Until that is fixed, we need to simplify the result to be
3239         sure whether the allowed caps are fixed or not.
3240
3241         * plugins/elements/gstqueue.c: (gst_queue_init),
3242         (gst_queue_bufferalloc), (gst_queue_acceptcaps),
3243         (gst_queue_push_one):
3244         Proxied buffer alloc should not set the caps on the source pad.
3245         When pushing buffers, we always accept the caps change that triggers.
3246         This prevents negotiation errors caused by caps changing mid-stream 
3247         and then being refused on our source pad (because upstream is now
3248         refusing those caps).
3249
3250 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
3251
3252         * tests/examples/helloworld/helloworld.c: (main):
3253           Must plug audioconvert and audioresample between decoder
3254           and audio sink.
3255
3256 2006-05-17  Jan Schmidt  <thaytan@mad.scientist.com>
3257
3258         * gst/gstregistryxml.c: (read_string), (load_pad_template),
3259         (load_feature), (load_plugin):
3260         Allow empty strings for some of the plugin fields so we don't 
3261         drop valid plugin entries that were written out correctly
3262         (Fixes #341479)
3263
3264 2006-05-17  Sebastien Moutte  <sebastien@moutte.net>
3265         
3266         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
3267           Use g_remove and g_rename instead of remove and rename that don't 
3268           handle utf8 characters. rename was failing for users who had specific
3269           characters in their name then the registry was built at each 
3270           gstreamer init.
3271         * win32/vs6/gst_inspect.dsp:
3272         * win32/vs6/gst_launch.dsp:
3273         * win32/vs6/libgstbase.dsp:
3274         * win32/vs6/libgstcoreelements.dsp:
3275         * win32/vs6/libgstreamer.dsp:
3276           Use a debug version of libxml2 (libxml2D.lib,libxml2D.dll) for DEBUG 
3277           build of libgstreamer and clean unused libraries in projects link 
3278           settings.
3279
3280 2006-05-17  Edward Hervey  <edward@fluendo.com>
3281
3282         * plugins/elements/gstqueue.c: (gst_queue_push_one):
3283         The queue is not responsible for pushing an EOS when receiving a fatal
3284         flow error. It's up to the real element driving the pipeline to do that.
3285
3286 2006-05-16  Edward Hervey  <edward@fluendo.com>
3287
3288         * plugins/elements/gstqueue.c: (gst_queue_push_one):
3289         The queue was posting a non-needed GST_MESSAGE_ERROR when pushing a
3290         buffer returned a fatal error. It should just send an EOS and stop
3291         its task.
3292         Upstream elements will then properly receive the GST_FLOW_UNEXPECTED
3293         when pushing buffers on the queue and will be able to handle the event.
3294
3295 2006-05-16  Tim-Philipp Müller  <tim at centricular dot net>
3296
3297         * docs/manual/basics-bins.xml:
3298         * docs/manual/basics-init.xml:
3299           Fix typos and minor errors in sample code (#341856).
3300
3301 2006-05-16  Wim Taymans  <wim@fluendo.com>
3302
3303         * docs/design/part-qos.txt:
3304         Fix indexes in formulas to make more sense.
3305
3306 2006-05-15  Wim Taymans  <wim@fluendo.com>
3307
3308         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
3309         Don't report POSITION based on clock time if sync is
3310         disabled in a sink.
3311
3312 2006-05-15  Tim-Philipp Müller  <tim at centricular dot net>
3313
3314         * gst/gstobject.h:
3315           Add cast to make compiler happy - refcount variable was a gint
3316           in GstObject but is a guint in GObject and g_atomic_int_get()
3317           wants a gint *.
3318
3319 2006-05-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3320
3321         * gst/parse/Makefile.am:
3322           chain commands using &&, which also makes parallel make work
3323
3324 2006-05-14  Tim-Philipp Müller  <tim at centricular dot net>
3325
3326         * docs/gst/gstreamer-sections.txt:
3327         * gst/gstevent.c:
3328         * gst/gstevent.h:
3329         * gst/gstmessage.h:
3330           Minor docs fixes.
3331
3332 === release 0.10.6 ===
3333
3334 2006-05-14  Jan Schmidt <thaytan@mad.scientist.com>
3335
3336         * configure.ac:
3337           releasing 0.10.6, "Take the cannoli"
3338
3339 2006-05-13  Tim-Philipp Müller  <tim at centricular dot net>
3340
3341         * tools/gst-launch.c: (print_tag):
3342           Fix use of uninitialized variable in the hypothetical
3343           case that some broken plugin creates a GST_TAG_IMAGE
3344           tag containing a NULL buffer (#341667).
3345
3346 2006-05-12  Tim-Philipp Müller  <tim at centricular dot net>
3347
3348         * tools/gst-launch.c: (print_tag):
3349           Print something more intelligible for image tags when
3350           using the -t switch (#341556).
3351
3352 2006-05-12  Thomas Vander Stichele  <thomas at apestaart dot org>
3353
3354         * Makefile.am:
3355           updates for win32
3356         * configure.ac:
3357           define GST_MAJORMINOR so we have it available in win32/common/config.h
3358           Possibly remove it from our Makefile.am files later
3359         * win32/common/config.h:
3360         * win32/common/config.h.in:
3361           added GST_MAJORMINOR
3362         * win32/common/gstenumtypes.c: (register_gst_resource_error):
3363         * win32/common/gstversion.h:
3364           updated
3365
3366 2006-05-12  Sebastien Moutte  <sebastien@moutte.net>
3367
3368         * win32/MANIFEST:
3369           Update win32 files listing.
3370         * win32/common/gstversion.h:
3371           Add GST_MAJORMINOR definition.
3372         * win32/common/libgstreamer.def:
3373           Add new exported functions.
3374           
3375 2006-05-12  Michael Smith  <msmith@fluendo.com>
3376
3377         * gst/gstplugin.c: (gst_plugin_load_file):
3378           If an so file has no plugin entry point, unload the module.
3379
3380 2006-05-11  Wim Taymans  <wim@fluendo.com>
3381
3382         * plugins/elements/gstqueue.c: (gst_queue_chain), (gst_queue_loop),
3383         (gst_queue_set_property):
3384         Don't forget to signal the _chain or _loop function 
3385         when the queue size or thresholds change since that might
3386         cause them to make progres again.
3387
3388 2006-05-11  Stefan Kost  <ensonic@users.sf.net>
3389
3390         * gst/gstclock.c: (gst_clock_class_init):
3391         * gst/gstindex.c: (gst_index_class_init):
3392         * gst/gstobject.c: (gst_object_class_init):
3393         * gst/gstpad.c: (gst_pad_class_init):
3394         * gst/gstpipeline.c: (gst_pipeline_class_init):
3395         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
3396         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
3397         * libs/gst/base/gstbasetransform.c:
3398         (gst_base_transform_class_init):
3399         * libs/gst/net/gstnetclientclock.c:
3400         (gst_net_client_clock_class_init):
3401         * libs/gst/net/gstnettimeprovider.c:
3402         (gst_net_time_provider_class_init):
3403         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
3404         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
3405         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
3406         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
3407         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
3408         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
3409         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
3410         * plugins/elements/gstidentity.c: (gst_identity_class_init):
3411         * plugins/elements/gsttee.c: (gst_tee_class_init):
3412         * tests/old/examples/plugins/example.c: (gst_example_class_init):
3413         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
3414           G_OBJECT_CLASS macro usage batch cleanup, fixes #337747 for core
3415
3416 2006-05-11  Wim Taymans  <wim@fluendo.com>
3417
3418         * gst/gstbuffer.c: (_gst_buffer_initialize):
3419         Register subbufer along with the buffer type so that
3420         it does not accidentally gets registered from N
3421         different streaming threads in a non threadsafe way.
3422
3423 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
3424
3425         * gst/gstbuffer.h:
3426         * gst/gstevent.h:
3427         * gst/gstmessage.h:
3428           Make gtk-doc generate docs for our inlined gst_buffer_ref(),
3429           gst_event_ref() and gst_message_ref() functions again
3430           (ugly hack, please do fix if there's a better way besides
3431           overrides.txt, which doesn't seem to work).
3432
3433 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3434
3435         * libs/gst/check/gstcheck.h:
3436           add an assert for setting state to avoid lots of repetitive code
3437           in the future
3438
3439 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3440
3441         * gst/gstvalue.c: (gst_value_serialize_flags):
3442           fix a leak if no flags are set
3443         * tests/check/gst/gstvalue.c: (GST_START_TEST):
3444           fix leak in tests
3445
3446 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
3447
3448         * docs/manual/basics-pads.xml:
3449           Expand a bit on caps and filtered links and update
3450           examples that were still using the no longer existing
3451           gst_pad_link_filtered() (#338206).
3452
3453 2006-05-10  Wim Taymans  <wim@fluendo.com>
3454
3455         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
3456         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
3457         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
3458         (gst_collect_pads_stop):
3459         * libs/gst/base/gstcollectpads.h:
3460         No need to call _stop in _finalize.
3461         Iterate the main pad list in _finalize.
3462         Added some more debug.
3463         Free lists and data in the right order.
3464         Also free data whem doing _remove_pad when stopped for
3465         backward compatibility protect ::started with PAD_LOCK as
3466         well.
3467
3468 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3469
3470         * gst/gststructure.c: (gst_structure_gtype_from_abbr),
3471         (gst_structure_parse_value):
3472           add some comments
3473           rename a method so that it actually says what it does better
3474
3475 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3476
3477         * gst/gstevent.c: (_gst_event_initialize):
3478         * gst/gstformat.c: (_gst_format_initialize):
3479           make sure some essential types used by events are registered
3480           as part of gst_init()
3481         * gst/gstvalue.c: (gst_value_serialize_flags):
3482           if no flags are set, serialize them to a value that represents NONE
3483           so that deserializing them works
3484         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
3485           add tests for serialization and deserialization of flags
3486
3487 2006-05-10  Wim Taymans  <wim@fluendo.com>
3488
3489         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_collect),
3490         (gst_collect_pads_collect_range), (gst_collect_pads_available),
3491         (gst_collect_pads_check_pads), (gst_collect_pads_check_collected),
3492         (gst_collect_pads_event), (gst_collect_pads_chain):
3493         Update docs.
3494         Better debug info.
3495         Catch and return errors from the collect function
3496         Refuse data on eos pads.
3497
3498 2006-05-10  Edward Hervey  <edward@fluendo.com>
3499
3500         * gst/gstinterface.h:
3501         GST_IMPLEMENTS_INTERFACE and GST_IS_IMPLEMENTS_INTERFACE use the normal
3502         GInterface type checking.
3503         They were previously using non-defined macros.
3504
3505 2006-05-09  Wim Taymans  <wim@fluendo.com>
3506
3507         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_init),
3508         (gst_collect_pads_finalize), (gst_collect_pads_add_pad),
3509         (gst_collect_pads_remove_pad), (gst_collect_pads_set_flushing),
3510         (gst_collect_pads_start), (gst_collect_pads_stop),
3511         (gst_collect_pads_peek), (gst_collect_pads_pop),
3512         (gst_collect_pads_available), (gst_collect_pads_read),
3513         (gst_collect_pads_flush), (gst_collect_pads_check_pads),
3514         (gst_collect_pads_is_collected), (gst_collect_pads_event),
3515         (gst_collect_pads_chain):
3516         * libs/gst/base/gstcollectpads.h:
3517         Clean up the mess that is collectpads, add comments and
3518         FIXMEs where needed.
3519         Maintain a separate pad list so we can add pads while
3520         collecting the other ones. For this we need a new separate 
3521         lock (see comics).
3522         Fix memory leak in finalize.
3523         Refactor some weird code to set/unset pad flushing flags, mark
3524         with comments.
3525         Don't crash in _available, _read, _flush when we're EOS.
3526
3527         * tests/check/libs/.cvsignore:
3528         Ignore adapter check binary.
3529
3530 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
3531
3532         * gst/gstindex.c: (gst_index_resolver_get_type):
3533         * plugins/elements/gstfakesink.c:
3534         (gst_fake_sink_state_error_get_type):
3535         * plugins/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
3536         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type):
3537         * plugins/elements/gstqueue.c: (queue_leaky_get_type):
3538           Const-ify GEnumValue arrays.
3539
3540 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
3541
3542         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
3543           Add test case for flags + gst_buffer_make_metadata_writable().
3544
3545 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
3546
3547         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable):
3548           gst_buffer_make_metadata_writable() should maintain the
3549           buffer flags (those that make sense at least) (see #340859).
3550
3551 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
3552
3553         * tools/gst-inspect.c:
3554         * tools/gst-launch.c:
3555         * tools/gst-typefind.c:
3556         * tools/gst-xmlinspect.c:
3557         * tools/tools.h:
3558           Fix up includes: need to include stdlib.h in tools.h for exit().
3559
3560 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
3561
3562         * gst/gsttaglist.c: (_gst_tag_initialize):
3563         * gst/gsttaglist.h:
3564           API: add GST_TAG_IMAGE tag (#340721).
3565
3566 2006-05-08  Wim Taymans  <wim@fluendo.com>
3567
3568         * gst/gstquery.c:
3569         Added some docs for the segment query.
3570
3571 2006-05-08  Wim Taymans  <wim@fluendo.com>
3572
3573         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
3574         (gst_base_src_loop), (gst_base_src_change_state):
3575         Always push non-flushing serialized events in the streaming 
3576         thread.
3577
3578 2006-05-08  Thomas Vander Stichele  <thomas at apestaart dot org>
3579
3580         * gst/gsterror.c: (_gst_stream_errors_init):
3581           Add a missing error string.
3582
3583 2006-05-08  Jan Schmidt  <thaytan@mad.scientist.com>
3584
3585         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment):
3586         Add applied_rate to the debug
3587
3588         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
3589         Copy applied_rate into the outgoing NEWSEGMENT event
3590
3591 2006-05-08  Wim Taymans  <wim@fluendo.com>
3592
3593         Patch by: Philippe Rouquier <philippero at libertysurf dot fr>
3594
3595         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
3596         (gst_base_sink_change_state):
3597         call ::unlock before taking the PREROLL_LOCK so we can safely
3598         handle elements that lock in ::render.
3599         Fixes #340174.
3600
3601 2006-05-08  Edward Hervey  <edward@fluendo.com>
3602
3603         * autogen.sh: (CONFIGURE_DEF_OPT): 
3604         Darwin's libtoolize is in fact called glibtoolize.
3605         Adding glibtoolize to the list of accepted names for libtoolize.
3606
3607 2006-05-08  Wim Taymans  <wim@fluendo.com>
3608
3609         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
3610         Unify error handling, don't post an error message
3611         when a push() returns EOS but perform our normal EOS
3612         handling code. Fixes #340772.
3613
3614 2006-05-08  Wim Taymans  <wim@fluendo.com>
3615
3616         * docs/design/part-overview.txt:
3617         Make upsteam/downstream concepts more clear.
3618         Give an example of serialized/non-serialized events.
3619
3620         * docs/design/part-events.txt:
3621         * docs/design/part-streams.txt:
3622         Mention applied_rate.
3623
3624         * docs/design/part-trickmodes.txt:
3625         Mention applied rate, flesh out some more use cases.
3626
3627         * gst/gstevent.c: (gst_event_new_new_segment),
3628         (gst_event_parse_new_segment), (gst_event_new_new_segment_full),
3629         (gst_event_parse_new_segment_full), (gst_event_new_tag),
3630         (gst_event_parse_tag), (gst_event_new_buffer_size),
3631         (gst_event_parse_buffer_size), (gst_event_new_qos),
3632         (gst_event_parse_qos), (gst_event_parse_seek),
3633         (gst_event_new_navigation):
3634         * gst/gstevent.h:
3635         Add applied_rate field to NEWSEGMENT event.
3636         API: gst_event_new_new_segment_full()
3637         API: gst_event_parse_new_segment_full()
3638
3639         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_seek),
3640         (gst_segment_set_newsegment), (gst_segment_set_newsegment_full),
3641         (gst_segment_to_stream_time), (gst_segment_to_running_time):
3642         * gst/gstsegment.h:
3643         Add applied_rate to GstSegment structure.
3644         Make calculation of stream_time and running_time more correct
3645         wrt rate/applied_rate.
3646         Add some more docs.
3647         API: GstSegment::applied_rate field
3648         API: gst_segment_set_newsegment_full();
3649
3650         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
3651         (gst_base_sink_get_sync_times), (gst_base_sink_get_position):
3652         * libs/gst/base/gstbasetransform.c:
3653         (gst_base_transform_sink_eventfunc),
3654         (gst_base_transform_handle_buffer):
3655         Parse and use applied_rate in the GstSegment field.
3656
3657         * tests/check/gst/gstevent.c: (GST_START_TEST):
3658         Add check for applied_rate field.
3659
3660         * tests/check/gst/gstsegment.c: (GST_START_TEST),
3661         (gstsegments_suite):
3662         Add more checks for various GstSegment operations.
3663
3664 2006-05-08  Wim Taymans  <wim@fluendo.com>
3665
3666         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
3667         (gst_base_sink_do_sync), (gst_base_sink_chain_unlocked),
3668         (gst_base_sink_get_position), (gst_base_sink_change_state):
3669         Store the sync time of the buffer end position separatly in a
3670         new variable eos_rtime so we can properly sync the EOS event.
3671         Fixes #340697.
3672         Fix the docs for gst_base_sink_set_qos_enabled().
3673         Don't set segment start to invalid value when we receive a 
3674         non TIME newsegment.
3675         get closer to handling position reporting for negative rates 
3676         correctly.
3677
3678 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
3679
3680         * gst/gstcaps.c:
3681         Docs about how to print caps for debug purposes.
3682
3683         * gst/gstpadtemplate.c: (gst_static_pad_template_get):
3684         use gst_caps_make_writable instead of gst_caps_copy, Fixes #340608
3685
3686 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
3687
3688         * gst/gstelement.c:
3689           use full enum names and preprend a '%' in docs strings to make recent 
3690           gtk-doc turn that into a link
3691
3692 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
3693
3694         * docs/manual/basics-bins.xml:
3695         * docs/manual/basics-bus.xml:
3696         * docs/manual/basics-pads.xml:
3697           Some typo fixes, some additions, some clarifications. 
3698
3699 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
3700
3701         * tools/gst-inspect.c: (main):
3702         * tools/gst-launch.c: (main):
3703         * tools/gst-run.c: (main):
3704         * tools/gst-typefind.c: (main):
3705         * tools/gst-xmlinspect.c: (main):
3706           Use the string passed to g_option_context_new() for
3707           what it's intended for - the program name is already
3708           printed elsewhere.
3709
3710 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
3711
3712         * tools/Makefile.am:
3713         * tools/gst-inspect.c: (main):
3714         * tools/gst-launch.c: (main):
3715         * tools/gst-xmlinspect.c: (main):
3716         * tools/tools.h:
3717           Add back --version command line option (#340460).
3718
3719         * tools/gst-typefind.c: (have_type_handler), (typefind_file), (main):
3720           Add --version option and use GOption for argument parsing; refactor a
3721           bit; accept directories as arguments and recurse into them; lastly,
3722           print a decent error message when things go wrong.
3723
3724 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
3725
3726         * docs/manual/basics-bins.xml:
3727         Don't mention GstThread (#340611)
3728         * docs/manual/basics-elements.xml:
3729         Update link to GObject tutorial (#340607)
3730         
3731 2006-05-05  Wim Taymans  <wim@fluendo.com>
3732
3733         * gst/gstbuffer.h:
3734         * gst/gstminiobject.c:
3735         Add note about refcounting and miniobject/buffer writeability
3736         to docs. Fixes #340604
3737
3738         * gst/gstelementfactory.h:
3739         Added some explanation about @klass.
3740
3741 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
3742
3743         * docs/manual/intro-motivation.xml:
3744         * docs/manual/manual.xml:
3745         Avoid CORBA & Bonobo references (#340598)
3746
3747 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
3748
3749         * docs/manual/basics-bus.xml:
3750         * docs/manual/basics-pads.xml:
3751         Fix up some inaccuracies and omissions (#340609)
3752         
3753 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
3754
3755         * gst/gstghostpad.c:
3756           Small typo in docs (#340625)
3757
3758 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
3759
3760         * gst/parse/Makefile.am:
3761           Make 'make -j' proof (see #340698).
3762
3763 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
3764
3765         * configure.ac:
3766           Require GLib-2.8 here as well.
3767
3768 2006-05-05  Wim Taymans  <wim@fluendo.com>
3769
3770         * gst/glib-compat.c:
3771         * gst/gst.c: (init_pre):
3772         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
3773         (gst_object_unref), (gst_object_replace), (gst_object_dispose),
3774         (gst_object_dispatch_properties_changed):
3775         * gst/gstobject.h:
3776         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
3777         * gst/gststructure.c: (gst_structure_set_valist):
3778         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
3779         Remove pre glib2.8 compatibility, fixes #340508
3780
3781 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
3782
3783         * gst/gsttaglist.h:
3784           Mention type of tags in doc blurbs.
3785
3786 2006-05-04  Jan Schmidt  <thaytan@mad.scientist.com>
3787
3788         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
3789         (gst_pad_configure_src), (gst_pad_push):
3790         Restore acceptcaps checking behaviour now that good plugins have
3791         been released.
3792
3793 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
3794
3795         Patch by: James Andrewartha <trs80 at tartarus uwa edu au>
3796
3797         * gst/gst.c:
3798         * gst/gstbus.c:
3799         * gst/gstclock.c:
3800         * gst/gstevent.c:
3801         * gst/gstformat.c:
3802         * gst/gstmessage.c:
3803         * gst/gstparse.c:
3804         * gst/gstquery.c:
3805         * gst/gstutils.c:
3806         * gst/parse/Makefile.am:
3807         * libs/gst/base/gstadapter.c:
3808         * libs/gst/base/gstbasesrc.c:
3809         * libs/gst/base/gstpushsrc.c:
3810         * libs/gst/base/gsttypefindhelper.c:
3811         * plugins/elements/gstfakesrc.c:
3812         * plugins/elements/gstidentity.c:
3813           Make sure gstprivate.h and/or config.h are
3814           always included first, otherwise some of our
3815           defines (like _FILE_OFFSET_BITS) might be
3816           redefined in the system headers. Fixes build
3817           on opensolaris (#340016).
3818
3819 2006-05-04  Wim Taymans  <wim@fluendo.com>
3820
3821         * docs/libs/gstreamer-libs-sections.txt:
3822         API: addition: gst_adapter_take_buffer()
3823         
3824         * libs/gst/base/gstadapter.c: (gst_adapter_push),
3825         (gst_adapter_peek), (gst_adapter_take), (gst_adapter_take_buffer),
3826         (gst_adapter_available_fast):
3827         * libs/gst/base/gstadapter.h:
3828         Prepare for optimizing the hell out of this hugely inefficient
3829         piece of code. 
3830         Added gst_adapter_take_buffer() so we can at least start thinking
3831         about subbuffering and merging.
3832         Added some comments.
3833
3834         * tests/check/Makefile.am:
3835         * tests/check/libs/adapter.c: (GST_START_TEST),
3836         (gst_adapter_suite), (main):
3837         Added GstAdapter check.
3838
3839 2006-05-04  Wim Taymans  <wim@fluendo.com>
3840
3841         * docs/design/part-overview.txt:
3842         Fix some typos, add blurb about buffer flags.
3843
3844 2006-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
3845
3846         * docs/libs/gstreamer-libs-sections.txt:
3847           make sure GstBaseTransformClass shows up in the docs
3848         * libs/gst/base/gstbasetransform.c:
3849         * libs/gst/base/gstbasetransform.h:
3850           move docs so gtk-doc picks it up now
3851
3852 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
3853
3854         * docs/libs/gstreamer-libs-sections.txt:
3855           add missing symbols to docs
3856
3857 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
3858
3859         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
3860           back out the newsegment handling change, see #340060 for ongoing
3861           discussion
3862
3863 2006-04-30  Tim-Philipp Müller  <tim at centricular dot net>
3864
3865         * tools/gst-run.c: (get_candidates), (main):
3866           Fix wrong g_file_test() usage (see glib docs for why it doesn't
3867           work); fix typo in error message. Fixes #340079.
3868
3869 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
3870
3871         * common/Makefile.am:
3872         * docs/Makefile.am:
3873         * docs/faq/Makefile.am:
3874         * docs/gst/Makefile.am:
3875         * docs/libs/Makefile.am:
3876         * docs/manual/Makefile.am:
3877         * docs/plugins/Makefile.am:
3878         * docs/pwg/Makefile.am:
3879         * docs/slides/Makefile.am:
3880         * docs/upload.mak:
3881         * common/upload.mak:
3882           move upload.mak to common
3883
3884 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
3885
3886         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
3887           add more asserts on refcounts
3888           do more cleanup at end of tests
3889           fix test leaks showing in FC5
3890
3891 2006-04-29  Stefan Kost  <ensonic@users.sf.net>
3892
3893         * plugins/elements/gsttypefindelement.c:
3894         (gst_type_find_element_handle_event):
3895         reverted wrong change and reflowed code to avoid others falling into
3896         this trap
3897
3898 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
3899
3900         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
3901           fix changelog entry about last collectpads change,
3902           add notes about proper fix
3903
3904 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
3905
3906         * gst/gst.c:
3907         * gst/gstregistry.c: (gst_registry_scan_path_level),
3908         (gst_registry_scan_path):
3909         * gst/gstregistry.h:
3910           only write out registry if it has changed, fixes #338339
3911
3912 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
3913
3914         * gst/gstbin.c:
3915         * gst/gstpipeline.c:
3916         * plugins/elements/gstcapsfilter.c:
3917         * plugins/elements/gstfakesink.c:
3918         * plugins/elements/gstfakesrc.c:
3919         * plugins/elements/gstfdsink.c:
3920         * plugins/elements/gstfdsrc.c:
3921         * plugins/elements/gstfilesink.c:
3922         * plugins/elements/gstfilesrc.c:
3923         * plugins/elements/gstidentity.c:
3924         * plugins/elements/gstqueue.c:
3925         * plugins/elements/gsttee.c:
3926         * plugins/elements/gsttypefindelement.c:
3927         (gst_type_find_element_handle_event):
3928           make GstElementDetails const
3929
3930 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
3931
3932         * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
3933         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
3934         (gst_collect_pads_is_collected), (gst_collect_pads_event):
3935           more detailed debug and formatting cleanup,
3936           forward newsegments to src-pad (so that e.g. adder not eats them)
3937
3938 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
3939
3940         * gst/gstutils.c: (gst_element_link_pads):
3941           cleanup double code
3942
3943 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
3944
3945         * libs/gst/controller/gstcontroller.c:
3946         (gst_controller_sync_values):
3947           some little tuning
3948         * tests/check/libs/controller.c: (GST_START_TEST),
3949         (gst_controller_suite):
3950           a new test for live value handling
3951
3952 2006-04-28  Wim Taymans  <wim@fluendo.com>
3953
3954         * gst/gstutils.c: (push_and_ref):
3955         Added some more docs.
3956         Fix refcount issue whith gst_element_found_tags() helper 
3957         function. Fixes #338335
3958
3959         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
3960         Added testsuite for gst_element_found_tags().
3961
3962 2006-04-28  Michael Smith  <msmith@fluendo.com>
3963
3964         * gst/gstvalue.c: (gst_value_serialize_flags):
3965           Avoid NULL dereference when trying to serialize flags containing
3966           invalid values.
3967
3968 2006-04-28  Michael Smith  <msmith@fluendo.com>
3969
3970         * plugins/elements/gsttypefindelement.c:
3971         (gst_type_find_element_handle_event):
3972           If we get EOS before any data is accumulated, don't use
3973           uninitialised local variables.
3974
3975 2006-04-28  Michael Smith  <msmith@fluendo.com>
3976
3977         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
3978         (gst_dp_event_from_packet):
3979           Fixes in reading/writing events over GDP (not currently used?) - 
3980           dereferencing NULL events for unknown/invalid event types, memory
3981           leak, and change g_warning to GST_WARNING.
3982
3983 2006-04-28  Wim Taymans  <wim@fluendo.com>
3984
3985         * libs/gst/base/gstbasesink.c: (gst_base_sink_is_too_late),
3986         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
3987         (gst_base_sink_get_position), (gst_base_sink_change_state):
3988         When frame dropping is enabled, we should not ignore frames
3989         without a duration.
3990         Update some documentation.
3991
3992 2006-04-28  Wim Taymans  <wim@fluendo.com>
3993
3994         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
3995         (gst_base_src_send_event), (gst_base_src_change_state):
3996         Documentation updates.
3997
3998 2006-04-28  Wim Taymans  <wim@fluendo.com>
3999
4000         * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
4001         (gst_fd_sink_check_fd), (gst_fd_sink_update_fd):
4002         handle EAGAIN, EINTR and short writes correctly. Also clean
4003         up some error cases, avoid a deadlock on bad file descriptors and
4004         use GST_DEBUG_OBJECT.
4005         Fixes #339843
4006
4007 2006-04-28  Wim Taymans  <wim@fluendo.com>
4008
4009         * gst/gstvalue.c: (gst_value_serialize_buffer),
4010         (gst_value_deserialize_buffer):
4011         Don't try to serialize a GValue with a NULL buffer. 
4012         Fixes #339821.
4013
4014         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
4015         Added check for serialisation of NULL buffers.
4016
4017 2006-04-28  Wim Taymans  <wim@fluendo.com>
4018
4019         * gst/gstminiobject.c: (gst_value_take_mini_object):
4020         Taking a NULL miniobject is valid, fix the case where
4021         we try to unref the NULL miniobject.
4022
4023 2006-04-28  Wim Taymans  <wim@fluendo.com>
4024
4025         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
4026
4027         * gst/gstbin.c: (gst_bin_handle_message_func):
4028         Update docs.
4029         Don't leak bin refcount when a state recalc is
4030         in progress and we delay another one #339808.
4031
4032 2006-04-28  Wim Taymans  <wim@fluendo.com>
4033
4034         * docs/design/part-TODO.txt:
4035         Mention QoS as an ongoing work item.
4036
4037         * docs/design/part-buffering.txt:
4038         New doc about buffering that needs to be fleshed out
4039         at some point.
4040
4041         * docs/design/part-qos.txt:
4042         More QoS policy for decoders/demuxers/transforms
4043
4044         * docs/design/part-trickmodes.txt:
4045         Small update.
4046
4047 2006-04-28  Thomas Vander Stichele  <thomas at apestaart dot org>
4048
4049         * configure.ac:
4050           back to HEAD
4051
4052 === release 0.10.5 ===
4053
4054 2006-04-28  Thomas Vander Stichele <thomas at apestaart dot org>
4055
4056         * configure.ac:
4057           releasing 0.10.5, "Fogo"
4058
4059 2006-04-22  Thomas Vander Stichele  <thomas at apestaart dot org>
4060
4061         patch by: Wim Taymans
4062
4063         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
4064         (gst_pad_configure_src), (gst_pad_push):
4065         * gst/gstpipeline.c: (gst_pipeline_init):
4066           Fix internal data flow errors.  Fixes #338711.
4067
4068 2006-04-12  Wim Taymans  <wim@fluendo.com>
4069
4070         * tests/check/gst/gstelement.c: (GST_START_TEST):
4071         Don't leak the factory.
4072
4073 2006-04-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4074
4075         * configure.ac:
4076         * win32/common/config.h:
4077           prerelease
4078
4079 2006-04-12  Tim-Philipp Müller  <tim at centricular dot net>
4080
4081         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
4082         (gst_controller_unset_all):
4083           Free allocated GstTimedValues when freeing list nodes.
4084           Should fix leaks 'make check-valgrind' complains about.
4085
4086         * win32/common/libgstcontroller.def:
4087           Add gst_controller_unset_all.
4088
4089 2006-04-11  Stefan Kost  <ensonic@users.sf.net>
4090
4091         * docs/libs/gstreamer-libs-sections.txt:
4092         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
4093         (gst_controller_unset_all):
4094         * libs/gst/controller/gstcontroller.h:
4095         API: Added new method gst_controller_unset_all()
4096         fixed gst_controller_unset()
4097         * tests/check/libs/controller.c: (GST_START_TEST),
4098         (gst_controller_suite):
4099         Added two testcases for new and fixed method
4100
4101 2006-04-11  Tim-Philipp Müller  <tim at centricular dot net>
4102
4103         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
4104           MSG_DONTWAIT is not defined on Cygwin, so work
4105           around that (fixes #317048).
4106           
4107 2006-04-11  Wim Taymans  <wim@fluendo.com>
4108
4109         * gst/gstelementfactory.c: (gst_element_register),
4110         (gst_element_factory_create), (gst_element_factory_make):
4111         Some cleanups.
4112         Fixed a FIXME.
4113         Updated docs (Fixes #131079)
4114
4115         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
4116         Small cleanups.
4117
4118         * tests/check/gst/gstelement.c: (GST_START_TEST),
4119         (gst_element_suite):
4120         Added testcase for elementfactory class field.
4121
4122 2006-04-10  Wim Taymans  <wim@fluendo.com>
4123
4124         * gst/gstsegment.c:
4125         Added some more docs.
4126
4127         * libs/gst/base/gstbasesink.c: (gst_base_sink_perform_qos),
4128         (gst_base_sink_reset_qos):
4129         Calculate more accurate rate values.
4130
4131 2006-04-09  Sebastien Moutte  <sebastien@moutte.net>
4132
4133         * gst/gst_private.h:
4134           add a new #ifdef to use __declspec(dllimport) only for
4135           other modules and not for gstreamer core
4136         * gst/gstbasesink.c: (gst_base_sink_perform_qos):
4137           use gst_guint64_to_gdouble for conversion
4138         * win32/common/libgstreamer.def:
4139           add new exported functions
4140         * win32/vs6/gst_inspect.dsp:
4141         * win32/vs6/gst_launch.dsp:
4142         * win32/vs6/libgstbase.dsp:
4143         * win32/vs6/libgstcontroller.dsp:
4144         * win32/vs6/libgstcoreelements.dsp:
4145         * win32/vs6/libgstdataprotocol.dsp:
4146         * win32/vs6/libgstnet.dsp:
4147           update project files
4148
4149 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
4150
4151         * gst/gstbuffer.c: (gst_subbuffer_class_init):
4152         * gst/gstclock.c: (gst_clock_class_init):
4153         * gst/gstelement.c: (gst_element_class_init):
4154         * gst/gstindex.c: (gst_index_class_init):
4155         * gst/gstindexfactory.c: (gst_index_factory_class_init):
4156         * gst/gstobject.c: (gst_object_class_init),
4157         (gst_signal_object_class_init):
4158         * gst/gstpad.c: (gst_pad_class_init):
4159         * gst/gstpadtemplate.c: (gst_pad_template_class_init):
4160         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init):
4161         * gst/gstregistry.c: (gst_registry_class_init):
4162         * gst/gstsystemclock.c: (gst_system_clock_class_init):
4163         * gst/gsttask.c: (gst_task_class_init):
4164         * gst/gstxml.c: (gst_xml_class_init):
4165         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
4166         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
4167         (gst_base_src_loop):
4168         * libs/gst/controller/gstcontroller.c:/
4169         (_gst_controller_class_init):
4170         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
4171         * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
4172         * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init):
4173         * tests/old/examples/plugins/example.c: (gst_example_class_init):
4174         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
4175         Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent)
4176
4177 2006-04-08  Tim-Philipp Müller  <tim at centricular dot net>
4178
4179         * gst/gstpad.c: (gst_pad_link):
4180           Must set peer pads before calling the link function, otherwise
4181           a task started from a link function might get a flow-not-linked
4182           result when trying to push because the other thread where the
4183           linking happens hasn't had a chance to set the peers yet. This
4184           might happen for example when a queue gets linked to a downstream
4185           element, as queue starts a streaming task when its source pad
4186           gets linked. Happens in real life when playing back flac/musepack
4187           files in playbin (#332390).
4188           
4189 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
4190
4191         * gst/gstindex.h:
4192         * gst/gstxml.h:
4193         * libs/gst/base/gstadapter.h:
4194         * libs/gst/base/gstbasesink.h:
4195         * libs/gst/base/gstbasesrc.h:
4196         * libs/gst/base/gstbasetransform.h:
4197         * libs/gst/base/gstcollectpads.h:
4198         * libs/gst/base/gstpushsrc.h:
4199         Fix broken GObject macros
4200
4201 2006-04-07  Wim Taymans  <wim@fluendo.com>
4202
4203         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
4204         Initialize start and stop times, thanks valgrind.
4205
4206 2006-04-07  Wim Taymans  <wim@fluendo.com>
4207
4208         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
4209         Be a bit nicer to badly behaving upstream elements that expect
4210         us to deal with non TIME segments and timestamps (such as fakesrc
4211         in the testsuite).
4212
4213 2006-04-07  Wim Taymans  <wim@fluendo.com>
4214
4215         * gst/gstbus.c:
4216         Small documentation clarification about the signal watch.
4217
4218         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
4219         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
4220         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
4221         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
4222         (gst_base_sink_get_position_last),
4223         (gst_base_sink_get_position_paused), (gst_base_sink_change_state):
4224         Convert and store timestamps in stream time and running time, the
4225         raw timestamps are not usefull, also document this better.
4226         Use different window sizes for good and bad QoS observations so
4227         we react to badness a little quicker.
4228         Keep track of the amount of rendered and dropped buffers.
4229         Send QoS timestamps in running time.
4230
4231         * libs/gst/base/gstbasetransform.c:
4232         (gst_base_transform_sink_eventfunc),
4233         (gst_base_transform_handle_buffer):
4234         Compare QoS timestamps against running time.
4235
4236 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
4237
4238         * gst/gstpad.c:
4239           Typo fixes in docs.
4240
4241 2006-04-06  Michael Smith  <msmith@fluendo.com>
4242
4243         * gst/gstpad.c: (gst_pad_set_property):
4244           Use g_value_get_object() instead of g_value_dup_gst_object(),
4245           to avoid double-reffing the pad template (which we then sink,
4246           so this worked previously if (and only if) the pad template
4247           was floating.
4248
4249         * gst/gstpadtemplate.c: (gst_pad_template_init),
4250         (gst_pad_template_pad_created):
4251           Never return floating references to pad templates, create
4252           them as initially-sunken.
4253
4254           Document an extra function (and make this stop sinking our
4255           pad template, since that is now guaranteed to do nothing,
4256           since we created it sunken).
4257
4258         * gst/gstghostpad.c:
4259           Fix docs typo.
4260
4261 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
4262
4263         * gst/gstinfo.c: (__gst_in_valgrind):
4264           Add some newlines.
4265
4266         * plugins/elements/gsttypefindelement.c:
4267         (gst_type_find_element_chain):
4268           Don't leak buffer caps.
4269
4270 2006-04-06  Michael Smith  <msmith@fluendo.com>
4271
4272         * gst/parse/grammar.y:
4273           Fix a leak in parse-launch for any source-or-sink named element 
4274           references used.
4275
4276         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
4277           Unref the pipeline if it exists after we've failed parsing.
4278
4279 2006-04-05  Michael Smith  <msmith@fluendo.com>
4280
4281         * gst/gstpipeline.c: (gst_pipeline_init):
4282           When we create a pipeline bus, initially create it in flushing mode.
4283           Fixes leaks in at least one test, and makes a new pipeline work the
4284           same as one that has gone to READY and then back to NULL.
4285
4286         * gst/gstelement.c:
4287           Typo fix in docs.
4288
4289 2006-04-05  Michael Smith  <msmith@fluendo.com>
4290
4291         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
4292           Unref a pad we reffed.
4293         * tests/check/gst/gstutils.c: (GST_START_TEST):
4294           Unref bins
4295
4296 2006-04-05  Michael Smith  <msmith@fluendo.com>
4297
4298         * gst/gstquery.c: (gst_query_set_formats),
4299         (gst_query_set_formatsv):
4300           Fix leaking GValues in queries, as shown by valgrind/testsuite.
4301
4302 2006-04-05  Michael Smith  <msmith@fluendo.com>
4303
4304         * tests/check/generic/sinks.c: (GST_START_TEST):
4305           Fix a variety of memleaks in sinks check, which are only sometimes 
4306           shown by running the tests under valgrind (weird?).
4307
4308 2006-04-05  Jan Schmidt  <thaytan@mad.scientist.com>
4309
4310         * docs/version.entities.in:
4311           Fix the substituted entity name after thomas' changes on the
4312           weekend.
4313
4314 2006-04-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
4315
4316         * gst/gstinfo.c: (__gst_in_valgrind): Use printf instead of
4317         VALGRIND_PRINTF
4318         
4319 2006-04-05  Andy Wingo  <wingo@pobox.com>
4320
4321         * gst/gstpad.c (gst_pad_set_blocked_async): More debug.
4322
4323         * libs/gst/base/gstbasetransform.c
4324         (gst_base_transform_sink_eventfunc): When resetting our segment on
4325         FLUSH_STOP, also update the flag saying we haven't seen a
4326         newsegment.
4327
4328 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
4329
4330         Patch by: Paolo Borelli  <pborelli at katamail dot com>
4331
4332         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
4333         (gst_plugin_check_license):
4334           minor clean-ups: G_DEFINE_TYPE already takes care of the
4335           parent_class stuff, no need to do it twice. Mark array of
4336           license strings as constant. (#337103)
4337           
4338 2006-04-04  Michael Smith  <msmith@fluendo.com>
4339
4340         * tools/gst-inspect.c: (print_element_list):
4341           Free the right plugin list; fixes a memory leak.
4342
4343 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
4344
4345         Patch by: Mark Nauwelaerts  <manauw at skynet dot be>
4346
4347         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
4348           Don't error out on empty buffers (#336945).
4349           
4350 2006-04-04  Jan Schmidt  <thaytan@mad.scientist.com>
4351
4352         * docs/libs/gstreamer-libs-sections.txt:
4353         * gst/gsttaglist.c:
4354         * libs/gst/base/gstbasesink.c:
4355         * libs/gst/base/gstbasesink.h:
4356         * libs/gst/base/gstbasesrc.c:
4357         * libs/gst/base/gstbasesrc.h:
4358           Documentation updates. Make BaseSink and BaseSrc docs contain the
4359           class structure so that people can actually see the prototypes for
4360           virtual functions they're supposed to be overriding.
4361
4362 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
4363
4364         * plugins/elements/gsttypefindelement.c:
4365         (gst_type_find_element_chain):
4366           More debug info; when skipping typefinding, send cached
4367           events in all cases.
4368
4369 2006-04-01  Thomas Vander Stichele  <thomas at apestaart dot org>
4370
4371         * configure.ac:
4372           use new AS_VERSION and AS_NANO macros
4373         * gst/gst-i18n-lib.h:
4374         * gst/gst.c:
4375         * gst/gsterror.c:
4376         * gst/gstversion.h.in:
4377         * win32/common/config.h:
4378         * win32/common/config.h.in:
4379           update accordingly
4380
4381 2006-03-31  Michael Smith  <msmith@fluendo.com>
4382
4383         * plugins/elements/gsttypefindelement.c:
4384         (gst_type_find_element_chain):
4385           Do not typefind content if the buffers already have caps.
4386           Neccesary for icydemux (#333657), and the right thing to do anyway.
4387
4388 2006-03-30  Wim Taymans  <wim@fluendo.com>
4389
4390         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
4391         (gst_base_sink_finalize), (gst_base_sink_set_qos_enabled),
4392         (gst_base_sink_is_qos_enabled), (gst_base_sink_do_sync),
4393         (gst_base_sink_record_qos_observation),
4394         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
4395         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
4396         (gst_base_sink_change_state):
4397         More QoS measurements as described in the design doc.
4398         Get rid of ringbuffer with observations, running average is
4399         more simple and equally good.
4400         Calculates valid proportion now.
4401         Added beginning of flood measurement.
4402
4403 2006-03-29  Wim Taymans  <wim@fluendo.com>
4404
4405         * docs/design/part-qos.txt:
4406         * gst/gstclock.c:
4407         Small documentation updates and additions.
4408
4409 2006-03-29  Wim Taymans  <wim@fluendo.com>
4410
4411         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
4412         (gst_base_src_send_event), (gst_base_src_loop),
4413         (gst_base_src_change_state):
4414         Perform the EOS logic when we reach the segment stop position.
4415         Fix compilation on gcc4.1
4416
4417 2006-03-29  Wim Taymans  <wim@fluendo.com>
4418
4419         Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
4420
4421         * plugins/elements/gstqueue.c: (gst_queue_init),
4422         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
4423         (gst_queue_set_property):
4424         * plugins/elements/gstqueue.h:
4425         In queue, when EOS is received, if minimum threshold > max_size -
4426         current_level, there is chance that queue blocks forever in conditional
4427         item del wait. This is because the queue is not emptied completely due
4428         to minimum threshold.  Here is another approach. Instead of setting
4429         cur_levels to max in EOS, just zero all minimum threshold levels. This
4430         should make sure that queue gives out all data. When going to READY
4431         (stop) state, just reset the original minimum threshold levels.
4432         Fixes #336336.
4433
4434 2006-03-29  Tim-Philipp Müller  <tim at centricular dot net>
4435
4436         * plugins/elements/gsttypefindelement.c: (stop_typefinding),
4437         (gst_type_find_element_handle_event),
4438         (gst_type_find_element_send_cached_events),
4439         (gst_type_find_element_change_state):
4440         * plugins/elements/gsttypefindelement.h:
4441           When typefinding is done in push mode, we should cache
4442           events we receive during typefinding instead of just
4443           dropping them (e.g. newsegment, custom events from
4444           dvdreadsrc etc.) and then send them out once we've
4445           determined the type of the stream (and decodebin
4446           has had a chance to plug in a decoder/demuxer).
4447           
4448 2006-03-27  Wim Taymans  <wim@fluendo.com>
4449
4450         * docs/design/part-qos.txt:
4451         First QoS ideas.
4452
4453 2006-03-27  Wim Taymans  <wim@fluendo.com>
4454
4455         Inspired by a patch of: Lutz Mueller <lutz at topfrose dot de>
4456
4457         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
4458         (gst_base_src_send_event), (gst_base_src_change_state):
4459         Handle element seek correctly when we are streaming.
4460         Fixes #326998.
4461
4462 2006-03-24  Michael Smith  <msmith@fluendo.com>
4463
4464         * docs/faq/gst-uninstalled:
4465           Set up LD_LIBRARY_PATH to point at all the gstreamer libs. This will
4466           allow you to correctly run intalled applications built against old 
4467           core, using plugins that require updated core (e.g. running
4468           installed totem against a full uninstalled gstreamer stack)
4469
4470 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
4471
4472         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
4473         more debug details
4474
4475 2006-03-24  Wim Taymans  <wim@fluendo.com>
4476
4477         * docs/gst/gstreamer-sections.txt:
4478         Rearrange the order of the methods so that related methods
4479         are grouped together in sections.
4480
4481 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
4482
4483         * gst/gstelement.c:
4484           Little clarification in the docs
4485
4486 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
4487
4488         * docs/README:
4489         formatting fix
4490         * plugins/elements/gstidentity.c:
4491         * plugins/elements/gstqueue.c:
4492         * plugins/elements/gsttee.c:
4493         * plugins/elements/gsttypefindelement.c:
4494         GST_ELEMENT_DETAILS formatting
4495
4496 2006-03-24  Wim Taymans  <wim@fluendo.com>
4497
4498         * libs/gst/base/gstbasesink.h:
4499         Only add fields, not insert or we break ABI.
4500
4501 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
4502
4503         * win32/common/libgstbase.def:
4504         * win32/common/libgstreamer.def:
4505           Update, add recently added functions.
4506
4507 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
4508
4509         * docs/gst/gstreamer-sections.txt:
4510         * gst/gstutils.c: (gst_pad_query_peer_position),
4511         (gst_pad_query_peer_duration), (gst_pad_query_peer_convert):
4512         * gst/gstutils.h:
4513           API: add some new utility functions:
4514            - gst_pad_query_peer_position()
4515            - gst_pad_query_peer_duration()
4516            - gst_pad_query_peer_convert()
4517           
4518 2006-03-23  Wim Taymans  <wim@fluendo.com>
4519
4520         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
4521         (gst_base_sink_init), (gst_base_sink_finalize),
4522         (gst_base_sink_set_qos_enabled), (gst_base_sink_is_qos_enabled),
4523         (gst_base_sink_set_property), (gst_base_sink_get_property),
4524         (gst_base_sink_commit_state), (gst_base_sink_get_sync_times),
4525         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
4526         (gst_base_sink_add_qos_observation), (gst_base_sink_send_qos),
4527         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
4528         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
4529         (gst_base_sink_preroll_object), (gst_base_sink_event),
4530         (gst_base_sink_chain_unlocked), (gst_base_sink_get_position_last),
4531         (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
4532         (gst_base_sink_query), (gst_base_sink_change_state):
4533         Decouple max-lateness and the fact that QoS messages are generated
4534         with a new property (qos).
4535         added API: GstBaseSink::async_play()
4536         Add vmethod so subclasses can be notified of ASYNC playing
4537         state changes.
4538         Collect timestamp start and stop to report better current
4539         position in EOS/PLAYING/PAUSED/READY/NULL.
4540         Refactor QoS/frame dropping and other measurements.
4541         API: GstBaseSrc::qos
4542         Fixes #326311
4543
4544         * libs/gst/base/gstbasesink.h:
4545         Added Private struct.
4546         API: gst_base_sink_set_qos_enabled()
4547         API: gst_base_sink_is_qos_enabled()
4548
4549 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
4550
4551         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
4552           If compiling against GLib-2.8 or newer, try to read the
4553           registry file using GMappedFile first before falling back
4554           to fopen() + fread() (#332151).
4555
4556 2006-03-22  Wim Taymans  <wim@fluendo.com>
4557
4558         * gst/gstinfo.c: (gst_debug_set_active),
4559         (gst_debug_category_set_threshold):
4560         Disable debugging unless explicitly activated.
4561         Fixes #335480.
4562
4563 2006-03-22  Wim Taymans  <wim@fluendo.com>
4564
4565         * gst/gstelement.c: (gst_element_set_locked_state),
4566         (gst_element_dispose):
4567         Cleanup the error case.
4568
4569         * gst/gstobject.c: (gst_object_dispose):
4570         print a critical when some object was disposed with
4571         a parent, also revive the object since it might
4572         crash the parent.
4573
4574 2006-03-22  Tim-Philipp Müller  <tim at centricular dot net>
4575
4576         * tools/gst-launch.1.in:
4577           Fix another typo.
4578
4579 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
4580
4581         * configure.ac:
4582         * tests/check/Makefile.am:
4583           disable some tests when we don't have a registry
4584         * tests/check/gst/gstutils.c: (gst_utils_suite):
4585           don't build the part that needs parsing
4586
4587 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
4588
4589         * gst/Makefile.am
4590         * tests/examples/Makefile.am:
4591           fix --disable-parse build
4592
4593 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
4594
4595         * tools/gst-feedback.1.in:
4596           Fix typo: s/feeback/feedback/ (#133494).
4597
4598 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
4599
4600         * tools/Makefile.am:
4601         * tools/gst-launch.1.in:
4602           Add FILES section and correct entry about GST_REGISTRY_PATH
4603           environment variable (#133495; #133494).
4604
4605 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
4606
4607         * tools/Makefile.am:
4608         * tools/gst-md5sum.1.in:
4609         * tools/gst-md5sum.c:
4610           Remove gst-md5sum and man page (the md5sink element
4611           required was removed ages ago)
4612
4613 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
4614
4615         * gst/gststructure.c: (gst_structure_id_set_value):
4616           Make sure that string fields in structures/taglists
4617           contain valid UTF-8 - we don't want to pass rubbish to
4618           applications because of a buggy plugin (cp. #334167).
4619
4620 2006-03-21  Edward Hervey  <edward@fluendo.com>
4621
4622         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
4623         (gst_bin_handle_message_func):
4624         * gst/gstclock.c: (gst_clock_dispose), (gst_clock_set_master):
4625         * gst/gstelement.c: (gst_element_set_clock), (gst_element_dispose),
4626         (gst_element_set_bus_func):
4627         * gst/gstghostpad.c: (gst_proxy_pad_dispose):
4628         * gst/gstminiobject.c: (gst_value_set_mini_object),
4629         (gst_value_take_mini_object):
4630         * gst/gstpad.c: (gst_pad_set_pad_template):
4631         * gst/gstpipeline.c: (gst_pipeline_dispose),
4632         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
4633         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop),
4634         (gst_collect_pads_chain):
4635         * libs/gst/net/gstnettimeprovider.c:
4636         (gst_net_time_provider_set_property):
4637         Series of fixes for dereferenced pointers that gcc 4.1 complains about.
4638         It's in fact all issues with gst_*object_replace().
4639
4640 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
4641
4642         Patch by: Loïc Minier  <lool + gnome at via dot ecp dot fr>
4643         
4644         * pkgconfig/gstreamer-check-uninstalled.pc.in:
4645         * pkgconfig/gstreamer-check.pc.in:
4646           Use @CHECK_LIBS@ here instead of hard-coding -lcheck (#334109).
4647
4648 2006-03-21  Edward Hervey  <edward@fluendo.com>
4649
4650         * gst/gstbuffer.h:
4651         * gst/gstevent.h:
4652         * gst/gstmessage.h:
4653         gst_[buffer|event|message]_ref() macros are replaced by a static
4654         inline functions because gcc-4.1 will about if the return value
4655         isn't used.
4656         * tests/check/gst/gstevent.c: (event_probe):
4657         gst_event_ref now has to be given a GstEvent* , fix check accordingly.
4658
4659 2006-03-20  Jan Schmidt  <thaytan@mad.scientist.com>
4660
4661         * gst/gstutils.h:
4662         Add G_UNLIKELY to our boilerplate to optimise the 'already registered
4663         the type' case. (Closes: #335195 for now). In the future, when we
4664         depend on GLib 2.10, we could also intern the type name using
4665         g_intern_static_string()
4666
4667 2006-03-20  Wim Taymans  <wim@fluendo.com>
4668
4669         * gst/gstbin.c: (gst_bin_handle_message_func),
4670         (bin_query_max_init), (bin_query_position_fold),
4671         (bin_query_position_done), (gst_bin_query):
4672         Position query should also take max of all streams.
4673
4674 2006-03-20  Wim Taymans  <wim@fluendo.com>
4675
4676         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
4677         (gst_fake_src_finalize):
4678         Fix leaks in fakesrc.
4679
4680         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
4681         Fix leaks in the testcase.
4682
4683 2006-03-19  Sebastien Moutte  <sebastien@moutte.net>
4684
4685         * gst/gst_private.h:
4686           add win32 specific import decoration(__declspec(dllimport)) 
4687           for all extern GstDebugCategory * variables
4688         * win32/common/libgstbase.def:
4689         * win32/common/libgstcontroller.def:
4690         * win32/common/libgstreamer.def:
4691           Add some exports, remove empty lines
4692         * win32/common/libgstdataprotocol.def:
4693         * win32/common/libgstdataprotocol.dsp:
4694         * win32/common/libgstnet.def:
4695         * win32/common/libgstnet.dsp:
4696           new project files and exportation files added
4697         
4698 2006-03-19  Wim Taymans  <wim@fluendo.com>
4699
4700         * tests/check/libs/basesrc.c: (eos_event_counter):
4701         Use proper return value for probe.
4702
4703 2006-03-17  Wim Taymans  <wim@fluendo.com>
4704
4705         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
4706         (gst_pad_push):
4707         Don't leak buffers, caps and pads on negotiation errors.
4708
4709 2006-03-16  Stefan Kost  <ensonic@users.sf.net>
4710
4711         * docs/faq/cvs.xml:
4712         * docs/faq/dependencies.xml:
4713         * docs/faq/developing.xml:
4714         * docs/faq/faq.xml:
4715         * docs/faq/general.xml:
4716         * docs/faq/getting.xml:
4717         * docs/faq/legal.xml:
4718         * docs/faq/troubleshooting.xml:
4719         * docs/faq/using.xml:
4720         Faq review and update.
4721
4722 2006-03-16  Jan Schmidt  <thaytan@mad.scientist.com>
4723
4724         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
4725         (gst_pad_push):
4726         Don't pound the cpu to pieces by checking get_caps when accept_caps
4727         is called with the same caps as the pad already has.
4728         Use GST_DEBUG_OBJECT when outputting caps change information.
4729
4730 2006-03-15  Wim Taymans  <wim@fluendo.com>
4731
4732         * gst/gstclock.c: (gst_clock_class_init):
4733         Fix docs.
4734
4735 2006-03-15  Jan Schmidt  <thaytan@mad.scientist.com>
4736
4737         * gst/gstbuffer.h:
4738         Documentation fix.
4739
4740         * gst/gstpad.c: (gst_pad_init), (gst_pad_acceptcaps_default),
4741         (gst_pad_accept_caps), (gst_pad_configure_sink),
4742         (gst_pad_configure_src), (gst_pad_chain), (gst_pad_push):
4743         Make the default acceptcaps behaviour be to check the requested 
4744         caps against the gst_pad_get_caps output. 
4745
4746         Ensure that gst_pad_accept_caps is used to check caps when a pad
4747         doesn't have a setcaps function, so that pads automatically refuse 
4748         caps that they don't allow in their pad template. (Fixes #332986)
4749
4750         When a buffer with attached caps is pushed, ensure that the source 
4751         pad receives those caps even if the element didn't call
4752         gst_pad_set_caps first.
4753
4754 2006-03-15  Wim Taymans  <wim@fluendo.com>
4755
4756         * libs/gst/base/gstadapter.c:
4757         Add some docs.
4758
4759 2006-03-15  Tim-Philipp Müller  <tim at centricular dot net>
4760
4761         * win32/common/libgstbase.def:
4762         * win32/common/libgstcontroller.def:
4763         * win32/common/libgstreamer.def:
4764           Add a whole bunch of missing functions (#334434).
4765
4766 2006-03-14  Wim Taymans  <wim@fluendo.com>
4767
4768         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
4769         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
4770         (gst_base_sink_do_sync), (gst_base_sink_do_qos):
4771         Better debug info when we receive a segment event.
4772         Reorganize a bit so we can pass the get_times() results around.
4773         Use the segment format when calculating the running time.
4774         Don't do QoS is sync is disabled or we have no clock or the
4775         element does not want us to sync to the clock.
4776         Don't drop buffers if QoS is disabled for now.
4777
4778 2006-03-14  Wim Taymans  <wim@fluendo.com>
4779
4780         * gst/gstclock.c: (gst_clock_class_init), (do_linear_regression):
4781         Marked the stats property as unimplemented so people don't get
4782         wild ideas.
4783         Add debug message when regression goes wrong.
4784         Added some more docs.
4785
4786 2006-03-14  Wim Taymans  <wim@fluendo.com>
4787
4788         * gst/gstsegment.c: (gst_segment_to_stream_time):
4789         Return correct return type in case of errors.
4790
4791 2006-03-14  Wim Taymans  <wim@fluendo.com>
4792
4793         * gst/gstformat.c: (gst_format_get_name), (gst_format_to_quark):
4794           Don't segfault on invalid formats.
4795
4796 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
4797
4798         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
4799           Can't use gst_segment_to_running_time() when the segment
4800           is not in GST_TIME_FORMAT (like with filesink, for example).
4801           Stops flac encoding pipelines from spewing critical warnings
4802           at EOS (#331248).
4803           
4804 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
4805
4806         * gst/gstpipeline.c: (gst_pipeline_class_init):
4807           Add 'Since: 0.10.5' to gtk-doc blurb for added property.
4808
4809         * plugins/elements/gsttypefindelement.c:
4810         (gst_type_find_element_handle_event):
4811           Don't try to typefind empty streams.
4812
4813 2006-03-14  Wim Taymans  <wim@fluendo.com>
4814
4815         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
4816         (gst_base_sink_do_qos):
4817         Separate QoS calculation.
4818         Only drop buffers when lateness is bigger than the 
4819         duration of the buffer.
4820
4821 2006-03-13  Wim Taymans  <wim@fluendo.com>
4822
4823         * gst/gstpipeline.c: (gst_pipeline_set_property),
4824         (gst_pipeline_get_property), (do_pipeline_seek),
4825         (gst_pipeline_change_state), (gst_pipeline_set_delay),
4826         (gst_pipeline_get_delay):
4827         Don't deadlock when reading properties.
4828
4829 2006-03-13  Wim Taymans  <wim@fluendo.com>
4830
4831         * libs/gst/base/gstbasetransform.c:
4832         (gst_base_transform_class_init), (gst_base_transform_init),
4833         (gst_base_transform_sink_event),
4834         (gst_base_transform_sink_eventfunc),
4835         (gst_base_transform_src_event), (gst_base_transform_src_eventfunc),
4836         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
4837         (gst_base_transform_set_property),
4838         (gst_base_transform_get_property),
4839         (gst_base_transform_change_state), (gst_base_transform_update_qos),
4840         (gst_base_transform_set_qos_enabled),
4841         (gst_base_transform_is_qos_enabled):
4842         * libs/gst/base/gstbasetransform.h:
4843         Make basetransform virtual method for src events too.
4844         Handle QOS in basetransform.
4845         API: gst_base_transform_update_qos()
4846         API: gst_base_transform_set_qos_enabled()
4847         API: gst_base_transform_is_qos_enabled()
4848
4849 2006-03-13  Wim Taymans  <wim@fluendo.com>
4850
4851         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
4852         (gst_base_sink_do_sync):
4853         Small cleanups.
4854         Use QOS debug category.
4855
4856 2006-03-13  Wim Taymans  <wim@fluendo.com>
4857
4858         * plugins/elements/gstqueue.c:
4859         Very small doc update.
4860
4861 2006-03-13  Wim Taymans  <wim@fluendo.com>
4862
4863         * gst/gst_private.h:
4864         * gst/gstinfo.c: (_gst_debug_init):
4865         Added QOS debug category
4866
4867 2006-03-13  Wim Taymans  <wim@fluendo.com>
4868
4869         * docs/gst/gstreamer-sections.txt:
4870         * gst/gstbin.c: (bin_bus_handler), (gst_bin_handle_message_func):
4871         * gst/gstbin.h:
4872         * gst/gstbus.c: (gst_bus_class_init):
4873         * gst/gstbus.h:
4874         * gst/gstclock.c:
4875         * gst/gstelement.c: (gst_element_set_locked_state):
4876         * gst/gstsegment.c:
4877         Documentation updates.
4878
4879         * gst/gstpipeline.c: (gst_pipeline_get_type),
4880         (gst_pipeline_class_init), (gst_pipeline_init),
4881         (gst_pipeline_dispose), (gst_pipeline_set_property),
4882         (gst_pipeline_get_property), (do_pipeline_seek),
4883         (gst_pipeline_send_event), (gst_pipeline_change_state),
4884         (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay),
4885         (gst_pipeline_get_delay):
4886         * gst/gstpipeline.h:
4887         Added methods for setting the delay.
4888         API: gst_pipeline_set_delay()
4889         API: gst_pipeline_get_delay()
4890         Add pipeline debug category
4891         Various cleanups.
4892         Updated docs.
4893         Don't reset stream time when seek failed.
4894
4895 2006-03-13  Wim Taymans  <wim@fluendo.com>
4896
4897         * docs/design/draft-klass.txt:
4898         * docs/design/part-clocks.txt:
4899         * docs/design/part-events.txt:
4900         * docs/design/part-gstbin.txt:
4901         * docs/design/part-gstpipeline.txt:
4902         * docs/design/part-messages.txt:
4903         * docs/design/part-negotiation.txt:
4904         * docs/design/part-overview.txt:
4905         * docs/design/part-preroll.txt:
4906         * docs/design/part-seeking.txt:
4907         * docs/design/part-states.txt:
4908         * docs/design/part-streams.txt:
4909         Documentation updates.
4910
4911 2006-03-12  Julien MOUTTE  <julien@moutte.net>
4912
4913         * gst/gsttaglist.c: Fix rubbish docs that are encouraging
4914         us to leak strings...
4915
4916 2006-03-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4917
4918         * libs/gst/net/gstnettimeprovider.c:
4919           fix docs
4920         * win32/common/config.h:
4921           update
4922
4923 2006-03-12  Tim-Philipp Müller  <tim at centricular dot net>
4924
4925         Patch by: Julio M. Merino Vidal <jmmv at netbsd org>
4926
4927         * configure.ac:
4928           Don't check for libgnomeui (leftover from old examples
4929           that aren't built or disted any longer) (#334303).
4930           
4931 2006-03-11  Tim-Philipp Müller  <tim at centricular dot net>
4932
4933         * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
4934         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
4935           Emit RESOURCE_NO_SPACE_LEFT error here as well when
4936           there's no space left on the device.
4937
4938 2006-03-10  Tim-Philipp Müller  <tim at centricular dot net>
4939
4940         * gst/gstclock.h:
4941           Fix GST_CLOCK_TIME_IS_VALID signedness issues - we need
4942           to cast the input to GstClockTime before comparing with
4943           another GstClockTime value.
4944
4945 2006-03-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4946
4947         * configure.ac:
4948           back to trunk
4949
4950 === release 0.10.4 ===
4951
4952 2006-03-10  Thomas Vander Stichele <thomas at apestaart dot org>
4953
4954         * configure.ac:
4955           releasing 0.10.4, "Light"
4956
4957 2006-03-10  Michael Smith  <msmith@fluendo.com>
4958
4959         * libs/gst/dataprotocol/dataprotocol.c:
4960           Fix docs for dataprocotol to not get the return types completely
4961           wrong for a few functions.
4962
4963 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
4964
4965         * docs/gst/gstreamer-sections.txt:
4966         * gst/gstpipeline.c: (gst_pipeline_class_init),
4967         (gst_pipeline_init), (gst_pipeline_set_property),
4968         (gst_pipeline_get_property), (gst_pipeline_change_state),
4969         (gst_pipeline_set_auto_flush_bus),
4970         (gst_pipeline_get_auto_flush_bus):
4971         * gst/gstpipeline.h:
4972           Add new API: gst_pipeline_set_auto_flush_bus() and
4973           gst_pipeline_get_auto_flush_bus() to disable automatic
4974           flushing of the pipeline's GstBus when going from READY
4975           to NULL state (#332045).
4976
4977 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
4978
4979         * docs/gst/gstreamer-sections.txt:
4980         * gst/gsturi.c: (gst_uri_has_protocol):
4981         * gst/gsturi.h:
4982            Add new API: gst_uri_has_protocol() (#333779).
4983
4984 2006-03-09  Wim Taymans  <wim@fluendo.com>
4985
4986         * gst/gstclock.c: (gst_clock_entry_new),
4987         (gst_clock_id_compare_func), (gst_clock_id_wait),
4988         (gst_clock_id_wait_async), (gst_clock_id_unschedule),
4989         (gst_clock_init), (gst_clock_get_internal_time),
4990         (gst_clock_set_master), (do_linear_regression),
4991         (gst_clock_add_observation), (gst_clock_set_property):
4992         * gst/gstclock.h:
4993         Review docs.
4994         Small cleanups.
4995         Fix a possible segfault when the window-size is made smaller.
4996         Calculate jitter before performing the clock wait. Ideally
4997         the clock implementation should calculate jitter but we need
4998         API breakage for that.
4999
5000         * gst/gstsystemclock.c: (gst_system_clock_init):
5001         Docs review.
5002         
5003         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
5004         Remove leftover else
5005
5006         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
5007         (gst_systemclock_suite):
5008         Added check to test GST_CLOCK_DIFF.
5009
5010 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
5011
5012         * libs/gst/base/gsttypefindhelper.c: (helper_find_get_length),
5013         (gst_type_find_helper_get_range):
5014           If we are provided with the size, we should implement
5015           GstTypeFind::get_length, so that typefind functions who
5016           want to can actually peek at the middle of a file.
5017
5018 2006-03-08  Tim-Philipp Müller  <tim at centricular dot net>
5019
5020         * docs/manual/advanced-dataaccess.xml:
5021           Add some very very basic error checking.
5022
5023         * docs/pwg/appendix-checklist.xml:
5024           Some updates to the list of things to check when writing an element.
5025
5026 2006-03-08  Wim Taymans  <wim@fluendo.com>
5027
5028         * docs/design/part-element-transform.txt:
5029         Added some docs about the design of tranform elements.
5030
5031         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
5032         (gst_base_src_loop), (gst_base_src_change_state):
5033         Mark buffers with the DISCONT flag.
5034
5035 2006-03-08  Michael Smith  <msmith@fluendo.com>
5036
5037         * gst/gstregistry.h:
5038         * gst/gstregistryxml.c: (gst_registry_save),
5039         (gst_registry_save_escaped), (gst_registry_xml_save_caps),
5040         (gst_registry_xml_save_pad_template),
5041         (gst_registry_xml_save_feature), (gst_registry_xml_save_plugin),
5042         (gst_registry_xml_write_cache):
5043           Rewrite registry-saving to avoid race conditions and check for
5044           failed writes.
5045
5046 2006-03-08  Wim Taymans  <wim@fluendo.com>
5047
5048         * libs/gst/base/gstbasetransform.c:
5049         (gst_base_transform_transform_caps),
5050         (gst_base_transform_transform_size),
5051         (gst_base_transform_prepare_output_buffer),
5052         (gst_base_transform_get_unit_size),
5053         (gst_base_transform_buffer_alloc),
5054         (gst_base_transform_handle_buffer),
5055         (gst_base_transform_change_state):
5056         Cleanups, separate normal flow from errors, add sensible
5057         DEBUG lines.
5058         Don't try to renegotiate when allocating an output buffer.
5059         Also copy DISCONT buffer flag when copying a buffer.
5060         Reset the transform after we finish streaming, not during.
5061
5062 2006-03-08  Wim Taymans  <wim@fluendo.com>
5063
5064         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
5065         Use last buffer timestamp in qos message.
5066
5067 2006-03-07  Wim Taymans  <wim@fluendo.com>
5068
5069         Patch by: Christophe Fergeau
5070
5071         * docs/pwg/advanced-tagging.xml:
5072         * docs/pwg/building-pads.xml:
5073           fixes #333416
5074
5075 2006-03-07  Wim Taymans  <wim@fluendo.com>
5076
5077         * docs/libs/gstreamer-libs-sections.txt:
5078         Added basesink new methods.
5079
5080         * gst/gstevent.c:
5081         * gst/gstevent.h:
5082         Docs updates. Flesh out the QoS docs.
5083
5084         * libs/gst/base/gstadapter.c:
5085         Small doc clarification about ownership and flushing.
5086
5087         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_sync),
5088         (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
5089         (gst_base_sink_get_max_lateness), (gst_base_sink_set_property),
5090         (gst_base_sink_get_property), (gst_base_sink_do_sync):
5091         * libs/gst/base/gstbasesink.h:
5092         API additions: 
5093         Added new methods to allow subclass to control max-lateness 
5094         and sync.
5095         Generate very basic QoS events based on last sync observation.
5096         Updated docs, fix typo, added some QoS blurb.
5097
5098         * libs/gst/base/gstbasesrc.c:
5099         Remove obsolete _get_state() calls from docs.
5100
5101 2006-03-07  Wim Taymans  <wim@fluendo.com>
5102
5103         * docs/libs/gstreamer-libs-sections.txt:
5104         * libs/gst/base/gstbasetransform.h:
5105         API addition: Fix #333669, Add pad accessor defines for GstBaseTransform
5106         Fix docs for GstBaseSrc.
5107
5108 2006-03-07  Wim Taymans  <wim@fluendo.com>
5109
5110         * docs/gst/gstreamer-sections.txt:
5111         * gst/gstbuffer.h:
5112         * gst/gstvalue.c:
5113         * libs/gst/base/gstbasetransform.h:
5114         Small documentation fixes.
5115
5116 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
5117
5118         * gst/gstvalue.c:
5119           Document thread-unsafety of gst_value_register_foo_func()
5120           when used at the same time as gst_value_foo() (#322628).
5121
5122 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
5123
5124         * libs/gst/base/gstpushsrc.c: (gst_push_src_class_init),
5125         (gst_push_src_check_get_range):
5126           Push sources don't support pull mode by default.
5127
5128 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
5129
5130         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
5131         (gst_base_src_init), (gst_base_src_pad_check_get_range),
5132         (gst_base_src_default_check_get_range):
5133         * libs/gst/base/gstbasesrc.h:
5134           API addition:  Add ::check_get_range() vfunc to GstBaseSrc (#332611),
5135           provide default implementation, and rename
5136           gst_base_src_check_get_range() to
5137           gst_base_src_pad_check_get_range() for clarity.
5138
5139 2006-03-06  Wim Taymans  <wim@fluendo.com>
5140
5141         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
5142         Make property overridable.
5143
5144 2006-03-06  Wim Taymans  <wim@fluendo.com>
5145
5146         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
5147         (gst_base_sink_init), (gst_base_sink_set_property),
5148         (gst_base_sink_get_property), (gst_base_sink_do_sync):
5149         * libs/gst/base/gstbasesink.h:
5150         API addition: Make max-lateness a property.
5151
5152 2006-03-06  Wim Taymans  <wim@fluendo.com>
5153
5154         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock),
5155         (gst_base_sink_do_sync), (gst_base_sink_render_object):
5156         Don't ever draw a frame that is >10ms late.
5157
5158 2006-03-06  Michael Smith  <msmith@fluendo.com>
5159
5160         * gst/gstmessage.c: (_gst_message_copy):
5161           When copying a message, set the parent_refcount of the enclosed
5162           structure to point at the copy, not the original message.
5163
5164 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
5165
5166         Patch by: Christophe Fergeau
5167
5168         * gst/gstutils.h:
5169           Do proper cast here to make GST_BOILERPLATE_WITH_INTERFACE
5170           usable in c++ code (#333417)
5171
5172 2006-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5173
5174         * gst/gstclock.h:
5175           Show GST_CLOCK_TIME_NONE as 99:99:99.999999999
5176
5177 2006-03-05  Tim-Philipp Müller  <tim at centricular dot net>
5178
5179         * libs/gst/base/gstbasetransform.c:
5180         (gst_base_transform_transform_caps):
5181           Make sure caps are writable before passing them to
5182           gst_caps_append().
5183
5184 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
5185
5186         * gst/gsterror.h:
5187           Fix some minor docs errors.
5188
5189 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
5190
5191           Patch by: Ross Burton <ross at burtonini dot com>
5192
5193         * gst/gsterror.c: (_gst_resource_errors_init):
5194         * gst/gsterror.h:
5195           Add GST_RESOURCE_ERROR_NO_SPACE_LEFT (for #333352;
5196
5197 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
5198
5199         * gst/gst.c:
5200         Add a check and output a g_warning when GStreamer is built
5201         against GLib 2.6 but running against 2.8 or higher, and vice 
5202         versa. (Closes: #323542)
5203
5204 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
5205
5206         * gst/parse/parse.l:
5207           Commit patch for parse_launch syntax from #331255. Removes 
5208           support for quoted strings and mimetypes when writing filtered 
5209           caps. See the bug report for more details - I'm pretty sure this
5210           obscure feature is not in use by _anyone_ anywhere.
5211
5212           With this simple change, the size of the gstreamer.so here 
5213           drops from 2193KB to 1565KB.
5214
5215 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
5216
5217         * plugins/elements/gsttypefindelement.h:
5218         * plugins/elements/gsttypefindelement.c:
5219         (gst_type_find_element_src_event), (start_typefinding),
5220         (stop_typefinding), (gst_type_find_element_handle_event),
5221         (gst_type_find_element_chain),
5222         (gst_type_find_element_chain_do_typefinding):
5223           Use gst_type_find_helper_for_buffer() for chain-based
5224           typefinding.
5225
5226 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
5227
5228         * plugins/elements/gsttypefindelement.c:
5229         (gst_type_find_element_class_init),
5230         (gst_type_find_element_set_property),
5231         (gst_type_find_element_get_property):
5232           Deprecate "maximum" property (not only was it only taken into
5233           account for typefinding in push-mode anyway, it also was never
5234           actually possible to set it in the first place because the
5235           property was registered with the numeric property ID for the
5236           "minimum" property). Register "maximum" property correctly,
5237           for the sake of future copy'n'pasters. Remove some cruft
5238           from property get/set functions.
5239
5240 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
5241
5242         * plugins/elements/gsttypefindelement.c:
5243         (gst_type_find_element_activate):
5244           Use gst_type_find_helper_get_range() here, so we
5245           can honour the "minimum" property and also emit
5246           the signal with the correct probability of the found caps.
5247
5248 2006-03-02  Tim-Philipp Müller  <tim at centricular dot net>
5249
5250         * docs/libs/gstreamer-libs-sections.txt:
5251         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
5252         (helper_find_suggest), (gst_type_find_helper_get_range),
5253         (gst_type_find_helper):
5254         * libs/gst/base/gsttypefindhelper.h:
5255           New API: gst_type_find_helper_get_range() (#333042).
5256
5257 2006-03-02  Michael Smith  <msmith@fluendo.com>
5258
5259         * gst/gstregistryxml.c: (load_feature):
5260           Asserting on a failure to read part of the registry is Not Cool.
5261           Just log a warning and return NULL (which is already handled)
5262
5263 2006-02-28  Sebastien Moutte  <sebastien@moutte.net>
5264
5265         * win32/common/libgstbase.def:
5266           added export of gst_type_find_helper_for_buffer
5267         * win32/common/libgstbase.def:
5268           added some exports : gst_bin_iterate_elements, gst_iterator_resync,
5269           gst_ghost_pad_get_target
5270
5271 2006-02-28  Wim Taymans  <wim@fluendo.com>
5272
5273         * docs/design/draft-klass.txt:
5274         We use Filter now.
5275         Added Connector to mark elements that are only used to
5276         allow pipeline connections.
5277         Moved Debug to extra feature since most of them are 
5278         functionally something else.
5279
5280 2006-02-28  Wim Taymans  <wim@fluendo.com>
5281
5282         * docs/design/draft-klass.txt:
5283         Some updates and clarifications.
5284
5285 2006-02-28  Wim Taymans  <wim@fluendo.com>
5286
5287         * docs/design/draft-klass.txt:
5288         Proposal for klass field values.
5289
5290         * docs/design/part-streams.txt:
5291         Start of a doc describing stream anatomy.
5292
5293 2006-02-28  Wim Taymans  <wim@fluendo.com>
5294
5295         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_handle_message_func):
5296         Help the compiler a bit with type registration.
5297         Use existing forward cod path instead of duplicating it when 
5298         handling a message.
5299         
5300         * gst/gstbus.c: (gst_bus_get_type):
5301         * gst/gstcaps.c: (gst_caps_get_type), (gst_static_caps_get_type):
5302         * gst/gstchildproxy.c: (gst_child_proxy_get_type):
5303         * gst/gstclock.c: (gst_clock_get_type):
5304         * gst/gstelement.c: (gst_element_get_type),
5305         * gst/gstelementfactory.c: (gst_element_factory_get_type):
5306         * gst/gstindexfactory.c: (gst_index_factory_get_type):
5307         * gst/gstminiobject.c: (gst_mini_object_get_type):
5308         * gst/gstpad.c: (gst_pad_get_type):
5309         * gst/gstsegment.c: (gst_segment_get_type):
5310         * gst/gststructure.c: (gst_structure_get_type):
5311         * gst/gstsystemclock.c: (gst_system_clock_get_type):
5312         * gst/gsttask.c: (gst_task_get_type), (gst_task_join):
5313         * gst/gstvalue.c:
5314         Help compiler with type registration.
5315
5316         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
5317         Small doc update.
5318
5319 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
5320
5321         * plugins/elements/gsttypefindelement.c:
5322         (gst_type_find_element_handle_event):
5323           When we get an EOS event and have not found a type yet
5324           (most likely because we had not yet accumulated
5325           TYPE_FIND_MIN_SIZE of data yet), try to determine the
5326           type given the data we have so far. Fixes typefinding
5327           for very short streams again, most notably quicktime
5328           redirections as used on Apple's trailer site (#331701).
5329
5330 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
5331
5332         * libs/gst/base/gsttypefindhelper.c: (type_find_factory_rank_cmp),
5333         (gst_type_find_helper):
5334           Try typefinding factories with the highest rank first.
5335
5336 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
5337
5338         * docs/libs/gstreamer-libs-docs.sgml:
5339         * docs/libs/gstreamer-libs-sections.txt:
5340         * libs/gst/base/gsttypefindhelper.c:
5341           Add section for typefind helper and add documentation
5342           for the old and the new function.
5343
5344 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
5345
5346         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek),
5347         (buf_helper_find_suggest), (type_find_factory_rank_cmp),
5348         (gst_type_find_helper_for_buffer):
5349         * libs/gst/base/gsttypefindhelper.h:
5350           New API: gst_type_find_helper_for_buffer() (#332723).
5351           
5352 2006-02-27  Michael Smith  <msmith@fluendo.com>
5353
5354         Patch by: Loïc Minier
5355
5356         * configure.ac:
5357         * docs/Makefile.am:
5358         * docs/slides/Makefile.am:
5359           prevent CVS directories getting disted.
5360
5361 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
5362
5363         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref):
5364           Use the REFCOUNTING category for caps refcounting.
5365           
5366 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
5367
5368         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
5369           This should be 0 not GST_CLOCK_TIME_NONE (see #331701).
5370
5371 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
5372
5373         * plugins/elements/gsttypefindelement.c:
5374         (gst_type_find_element_activate):
5375           Use gst_pad_check_pull_range() before _activate_pull()
5376           to avoid unnecessary open/close (see #331690).
5377
5378 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
5379
5380         * gst/gstutils.c:
5381           Docs enhancement: make it crystal clear what the
5382           gst_pad_add_*_probe() callbacks should look like.
5383
5384 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
5385
5386         * libs/gst/base/gstbasesrc.c:
5387           Document how applications can stop recording from
5388           live sources (see #330996).
5389
5390 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
5391
5392         * tests/check/Makefile.am:
5393         * tests/check/libs/basesrc.c: (eos_event_counter),
5394         (basesrc_eos_events_pull), (basesrc_eos_events_push),
5395         (basesrc_eos_events_push_live_op), (basesrc_eos_events_pull_live_op),
5396         (gst_basesrc_suite), (main):
5397           ... and add some tests for the base source EOS stuff.
5398
5399 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
5400
5401         * tests/check/gst/gstutils.c: (test_buffer_probe_n_times):
5402           Test case originally showed the problem fixed below,
5403           but was then amended. Add checks back at the place
5404           where they used to be.
5405
5406 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
5407
5408         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
5409         (gst_base_src_init), (gst_base_src_loop),
5410         (gst_base_src_activate_push), (gst_base_src_activate_pull),
5411         (gst_base_src_change_state):
5412         * libs/gst/base/gstbasesrc.h:
5413           Don't unconditionally send EOS when going from PAUSED to
5414           READY state, esp. make sure we don't send two EOS events
5415           in some cases (e.g. one when reaching EOS and one when
5416           going from PAUSED to READY). Also, we don't want to send
5417           EOS events when operating in pull mode. However, we do
5418           want to send an EOS event when shutting down a live
5419           source explicitly, for example (fixes #330996).
5420           
5421 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
5422
5423         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
5424           Update src->read_position after a seek when not using mmap.
5425           Fixes #332277, patch by: Renchi Raju <renchi gmail com>
5426
5427 2006-02-21  Jan Schmidt  <thaytan@mad.scientist.com>
5428
5429         * gst/Makefile.am:
5430         * gst/gstparse.h:
5431         * gst/gstutils.c:
5432         * gst/gstutils.h:
5433         Make things work with --disable-parse as they do with 
5434         --disable-load-save - the symbols involved disappear, but the
5435         header is still installed and GST_DISABLE_PARSE is included via
5436         gstconfig.h
5437
5438 2006-02-20  Julien MOUTTE  <julien@moutte.net>
5439
5440         * libs/gst/base/gstbasetransform.c:
5441         (gst_base_transform_change_state): Fix a stupid bug. I was 
5442         sure I compiled that.
5443
5444 2006-02-20  Julien MOUTTE  <julien@moutte.net>
5445
5446         * gst/gstpad.c: (gst_pad_set_blocked_async):
5447         * gst/gstutils.c: (gst_pad_add_data_probe),
5448         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
5449         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
5450         (gst_pad_remove_buffer_probe): Make those function act on the
5451         ghostpad target when it's a ghostpad. (Closes #331727)
5452
5453 2006-02-20  Julien MOUTTE  <julien@moutte.net>
5454
5455         * libs/gst/base/gstbasetransform.c:
5456         (gst_base_transform_change_state): Make basetransform reusable.
5457         (Closes #331898)
5458
5459 2006-02-20  Jan Schmidt  <thaytan@mad.scientist.com>
5460
5461         * docs/random/release:
5462         Move the current documentation of how to do a release to the top
5463         of the file.
5464
5465         * gst/gstbin.c: (gst_bin_class_init),
5466         (gst_bin_handle_message_func):
5467         Allow multiple state-recalculation threads. (Closes #328873)
5468
5469 2006-02-19  Julien MOUTTE  <julien@moutte.net>
5470
5471         * gst/gstinfo.h: Add GST_STR_NULL to the second string.
5472         * gst/gstpad.c: (gst_pad_set_event_function),
5473         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
5474         (gst_pad_set_getcaps_function): GST_DEBUG_PAD_NAME evaluates to
5475         2 strings. You can't use the STR_NULL macro on that.
5476
5477 2006-02-19  Sebastien Moutte <sebastien@moutte.net>
5478
5479         * gst/gstpad.c: (gst_pad_set_event_function),
5480         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
5481         (gst_pad_set_getcaps_function)
5482         * gst/parse/grammar.y: (gst_parse_found_pad), (gst_parse_perform_delayed_link)
5483           Fixed NULL pointer used in GST_CAT_DEBUG using GST_STR_NULL macro
5484           So now, we can use --gst-debug-level=5 on Windows
5485         * win32/common/libgstcontroller.def:
5486           Added export of gst_controller_init
5487         * win32/vs6/libgstcontroller.dsp:
5488           Fixed Release post build configuration
5489
5490 2006-02-17  Wim Taymans  <wim@fluendo.com>
5491
5492         * tests/check/gst/gstquery.c: (GST_START_TEST):
5493         Added another check.
5494
5495 2006-02-15  Tim-Philipp Müller  <tim at centricular dot net>
5496
5497         * plugins/elements/gsttypefindelement.c: (find_peek):
5498           We can do peeks at non-zero offsets, as long as they
5499           fall within the buffer we have.
5500
5501 2006-02-15  Jan Schmidt  <thaytan@mad.scientist.com>
5502
5503         * tests/check/Makefile.am:
5504         * tests/check/pipelines/parse-launch.c: (setup_pipeline),
5505         (expected_fail_pipe), (check_pipeline_runs), (GST_START_TEST),
5506         (parse_suite), (main):
5507           Add testsuite for parse launch syntax
5508
5509 2006-02-14  Tim-Philipp Müller  <tim at centricular dot net>
5510
5511         * plugins/elements/gsttypefindelement.c:
5512         (gst_type_find_element_chain):
5513           When typefinding is unsuccessful in the chain function, don't
5514           error out immediately. Only error out with NO_CAPS_FOUND if
5515           the amount of data is at least MAX_TYPEFIND_SIZE bytes,
5516           otherwise simply wait for more data so we can try typefinding
5517           again with more data later. Also, don't attempt to typefind
5518           if we have less than MIN_TYPEFIND_SIZE data available. Overall,
5519           this should improve typefinding from network sources where the
5520           size of the first buffer can be somewhat random.
5521
5522 2006-02-14  Wim Taymans  <wim@fluendo.com>
5523
5524         * docs/gst/gstreamer-sections.txt:
5525         * gst/gstpadtemplate.c:
5526         * gst/gstpadtemplate.h:
5527         Fix padtemplate docs, fixes #328805.
5528
5529 2006-02-14  Wim Taymans  <wim@fluendo.com>
5530
5531         * tools/gst-launch.c: (main):
5532         NO_PREROLL is not an ERROR so don't send confusing messages
5533         to the user.
5534
5535 2006-02-14  Wim Taymans  <wim@fluendo.com>
5536
5537         Patch by: Torsten Schoenfeld
5538
5539         * gst/gstregistry.c: (gst_registry_get_default),
5540         (_gst_registry_cleanup):
5541         Protect default registry with lock and ref/sink it.
5542         Fixes #324818
5543
5544 2006-02-14  Wim Taymans  <wim@fluendo.com>
5545
5546         * gst/gstbuffer.c:
5547         * gst/gstquery.c: (gst_query_list_add_format),
5548         (gst_query_set_formatsv), (gst_query_parse_formats_length),
5549         (gst_query_parse_formats_nth):
5550         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
5551         Docs fixes.
5552
5553 2006-02-14  Wim Taymans  <wim@fluendo.com>
5554
5555         * docs/gst/gstreamer-sections.txt:
5556         Reworked query docs.
5557
5558         * gst/gstquery.c: (gst_query_new_formats),
5559         (gst_query_list_add_format), (gst_query_set_formats),
5560         (gst_query_set_formatsv), (gst_query_parse_formats_length),
5561         (gst_query_parse_formats_nth):
5562         * gst/gstquery.h:
5563         Flesh out formats query, added some new methods.
5564         Fix part of #324398.
5565
5566         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite):
5567         Added query creation tests.
5568
5569 2006-02-14  Jan Schmidt  <thaytan@mad.scientist.com>
5570
5571         * gst/gstpad.c: (fixate_value):
5572         Add a default fixation for fraction lists.
5573
5574 2006-02-13  Wim Taymans  <wim@fluendo.com>
5575
5576         * gst/gsttask.c: (gst_task_init), (gst_task_func),
5577         (gst_task_set_lock), (gst_task_start), (gst_task_pause),
5578         (gst_task_join):
5579         * gst/gsttask.h:
5580         Detect and warn for obvious deadlocks. fixes #320340
5581         Fix error case where lock was not released.
5582
5583         * tests/check/Makefile.am:
5584         * tests/check/gst/gsttask.c: (task_func2), (GST_START_TEST),
5585         (task_func), (gst_element_suite), (main):
5586         Add task check.
5587
5588 2006-02-13  Wim Taymans  <wim@fluendo.com>
5589
5590         * docs/gst/gstreamer-sections.txt:
5591         * gst/gstbus.c:
5592         Add new functions to docs.
5593
5594 2006-02-13  Wim Taymans  <wim@fluendo.com>
5595
5596         * docs/design/part-TODO.txt:
5597         Updated TODO list, basesrc supports seeking to non-bytes
5598         formats.
5599
5600         * docs/design/part-element-sink.txt:
5601         Update docs.
5602
5603         * gst/gstbin.c: (bin_replace_message),
5604         (gst_bin_handle_message_func):
5605         * gst/gstbus.c: (gst_bus_post), (gst_bus_pop):
5606         * gst/gstevent.c: (gst_event_finalize):
5607         * gst/gstpad.c: (gst_pad_event_default_dispatch),
5608         (gst_pad_send_event):
5609         Use shiny new _TYPE_NAME macros.
5610
5611         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
5612         Move debug statement up.
5613
5614         * gst/gstelement.c: (gst_element_set_locked_state):
5615         Add some debugging.
5616
5617 2006-02-13  Tim-Philipp Müller  <tim at centricular dot net>
5618
5619         * docs/gst/gstreamer-sections.txt:
5620         * gst/gstmessage.h:
5621         * gst/gstquery.h:
5622           New API: add GST_MESSAGE_TYPE_NAME and GST_QUERY_TYPE_NAME
5623           macros (#330906). Also, document the already existing
5624           GST_QUERY_TYPE macro.
5625
5626 2006-02-13  Wim Taymans  <wim@fluendo.com>
5627
5628         * tests/check/gst/gstutils.c: (data_probe), (buffer_probe),
5629         (event_probe), (GST_START_TEST):
5630         Only events up to the pipeline EOS are counted, there are
5631         some more when going to NULL currently which we don't care
5632         about for now.
5633
5634 2006-02-13  Wim Taymans  <wim@fluendo.com>
5635
5636         * gst/gstpad.c: (gst_pad_send_event):
5637         Correctly check flushing and emit probes. fixes #330125
5638
5639 2006-02-10  Andy Wingo  <wingo@pobox.com>
5640
5641         * gst/gstbus.c (gst_bus_class_init): Declare our private data
5642         structure.
5643         (gst_bus_init): Cache the location of the private data in the
5644         instance structure.
5645         (gst_bus_enable_sync_message_emission) 
5646         (gst_bus_disable_sync_message_emission): Implement new public
5647         functions.
5648         (gst_bus_post): Emit the sync-message signal if the user asked for
5649         it. Fixes #330684.
5650
5651         * gst/gstbus.h (GstBus): Use a padding pointer to cache the
5652         location of the bus-private structure.
5653         (gst_bus_enable_sync_message_emission)
5654         (gst_bus_disable_sync_message_emission): API addition
5655
5656 2006-02-10  Jan Schmidt  <thaytan@mad.scientist.com>
5657
5658         Patch by: Vincent Torri
5659
5660         * docs/pwg/building-boiler.xml:
5661         PWG patch from #326800
5662
5663 2006-02-09  Tim-Philipp Müller  <tim at centricular dot net>
5664
5665         * configure.ac:
5666         * docs/Makefile.am:
5667         * docs/design/Makefile.am:
5668           Dist design docs.
5669
5670 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
5671
5672         * configure.ac:
5673           back to CVS
5674
5675 === release 0.10.3 ===
5676
5677 2006-02-08  Jan Schmidt <thaytan@mad.scientist.com>
5678
5679         * configure.ac:
5680           releasing 0.10.3, "Like a virgin"
5681
5682 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
5683
5684         * configure.ac:
5685           2nd prerelease of 0.10.3
5686           Bump libtool versioning.
5687
5688 2006-02-07  Andy Wingo  <wingo@pobox.com>
5689
5690         * libs/gst/base/gstcollectpads.c (gst_collect_pads_chain): Only
5691         update last_stop if we're in TIME format and the timestamp is
5692         valid.
5693
5694         * libs/gst/base/gstcollectpads.c (gst_collect_pads_event) 
5695         * libs/gst/base/gstbasetransform.c (gst_base_transform_eventfunc): 
5696         * libs/gst/base/gstbasesink.c (gst_base_sink_configure_segment):
5697         If we get a new newsegment with a different format, adapt
5698         accordingly.
5699
5700         * gst/gstclock.c (gst_clock_set_calibration): Accept a numerator
5701         of 0. Not a problem, really.
5702
5703         * libs/gst/base/gstbasesink.c (gst_base_sink_chain_unlocked): Only
5704         warn if sync=true.
5705
5706 2006-02-06  Jan Schmidt  <thaytan@mad.scientist.com>
5707
5708         * configure.ac:
5709           Prelease of 0.10.3
5710
5711 2006-02-06  Sebastien Moutte  <sebastien@moutte.net>
5712
5713         * win32/vs7:
5714           project files updated to the default vs7 configuration
5715         * win32/common/libgstbase.def:
5716         * win32/common/libgstreamer.def:
5717           added new symbols,
5718           removed empty lines,
5719           sorted all exported symbols alphabetically
5720         * win32/common/dirent.c:
5721         * win32/common/dirent.h:
5722         * win32/common/gchar.h:
5723           use windows line end.
5724           
5725 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
5726
5727         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
5728           Send EOS event when stopping.
5729
5730 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
5731
5732         * docs/README:
5733           Tell folks what to do if the plugin-foobar.xml file
5734           hasn't been generated for a newly-added plugin.
5735
5736 2006-02-05  Julien MOUTTE  <julien@moutte.net>
5737
5738         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
5739         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
5740         (gst_collect_pads_start), (gst_collect_pads_stop),
5741         (gst_collect_pads_event): Collectpads now holds a reference
5742         to the GstPad that was added. Indeed we don't want to look
5743         at pads that might just go away with no warning...
5744
5745 2006-02-05  Julien MOUTTE  <julien@moutte.net>
5746
5747         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
5748         (gst_collect_pads_start), (gst_collect_pads_stop),
5749         (gst_collect_pads_event), (gst_collect_pads_chain):
5750         * libs/gst/base/gstcollectpads.h: Handle flush. Adapted from
5751         Mark Nauwelaerts's patch on bug #328491.
5752
5753 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
5754
5755         * tests/check/gst/gstutils.c: (test_parse_bin_from_description),
5756         (gst_utils_suite):
5757           Add some simple tests for gst_parse_bin_from_description() and
5758           gst_bin_find_unconnected_pad() (#329069).
5759
5760 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
5761
5762         * tools/gst-launch.c: (event_loop), (main):
5763           Catch errors during preroll (#320084).
5764
5765 2006-02-03  Tim-Philipp Müller  <tim at centricular dot net>
5766
5767         * plugins/elements/gsttypefindelement.c:
5768         (gst_type_find_element_activate):
5769           Post TYPE_NOT_FOUND error message when typefinding
5770           is unsuccessful in the activate function as well.
5771
5772 2006-02-02  Wim Taymans  <wim@fluendo.com>
5773
5774         * docs/design/part-element-sink.txt:
5775         Updated doc.
5776
5777 2006-02-02  Wim Taymans  <wim@fluendo.com>
5778
5779         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
5780         (gst_base_sink_render_object),
5781         (gst_base_sink_queue_object_unlocked):
5782         Only keep track of prerollable items when we are 
5783         prerolling.
5784         Before rendering after preroll, always check if we
5785         have queued items.
5786         Added some more debugging.
5787
5788 2006-02-02  Wim Taymans  <wim@fluendo.com>
5789
5790         * gst/gstelement.c: (gst_element_continue_state),
5791         (gst_element_set_state_func), (gst_element_change_state):
5792         Fixed #326576, been running this for quite some time with
5793         no regressions at all.
5794
5795 2006-02-02  Wim Taymans  <wim@fluendo.com>
5796
5797         * common/gst.supp:
5798         Added more suppressions
5799
5800 2006-02-02  Wim Taymans  <wim@fluendo.com>
5801
5802         * docs/design/part-element-sink.txt:
5803         Updated document.
5804
5805         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
5806         (gst_base_sink_finalize), (gst_base_sink_preroll_queue_flush),
5807         (gst_base_sink_configure_segment), (gst_base_sink_commit_state),
5808         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
5809         (gst_base_sink_do_sync), (gst_base_sink_render_object),
5810         (gst_base_sink_preroll_object),
5811         (gst_base_sink_queue_object_unlocked),
5812         (gst_base_sink_queue_object), (gst_base_sink_event),
5813         (gst_base_sink_chain_unlocked), (gst_base_sink_chain),
5814         (gst_base_sink_loop), (gst_base_sink_activate_pull),
5815         (gst_base_sink_get_position), (gst_base_sink_change_state):
5816         * libs/gst/base/gstbasesink.h:
5817         Totally refactored matching the design doc.
5818         Use two segments, one to clip incomming buffers and another to
5819         perform sync.
5820         Handle queueing correctly, bypass the queue when playing.
5821         Make EOS cancelable.
5822         Handle errors correctly when operating in pull based mode.
5823
5824         * tests/check/elements/fakesink.c: (GST_START_TEST),
5825         (fakesink_suite):
5826         Added new check for sinks.
5827
5828 2006-02-02  Wim Taymans  <wim@fluendo.com>
5829
5830         * gst/gstsegment.c: (gst_segment_clip):
5831         No reason to refuse to clip when start == -1
5832
5833 2006-02-02  Stefan Kost  <ensonic@users.sf.net>
5834
5835         * docs/README:
5836         * docs/manual/intro-basics.xml:
5837         * docs/manual/intro-preface.xml:
5838         * docs/manual/manual.xml:
5839         * docs/pwg/advanced-dparams.xml:
5840         * docs/pwg/intro-basics.xml:
5841         * docs/pwg/intro-preface.xml:
5842         * docs/pwg/pwg.xml:
5843           describe dparams (controller) for plugins
5844           unify docs a little more
5845
5846 2006-02-02  Tim-Philipp Müller  <tim at centricular dot net>
5847
5848         * docs/gst/gstreamer-sections.txt:
5849         * gst/gstutils.c: (element_find_unconnected_pad),
5850         (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description):
5851         * gst/gstutils.h:
5852           Add new API: gst_parse_bin_from_description() and
5853           gst_bin_find_unconnected_pad() (#329069).
5854
5855 2006-02-01  Stefan Kost  <ensonic@users.sf.net>
5856
5857         * docs/manual/README:
5858           uncover a nasty detail of the docs build
5859
5860 2006-01-31  Wim Taymans  <wim@fluendo.com>
5861
5862         * gst/gstbin.c: (bin_remove_messages), (bin_query_duration_done):
5863         Don't cache duration messages if we're not going to use or
5864         free them.
5865
5866 2006-01-31  Stefan Kost  <ensonic@users.sf.net>
5867
5868         * docs/manual/advanced-dparams.xml:
5869         * docs/pwg/advanced-dparams.xml:
5870           more dparam docs
5871         * gst/gstindex.c:
5872           fix docs
5873         * libs/gst/controller/lib.c: (gst_controller_init):
5874           init just once
5875
5876 2006-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
5877
5878         * gst/gstelement.c: (gst_element_message_full):
5879           also show file/line/func if no additional debug was given
5880
5881 2006-01-31  Sebastien Moutte  <sebastien@moutte.net>
5882         
5883         * win32/vs7/grammar.vcproj:
5884           activate copy of autogenerated files for Release mode
5885
5886 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
5887         
5888         * win32/common/libgstreamer.def:
5889           export gst_value_compare
5890
5891 2006-01-30  Jan Schmidt  <thaytan@mad.scientist.com>
5892
5893         * plugins/elements/Makefile.am:
5894         * plugins/elements/gstelements.c:
5895         * plugins/elements/gstfdsink.c: (_do_init),
5896         (gst_fd_sink_base_init), (gst_fd_sink_class_init),
5897         (gst_fd_sink_init), (gst_fd_sink_dispose), (gst_fd_sink_query),
5898         (gst_fd_sink_render), (gst_fd_sink_check_fd), (gst_fd_sink_start),
5899         (gst_fd_sink_stop), (gst_fd_sink_unlock), (gst_fd_sink_update_fd),
5900         (gst_fd_sink_set_property), (gst_fd_sink_uri_get_type),
5901         (gst_fd_sink_uri_get_protocols), (gst_fd_sink_uri_get_uri),
5902         (gst_fd_sink_uri_set_uri), (gst_fd_sink_uri_handler_init):
5903         * plugins/elements/gstfdsink.h:
5904         Port fdsink to 0.10 (patch by Philippe Rouquier) (Fixes #325490)
5905
5906 2006-01-30  Stefan Kost  <ensonic@users.sf.net>
5907
5908         * docs/manual/advanced-dparams.xml:
5909           describe controller
5910         * docs/manual/advanced-position.xml:
5911         * docs/manual/basics-init.xml:
5912         * docs/manual/manual.xml:
5913         * docs/manual/titlepage.xml:
5914         * docs/pwg/pwg.xml:
5915         * docs/pwg/titlepage.xml:
5916           cleanup xml (more to come)
5917         * libs/gst/controller/gstcontroller.c:
5918           fix typo
5919
5920 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
5921         
5922         * win32/vs6/grammar.dsp:
5923           add autogen of gstmarshal.c,h for Release mode
5924                 
5925 2006-01-30  Wim Taymans  <wim@fluendo.com>
5926
5927         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
5928         (gst_base_sink_preroll_queue_empty), (gst_base_sink_commit_state),
5929         (gst_base_sink_handle_object), (gst_base_sink_event),
5930         (gst_base_sink_is_prerolled), (gst_base_sink_wait),
5931         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
5932         (gst_base_sink_handle_buffer), (gst_base_sink_set_flushing),
5933         (gst_base_sink_deactivate), (gst_base_sink_activate),
5934         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
5935         (gst_base_sink_query), (gst_base_sink_change_state):
5936         Basesink cleanups, remove some old code.
5937         Handle the case where a subclass can preroll in the render
5938         method (mostly audiosinks).
5939         Handle more events.
5940         Remove some locks around variables that are now protected
5941         with the PREROLL_LOCK (clock_id, flushing, ..).
5942         Optimize position query some more, do correct locking.
5943         Remove old code to push queue in state change, this is not
5944         needed anymore since preroll blocks on all prerollable items 
5945         now.
5946         Almost implemented as described in design doc.
5947
5948 2006-01-30  Wim Taymans  <wim@fluendo.com>
5949
5950         * tests/check/gst/gstbin.c: (GST_START_TEST):
5951         Wait for refcount to settle down before checking.
5952
5953 2006-01-30  Wim Taymans  <wim@fluendo.com>
5954
5955         * docs/design/part-element-sink.txt:
5956         Pseudo code overview of desired sink behaviour regarding
5957         preroll.
5958
5959 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
5960         * win32/vs6/grammar.dsp:
5961           fix some bugs in Release mode for autogenerated files
5962                 
5963 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
5964         * win32/common/libgstbase.def:
5965         * win32/common/libgstreamer.def:
5966           export some new symbols: gst_base_src_set_format,
5967           gst_iterator_next, gst_structure_set_valist
5968
5969 2006-01-29  Julien MOUTTE  <julien@moutte.net>
5970
5971         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
5972         Set pad functions unconditionally. Fixes #329105.
5973
5974 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
5975         * win32/vs8:
5976           add vs8 project files created by Sergey Scobich
5977
5978 2006-01-28  Jan Schmidt  <thaytan@mad.scientist.com>
5979
5980         * gst/gstutils.c: (gst_element_unlink_pads):
5981         Don't leak pad references.
5982
5983         * tests/check/elements/fakesink.c: (GST_START_TEST):
5984         * tests/check/generic/sinks.c: (GST_START_TEST):
5985         * tests/check/generic/states.c: (GST_START_TEST):
5986         * tests/check/gst/gstbin.c: (GST_START_TEST):
5987         * tests/check/gst/gstcaps.c: (GST_START_TEST):
5988         * tests/check/gst/gstelement.c: (GST_START_TEST):
5989         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
5990         * tests/check/gst/gstiterator.c: (GST_START_TEST):
5991         * tests/check/gst/gstvalue.c: (GST_START_TEST):
5992         Fix a bunch of leaks. Make generic/sinks.c
5993         use a bit less cpu by slowing the buffer rate
5994         between fakesrc and fakesink.
5995         
5996 2006-01-27  Stefan Kost  <ensonic@users.sf.net>
5997         * gst/gstcaps.c:
5998         * gst/gstelement.c: (gst_element_send_event):
5999         * gst/gstevent.c:
6000         * gst/gstinfo.c:
6001         * gst/gstiterator.c:
6002         * gst/gstiterator.h:
6003         * gst/gstpad.c: (gst_pad_send_event):
6004         * gst/gststructure.c:
6005         * gst/gsturi.c:
6006         * gst/gstutils.c:
6007         * gst/gstvalue.c:
6008         * libs/gst/base/gstadapter.c:
6009           doc fixes, to link to function, just write gst_cool_function(), don't
6010           prefix with '#'
6011
6012 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
6013
6014         * plugins/elements/gsttee.c: (gst_tee_do_push),
6015         (gst_tee_handle_buffer):
6016         Always prefer an actual return value from a src
6017         pad in place of NOT_LINKED. This means we return
6018         WRONG_STATE when all src pads are WRONG_STATE
6019         instead of NOT_LINKED.
6020
6021         Lock when replacing the last message to prevent
6022         racing with the get_property method.
6023
6024         Add debug output
6025
6026 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
6027
6028         * tests/check/Makefile.am:
6029         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite),
6030         (main):
6031         Add a very simple check that should have caught the memleak I fixed
6032         last night (if not for the slice allocator hiding it)
6033
6034 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
6035
6036         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
6037         (gst_bin_remove_func), (gst_bin_handle_message_func),
6038         (bin_query_duration_fold), (bin_query_generic_fold):
6039         Clean up references to the clock provider when disposed or when
6040         handling a clock-lost message from it.
6041
6042         Unref sinks when performing a query via gst_iterator_fold, as the
6043         gst_bin_iterate_sinks iterator refs each item. (Fixes #323874)
6044
6045         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_dispose),
6046         (gst_clock_set_master):
6047         Drop our reference to the master clock, if any, when we are disposed.
6048
6049         * gst/gsttypefindfactory.c: (gst_type_find_factory_dispose):
6050         Chain up in dispose. 
6051
6052 2006-01-26  Wim Taymans  <wim@fluendo.com>
6053
6054         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
6055         Add some debugging.
6056
6057 2006-01-26  Julien MOUTTE  <julien@moutte.net>
6058
6059         * plugins/elements/gsttee.c: (gst_tee_do_push),
6060         (gst_tee_handle_buffer): Apply patch from #328715. Tee now
6061         handles pad being NOT_LINKED or in WRONG_STATE.
6062
6063 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
6064
6065         * win32/MANIFEST:
6066           more updating
6067
6068 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
6069
6070         * win32/MANIFEST:
6071           remove obsolete entry
6072
6073 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
6074
6075         * docs/gst/gstreamer-sections.txt:
6076         * gst/gstbin.c: (bin_element_is_src), (src_iterator_filter),
6077         (gst_bin_iterate_sources), (gst_bin_send_event):
6078         * gst/gstbin.h:
6079         * gst/gstelement.c: (gst_element_send_event):
6080         * gst/gstevent.c:
6081         * gst/gstpad.c: (gst_pad_send_event):
6082           added code for downstream events, reviewed docs in gstevent.c
6083
6084 2006-01-25  Julien MOUTTE  <julien@moutte.net>
6085
6086         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
6087         We only query position using the clock in the playing state.
6088         Query peer in the other cases.
6089         * win32/common/config.h: Updates.
6090
6091 2006-01-24  Wim Taymans  <wim@fluendo.com>
6092
6093         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
6094         A clock entry that is scheduled for the exact time of the
6095         clock is still in time.
6096
6097         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6098         (gst_base_sink_do_sync):
6099         Add some more debug info.
6100
6101 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
6102
6103         * win32/vs7:
6104           Add new vs7 project files and solution.
6105
6106 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
6107
6108         * win32/vs7:
6109           all files removed as they were out-dated.
6110
6111 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6112
6113         * docs/random/release:
6114           update notes
6115         * gst/gstbin.c: (gst_bin_init):
6116         * gst/gstbus.c: (gst_bus_new):
6117         * gst/gstbus.h:
6118         * gst/gstpipeline.c: (gst_pipeline_init):
6119           use gst_bus_new(), improve logging, fix docs
6120         * win32/common/config.h:
6121           update for cvs build
6122
6123 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6124
6125         * autogen.sh:
6126           up required version of automake to 1.7
6127
6128 2006-01-20  Sebastien Moutte  <sebastien@moutte.net>
6129
6130         * win32/common/libgstreamer.def:
6131           export gst_buffer_is_metadata_writable
6132
6133 2006-01-20  Tim-Philipp Müller  <tim at centricular dot net>
6134
6135         * docs/gst/gstreamer-sections.txt:
6136         * gst/gstevent.h:
6137           Add gst_event_replace() (#327001)
6138
6139 2006-01-20  Wim Taymans  <wim@fluendo.com>
6140
6141         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
6142         Make it actually compile too..
6143
6144 2006-01-20  Wim Taymans  <wim@fluendo.com>
6145
6146         * gst/gstcaps.c:
6147         Clarify behaviour of _is_equal() when passing NULL parameters.
6148
6149         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
6150         (gst_pad_set_caps):
6151         Cleanups. Don't unref NULL caps.
6152         When setting the same caps, protect caps of the pad with
6153         proper lock.
6154         Use full functionality of _is_equal() when comparing caps.
6155
6156 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
6157
6158         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
6159         Don't loop infinitely if there are no buffers to present. Partially
6160         fixes #327197, but collectpads is just broken for reusing elements
6161         to do multiple encodes atm.
6162
6163 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
6164
6165         * tools/gst-inspect.c: (print_element_features):
6166         * tools/gst-xmlinspect.c: (main):
6167         URL_HANDLER is not a plugin feature we can search for in
6168         the registry.
6169
6170 2006-01-19  Edward Hervey  <edward@fluendo.com>
6171
6172         * gst/gstelement.c: (gst_element_pads_activate): 
6173         When activating, do src pads first, then sink pads.
6174         When de-activating, do sink pads first, then src pads.
6175
6176 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
6177
6178         * docs/gst/gstreamer-sections.txt:
6179         Add gst_index_add_associationv to the docs
6180
6181 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
6182
6183         * gst/gstevent.c:
6184           Fix docs typo
6185
6186         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event),
6187         (gst_queue_chain), (gst_queue_push_one), (gst_queue_loop):
6188           Do some refactoring. Doesn't actually change functionality,
6189           but makes landing the DRAIN event easier later.
6190
6191 2006-01-19  Tim-Philipp Müller  <tim at centricular dot net>
6192
6193         * docs/pwg/advanced-scheduling.xml:
6194           Update from 0.9.x to 0.10 API and make example a bit
6195           clearer.
6196
6197 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
6198
6199         * docs/gst/gstreamer-sections.txt:
6200         Add gst_buffer_(is|make)_metadata_writable methods.
6201
6202 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
6203
6204         * docs/design/part-sparsestreams.txt:
6205         Update sparse streams doc, hopefully for greater clarity
6206
6207 2006-01-18  Jan Schmidt  <thaytan@mad.scientist.com>
6208
6209         * docs/design/part-events.txt:
6210         Remove mention of FILLER events.
6211         Add DRAIN event.
6212
6213         * docs/design/part-sparsestreams.txt:
6214         Write some things about using NEWSEGMENT to keep sparse streams
6215         flowing.
6216
6217 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
6218
6219         * gst/gstbin.c: (gst_bin_dispose):
6220           Guard gst_object_unref call against a NULL object (dispose
6221           can theoretically be called multiple times).
6222           
6223 2006-01-18  Wim Taymans  <wim@fluendo.com>
6224
6225         * gst/gstbin.c: (gst_bin_element_set_state):
6226         * gst/gstclock.c: (gst_clock_id_wait):
6227         Added some more debug info.
6228
6229         * libs/gst/base/gstadapter.c:
6230         Added more docs.
6231
6232         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6233         (gst_base_sink_do_sync), (gst_base_sink_chain):
6234         Added some comments.
6235
6236 2006-01-18  Wim Taymans  <wim@fluendo.com>
6237
6238         * tests/check/Makefile.am:
6239         * tests/check/elements/fakesink.c: (chain_async_buffer),
6240         (chain_async), (chain_async_return), (GST_START_TEST),
6241         (fakesink_suite), (main):
6242         Added fakesink test that checks prerolling and clipping
6243         behaviour.
6244
6245         * tests/check/gst/gstutils.c: (GST_START_TEST):
6246         Make check run faster so that buildbots don't timeout.
6247
6248 2006-01-18  Wim Taymans  <wim@fluendo.com>
6249
6250         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6251         (gst_base_sink_do_sync):
6252         Some cleanups.
6253         When the sink finishes blocking on the preroll buffer, it can
6254         immediatly render it instead of rendering when the next buffer
6255         arrives.
6256
6257 2006-01-18  Wim Taymans  <wim@fluendo.com>
6258
6259         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_property),
6260         (gst_base_sink_get_property), (gst_base_sink_do_sync),
6261         (gst_base_sink_chain):
6262         Small cleanups.
6263         GST_ELEMENT_CLOCK and sync are protected with LOCK.
6264         Don't store _last_stop if the buffer is dropped.
6265
6266 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
6267
6268         * plugins/elements/gsttypefindelement.c:
6269         (gst_type_find_element_class_init):
6270           'have-type' signal needs to be G_SIGNAL_RUN_FIRST, as it is the
6271           object method handler that sets the caps on the pad and we want
6272           that to happen before we emit the signal (fixes e.g. feeding a
6273           plain text file to decodebin).
6274
6275 2006-01-18  Christian Schaller  <Christian@fluendo.com>
6276
6277         * gst/gstplugin.c: Add MPL and Proprietary as license options
6278
6279 2006-01-18  Andy Wingo  <wingo@pobox.com>
6280
6281         * gst/gstindex.h (gst_index_add_associationv): Add to header. The
6282         symbol was exported before, it appears this was just an oversight.
6283         Fixes #168703.
6284         Patch by: Torsten Schoenfeld <kaffeetisch at gmx.de>
6285
6286         * gst/gstindex.c (gst_index_add_associationv): Changed int in
6287         prototype to gint. OK since this prototype was not in the header.
6288
6289 2006-01-17  Andy Wingo  <wingo@pobox.com>
6290
6291         * gst/gstregistry.c (_gst_registry_remove_cache_plugins): Lock the
6292         registry while we remove plugins.
6293
6294         * tools/gst-inspect.c (print_element_info): Don't unref the
6295         factory arg, that should be the responsibility of whatever code
6296         received the ref. Fixes a double-free when called from
6297         print_element_list via gst-inspect-0.10 -a. Fixes #327324.
6298         (main): Unref the factory if we have one.
6299         (print_element_list): No change -- relies on the
6300         plugin_feature_list_free to free the list of features.
6301
6302 2006-01-17  Jan Schmidt  <thaytan@mad.scientist.com>
6303
6304         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
6305         (gst_buffer_make_metadata_writable):
6306         * gst/gstbuffer.h:
6307         * libs/gst/base/gstbasetransform.c:
6308         (gst_base_transform_prepare_output_buf):
6309         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
6310         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
6311           Replace gst_buffer_(make|is)_metadata_writable patch now
6312           that the release is out.
6313
6314 2006-01-17  Andy Wingo  <wingo@pobox.com>
6315
6316         * gst/gstregistry.c: Reflow design comment. Update so as to speak
6317         in the present tense without reference to versions.
6318
6319         * gst/gstregistry.c (gst_registry_add_plugin)
6320         (gst_registry_remove_plugin, gst_registry_remove_feature)
6321         (gst_registry_find_feature, gst_registry_get_feature_list)
6322         (gst_registry_get_plugin_list, gst_registry_lookup_feature)
6323         (gst_registry_lookup, gst_registry_scan_path)
6324         (_gst_registry_remove_cache_plugins)
6325         (gst_registry_get_feature_list_by_plugin): Add argument
6326         validation.
6327
6328 === release 0.10.2 ===
6329
6330 2006-01-16  Thomas Vander Stichele <thomas at apestaart dot org>
6331
6332         * configure.ac:
6333           releasing 0.10.2, "If man is five"
6334
6335 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
6336
6337         * gst/gstbuffer.c:
6338         * gst/gstbuffer.h:
6339         * libs/gst/base/gstbasetransform.c:
6340         (gst_base_transform_prepare_output_buf):
6341         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
6342         * tests/check/gst/gstbuffer.c: (gst_test_suite):
6343           Back out patch until after the release.
6344
6345 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
6346
6347         * gst/gstminiobject.c:
6348           Spelling fix in docs.
6349         * ChangeLog - remove conflict indicator
6350
6351 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
6352
6353         Reviewed By: Andy Wingo
6354
6355         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
6356         (gst_buffer_make_metadata_writable):
6357         * gst/gstbuffer.h:
6358           Add gst_buffer_(is|make)_metadata_writable as analogues of
6359           gst_buffer_(is|make)_writable.
6360
6361         * libs/gst/base/gstbasetransform.c:
6362         (gst_base_transform_prepare_output_buf):
6363         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
6364           Use name gst_buffer_(is|make)_metadata_writable functions.
6365
6366         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
6367           Test gst_buffer_(is|make)_metadata_writable
6368         
6369           (Closes: #324162)
6370
6371 2006-01-14  Thomas Vander Stichele  <thomas at apestaart dot org>
6372
6373         * docs/manual/Makefile.am:
6374           don't do parallel make
6375         * configure.ac:
6376           AC_SUBST HOST_CPU
6377         * win32/common/config.h.in:
6378           add generations for HOST_CPU and GST_MAJORMINOR
6379         * win32/common/config.h:
6380           commit generated result
6381
6382 2006-01-13  Tim-Philipp Müller  <tim at centricular dot net>
6383
6384         * docs/manual/appendix-integration.xml:
6385           Update GNOME integration section to use gst_init_get_option_group()
6386           instead of the old popt stuff (#322911). Also, GNOME applications
6387           should  now use gconf*sink and gconf*src instead of the old gconf
6388           helper lib we had.
6389
6390 2006-01-13  Stefan Kost  <ensonic@users.sf.net>
6391
6392
6393         * docs/gst/gstreamer-docs.sgml:
6394         * docs/gst/gstreamer-sections.txt:
6395         * docs/libs/gstreamer-libs-sections.txt:
6396           add new API entries to the docs
6397         * libs/gst/controller/Makefile.am:
6398         * libs/gst/controller/gstcontroller.c:
6399         * libs/gst/controller/gstcontroller.h:
6400         * libs/gst/controller/gstcontrollerprivate.h:
6401         * libs/gst/controller/gsthelper.c:
6402         * libs/gst/controller/gstinterpolation.c:
6403           move private structs to private header
6404         * po/README:
6405           gstreamer-0.7 -> gstreamer-0.10
6406         * tests/check/libs/struct_i386.h:
6407           remove private structs
6408
6409 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
6410
6411         * plugins/indexers/Makefile.am:
6412           Fixes as part of #317048
6413
6414 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
6415
6416         * plugins/indexers/Makefile.am:
6417           fix #316086 - compilation when mmap is missing
6418
6419 2006-01-12  Sebastien Moutte  <sebastien@moutte.net>
6420
6421         * libs/gst/base/gstbasesink.c:
6422           *cur = (now - base) * basesink->segment.abs_rate + time; replaced by 
6423           *cur = gst_guint64_to_gdouble(now - base) * basesink->segment.abs_rate + time; for vs6
6424         * win32/common/config.h:
6425           added some defines GST_MAJORMINOR and HOST_CPU
6426         * win32/common/libgstbase.def:
6427         * win32/common/libgstreamer.def:
6428           added some exported functions.
6429
6430 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
6431
6432         * libs/gst/controller/gstcontroller.c:
6433         (gst_controlled_property_set_interpolation_mode),
6434         (gst_controlled_property_new):
6435         * libs/gst/controller/gstcontroller.h:
6436         * libs/gst/controller/gstinterpolation.c:
6437         (interpolate_none_get_string_value_array):
6438           make G_TYPE_STRING controlable
6439
6440 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
6441
6442         * tools/README:
6443         * tools/gst-feedback.1.in:
6444         * tools/gst-inspect.1.in:
6445         * tools/gst-launch.1.in:
6446         * tools/gst-md5sum.1.in:
6447         * tools/gst-typefind.1.in:
6448         * tools/gst-xmlinspect.1.in:
6449         * tools/gst-xmllaunch.1.in:
6450           cleanup man-pages, remove reference to gst-register, document env-vars
6451
6452 2006-01-12  Jan Schmidt  <thaytan@mad.scientist.com>
6453
6454         * gst/gstbuffer.c: (gst_buffer_span):
6455           gst_buffer_span should copy the timestamp of the first buffer
6456           if they were both originally overlapping subbuffers of the 
6457           same parent, using the same logic as the 'slow copy' case.
6458
6459 2006-01-11  Jan Schmidt  <thaytan@mad.scientist.com>
6460
6461         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop):
6462           Need to awaken ALL the pads when we pop a buffer, otherwise
6463           collectpads only works when there is 2 input streams.
6464
6465 2006-01-11  Stefan Kost  <ensonic@users.sf.net>
6466
6467         * docs/random/ensonic/media-device-daemon.txt:
6468           more ideas (dbus)
6469         * gst/gstbuffer.c:
6470           fix doc example, add clarification
6471         * tools/gst-launch.1.in:
6472           add initial info about GST_PLUGIN_PATH, needs more work
6473
6474 2006-01-11  Tim-Philipp Müller  <tim at centricular dot net>
6475
6476         * docs/manual/basics-bins.xml:
6477         * docs/manual/basics-elements.xml:
6478         * docs/manual/intro-basics.xml:
6479           Some more minor docs additions and updates.
6480
6481 2006-01-11  Wim Taymans  <wim@fluendo.com>
6482
6483         * docs/manual/basics-bins.xml:
6484         * docs/manual/basics-elements.xml:
6485         Some small fixes as pointed out by Ser-ver on IRC.
6486
6487 2006-01-10  Edward Hervey  <edward@fluendo.com>
6488
6489         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
6490         Set the buffer offset/offset_end to GST_CLOCK_TIME_NONE when using
6491         the single-segment mode.
6492
6493 2006-01-10  Brian Cameron  <brian dot cameron at sun dot com>
6494
6495         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
6496
6497         * libs/gst/base/gstbasesrc.c: (gst_base_src_init),
6498         (gst_base_src_perform_seek), (gst_base_src_send_event),
6499         (gst_base_src_set_property), (gst_base_src_get_property),
6500         (gst_base_src_loop), (gst_base_src_start),
6501         (gst_base_src_activate_push):
6502         * libs/gst/base/gstbasesrc.h:
6503           Name (private) union; makes Sun's Forte compiler happy (#324900).
6504
6505 2006-01-09  Tim-Philipp Müller  <tim at centricular dot net>
6506
6507         * README:
6508           gst-register is gone.
6509
6510 2006-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
6511
6512         * gst/gstvalue.c: (_gst_value_initialize):
6513           make the G_TYPE_DATE instantiation work if debug is disabled
6514
6515 2006-01-06  Tim-Philipp Müller  <tim at centricular dot net>
6516
6517         * gst/gstmessage.c: (gst_message_parse_tag),
6518         (gst_message_parse_error), (gst_message_parse_warning):
6519           Don't crash when return location for error/warning debug
6520           string is NULL; add fact that return locations can be
6521           NULL to docs where appropriate.
6522
6523 2006-01-05  Wim Taymans  <wim@fluendo.com>
6524
6525         * gst/gstplugin.c: (gst_plugin_load_file):
6526         Replace strdup by g_strdup.
6527
6528 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
6529
6530         * docs/pwg/advanced-types.xml:
6531           fix doc borkage
6532
6533 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
6534
6535         submitted by: Abel Cheung
6536
6537         * po/LINGUAS:
6538         * po/zh_TW.po:
6539           Added Chinese (traditional) translation
6540
6541 2006-01-04  Wim Taymans  <wim@fluendo.com>
6542
6543         * docs/manual/basics-pads.xml:
6544         * docs/plugins/Makefile.am:
6545         * docs/plugins/gstreamer-plugins-docs.sgml:
6546         * docs/plugins/gstreamer-plugins-sections.txt:
6547         * docs/pwg/advanced-clock.xml:
6548         * docs/pwg/advanced-scheduling.xml:
6549         * docs/pwg/advanced-types.xml:
6550         * plugins/elements/gstfdsink.c:
6551         * plugins/elements/gstfdsrc.c:
6552         * plugins/elements/gstfdsrc.h:
6553         * plugins/elements/gstidentity.c: (gst_identity_class_init):
6554         * plugins/elements/gstidentity.h:
6555         * plugins/elements/gstqueue.h:
6556         * plugins/elements/gsttee.c:
6557         * plugins/elements/gsttee.h:
6558         * plugins/elements/gsttypefindelement.c:
6559         (gst_type_find_element_class_init):
6560         * plugins/elements/gsttypefindelement.h:
6561         Small updates to various docs.
6562         Added core plugins to docs.
6563
6564 2006-01-03  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
6565
6566         * common/gst.supp:
6567           add a suppression for liboil's uninitialized variable
6568
6569 2006-01-02  James Livingston  <jrl at ids dot org dot au>
6570
6571         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
6572
6573         * gst/gstutils.h:
6574           Add prototype for _get_type() function to GST_BOILERPLATE_FULL
6575           macro, so that gcc doesn't complain if the -Wmissing-prototypes
6576           compiler switch is being used (#325429).
6577
6578 2005-12-29  Tim-Philipp Müller  <tim at centricular dot net>
6579
6580         * gst/gstbin.c: (gst_bin_query):
6581           Disable duration query caching in bins until it gets
6582           fixed (see #324807).
6583
6584 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
6585
6586         * tools/gst-inspect.c: (print_element_properties_info):
6587           Handle properties of POINTER and BOXED type.
6588
6589 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
6590
6591         * gst/gst.c: (init_post):
6592           Init tags stuff and some other things before loading
6593           any static plugins (there may be other static plugins
6594           than just the GStreamer ones, and they may want to
6595           register their own tags or formats or whatever, and
6596           preferably without segfaulting).
6597
6598         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
6599           Print at least a warning in the debug logs if we drop a
6600           query just because we don't know how to adjust the value
6601           in the particular format.
6602
6603 2005-12-24  David Schleef  <ds@schleef.org>
6604
6605         * tools/gstreamer-completion:
6606           Replacement for gst-complete written in sh and sed.  Only
6607           completes names of features, but that's 90% of what I want
6608           it for.  Properties are not available in registry.xml.  (Maybe
6609           they should be...)
6610
6611 === release 0.10.1 ===
6612
6613 2005-12-23  Thomas Vander Stichele <thomas at apestaart dot org>
6614
6615         * configure.ac:
6616           releasing 0.10.1, "Nollaig chridheil"
6617
6618 2005-12-22  Tim-Philipp Müller  <tim at centricular dot net>
6619
6620         * docs/faq/cvs.xml:
6621           Add missing quote, should be make ERROR_CFLAGS="".
6622
6623 2005-12-20  Wim Taymans  <wim@fluendo.com>
6624
6625         * docs/design/part-trickmodes.txt:
6626         More documentation on trickmodes.
6627
6628 2005-12-20  Edward Hervey  <edward@fluendo.com>
6629
6630         * gst/gstcaps.c: (gst_static_caps_get_type):
6631         * gst/gstcaps.h:
6632           API addition: GST_TYPE_STATIC_CAPS
6633         Added gpointer GType for GstStaticCaps so we can wrap them in bindings.
6634         * gst/gstpadtemplate.c: (gst_static_pad_template_get_type):
6635         * gst/gstpadtemplate.h:
6636           API addition: GST_TYPE_STATIC_PAD_TEMPLATE
6637         Added gpointer GType for GstStaticPadTemplate so we can wrap them in
6638         bindings.
6639
6640 2005-12-18  Wim Taymans  <wim@fluendo.com>
6641
6642         * libs/gst/base/gstadapter.c:
6643         * libs/gst/base/gstadapter.h:
6644         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
6645         (gst_base_sink_get_position):
6646         * libs/gst/base/gstbasesink.h:
6647         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
6648         (gst_base_src_default_query), (gst_base_src_default_do_seek),
6649         (gst_base_src_do_seek), (gst_base_src_perform_seek),
6650         (gst_base_src_send_event), (gst_base_src_update_length),
6651         (gst_base_src_get_range), (gst_base_src_loop),
6652         (gst_base_src_start):
6653         * libs/gst/base/gstbasesrc.h:
6654         * libs/gst/base/gstbasetransform.h:
6655         * libs/gst/base/gstcollectpads.h:
6656         * libs/gst/base/gstpushsrc.c:
6657         * libs/gst/base/gstpushsrc.h:
6658         * libs/gst/dataprotocol/dataprotocol.c:
6659         * libs/gst/dataprotocol/dataprotocol.h:
6660         * libs/gst/net/gstnetclientclock.h:
6661         * libs/gst/net/gstnettimeprovider.h:
6662         Documentation updates.
6663
6664 2005-12-18  Tim-Philipp Müller  <tim at centricular dot net>
6665
6666         * docs/manual/basics-helloworld.xml:
6667           Remove superfluous closing bracket in helloworld example.
6668
6669 2005-12-17  Tim-Philipp Müller  <tim at centricular dot net>
6670
6671         * tools/gst-launch.1.in:
6672           Update gst-launch man page; add a section with useful
6673           environment variables. Fixes #323882.
6674
6675 2005-12-16  Stefan Kost  <ensonic@users.sf.net>
6676
6677         * gst/gst.c:
6678         * gst/gst_private.h:
6679           change some char* into char[]
6680
6681 2005-12-16  Wim Taymans  <wim@fluendo.com>
6682
6683         * gst/gstregistryxml.c: (load_feature):
6684         Cleanups.
6685         Don't use g_object_unref on GstObjects so that we avoid
6686         leaks on unsafe glibs.
6687
6688 2005-12-16  Wim Taymans  <wim@fluendo.com>
6689
6690         * gst/gstbin.c: (gst_bin_recalc_state):
6691         Small doc updates.
6692
6693 2005-12-16  Wim Taymans  <wim@fluendo.com>
6694
6695         * common/check.mak:
6696         Added make forever target for check.
6697
6698 2005-12-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6699
6700         * gst/gst.c: (init_post):
6701           make the registry cache file HOST_CPU-dependent
6702
6703 2005-12-16  Andy Wingo  <wingo@pobox.com>
6704
6705         * plugins/elements/gstbufferstore.c
6706         (gst_buffer_store_cleared_func): Pay attention to g_list_append
6707         return value.
6708
6709         * tests/check/gst/gstobject.c
6710         (test_fake_object_name_threaded_unique): Pay attention to
6711         g_list_sort return value.
6712
6713 2005-12-16  Tim-Philipp Müller  <tim at centricular dot net>
6714
6715         * tools/gst-feedback-m.m:
6716           Update for 0.9/0.10 (fixes #323870).
6717
6718 2005-12-15  Tim-Philipp Müller  <tim at centricular dot net>
6719
6720         * gst/gstminiobject.c: (gst_value_mini_object_lcopy):
6721           Fix lcopy for mini objects, the mini object needs to be ref'ed.
6722           
6723         * tests/check/gst/gstminiobject.c: (my_foo_init),
6724         (my_foo_get_property), (my_foo_set_property), (my_foo_class_init),
6725         (test_value_collection), (gst_mini_object_suite):
6726           Add test to ensure refcounts end up as expected when passing
6727           GstMiniObjects through g_object_get() and g_object_set().
6728
6729 2005-12-14  Julien MOUTTE  <julien@moutte.net>
6730
6731         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
6732         (gst_collect_pads_remove_pad), (gst_collect_pads_is_collected),
6733         (gst_collect_pads_event), (gst_collect_pads_chain): Refactoring
6734         of collectpads. This version removes a lot of races without
6735         touching API/ABI. Yay !
6736
6737 2005-12-14  Jan Schmidt  <thaytan@mad.scientist.com>
6738
6739         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_link_prepare):
6740           Don't allow activation of a srcpad in pull_range if it has no
6741           getrange function.
6742           Change some debug statements to be a little clearer
6743
6744         * plugins/elements/gsttypefindelement.c:
6745         (gst_type_find_handle_src_query):
6746           Check that we have a peer before executing queries thereupon.
6747
6748         * tests/examples/metadata/read-metadata.c: (message_loop):
6749           Use gst_bus_pop instead of gst_bus_poll when we just want it to
6750           immediately return us any available message with 0 timeout.
6751
6752 2005-12-12  Michael Smith  <msmith@fluendo.com>
6753
6754         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
6755           Don't unref factories after calling them.
6756         * libs/gst/base/gsttypefindhelper.c: (gst_type_find_helper):
6757         * plugins/elements/gsttypefindelement.c:
6758         (gst_type_find_element_chain):
6759           Free lists of factories after using them. Fixing typefinding memory
6760           leaks.
6761
6762 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
6763
6764         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
6765         (gst_plugin_feature_load):
6766           more meaningful debug output
6767         * configure.ac:
6768         * tests/Makefile.am:
6769         * tests/old/examples/Makefile.am:
6770           make make distcheck happy again
6771
6772 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
6773
6774         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
6775           Catch the special case where we are operating chain-based,
6776           but the downstream peer pad has no chain function. Emit a
6777           custom error message in this case instead of letting the
6778           core generate one implying that this is some sort of core
6779           bug. It's not, it just means that whatever got plugged
6780           into the pipeline downstream when we announced the type
6781           can only operate pull-based, while our source can only
6782           operate push-based (e.g. http://foo/bar.mov ! qtdemux ! ...)
6783           Error string has not been marked for translation yet, as
6784           it probably needs some more work first.
6785
6786         (gst_type_find_element_get_best_possibility):
6787           Add helper function to find the best of all available
6788           found possibilities that qualify given the min. threshold.
6789
6790         (gst_type_find_element_handle_event):
6791           Fix the case where we get an EOS while still in TYPEFIND
6792           mode (we want to chose the best of all possible types,
6793           not just the first type that happens to be in our unsorted
6794           list of possible types).
6795
6796         (gst_type_find_element_chain):
6797           Make sure we return GST_FLOW_ERROR when we errored out
6798           in stop_typefinding(); also, don't just find the best of
6799           all found type entries and then use the last examined
6800           type entry, but actually use the best entry.
6801
6802 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
6803
6804         * tests/examples/typefind/typefind.c: (type_found):
6805         * tests/examples/xml/runxml.c: (xml_loaded):
6806           More gcc4 fixes and a mem leak fix.
6807
6808 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
6809
6810         * tests/examples/xml/createxml.c: (object_saved):
6811           gcc 4 fixes
6812
6813 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
6814
6815         * tests/Makefile.am:
6816           enable the examples even more
6817
6818 2005-12-12  Andy Wingo  <wingo@pobox.com>
6819
6820         * libs/gst/net/gstnettimeprovider.c
6821         (gst_net_time_provider_class_init, gst_net_time_provider_init)
6822         (gst_net_time_provider_set_property)
6823         (gst_net_time_provider_get_property):
6824         API addition: Export "active" as a GObject property.
6825         (gst_net_time_provider_thread): Only respond to time queries if
6826         the time provider is active.
6827
6828         * libs/gst/net/gstnettimeprovider.h: Add an "active" boolean to
6829         NetTimeProvider, preserving binary compat.
6830
6831 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
6832
6833         * tests/examples/controller/audio-example.c: (main):
6834         * tests/examples/launch/Makefile.am:
6835           convert comments again
6836
6837 2005-12-12  Wim Taymans  <wim@fluendo.com>
6838
6839         * libs/gst/base/gstpushsrc.c:
6840         Fix typo.
6841
6842 2005-12-12  Wim Taymans  <wim@fluendo.com>
6843
6844         * docs/libs/gstreamer-libs-sections.txt:
6845         Added new symbol to docs.
6846
6847         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
6848         (gst_base_src_init), (gst_base_src_set_format),
6849         (gst_base_src_default_query), (gst_base_src_query),
6850         (gst_base_src_default_do_seek), (gst_base_src_do_seek),
6851         (gst_base_src_perform_seek), (gst_base_src_send_event),
6852         (gst_base_src_default_event), (gst_base_src_event_handler),
6853         (gst_base_src_set_property), (gst_base_src_get_property),
6854         (gst_base_src_wait), (gst_base_src_do_sync),
6855         (gst_base_src_update_length), (gst_base_src_get_range),
6856         (gst_base_src_check_get_range), (gst_base_src_loop),
6857         (gst_base_src_default_negotiate), (gst_base_src_start),
6858         (gst_base_src_activate_push), (gst_base_src_activate_pull),
6859         (gst_base_src_change_state):
6860         * libs/gst/base/gstbasesrc.h:
6861         Implement seeking to other formats than _BYTES.
6862         Implement more seeking methods correctly.
6863         Doc updates.
6864         Added query vmethod.
6865         Added do_seek vmethod to make life easier for subclasses
6866         when seeking.
6867         API addition: gst_base_src_set_format()
6868
6869 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
6870
6871         * tests/examples/Makefile.am:
6872           added that too
6873
6874 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
6875
6876         * configure.ac:
6877         * docs/random/ensonic/media-device-daemon.txt:
6878         * tests/examples/controller/.cvsignore:
6879         * tests/examples/controller/Makefile.am:
6880         * tests/examples/controller/audio-example.c: (main):
6881         * tests/examples/helloworld/.cvsignore:
6882         * tests/examples/helloworld/Makefile.am:
6883         * tests/examples/helloworld/helloworld.c: (event_loop), (main):
6884         * tests/examples/launch/.cvsignore:
6885         * tests/examples/launch/Makefile.am:
6886         * tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
6887         * tests/examples/metadata/.cvsignore:
6888         * tests/examples/metadata/Makefile.am:
6889         * tests/examples/metadata/read-metadata.c: (message_loop),
6890         (make_pipeline), (print_tag), (main):
6891         * tests/examples/queue/.cvsignore:
6892         * tests/examples/queue/Makefile.am:
6893         * tests/examples/queue/queue.c: (event_loop), (main):
6894         * tests/examples/typefind/.cvsignore:
6895         * tests/examples/typefind/Makefile.am:
6896         * tests/examples/typefind/typefind.c: (type_found), (event_loop),
6897         (main):
6898         * tests/examples/xml/.cvsignore:
6899         * tests/examples/xml/Makefile.am:
6900         * tests/examples/xml/createxml.c: (object_saved), (main):
6901         * tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
6902         * tests/old/examples/Makefile.am:
6903         * tests/old/examples/TODO:
6904         * tests/old/examples/controller/.cvsignore:
6905         * tests/old/examples/controller/Makefile.am:
6906         * tests/old/examples/controller/audio-example.c:
6907         * tests/old/examples/helloworld/.cvsignore:
6908         * tests/old/examples/helloworld/Makefile.am:
6909         * tests/old/examples/helloworld/helloworld.c:
6910         * tests/old/examples/launch/.cvsignore:
6911         * tests/old/examples/launch/Makefile.am:
6912         * tests/old/examples/launch/mp3parselaunch.c:
6913         * tests/old/examples/launch/mp3play:
6914         * tests/old/examples/manual/Makefile.am:
6915         * tests/old/examples/metadata/Makefile.am:
6916         * tests/old/examples/metadata/read-metadata.c:
6917         * tests/old/examples/queue/.cvsignore:
6918         * tests/old/examples/queue/Makefile.am:
6919         * tests/old/examples/queue/queue.c:
6920         * tests/old/examples/typefind/.cvsignore:
6921         * tests/old/examples/typefind/Makefile.am:
6922         * tests/old/examples/typefind/typefind.c:
6923         * tests/old/examples/xml/.cvsignore:
6924         * tests/old/examples/xml/Makefile.am:
6925         * tests/old/examples/xml/createxml.c:
6926         * tests/old/examples/xml/runxml.c:
6927           applied some simple fixing to some examples
6928           re-enabled the working examples
6929
6930 2005-12-12  Wim Taymans  <wim@fluendo.com>
6931
6932         * gst/gstsegment.c: (gst_segment_init),
6933         (gst_segment_set_last_stop), (gst_segment_set_seek),
6934         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
6935         (gst_segment_to_running_time):
6936         Added more documentation.
6937         Make sure the last_pos value is updated properly.
6938         Make sure to_stream_time and to_running_time don't
6939         operate on wrong values.
6940
6941         * tests/check/gst/gstsegment.c: (GST_START_TEST):
6942         Update check.
6943
6944 2005-12-12  Michael Smith  <msmith@fluendo.com>
6945
6946         * plugins/elements/gsttypefindelement.c: (free_entry),
6947         (gst_type_find_element_chain):
6948           Now that we're not leaking factories, make sure we keep references
6949           to them while we need them.
6950
6951 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6952
6953         * tests/check/gst/struct_i386.h:
6954           ifdef out the XML structs
6955
6956 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6957
6958         * gst/gstvalue.c: (gst_value_transform_double_fraction):
6959           floor is not needed, F is always positive; this obviates the
6960           need for adding -lm when building without libxml
6961
6962 2005-12-12  Wim Taymans  <wim@fluendo.com>
6963
6964         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
6965         Take current playback rate into account when reporting
6966         the position.
6967
6968 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
6969
6970         * docs/manual/mime-world.fig:
6971           Let's try this again, this time with a file that is
6972           actually in XFig format.
6973
6974 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
6975
6976         * docs/manual/mime-world.fig:
6977           Add audioconvert element to diagram so that it
6978           matches the text and the code (fixes #319526).
6979
6980 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
6981
6982         * docs/pwg/building-chainfn.xml:
6983         * docs/pwg/building-pads.xml:
6984         * docs/pwg/building-state.xml:
6985         * docs/pwg/other-source.xml:
6986           Update state change stuff for 0.10 (fixes #322969).
6987
6988 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
6989
6990         * docs/manual/advanced-dataaccess.xml:
6991         * docs/manual/appendix-checklist.xml:
6992         * docs/manual/appendix-programs.xml:
6993         * docs/manual/basics-pads.xml:
6994         * docs/manual/highlevel-components.xml:
6995         * docs/manual/manual.xml:
6996           Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
6997           add converters in front of pipelines; remove curly
6998           brackets for threads stuff, they no longer exist; use
6999           GST_TYPE_FRACTION for framerates; update some pieces of
7000           code to 0.10, but there's plenty more to do.
7001
7002         * docs/manual/appendix-porting.xml:
7003           Expand on asynchroneous state changes; s/0.9/0.10/;
7004           mention disappearance of gst_init_get_popt_table()
7005           (fixes #322916).
7006
7007 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
7008
7009         * docs/faq/using.xml:
7010           Spider no longer exists, and neither does gst-launch-ext.
7011           Update examples to use decodebin and playbin and put
7012           converters in front of sinks (fixes #323726).
7013
7014 2005-12-09  Michael Smith  <msmith@fluendo.com>
7015
7016         * plugins/elements/gsttypefindelement.c: (find_peek),
7017         (gst_type_find_element_chain):
7018           Fix leaking element factories in typefinding.
7019           Fix problem where we forgot about a probable type on non-seekable
7020           files, and thus later mis-typefound it.
7021
7022 2005-12-09  Michael Smith  <msmith@fluendo.com>
7023
7024         * common/m4/gst-makecontext.m4:
7025         * common/m4/gst-mcsc.m4:
7026         * configure.ac:
7027         * win32/common/config.h:
7028         * win32/common/config.h.in:
7029           Remove makecontext stuff; not used in 0.10 and causes problems on
7030           HPUX according to bug #322441
7031
7032 2005-12-07  Wim Taymans  <wim@fluendo.com>
7033
7034         * tests/check/Makefile.am:
7035         * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
7036         (main):
7037         * tests/check/libs/struct_i386.h:
7038         Added ABI check for libs
7039
7040 2005-12-07  Wim Taymans  <wim@fluendo.com>
7041
7042         * tests/check/Makefile.am:
7043         And add the struct_i386.h to dist.
7044
7045 2005-12-07  Wim Taymans  <wim@fluendo.com>
7046
7047         * tests/check/Makefile.am:
7048         * tests/check/gst/.cvsignore:
7049         * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
7050         (main):
7051         * tests/check/gst/struct_i386.h:
7052         Added check for ABI compatibility.
7053
7054 2005-12-07  Wim Taymans  <wim@fluendo.com>
7055
7056         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
7057         (gst_fake_src_get_times), (gst_fake_src_create):
7058         Fix broken sync option, fixes #323259
7059
7060 2005-12-07  Wim Taymans  <wim@fluendo.com>
7061
7062         * gst/gstbuffer.c:
7063         Small docs update.
7064
7065         * gst/gstcaps.c: (gst_caps_is_equal):
7066         Don't assert on NULL <--> X. Fixes #323260
7067
7068         * gst/gstminiobject.c: (gst_mini_object_replace):
7069         If we're doing atomic operations, we might just as well use
7070         the proper way to get an atomic pointer.
7071
7072         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
7073         Clean up debugging.
7074
7075 2005-12-07  Michael Smith  <msmith@fluendo.com>
7076
7077         * gst/parse/grammar.y:
7078           Remove handling of { } for threads.
7079
7080 2005-12-06  David Schleef  <ds@schleef.org>
7081
7082         * libs/gst/base/gstbasetransform.c: speling fix.
7083
7084 2005-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7085
7086         * docs/libs/tmpl/gstdataprotocol.sgml:
7087         * docs/random/omega/testing/gstobject.c:
7088         * gst/gst.c:
7089         * gst/gstclock.c:
7090         * gst/gstelement.c:
7091         * gst/gstelementfactory.c:
7092         * gst/gsterror.c:
7093         * gst/gstevent.c:
7094         * gst/gstghostpad.c:
7095         * gst/gstinfo.c:
7096         * gst/gstpadtemplate.c:
7097         * gst/gstregistryxml.c:
7098         * gst/gsttaglist.c:
7099         * gst/gsttagsetter.c:
7100         * gst/gsttypefind.c:
7101         * gst/gstvalue.c:
7102         * libs/gst/base/gstbasesrc.c:
7103         * libs/gst/net/gstnetclientclock.c:
7104         * libs/gst/net/gstnettimeprovider.c:
7105         * plugins/elements/gstfakesrc.c:
7106         * plugins/elements/gstfdsrc.c:
7107         * plugins/elements/gstfilesrc.c:
7108         * plugins/elements/gstidentity.c:
7109         * plugins/elements/gstqueue.c:
7110         * plugins/elements/gsttypefindelement.c:
7111         * plugins/indexers/gstfileindex.c:
7112         * plugins/indexers/gstmemindex.c:
7113         * tests/check/gst/gsttag.c:
7114         * tests/old/examples/cutter/cutter.c:
7115         * tests/old/examples/mixer/mixer.c:
7116         * tests/old/examples/xml/runxml.c: (main):
7117         * tests/old/testsuite/caps/normalisation.c:
7118         * tests/old/testsuite/debug/global.c:
7119         * tests/old/testsuite/parse/parse1.c:
7120         * tools/gst-xmlinspect.c:
7121         * win32/common/dirent.c:
7122           expand tabs
7123
7124 === release 0.10.0 ===
7125
7126 2005-12-05   <thomas (at) apestaart (dot) org>
7127
7128         * configure.ac:
7129           releasing 0.10.0, "Maroilles"
7130
7131 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
7132
7133         submitted by: Funda Wang <fundawang@linux.net.cn>
7134
7135         * po/LINGUAS:
7136         * po/zh_CN.po:
7137           added Chinese (Traditional) translation
7138
7139 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
7140
7141         * docs/gst/gstreamer-sections.txt:
7142         * docs/libs/tmpl/gstdataprotocol.sgml:
7143         * docs/random/thomasvs/TODO:
7144         * gst/gstutils.c:
7145         * gst/gstutils.h:
7146           fix docs
7147
7148 2005-12-05  Andy Wingo  <wingo@pobox.com>
7149
7150         patch by: Wim Taymans <wim@fluendo.com>
7151
7152         * libs/gst/base/gstbasetransform.c
7153         (gst_base_transform_prepare_output_buf)
7154         (gst_base_transform_buffer_alloc):
7155         * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
7156         alloc_buffer_and_set_caps.
7157
7158         * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
7159         set_caps on the source pad.
7160         (gst_pad_alloc_buffer_and_set_caps): New function, does what
7161         alloc_buffer used to do. Fixes #322874.
7162
7163         * docs/gst/gstreamer-sections.txt: 
7164         * docs/design/part-negotiation.txt: 
7165         * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
7166         changes.
7167
7168 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
7169
7170         patch by: Sebastien Moutte
7171
7172         * win32/MANIFEST:
7173         * win32/common/config.h.in:
7174         * win32/vs6/libgstcontroller.dsp:
7175           win32 build fixes
7176
7177 2005-12-05  Wim Taymans  <wim@fluendo.com>
7178
7179         * gst/gstcaps.c: (gst_caps_is_equal):
7180         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
7181         (gst_fake_src_create):
7182         Back out previous code changes, leave doc updates, file bugs 
7183         instead. 
7184
7185 2005-12-05  Wim Taymans  <wim@fluendo.com>
7186
7187         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
7188         (gst_fake_src_get_times), (gst_fake_src_create):
7189         * plugins/elements/gstfakesrc.h:
7190         Fix broken sync code.
7191
7192 2005-12-05  Wim Taymans  <wim@fluendo.com>
7193
7194         * gst/gstcaps.c: (gst_caps_is_equal):
7195         Comparing NULL against !NULL yields different caps, not a
7196         failure.
7197
7198 2005-12-05  Wim Taymans  <wim@fluendo.com>
7199
7200         * gst/gstpipeline.c:
7201         Fix small typo in docs.
7202
7203 2005-12-05  Andy Wingo  <wingo@pobox.com>
7204
7205         patch by: Thomas Vander Stichele  <thomas at apestaart dot org>
7206
7207         * gst/gst.c (init_post): remove hard-coded 0.9 location for
7208         registries/plugins with a MAJORMINOR one.
7209         (plugin_desc): Rename library from gstcoreleements to
7210         staticelements. Fixes #323222.
7211
7212 2005-12-05  Tim-Philipp Müller  <tim at centricular dot net>
7213
7214         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
7215           Change debug category to 'collectpads' from 'collect_pads'
7216           (fixes #323250).
7217
7218 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
7219
7220         patch by: Sebastien Moutte
7221
7222         * libs/gst/controller/gstinterpolation.c:
7223           use convert function for uint64/double
7224         * win32/vs6/libgstcontroller.dsp:
7225           link to GLib
7226
7227 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
7228
7229         * gst/gstutils.c: (gst_util_guint64_to_gdouble),
7230         (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
7231         * gst/gstutils.h:
7232         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
7233           add tests that seem to show that the guint64/gdouble conversions
7234           are correct.
7235
7236 2005-12-02  Wim Taymans  <wim@fluendo.com>
7237
7238         * gst/gstregistry.c: (gst_registry_add_path):
7239         * gst/gstregistry.h:
7240         * gst/gstregistryxml.c:
7241         Fix docs again.
7242
7243 2005-12-02  Wim Taymans  <wim@fluendo.com>
7244
7245         * gst/gstutils.c: (gst_util_uint64_scale_int64),
7246         (gst_util_uint64_scale_int):
7247         Small cleanup.
7248
7249         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7250         Add debug log line.
7251
7252         * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
7253         Add FIXME.
7254
7255 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7256
7257         * win32/MANIFEST:
7258         * win32/common/config.h:
7259         * win32/vs6/gstreamer.dsw:
7260         * win32/vs6/libgstcoreelements.dsp:
7261         * win32/vs6/libgstelements.dsp:
7262           renamed core elements plugin
7263
7264 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7265
7266         * tools/gst-run.c: (compare_major_minor), (find_highest_version),
7267         (get_candidates):
7268           do piece-wise major/minor comparison so 0.9 < 0.10
7269           also allow .exe extensions for tools
7270
7271 2005-12-02  Michael Smith  <msmith@fluendo.com>
7272
7273         * gst/gst.c:
7274           Escape a % to make gtkdoc happier; bug 322958.
7275
7276 === release 0.9.7 ===
7277
7278 2005-12-01   <thomas (at) apestaart (dot) org>
7279
7280         * configure.ac:
7281           releasing 0.9.7, "My Dog Has No Nose"
7282
7283 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7284
7285         * common/gst-xmlinspect.py:
7286         * configure.ac:
7287         * docs/libs/tmpl/gstdataprotocol.sgml:
7288         * docs/random/release:
7289         * po/af.po:
7290         * po/az.po:
7291         * po/bg.po:
7292         * po/ca.po:
7293         * po/cs.po:
7294         * po/de.po:
7295         * po/en_GB.po:
7296         * po/fr.po:
7297         * po/it.po:
7298         * po/nb.po:
7299         * po/nl.po:
7300         * po/ru.po:
7301         * po/sq.po:
7302         * po/sr.po:
7303         * po/sv.po:
7304         * po/tr.po:
7305         * po/uk.po:
7306         * po/vi.po:
7307         * win32/common/config.h:
7308         * win32/common/config.h.in:
7309         * win32/vs6/gst_inspect.dsp:
7310         * win32/vs6/gst_launch.dsp:
7311         * win32/vs6/libgstbase.dsp:
7312         * win32/vs6/libgstelements.dsp:
7313         * win32/vs6/libgstreamer.dsp:
7314         * win32/vs7/GStreamer.vcproj:
7315         * win32/vs7/gst-inspect.vcproj:
7316         * win32/vs7/gst-launch.vcproj:
7317         * win32/vs7/libgstbase.vcproj:
7318           bump GST_MAJORMINOR to 0.10
7319           reset libtool version
7320
7321 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7322
7323         * po/LINGUAS:
7324         * po/bg.po:
7325           Added Bulgarian translation by (Alexander Shopov)
7326
7327 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7328
7329         * tests/check/gst/gstplugin.c:
7330           fix test
7331
7332 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7333
7334         * common/gst-xmlinspect.py:
7335         * common/gtk-doc-plugins.mak:
7336         * configure.ac:
7337         * docs/Makefile.am:
7338         * docs/gst/Makefile.am:
7339         * docs/gst/gstreamer-docs.sgml:
7340         * docs/gst/gstreamer-sections.txt:
7341         * docs/gst/gstreamer.types:
7342         * docs/gst/gstreamer.types.in:
7343         * docs/plugins/Makefile.am:
7344         * docs/plugins/gstreamer-plugins-docs.sgml:
7345         * docs/plugins/gstreamer-plugins-sections.txt:
7346         * docs/plugins/gstreamer-plugins.types:
7347         * docs/plugins/inspect.stamp:
7348         * docs/plugins/inspect/plugin-coreelements.xml:
7349         * docs/plugins/inspect/plugin-coreindexers.xml:
7350         * docs/plugins/scanobj-build.stamp:
7351         * gstreamer.spec.in:
7352         * plugins/elements/Makefile.am:
7353         * plugins/elements/gstelements.c:
7354         * plugins/elements/gstfakesink.c:
7355         * plugins/elements/gstfakesrc.c:
7356         * plugins/elements/gstfilesink.c:
7357         * plugins/elements/gstfilesrc.c:
7358         * plugins/elements/gstqueue.c:
7359         * plugins/indexers/Makefile.am:
7360         * plugins/indexers/gstindexers.c:
7361           document core plugins in a separate document just like all the
7362           others
7363           rename these plugins to something starting with core
7364
7365 2005-12-01  Andy Wingo  <wingo@pobox.com>
7366
7367         * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
7368         padding here before, but it missed the commit.
7369
7370 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
7371
7372         * libs/gst/controller/gstinterpolation.c:
7373           whitespace prices have crashed, we should feel free to use some now
7374           use gst_guint64_to_gdouble
7375
7376 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
7377
7378         * libs/gst/controller/gstcontroller.c:
7379         * libs/gst/controller/gsthelper.c:
7380         * libs/gst/controller/gstinterpolation.c:
7381         * libs/gst/controller/lib.c:
7382           wrap config.h include
7383
7384 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
7385
7386         * docs/gst/gstreamer-sections.txt:
7387           update docs
7388
7389 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
7390
7391         * plugins/elements/gstelements.c:
7392         * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
7393         (gst_fd_sink__class_init), (gst_fd_sink__init),
7394         (gst_fd_sink__chain), (gst_fd_sink__set_property),
7395         (gst_fd_sink__get_property):
7396         * plugins/elements/gstfdsink.h:
7397         * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
7398         (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
7399         (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
7400         (gst_fd_src_unlock), (gst_fd_src_set_property),
7401         (gst_fd_src_get_property), (gst_fd_src_create),
7402         (gst_fd_src_is_seekable), (gst_fd_src_get_size),
7403         (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
7404         (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
7405         (gst_fd_src_uri_handler_init):
7406         * plugins/elements/gstfdsrc.h:
7407         * plugins/elements/gstqueue.c: (gst_queue_get_type):
7408           more anal cleanup
7409
7410 2005-11-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7411
7412         * docs/gst/Makefile.am:
7413         * docs/gst/gstreamer.types.in:
7414         * gst/Makefile.am:
7415           fix the docs build
7416
7417 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
7418
7419         * configure.ac:
7420         * gst/Makefile.am:
7421         * gst/gst.c:
7422         * gst/gstplugin.h:
7423         * gst/gstregistry.h:
7424         * tests/benchmarks/complexity.c:
7425         * tests/benchmarks/mass-elements.c:
7426         * tests/check/Makefile.am:
7427         * tools/Makefile.am:
7428         * tools/gst-inspect.c:
7429         * tools/gst-xmlinspect.c:
7430           various fixes to make
7431           --disable-nls --disable-registry --disable-loadsave
7432           --disable-parse --disable-gst-debug
7433           work and get the core .so down to 360444 bytes after stripping
7434
7435 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
7436
7437         * Makefile.am:
7438         * configure.ac:
7439           descend into tests
7440         * docs/random/thomasvs/TODO:
7441         * tests/Makefile.am:
7442         * tests/README:
7443           add a README
7444
7445 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
7446
7447         * win32/GStreamer.vcproj:
7448         * win32/MANIFEST:
7449         * win32/Makefile:
7450         * win32/Makefile.inspect:
7451         * win32/Makefile.launch:
7452         * win32/Makefile.register:
7453         * win32/README.txt:
7454         * win32/gst-inspect.vcproj:
7455         * win32/gst-launch.vcproj:
7456         * win32/gst-register.vcproj:
7457         * win32/gstelements.vcproj:
7458         * win32/gstgetbits.def:
7459         * win32/gstgetbits.vcproj:
7460         * win32/gstreamer-dbg.def:
7461         * win32/gstreamer.def:
7462         * win32/libgstbase.def:
7463         * win32/libgstbase.vcproj:
7464         * win32/link_oldruntime.c:
7465         * win32/mman.c:
7466         * win32/mman.h:
7467         * win32/mman.inl:
7468         * win32/msvc71.sln:
7469           move even more stuff, win32/ is nice and clean now
7470
7471 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
7472
7473         * libs/gst/control/.cvsignore:
7474         * win32/MANIFEST:
7475         * win32/config.h:
7476         * win32/dirent.c:
7477         * win32/dirent.h:
7478         * win32/gstbytestream.def:
7479         * win32/gstbytestream.vcproj:
7480         * win32/gstconfig.h:
7481         * win32/gstenumtypes.c:
7482         * win32/gstenumtypes.h:
7483         * win32/gstoptimalscheduler.vcproj:
7484         * win32/gstversion.h:
7485         * win32/gtchar.h:
7486         * win32/testsuite/bins.vcproj:
7487         * win32/testsuite/bytestream.vcproj:
7488         * win32/testsuite/caps.vcproj:
7489         * win32/testsuite/cleanup.vcproj:
7490         * win32/testsuite/clock.vcproj:
7491         * win32/testsuite/debug.vcproj:
7492         * win32/testsuite/dlopen.vcproj:
7493         * win32/testsuite/dynparams.vcproj:
7494         * win32/testsuite/elements.vcproj:
7495         * win32/testsuite/ghostpads.vcproj:
7496         * win32/testsuite/indexers.vcproj:
7497         * win32/testsuite/negotiation.vcproj:
7498         * win32/testsuite/parse.vcproj:
7499         * win32/testsuite/plugin.vcproj:
7500         * win32/testsuite/refcounting.vcproj:
7501         * win32/testsuite/schedulers.vcproj:
7502         * win32/testsuite/states.vcproj:
7503         * win32/testsuite/tags.vcproj:
7504         * win32/testsuite/threads.vcproj:
7505           remove old win32 stuff that isn't maintained and should be
7506           reorganized
7507
7508 2005-11-30  Andy Wingo  <wingo@pobox.com>
7509
7510         * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
7511         loading the gst.interfaces python module bork.
7512
7513         * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
7514         available since GLib 2.2. Fixes #318031.
7515
7516 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
7517
7518         * Makefile.am:
7519         * check/.cvsignore:
7520         * check/Makefile.am:
7521         * check/elements/.cvsignore:
7522         * check/elements/fakesrc.c:
7523         * check/elements/fdsrc.c:
7524         * check/elements/identity.c:
7525         * check/generic/.cvsignore:
7526         * check/generic/states.c:
7527         * check/gst-libs/.cvsignore:
7528         * check/gst-libs/controller.c:
7529         * check/gst-libs/gdp.c:
7530         * check/gst/.cvsignore:
7531         * check/gst/capslist.h:
7532         * check/gst/gst.c:
7533         * check/gst/gstbin.c:
7534         * check/gst/gstbuffer.c:
7535         * check/gst/gstbus.c:
7536         * check/gst/gstcaps.c:
7537         * check/gst/gstelement.c:
7538         * check/gst/gstevent.c:
7539         * check/gst/gstghostpad.c:
7540         * check/gst/gstiterator.c:
7541         * check/gst/gstmessage.c:
7542         * check/gst/gstminiobject.c:
7543         * check/gst/gstobject.c:
7544         * check/gst/gstpad.c:
7545         * check/gst/gstpipeline.c:
7546         * check/gst/gstplugin.c:
7547         * check/gst/gstsegment.c:
7548         * check/gst/gststructure.c:
7549         * check/gst/gstsystemclock.c:
7550         * check/gst/gsttag.c:
7551         * check/gst/gstutils.c:
7552         * check/gst/gstvalue.c:
7553         * check/net/.cvsignore:
7554         * check/net/gstnetclientclock.c:
7555         * check/net/gstnettimeprovider.c:
7556         * check/pipelines/.cvsignore:
7557         * check/pipelines/cleanup.c:
7558         * check/pipelines/simple_launch_lines.c:
7559         * check/pipelines/stress.c:
7560         * check/states/.cvsignore:
7561         * check/states/sinks.c:
7562         * configure.ac:
7563         * examples/Makefile.am:
7564         * examples/appreader/.cvsignore:
7565         * examples/appreader/Makefile.am:
7566         * examples/appreader/appreader.c:
7567         * examples/controller/.cvsignore:
7568         * examples/controller/Makefile.am:
7569         * examples/controller/audio-example.c:
7570         * examples/cutter/.cvsignore:
7571         * examples/cutter/Makefile.am:
7572         * examples/cutter/cutter.c:
7573         * examples/cutter/cutter.h:
7574         * examples/events/Makefile.am:
7575         * examples/events/seek.c:
7576         * examples/helloworld/.cvsignore:
7577         * examples/helloworld/Makefile.am:
7578         * examples/helloworld/helloworld.c:
7579         * examples/helloworld2/.cvsignore:
7580         * examples/helloworld2/Makefile.am:
7581         * examples/helloworld2/helloworld2.c:
7582         * examples/launch/.cvsignore:
7583         * examples/launch/Makefile.am:
7584         * examples/launch/mp3parselaunch.c:
7585         * examples/launch/mp3play:
7586         * examples/manual/.cvsignore:
7587         * examples/manual/Makefile.am:
7588         * examples/manual/extract.pl:
7589         * examples/metadata/Makefile.am:
7590         * examples/metadata/read-metadata.c:
7591         * examples/mixer/.cvsignore:
7592         * examples/mixer/Makefile.am:
7593         * examples/mixer/mixer.c:
7594         * examples/mixer/mixer.h:
7595         * examples/pingpong/.cvsignore:
7596         * examples/pingpong/Makefile.am:
7597         * examples/pingpong/pingpong.c:
7598         * examples/plugins/.cvsignore:
7599         * examples/plugins/Makefile.am:
7600         * examples/plugins/example.c:
7601         * examples/plugins/example.h:
7602         * examples/pwg/.cvsignore:
7603         * examples/pwg/Makefile.am:
7604         * examples/pwg/extract.pl:
7605         * examples/queue/.cvsignore:
7606         * examples/queue/Makefile.am:
7607         * examples/queue/queue.c:
7608         * examples/queue2/.cvsignore:
7609         * examples/queue2/Makefile.am:
7610         * examples/queue2/queue2.c:
7611         * examples/queue3/.cvsignore:
7612         * examples/queue3/Makefile.am:
7613         * examples/queue3/queue3.c:
7614         * examples/queue4/.cvsignore:
7615         * examples/queue4/Makefile.am:
7616         * examples/queue4/queue4.c:
7617         * examples/retag/.cvsignore:
7618         * examples/retag/Makefile.am:
7619         * examples/retag/retag.c:
7620         * examples/retag/transcode.c:
7621         * examples/thread/.cvsignore:
7622         * examples/thread/Makefile.am:
7623         * examples/thread/thread.c:
7624         * examples/typefind/.cvsignore:
7625         * examples/typefind/Makefile.am:
7626         * examples/typefind/typefind.c:
7627         * examples/xml/.cvsignore:
7628         * examples/xml/Makefile.am:
7629         * examples/xml/createxml.c:
7630         * examples/xml/runxml.c:
7631         * tests/Makefile.am:
7632         * tests/check/Makefile.am:
7633         * testsuite/.cvsignore:
7634         * testsuite/Makefile.am:
7635         * testsuite/Rules:
7636         * testsuite/caps/.cvsignore:
7637         * testsuite/caps/Makefile.am:
7638         * testsuite/caps/app_fixate.c:
7639         * testsuite/caps/audioscale.c:
7640         * testsuite/caps/caps.c:
7641         * testsuite/caps/caps.h:
7642         * testsuite/caps/caps_strings:
7643         * testsuite/caps/compatibility.c:
7644         * testsuite/caps/deserialize.c:
7645         * testsuite/caps/enumcaps.c:
7646         * testsuite/caps/eratosthenes.c:
7647         * testsuite/caps/filtercaps.c:
7648         * testsuite/caps/fixed.c:
7649         * testsuite/caps/fraction-convert.c:
7650         * testsuite/caps/fraction-multiply-and-zero.c:
7651         * testsuite/caps/intersect2.c:
7652         * testsuite/caps/intersection.c:
7653         * testsuite/caps/normalisation.c:
7654         * testsuite/caps/random.c:
7655         * testsuite/caps/renegotiate.c:
7656         * testsuite/caps/sets.c:
7657         * testsuite/caps/simplify.c:
7658         * testsuite/caps/string-conversions.c:
7659         * testsuite/caps/structure.c:
7660         * testsuite/caps/subtract.c:
7661         * testsuite/caps/union.c:
7662         * testsuite/debug/.cvsignore:
7663         * testsuite/debug/Makefile.am:
7664         * testsuite/debug/category.c:
7665         * testsuite/debug/commandline.c:
7666         * testsuite/debug/global.c:
7667         * testsuite/debug/output.c:
7668         * testsuite/debug/printf_extension.c:
7669         * testsuite/dlopen/.cvsignore:
7670         * testsuite/dlopen/Makefile.am:
7671         * testsuite/dlopen/dlopen_gst.c:
7672         * testsuite/dlopen/loadgst.c:
7673         * testsuite/elements/.cvsignore:
7674         * testsuite/elements/Makefile.am:
7675         * testsuite/elements/gst-inspect-check.in:
7676         * testsuite/elements/struct_i386.h:
7677         * testsuite/elements/struct_size.c:
7678         * testsuite/indexers/.cvsignore:
7679         * testsuite/indexers/Makefile.am:
7680         * testsuite/indexers/cache1.c:
7681         * testsuite/indexers/indexdump.c:
7682         * testsuite/parse/.cvsignore:
7683         * testsuite/parse/Makefile.am:
7684         * testsuite/parse/parse1.c:
7685         * testsuite/parse/parse2.c:
7686         * testsuite/plugin/.cvsignore:
7687         * testsuite/plugin/Makefile.am:
7688         * testsuite/plugin/README:
7689         * testsuite/plugin/dynamic.c:
7690         * testsuite/plugin/linked.c:
7691         * testsuite/plugin/loading.c:
7692         * testsuite/plugin/registry.c:
7693         * testsuite/plugin/static.c:
7694         * testsuite/plugin/static2.c:
7695         * testsuite/plugin/testplugin.c:
7696         * testsuite/plugin/testplugin2.c:
7697         * testsuite/plugin/testplugin2_s.c:
7698         * testsuite/plugin/testplugin_s.c:
7699         * testsuite/refcounting/.cvsignore:
7700         * testsuite/refcounting/Makefile.am:
7701         * testsuite/refcounting/bin.c:
7702         * testsuite/refcounting/element.c:
7703         * testsuite/refcounting/element_pad.c:
7704         * testsuite/refcounting/mainloop.c:
7705         * testsuite/refcounting/mem.c:
7706         * testsuite/refcounting/mem.h:
7707         * testsuite/refcounting/object.c:
7708         * testsuite/refcounting/pad.c:
7709         * testsuite/refcounting/sched.c:
7710         * testsuite/refcounting/thread.c:
7711         * testsuite/states/.cvsignore:
7712         * testsuite/states/Makefile.am:
7713         * testsuite/states/bin.c:
7714         * testsuite/states/locked.c:
7715         * testsuite/states/parent.c:
7716         * testsuite/threads/.cvsignore:
7717         * testsuite/threads/159566.c:
7718         * testsuite/threads/159852.c:
7719         * testsuite/threads/Makefile.am:
7720         * testsuite/threads/queue.c:
7721         * testsuite/threads/signals.c:
7722         * testsuite/threads/staticrec.c:
7723         * testsuite/threads/thread.c:
7724         * testsuite/threads/threadb.c:
7725         * testsuite/threads/threadc.c:
7726         * testsuite/threads/threadd.c:
7727         * testsuite/threads/threade.c:
7728         * testsuite/threads/threadf.c:
7729         * testsuite/threads/threadg.c:
7730         * testsuite/threads/threadh.c:
7731         * testsuite/threads/threadi.c:
7732           move all of these under tests
7733
7734 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
7735
7736         * configure.ac:
7737         * tests/Makefile.am:
7738           fix distcheck
7739
7740 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
7741
7742         * docs/gst/gstreamer-sections.txt:
7743         * tests/sched/.cvsignore:
7744         * tests/sched/Makefile.am:
7745         * tests/sched/cases/(fs-fs).xml:
7746         * tests/sched/cases/(fs-i-fs).xml:
7747         * tests/sched/cases/(fs-i-i-fs).xml:
7748         * tests/sched/cases/(fs-i-q[i-fs]).xml:
7749         * tests/sched/dynamic-pipeline.c:
7750         * tests/sched/interrupt1.c:
7751         * tests/sched/interrupt2.c:
7752         * tests/sched/interrupt3.c:
7753         * tests/sched/runtestcases:
7754         * tests/sched/runxml.c:
7755         * tests/sched/sched-stress.c:
7756         * tests/sched/sort.c:
7757         * tests/sched/testcases:
7758         * tests/sched/testcases1.tc:
7759         * tests/seeking/.cvsignore:
7760         * tests/seeking/Makefile.am:
7761         * tests/seeking/seeking1.c:
7762         * tests/threadstate/.cvsignore:
7763         * tests/threadstate/Makefile.am:
7764         * tests/threadstate/test1.c:
7765         * tests/threadstate/test2.c:
7766         * tests/threadstate/threadstate1.c:
7767         * tests/threadstate/threadstate2.c:
7768         * tests/threadstate/threadstate3.c:
7769         * tests/threadstate/threadstate4.c:
7770         * tests/threadstate/threadstate5.c:
7771           remove obsolete tests
7772         * configure.ac:
7773         * tests/bench-complexity.scm:
7774         * tests/bench-mass_elements.scm:
7775         * tests/complexity.c:
7776         * tests/complexity.gnuplot:
7777         * tests/instantiate/.cvsignore:
7778         * tests/instantiate/Makefile.am:
7779         * tests/instantiate/caps.c:
7780         * tests/mass_elements.c:
7781         * tests/network-clock-utils.scm:
7782         * tests/network-clock.scm:
7783         * tests/plot-data:
7784         First pass at cleaning up tests/ dir before moving the rest
7785         Combined with CVS surgery
7786
7787 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
7788
7789         * po/POTFILES.in:
7790           queue has moved, update
7791
7792 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
7793
7794         * docs/gst/gstreamer-sections.txt:
7795           remove double entries from the docs
7796         * gst/gst_private.h:
7797         * gst/gstinfo.c: (_gst_debug_init):
7798           remove the THREAD debug category
7799         * gst/Makefile.am:
7800         * gst/gstqueue.c:
7801         * gst/gstqueue.h:
7802         * docs/gst/gstreamer.types:
7803         * plugins/elements/gstqueue.c: (gst_queue_get_type),
7804         (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
7805           completely move queue and fix up debugging categories
7806
7807 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
7808
7809         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
7810           make initialization portable, using LL is not
7811
7812 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
7813
7814         * win32/common/gstconfig.h:
7815           add large padding
7816
7817 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
7818
7819         * win32/common/libgstreamer.def:
7820           rename symbols; sort base section
7821
7822 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
7823
7824         * gst/gstclock.c: (do_linear_regression):
7825           remove crack non-portable handrolled DEBUG macro
7826
7827 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
7828
7829         * docs/random/release:
7830           update notes
7831         * win32/common/gstenumtypes.c: (register_gst_object_flags),
7832         (gst_object_flags_get_type), (register_gst_bin_flags),
7833         (gst_bin_flags_get_type), (register_gst_buffer_flag),
7834         (gst_buffer_flag_get_type), (register_gst_bus_flags),
7835         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
7836         (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
7837         (gst_caps_flags_get_type), (register_gst_clock_return),
7838         (gst_clock_return_get_type), (register_gst_clock_entry_type),
7839         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
7840         (gst_clock_flags_get_type), (register_gst_state),
7841         (gst_state_get_type), (register_gst_state_change_return),
7842         (gst_state_change_return_get_type), (register_gst_state_change),
7843         (gst_state_change_get_type), (register_gst_element_flags),
7844         (gst_element_flags_get_type), (register_gst_core_error),
7845         (gst_core_error_get_type), (register_gst_library_error),
7846         (gst_library_error_get_type), (register_gst_resource_error),
7847         (gst_resource_error_get_type), (register_gst_stream_error),
7848         (gst_stream_error_get_type), (register_gst_event_type_flags),
7849         (gst_event_type_flags_get_type), (register_gst_event_type),
7850         (gst_event_type_get_type), (register_gst_seek_type),
7851         (gst_seek_type_get_type), (register_gst_seek_flags),
7852         (gst_seek_flags_get_type), (register_gst_format),
7853         (gst_format_get_type), (register_gst_index_certainty),
7854         (gst_index_certainty_get_type), (register_gst_index_entry_type),
7855         (gst_index_entry_type_get_type),
7856         (register_gst_index_lookup_method),
7857         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
7858         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
7859         (gst_index_resolver_method_get_type), (register_gst_index_flags),
7860         (gst_index_flags_get_type), (register_gst_debug_level),
7861         (gst_debug_level_get_type), (register_gst_debug_color_flags),
7862         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
7863         (gst_iterator_result_get_type), (register_gst_iterator_item),
7864         (gst_iterator_item_get_type), (register_gst_message_type),
7865         (gst_message_type_get_type), (register_gst_mini_object_flags),
7866         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
7867         (gst_pad_link_return_get_type), (register_gst_flow_return),
7868         (gst_flow_return_get_type), (register_gst_activate_mode),
7869         (gst_activate_mode_get_type), (register_gst_pad_direction),
7870         (gst_pad_direction_get_type), (register_gst_pad_flags),
7871         (gst_pad_flags_get_type), (register_gst_pad_presence),
7872         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
7873         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
7874         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
7875         (gst_plugin_error_get_type), (register_gst_plugin_flags),
7876         (gst_plugin_flags_get_type), (register_gst_rank),
7877         (gst_rank_get_type), (register_gst_query_type),
7878         (gst_query_type_get_type), (register_gst_tag_merge_mode),
7879         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
7880         (gst_tag_flag_get_type), (register_gst_task_state),
7881         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
7882         (gst_alloc_trace_flags_get_type),
7883         (register_gst_type_find_probability),
7884         (gst_type_find_probability_get_type), (register_gst_uri_type),
7885         (gst_uri_type_get_type), (register_gst_parse_error),
7886         (gst_parse_error_get_type):
7887         * win32/common/gstenumtypes.h:
7888         * win32/common/gstversion.h:
7889           update visual studio generated files
7890
7891 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
7892
7893         * win32/vs6/libgstbase.dsp:
7894         * win32/vs6/libgstelements.dsp:
7895           update project files for new locations
7896
7897 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
7898
7899         * Makefile.am:
7900           remove some files
7901         * README:
7902           reinstate and update
7903         * DEVEL:
7904         * REQUIREMENTS:
7905           removed
7906         * LICENSE:
7907         * docs/random/LICENSE:
7908           moved to random
7909
7910 2005-11-30  Edward Hervey  <edward@fluendo.com>
7911
7912         * gst/gsttypefind.c: (gst_type_find_register):
7913         * gst/gsttypefind.h:
7914         * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
7915         (gst_type_find_factory_dispose):
7916         * gst/gsttypefindfactory.h:
7917         Fix memory leak in GstTypeFindFactory.
7918
7919 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7920
7921         * gst/gst.c:
7922         * plugins/elements/Makefile.am:
7923         * plugins/elements/gstelements.c:
7924         * plugins/elements/gstqueue.c:
7925           move queue from core to the elements plugin
7926
7927 2005-11-29  Andy Wingo  <wingo@pobox.com>
7928
7929         * libs/gst/base/gstbasetransform.h: 
7930         * libs/gst/base/gstbasesrc.h: 
7931         * libs/gst/base/gstbasesink.h: en-LARGE the padding.
7932
7933         * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
7934         of pointers by which to pad very extensible base classes (like the
7935         ones in libs/gst/base).
7936
7937 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7938
7939         * docs/gst/gstreamer-docs.sgml:
7940         * docs/gst/gstreamer-sections.txt:
7941         * docs/libs/gstreamer-libs-docs.sgml:
7942         * docs/libs/gstreamer-libs-sections.txt:
7943           moving documentation from core to lib
7944
7945 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7946
7947         * check/Makefile.am:
7948         * configure.ac:
7949         * docs/gst/Makefile.am:
7950         * gst/Makefile.am:
7951         * gst/base/.cvsignore:
7952         * gst/base/Makefile.am:
7953         * gst/base/README:
7954         * gst/base/gstadapter.c:
7955         * gst/base/gstadapter.h:
7956         * gst/base/gstbasesink.c:
7957         * gst/base/gstbasesink.h:
7958         * gst/base/gstbasesrc.c:
7959         * gst/base/gstbasesrc.h:
7960         * gst/base/gstbasetransform.c:
7961         * gst/base/gstbasetransform.h:
7962         * gst/base/gstcollectpads.c:
7963         * gst/base/gstcollectpads.h:
7964         * gst/base/gstpushsrc.c:
7965         * gst/base/gstpushsrc.h:
7966         * gst/base/gsttypefindhelper.c:
7967         * gst/base/gsttypefindhelper.h:
7968         * gst/check/Makefile.am:
7969         * gst/check/gstcheck.c:
7970         * gst/check/gstcheck.h:
7971         * gst/net/Makefile.am:
7972         * gst/net/gstnet.h:
7973         * gst/net/gstnetclientclock.c:
7974         * gst/net/gstnetclientclock.h:
7975         * gst/net/gstnettimepacket.c:
7976         * gst/net/gstnettimepacket.h:
7977         * gst/net/gstnettimeprovider.c:
7978         * gst/net/gstnettimeprovider.h:
7979         * libs/gst/Makefile.am:
7980         * libs/gst/base/Makefile.am:
7981         * libs/gst/base/gstbasetransform.c:
7982         * libs/gst/check/Makefile.am:
7983         * plugins/elements/Makefile.am:
7984         * po/POTFILES.in:
7985           CVS surgery + support to move base, check, and net out of gst
7986           and into libs/gst
7987
7988 2005-11-29  Andy Wingo  <wingo@pobox.com>
7989
7990         * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
7991
7992         * gst/gststructure.h (struct _GstStructure): Only one pointer of
7993         padding.
7994
7995         * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
7996
7997         * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
7998
7999         * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
8000
8001         * gst/gstobject.h: (struct _GstObject): Only one pointer of
8002         padding; reduces object size by about 30%. We don't expect
8003         anything else to go into gstobject.
8004
8005         * gst/gstminiobject.h (struct _GstMiniObject)
8006         (struct _GstMiniObjectClass): Only one pointer of padding; the
8007         payload is only a pointer and two ints anyway. For the class there
8008         are only two methods as well.
8009         
8010         * gst/gstelement.h (struct _GstElementClass): Removed
8011         the state_changed signal callback, it is not used.
8012
8013 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
8014
8015         * docs/gst/gstreamer.types:
8016           fix includes, though they are a little dinky
8017
8018 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8019
8020         * check/Makefile.am:
8021           look in the right place for elements, a lot more chance of
8022           success
8023         * gst/Makefile.am:
8024           remove indexers and elements subdirs
8025         * plugins/Makefile.am:
8026           make indexers conditional
8027
8028 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8029
8030         * Makefile.am:
8031         * configure.ac:
8032         * plugins/elements/Makefile.am:
8033         * plugins/elements/gstcapsfilter.c:
8034         * plugins/elements/gstfilesink.c:
8035         * plugins/elements/gstfilesrc.c:
8036         * plugins/elements/gstidentity.c:
8037         * plugins/indexers/Makefile.am:
8038           do CVS surgery and related build fixery to move elements
8039           and indexers in a new gstreamer/plugins directory, out of the
8040           gst/ directory
8041
8042 2005-11-29  Andy Wingo  <wingo@pobox.com>
8043
8044         * check/Makefile.am:
8045         * pkgconfig/gstreamer-net-uninstalled.pc.in:
8046         * pkgconfig/gstreamer-net.pc.in:
8047         * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
8048         #322257.
8049
8050 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
8051
8052         * tools/Makefile.am:
8053         * tools/gst-complete.1.in:
8054         * tools/gst-complete.c:
8055         * tools/gst-compprep.1.in:
8056         * tools/gst-compprep.c:
8057           removing -compprep and -complete
8058
8059 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
8060
8061         * gst/gstevent.c: (gst_event_new_new_segment),
8062         (gst_event_parse_new_segment):
8063         * gst/gstevent.h:
8064           fix #320529 - clean up new_segment API and structure.
8065           Let's hope everyone was using the methods, and not the structure.
8066
8067 2005-11-29  Edward Hervey  <edward@fluendo.com>
8068
8069         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8070         (gst_base_sink_event), (gst_base_sink_do_sync),
8071         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
8072         Properly handle non GST_FORMAT_TIME segment
8073         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
8074         Properly handle non GST_FORMAT_TIME segment
8075         * gst/gstsegment.c:
8076         This function is valid if the accumulator is 0 and the format
8077         is different from the requested format.
8078         
8079 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
8080
8081         * docs/gst/gstreamer-sections.txt:
8082         Add gst_query_new_seeking and gst_query_parse_seeking to the
8083         docs.
8084
8085 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
8086
8087         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
8088           Treat a pad alloc with new caps the same as if we were not
8089           negotiated, in order to allow a changing upstream output
8090           to produce a new format of data.
8091
8092 2005-11-29  Edward Hervey  <edward@fluendo.com>
8093
8094         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
8095         (gst_base_transform_event), (gst_base_transform_eventfunc):
8096         The event virtual method is now properly implemented, with a default
8097         handler
8098         Sub classes should call the parent_class event method. They should
8099         return FALSE if they had a problem handling the given event, or don't
8100         want GstBaseTransform to send that even downstream
8101         * gst/elements/gstidentity.c: (gst_identity_class_init),
8102         (gst_identity_init), (gst_identity_event),
8103         (gst_identity_transform_ip), (gst_identity_set_property),
8104         (gst_identity_get_property):
8105         * gst/elements/gstidentity.h:
8106         Added the single-segment boolean property.
8107         If set to TRUE, it will output a single segment of data, starting from
8108         0, will eat up all incoming newsegment, and modify the timestamp of the
8109         buffers accordingly
8110
8111 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
8112
8113         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
8114           Don't ref NULL target pad (#322751). Improve docs.
8115
8116 2005-11-29  Michael Smith  <msmith@fluendo.com>
8117
8118         * gst/gstregistryxml.c: (load_plugin):
8119           Don't crash if we failed to load a feature from a plugin. 
8120
8121 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
8122
8123         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
8124         (GST_START_TEST):
8125           use more check API and less GLib API
8126
8127 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
8128
8129         * Makefile.am:
8130           don't run checks if we don't have check
8131         * common/check.mak:
8132           remove the registry when running make torture
8133         * docs/gst/gstreamer-sections.txt:
8134           remove second multiply
8135         * gst/gstqueue.c: (gst_queue_loop):
8136           fix a compile warning when disabling debug
8137
8138 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
8139
8140         * gst/gstinfo.h:
8141         Hey! Let's print the pad name if the pointer != NULL instead
8142         of when it == NULL :-)
8143
8144 2005-11-28  Wim Taymans  <wim@fluendo.com>
8145
8146         * check/gst/gstutils.c: (GST_START_TEST):
8147         Updated check, add some scaling accuracy checking code.
8148
8149         * gst/gstutils.c: (gst_util_div128_64),
8150         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
8151         (gst_util_uint64_scale_int):
8152         Fix 6 times faster division code. Optimize for common 
8153         1/1 and less common X/1 cases.
8154
8155 2005-11-28  Wim Taymans  <wim@fluendo.com>
8156
8157         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
8158         More checks.
8159
8160         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
8161         (do_linear_regression), (gst_clock_add_observation):
8162         Cleanups.
8163         Release lock when the clock cannot be slaved.
8164         Catch the case where the regression returned an invalid denominator.
8165
8166         * gst/gstutils.c: (gst_util_div128_64_iterate),
8167         (gst_util_div128_64), (gst_util_uint64_scale_int64),
8168         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
8169         Add protentially more performant non-iterative 128/64 divide function
8170         that unfortunatly does not work yet.
8171         Shortcut the trivial 0/X = 0 case.
8172         Remove the warnings on overflow.
8173
8174 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
8175
8176         * gst/gstplugin.c: (gst_plugin_register_func):
8177           everything causing a plugin not to load should be at least a WARNING
8178
8179 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
8180
8181         * docs/random/ensonic/dparams.txt:
8182           some TODOs for the next dev cycle
8183         * libs/gst/controller/gstcontroller.c:
8184         (gst_controlled_property_set_interpolation_mode),
8185         (gst_controlled_property_new):
8186         * libs/gst/controller/gstcontroller.h:
8187           use base type to assign acccessor functions
8188
8189 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
8190
8191         * check/Makefile.am:
8192         Oops, that should have been top_srcdir
8193
8194 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
8195
8196         * check/Makefile.am:
8197         * check/elements/fdsrc.c: (GST_START_TEST):
8198         Use a cmdline define to specify the location of a file to use for
8199         testing, to avoid breaking distcheck.
8200
8201 2005-11-28  Andy Wingo  <wingo@pobox.com>
8202
8203         * gst/gstpad.c (fixate_value): Use array functions for arrays.
8204
8205 2005-11-28  Edward Hervey  <edward@fluendo.com>
8206
8207         * tools/gst-launch.c: (main):
8208         Clarify the output strings, makes it easier to translate.
8209         Fixes #322626
8210
8211 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
8212
8213         * gst/Makefile.am:
8214           don't try and build net if we don't even have <sys/socket.h>
8215
8216 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
8217
8218         * check/Makefile.am:
8219         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
8220         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
8221           Add tests for fdsrc seekability
8222
8223         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
8224         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
8225         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
8226         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
8227         * gst/elements/gstfdsrc.h:
8228           fdsrc should not be a 'live' source.
8229           Implement seeking on seekable fd's.
8230
8231         * gst/gstquery.c: (gst_query_new_seeking),
8232         (gst_query_parse_seeking):
8233         * gst/gstquery.h:
8234           Implement SEEKING query functions: 
8235             *_new_seeking and *_parse_seeking
8236
8237 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
8238
8239         * gst/gstelement.c: (gst_element_dispose):
8240           don't loop forever
8241
8242         * gst/gstiterator.c:
8243         * gst/gststructure.c:
8244           doc fixes
8245
8246         * libs/gst/controller/gstcontroller.c:
8247         (gst_controlled_property_set_interpolation_mode):
8248         * libs/gst/controller/gstcontroller.h:
8249         * libs/gst/controller/gstinterpolation.c:
8250         (interpolate_none_get_enum_value_array):
8251           support controlling enums
8252
8253 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
8254
8255         * gst/gstvalue.c:
8256           Improve documentation for gst_value_union().
8257
8258         * gst/gstvalue.h:
8259           Change return value for union, intersect and subtract functions
8260           from gint to gboolean.
8261
8262 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
8263
8264         * gst/gstvalue.c: (gst_value_serialize_any_list),
8265         (gst_value_transform_any_list_string),
8266         (gst_value_deserialize_list), (gst_value_deserialize_array),
8267         (gst_value_set_int_range), (gst_value_deserialize_int_range),
8268         (gst_value_set_double_range), (gst_value_deserialize_double_range),
8269         (gst_value_set_fraction_range_full),
8270         (gst_value_deserialize_fraction_range),
8271         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
8272         (gst_value_deserialize_boolean),
8273         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
8274         (gst_value_serialize_float), (gst_value_deserialize_float),
8275         (gst_string_wrap), (gst_value_deserialize_string),
8276         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
8277         (gst_value_union_int_range_int_range),
8278         (gst_value_intersect_int_range_int_range),
8279         (gst_value_intersect_double_range_double_range),
8280         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
8281         (gst_value_subtract_int_range_int_range),
8282         (gst_value_subtract_double_double_range),
8283         (gst_value_subtract_double_range_double_range),
8284         (gst_value_deserialize_fraction):
8285         * gst/gstvalue.h:
8286           Use gint, gdouble and gchar in our API instead of int, double and
8287           char (and make usage in gstvalue.c more consistent).
8288
8289 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
8290
8291         * check/Makefile.am:
8292         * libs/gst/controller/Makefile.am:
8293         * libs/gst/dataprotocol/Makefile.am:
8294           fix up Makefile.am and remove GST_ENABLE_NEW
8295
8296 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
8297
8298         * configure.ac:
8299         * gst/Makefile.am:
8300         * gst/base/Makefile.am:
8301         * gst/check/Makefile.am:
8302         * gst/elements/Makefile.am:
8303         * gst/net/Makefile.am:
8304           update LDFLAGS use some more
8305
8306 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
8307
8308         * common/m4/gst-doc.m4:
8309           Fixes #312589
8310
8311 2005-11-26  Edward Hervey  <edward@fluendo.com>
8312
8313         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
8314         This shouldn't issue a g_warning since it returns NULL if it
8315         couldn't find the plugin, and all functions using this behave
8316         properly on a NULL return. Switching to a GST_WARNING.
8317
8318 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
8319
8320         * gst/gstbin.c: (gst_bin_handle_message_func):
8321         Don't leak clock messages.
8322
8323 2005-11-25  Wim Taymans  <wim@fluendo.com>
8324
8325         * gst/gstutils.c: (gst_util_uint64_scale_int64),
8326         (gst_util_uint64_scale_int):
8327         Optimisations, remove unneeded vars.
8328
8329 2005-11-25  Wim Taymans  <wim@fluendo.com>
8330
8331         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
8332         Added more checks for the high precision uint64 cases.
8333
8334         * gst/gstutils.c: (gst_util_uint64_scale_int64),
8335         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
8336         Implement high precision (guint64 * guint64) / guint64.
8337
8338 2005-11-24  Wim Taymans  <wim@fluendo.com>
8339
8340         * gst/base/gstbasesrc.c: (gst_base_src_query):
8341         Fix wrong percentage query.
8342
8343         * gst/gstutils.c: (gst_util_uint64_scale),
8344         (gst_util_uint64_scale_int):
8345         Add some more common cases that can be handled 
8346         efficiently to _scale.
8347
8348 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
8349
8350         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
8351         (gst_mini_object_suite):
8352           don't use check calls from threads; check probably isn't
8353           threadsafe and using a lock to make it threadsafe would
8354           defeat the purpose of this check
8355         * gst/check/gstcheck.c:
8356         * gst/check/gstcheck.h:
8357           use GST_DEBUG some more
8358
8359 2005-11-24  Wim Taymans  <wim@fluendo.com>
8360
8361         * gst/gstutils.c: (gst_util_uint64_scale),
8362         (gst_util_uint64_scale_int):
8363         Chain trivial case to _scale_int.
8364
8365 2005-11-24  Wim Taymans  <wim@fluendo.com>
8366
8367         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
8368         Added test for scaling.
8369
8370         * gst/gstclock.h:
8371         Small doc fix.
8372
8373         * gst/gstutils.c: (gst_util_uint64_scale_int):
8374         Implemented high precision scaling code.
8375
8376 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
8377
8378         * gst/gstinfo.h:
8379           do not crash on pad==NULL
8380
8381 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
8382
8383         Patch by: Stefan Kost
8384
8385         * common/gtk-doc.mak:
8386         * docs/gst/Makefile.am:
8387         * docs/libs/Makefile.am:
8388           Fix distcheck issues for the libraries docs build
8389           Closes #319599.
8390
8391 2005-11-24  Michael Smith <msmith@fluendo.com>
8392
8393         * docs/manual/basics-helloworld.xml:
8394           Fix bug #315027: memory leak in example code in docs.
8395
8396 2005-11-24  Michael Smith <msmith@fluendo.com>
8397
8398         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8399           Unlock the PREROLL_LOCK in a failure case.
8400
8401 2005-11-24  Wim Taymans  <wim@fluendo.com>
8402
8403         * docs/gst/gstreamer-sections.txt:
8404         * gst/base/gstadapter.h:
8405         * gst/base/gstbasesink.h:
8406         * gst/base/gstbasesrc.h:
8407         * gst/base/gstbasetransform.h:
8408         * gst/base/gstpushsrc.h:
8409         * gst/elements/gstfakesink.h:
8410         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
8411         * gst/elements/gstfakesrc.h:
8412         * gst/elements/gstfilesink.h:
8413         * gst/elements/gstfilesrc.h:
8414         * gst/gst.c:
8415         * gst/gstbin.c:
8416         * gst/gstbuffer.c: (_gst_buffer_copy):
8417         * gst/gstbus.h:
8418         * gst/gstcaps.c:
8419         * gst/gstchildproxy.c:
8420         * gst/gstclock.c:
8421         * gst/gstelement.c:
8422         * gst/gstelementfactory.c:
8423         * gst/gstelementfactory.h:
8424         * gst/gstevent.c:
8425         * gst/gstghostpad.h:
8426         * gst/gstindex.h:
8427         * gst/gstinterface.h:
8428         * gst/gstminiobject.c:
8429         * gst/gstminiobject.h:
8430         * gst/gstpad.c:
8431         * gst/gstpad.h:
8432         * gst/gstpadtemplate.h:
8433         * gst/gstpipeline.h:
8434         * gst/gstpluginfeature.h:
8435         * gst/gstquery.h:
8436         * gst/gstqueue.h:
8437         * gst/gsttaglist.c:
8438         * gst/gsttaglist.h:
8439         * gst/gsttagsetter.c:
8440         * gst/gsttagsetter.h:
8441         * gst/gsttrace.c:
8442         * gst/gsttrace.h:
8443         * gst/gsttypefind.h:
8444         * gst/gsturi.h:
8445         * gst/gstvalue.c:
8446         * gst/net/gstnetclientclock.c:
8447         * gst/net/gstnetclientclock.h:
8448         * gst/net/gstnettimepacket.c:
8449         * gst/net/gstnettimeprovider.c:
8450         * gst/net/gstnettimeprovider.h:
8451         Doc fixes.
8452
8453 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
8454
8455         * configure.ac: back to HEAD
8456
8457 === release 0.9.6 ===
8458
8459 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
8460
8461         * configure.ac:
8462           releasing 0.9.6, "Always On Time"
8463
8464 2005-11-23  Wim Taymans  <wim@fluendo.com>
8465
8466         * docs/gst/gstreamer-sections.txt:
8467         * gst/glib-compat.c:
8468         * gst/gsttagsetter.c:
8469         * gst/gstvalue.c:
8470         * gst/net/gstnetclientclock.c:
8471         * gst/net/gstnettimepacket.h:
8472         Doc updates.
8473
8474 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
8475
8476         * docs/faq/using.xml:
8477         * docs/libs/tmpl/gstcontrol.sgml:
8478         * docs/manual/advanced-dparams.xml:
8479         * docs/manual/appendix-checklist.xml:
8480         * docs/manual/basics-elements.xml:
8481         * docs/pwg/other-source.xml:
8482         * docs/random/moving-plugins:
8483         * gst/gstpad.c:
8484         * tools/gst-launch.1.in:
8485           remove mentions of sinesrc
8486
8487 2005-11-23  Michael Smith <msmith@fluendo.com>
8488
8489         * docs/gst/gstreamer-sections.txt:
8490           Update for new API and API changes.
8491         * gst/gstobject.h:
8492           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
8493         * gst/gstvalue.c:
8494           Documentation typo fix.
8495         * gst/net/gstnettimepacket.c:
8496           Documentation fixes for arguments.
8497
8498 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
8499
8500         * gst/gststructure.c: (gst_structure_get_fraction),
8501         (gst_structure_parse_value),
8502         (gst_structure_fixate_field_nearest_fraction):
8503         * gst/gststructure.h:
8504         * gst/gstutils.c: (gst_util_uint64_scale_int):
8505         * gst/gstutils.h:
8506         * scripts/update-funcnames:
8507         API Changes. 
8508         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
8509         Make gst_structure_fixate_field_nearest_fraction take a numerator
8510         and denominator argument instead of a GValue
8511         add gst_structure_get_fraction helper function.
8512
8513 2005-11-23  Wim Taymans  <wim@fluendo.com>
8514
8515         * docs/design/part-TODO.txt:
8516         Update TODO.
8517
8518         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
8519         * gst/net/gstnetclientclock.h:
8520         Use parent fields for timeout and window_size.
8521
8522 2005-11-23  Andy Wingo  <wingo@pobox.com>
8523
8524         * check/net/gstnetclientclock.c (test_functioning): Adjust to
8525         rate_num/rate_denom change.
8526
8527         * gst/net/gstnetclientclock.c
8528         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
8529         OBJECT_LOCK. Don't call add_observation with the lock.
8530
8531         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
8532         fraction.
8533         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
8534         rate fraction.
8535         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
8536         deal with rate as a fraction whose numerator and denominator are
8537         GstClockTime values.
8538         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
8539         master; the other fields are protected by the SLAVE_LOCK.
8540         (do_linear_regression): Note that this must be called with the
8541         SLAVE_LOCK.
8542         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
8543         OBJECT_LOCK. Call set_calibration instead of touching the
8544         variables directly.
8545         (gst_clock_set_property, gst_clock_get_property): Protect
8546         master/slave parameters with the SLAVE_LOCK.
8547
8548         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
8549         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
8550         note that all of the instance variables that add_observation and
8551         the set_master functions use are protected by that lock and not
8552         the OBJECT_LOCK.
8553         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
8554
8555         * gst/gstclock.c (gst_clock_add_observation): No longer requires
8556         the caller to take the object lock.
8557
8558 2005-11-23  Wim Taymans  <wim@fluendo.com>
8559
8560         * gst/gsterror.c: (_gst_core_errors_init):
8561         * gst/gsterror.h:
8562         Add error for clock stuff.
8563
8564         * gst/gstpipeline.c: (gst_pipeline_change_state),
8565         (gst_pipeline_set_clock):
8566         Post clock error when clock cannot be used in a pipeline.
8567
8568 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
8569
8570         * docs/gst/gstreamer-sections.txt:
8571           make two symbols from gstinfo private for the docs
8572         * gst/base/gstcollectpads.h:
8573         * gst/gstutils.c:
8574           fix doc typos, update docs
8575
8576 2005-11-22  Wim Taymans  <wim@fluendo.com>
8577
8578         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
8579         (gst_base_sink_wait), (gst_base_sink_do_sync),
8580         (gst_base_sink_handle_event):
8581         * gst/base/gstbasesink.h:
8582         No need to store the clock, the parent element class already
8583         has it.
8584
8585         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
8586         Updates for clock_set returning a gboolean
8587
8588         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
8589         (gst_clock_id_wait_async), (gst_clock_class_init),
8590         (gst_clock_init), (gst_clock_finalize),
8591         (gst_clock_get_internal_time), (gst_clock_get_time),
8592         (gst_clock_slave_callback), (gst_clock_set_master),
8593         (gst_clock_get_master), (do_linear_regression),
8594         (gst_clock_add_observation), (gst_clock_set_property),
8595         (gst_clock_get_property):
8596         * gst/gstclock.h:
8597         Implement master/slave. When setting a clock as a slave, a
8598         periodic timeout is scheduled to sample master and slave times.
8599         Then the slave clock is recalibrated to match offset and rate
8600         of the master clock.
8601         Update logging a bit.
8602         Add flag so that a clock can state that is cannot be slaved to
8603         another clock.
8604
8605         * gst/gstelement.c: (gst_element_set_clock):
8606         * gst/gstelement.h:
8607         The set clock returns a gboolean for when an element cannot
8608         deal with the selected clock in the pipeline. 
8609
8610         * gst/gstpipeline.c: (gst_pipeline_change_state),
8611         (gst_pipeline_set_clock):
8612         * gst/gstpipeline.h:
8613         Handle the case where the selected clock cannot be set on
8614         the pipeline.
8615
8616         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
8617         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
8618         (gst_net_client_clock_set_property),
8619         (gst_net_client_clock_get_property),
8620         (gst_net_client_clock_observe_times):
8621         * gst/net/gstnetclientclock.h:
8622         Use regression code in GstClock parent, remove duplicated
8623         functionality.
8624
8625 2005-11-22  Michael Smith <msmith@fluendo.com>
8626
8627         * gst/gstutils.c: (gst_util_clock_time_scale):
8628         * gst/gstutils.h:
8629         * docs/gst/gstreamer-sections.txt:
8630           Rename method to have extra underscore.
8631
8632 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
8633
8634         * gst/elements/Makefile.am:
8635         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
8636         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
8637         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
8638         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
8639         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
8640         * gst/elements/gstfakesrc.h:
8641         * gst/gstqueue.c: (queue_leaky_get_type):
8642           correctly fix GEnumValues so that nick is the short lowercase
8643           dashed tag
8644         * tools/gst-inspect.c: (print_element_properties_info):
8645           also show the nick, since it's useful to use from parse_launch
8646           syntax
8647           Fixes #322139
8648
8649 2005-11-22  Michael Smith <msmith@fluendo.com>
8650
8651         * gst/gstutils.c: (gst_util_clocktime_scale):
8652         * gst/gstutils.h:
8653         * docs/gst/gstreamer-sections.txt:
8654           Add util method for scaling a clocktime by a fraction. Useful 
8655           implementation is left as an exercise for the reader.
8656
8657 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
8658
8659         * gst/gstvalue.c: (gst_value_collect_fraction_range):
8660         If needed, allocate storage in the destination value during
8661         collection.
8662
8663 2005-11-22  Edward Hervey  <edward@fluendo.com>
8664
8665         * docs/gst/gstreamer-sections.txt:
8666         * gst/Makefile.am:
8667         * gst/gst.h:
8668         * gst/gsturitype.c:
8669         * gst/gsturitype.h:
8670         * gst/gstutils.c: (gst_util_set_object_arg):
8671         * tools/gst-compprep.c: (main):
8672         * tools/gst-inspect.c: (print_element_properties_info):
8673         Removed GstURI, closes bug #321061
8674
8675 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
8676
8677         * check/gst/gststructure.c: (GST_START_TEST):
8678         * gst/gststructure.c: (gst_structure_parse_value):
8679           Oops, broke automatic string type parsing.
8680           Add a test to catch it in future.
8681
8682 2005-11-22  Andy Wingo  <wingo@pobox.com>
8683
8684         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
8685         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
8686         Actually rename the function implementations. Grr.
8687
8688 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
8689
8690         * check/gst/capslist.h:
8691           Comment test cases
8692         * check/gst/gststructure.c: (GST_START_TEST),
8693         (gst_structure_suite):
8694           Test automatic value type detection in gst_structure_from_string.
8695         * gst/gststructure.c: (gst_structure_parse_value):
8696           Add fraction as a type we try and guess automatically in
8697           caps/structure strings.
8698
8699 2005-11-22  Andy Wingo  <wingo@pobox.com>
8700
8701         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
8702
8703         * gst/gsttagsetter.h:
8704         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
8705         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
8706         (gst_tag_setter_add_tag_valist)
8707         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
8708         _add_values, _add_valist, and _add_valist_values. Since this is an
8709         interface the function suffixes should be more explicit so
8710         language binding don't end up with element.add_valist ->
8711         gst_tag_setter_add_valist, for example. Fixes #322069.
8712
8713 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
8714
8715         * check/gst/gstcaps.c: (GST_START_TEST):
8716           Extend caps string tests to check that a caps to string
8717           conversion is reversible and produces the same caps.
8718
8719         * gst/gststructure.c: (gst_structure_value_get_generic_type):
8720           Output "fraction" as the generic type fraction range, so caps
8721           serialisation and deserialisation works.
8722         * check/gst/capslist.h:
8723         * gst/gstvalue.c: (gst_value_deserialize_fraction):
8724           Support 'MIN' and 'MAX' for deserialising fractions.
8725
8726 2005-11-22  Andy Wingo  <wingo@pobox.com>
8727
8728         * gst/gstevent.h (gst_event_new_new_segment)
8729         (gst_event_parse_new_segment, gst_event_new_buffer_size)
8730         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
8731         Renamed from *_newsegment, *_buffersize, *_notarget.
8732
8733         * scripts/update-funcnames: New script, performs the changes
8734         listed above.
8735
8736 2005-11-22  Wim Taymans  <wim@fluendo.com>
8737
8738         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8739         Make sure the GstFlowReturn is returned.
8740
8741         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
8742         (gst_bus_add_signal_watch):
8743         * gst/gstbus.h:
8744         add gst_bus_add_signal_watch_full.
8745
8746         * gst/gstplugin.c: (gst_plugin_load_file):
8747         Small style cleanup.
8748
8749 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
8750
8751         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
8752           Block the fakesrc srcpad when we send an event, to avoid
8753           contention on the stream_lock causing random test failures.
8754
8755 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
8756
8757         * check/gst/gstvalue.c: (GST_START_TEST):
8758         * gst/gstvalue.c: (gst_value_fraction_subtract):
8759           Fix subtraction.
8760
8761 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
8762
8763         * gst/gst.h:
8764           include "gstchildproxy.h"
8765         * gst/gstchildproxy.h:
8766         * libs/gst/controller/gstcontroller.h:
8767           use G_GNUC_NULL_TERMINATED
8768
8769 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
8770
8771         * check/gst/capslist.h:
8772         * check/gst/gstcaps.c: (GST_START_TEST):
8773         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
8774         * gst/gststructure.c: (gst_structure_parse_range),
8775         (gst_structure_fixate_field_nearest_fraction):
8776         * gst/gststructure.h:
8777         * gst/gstvalue.c: (gst_value_init_fraction_range),
8778         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
8779         (gst_value_collect_fraction_range),
8780         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
8781         (gst_value_set_fraction_range_full),
8782         (gst_value_get_fraction_range_min),
8783         (gst_value_get_fraction_range_max),
8784         (gst_value_serialize_fraction_range),
8785         (gst_value_transform_fraction_range_string),
8786         (gst_value_compare_fraction_range),
8787         (gst_value_deserialize_fraction_range),
8788         (gst_value_intersect_fraction_fraction_range),
8789         (gst_value_intersect_fraction_range_fraction_range),
8790         (gst_value_subtract_fraction_fraction_range),
8791         (gst_value_subtract_fraction_range_fraction),
8792         (gst_value_subtract_fraction_range_fraction_range),
8793         (gst_value_collect_fraction), (gst_value_fraction_multiply),
8794         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
8795         (gst_value_transform_string_fraction), (_gst_value_initialize):
8796         * gst/gstvalue.h:
8797           Implement fraction ranges and extend GstFraction to support
8798           arithmetic subtraction, as well as deserialization from integer
8799           strings such as "100"
8800           Add a testsuite as for int and double range set operations
8801
8802 2005-11-21  Andy Wingo  <wingo@pobox.com>
8803
8804         * gst/gsttaglist.h: 
8805         * gst/gstcaps.h: 
8806         * gst/gststructure.h: Add glib-compat.h.
8807
8808 2005-11-21  Wim Taymans  <wim@fluendo.com>
8809
8810         * gst/gstbin.c: (gst_bin_change_state_func):
8811         Fix for #321595
8812
8813 2005-11-21  Wim Taymans  <wim@fluendo.com>
8814
8815         * gst/gstsegment.h:
8816         And add a nice define too.
8817
8818 2005-11-21  Wim Taymans  <wim@fluendo.com>
8819
8820         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
8821         (gst_segment_new), (gst_segment_free), (gst_segment_init),
8822         (gst_segment_set_duration), (gst_segment_set_last_stop),
8823         (gst_segment_set_seek), (gst_segment_set_newsegment),
8824         (gst_segment_to_stream_time), (gst_segment_to_running_time),
8825         (gst_segment_clip):
8826         * gst/gstsegment.h:
8827         Make binding friendly.
8828
8829 2005-11-21  Andy Wingo  <wingo@pobox.com>
8830
8831         * gst/gsttagsetter.h: 
8832         * gst/gsttaglist.h: 
8833         * gst/gststructure.h: 
8834         * gst/gstcaps.h: 
8835         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
8836         #319940.
8837
8838         * gst/gsterror.c (_gst_core_errors_init):
8839         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
8840         category.
8841
8842         * gst/Makefile.am (gst_headers): Add glib-compat.h.
8843         (noinst_HEADERS): noinst the -private.
8844
8845 2005-11-21  Michael Smith <msmith@fluendo.com>
8846
8847         * gst/gstplugin.h:
8848         * gst/gstregistry.h:
8849           Remove unimplemented declarations for which we can see no sensible
8850           use.
8851
8852 2005-11-21  Andy Wingo  <wingo@pobox.com>
8853
8854         * gst/gst.h: Include glib-compat.h.
8855
8856         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
8857
8858         * gst/glib-compat.c: Include the public and the private header.
8859
8860         * gst/glib-compat-private.h: Copied here from glib-compat.h.
8861
8862         * gst/gstvalue.c: 
8863         * gst/gstpad.c: 
8864         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
8865
8866         * check/gst/gstevent.c (create_custom_events): Check that
8867         FLUSH_STOP is serialized.
8868
8869         * check/elements/identity.c (event_func): 
8870         * check/elements/fakesrc.c (event_func): No stream lock, the core
8871         takes it.
8872
8873         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
8874         stream lock taking, yay.
8875
8876         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
8877         ensure that core takes the stream lock.
8878
8879         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
8880         lock name change.
8881
8882         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
8883         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
8884         it already. For the flush start we do take it though so we get the
8885         right preroll state change messages.
8886
8887         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
8888         the stream lock here, the core does it for us.
8889
8890         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
8891         GST_STREAM_GET_LOCK.
8892         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
8893         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
8894         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
8895         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
8896         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
8897         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
8898
8899         * gst/gstpad.c: Update for stream lock name change.
8900
8901         * gst/base/gstbasesink.c: Update for preroll lock name change.
8902
8903 2005-11-21  Wim Taymans  <wim@fluendo.com>
8904
8905         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
8906         (gst_clock_get_master):
8907         * gst/gstclock.h:
8908         * gst/gstsystemclock.c: (gst_system_clock_init):
8909         Convert Clock flags to object flags.
8910         Added methods to manage master/slave clocks.
8911
8912 2005-11-21  Wim Taymans  <wim@fluendo.com>
8913
8914         * check/gst/gstsegment.c: (GST_START_TEST):
8915         * docs/design/part-TODO.txt:
8916         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8917         (gst_base_sink_event), (gst_base_sink_do_sync),
8918         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
8919         (gst_base_sink_query), (gst_base_sink_change_state):
8920         * gst/base/gstbasesink.h:
8921         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
8922         (gst_base_src_default_newsegment),
8923         (gst_base_src_configure_segment), (gst_base_src_do_seek),
8924         (gst_base_src_get_range), (gst_base_src_loop),
8925         (gst_base_src_change_state):
8926         * gst/base/gstbasesrc.h:
8927         * gst/base/gstbasetransform.c:
8928         (gst_base_transform_prepare_output_buf),
8929         (gst_base_transform_event), (gst_base_transform_change_state):
8930         * gst/base/gstbasetransform.h:
8931         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
8932         (gst_collect_pads_event):
8933         * gst/base/gstcollectpads.h:
8934         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
8935         (gst_fake_src_create):
8936         * gst/elements/gstfakesrc.h:
8937         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
8938         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
8939         (gst_segment_set_last_stop), (gst_segment_set_seek),
8940         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
8941         (gst_segment_to_running_time), (gst_segment_clip):
8942         * gst/gstsegment.h:
8943         More segment updates, replace code in plugins with segment
8944         helper functions.
8945
8946 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
8947
8948         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
8949         Don't ignore sscanf results
8950
8951 2005-11-21  Andy Wingo  <wingo@pobox.com>
8952
8953         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
8954
8955         * *.h:
8956         * *.c: Ran scripts/update-macros. Oh yes.
8957
8958         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
8959         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
8960         GST_GET_LOCK, etc.
8961
8962         * scripts/update-macros: New script. Run it on your files to
8963         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
8964         well.
8965
8966 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
8967
8968         * docs/gst/Makefile.am:
8969         * docs/gst/gstreamer-docs.sgml:
8970         * docs/gst/gstreamer-sections.txt:
8971         * docs/gst/gstreamer.types:
8972         * gst/gstinfo.h:
8973           more docs fixes, add new api to the docs
8974
8975 2005-11-21  Andy Wingo  <wingo@pobox.com>
8976
8977         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
8978         state_broadcast call.
8979
8980         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
8981
8982 2005-11-21  Julien MOUTTE  <julien@moutte.net>
8983
8984         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
8985         function calls for arrays.
8986
8987 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
8988
8989         * docs/random/ensonic/media-device-daemon.txt:
8990           wild idea, can this be done?
8991         * docs/gst/gstreamer-sections.txt:
8992         * gst/gsterror.h:
8993         * gst/gstfilter.c:
8994         * gst/gstfilter.h:
8995         * gst/gstplugin.h:
8996         * gst/gstpluginfeature.c:
8997         * gst/gsttrace.c:
8998         * gst/gstvalue.c:
8999         * gst/gstvalue.h:
9000           doc fixes and additions
9001
9002 2005-11-21  Andy Wingo  <wingo@pobox.com>
9003
9004         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
9005         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
9006         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
9007         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
9008         private to the basesrc implementation.
9009
9010         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
9011         behalf of event function if necessary. It should no longer be
9012         necessary to take the stream lock in pad's event functions. Fixes
9013         #320299.
9014
9015 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
9016         * docs/gst/gstreamer-sections.txt:
9017         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
9018         (gst_structure_fixate_field_nearest_double),
9019         (gst_structure_fixate_field_boolean):
9020         * gst/gststructure.h:
9021         * win32/common/libgstreamer.def:
9022         * win32/gstreamer.def:
9023
9024         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
9025         (#322027)
9026
9027 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
9028
9029         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
9030         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
9031         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
9032         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
9033         (gst_fdsrc_uri_handler_init):
9034         * gst/elements/gstfdsrc.h:
9035           Port fd:// URI handler from 0.8 to fdsrc
9036
9037 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
9038
9039         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
9040         (gst_value_serialize_fourcc):
9041         * gst/gstvalue.h:
9042           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
9043           consistent with our other format defines (#320324).
9044
9045 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
9046
9047         * gst/gstvalue.c: (gst_value_is_fixed):
9048           Revert previous commit. Value lists are by definition
9049           not fixed, as they are a list of possible values.
9050
9051 2005-11-21  Andy Wingo  <wingo@pobox.com>
9052
9053         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
9054         during the stable series if we need it. Fixes #319178.
9055
9056         * gst/gstevent.c (gst_event_new_filler): Removed.
9057
9058         * check/gst/gstevent.c: Update comment about filler events.
9059
9060 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
9061
9062         * gst/gstvalue.c: (gst_value_is_fixed):
9063           Should handle both value arrays and value lists.
9064
9065 2005-11-21  Andy Wingo  <wingo@pobox.com>
9066
9067         patch by: Alessandro Dessina <alessandro nnva org>
9068
9069         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
9070         functions to access arrays. Fixes #321962.
9071
9072 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
9073
9074         * docs/gst/gstreamer.types:
9075           gst_collectpads_get_type => gst_collect_pads_get_type.
9076           
9077         * gst/base/gstbasetransform.c:
9078           Remove unused SIGNAL_HANDOFF enum.
9079
9080 2005-11-21  Andy Wingo  <wingo@pobox.com>
9081
9082         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
9083         the event type (upstream, downstream, serialized). Renamed
9084         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
9085         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
9086         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
9087
9088         * gst/gstevent.c: Update for new CUSTOM event names.
9089
9090         * check/gst/gstevent.c: Update check for new CUSTOM event names.
9091
9092         * gst/gstevent.h:
9093         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
9094         bug #319392.
9095
9096 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
9097
9098         * docs/gst/gstreamer-sections.txt:
9099         * win32/common/libgstbase.def:
9100         * win32/libgstbase.def:
9101         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
9102         (gst_collect_pads_class_init), (gst_collect_pads_init),
9103         (gst_collect_pads_finalize), (gst_collect_pads_new),
9104         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
9105         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
9106         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
9107         (gst_collect_pads_start), (gst_collect_pads_stop),
9108         (gst_collect_pads_peek), (gst_collect_pads_pop),
9109         (gst_collect_pads_available), (gst_collect_pads_read),
9110         (gst_collect_pads_flush), (gst_collect_pads_event),
9111         (gst_collect_pads_chain):
9112         * gst/base/gstcollectpads.h:
9113           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
9114           unimplemented functions as unimplemented. Add padding to
9115           GstCollectData. (#320766, #320423)
9116
9117 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
9118
9119         * gst/gstmessage.c:
9120           Improve docs for DURATION message (usage of duration parameter)
9121           (#320113)
9122
9123 2005-11-20  Wim Taymans  <wim@fluendo.com>
9124
9125         * check/Makefile.am:
9126         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
9127         (main):
9128         * gst/Makefile.am:
9129         * gst/gst.h:
9130         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
9131         (gst_segment_set_seek), (gst_segment_set_newsegment),
9132         (gst_segment_to_stream_time), (gst_segment_to_running_time),
9133         (gst_segment_clip):
9134         * gst/gstsegment.h:
9135         Added segment helper structure and methods. Not fully implemented
9136         yet.
9137         Added segment check.
9138
9139 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
9140
9141         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
9142           Add a deserialisation test for fractions
9143         * examples/metadata/read-metadata.c: (message_loop),
9144         (make_pipeline), (main):
9145           Fix up metadata reading sample.
9146         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
9147           Debug format fix
9148         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
9149           Don't try and fixate empty caps
9150         * gst/gst_private.h:
9151           Wrap in G_BEGIN_DECLS/G_END_DECLS
9152         * gst/gstvalue.c: (gst_value_collect_fraction),
9153         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
9154         (gst_value_transform_string_fraction),
9155         (gst_value_compare_fraction):
9156           Add some extra guards to ensure that we don't end up 
9157           with an invalid denominator of 0 in a gstfraction and
9158           that fractions always get reduced.
9159
9160 2005-11-20  Wim Taymans  <wim@fluendo.com>
9161
9162         * docs/gst/gstreamer-sections.txt:
9163         * gst/gstbuffer.h:
9164         * gst/gstelement.c:
9165         * gst/gstformat.c:
9166         * gst/gstformat.h:
9167         * gst/gstindex.h:
9168         * gst/gstquery.c:
9169         * gst/gstquery.h:
9170         * gst/gstvalue.c:
9171         Doc fixes.
9172
9173 2005-11-20  Wim Taymans  <wim@fluendo.com>
9174
9175         * docs/design/part-TODO.txt:
9176         * gst/gstcaps.h:
9177         Make a proper enum of the flag.
9178
9179 2005-11-19  Wim Taymans  <wim@fluendo.com>
9180
9181         * docs/design/part-TODO.txt:
9182         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
9183         (gst_format_to_quark), (gst_format_register):
9184         * gst/gstformat.h:
9185         * gst/gstquery.c: (_gst_query_initialize),
9186         (gst_query_type_get_name), (gst_query_type_to_quark),
9187         (gst_query_type_register):
9188         * gst/gstquery.h:
9189         Add type to quark and type to string conversions.
9190
9191 2005-11-19  Andy Wingo  <wingo@pobox.com>
9192
9193         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
9194         #320097.
9195
9196 2005-11-19  Wim Taymans  <wim@fluendo.com>
9197
9198         * docs/design/part-TODO.txt:
9199         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
9200         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
9201         (gst_bin_handle_message_func):
9202         * gst/gstbin.h:
9203         Make message handling overridable.
9204
9205 2005-11-19  Andy Wingo  <wingo@pobox.com>
9206
9207         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
9208
9209         * gst/gstclock.h:
9210         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
9211         be a GstClockTime.
9212         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
9213         is a GstClockTime. Fixes #321710.
9214
9215         * gst/gstclock.h (GstClock): Remove offset property. Add
9216         internal_calibration and external_calibration. Fix padding. Pad
9217         also by GstClockTime so we don't run into problems.
9218
9219         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
9220         (gst_clock_get_rate_offset): Remove.
9221         (gst_clock_set_time_adjust): Remove. Fixes #321712.
9222
9223         * gst/gstutils.h:
9224         * gst/gstutils.c (g_static_rec_cond_wait)
9225         (g_static_rec_cond_timed_wait): Removed, no longer needed.
9226
9227         * gst/gstbin.c: Remove terrible continue_state prototype.
9228
9229         * gst/gstelement.h (gst_element_continue_state): Make public.
9230
9231         * gst/gstelement.h:
9232         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
9233         by continue_state. Fixes #319389.
9234
9235         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
9236         Really fixes #168438. However I don't see anywhere where the
9237         filter function is called... stupid GStreamer...
9238         
9239         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
9240         don't have a dispose function, so it won't get called when the
9241         object is unreffed, but oh well!
9242
9243         * gst/gstindex.c (gst_index_set_filter_full): New API function,
9244         allows a destroy function to be set so user_data can be freed.
9245         Fixes #168438.
9246         (gst_index_set_filter): Call gst_index_set_filter_full.
9247
9248         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
9249
9250         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
9251         string should produce an error, given the lack of a way to
9252         represent NULL strings. Fixes #165650.
9253         
9254         * gst/gstvalue.h: 
9255         * gst/gstvalue.c (gst_value_array_append_value) 
9256         (gst_value_array_prepend_value, gst_value_array_get_size) 
9257         (gst_value_array_get_value): New API, copied from
9258         gst_value_list_*, only operates on arrays.
9259         (gst_value_list_append_value, gst_value_list_prepend_value) 
9260         (gst_value_list_concat, gst_value_list_get_size) 
9261         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
9262
9263         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
9264         init_list, because it works on both.
9265         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
9266         (gst_value_copy_list_or_array): Renamed from copy_list.
9267         (gst_value_free_list_or_array): Renamed from free_list.
9268         (gst_value_collect_list_or_array): Renamed from collect_list.
9269         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
9270         (gst_value_list_or_array_peek_pointer): Renamed from
9271         list_peek_pointer.
9272         (_gst_value_array_value_table, _gst_value_list_value_table):
9273         Update value table functions.
9274         (gst_value_compare_list_or_array): Renamed from compare_list.
9275
9276         * gsttaglist.h: Whoops, foreach function returns void. Also fix
9277         some constness.
9278
9279         * gst/gsttaglist.c:
9280         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
9281         GstTagList*. Fixes #143472.
9282
9283         * gst/gststructure.h: Clarify what the foreach/map functions can
9284         or can't do to their arguments.
9285
9286 2005-11-18  Wim Taymans  <wim@fluendo.com>
9287
9288         * gst/gstclock.c: (gst_clock_set_calibration),
9289         (gst_clock_get_calibration):
9290         Doc and API fixes.
9291         Calibration can be set with internal time equal to current
9292         internal time too.
9293
9294 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
9295
9296         * gst/gsterror.c:
9297         * gst/gsterror.h:
9298           document
9299
9300 2005-11-18  Andy Wingo  <wingo@pobox.com>
9301
9302         * configure.ac: 
9303         * pkgconfig/gstreamer-net.pc.in:
9304         * pkgconfig/gstreamer-net-uninstalled.pc.in:
9305         * pkgconfig/Makefile.am: Add net pkgconfig files.
9306
9307 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
9308
9309         * gst/gstcaps.c:
9310         * gst/gstghostpad.c:
9311         * gst/gsttrace.c:
9312         * gst/gstvalue.c:
9313         * gst/gstvalue.h:
9314           docs fixes
9315
9316 2005-11-18  Andy Wingo  <wingo@pobox.com>
9317
9318         * gst/net/gstnetclientclock.c: Turn off debugging.
9319
9320         * check/net/gstnetclientclock.c (test_functioning): Assert that the
9321         times connverge somewhat. Can't make a real test.
9322
9323         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
9324         integer arithmetic. Return the minimum of the domain, which can be
9325         set as "internal" for gst_clock_set_calibration.
9326         (gst_net_client_clock_observe_times): Call _set_calibration.
9327         (gst_net_client_clock_new): Call _set_calibration instead of
9328         rate_offset.
9329
9330         * check/net/gstnetclientclock.c (test_functioning): Use the right
9331         adjustment api.
9332
9333         * gst/gstclock.h:
9334         * gst/gstclock.c (gst_clock_get_calibration) 
9335         (gst_clock_set_calibration): New functions, obsolete the ones I
9336         added yesterday. Doh. Precision issues mean we have to extrapolate
9337         from a point in the more recent past than 1970.
9338         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
9339         obsolete.
9340         (gst_clock_adjust_unlocked): Use the right calibration data.
9341
9342 2005-11-18  Edward Hervey  <edward@fluendo.com>
9343
9344         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
9345         Also reset the ->current_* values in READY->PAUSED
9346
9347 2005-11-18  Andy Wingo  <wingo@pobox.com>
9348
9349         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
9350         Whoops, check the right fd. Also add some debugging.
9351         (gst_net_client_clock_observe_times): Adjust for int64 offset.
9352         (do_linear_regression): Add a crapload of debugging. Subtract off
9353         the minimum values from the input series to discard unneeded bits.
9354         Use only int arithmetic. There is still double arithmetic when
9355         calculating the intercept that needs fixing. Return boolean to
9356         indicate success; FALSE would mean the domain or range is too
9357         great. Still needs fixes.
9358
9359 2005-11-18  Wim Taymans  <wim@fluendo.com>
9360
9361         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
9362         For the current position in stream time, we need to subtract
9363         accumulated time.
9364         
9365         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
9366         Release lock before calling the callback function of async
9367         entries.
9368
9369 2005-11-18  Andy Wingo  <wingo@pobox.com>
9370
9371         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
9372         Port goes all the way to MAXUINT16.
9373
9374         * gst/net/gstnettimeprovider.c: Make the port range the same as
9375         for the kernel: 0 assigns, otherwise ports are less than
9376         MAXUINT16.
9377
9378         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
9379         port change.
9380
9381         * check/net/gstnetclientclock.c (test_functioning): Add the start
9382         of another test. 
9383
9384 2005-11-18  Wim Taymans  <wim@fluendo.com>
9385
9386         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
9387         (gst_bin_remove_func), (bin_bus_handler):
9388         * gst/gstbin.h:
9389         Removing a clock provider from a bin, triggers a clock lost message
9390         so that a new clock will be selected.
9391         Adding a clock to a bin triggers a clock provider message.
9392         Make sure we reselect a clock when we received a clock lost message.
9393         Keep a reference to the element that provided the clock.
9394
9395 2005-11-18  Andy Wingo  <wingo@pobox.com>
9396
9397         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
9398         the clock initially so it produces values around the base time.
9399         (gst_net_client_clock_class_init): Typo fix.
9400         (gst_net_client_clock_thread): Add note on when the socket gets
9401         closed.
9402
9403 2005-11-17  Wim Taymans  <wim@fluendo.com>
9404
9405         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
9406         Free remote and local time arrays.
9407
9408 2005-11-17  Wim Taymans  <wim@fluendo.com>
9409
9410         * gst/net/gstnetclientclock.c: (do_linear_regression),
9411         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
9412         Fix compilation, uninitialized vars and a forgotten continue.
9413
9414 2005-11-17  Andy Wingo  <wingo@pobox.com>
9415
9416         * check/Makefile.am (check_PROGRAMS): 
9417         * check/net/gstnetclientclock.c: Add a most minimal test for the
9418         net client clock. More to come later.
9419
9420         * gst/net/gstnet.h: 
9421         * gst/net/Makefile.am: Add netclientclock.
9422
9423         * gst/net/gstnetclientclock.h:
9424         * gst/net/gstnetclientclock.c: New files, implement an untested
9425         GstClock that takes its time from a network time provider.
9426         Implements the algorithm in network-clock.scm.
9427
9428         * tests/network-clock.scm (*window-size*): Rename from
9429         *queue-length*.
9430         * tests/network-clock.scm (network-time): 
9431         * tests/network-clock-utils.scm (q-push): Update callers.
9432
9433 2005-11-17  Wim Taymans  <wim@fluendo.com>
9434
9435         * gst/gstbin.c: (gst_bin_provide_clock_func),
9436         (gst_bin_sort_iterator_new):
9437         And unref the child too..
9438
9439 2005-11-17  Wim Taymans  <wim@fluendo.com>
9440
9441         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
9442         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
9443         Refactor the sort iterator so it can be used while holding the
9444         LOCK too.
9445         Make clock selection select a clock closest to the source.
9446
9447 2005-11-17  Michael Smith <msmith@fluendo.com>
9448
9449         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
9450         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
9451         * gst/gstclock.h:
9452           Anonymous structs are a gcc (and some other compilers) extension, so
9453           don't use them. Since this is only for ABI-compatibility, and our
9454           API/ABI freeze is over in a few days, this whole thing will only
9455           last a few days, so don't bother trying to think up a meaningful
9456           name for the struct.
9457
9458 2005-11-17  Andy Wingo  <wingo@pobox.com>
9459
9460         * gst/gstclock.h (GstClock): Add rate and offset properties,
9461         preserving ABI stability. Add rate/offset accessors. Will file bug
9462         for the freeze break.
9463
9464         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
9465         and offset, trying to keep precision and avoiding
9466         underflow/overflow.
9467         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
9468         functions. Make gst_clock_set_time_adjust obsolete.
9469         (gst_clock_set_time_adjust): Note that this function is obsolete.
9470         Will file bug soon.
9471
9472         * gst/base/gstbasetransform.h: Make the ABI-stability hack
9473         greppable by using GST_PADDING-1+1.
9474
9475 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
9476
9477         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
9478
9479         * gst/gstmessage.c: (gst_message_parse_clock_lost):
9480           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
9481
9482         * gst/gstpadtemplate.h:
9483         * gst/gstpluginfeature.h:
9484           Don't use c++ style comments in headers (#321638).
9485
9486 2005-11-16  Andy Wingo  <wingo@pobox.com>
9487
9488         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
9489         buffer.
9490
9491         * check/net/gstnettimeprovider.c: Check to see that the time
9492         provider actually provides times. Works, yo!
9493
9494 2005-11-16  Wim Taymans  <wim@fluendo.com>
9495
9496         * check/Makefile.am:
9497         Enable more tests.
9498
9499         * check/elements/fakesrc.c: (GST_START_TEST):
9500         Set element to NULL before disposing it.
9501
9502 2005-11-16  Andy Wingo  <wingo@pobox.com>
9503
9504         * gst/net/Makefile.am:
9505         * gst/net/gstnet.h:
9506         * gst/net/gstnettimeprovider.c: 
9507         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
9508         provider, include it from gstnet.h, and add it to the build.
9509
9510         * gst/net/gstnettimepacket.h: 
9511         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
9512         sending and receiving.
9513
9514 2005-11-16  Wim Taymans  <wim@fluendo.com>
9515
9516         * check/Makefile.am:
9517         Enable valgrind check.
9518
9519         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
9520         (gst_fake_src_alloc_buffer):
9521         Fix memleak.
9522
9523 2005-11-16  Wim Taymans  <wim@fluendo.com>
9524
9525         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
9526         Call parent finalize too.
9527
9528 2005-11-16  Wim Taymans  <wim@fluendo.com>
9529
9530         * check/Makefile.am:
9531         Enable valgrind check that should work fine now.
9532
9533         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
9534         * gst/gstqueue.c: (gst_queue_init):
9535         Fix memleaks in pad allocation.
9536
9537 2005-11-16  Andy Wingo  <wingo@pobox.com>
9538
9539         * gst/net/Makefile.am:
9540         * gst/net/gstnet.h: New part of core to hold network elements and
9541         objects. Put in core because it exposes API that applications want
9542         to use. The library is named libgstnet-tempname right now because
9543         of the existing libgstnet in gst-plugins-base. Solution is
9544         probably to rename the one in plugins-base; will file a bug for
9545         the freeze break.
9546
9547         * gst/net/gstnettimeprovider.c: 
9548         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
9549         get_time call over the network.
9550
9551         * configure.ac: 
9552         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
9553
9554         * check/Makefile.am:
9555         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
9556         get additions shortly.
9557
9558 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
9559
9560         * gst/gstpad.c: (gst_pad_new_from_static_template):
9561         * gst/gstpad.h:
9562           add gst_pad_new_from_static_template functions
9563         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
9564         (gst_check_setup_sink_pad):
9565         * gst/elements/gsttee.c: (gst_tee_init):
9566           and use them
9567
9568 2005-11-16  Wim Taymans  <wim@fluendo.com>
9569
9570         * gst/gstpad.c: (gst_pad_pause_task):
9571         Removed warning, it's not really an error either.
9572
9573 2005-11-16  Wim Taymans  <wim@fluendo.com>
9574
9575         * gst/base/gstbasetransform.c:
9576         (gst_base_transform_prepare_output_buf),
9577         (gst_base_transform_event):
9578         Check if the caps are NULL, this can happen if the element
9579         is shutting down and the pad caps are set to NULL.
9580
9581 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
9582
9583         * gst/elements/gsttee.c: (gst_tee_init):
9584           fix pad template leak in tee
9585
9586 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
9587
9588         * gst/glib-compat.c: (g_value_dup_gst_object):
9589         * gst/glib-compat.h:
9590         * gst/gstpad.c: (gst_pad_set_property):
9591           use gst_object_ref when setting the pad template; this will
9592           trigger the pad template leaks on GLib 2.6 and the slaves
9593
9594 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
9595
9596         * gst/glib-compat.c: (gst_flags_get_first_value):
9597         * gst/glib-compat.h:
9598         * gst/gstregistryxml.c:
9599           remove functions copied from GLib 2.6
9600
9601 2005-11-16  Michael Smith <msmith@fluendo.com>
9602
9603         * gst/Makefile.am:
9604           Don't link against VALGRIND_LIBS. That was always the wrong thing to
9605           do, but only breaks with newer valgrind versions. We're not a
9606           valgrind tool, we have no link-time dependencies on libcoregrind.
9607
9608 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
9609
9610         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
9611           some debug changes
9612         * gst/gstmessage.h:
9613           typo fixes
9614
9615 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
9616
9617         * gst/base/gstbasesrc.c: (gst_base_src_init):
9618         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
9619         * gst/gstqueue.c: (gst_queue_init):
9620         * gst/gstregistryxml.c: (load_feature):
9621           Revert all these unrefs, they don't even pass make check !
9622
9623 2005-11-15  Johan Dahlin  <johan@gnome.org>
9624
9625         * gst/base/gstbasesrc.c: (gst_base_src_init):
9626         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
9627         * gst/gstqueue.c: (gst_queue_init): 
9628         Free pad templates, fixes a couple of leaks.
9629
9630 2005-11-15  Daniel Fischer  <dan at f3c dot com>
9631
9632         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
9633
9634         * gst/gstpad.c: (gst_pad_get_property):
9635           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
9636           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
9637           (#321452)
9638
9639 2005-11-15  Wim Taymans  <wim@fluendo.com>
9640
9641         * gst/gstevent.c:
9642         Small doc update.
9643
9644 2005-11-15  Andy Wingo  <wingo@pobox.com>
9645
9646         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
9647
9648         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
9649         using GST_CLOCK_TIME_NONE to disable base time management.
9650         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
9651         time if it was NONE before.
9652         (gst_pipeline_change_state): Only munge the base time if
9653         stream_time != GST_CLOCK_TIME_NONE.
9654
9655         * check/gst/gstpipeline.c (test_base_time): Punt around the
9656         problem of the probe not being called, because that's not the
9657         issue I'm looking at. Add a check that setting stream_time to NONE
9658         disables base time management.
9659         
9660 2005-11-15  Wim Taymans  <wim@fluendo.com>
9661
9662         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
9663         segment_stop == -1 at startup.
9664
9665         * gst/base/gstbasetransform.c: (gst_base_transform_event),
9666         (gst_base_transform_change_state):
9667         Init segment values at start.
9668
9669 2005-11-15  Wim Taymans  <wim@fluendo.com>
9670
9671         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
9672         0 segment values are 0 in any format.
9673
9674         * gst/base/gstbasetransform.c: (gst_base_transform_event):
9675         * gst/base/gstbasetransform.h:
9676         Parse newsegment correctly in basetransform
9677
9678         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
9679         Sync to clock using updated segment values.
9680
9681 2005-11-15  Andy Wingo  <wingo@pobox.com>
9682
9683         * check/gst/gstpipeline.c (test_base_time): Add check that the
9684         base time and stream time are reset correctly.
9685
9686 2005-11-15  Wim Taymans  <wim@fluendo.com>
9687
9688         * docs/design/part-TODO.txt:
9689         Some more TODO items.
9690
9691 2005-11-15  Andy Wingo  <wingo@pobox.com>
9692
9693         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
9694         error if the user selected "no clock" as the clocking method.
9695
9696         * check/gst/gstpipeline.c (test_base_time): New test for buffer
9697         timestamps with live capture.
9698
9699         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
9700         is 0 but we are a live source, timestamp the buffers using the
9701         element's clock.
9702
9703 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
9704
9705         * docs/gst/gstreamer-sections.txt:
9706         * gst/gsterror.c:
9707         * gst/gstghostpad.c:
9708         * gst/gstobject.h:
9709         * gst/gstxml.c:
9710           more section docs
9711
9712 2005-11-14  Wim Taymans  <wim@fluendo.com>
9713
9714         * common/gst.supp:
9715           add suppressions from Wim's Debian machine
9716
9717 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
9718
9719         * common/gst.supp:
9720           add suppressions from Andy's AMD64 Ubuntu machine
9721
9722 2005-11-14  Andy Wingo  <wingo@pobox.com>
9723
9724         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
9725         STATE_LOCK not necessary. Fixes #311489.
9726
9727         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
9728         #305291.
9729
9730         * gst/gstindex.c (gst_index_add_object): Note in the docs that
9731         this function is not implemented.
9732
9733 2005-11-14  Julien MOUTTE  <julien@moutte.net>
9734
9735         * gst/base/gstbasetransform.c:
9736         (gst_base_transform_prepare_output_buf):
9737         Ref the source pad caps while we need them.
9738         Fixes (#321386)
9739
9740 2005-11-11  Wim Taymans  <wim@fluendo.com>
9741
9742         * docs/gst/gstreamer-sections.txt:
9743         Added some docs for GstCollectData.
9744
9745         * gst/base/gstadapter.c:
9746         Some small code example fix.
9747
9748         * gst/base/gstcollectpads.c:
9749         * gst/base/gstcollectpads.h:
9750         Document some more.
9751
9752 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9753
9754         * configure.ac: back to HEAD
9755
9756 === release 0.9.5 ===
9757
9758 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
9759
9760         * configure.ac:
9761           releasing 0.9.5, "Bike Lunch Day"
9762
9763 2005-11-11  Wim Taymans  <wim@fluendo.com>
9764
9765         * gst/gstbuffer.c: (_gst_buffer_copy):
9766         Copy more flags.
9767
9768         * gst/gstcaps.c: (gst_caps_is_equal):
9769         Fix some docs.
9770         Make _is_equal fast in the trivial cases.
9771
9772         * gst/gstminiobject.c:
9773         * gst/gstminiobject.h:
9774         More docs. Spifify .h file.
9775
9776         * gst/gstutils.c:
9777         Small doc update.
9778
9779 2005-11-11  Wim Taymans  <wim@fluendo.com>
9780
9781         * gst/base/gstbasetransform.c:
9782         (gst_base_transform_prepare_output_buf),
9783         (gst_base_transform_handle_buffer):
9784         Small cleanups.
9785         If we're processing a buffer and need to allocate an output
9786         buffer, we cannot accept a format change. If we did get a 
9787         format change, we have to alloc a buffer ourselves of the 
9788         right size.
9789
9790 2005-11-11  Wim Taymans  <wim@fluendo.com>
9791
9792         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
9793         While checking the flag for reentrancy in the gstcaps function
9794         is nice to detect recursive invocations, it also makes it 
9795         impossible to call getcaps from multiple threads, which must be
9796         possible. So, checking for recursive calls has to go.
9797
9798 2005-11-11  Michael Smith <msmith@fluendo.com>
9799
9800         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
9801           Don't sync on buffers that fall partially outside our current
9802           segment. Prevents an assertion failure/abort playing some files.
9803
9804 2005-11-10  Andy Wingo  <wingo@pobox.com>
9805
9806         * check/gst/gstbin.c (test_message_state_changed_children): Style
9807         fix..
9808
9809         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
9810         gst_bus_poll with the signal watch. Ensures that poll and a signal
9811         watch see the same messages.
9812
9813         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
9814         a poll and a watch at the same time get the same messages.
9815
9816 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9817
9818         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
9819         * gst/gstcaps.c: (gst_caps_intersect):
9820           Don't call gst_caps_do_simplify - it doesn't respect order of caps
9821           and it's not needed.
9822
9823 2005-11-10  Wim Taymans  <wim@fluendo.com>
9824
9825         * docs/design/part-TODO.txt:
9826         Updated todo.
9827
9828 2005-11-10  Wim Taymans  <wim@fluendo.com>
9829
9830         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
9831         * gst/base/gstbasesrc.c: (gst_base_src_wait),
9832         (gst_base_src_do_sync), (gst_base_src_get_range):
9833         Implement clock sync in base class.
9834
9835 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9836
9837         patch by: Tim-Philipp Müller <tim at centricular dot net>
9838
9839         * gst/gststructure.c: (gst_structure_parse_field),
9840         (gst_structure_from_string):
9841           Forward-port a 0.8 patch to handle escaped spaces in structure string,
9842           so that gst_parse_launch() can deal with spaces in filtered link
9843           caps (fixes #164479)
9844         * check/gst/capslist.h:
9845         * check/gst/gststructure.c: (GST_START_TEST):
9846           add unit tests for this change
9847
9848 2005-11-10  Wim Taymans  <wim@fluendo.com>
9849
9850         * docs/gst/gstreamer-sections.txt:
9851         * gst/gstelement.c:
9852         * gst/gstelement.h:
9853         Fix docs, move some STATE macros to private.
9854
9855 2005-11-10  Wim Taymans  <wim@fluendo.com>
9856
9857         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
9858         Added check for bug #317341
9859
9860         * gst/gstbuffer.c:
9861         * gst/gstbuffer.h:
9862         Some more spiffifying.
9863
9864         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
9865         Call peer linkfunction if we are a source pad. Totally fixes
9866         #317341
9867
9868         * gst/gstpad.c:
9869         Update docs, source pads should call the peer linkfunction
9870         so they can atomically perform the pad link.
9871
9872 2005-11-09  Wim Taymans  <wim@fluendo.com>
9873
9874         * gst/gstbuffer.c:
9875         * gst/gstbuffer.h:
9876         Uber-spiffy-spiffify some more.
9877
9878 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
9879
9880         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
9881         * gst/elements/gstfilesink.c: (gst_file_sink_init):
9882         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
9883         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
9884         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
9885         * gst/gstpad.c: (gst_pad_init):
9886           Use GST_DEBUG_FUNCPTR() more extensively.
9887
9888 2005-11-09  Wim Taymans  <wim@fluendo.com>
9889
9890         * gst/gstobject.c: (gst_object_class_init):
9891         * gst/gstobject.h:
9892         Documentation fixes.
9893
9894 2005-11-09  Edward Hervey  <edward@fluendo.com>
9895
9896         * gst/gsttypefindfactory.c:
9897         Fix docs.
9898         
9899 2005-11-09  Edward Hervey  <edward@fluendo.com>
9900
9901         * gst/base/gsttypefindhelper.c:
9902         * gst/gsttypefind.c:
9903         * gst/gsttypefind.h:
9904         Fix docs.
9905
9906 2005-11-09  Wim Taymans  <wim@fluendo.com>
9907
9908         * gst/gstiterator.c:
9909         Fix revision data.
9910
9911         * gst/gsttask.c:
9912         * gst/gsttask.h:
9913         Fix docs.
9914
9915 2005-11-09  Wim Taymans  <wim@fluendo.com>
9916
9917         * gst/gstevent.h:
9918         * gst/gsturi.h:
9919         Fix docs.
9920
9921 2005-11-09  Wim Taymans  <wim@fluendo.com>
9922
9923         * docs/gst/gstreamer-sections.txt:
9924         Moved the message async delivery private lock and cond
9925         to the private section.
9926
9927         * gst/gstmessage.c:
9928         * gst/gstmessage.h:
9929         Fixed docs.
9930
9931 2005-11-09  Edward Hervey  <edward@fluendo.com>
9932
9933         * docs/gst/gstreamer-sections.txt:
9934         * gst/gsturi.c:
9935         * gst/gsturi.h:
9936         Document GstURIHandler
9937
9938 2005-11-09  Wim Taymans  <wim@fluendo.com>
9939
9940         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
9941         (gst_iterator_find_custom):
9942         * gst/gstiterator.h:
9943         Fix iterator docs.
9944
9945 2005-11-09  Wim Taymans  <wim@fluendo.com>
9946
9947         * gst/gstbin.h:
9948         Document another field.
9949
9950         * gst/gststructure.c:
9951         * gst/gststructure.h:
9952         Document.
9953
9954 2005-11-09  Wim Taymans  <wim@fluendo.com>
9955
9956         * gst/gstbin.h:
9957         Documented structs.
9958
9959 2005-11-09  Wim Taymans  <wim@fluendo.com>
9960
9961         * docs/gst/gstreamer-sections.txt:
9962         Added some new macros.
9963
9964         * gst/gstclock.c:
9965         * gst/gstclock.h:
9966         * gst/gstobject.h:
9967         Docs updates.
9968
9969 2005-11-09  Wim Taymans  <wim@fluendo.com>
9970
9971         * docs/design/part-TODO.txt:
9972         Some more items for the TODO
9973
9974         * gst/gstcaps.c:
9975         * gst/gstcaps.h:
9976         Document GstCaps.
9977
9978 2005-11-09  Andy Wingo  <wingo@pobox.com>
9979
9980         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
9981         to work on something else now tho...
9982
9983         * gst/base/gstadapter.c: More adapter docs.
9984
9985         * gst/elements/gstfilesink.c (gst_file_sink_start) 
9986         (gst_file_sink_stop): New functions, replace the state change
9987         handler.
9988         (gst_file_sink_class_init): Hook up the start and stop functions.
9989         (gst_file_sink_base_init): Don't set the state change handler any
9990         more. It was a bit ugly too, being set from here...
9991         (gst_file_sink_get_property, gst_file_sink_set_property):
9992         Cleanups...
9993         (gst_file_sink_set_location): More robust check that doesn't call
9994         GST_STATE. Ugggggg.
9995
9996 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
9997
9998         * gst/base/gstbasetransform.c: (gst_base_transform_event):
9999           Hold STREAM_LOCK while pushing newsegment or tag events as well.
10000
10001 2005-11-08  Wim Taymans  <wim@fluendo.com>
10002
10003         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
10004         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
10005         (gst_base_sink_chain), (gst_base_sink_change_state):
10006         * gst/base/gstbasesink.h:
10007         * gst/base/gstbasesrc.h:
10008         * gst/gstelement.h:
10009         * gst/gstevent.h:
10010         Avoid excessive typechecking in macros.
10011
10012         * gst/gstminiobject.c: (gst_mini_object_get_type),
10013         (gst_mini_object_init), (gst_mini_object_new),
10014         (gst_mini_object_free):
10015         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
10016         (gst_object_finalize):
10017         Remove cruft code, optimize alloc_trace.
10018
10019 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
10020
10021         * docs/faq/gst-uninstalled:
10022           fix up PS1 for systems that try to reset it
10023
10024 2005-11-07  Wim Taymans  <wim@fluendo.com>
10025
10026         * gst/base/gstbasesrc.c: (gst_base_src_init),
10027         (gst_base_src_get_range):
10028         Set the segment_end to -1 initially. Fixed typefind.
10029
10030 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
10031
10032         * gst/base/gstadapter.c:
10033           Debug category should be 'adapter', not 'GstAdapter'.
10034           
10035         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
10036         (gst_collectpads_class_init), (gst_collectpads_init),
10037         (gst_collectpads_peek), (gst_collectpads_pop),
10038         (gst_collectpads_event), (gst_collectpads_chain):
10039           Add debug category and some debugging output. Use boilerplate
10040           macros. Remove some extraneous words from docs.
10041
10042 2005-11-05  Andy Wingo  <wingo@pobox.com>
10043
10044         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
10045         macro.
10046
10047 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
10048
10049         * docs/gst/gstreamer-sections.txt:
10050         * gst/gstcaps.h:
10051         * gst/gstinfo.c:
10052         * gst/gstminiobject.h:
10053         * gst/gstobject.h:
10054         * gst/gstutils.h:
10055           more docs added
10056
10057 2005-11-04  Wim Taymans  <wim@fluendo.com>
10058
10059         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
10060         Small update to stop at the configured segment_end
10061         position.
10062
10063 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
10064
10065         * gst/gstregistry.c:
10066         * gst/gstregistry.h:
10067           added missing docs
10068
10069 2005-11-04  Edward Hervey  <edward@fluendo.com>
10070
10071         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
10072         Check if we are doing a segment seek and have arrived at the
10073         end of that segment.
10074
10075 2005-11-04  Wim Taymans  <wim@fluendo.com>
10076
10077         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
10078         Don't leak a mutex unlock in case of an error.
10079
10080         * gst/gstbus.h:
10081         Doc fixes.
10082
10083 2005-11-04  Wim Taymans  <wim@fluendo.com>
10084
10085         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
10086         (gst_bus_post):
10087         Get the context to wake up only once.
10088
10089 2005-11-03  Wim Taymans  <wim@fluendo.com>
10090
10091         * check/states/sinks.c: (GST_START_TEST):
10092         Uncomment fixed check.
10093
10094         * docs/design/part-TODO.txt:
10095         Updated TODO.
10096
10097         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
10098         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
10099         (gst_base_sink_get_position):
10100         If we are going to PLAYING, post the right pending state
10101         when we post the intermediate paused message.
10102
10103         * gst/gstelement.c: (gst_element_continue_state),
10104         (gst_element_set_state_func), (gst_element_change_state):
10105         Don't post state changes that were between the same state
10106         and were not ASYNC.
10107
10108 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
10109
10110         * docs/gst/gstreamer-sections.txt:
10111         * gst/gstcaps.h:
10112         * gst/gstinfo.c:
10113         * gst/gstminiobject.h:
10114         * gst/gstobject.h:
10115         * gst/gstutils.h:
10116           more docs and doc style fixes
10117
10118 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
10119
10120         * docs/gst/gstreamer-sections.txt:
10121         * gst/gstelement.c:
10122         * gst/gstminiobject.c:
10123         doc fixes
10124
10125 2005-11-03  Andy Wingo  <wingo@pobox.com>
10126
10127         * check/states/sinks.c (test_livesrc_sink): Add checks that the
10128         state-changed messages actually have the right order and the right
10129         values.
10130
10131 2005-11-03  Wim Taymans  <wim@fluendo.com>
10132
10133         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
10134         Added some more checks. Specifically the case where NO_PREROLL
10135         elements are in the pipeline.
10136
10137         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
10138         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
10139         (gst_base_sink_get_position):
10140         Post READY->PAUSED state change messages too.
10141         Fix bug where VOID was posted as pending state...
10142
10143         * gst/gstbin.c: (gst_bin_recalc_state):
10144         use _element_continue_state() to continue the state change.
10145
10146         * gst/gstelement.c: (gst_element_continue_state),
10147         (gst_element_commit_state), (gst_element_set_state_func),
10148         (gst_element_change_state), (gst_element_change_state_func):
10149         Lots of state change cleanups, assign the STATE_RETURN in
10150         a new continue_state() function that also propagates the
10151         last return value from a state change to the app.
10152         Update some debug statements with proper category.
10153
10154 2005-11-03  Wim Taymans  <wim@fluendo.com>
10155
10156         * docs/design/part-events.txt:
10157         * docs/design/part-gstpipeline.txt:
10158         * docs/design/part-messages.txt:
10159         * docs/design/part-overview.txt:
10160         * docs/design/part-seeking.txt:
10161         * docs/design/part-states.txt:
10162         * docs/design/part-trickmodes.txt:
10163         * docs/manual/advanced-position.xml:
10164         Small docs updates.
10165
10166         * gst/gstobject.h:
10167         People think !! is ugly, this looks better.
10168
10169         * gst/gstpad.c: (gst_pad_set_blocked_async):
10170         Remove !! since it's fixed elsewhere now.
10171
10172 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
10173
10174         * gst/gstminiobject.h:
10175         * gst/gstobject.h:
10176           Add !! to _FLAG_IS_SET macros to make the result boolean.
10177
10178 2005-11-03  Edward Hervey  <edward@fluendo.com>
10179
10180         * gst/gstpad.c: (gst_pad_set_blocked_async):
10181         comparing a flag and a gboolean rarely returns coherent results...
10182         Added two characters (!!) to make that work correctly.
10183         
10184 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
10185
10186         * gst/gstbus.c: (gst_bus_class_init):
10187           Fix some typos.
10188           
10189         * gst/gstqueue.c: (gst_queue_loop):
10190           Don't assume a miniobject that isn't a buffer is an
10191           event (it could be that there is a refcounting
10192           problem somewhere and the pointer is stale and
10193           refers to an already destroyed miniobject).
10194
10195 2005-11-03  Julien MOUTTE  <julien@moutte.net>
10196
10197         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
10198
10199 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
10200
10201         * docs/manual/advanced-position.xml:
10202           Update seek example and explanations to current 0.9 API.
10203
10204         * gst/elements/gsttypefindelement.c:
10205         (gst_type_find_element_activate):
10206           Remove FIXME comment now that the found caps
10207           are unreffed.
10208
10209 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
10210
10211         * gst/gstregistryxml.c: (load_feature):
10212           Add another GST_STR_NULL instance
10213
10214 2005-11-02  Edward Hervey  <edward@fluendo.com>
10215
10216         * gst/gstpad.c: (handle_pad_block):
10217         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
10218         
10219 2005-11-02  Wim Taymans  <wim@fluendo.com>
10220
10221         * gst/gstbin.c:
10222         Fix typo in docs.
10223
10224         * gst/gstelement.c: (gst_element_commit_state):
10225         Remove unused value.
10226
10227         * gst/gstiterator.c:
10228         Mention that the returned element is reffed in the docs.
10229
10230 2005-11-02  Wim Taymans  <wim@fluendo.com>
10231
10232         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
10233         (gst_pad_push), (gst_pad_push_event):
10234         Unlock blocked pads when they are flushed.
10235
10236 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10237
10238         * docs/README:
10239         * docs/gst/gstreamer-sections.txt:
10240         * gst/gstbin.c:
10241           doc updates
10242         * gst/gstregistry.c: (gst_registry_scan_path_level):
10243           fix for a nasty little missed situation where an installed plug-in
10244           which was in the cache did not get overridden by an uninstalled one
10245           which was earlier in the plugin path because the newly created plugin
10246           for the uninstalled one (not in the registry) didn't get its
10247           ->registered set to TRUE
10248
10249 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
10250
10251         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
10252         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
10253         (gst_collectpads_is_active), (gst_collectpads_collect),
10254         (gst_collectpads_collect_range), (gst_collectpads_start),
10255         (gst_collectpads_stop), (gst_collectpads_peek),
10256         (gst_collectpads_pop), (gst_collectpads_available),
10257         (gst_collectpads_read), (gst_collectpads_flush):
10258           Guard public API with assertions.
10259         
10260         * gst/gstpad.c:
10261           Fix docs for gst_pad_set_link_function().
10262
10263 2005-11-02  Johan Dahlin  <johan@gnome.org>
10264
10265         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
10266         Unref found_caps after we used it.
10267
10268 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
10269
10270         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
10271           Don't try to ref NULL.
10272
10273 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10274
10275         * win32/common/config.h.in:
10276           provide a GST_FUNCTION that just gives a string for now
10277
10278 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10279
10280         * win32/common/gstenumtypes.c: (register_gst_object_flags),
10281         (gst_object_flags_get_type), (register_gst_bin_flags),
10282         (gst_bin_flags_get_type), (register_gst_buffer_flag),
10283         (gst_buffer_flag_get_type), (register_gst_bus_flags),
10284         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
10285         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
10286         (gst_clock_return_get_type), (register_gst_clock_entry_type),
10287         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
10288         (gst_clock_flags_get_type), (register_gst_state),
10289         (gst_state_get_type), (register_gst_state_change_return),
10290         (gst_state_change_return_get_type), (register_gst_state_change),
10291         (gst_state_change_get_type), (register_gst_element_flags),
10292         (gst_element_flags_get_type), (register_gst_core_error),
10293         (gst_core_error_get_type), (register_gst_library_error),
10294         (gst_library_error_get_type), (register_gst_resource_error),
10295         (gst_resource_error_get_type), (register_gst_stream_error),
10296         (gst_stream_error_get_type), (register_gst_event_type),
10297         (gst_event_type_get_type), (register_gst_seek_type),
10298         (gst_seek_type_get_type), (register_gst_seek_flags),
10299         (gst_seek_flags_get_type), (register_gst_format),
10300         (gst_format_get_type), (register_gst_index_certainty),
10301         (gst_index_certainty_get_type), (register_gst_index_entry_type),
10302         (gst_index_entry_type_get_type),
10303         (register_gst_index_lookup_method),
10304         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
10305         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
10306         (gst_index_resolver_method_get_type), (register_gst_index_flags),
10307         (gst_index_flags_get_type), (register_gst_debug_level),
10308         (gst_debug_level_get_type), (register_gst_debug_color_flags),
10309         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
10310         (gst_iterator_result_get_type), (register_gst_iterator_item),
10311         (gst_iterator_item_get_type), (register_gst_message_type),
10312         (gst_message_type_get_type), (register_gst_mini_object_flags),
10313         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
10314         (gst_pad_link_return_get_type), (register_gst_flow_return),
10315         (gst_flow_return_get_type), (register_gst_activate_mode),
10316         (gst_activate_mode_get_type), (register_gst_pad_direction),
10317         (gst_pad_direction_get_type), (register_gst_pad_flags),
10318         (gst_pad_flags_get_type), (register_gst_pad_presence),
10319         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
10320         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
10321         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
10322         (gst_plugin_error_get_type), (register_gst_plugin_flags),
10323         (gst_plugin_flags_get_type), (register_gst_rank),
10324         (gst_rank_get_type), (register_gst_query_type),
10325         (gst_query_type_get_type), (register_gst_tag_merge_mode),
10326         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
10327         (gst_tag_flag_get_type), (register_gst_task_state),
10328         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
10329         (gst_alloc_trace_flags_get_type),
10330         (register_gst_type_find_probability),
10331         (gst_type_find_probability_get_type), (register_gst_uri_type),
10332         (gst_uri_type_get_type), (register_gst_parse_error),
10333         (gst_parse_error_get_type):
10334         * win32/common/gstversion.h:
10335           update win32 copies
10336
10337 2005-11-01  Luca Ognibene  <luogni@tin.it>
10338
10339         * gst/gst.c:
10340           fix docs. popt is dead, long live GOption.
10341
10342 2005-10-31  Wim Taymans  <wim@fluendo.com>
10343
10344         * gst/gstbuffer.h:
10345         Small doc fix.
10346
10347 2005-10-31  Andy Wingo  <wingo@pobox.com>
10348
10349         * Boo!
10350
10351         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
10352
10353         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
10354         need to serialize property notifications on GLib 2.8. GLib 2.6 has
10355         the possibility of deadlocks here if code calling notify() or
10356         set() has a lock that can be taken in another notify handler (ABBA
10357         with class lock and e.g. python GIL state lock).
10358
10359 2005-10-28  Julien MOUTTE  <julien@moutte.net>
10360
10361         * gst/gstbus.c: Doc updates.
10362
10363 2005-10-28  Wim Taymans  <wim@fluendo.com>
10364
10365         * docs/design/part-TODO.txt:
10366         * gst/gstiterator.c:
10367         * gst/gstsystemclock.c:
10368         * gst/gstsystemclock.h:
10369         Doc updates.
10370
10371 2005-10-28  Edward Hervey  <edward@fluendo.com>
10372
10373         * docs/gst/gstreamer-docs.sgml:
10374         * docs/gst/gstreamer-sections.txt:
10375         the GstURIType documentation page is private, it only defines GstURIType
10376         which should be defined in the GstURIHandler page
10377         
10378 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
10379
10380         * gst/gstbin.c: (gst_bin_class_init):
10381         * gst/gstbin.h:
10382         * gst/gstutils.c:
10383         Documentation updates.
10384
10385 2005-10-28  Wim Taymans  <wim@fluendo.com>
10386
10387         * docs/gst/gstreamer-sections.txt:
10388         * gst/gstclock.c:
10389         * gst/gstclock.h:
10390         Documented the clocks.
10391
10392 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
10393
10394         * docs/gst/gstreamer-sections.txt:
10395           move some macros to private sections
10396         * gst/gstminiobject.c:
10397         * gst/gstminiobject.h:
10398           add descriptions provided by ds and some more
10399         * gst/gstpad.h:
10400           mark macro as to be removed
10401
10402 2005-10-28  Wim Taymans  <wim@fluendo.com>
10403
10404         * docs/design/part-TODO.txt:
10405         Add an item to TODO.
10406
10407         * gst/gstiterator.c: (gst_iterator_fold),
10408         (gst_iterator_find_custom):
10409         * gst/gstiterator.h:
10410         Add iterator docs.
10411
10412 2005-10-28  Wim Taymans  <wim@fluendo.com>
10413
10414         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
10415         (gst_base_transform_init):
10416         Don't leak class.
10417
10418         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
10419         An EOS event marks the queue as completely filled.
10420
10421 2005-10-27  Wim Taymans  <wim@fluendo.com>
10422
10423         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10424         (gst_base_sink_do_sync), (gst_base_sink_get_position):
10425         Some more debugging.
10426
10427         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
10428         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
10429         (gst_base_transform_event), (gst_base_transform_getrange),
10430         (gst_base_transform_chain):
10431         * gst/base/gstbasetransform.h:
10432         Fix debugging,
10433         Protect transform and concurrent buffer alloc with a new lock.
10434         Try not to break ABI/API.
10435
10436 2005-10-27  Wim Taymans  <wim@fluendo.com>
10437
10438         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
10439         (gst_base_src_init), (gst_base_src_query),
10440         (gst_base_src_default_newsegment),
10441         (gst_base_src_configure_segment), (gst_base_src_do_seek),
10442         (gst_base_src_send_event), (gst_base_src_event_handler),
10443         (gst_base_src_pad_get_range), (gst_base_src_loop),
10444         (gst_base_src_unlock), (gst_base_src_default_negotiate),
10445         (gst_base_src_start), (gst_base_src_deactivate),
10446         (gst_base_src_activate_push), (gst_base_src_change_state):
10447         Move some stuff around and cleanup things.
10448
10449 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
10450
10451         * gst/base/gstbasesrc.c: (gst_base_src_query):
10452           Add missing break statements.
10453
10454 2005-10-27  Wim Taymans  <wim@fluendo.com>
10455
10456         * check/gst/gstbin.c: (GST_START_TEST):
10457         An extra refcount is taken in basesrc.
10458
10459         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
10460         (gst_base_src_get_range), (gst_base_src_pad_get_range),
10461         (gst_base_src_loop):
10462         Small cleanups, check for flushing after being unlocked from the 
10463         LIVE_LOCK. take refcounts correctly (not yet everywhere).
10464         Don't send out EOS when going to READY.
10465
10466 2005-10-27  Wim Taymans  <wim@fluendo.com>
10467
10468         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10469         (gst_base_sink_get_position):
10470         Some more debug.
10471
10472         * gst/gstbin.c: (message_check), (bin_replace_message),
10473         (bin_remove_messages), (is_eos), (gst_bin_add_func),
10474         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
10475         (bin_query_duration_init), (bin_query_duration_fold),
10476         (bin_query_duration_done), (bin_query_generic_fold),
10477         (gst_bin_query):
10478         * tools/gst-launch.c: (main):
10479         Remove old option.
10480
10481 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
10482
10483         * examples/controller/audio-example.c: (main):
10484         * examples/queue/queue.c: (event_loop):
10485         * gst/base/gstbasetransform.h:
10486         * gst/gstelement.c: (gst_element_send_event):
10487         * gst/gstevent.h:
10488         * gst/gstpad.c: (gst_pad_send_event):
10489           fixing examples
10490           fixing docs typos
10491           changing log priority in error situations
10492
10493 2005-10-25  Wim Taymans  <wim@fluendo.com>
10494
10495         * gst/gstbin.c: (message_check), (bin_replace_message),
10496         (bin_remove_messages), (is_eos), (gst_bin_add_func),
10497         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
10498         (bin_query_duration_init), (bin_query_duration_fold),
10499         (bin_query_duration_done), (bin_query_generic_fold),
10500         (gst_bin_query):
10501         Some doc and debug updates.
10502         Cache previously requested query DURATION for speed. invalidate
10503         cached duration if element posts a DURATION message.
10504
10505 2005-10-25  Wim Taymans  <wim@fluendo.com>
10506
10507         * docs/design/part-TODO.txt:
10508         Update TODO.
10509
10510         * gst/gstbin.c: (message_check), (bin_replace_message),
10511         (bin_remove_messages), (is_eos), (gst_bin_add_func),
10512         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
10513         (bin_query_duration_init), (bin_query_duration_fold),
10514         (bin_query_duration_done), (bin_query_generic_fold),
10515         (gst_bin_query):
10516         Handle SEGMENT_START/DONE messages correctly.
10517         More evolved query algorithm that handles duration queries
10518         correctly.
10519
10520         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
10521         (gst_element_get_state_func), (gst_element_abort_state),
10522         (gst_element_commit_state), (gst_element_lost_state):
10523         Some more debugging.
10524
10525         * gst/gstmessage.h:
10526         Added doc.
10527
10528 2005-10-25  Wim Taymans  <wim@fluendo.com>
10529
10530         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
10531         Don't use invalid stream_time.
10532
10533         * gst/gstevent.c: (gst_event_new_newsegment):
10534         stream_time in newsegment cannot be undefined.
10535
10536 2005-10-24  Wim Taymans  <wim@fluendo.com>
10537
10538         * gst/gstbus.c:
10539         Doc fix.
10540
10541         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
10542         (gst_queue_loop):
10543         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
10544
10545 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
10546
10547         * docs/libs/tmpl/gstdparam.sgml:
10548         * docs/libs/tmpl/gstdplinint.sgml:
10549         * docs/libs/tmpl/gstdpman.sgml:
10550         * docs/libs/tmpl/gstdpsmooth.sgml:
10551         * docs/libs/tmpl/gstunitconvert.sgml:
10552           these are obsolete
10553
10554 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
10555
10556         * configure.ac:
10557           back to HEAD
10558
10559 === release 0.9.4 ===
10560
10561 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
10562
10563         * configure.ac:
10564           releasing 0.9.4, "Tyrannosaurus Rex"
10565
10566 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
10567
10568         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
10569         (gst_file_sink_get_current_offset):
10570           Use fseeko() and ftello() if available. When falling back on
10571           lseek() to get the current offset, fflush() first to make sure
10572           everything is up-to-date and we get the right offset.
10573
10574 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
10575
10576         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
10577         * gst/base/gstbasesrc.c: (gst_base_src_loop):
10578         * gst/gsterror.c: (_gst_stream_errors_init):
10579         * gst/gsterror.h:
10580         * gst/gstqueue.c: (gst_queue_loop):
10581         * po/POTFILES.in:
10582           remove prematurely added error category and clean up the instances
10583
10584 2005-10-21  Wim Taymans  <wim@fluendo.com>
10585
10586         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
10587         (gst_base_sink_get_position), (gst_base_sink_query),
10588         (gst_base_sink_change_state):
10589         Simply set the right flag when going to playing, that's all
10590         we need to do instead of calling a function inside the object
10591         lock (that could take the lock as well and deadlock)
10592
10593 2005-10-21  Wim Taymans  <wim@fluendo.com>
10594
10595         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
10596         (gst_base_src_loop):
10597         Don't warn, the peer element knows what to do best when
10598         the seek failed, it might try something else.
10599
10600 2005-10-21  Wim Taymans  <wim@fluendo.com>
10601
10602         * gst/base/gstbasesrc.c: (gst_base_src_init),
10603         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
10604         Fix seeking.
10605
10606 2005-10-21  Wim Taymans  <wim@fluendo.com>
10607
10608         * docs/design/part-segments.txt:
10609         More docs.
10610
10611         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
10612         Correctly set caps, even on the subbufer.
10613
10614 2005-10-21  Wim Taymans  <wim@fluendo.com>
10615
10616         * docs/gst/gstreamer-docs.sgml:
10617         * docs/gst/gstreamer-sections.txt:
10618         * gst/gstelement.h:
10619         * gst/gstevent.c:
10620         * gst/gstevent.h:
10621         * gst/gstmessage.h:
10622         * gst/gstpad.h:
10623         * gst/gstparse.h:
10624         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
10625         * gst/gsttask.h:
10626         * gst/gstutils.c:
10627         * gst/gstutils.h:
10628         And 2% more doc coverage.
10629
10630 2005-10-21  Andy Wingo  <wingo@pobox.com>
10631
10632         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
10633         position reporting.
10634
10635 2005-10-20  Wim Taymans  <wim@fluendo.com>
10636
10637         * gst/gsterror.c: (gst_error_get_message):
10638         * gst/gstparse.h:
10639         * gst/gstquery.h:
10640         * gst/gststructure.c:
10641         * gst/gsttrace.c:
10642         * gst/gstutils.c:
10643         More docs.
10644
10645 2005-10-20  Wim Taymans  <wim@fluendo.com>
10646
10647         * gst/gstbuffer.h:
10648         * gst/gstpad.c:
10649         * gst/gstparse.c:
10650         Another 1% more coverage.
10651
10652 2005-10-20  Wim Taymans  <wim@fluendo.com>
10653
10654         * docs/gst/gstreamer-sections.txt:
10655         * gst/gstelement.c: (gst_element_get_state_func),
10656         (gst_element_abort_state), (gst_element_commit_state),
10657         (gst_element_lost_state):
10658         * gst/gstevent.h:
10659         * gst/gstquery.c: (gst_query_set_position),
10660         (gst_query_parse_position), (gst_query_set_duration),
10661         (gst_query_parse_duration), (gst_query_new_convert):
10662         * gst/gstutils.c:
10663         Yay! 1% more docs coverage.
10664
10665 2005-10-20  Wim Taymans  <wim@fluendo.com>
10666
10667         * gst/gstpad.h:
10668         * gst/gstquery.c: (gst_query_set_position),
10669         (gst_query_parse_position), (gst_query_set_duration),
10670         (gst_query_parse_duration), (gst_query_new_convert):
10671         * gst/gstquery.h:
10672         * gst/gstutils.c: (gst_element_query_convert):
10673         * gst/gstutils.h:
10674         Docs and consistency fixes.
10675
10676 2005-10-20  Wim Taymans  <wim@fluendo.com>
10677
10678         * gst/gsttask.c:
10679         * gst/gsttask.h:
10680         More docs.
10681
10682 2005-10-20  Wim Taymans  <wim@fluendo.com>
10683
10684         * gst/gstbin.c: (message_check), (bin_replace_message),
10685         (bin_remove_messages), (is_eos), (gst_bin_add_func),
10686         (update_degree), (gst_bin_sort_iterator_next),
10687         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
10688         Reworked the message handling a bit, cache the messages instead of
10689         only the senders. alows us to do more in the future.
10690
10691 2005-10-20  Wim Taymans  <wim@fluendo.com>
10692
10693         * docs/design/part-TODO.txt:
10694         Update TODO
10695
10696         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
10697         (gst_base_sink_query):
10698         Don't use clock time to report position when in EOS.
10699
10700 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
10701
10702         * tools/gst-inspect.c: (print_interfaces),
10703         (print_element_properties_info), (print_element_info):
10704           Fix interface output with gst-inspect -a; don't print
10705           newlines after double/float properties.
10706
10707 2005-10-20  Wim Taymans  <wim@fluendo.com>
10708
10709         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
10710         (gst_base_sink_query):
10711         Speed up current position calculation.
10712
10713         * gst/base/gstbasesrc.c: (gst_base_src_query),
10714         (gst_base_src_default_newsegment):
10715         Correctly set stream position in newsegment.
10716
10717         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
10718         (update_degree), (gst_bin_sort_iterator_next),
10719         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
10720         * gst/gstmessage.c: (gst_message_new_custom):
10721         Clean up debugging info
10722
10723         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
10724         (gst_queue_loop), (gst_queue_handle_src_query):
10725         Pause task faster.
10726
10727 2005-10-19  Wim Taymans  <wim@fluendo.com>
10728
10729         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
10730         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
10731         Fix query handling again.
10732
10733 2005-10-19  Wim Taymans  <wim@fluendo.com>
10734
10735         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
10736         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
10737         * gst/base/gstbasesrc.c: (gst_base_src_query):
10738         * gst/elements/gstfilesink.c: (gst_file_sink_query):
10739         * gst/elements/gsttypefindelement.c:
10740         (gst_type_find_handle_src_query), (find_element_get_length),
10741         (gst_type_find_element_activate):
10742         API change fix.
10743
10744         * gst/gstquery.c: (gst_query_new_position),
10745         (gst_query_set_position), (gst_query_parse_position),
10746         (gst_query_new_duration), (gst_query_set_duration),
10747         (gst_query_parse_duration), (gst_query_set_segment),
10748         (gst_query_parse_segment):
10749         * gst/gstquery.h:
10750         Bundling query position/duration is not a good idea since duration
10751         does not change much and we don't want to recalculate it for every
10752         position query, so they are separated again..
10753         Base value in segment query is not needed.
10754
10755         * gst/gstqueue.c: (gst_queue_handle_src_query):
10756         * gst/gstutils.c: (gst_element_query_position),
10757         (gst_element_query_duration), (gst_pad_query_position),
10758         (gst_pad_query_duration):
10759         * gst/gstutils.h:
10760         Updates for query API change.
10761         Added some docs here and there.
10762
10763 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10764
10765         * check/gst/gstbin.c: (GST_START_TEST):
10766         * check/gst/gstghostpad.c: (GST_START_TEST):
10767         * check/pipelines/cleanup.c: (GST_START_TEST):
10768           wait on thread to die so we can check refcount correctly
10769
10770 2005-10-18  Wim Taymans  <wim@fluendo.com>
10771
10772         * check/pipelines/stress.c: (GST_START_TEST):
10773         Make check a little more time consuming.
10774
10775 2005-10-18  Wim Taymans  <wim@fluendo.com>
10776
10777         * check/Makefile.am:
10778         * check/pipelines/stress.c: (GST_START_TEST),
10779         (simple_launch_lines_suite), (main):
10780         Small state change torture test.
10781
10782         * docs/design/part-states.txt:
10783         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
10784         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
10785         (gst_base_sink_change_state):
10786         Never take state lock from streaming thread, clean up ugly
10787         hacks. Unfortunatly core does not yet support nice ways to
10788         async commit state.
10789         
10790         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
10791         (bin_bus_handler):
10792         Start state recalc if a STATE_DIRTY message is posted, but only
10793         on the toplevel bin.
10794
10795         * gst/gstelement.c: (gst_element_sync_state_with_parent),
10796         (gst_element_get_state_func), (gst_element_abort_state),
10797         (gst_element_commit_state), (gst_element_lost_state),
10798         (gst_element_set_state_func), (gst_element_change_state):
10799         * gst/gstelement.h:
10800         State variables are now protected with the LOCK, the state
10801         lock is only used to serialize _set_state().
10802
10803 2005-10-18  Wim Taymans  <wim@fluendo.com>
10804
10805         * check/gst/gstbin.c: (GST_START_TEST):
10806         * check/gst/gstmessage.c: (GST_START_TEST):
10807         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
10808         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
10809         (bin_bus_handler):
10810         * gst/gstelement.c: (gst_element_abort_state),
10811         (gst_element_commit_state), (gst_element_lost_state):
10812         * gst/gstmessage.c: (gst_message_new_state_changed),
10813         (gst_message_new_state_dirty), (gst_message_new_segment_start),
10814         (gst_message_new_segment_done), (gst_message_new_duration),
10815         (gst_message_parse_state_changed),
10816         (gst_message_parse_segment_start),
10817         (gst_message_parse_segment_done), (gst_message_parse_duration):
10818         * gst/gstmessage.h:
10819         * tools/gst-launch.c: (event_loop):
10820         Seriously, this is better than a previous commit as we only need
10821         to notify the fact that an element changed state in a streaming
10822         thread, marking the state of the parents dirty, hence the 
10823         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
10824         message.
10825
10826 2005-10-18  Wim Taymans  <wim@fluendo.com>
10827
10828         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
10829         (gst_bin_recalc_func):
10830         * gst/gstelement.c: (gst_element_set_clock),
10831         (gst_element_abort_state), (gst_element_lost_state):
10832         Cleanups, prepare for state change fixes.
10833
10834 2005-10-18  Wim Taymans  <wim@fluendo.com>
10835
10836         * gst/gstbin.h:
10837         * gst/gstelement.c: (gst_element_class_init),
10838         (gst_element_set_state), (gst_element_set_state_func):
10839         * gst/gstelement.h:
10840         Pending ABI changes.
10841         GThreadPool in GstBinClass to monitor async state changes.
10842         state_cookie in GstElement to detect concurrent gst/set state.
10843         set_state is now virtual too in case a very complicated element
10844         has to be constructed.
10845
10846 2005-10-18  Wim Taymans  <wim@fluendo.com>
10847
10848         * check/gst/gstbin.c: (GST_START_TEST):
10849         * check/gst/gstmessage.c: (GST_START_TEST):
10850         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
10851         * gst/gstbin.c: (bin_bus_handler):
10852         * gst/gstelement.c: (gst_element_commit_state),
10853         (gst_element_lost_state):
10854         * gst/gstmessage.c: (gst_message_new_state_changed),
10855         (gst_message_new_segment_start), (gst_message_new_segment_done),
10856         (gst_message_new_duration), (gst_message_parse_state_changed),
10857         (gst_message_parse_segment_start),
10858         (gst_message_parse_segment_done), (gst_message_parse_duration):
10859         * gst/gstmessage.h:
10860         * tools/gst-launch.c: (event_loop):
10861         Make messages future proof.
10862         state-change gets a flag if it was a message comming from the
10863         streaming thread.
10864         segment-start/stop can also be specified in other formats.
10865         A message to notify an app that a pipeline changed playback 
10866         duration.
10867         Also fix a GstMessage leak in -launch
10868
10869 2005-10-18  Andy Wingo  <wingo@pobox.com>
10870
10871         * gst/gstelement.c (gst_element_dispose): More helpful message.
10872
10873 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
10874
10875         reviewed by: <delete if not using a buddy>
10876
10877         * common/gtk-doc.mak:
10878
10879 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
10880
10881         * gst/gstregistry.c: (gst_registry_scan_path_level):
10882           unref a plug-in we get that was already initialized
10883
10884 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
10885
10886         * docs/gst/gstreamer-sections.txt:
10887         * docs/libs/gstreamer-libs-sections.txt:
10888         * gst/gstelement.h:
10889           add new api entries
10890           hide internal macro
10891
10892 2005-10-17  Andy Wingo  <wingo@pobox.com>
10893
10894         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
10895         cleanup.
10896
10897         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
10898
10899         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
10900
10901         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
10902         (gst_element_get_state_func): Better debug message.
10903         (gst_element_commit_state): s/INFO/DEBUG/.
10904         (gst_element_lost_state, gst_element_change_state): 
10905
10906         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
10907         (gst_message_new_custom): s/INFO/LOG/.
10908
10909 2005-10-17  Michael Smith <msmith@fluendo.com>
10910
10911         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
10912           Check if end time is valid using end time, not start time.
10913
10914 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
10915
10916         * check/gst-libs/controller.c: (GST_START_TEST),
10917         (gst_controller_suite):
10918         * libs/gst/controller/gstcontroller.c:
10919         (gst_controlled_property_set_interpolation_mode):
10920         * libs/gst/controller/gstcontroller.h:
10921         * libs/gst/controller/gstinterpolation.c:
10922         * testsuite/controller/.cvsignore:
10923         * testsuite/controller/Makefile.am:
10924         * testsuite/controller/interpolator.c:
10925           merge controller testsuites
10926           fix broken tests
10927           remove mem-chunk from docs
10928
10929 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
10930
10931         * gst/gstmemchunk.c:
10932         * gst/gstmemchunk.h:
10933         * gst/gsttrashstack.c:
10934         * gst/gsttrashstack.h:
10935           out.  get out.  you're fired.  to the Attic !
10936
10937 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
10938
10939         * gst/gstcaps.c: (gst_caps_intersect):
10940           fix signedness issues in a (hopefully) correct way
10941         * gst/gstelement.c: (gst_element_pads_activate):
10942           some debugging
10943         * gst/gstobject.c: (gst_object_set_parent):
10944           some debugging
10945
10946 2005-10-17  Julien MOUTTE  <julien@moutte.net>
10947
10948         * gst/gstvalue.h: Fix prototypes.
10949
10950 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
10951
10952         * docs/gst/gstreamer-sections.txt:
10953         * gst/gst.c: (gst_version_string):
10954         * gst/gst.h:
10955         * gst/gstversion.h.in:
10956         * win32/common/libgstreamer.def:
10957           add gst_version_string ()
10958
10959 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
10960
10961         * configure.ac:
10962           clean up further
10963         * gst/gst.c: (init_post):
10964         * win32/common/config.h.in:
10965           it's PLUGINDIR now
10966         * gst/gstcaps.c: (gst_caps_intersect):
10967           use gint64, the range could be bigger than a guint
10968
10969 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
10970
10971         * gst/gstclock.h:
10972           document potential problem in 2038
10973
10974 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
10975
10976         * gst/gstcaps.c: (gst_caps_intersect):
10977           Fix guint j diving under 0
10978
10979 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
10980
10981         * configure.ac:
10982         * win32/common/config.h:
10983         * win32/common/config.h.in:
10984           check for process.h, declares getpid() on Windows
10985         * gst/gstinfo.c:
10986           include process.h if we have it
10987         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
10988         * gst/gstmemchunk.h:
10989           fix signedness issues
10990         * win32/common/libgstreamer.def:
10991           fix get_type's
10992
10993 2005-10-16  Julien MOUTTE  <julien@moutte.net>
10994
10995         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
10996         fix. Because of unsigned ints, caps intersection was going nuts and
10997         trying to access structures with G_MAXUINT index. That fixes
10998         videotestsrc ! ffmpegcolorspace ! fakesink
10999         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
11000         consistency.
11001
11002 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
11003
11004         * configure.ac:
11005           use the gettext macro
11006         * gst/elements/gstelements.c:
11007         * gst/gst.c:
11008         * gst/indexers/gstindexers.c:
11009           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
11010         * win32/common/config.h:
11011           updated config.h
11012         * win32/common/config.h.in:
11013           add the template to generate config.h
11014         * win32/common/gstenumtypes.c:
11015         * win32/common/gstversion.h:
11016           updated copies
11017
11018 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
11019
11020         * gst/gst.c: (gst_version):
11021         * gst/gstversion.h.in:
11022           add the nano
11023
11024 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
11025
11026         * gst/gstevent.h:
11027           Oops, add missing closing bracket.
11028
11029 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
11030
11031         * configure.ac:
11032           use common m4's for argument checking
11033
11034 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
11035
11036         * docs/gst/gstreamer-sections.txt:
11037         * gst/gstevent.h:
11038           Add GST_EVENT_TYPE_NAME() macro.
11039
11040 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
11041
11042         * gst/gstinfo.c:
11043         * gst/gstpluginfeature.c:
11044         * gst/gsttask.c:
11045           privatize more symbols
11046
11047 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
11048
11049         * configure.ac:
11050           add srcdir, builddir includes to GST_ALL_CFLAGS, since
11051           everything that uses GStreamer API should have the includes
11052
11053 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
11054
11055         * docs/gst/gstreamer-sections.txt:
11056         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
11057         * gst/gstvalue.h:
11058           give each value a _get_type, removes the DATA exports
11059
11060 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
11061
11062         * gst/gst.c:
11063         * gst/gst.h:
11064           remove _gst_registry_auto_load, not used anymore
11065         * gst/gstbin.c: (gst_bin_get_type):
11066         * gst/gstbin.h:
11067         * gst/gstelement.c: (gst_element_get_type):
11068         * gst/gstelement.h:
11069         * gst/gstobject.c: (gst_object_get_type):
11070         * gst/gstobject.h:
11071         * gst/gstpad.c: (gst_pad_get_type):
11072         * gst/gstpad.h:
11073           make _get_type functions similar, fixes data export from library
11074
11075 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
11076
11077         * configure.ac:
11078           correctly make conditionals
11079         * gst/elements/Makefile.am:
11080         * gst/elements/gstelements.c:
11081           fix typo causing fdsrc not to build
11082
11083 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
11084
11085         * testsuite/Makefile.am:
11086         * testsuite/bytestream/.cvsignore:
11087         * testsuite/bytestream/Makefile.am:
11088         * testsuite/bytestream/filepadsink.c:
11089         * testsuite/bytestream/gstbstest.c:
11090         * testsuite/bytestream/test1.c:
11091         * testsuite/bytestream/testfile1:
11092         * testsuite/caps/normalisation.c:
11093         * testsuite/caps/random.c: (main):
11094         * testsuite/cleanup/.cvsignore:
11095         * testsuite/cleanup/Makefile.am:
11096         * testsuite/cleanup/cleanup1.c:
11097         * testsuite/cleanup/cleanup2.c:
11098         * testsuite/cleanup/cleanup3.c:
11099         * testsuite/cleanup/cleanup4.c:
11100         * testsuite/cleanup/cleanup5.c:
11101         * testsuite/controller/interpolator.c:
11102         * testsuite/debug/printf_extension.c: (main):
11103         * testsuite/elements/tee.c:
11104         * testsuite/negotiation/.cvsignore:
11105         * testsuite/negotiation/Makefile.am:
11106         * testsuite/negotiation/pad_link.c:
11107         * testsuite/pad/Makefile.am:
11108         * testsuite/pad/chainnopull.c:
11109         * testsuite/pad/getnopush.c:
11110         * testsuite/pad/link.c:
11111         * testsuite/refcounting/sched.c: (create_pipeline):
11112         * testsuite/registry/Makefile.am:
11113         * testsuite/registry/gst-print-formats.c:
11114         * testsuite/schedulers/.cvsignore:
11115         * testsuite/schedulers/142183-2.c:
11116         * testsuite/schedulers/142183.c:
11117         * testsuite/schedulers/143777-2.c:
11118         * testsuite/schedulers/143777.c:
11119         * testsuite/schedulers/147713.c:
11120         * testsuite/schedulers/147819.c:
11121         * testsuite/schedulers/147894-2.c:
11122         * testsuite/schedulers/147894.c:
11123         * testsuite/schedulers/Makefile.am:
11124         * testsuite/schedulers/group_link.c:
11125         * testsuite/schedulers/queue_link.c:
11126         * testsuite/schedulers/relink.c:
11127         * testsuite/schedulers/unlink.c:
11128         * testsuite/schedulers/unref.c:
11129         * testsuite/schedulers/useless_iteration.c:
11130         * testsuite/states/bin.c:
11131           clean out/remove some stuff from the testsuite directories
11132
11133 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
11134
11135         * configure.ac:
11136           check for some headers
11137         * gst/elements/Makefile.am:
11138         * gst/elements/gstelements.c:
11139           don't compile fdsrc without sys/socket.h
11140         * gst/indexers/Makefile.am:
11141         * gst/indexers/gstindexers.c: (plugin_init):
11142           don't compile fileindex without mmap
11143
11144 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
11145
11146         * configure.ac:
11147           reorganize
11148           clean up
11149           document more
11150           remove cruft
11151         * check/Makefile.am:
11152         * docs/gst/Makefile.am:
11153         * examples/helloworld/Makefile.am:
11154         * gst/Makefile.am:
11155         * gst/base/Makefile.am:
11156         * gst/check/Makefile.am:
11157         * gst/elements/Makefile.am:
11158         * gst/indexers/Makefile.am:
11159         * gst/parse/Makefile.am:
11160         * libs/gst/controller/Makefile.am:
11161         * libs/gst/dataprotocol/Makefile.am:
11162         * examples/helloworld/helloworld.c: (event_loop):
11163           compile fixes, though it's not being compiled currently
11164
11165 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
11166
11167         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
11168           Add some simple tests for the new taglist date API.
11169
11170 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
11171
11172         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
11173         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
11174           Beautify 'last-message' output: print 'none' for buffer timestamps
11175           and durations if none is set; improve alignment with next messages.
11176
11177 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
11178
11179         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
11180         * gst/gstpluginfeature.h:
11181         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
11182         * gst/gstregistry.h:
11183         * docs/gst/gstreamer-sections.txt:
11184           Add new API to check plugin feature version requirements.
11185
11186         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
11187           Some basic tests for the above.         
11188
11189 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11190
11191         * gst/gststructure.c: (gst_structure_to_string):
11192           guard against NULL printf - happens when for example
11193           a message structure with GstClock gets serialized
11194
11195 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
11196
11197         * gst/base/gstcollectpads.c: (gst_collectpads_event):
11198           Fix presumable copy'n'pasto.
11199
11200 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11201
11202         * gst/elements/gstfakesrc.h:
11203         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
11204         * gst/elements/gsttypefindelement.c:
11205           fix some signedness
11206         * gst/elements/gstfilesink.c: (gst_file_sink_render):
11207           I wonder if this could actually write +2GB files before
11208
11209 2005-10-13  Andy Wingo  <wingo@pobox.com>
11210
11211         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
11212         Fix Timmeke Waymans bug.
11213         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
11214         string of the proper length to gst_caps_from_string. There's a
11215         potential for, before this fix, that this could cause someone
11216         connecting over the network to cause a segfault if the payload is
11217         not NUL-terminated.
11218
11219 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
11220
11221         * docs/design/draft-push-pull.txt:
11222         * docs/design/part-overview.txt:
11223         * docs/random/TODO-pre-0.9:
11224         * docs/random/old/ChangeLog.gstreamer:
11225         * gst/base/gstpushsrc.c:
11226         * gst/gstclock.c:
11227           fixed typos
11228
11229 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11230
11231         * gst/glib-compat.c: (gst_flags_get_first_value):
11232         * gst/glib-compat.h:
11233         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
11234         (gst_value_compare_double), (gst_value_serialize_flags):
11235           GLib 2.6 g_flags_get_first_value has a bug that triggers an
11236           infinite loop
11237
11238 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11239
11240         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
11241         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
11242           fix up debugging
11243         * tools/gst-launch.c: (event_loop):
11244           print out clock nicely
11245
11246 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
11247
11248         * docs/gst/gstreamer-sections.txt:
11249         * gst/gsttaglist.h:
11250         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
11251         (gst_tag_list_get_date_index):
11252           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
11253           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
11254
11255 2005-10-13  Julien MOUTTE  <julien@moutte.net>
11256
11257         * gst/base/gstcollectpads.c: (gst_collectpads_event),
11258         (gst_collectpads_chain):
11259         * gst/base/gstcollectpads.h: Handle newsegment and store informations
11260         in CollectData.
11261
11262 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
11263
11264         * docs/gst/gstreamer-sections.txt:
11265         * gst/gst.c:
11266         * gst/gsterror.h:
11267         * tools/gst-inspect.c: (main):
11268         * tools/gst-launch.c: (main):
11269         * tools/gst-run.c: (main):
11270         * tools/gst-xmlinspect.c: (main):
11271           fix GOption context leaks
11272           doc fixes
11273
11274 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11275
11276         * gst/gstbus.c:
11277           use HAVE_UNISTD_H
11278         * win32/common/config.h:
11279           update config
11280         * win32/vs6/grammar.dsp:
11281         * win32/vs6/libgstelements.dsp:
11282         * win32/vs6/libgstreamer.dsp:
11283           update vs6 files
11284
11285 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11286
11287         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
11288         * gst/base/gstbasesrc.c: (gst_base_src_query):
11289           fix more guint64<->gdouble conversions
11290
11291 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11292
11293         * Makefile.am:
11294           add win32-update target
11295         * win32/common/gstconfig.h:
11296         * win32/common/gstenumtypes.c:
11297         * win32/common/gstenumtypes.h:
11298         * win32/common/gstversion.h:
11299           add files that visual studio can't generate
11300
11301 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11302
11303         * Makefile.am:
11304           add a win32-update target
11305         * configure.ac:
11306
11307 2005-10-12  Wim Taymans  <wim@fluendo.com>
11308
11309         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
11310         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
11311         * gst/gstelement.c: (gst_element_commit_state),
11312         (gst_element_set_state):
11313         Protect flags with proper lock.
11314         unref provided cached clock in dispose.
11315
11316 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
11317
11318         * gst/gst.c:
11319         * gst/gstminiobject.h:
11320         * gst/gstpad.h:
11321         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
11322           removed unused flags from miniobject
11323           doc fixes
11324
11325 2005-10-12  Wim Taymans  <wim@fluendo.com>
11326
11327         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
11328         (gst_file_sink_event), (gst_file_sink_render):
11329         Flush before seeking.
11330
11331 2005-10-12  Andy Wingo  <wingo@pobox.com>
11332
11333         * gst/gst.c (gst_init_check): Ignore unknown options, as has
11334         always been the case.
11335
11336 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
11337
11338         * check/gst/gstbin.c: (GST_START_TEST):
11339         * docs/gst/gstreamer-sections.txt:
11340         * gst/base/gstbasesink.c: (gst_base_sink_init):
11341         * gst/base/gstbasesrc.c: (gst_base_src_init),
11342         (gst_base_src_get_range), (gst_base_src_check_get_range),
11343         (gst_base_src_start), (gst_base_src_stop):
11344         * gst/base/gstbasesrc.h:
11345         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
11346         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
11347         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
11348         (bin_bus_handler):
11349         * gst/gstbin.h:
11350         * gst/gstbuffer.h:
11351         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
11352         * gst/gstbus.h:
11353         * gst/gstelement.c: (gst_element_is_locked_state),
11354         (gst_element_set_locked_state), (gst_element_commit_state),
11355         (gst_element_set_state):
11356         * gst/gstelement.h:
11357         * gst/gstindex.c: (gst_index_init):
11358         * gst/gstindex.h:
11359         * gst/gstminiobject.h:
11360         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
11361         (gst_object_set_parent):
11362         * gst/gstobject.h:
11363         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
11364         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
11365         * gst/gstpad.h:
11366         * gst/gstpadtemplate.h:
11367         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
11368         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
11369         * gst/gstpipeline.h:
11370         * gst/indexers/gstfileindex.c: (gst_file_index_load),
11371         (gst_file_index_commit):
11372         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
11373         * testsuite/pad/link.c: (gst_test_src_init),
11374         (gst_test_filter_init), (gst_test_sink_init):
11375         * testsuite/states/locked.c: (main):
11376           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
11377           moved bitshift from macro to enum definition
11378
11379 2005-10-12  Wim Taymans  <wim@fluendo.com>
11380
11381         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
11382         * gst/elements/gstfilesink.c: (gst_file_sink_event),
11383         (gst_file_sink_render):
11384         Some more debugging info.
11385
11386 2005-10-12  Wim Taymans  <wim@fluendo.com>
11387
11388         * docs/design/part-states.txt:
11389         * tools/gst-launch.c: (main):
11390         Some doc updates.
11391         Revert non-intentional change.
11392
11393 2005-10-12  Wim Taymans  <wim@fluendo.com>
11394
11395         * check/gst/gstbin.c: (GST_START_TEST):
11396         * check/gst/gstelement.c: (GST_START_TEST):
11397         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
11398         * check/gst/gstghostpad.c: (GST_START_TEST):
11399         * check/gst/gstpipeline.c: (GST_START_TEST):
11400         * check/pipelines/simple_launch_lines.c: (run_pipeline):
11401         * check/states/sinks.c: (GST_START_TEST):
11402         * gst/elements/gsttypefindelement.c: (stop_typefinding):
11403         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
11404         (gst_bin_remove_func), (gst_bin_get_state_func),
11405         (gst_bin_recalc_state), (gst_bin_change_state_func),
11406         (bin_bus_handler):
11407         * gst/gstelement.c: (gst_element_get_state_func),
11408         (gst_element_get_state), (gst_element_abort_state),
11409         (gst_element_commit_state), (gst_element_set_state),
11410         (gst_element_change_state), (gst_element_change_state_func):
11411         * gst/gstelement.h:
11412         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
11413         (gst_pipeline_provide_clock_func):
11414         * gst/gstutils.c: (gst_element_link_pads_filtered):
11415         * tools/gst-launch.c: (main):
11416         * tools/gst-typefind.c: (main):
11417         Use GstClockTime in _get_state() instead of GTimeVal.
11418         Remove old code in gstutils.c
11419
11420 2005-10-12  Andy Wingo  <wingo@pobox.com>
11421
11422         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
11423         removed.
11424
11425         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
11426         there is no task. Shouldn't affect any code, as nothing in our
11427         plugins checks this return value.
11428         (gst_pad_stop_task): Also take the stream lock if the pad has no
11429         task. Docs updated.
11430
11431 2005-10-12  Wim Taymans  <wim@fluendo.com>
11432
11433         * gst/gstpad.c: (pre_activate), (post_activate),
11434         (gst_pad_activate_pull), (gst_pad_activate_push):
11435         Cleanup activation code. Reset old state if
11436         activation failed.
11437
11438 2005-10-12  Wim Taymans  <wim@fluendo.com>
11439
11440         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
11441         (gst_base_sink_change_state):
11442         No need to prerol after receiving EOS.
11443
11444         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
11445         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
11446         * gst/elements/gstidentity.c: (gst_identity_event):
11447         Print events more verbosely.
11448
11449 2005-10-12  Wim Taymans  <wim@fluendo.com>
11450
11451         * check/Makefile.am:
11452         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
11453         * check/states/sinks2.c:
11454         Moved sinks2 testcode in sinks check.
11455
11456         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
11457         (gst_bin_remove_func), (gst_bin_recalc_state),
11458         (gst_bin_change_state_func), (bin_bus_handler):
11459         Fix potential race condition when _get_state() iterated over an
11460         ASYNC element right before it posted a state completion.
11461
11462         * gst/gstclock.h:
11463         Do proper cast here.
11464
11465         * gst/gstevent.c: (gst_event_new_newsegment),
11466         (gst_event_parse_newsegment):
11467         A playback rate of 0.0 is not allowed.
11468
11469 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11470
11471         * win32/common/config.h:
11472         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
11473         (_trewinddir), (_ttelldir), (_tseekdir):
11474         * win32/common/dirent.h:
11475         * win32/common/gtchar.h:
11476         * win32/common/libgstbase.def:
11477         * win32/common/libgstreamer.def:
11478         * win32/vs6/grammar.dsp:
11479         * win32/vs6/gst_inspect.dsp:
11480         * win32/vs6/gst_launch.dsp:
11481         * win32/vs6/gstreamer.dsw:
11482         * win32/vs6/libgstbase.dsp:
11483         * win32/vs6/libgstelements.dsp:
11484         * win32/vs6/libgstreamer.dsp:
11485           Visual Studio 6 project files, and a new common directory.
11486           Phear.
11487
11488 2005-10-11  Wim Taymans  <wim@fluendo.com>
11489
11490         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
11491         (gst_base_sink_do_sync), (gst_base_sink_query),
11492         (gst_base_sink_change_state):
11493         * gst/base/gstbasesink.h:
11494         Correctly parse newsegment info.
11495
11496 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11497
11498         * gst/gst.c: (init_post):
11499           split plugin paths correctly
11500
11501 2005-10-11  Wim Taymans  <wim@fluendo.com>
11502
11503         * check/gst/gstevent.c: (GST_START_TEST):
11504         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
11505         (gst_base_sink_change_state):
11506         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
11507         * gst/base/gstbasetransform.c: (gst_base_transform_event):
11508         * gst/elements/gstfilesink.c: (gst_file_sink_event):
11509         * gst/gstevent.c: (gst_event_new_newsegment),
11510         (gst_event_parse_newsegment):
11511         * gst/gstevent.h:
11512         Added extra flag to newsegment for future API freeze.
11513         Updated check and base elements.
11514
11515 2005-10-11  Julien MOUTTE  <julien@moutte.net>
11516
11517         * gst/base/gstcollectpads.c: (gst_collectpads_init),
11518         (gst_collectpads_add_pad), (gst_collectpads_pop),
11519         (gst_collectpads_event), (gst_collectpads_chain):
11520         * gst/base/gstcollectpads.h: Handle EOS correctly.
11521
11522 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11523
11524         * tools/gst-launch.c: (main):
11525           more null protecting
11526
11527 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11528
11529         * gst/gst-i18n-lib.h:
11530           check for ENABLE_NLS, not GETTEXT_PACKAGE
11531         * gst/gstregistry.c: (gst_registry_add_plugin),
11532         (gst_registry_scan_path_level),
11533         (_gst_registry_remove_cache_plugins):
11534           protect possibly NULL strings
11535         * gst/parse/types.h:
11536           config.h already included before
11537         * tools/gst-inspect.c: (main):
11538           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
11539           check for ENABLE_NLS, not GETTEXT_PACKAGE
11540         * tools/gst-launch.c: (main):
11541           check for ENABLE_NLS, not GETTEXT_PACKAGE
11542
11543 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11544
11545         * configure.ac:
11546           if we don't have glib, fail before testing 2.8
11547         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
11548           fix a leak, should fix plugins-base testsuite
11549
11550 2005-10-11  Andy Wingo  <wingo@pobox.com>
11551
11552         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
11553         take the mode we're going to as an arg. Go head and set the mode
11554         and flushing flags now, so that if the activate function starts a
11555         thread all the flags will be in the right state.
11556         (post_activate): Renamed also. Just handle making sure streaming
11557         finishes for the deactivation case, and setting the deactivated
11558         mode.
11559         (gst_pad_set_active): Complain loudly if deactivation fails.
11560         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
11561         (gst_pad_activate_push): Adapt to pre/post_activate changes,
11562         remove the terrible hack.
11563
11564 2005-10-11  Wim Taymans  <wim@fluendo.com>
11565
11566         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
11567         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
11568         (gst_bin_recalc_state), (gst_bin_change_state_func),
11569         (gst_bin_dispose), (bin_bus_handler):
11570         * gst/gstbin.h:
11571         Prepare to make current EOS message queue more generic.
11572         Fix some typos.
11573
11574         * gst/gstevent.c: (gst_event_new_newsegment),
11575         (gst_event_parse_newsegment):
11576         * gst/gstevent.h:
11577         Rename base to stream_time.
11578
11579         * gst/gstmessage.h:
11580         Fix typo in docs.
11581
11582 2005-10-11  Wim Taymans  <wim@fluendo.com>
11583
11584         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
11585         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
11586         (gst_bin_change_state_func), (bin_bus_handler):
11587         * gst/gstbin.h:
11588         Work on proper clock selection.
11589
11590 2005-10-11  Edward Hervey  <edward@fluendo.com>
11591
11592         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
11593         * libs/gst/controller/gstcontroller.h:
11594         Added GList* version of _remove_properties() in order to be able to wrap
11595         it in bindings.
11596
11597 2005-10-11  Wim Taymans  <wim@fluendo.com>
11598
11599         * docs/design/part-states.txt:
11600         Some more docs.
11601
11602         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
11603         (gst_bin_change_state_func), (bin_bus_handler):
11604         Doc updates. Don't distribute the same clock over and over again.
11605
11606         * gst/gstclock.c:
11607         * gst/gstclock.h:
11608         Doc updates.
11609
11610         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
11611         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
11612         (gst_pad_send_event):
11613         * gst/gstpad.h:
11614         Make probe emission threadsafe again.
11615         Register quarks and move _get_name() from utils.
11616         Doc updates.
11617
11618         * gst/gstpipeline.c: (gst_pipeline_class_init),
11619         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
11620         Only redistribute the clock of it changed.
11621
11622         * gst/gstsystemclock.h:
11623         Doc updates. 
11624
11625         * gst/gstutils.c:
11626         * gst/gstutils.h:
11627         Moved the _flow_get_name() to GstPad.
11628
11629 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11630
11631         * check/gst-libs/gdp.c: (GST_START_TEST):
11632         * check/gst/gstcaps.c: (GST_START_TEST):
11633         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
11634         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
11635         (gst_dp_packet_from_caps):
11636           fix more valgrind warnings before turning up the heat
11637
11638 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11639
11640         * gst/parse/grammar.y:
11641           some cleanup before the hacking
11642
11643 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
11644
11645         * gst/base/gstbasesrc.c: (gst_base_src_query):
11646           use conversions
11647         * gst/gstutils.c: (gst_guint64_to_gdouble),
11648         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
11649         * gst/gstutils.h:
11650           externalize, basesrc uses it
11651           obviously the implementation needs testing
11652
11653 2005-10-10  Wim Taymans  <wim@fluendo.com>
11654
11655         * tests/sched/Makefile.am:
11656         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
11657         (make_pipeline3), (make_pipeline4), (print_elem), (main):
11658
11659 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
11660
11661         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
11662           apparently converting from guint64 to double is not implemented
11663           on MSVC
11664
11665 2005-10-10  Wim Taymans  <wim@fluendo.com>
11666
11667         * check/Makefile.am:
11668         * check/generic/states.c: (GST_START_TEST):
11669         * check/gst/gstbin.c: (GST_START_TEST):
11670         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
11671         * check/states/sinks.c: (GST_START_TEST):
11672         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
11673         (main):
11674         Check fixes, use API as stated in design docs, remove hacks.
11675
11676         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
11677         (gst_base_sink_change_state):
11678         Catch stopping our task while we're shutting down.
11679
11680         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
11681         (gst_bin_remove_func), (gst_bin_get_state_func),
11682         (gst_bin_recalc_state), (gst_bin_change_state_func),
11683         (bin_bus_handler):
11684         * gst/gstbin.h:
11685         * gst/gstelement.c: (gst_element_init),
11686         (gst_element_get_state_func), (gst_element_abort_state),
11687         (gst_element_commit_state), (gst_element_lost_state),
11688         (gst_element_set_state), (gst_element_change_state),
11689         (gst_element_change_state_func):
11690         * gst/gstelement.h:
11691         New state change algorithm (see #318116)
11692
11693         * gst/gstpipeline.c: (gst_pipeline_class_init),
11694         (gst_pipeline_init), (gst_pipeline_set_property),
11695         (gst_pipeline_get_property), (do_pipeline_seek),
11696         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
11697         * gst/gstpipeline.h:
11698         Remove crude state change hacks.
11699
11700         * gst/gstutils.h:
11701         Remove crude hacks.
11702
11703         * tools/gst-launch.c: (main):
11704         Fixes for state change. Needs some more work to fully use the
11705         new stuff.
11706
11707 2005-10-10  Andy Wingo  <wingo@pobox.com>
11708
11709         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
11710
11711         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
11712         this flag, but it's not even in GLib 2.6. Odd. Hack around the
11713         issue.
11714
11715 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
11716
11717         * gst/gstiterator.c: (gst_iterator_new):
11718           Fix my previous commit: GTypes passed to gst_iterator_new()
11719           can be fundamental types.
11720
11721 2005-10-10  Wim Taymans  <wim@fluendo.com>
11722
11723         * gst/gstelement.c: (gst_element_iterate_pad_list),
11724         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
11725         (gst_element_iterate_sink_pads):
11726         Use src/sink pads lists for the respective iterators instead
11727         of filtering.
11728
11729 2005-10-10  Andy Wingo  <wingo@pobox.com>
11730
11731         Merged in popt removal + GOption addition patch from Ronald, bug
11732         #169772.
11733
11734         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
11735         GstElement macros around, remove popt-related symbols, add goption
11736         stuff.
11737
11738         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
11739         
11740         * docs/gst/Makefile.am:
11741         * docs/libs/Makefile.am: No POPT_CFLAGS.
11742         
11743         * examples/manual/Makefile.am:
11744         * docs/manual/basics-init.xml: Doc updates with an example.
11745         
11746         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
11747         (gst_init), (parse_one_option), (parse_goption_arg):
11748         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
11749         bit of hand merging and debugging to get the GOption stuff working
11750         tho.
11751         
11752         * tests/Makefile.am:
11753         * tools/Makefile.am:
11754         * tools/gst-inspect.c: (main):
11755         * tools/gst-launch.c: (main):
11756         * tools/gst-run.c: (main):
11757         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
11758
11759 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
11760
11761         * gst/gstiterator.c: (gst_iterator_new):
11762           Add assertions to make sure passed GType is likely to really
11763           be a GType (as the compiler won't catch it if the size and
11764           GType arguments get mixed up, see #318447).
11765
11766 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
11767
11768         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
11769
11770         * gst/gstbin.c: (gst_bin_iterate_sorted):
11771           Pass GType and size arguments to gst_iterator_new() in the right
11772           order (maybe we should make _new() take the GType as first argument
11773           just like _new_list()?) (#318447).
11774           
11775
11776 2005-10-10  Wim Taymans  <wim@fluendo.com>
11777
11778         * gst/gstelement.c: (gst_element_finalize):
11779         And free the GStaticRecMutex too
11780
11781 2005-10-10  Andy Wingo  <wingo@pobox.com>
11782
11783         * gst/gstelement.c (gst_element_init, gst_element_finalize):
11784         Allocate and free the mutex properly.
11785
11786         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
11787         New macros.
11788         (GstElement): The state_lock is now recursive. Rebuild your
11789         plugins, suckers. Old macros adapted.
11790
11791         * docs/gst/gstreamer-sections.txt: Doc updates.
11792
11793         * gst/gstutils.h:
11794         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
11795         (g_static_rec_cond_wait): Ported from state changes patch, while
11796         we wait on bug #317802 to be solved in a well-distributed GLib.
11797
11798         * gst/gstelement.c (gst_element_change_state_func): Renamed from
11799         gst_element_change_state, variable name changes.
11800         (gst_element_change_state): Split out of gst_element_set_state in
11801         preparation for the state change merge. Doesn't pay attention to
11802         the 'transition' argument.
11803         (gst_element_set_state): Updates, hopefully purely cosmetic.
11804         (gst_element_sync_state_with_parent): MT-safety. Ported from the
11805         state change patch.
11806         (gst_element_get_state_func): Renamed from get_state, cosmetic
11807         changes.
11808
11809 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
11810
11811         * gst/elements/gstelements.c:
11812         * win32/GStreamer.vcproj:
11813         * win32/config.h:
11814         * win32/dirent.c: (_tseekdir):
11815         * win32/gst-inspect.vcproj:
11816         * win32/gst-launch.vcproj:
11817         * win32/gstconfig.h:
11818         * win32/gstelements.vcproj:
11819         * win32/gstenumtypes.c: (gst_object_flags_get_type):
11820         * win32/gstreamer.def:
11821         * win32/msvc71.sln:
11822           updates for the win32 build (patch from Sebastien Moutte)
11823
11824 2005-10-10  Andy Wingo  <wingo@pobox.com>
11825
11826         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
11827         gst_bin_get_state, cleaned up (but no logic changes).
11828         (bin_element_is_sink): Comment updates.
11829         (sink_iterator_filter): Remove needless cast.
11830         (gst_bin_iterate_sinks): Doc update.
11831         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
11832         cleaned up (but no logic changes).
11833
11834         * check/states/sinks.c (test_src_sink): Cleanups from the state
11835         change patch.
11836         (test_livesrc_sink): Sync on the state.
11837
11838         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
11839         the state change patch.
11840
11841         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
11842         change patch.
11843
11844         * check/gst/gstbin.c: Merge in some style fixes and additional
11845         checks from Wim's state change patch.
11846
11847 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
11848
11849         * gst/base/gsttypefindhelper.c: (helper_find_peek),
11850         (gst_type_find_helper):
11851           Check whether we have the requested data already in our list of
11852           cached buffers before pulling a new buffer; also make the buffer
11853           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
11854
11855 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
11856
11857         * gst/gstcaps.c:
11858         * gst/gstevent.c:
11859           doc updates
11860         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
11861           don't use long long, it's not portable.  Replacing with
11862           gint64 seems to work; let's hope no skeletons fall out of the closet.
11863
11864 2005-10-10  Andy Wingo  <wingo@pobox.com>
11865
11866         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
11867
11868 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
11869
11870         * docs/gst/gstreamer-sections.txt:
11871         * gst/gstevent.c:
11872         * gst/gstevent.h:
11873         * gst/gstinfo.c:
11874         * gst/gstinfo.h:
11875         * gst/gstmessage.c: (gst_message_parse_state_changed):
11876         * gst/gstpad.c:
11877         * gst/gstpad.h:
11878           more docs, fix compilation
11879
11880 2005-10-09  Philippe Khalaf <burger@speedy.org>
11881         * gst/gstmessage.c:
11882           Fixed a few forgotten variables on previous commit
11883
11884 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
11885
11886         * gst/base/gsttypefindhelper.c: (helper_find_peek):
11887           Fix evil typefind crasher: getrange() might return a short
11888           buffer at the end of a file, but gst_type_find_peek() must
11889           either return the full data as requested or NULL, but
11890           never a short buffer.
11891
11892 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11893
11894         * gst/gstmessage.c: (gst_message_new_state_changed),
11895         (gst_message_parse_state_changed):
11896         * gst/gstmessage.h:
11897           don't use "new", it's a C++ keyword
11898
11899 2005-10-08  Wim Taymans  <wim@fluendo.com>
11900
11901         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
11902         * gst/gstelement.c: (gst_element_post_message):
11903         * gst/gstpipeline.c: (gst_pipeline_change_state):
11904         Small docs and debug updates.
11905
11906 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
11907
11908         * docs/gst/gstreamer-sections.txt:
11909         * gst/gstelementfactory.c:
11910         * gst/gstevent.c:
11911         * gst/gsttaglist.c:
11912           more docs
11913
11914 2005-10-08  Wim Taymans  <wim@fluendo.com>
11915
11916         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
11917         (gst_bin_dispose), (bin_bus_handler):
11918         Fix typos, add comments.
11919         Clear EOS list when going to PAUSED from any direction and do it
11920         in a threadsafe way.
11921         Get base time in a threadsafe way too.
11922         Fix confusing debug in the change_state function.
11923         Various other small cleanups.
11924         
11925         * gst/gstelement.c: (gst_element_post_message):
11926         Fix very verbose bus posting code.
11927
11928         * gst/gstpipeline.c: (gst_pipeline_class_init),
11929         (gst_pipeline_set_property), (gst_pipeline_get_property),
11930         (gst_pipeline_change_state):
11931         Small ARG_ -> PROP_ cleanup
11932
11933 2005-10-08  Wim Taymans  <wim@fluendo.com>
11934
11935         * gst/gstbin.c: (is_eos), (bin_bus_handler):
11936         Do a less CPU demanding EOS check because we can.
11937
11938 2005-10-08  Wim Taymans  <wim@fluendo.com>
11939
11940         * libs/gst/dataprotocol/dataprotocol.c:
11941         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
11942         (gst_dp_packet_from_event):
11943         * libs/gst/dataprotocol/dataprotocol.h:
11944         * libs/gst/dataprotocol/dp-private.h:
11945         It's about time we bump the version number.
11946         Since event types don't fit in the guint8 anymore describing
11947         the payload type, make payload type 16 bits wide.
11948
11949 2005-10-08  Wim Taymans  <wim@fluendo.com>
11950
11951         * docs/design/part-TODO.txt:
11952         * docs/design/part-clocks.txt:
11953         * docs/design/part-events.txt:
11954         * docs/design/part-gstbin.txt:
11955         * docs/design/part-gstelement.txt:
11956         * docs/design/part-gstpipeline.txt:
11957         * docs/design/part-live-source.txt:
11958         * docs/design/part-messages.txt:
11959         * docs/design/part-overview.txt:
11960         * docs/design/part-states.txt:
11961         Many doc updates.
11962
11963 2005-10-08  Wim Taymans  <wim@fluendo.com>
11964
11965         * gst/gstevent.c:
11966         * gst/gstevent.h:
11967         Fix event quark registration.
11968         Add some space between events so we can insert them in the
11969         right groups.
11970
11971 2005-10-08  Wim Taymans  <wim@fluendo.com>
11972
11973         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
11974         (gst_base_sink_handle_buffer):
11975         Better log message.
11976
11977         * gst/gstbus.h:
11978         * gst/gstelement.h:
11979         More docs.
11980
11981         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
11982         (gst_queue_set_property), (gst_queue_get_property):
11983         * gst/gstqueue.h:
11984         Remove old unused properties.
11985
11986 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
11987         * docs/gst/gstreamer-sections.txt:
11988         * gst/gstmessage.c:
11989         * gst/gstmessage.h:
11990         * gst/gstminiobject.c:
11991         * gst/gstminiobject.h:
11992         * gst/gstobject.h:
11993         * gst/gstpad.h:
11994         * gst/gstutils.h:
11995           lots of new docs and doc fixes
11996
11997 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
11998
11999         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
12000         * gst/gstplugin.h:
12001         * gst/gstregistry.c: (gst_registry_lookup_locked),
12002         (gst_registry_scan_path_level):
12003         * gst/gstregistryxml.c: (load_plugin):
12004           Only ever load one plugin for a given plugin basename.
12005           This ensures correct overriding of GST_PLUGIN_PATH over
12006           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
12007           system installed plugins.
12008
12009 2005-10-08  Wim Taymans  <wim@fluendo.com>
12010
12011         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
12012         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
12013         Prepare for doing QOS.
12014
12015 2005-10-08  Wim Taymans  <wim@fluendo.com>
12016
12017         * check/gst/gstbin.c: (GST_START_TEST):
12018         * check/pipelines/cleanup.c: (GST_START_TEST):
12019         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
12020         Allow new clock message too.
12021
12022 2005-10-08  Wim Taymans  <wim@fluendo.com>
12023
12024         * gst/gstmessage.c: (gst_message_new_error),
12025         (gst_message_new_warning), (gst_message_new_tag),
12026         (gst_message_new_state_changed), (gst_message_new_clock_provide),
12027         (gst_message_new_clock_lost), (gst_message_new_new_clock),
12028         (gst_message_new_segment_start), (gst_message_new_segment_done),
12029         (gst_message_parse_state_changed),
12030         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
12031         (gst_message_parse_new_clock):
12032         * gst/gstmessage.h:
12033         Also carry the clock in question.
12034
12035 2005-10-08  Wim Taymans  <wim@fluendo.com>
12036
12037         * gst/gstmessage.c: (gst_message_new_custom),
12038         (gst_message_new_eos), (gst_message_new_error),
12039         (gst_message_new_warning), (gst_message_new_tag),
12040         (gst_message_new_state_changed), (gst_message_new_clock_provide),
12041         (gst_message_new_new_clock), (gst_message_new_segment_start),
12042         (gst_message_new_segment_done), (gst_message_parse_state_changed),
12043         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
12044         * gst/gstmessage.h:
12045         Clean up.
12046         Added clock related messages.
12047
12048         * gst/gstpipeline.c: (gst_pipeline_change_state):
12049         Post message when the clock changed.
12050
12051         * tools/gst-launch.c: (event_loop):
12052         Print new clock.
12053
12054 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
12055
12056         * tools/gst-inspect.c: (print_element_properties_info):
12057           Can't pass NULL strings to g_print() on windows.
12058
12059 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
12060
12061         * docs/Makefile.am:
12062         * docs/gst/Makefile.am:
12063         * docs/gst/gstreamer-docs.sgml:
12064         * docs/gst/running.xml:
12065         * docs/version.entities.in:
12066           add a chapter on running GStreamer.
12067           document GST_DEBUG and GST_PLUGIN* env vars
12068
12069 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
12070
12071         * Makefile.am:
12072           remove include dir
12073         * configure.ac:
12074           remove PLUGINS_BUILDDIR stuff
12075         * gst/gst.c: (init_post):
12076           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
12077         * idiottest.mak:
12078           remove, it was condescending and not needed
12079
12080 2005-10-08  Wim Taymans  <wim@fluendo.com>
12081
12082         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
12083         (gst_base_sink_handle_object), (gst_base_sink_event),
12084         (gst_base_sink_wait), (gst_base_sink_handle_event),
12085         (gst_base_sink_change_state):
12086         * gst/base/gstbasesink.h:
12087         Repost EOS message while going to PLAYING if still EOS.
12088         Make sure that when receiving a FLUSH_START we don't attempt
12089         to sync on the clock anymore.
12090
12091 2005-10-08  Wim Taymans  <wim@fluendo.com>
12092
12093         * tools/gst-launch.c: (event_loop):
12094         Better message printout.
12095
12096 2005-10-08  Wim Taymans  <wim@fluendo.com>
12097
12098         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
12099         (gst_bin_child_proxy_get_children_count):
12100         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
12101         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
12102         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
12103         (gst_child_proxy_set_valist):
12104         * gst/parse/grammar.y:
12105         Make ChildProxy threadsafe and fix mem leaks.
12106
12107 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
12108
12109         * gst/gst.c: (init_post):
12110           debug the GST_PLUGIN_ env vars
12111
12112 2005-10-08  Wim Taymans  <wim@fluendo.com>
12113
12114         * check/gst/gstbin.c: (GST_START_TEST):
12115         * check/gst/gstmessage.c: (GST_START_TEST):
12116         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
12117         * gst/gstelement.c: (gst_element_commit_state),
12118         (gst_element_lost_state):
12119         * gst/gstmessage.c: (gst_message_new_state_changed),
12120         (gst_message_parse_state_changed):
12121         * gst/gstmessage.h:
12122         * tools/gst-launch.c: (event_loop):
12123         Added extra field to STATE_CHANGE message with the pending
12124         state, which will be different from the new state soon.
12125
12126 2005-10-08  Wim Taymans  <wim@fluendo.com>
12127
12128         * gst/gstbus.c: (gst_bus_pop):
12129         * gst/gstclock.c:
12130         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
12131         Small cleanups and doc updates.
12132
12133 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
12134
12135         * gst/gst.c: (init_pre):
12136         * gst/gstbin.c: (gst_bin_add_func):
12137           log distributing clocks and base time
12138         * gst/gstregistry.c: (gst_registry_add_plugin),
12139         (gst_registry_scan_path_level), (gst_registry_scan_path):
12140           clean up the debugging output a little
12141         * gst/gstutils.c: (gst_element_state_get_name):
12142           warn about a memleak (I've actually seen this be used, though
12143           it was probably a bug)
12144
12145 2005-10-07  Wim Taymans  <wim@fluendo.com>
12146
12147         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
12148         (gst_base_src_init), (gst_base_src_default_newsegment),
12149         (gst_base_src_newsegment), (gst_base_src_do_seek),
12150         (gst_base_src_loop), (gst_base_src_start):
12151         * gst/base/gstbasesrc.h:
12152         Make the newsegment event customizable by subclasses.
12153
12154 2005-10-07  Wim Taymans  <wim@fluendo.com>
12155
12156         * gst/gstevent.c: (gst_event_new_buffersize),
12157         (gst_event_parse_buffersize):
12158         * gst/gstevent.h:
12159         New event for future idea.
12160
12161 2005-10-07  Andy Wingo  <wingo@pobox.com>
12162
12163         * gst/gstelement.c (gst_element_post_message): Doc update.
12164
12165         * docs/gst/gstreamer-sections.txt: Update.
12166
12167         * gst/gstmessage.c (gst_message_new_application): Made into a
12168         function like honest API calls.
12169         (gst_message_new_element): New message type.
12170
12171         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
12172
12173         * check/elements/fakesrc.c (test_no_preroll): New check, checks
12174         that setting a live fakesrc to PAUSED returns NO_PREROLL both
12175         times.
12176
12177         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
12178         NO_PREROLL from gst_element_change_state to fall through.
12179
12180 2005-10-07  Wim Taymans  <wim@fluendo.com>
12181
12182         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
12183         (gst_ghost_pad_do_activate_push):
12184         Activating a ghostpad with no internal pad in push mode
12185         is ok.
12186
12187 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
12188
12189         * gst/gstobject.h:
12190           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
12191           Fixes compilation on Windows.
12192
12193 2005-10-07  Michael Smith <msmith@fluendo.com>
12194
12195         * tools/gst-inspect.c:
12196           Print out feature and plugin count at the end when printing out
12197           all features.
12198
12199 2005-10-04  Michael Smith <msmith@fluendo.com>
12200
12201         * gst/gsterror.c: (_gst_stream_errors_init):
12202           Add another error string used in a few existing plugins.
12203
12204         * gst/gstplugin.c:
12205         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
12206         * tools/gst-inspect.c: (print_element_info):
12207           When a feature disappears from a plugin (and the feature exists in
12208           the cached registry file), things went horribly wrong. This isn't a
12209           complete fix, we should actually be removing the 'missing' features
12210           from the features list when we load the actual plugin. That's not
12211           yet implemented. 
12212
12213 2005-10-04  Johan Dahlin  <johan@gnome.org>
12214
12215         * check/gst/gstiterator.c: (GST_START_TEST):
12216         * gst/gstbin.c: (gst_bin_iterate_elements),
12217         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
12218         * gst/gstelement.c: (gst_element_iterate_pads):
12219         * gst/gstformat.c: (gst_format_iterate_definitions):
12220         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
12221         (gst_iterator_new_list), (gst_iterator_filter):
12222         * gst/gstiterator.h:
12223         * gst/gstquery.c: (gst_query_type_iterate_definitions):
12224         Add a GType to GstIterator, update callsites and tests.
12225
12226 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
12227
12228         * gst/gstpad.c: (gst_pad_event_default_dispatch):
12229           give events a chance to be handled by event probes when the pad
12230           is not linked
12231
12232 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
12233
12234         * gst/gstevent.c: (gst_event_type_get_name),
12235         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
12236         * gst/gstevent.h:
12237           add string representations for event types
12238
12239 2005-10-06  Wim Taymans  <wim@fluendo.com>
12240
12241         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
12242         Don't use NULL pointers.
12243
12244 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
12245
12246         * gst/gst_private.h:
12247         * gst/gstbus.c:
12248         * gst/gstelement.c:
12249         * gst/gstinfo.c:
12250         * gst/gstpluginfeature.c:
12251           widen the debug category in output to fit the biggest one we have
12252           add a bus category and use it
12253           play with the colors
12254           fix up some categories
12255
12256 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
12257
12258         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
12259           add push activation of sink ghost pads.
12260           Andye, please verify
12261
12262 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
12263
12264         * gst/gstutils.c: (gst_element_link_pads):
12265           fix a bug in the case where neither element has a pad
12266         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
12267           add a test for that case
12268
12269 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
12270
12271         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
12272           emit have-data before checking for peers.  This allows
12273           for probe handlers to connect elements.  This helps autopluggers.
12274         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
12275         (gst_pad_suite):
12276           add six checks, linked/unlinked with no/true/false probe
12277
12278 2005-10-04  Wim Taymans  <wim@fluendo.com>
12279
12280         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
12281         (gst_fake_sink_event), (gst_fake_sink_preroll),
12282         (gst_fake_sink_render), (gst_fake_sink_change_state):
12283         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
12284         (gst_fake_src_get_property), (gst_fake_src_create),
12285         (gst_fake_src_stop):
12286         * gst/elements/gstidentity.c: (gst_identity_stop):
12287         Protect last_message with lock.
12288
12289 2005-10-04  Edward Hervey  <edward@fluendo.com>
12290
12291         * gst/gstformat.h: 
12292         Added precision in the comments for GST_FORMAT_DEFAULT
12293
12294 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
12295
12296         * tools/gst-launch.c: (main):
12297           Don't try to run erroneous pipelines.
12298
12299 2005-10-04  Julien MOUTTE  <julien@moutte.net>
12300
12301         * gst/gstbus.c: We don't need this header.
12302
12303 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
12304
12305         * configure.ac:
12306           back to development
12307
12308 === release 0.9.3 ===
12309
12310 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
12311
12312         * README:
12313         * configure.ac:
12314           Releasing 0.9.3, "Unregistered"
12315
12316 2005-10-03  Andy Wingo  <wingo@pobox.com>
12317
12318         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
12319         whereby calling a pad's activatepush() function can start a thread
12320         that starts to push or pull before the pad gets the FLUSHING flag
12321         unset. Hack around it by holding the stream lock until the flag is
12322         set. Need to replace this with a proper solution. Together with
12323         the ghost pad fixes, this fixes mp3 playing/tagreading.
12324
12325         * docs/design/part-gstghostpad.txt: Add a note about activation of
12326         proxy pads outside of ghost pads.
12327
12328         * gst/gstghostpad.c: Implement the ghost pad activation design.
12329
12330 2005-10-02  Andy Wingo  <wingo@pobox.com>
12331
12332         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
12333         It is volatile, after all.
12334
12335         * docs/design/part-gstghostpad.txt: Flesh out activation with
12336         ghost pads.
12337
12338         * gst/base/gstbasesrc.c (gst_base_src_init): Use
12339         GST_DEBUG_FUNCPTR.
12340
12341 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
12342
12343         * configure.ac:
12344           Fix (unused) AM_CONDITIONAL tests.
12345
12346 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
12347
12348         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
12349
12350         * gst/gstutils.c: (gst_pad_query_convert):
12351           Add assertion that makes sure src_val is >=0, just like
12352           gst_query_new_convert() has. (#315895)
12353
12354 2005-09-30  Edward Hervey  <edward@fluendo.com>
12355
12356         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
12357         Let's not iterate pads we're not interested in, it avoids getting 
12358         sky-high refcounts on sinkpad.
12359
12360 2005-09-30  Wim Taymans  <wim@fluendo.com>
12361
12362         * gst/gstelement.c: (gst_element_set_state),
12363         (gst_element_change_state):
12364         Small tweak, element in ASYNC remains ASYNC.
12365
12366 2005-09-30  Wim Taymans  <wim@fluendo.com>
12367
12368         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
12369         Only error is an error.
12370
12371         * gst/gstbin.c: (gst_bin_change_state):
12372         Better debugging.
12373
12374         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
12375         Also call pad_block in pad alloc.
12376
12377         * gst/gstutils.c: (gst_flow_get_name):
12378         Better debugging.
12379
12380 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
12381
12382         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
12383         (gst_base_src_get_range):
12384           Fix documentation typos. Add some more debug info.
12385
12386 2005-09-29  David Schleef  <ds@schleef.org>
12387
12388         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
12389           more end-user friendly.
12390         * tools/gst-inspect.c: (main): Check if command-line argument is
12391           a file and attempt to load that file as a plugin.
12392
12393 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
12394
12395         * check/gst/gstbin.c:
12396         * check/states/sinks.c:
12397           fix tests for the new warning
12398         * check/gst/gstpipeline.c:
12399           add a test for pipeline and bus interaction
12400         * gst/gstelement.c:
12401           elements should be NULL if they get disposed; add a warning if not
12402
12403 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
12404
12405         * gst/gstobject.c:
12406           for 2.6 refcounting, make debug log more correct by printing
12407           the actual refcounts at the time of swap (Wim)
12408
12409 2005-09-29  Andy Wingo  <wingo@pobox.com>
12410
12411         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
12412         removes signal watches previously added via
12413         gst_bus_add_signal_watch.
12414         (gst_bus_add_signal_watch): Don't return the source id, just store
12415         it on the bus if there wasn't an id already.
12416
12417         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
12418         add_signal_watch and remove_signal_watch.
12419
12420 2005-09-29  Edward Hervey  <edward@fluendo.com>
12421
12422         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
12423         Better if we actually iterate the list :)
12424
12425 2005-09-29  Wim Taymans  <wim@fluendo.com>
12426
12427         * check/gst/gstbin.c: (GST_START_TEST):
12428         Change for new bus API.
12429
12430         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
12431         (send_messages), (GST_START_TEST), (gstbus_suite):
12432         Change for new bus signal API.
12433
12434         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
12435         (gst_bus_source_prepare), (gst_bus_source_check),
12436         (gst_bus_create_watch), (gst_bus_add_watch_full),
12437         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
12438         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
12439         * gst/gstbus.h:
12440         Remove support for multiple GSources operating on different
12441         message types as it is too complex and unneeded when using
12442         signals.
12443         Added support for receiving signals from the bus.
12444
12445 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
12446
12447         * docs/libs/tmpl/gstdataprotocol.sgml:
12448         * docs/manual/advanced-dataaccess.xml:
12449         * gst/elements/gstcapsfilter.c:
12450         * gst/gstutils.c:
12451           rename filter-caps to caps property
12452
12453 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
12454
12455         * gst/gstvalue.c: (gst_value_deserialize_fraction):
12456           More robust fraction string parsing.
12457
12458         * docs/pwg/appendix-porting.xml:
12459           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
12460
12461 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
12462
12463         * gst/gstcaps.c: (gst_caps_do_simplify):
12464           Thou shalt not free a structure and then continue using it
12465           in the next loop iteration.
12466
12467         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
12468         (gst_caps_suite):
12469           Add test case for caps simplification.
12470
12471 2005-09-29  Wim Taymans  <wim@fluendo.com>
12472
12473         * check/gst/gstbin.c: (GST_START_TEST):
12474         Oops.
12475
12476 2005-09-29  Wim Taymans  <wim@fluendo.com>
12477
12478         * check/gst/gstbin.c: (GST_START_TEST):
12479         Add bus to bin.
12480
12481         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
12482         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
12483         (find_element), (gst_bin_sort_iterator_next),
12484         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
12485         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
12486         (gst_bin_change_state), (gst_bin_dispose):
12487         A bin does not have a bus, it gets the bus from the parent.
12488
12489         * gst/gstelement.c: (gst_element_requires_clock),
12490         (gst_element_provides_clock), (gst_element_is_indexable),
12491         (gst_element_is_locked_state), (gst_element_change_state),
12492         (gst_element_set_bus_func):
12493         Small cleanups.
12494
12495         * gst/gstpipeline.c: (gst_pipeline_class_init),
12496         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
12497         The pipeline provides a bus.
12498
12499 2005-09-28  Johan Dahlin  <johan@gnome.org>
12500
12501         * gst/gstmessage.c (gst_message_parse_state_changed): Use
12502         gst_structure_get_enum instead of gst_structure_get_int
12503
12504         * gst/gststructure.c (gst_structure_get_enum): Impl.
12505
12506         * gst/gststructure.h (gst_structure_get_enum): Add
12507
12508         * docs/gst/gstreamer-sections.txt: Ditto
12509
12510         * gst/gstmessage.c (gst_message_new_state_changed): Use
12511         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
12512         which does introspection.
12513         Reviewed by Christian Schaller
12514
12515 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
12516
12517         * gst/gstinfo.c: (gst_debug_log_default):
12518           don't do dummy g_strdup()s
12519         * libs/gst/controller/gstcontroller.c:
12520         (on_object_controlled_property_changed),
12521         (gst_controlled_property_new), (gst_controller_new_valist),
12522         (gst_controller_new_list),
12523         (gst_controller_remove_properties_valist), (gst_controller_set),
12524         (gst_controller_get), (gst_controller_sync_values),
12525         (gst_controller_get_value_array), (_gst_controller_class_init),
12526         (gst_controller_get_type):
12527         * libs/gst/controller/gstcontroller.h:
12528         * libs/gst/controller/gstinterpolation.c:
12529         (gst_controlled_property_find_timed_value_node):
12530           convert // to /**/ comments
12531
12532 2005-09-28  Wim Taymans  <wim@fluendo.com>
12533
12534         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
12535         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
12536         (gst_bus_sync_signal_handler):
12537         * gst/gstbus.h:
12538         Added async-message and sync-message signals to the bus.
12539         Added helper BusFunc to emit signals for all posted messages.
12540
12541         * gst/gstmessage.c: (gst_message_type_get_name),
12542         (gst_message_type_to_quark), (gst_message_get_type):
12543         * gst/gstmessage.h:
12544         Register quarks for message names.
12545
12546 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
12547
12548         * docs/libs/gstreamer-libs-sections.txt:
12549         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
12550         (gst_controller_new_list):
12551         * libs/gst/controller/gstcontroller.h:
12552           added another constructor for language bindings
12553
12554 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
12555
12556         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
12557           add another check
12558         * gst/gstbus.c:
12559           add some doc
12560         * gst/gstinfo.c: (_gst_debug_init):
12561           slightly more readable color for refcount debugging
12562
12563 2005-09-28  Wim Taymans  <wim@fluendo.com>
12564
12565         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
12566         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
12567         (find_element), (gst_bin_sort_iterator_next),
12568         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
12569         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
12570         (gst_bin_change_state), (gst_bin_dispose):
12571         Small doc fixes. get_clock -> provide_clock.
12572
12573         * gst/gstelement.c: (gst_element_class_init),
12574         (gst_element_provides_clock), (gst_element_provide_clock),
12575         (gst_element_get_clock), (gst_element_commit_state),
12576         (gst_element_lost_state):
12577         * gst/gstelement.h:
12578         Make get/set_clock() symetric. Add provide_clock vmethod since
12579         that is actually what this function does.
12580
12581         * gst/gstpipeline.c: (gst_pipeline_class_init),
12582         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
12583         (gst_pipeline_get_clock):
12584         get_clock -> provide_clock.
12585
12586 2005-09-28  Andy Wingo  <wingo@pobox.com>
12587
12588         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
12589         lieu of real docs...
12590
12591         * gst/elements/gstfdsrc.c: Cleaned up a bit.
12592
12593 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
12594
12595         * gst/elements/gstcapsfilter.c:
12596         * gst/elements/gstfakesink.c:
12597         * gst/elements/gstfakesrc.c:
12598         * gst/elements/gstfdsink.c:
12599         * gst/elements/gstfdsrc.c:
12600         * gst/elements/gstfilesink.c:
12601         * gst/elements/gstfilesrc.c:
12602         * gst/elements/gstidentity.c:
12603         * gst/elements/gsttee.c:
12604         * gst/elements/gsttypefindelement.c:
12605           Make element details static.
12606
12607 2005-09-28  Wim Taymans  <wim@fluendo.com>
12608
12609         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
12610         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
12611         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
12612         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
12613         (gst_bin_change_state), (gst_bin_dispose):
12614         Some documentation updates.
12615         Clean up dispose handlers.
12616
12617         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
12618         * gst/gstpad.c: (gst_pad_dispose):
12619         Clean up dispose handler.
12620
12621         * gst/gstpipeline.c: (gst_pipeline_change_state):
12622         Removed spurious UNLOCK.
12623
12624 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
12625
12626         * docs/gst/gstreamer-sections.txt:
12627         * gst/base/gstbasesrc.h:
12628         * gst/gstelement.h:
12629         * gst/gstevent.h:
12630         * gst/gstobject.h:
12631         * gst/gstpad.h:
12632         * gst/gstpipeline.c:
12633         * gst/gstpipeline.h:
12634         * gst/gstutils.h:
12635         * gst/gstxml.h:
12636           added two new functions to the docs
12637                 documents all undocumented GstXXXFlags
12638                 completed some incomplete docs 
12639
12640 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
12641
12642         * gst/gstbin.c: (gst_bin_dispose):
12643         * gst/gstelement.c: (gst_element_dispose):
12644           remove now useless and leaky resurrection code in dispose
12645         * gst/base/gstbasesrc.c: (gst_base_src_init):
12646         * gst/gstelementfactory.c: (gst_element_factory_create):
12647         * gst/gstobject.c: (gst_object_set_parent):
12648           add some debugging
12649
12650 2005-09-27  Wim Taymans  <wim@fluendo.com>
12651
12652         * docs/design/part-TODO.txt:
12653         Update TODO.
12654
12655         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
12656         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
12657         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
12658         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
12659         (gst_bin_change_state):
12660         * gst/gstelement.h:
12661         Remove element variable, we keep element info in the iterator now.
12662
12663 2005-09-27  Andy Wingo  <wingo@pobox.com>
12664
12665         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
12666         values.
12667
12668 2005-09-27  Wim Taymans  <wim@fluendo.com>
12669
12670         * check/gst/gstbin.c: (GST_START_TEST):
12671         Enable check that works now.
12672
12673         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
12674         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
12675         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
12676         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
12677         (gst_bin_change_state):
12678         * gst/gstbin.h:
12679         Redid the state change algorithm using a topological sort algo.
12680         Handles all cases correctly.
12681         Exposed iterator for state change order.
12682
12683         * gst/gstelement.h:
12684         Temp storage for state changes. Need to get rid of this soon.
12685
12686 2005-09-27  Wim Taymans  <wim@fluendo.com>
12687
12688         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
12689         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
12690         (link_fold_func), (gst_pad_proxy_setcaps):
12691         Leak fixes, the fold functions need to unref the passed object and
12692         _get_parent_*() returns ref to parent.
12693
12694 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
12695
12696         * check/gst/gstbuffer.c: (test_make_writable):
12697           Plug leak in test case and fix 'make check-valgrind'
12698
12699 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
12700
12701         * gst/gstbuffer.c: (gst_subbuffer_init):
12702           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
12703           works correctly in all circumstances (we could have just copied
12704           the parent buffer's readonly flag, but conceptually it seems
12705           cleaner to mark all subbuffers as read-only). (based on patch
12706           by Alessandro Decina, #314710).
12707         
12708         * check/gst/gstbuffer.c: (create_read_only_buffer),
12709         (test_make_writable), (test_subbuffer_make_writable),
12710         (gst_test_suite):
12711           Add some tests for gst_buffer_make_writable().
12712
12713 2005-09-27  Wim Taymans  <wim@fluendo.com>
12714
12715         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
12716         use gst_object_has_ancestor().
12717
12718         * gst/gstobject.c: (gst_object_has_ancestor):
12719         * gst/gstobject.h:
12720         gst_object_has_ancestor() copied from gstbin.c as it is a
12721         usefull function.
12722
12723         * tests/instantiate/create.c: (create_all_elements):
12724         * tests/lat.c: (handoff_src), (handoff_sink):
12725         * tests/sched/runxml.c: (main):
12726         * tests/seeking/seeking1.c: (main):
12727         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
12728         (main):
12729         Fix compilation of some tests.
12730
12731 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
12732
12733         * gst/gsterror.h:
12734           Remove comment. GST_TYPE_G_ERROR is here to stay,
12735           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
12736           (#316961, #300610).
12737
12738 2005-09-26  Wim Taymans  <wim@fluendo.com>
12739
12740         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
12741         Added check that shows error in state change order.
12742
12743 2005-09-26  Wim Taymans  <wim@fluendo.com>
12744
12745         * gst/gstbin.c: (gst_bin_change_state):
12746         Make state change function use 3 queues again, we were
12747         adding elements in the wrong order.
12748
12749         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
12750         Some debug info,
12751
12752         * gst/gstpad.c: (gst_pad_dispose):
12753         Added some debug info first.
12754
12755 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
12756
12757         * docs/design/draft-push-pull.txt:
12758         * docs/design/part-events.txt:
12759         * docs/design/part-overview.txt:
12760         * docs/design/part-scheduling.txt:
12761           Replace all _pull_region() with _pull_range()
12762           
12763 2005-09-26  Andy Wingo  <wingo@pobox.com>
12764
12765         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
12766
12767         * check/gst-libs/controller.c: Update for controller api change.
12768
12769         * configure.ac: 
12770         * tests/Makefile.am:
12771         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
12772         over by GLib bug 118439.
12773         
12774         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
12775         routines to a function.
12776
12777         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
12778
12779         * libs/gst/controller/gsthelper.c:
12780         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
12781         (gst_object_sync_values): Renamed from sink_values. Ugh.
12782
12783         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
12784
12785         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
12786         Renamed from controller_key, as it is exported.
12787
12788         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
12789
12790 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
12791
12792         * gst/Makefile.am:
12793         * gst/gst.h:
12794         * gst/gstpad.h:
12795         * gst/gstpadtemplate.h:
12796         * gst/gstquery.c:
12797         * gst/gstquery.h:
12798         * gst/gstqueryutils.c:
12799         * gst/gstqueryutils.h:
12800           remove queryutils headers after moving the two used functions
12801           to gstquery.  also fixes build problem for gstsiddec
12802
12803 2005-09-26  Michael Smith <msmith@fluendo.com>
12804
12805         * tools/gst-launch.1.in:
12806         Correct documentation in manpage of debug syntax
12807
12808 2005-09-26  Wim Taymans  <wim@fluendo.com>
12809
12810         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
12811         (gst_base_src_is_seekable), (gst_base_src_change_state):
12812         Some more debugging info.
12813
12814 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
12815
12816         * docs/gst/gstreamer-sections.txt:
12817         * gst/base/gstbasetransform.h:
12818         * gst/gstindex.h:
12819           added more docs
12820
12821 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
12822
12823         * docs/gst/.cvsignore:
12824         * docs/gst/tmpl/.cvsignore:
12825         * docs/gst/tmpl/gstpipeline.sgml:
12826         * docs/gst/tmpl/gstplugin.sgml:
12827         * gst/gstpipeline.c:
12828         * gst/gstplugin.c:
12829         * gst/gstplugin.h:
12830           inlined the last two docs files
12831           removed the tmpl directory from cvs (no more conflicts here!)
12832
12833 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
12834
12835         * docs/gst/gstreamer-sections.txt:
12836         * docs/gst/tmpl/.cvsignore:
12837         * docs/gst/tmpl/gstpad.sgml:
12838         * docs/gst/tmpl/gstpadtemplate.sgml:
12839         * gst/Makefile.am:
12840         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
12841         (gst_pad_finalize), (gst_pad_set_pad_template):
12842         * gst/gstpad.h:
12843         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
12844         (gst_pad_template_class_init), (gst_pad_template_init),
12845         (gst_pad_template_dispose), (name_is_valid),
12846         (gst_static_pad_template_get), (gst_pad_template_new),
12847         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
12848         (gst_pad_template_pad_created):
12849         * gst/gstpadtemplate.h:
12850           inlined two more docs
12851           factored gstpadtemplate out of gstpad
12852
12853 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
12854
12855         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
12856         (test_children_state_change_order_semi_sink):
12857           Fix test case: we can't rely on a fixed state change order when
12858           going from READY => PAUSED because the sink might commit its 
12859           new state first when the first buffer created by the source 
12860           reaches the sink before the source has finished its change state.
12861           (Test case still fails at times, see #316856, comment 5 onwards)
12862
12863 2005-09-24  Wim Taymans  <wim@fluendo.com>
12864
12865         * docs/design/part-events.txt:
12866         * docs/design/part-gstbus.txt:
12867         * docs/design/part-gstpipeline.txt:
12868         * docs/design/part-messages.txt:
12869         * docs/design/part-overview.txt:
12870         * docs/design/part-segments.txt:
12871         * gst/gstbin.c:
12872         * gst/gstbuffer.c:
12873         * gst/gstclock.c:
12874         * gst/gstelement.c:
12875         * gst/gstevent.c:
12876         * gst/gstfilter.c:
12877         * gst/gstiterator.c:
12878         Various documentation updates.
12879
12880 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
12881
12882         * gst/gstclock.h:
12883           Well, that's embarassing.  Luckily we weren't using
12884           GST_CLOCK_DIFF anywhere.
12885
12886 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
12887
12888         * common/gtk-doc.mak:
12889           don't fail on building XML, FC4 slave shows a bunch of doc
12890           missing bits that I don't get
12891         * gst/gstpad.c:
12892         * gst/gstpipeline.c:
12893         * gst/gststructure.c:
12894           some doc updates
12895
12896 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
12897
12898         * docs/design/part-gstbin.txt:
12899         * docs/design/part-gstbus.txt:
12900         * gst/gstbus.c:
12901           Add blurb about how the bus goes into flushing mode and
12902           drops all messages when its bin goes from READY into NULL 
12903           state.
12904
12905 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
12906
12907         * docs/gst/gstreamer-sections.txt:
12908         * gst/gststructure.c: (gst_structure_get_clock_time):
12909         * gst/gststructure.h:
12910           add a method to get a GstClockTime out of a structure
12911
12912 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
12913
12914         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
12915         (test_children_state_change_order_semi_sink), (gst_bin_suite):
12916           Added test to check state change order in bins (can still be made
12917           to fail here under heavy disk load; bails out with 'Push on pad
12918           fakesink:sink0, but it was not activated in push mode').
12919
12920         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
12921           Fix state change order when there is only a semi sink (#316856)
12922
12923         * gst/gstbus.c: (gst_bus_class_init):
12924           Use _class_peek_parent(), not _class_ref(); fix docs to say
12925           'default main context' instead of 'mainloop' where that is
12926           what's meant.
12927
12928         * gst/gstelement.c: (gst_element_commit_state),
12929         (gst_element_set_state):
12930           Fix typos in debug messages
12931
12932 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
12933
12934         * docs/README:
12935         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
12936         * gst/gstpluginfeature.c:
12937         * gst/gstutils.c:
12938           various doc updates
12939         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
12940           change an assert into an error until it gets fixed properly
12941
12942 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
12943
12944         * docs/gst/gstreamer-sections.txt:
12945         * docs/gst/tmpl/.cvsignore:
12946         * docs/gst/tmpl/gstelement.sgml:
12947         * docs/gst/tmpl/gstinfo.sgml:
12948         * docs/gst/tmpl/gstobject.sgml:
12949         * gst/gstelement.c:
12950         * gst/gstelement.h:
12951         * gst/gstinfo.c:
12952         * gst/gstinfo.h:
12953         * gst/gstobject.c: (gst_object_class_init):
12954         * gst/gstobject.h:
12955           inlined 3 more biiiig doc files and added some missing docs on the fly
12956
12957 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
12958
12959         * check/gst/.cvsignore:
12960         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
12961         * gst/gstregistryxml.c: (load_plugin),
12962         (gst_registry_xml_save_plugin):
12963           put back source in registry.  add checks for find_plugin.
12964         * testsuite/states/bin.c: (assert_state), (empty_bin),
12965         (test_adding_one_element), (main):
12966         * testsuite/states/locked.c: (main):
12967           some compile/run fixes
12968
12969 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
12970
12971         * check/gst/gstvalue.c: (GST_START_TEST):
12972           fix leaks in the test itself
12973
12974 2005-09-22  Wim Taymans  <wim@fluendo.com>
12975
12976         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
12977         (gst_base_sink_send_event), (gst_base_sink_peer_query),
12978         (gst_base_sink_query):
12979         Prepare for more accurate position reporting and query
12980         handling.
12981
12982         * gst/gstelement.c: (gst_element_send_event),
12983         (gst_element_set_state):
12984         Add some comment.
12985
12986 2005-09-22  Wim Taymans  <wim@fluendo.com>
12987
12988         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
12989         (gst_query_parse_segment):
12990         * gst/gstquery.h:
12991         More documentation.
12992         Add segment query for future use.
12993
12994 2005-09-22  Wim Taymans  <wim@fluendo.com>
12995
12996         * gst/gstbin.c: (gst_bin_add_func):
12997         Some more debug info.
12998
12999         * gst/gstelement.c: (gst_element_send_event):
13000         Simplify send_event
13001
13002         * gst/gstelement.h:
13003         Don't know how flags got broken.
13004
13005         * gst/gstquery.h:
13006         Added new query.
13007
13008 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
13009
13010         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
13011           Add simplistic test suite for GST_TYPE_DATE serialisation and
13012           deserialisation.
13013
13014 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
13015
13016         * docs/gst/gstreamer-sections.txt:
13017         * gst/gststructure.c: (gst_structure_set_valist),
13018         (gst_structure_get_date):
13019         * gst/gststructure.h:
13020         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
13021         (gst_date_copy), (gst_value_compare_date),
13022         (gst_value_serialize_date), (gst_value_deserialize_date),
13023         (gst_value_transform_date_string),
13024         (gst_value_transform_string_date), (_gst_value_initialize):
13025         * gst/gstvalue.h:
13026           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
13027           bunch of utility functions along with a hack that checks that
13028           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
13029           is required. Part of the grand scheme in #170777.
13030
13031 2005-09-22  Andy Wingo  <wingo@pobox.com>
13032
13033         * gst/gstconfig.h.in: Psych out gtk-doc.
13034
13035         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
13036
13037         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
13038
13039         * tools/gst-inspect.c (print_element_list): Plug some
13040         inconsequential leaks.
13041
13042         * gst/gstregistry.c (gst_registry_get_default): Doc.
13043
13044         * check/gst/gstplugin.c: 
13045         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
13046         * gst/gstelementfactory.c (gst_element_factory_create): 
13047         * gst/gstindexfactory.c (gst_index_factory_create): Update for
13048         refcount changes.
13049
13050         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
13051         (gst_plugin_feature_load): Doc, don't eat refs.
13052
13053         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
13054         (gst_plugin_list_free): Doc.
13055         (gst_plugin_load_file): Doc updates.
13056
13057         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
13058         accessors returning refcounted objects, return a ref.
13059
13060         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
13061         accessor for caps. IDEMPOTENCE. Oh yes.
13062
13063 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
13064
13065         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
13066
13067         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
13068         (_gst_debug_register_funcptr):
13069           Add mutex to serialise access to the hash table with
13070           the function pointer => function name string mapping;
13071           make that hash table static scope (#316809).
13072
13073         * gst/registries/.cvsignore:
13074           Remove left-over file.
13075
13076 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
13077
13078         * docs/pwg/appendix-porting.xml:
13079           And something about newsegment events and caps-on-buffers to
13080           the porting guide (feel free to improve).
13081
13082 2005-09-21  Andy Wingo  <wingo@pobox.com>
13083
13084         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
13085         data and event probes on the same pad.
13086         (test_buffer_probe_once): Test that removing probes from within
13087         the probe functions works.
13088
13089 2005-09-21  Andy Wingo  <wingo@pobox.com>
13090
13091         * check/gst/gstutils.c: New file.
13092         (test_buffer_probe_n_times): A simple buffer probe test. More to
13093         come, foolios.
13094
13095         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
13096         have-data::buffer, not have-data.
13097         (gst_pad_add_event_probe): Likewise for have-data::event.
13098         (gst_pad_add_data_probe): More docs. The part about 'resolving the
13099         peer' isn't quite right yet though.
13100         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
13101         (gst_pad_remove_data_probe): Change to take the guint handler_id
13102         as their arg, not the function+data, which is more glib-like.
13103
13104         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
13105         the signal emission to indicate if the data is a buffer or an
13106         event.
13107         (gst_pad_get_type): Initialize buffer and event quarks.
13108         (gst_pad_class_init): have-data is now a detailed signal, yes it
13109         is.
13110
13111 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
13112
13113         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
13114         * gst/gstutils.c: (gst_util_set_value_from_string),
13115         (gst_util_set_object_arg):
13116           Don't put functional code in g_return_if_fail() or
13117           g_return_val_if_fail() statements, otherwise things will 
13118           break when G_DISABLE_CHECKS is defined during compilation.
13119
13120 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
13121
13122         * docs/gst/tmpl/.cvsignore:
13123         * docs/gst/tmpl/gstvalue.sgml:
13124         * gst/gstvalue.c:
13125         * gst/gstvalue.h:
13126           inlied another one and added  some obvious docs
13127
13128 2005-09-21  Wim Taymans  <wim@fluendo.com>
13129
13130         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
13131         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
13132         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
13133         (gst_fdsrc_get_property), (gst_fdsrc_create):
13134         * gst/elements/gstfdsrc.h:
13135         Properly implement fdsrc. Removed signal and timeout,
13136         better implemented somewhere else.
13137
13138 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
13139
13140         * docs/gst/tmpl/.cvsignore:
13141         * docs/gst/tmpl/gstimplementsinterface.sgml:
13142         * gst/gstinterface.c:
13143           inlined more docs
13144
13145 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
13146
13147         * docs/gst/gstreamer-sections.txt:
13148         * docs/gst/tmpl/.cvsignore:
13149         * docs/gst/tmpl/gstenumtypes.sgml:
13150           remove obsolete doc file
13151
13152 2005-09-21  David Schleef  <ds@schleef.org>
13153
13154         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
13155         little beer, fix a little leak.
13156
13157 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
13158
13159         * docs/gst/gstreamer-docs.sgml:
13160         * docs/gst/gstreamer-sections.txt:
13161         * docs/gst/tmpl/.cvsignore:
13162         * gst/Makefile.am:
13163         * gst/gst.h:
13164         * gst/gstbin.c:
13165         * gst/gstelement.h:
13166         * gst/gstindex.c: (gst_index_class_init):
13167         * gst/gstindex.h:
13168         * gst/gstindexfactory.c: (gst_index_factory_get_type),
13169         (gst_index_factory_class_init), (gst_index_factory_init),
13170         (gst_index_factory_finalize), (gst_index_factory_new),
13171         (gst_index_factory_destroy), (gst_index_factory_find),
13172         (gst_index_factory_create), (gst_index_factory_make):
13173         * gst/gstindexfactory.h:
13174         * gst/gstpluginfeature.c:
13175         * gst/gstpluginfeature.h:
13176         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
13177           more docs inlined, splitted gstindex.{c,h}
13178
13179 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13180
13181         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
13182           fix a leak
13183
13184 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
13185
13186         * gst/elements/gstfilesink.c: (gst_file_sink_init):
13187           Set sync to FALSE by default.
13188
13189 2005-09-20  Wim Taymans  <wim@fluendo.com>
13190
13191         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
13192         (gst_base_sink_init):
13193         Make sync property settable from subclass.
13194
13195         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
13196         (gst_fake_sink_change_state):
13197         Set sync to FALSE by default.
13198
13199 2005-09-20  Wim Taymans  <wim@fluendo.com>
13200
13201         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
13202         * tools/gst-launch.c: (main):
13203         The timeout handler should have lower priority than the source
13204         so we don't timeout before popping a message with 0 timeout.
13205         Dump error messages after failed state change.
13206
13207 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
13208
13209         * tools/gst-inspect.c: (print_element_properties_info):
13210           Fix two typos.
13211
13212 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13213
13214         * check/gst/gstevent.c:
13215         * gst/elements/gstfakesink.c:
13216         * gst/elements/gstfakesink.h:
13217           remove the sync property from fakesink.
13218           has the side effect of setting sync TRUE
13219           for fakesink, which is a change.  Anyone who knows how
13220           to fix this nicely in a GObject-y way, feel free.
13221
13222 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
13223
13224         * docs/gst/gstreamer-docs.sgml:
13225           remove probe refsection
13226
13227 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
13228
13229         * check/Makefile.am:
13230           disable valgrinding the controller test again
13231         * docs/gst/gstreamer-sections.txt:
13232           update for api-changes
13233
13234 2005-09-20  Wim Taymans  <wim@fluendo.com>
13235
13236         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
13237         (gst_base_sink_set_property), (gst_base_sink_get_property),
13238         (gst_base_sink_do_sync):
13239         * gst/base/gstbasesink.h:
13240         Added sync property to basesink to disable clock sync.
13241
13242 2005-09-20  Andy Wingo  <wingo@pobox.com>
13243
13244         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
13245         eating the caller's refcount.
13246
13247         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
13248         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
13249         refcount.
13250
13251         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
13252         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
13253         of GLib 2.8 public, so we can know which refcount to check in
13254         tests.
13255
13256         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
13257         (gst_object_init): Only set the gst refcount if we're going ahead
13258         with the refcount hack.
13259
13260 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
13261
13262         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
13263         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
13264           more leaks plumbed, added more debug-logging
13265         * gst/gstmacros.h:
13266           whitespace fix
13267
13268 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13269
13270         * gst/gstmessage.c:
13271           remove include of gstmemchunk.h
13272
13273 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13274
13275         * gst/gstclock.c: (_gst_clock_id_free):
13276           Commit from the Political Party For More Atomic CVS Commits,
13277           so that people don't waste too much of their day fishing
13278           out obvious leaks out of massive commits.
13279           Oh, and fix a pretty damn obvious leak in the memchunk
13280           removal code.
13281
13282 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
13283
13284         * check/Makefile.am:
13285         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
13286           plug mem-leak, re-add to valgrindable tests
13287
13288 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13289
13290         * gst/gstplugin.h:
13291           unbreak the build for those who have chronic arthritis
13292           and typing "make check" is just too taxing on the hands
13293
13294 2005-09-20  Andy Wingo  <wingo@pobox.com>
13295
13296         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
13297         really want it out, you should fix plugins at the same time.
13298
13299 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
13300
13301         * configure.ac:
13302         * docs/gst/gstreamer-sections.txt:
13303         * gst/gstobject.c:
13304           added missing symbols to api docs
13305           disable ref-count hack if we have glib >= 2.8
13306
13307 2005-09-19  David Schleef  <ds@schleef.org>
13308
13309         * docs/gst/Makefile.am: Ignore a few more internal headers
13310         * docs/gst/gstreamer-docs.sgml: Remove old sections
13311         * docs/gst/gstreamer-sections.txt: Remove old sections
13312         * docs/gst/tmpl/gstobject.sgml: update
13313         * docs/gst/tmpl/gstplugin.sgml: update
13314         * docs/gst/tmpl/gstpluginfeature.sgml: update
13315         * docs/random/ds/0.9-suggested-changes: update.
13316         * gst/Makefile.am: remove memchunk and trashstack, since they're
13317           not used.
13318         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
13319         * gst/gst.h: don't include some headers
13320         * gst/gstchildproxy.c: add gstmarshal.h
13321         * gst/gstclock.c: Don't use memchunks
13322         * gst/gstminiobject.c: Add some docs
13323         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
13324         * gst/gstobject.h: same
13325         * gst/gstplugin.c: include gstmacros.h
13326         * gst/gstplugin.h: don't include gstmacros.h, since it's private
13327         * gst/gstquery.c: don't use memchunks
13328         * gst/gstregistry.c: rename gst_registry_deinit()
13329         * gst/gstregistry.h: same
13330
13331 2005-09-19  David Schleef  <ds@schleef.org>
13332
13333         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
13334         * docs/libs/gstreamer-libs-sections.txt:
13335         * docs/libs/tmpl/gstgetbits.sgml:
13336         * docs/libs/tmpl/gstputbits.sgml:
13337
13338 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
13339
13340         * win32/gstenumtypes.c:
13341         * win32/gstenumtypes.h:
13342           Update.
13343
13344 2005-09-19  Wim Taymans  <wim@fluendo.com>
13345
13346         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
13347         Automatically PAUSE and RESUME a pipeline when a flushing seek
13348         is performed.
13349
13350 2005-09-19  Andy Wingo  <wingo@pobox.com>
13351
13352         * gst/gstregistry.h: Spacing fixen.
13353
13354 2005-09-19  Wim Taymans  <wim@fluendo.com>
13355
13356         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
13357         Handle state change failure more correctly.
13358
13359 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13360
13361         * check/Makefile.am:
13362         * check/pipelines/cleanup.c: (run_pipeline):
13363         * check/pipelines/simple_launch_lines.c: (run_pipeline),
13364         (GST_START_TEST):
13365           enable cleanup again after fixing the leak
13366         * docs/README:
13367           some more info on docs
13368
13369 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13370
13371         * check/Makefile.am:
13372           re-enable tests now that leaks are plugged
13373         * check/gst/gst.c:
13374         * check/gst/gstbin.c:
13375         * check/gst/gstpipeline.c:
13376           add some more tests while fixing leaks
13377         * common/check.mak:
13378           make sure binaries are uptodate when valgrinding/gdbing
13379         * gst/gst.c:
13380         * gst/gstelementfactory.c:
13381           remove a ref too many, and add a FIXME for when we get
13382           round to disposing of classes
13383         * gst/gstplugin.c:
13384           fix the refcounting when loading a plugin from a file and
13385           the code pretends that the pointer is the same even though
13386           of course it can change
13387         * gst/gstpluginfeature.c:
13388           unref plugins marked cached (a bit confusing as a name)
13389           as the docs state should be done
13390           various doc additions to explain refcounting
13391         * gst/gstregistry.c:
13392         * gst/gstregistryxml.c:
13393           debugging
13394
13395 2005-09-19  Wim Taymans  <wim@fluendo.com>
13396
13397         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
13398         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
13399         (send_messages), (GST_START_TEST), (gstbus_suite):
13400         * check/gst/gstpipeline.c: (GST_START_TEST):
13401         * check/pipelines/cleanup.c: (run_pipeline):
13402         * check/pipelines/simple_launch_lines.c: (run_pipeline),
13403         (GST_START_TEST):
13404         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
13405         (gst_bus_source_check), (gst_bus_source_dispatch),
13406         (gst_bus_create_watch), (gst_bus_add_watch_full),
13407         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
13408         * gst/gstbus.h:
13409         * tools/gst-launch.c: (event_loop):
13410         * tools/gst-md5sum.c: (event_loop):
13411         GstBusHandler -> GstBusFunc, return value has the same meaning as
13412         any other GSource (FALSE == remove source).
13413         _add_watch() and _add_watch_full() now take a MessageType mask to
13414         only handle specific types of messages.
13415         _poll() returns the GstMessage instead of the message type to avoid
13416         race conditions.
13417         _have_pending() takes a MessageType mask now too.
13418         Added testsuite for multiple bus watches.
13419         Fix testsuites and applications for new bus API.
13420
13421 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13422
13423         * check/Makefile.am:
13424           mark a bunch of the tests as to fix until we fix them
13425
13426 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
13427
13428         * common/check.mak:
13429           use GST_PLUGIN settings for valgrind tests as well, so we're
13430           valgrinding the correct thing
13431         * gst/gst.c: (init_post):
13432           plug another leak
13433
13434 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
13435
13436         * gst/gst.c: (init_post), (gst_deinit):
13437         * gst/gstelementfactory.c: (gst_element_factory_class_init),
13438         (gst_element_factory_finalize), (gst_element_factory_cleanup):
13439         * gst/gstindex.c: (gst_index_factory_class_init),
13440         (gst_index_factory_finalize):
13441         * gst/gstobject.c: (gst_object_dispose):
13442         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
13443         (gst_plugin_load_file), (gst_plugin_desc_free):
13444         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
13445         (gst_plugin_feature_finalize):
13446         * gst/gstregistry.c: (gst_registry_class_init),
13447         (gst_registry_init), (gst_registry_finalize),
13448         (gst_registry_get_default), (gst_registry_deinit):
13449         * gst/gstregistry.h:
13450         * gst/gstregistryxml.c: (load_feature), (load_plugin):
13451           various cleanups and memleak plugging.  make valgrind is happy now.
13452
13453 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
13454
13455         * common/check.mak:
13456           add a check-valgrind target
13457
13458 2005-09-18  David Schleef  <ds@schleef.org>
13459
13460         * tools/gst-inspect.c: Revert the GOption code.
13461
13462 2005-09-17  David Schleef  <ds@schleef.org>
13463
13464         * check/Makefile.am: Fix environment variables.
13465         * check/gst/gstplugin.c: Fix for API changes.
13466         * tools/gst-inspect.c: Fix for API changes.
13467         * tools/gst-xmlinspect.c: Fix for API changes.
13468         * gst/gstelementfactory.c:
13469         * gst/gstplugin.c:
13470         * gst/gstplugin.h:
13471         * gst/gstpluginfeature.c:
13472         * gst/gstpluginfeature.h:
13473         * gst/gstregistry.c:
13474         * gst/gstregistry.h:
13475         * gst/gstregistryxml.c:
13476         * gst/gsttypefind.c:
13477         * gst/gsttypefindfactory.c:
13478         * gst/indexers/gstfileindex.c:
13479         * gst/indexers/gstmemindex.c:
13480         * gst/schedulers/Makefile.am:
13481           Change registry to keep track of both plugins and features,
13482           removing the feature tracking from plugins themselves.
13483
13484 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
13485
13486         * check/Makefile.am:
13487         * tools/gst-register.1.in:
13488           remove gst-register
13489
13490 2005-09-15  David Schleef  <ds@schleef.org>
13491
13492         * check/gst/gstplugin.c:
13493         * gst/gstelementfactory.c:
13494         * gst/gstplugin.c:
13495         * gst/gstpluginfeature.c:
13496         * gst/gstregistry.c:
13497           Getting tired of debugging.  Disabled all the unreffing of
13498           plugins and features, which fixes the segfaults, but of
13499           course leaks like crazy.  At least playbin works.
13500
13501 2005-09-15  David Schleef  <ds@schleef.org>
13502
13503         * check/gst/gstplugin.c: (register_check_elements),
13504         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
13505         More testing
13506         * gst/elements/gsttypefindelement.c: Fix refcounting.
13507         * gst/gsttypefind.c:
13508         * gst/gsttypefindfactory.c:
13509         * gst/gsttypefindfactory.h:
13510
13511 2005-09-15  David Schleef  <ds@schleef.org>
13512
13513         * gst/gstindex.c: get refcounting correct.
13514         * gst/gstregistry.c: Handle the case where a feature/plugin is
13515           not found.
13516
13517 2005-09-15  David Schleef  <ds@schleef.org>
13518
13519         * check/Makefile.am:
13520         * check/gst/gstplugin.c: Add test
13521         * gst/gstplugin.c: Fix problems noticed by testsuite
13522         * gst/gstplugin.h:
13523         * gst/gstregistry.c: 
13524         * gst/gstregistry.h:
13525
13526 2005-09-15  David Schleef  <ds@schleef.org>
13527
13528         * gst/gstplugin.c: Implement semi-decent recounting and locking
13529           in plugins and plugin features.
13530         * gst/gstplugin.h:
13531         * gst/gstpluginfeature.c:
13532         * gst/gstpluginfeature.h:
13533         * gst/gstregistry.c:
13534
13535 2005-09-15  Michael Smith <msmith@fluendo.com>
13536
13537         * gst/gstregistry.c: (gst_registry_get_feature_list):
13538           Implement this. Makes oggdemux work; decodebin still broken.
13539
13540 2005-09-14  David Schleef  <ds@schleef.org>
13541
13542         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
13543           #316076)
13544         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
13545         * gst/check/Makefile.am:
13546         * libs/gst/controller/Makefile.am:
13547         * libs/gst/dataprotocol/Makefile.am:
13548
13549 2005-09-14  David Schleef  <ds@schleef.org>
13550
13551         * configure.ac: Remove getbits library.  Nothing uses it, and
13552           it should be in something like liboil if someone did want
13553           to use it.
13554         * libs/gst/Makefile.am:
13555         * libs/gst/getbits/Makefile.am:
13556         * libs/gst/getbits/gbtest.c:
13557         * libs/gst/getbits/getbits.c:
13558         * libs/gst/getbits/getbits.h:
13559         * libs/gst/getbits/gstgetbits_generic.c:
13560         * libs/gst/getbits/gstgetbits_i386.s:
13561         * libs/gst/getbits/gstgetbits_inl.h:
13562
13563 2005-09-14  David Schleef  <ds@schleef.org>
13564
13565         * gst/Makefile.am: Dist glib-compat.h
13566
13567 2005-09-14  David Schleef  <ds@schleef.org>
13568
13569         * configure.ac: Remove gst/registries, since it's no longer used.
13570         * gst/registries/Makefile.am:
13571         * gst/registries/gstlibxmlregistry.c:
13572         * gst/registries/gstlibxmlregistry.h:
13573         * gst/registries/gstxmlregistry.c:
13574         * gst/registries/gstxmlregistry.h:
13575         * gst/registries/registrytest.c:
13576
13577 2005-09-14  David Schleef  <ds@schleef.org>
13578
13579         * gst/glib-compat.h:
13580         * gst/gstregistryxml.c:
13581           Convergence is near.  Seriously.
13582
13583 2005-09-14  David Schleef  <ds@schleef.org>
13584
13585         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
13586         * gst/glib-compat.h:
13587           Attempt #4 to appease the buildbots.
13588
13589 2005-09-14  David Schleef  <ds@schleef.org>
13590
13591         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
13592           Attempt #3.
13593
13594 2005-09-14  David Schleef  <ds@schleef.org>
13595
13596         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
13597         Attempt #2.
13598
13599 2005-09-14  David Schleef  <ds@schleef.org>
13600
13601         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
13602           the new functions.
13603
13604 2005-09-14  David Schleef  <ds@schleef.org>
13605
13606         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
13607         * gst/glib-compat.h: Add some functions that are in newer versions
13608           of glib than we care to require.
13609         * gst/gstregistryxml.c: Use them.
13610
13611 2005-09-14  David Schleef  <ds@schleef.org>
13612
13613         * po/POTFILES.in: remove gst-register.c
13614
13615 2005-09-14  David Schleef  <ds@schleef.org>
13616
13617         * docs/gst/gstreamer-docs.sgml:
13618         * docs/gst/gstreamer-sections.txt:
13619         * docs/gst/gstreamer.types:
13620         * docs/gst/tmpl/gstelement.sgml:
13621         * docs/gst/tmpl/gstplugin.sgml:
13622         * docs/gst/tmpl/gstpluginfeature.sgml:
13623           Documentation updates for registry changes.
13624
13625 2005-09-14  David Schleef  <ds@schleef.org>
13626
13627         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
13628           because we don't require glib-2.8.
13629
13630 2005-09-14  David Schleef  <ds@schleef.org>
13631
13632         * gst/gstregistryxml.c: Added.  Essentially moved out of the
13633           registries directory.
13634
13635 2005-09-14  David Schleef  <ds@schleef.org>
13636
13637         * check/Makefile.am:
13638         * check/generic/states.c:
13639         * gst/Makefile.am:
13640         * gst/gst.c:
13641         * gst/gst.h:
13642         * gst/gst_private.h:
13643         * gst/gstelementfactory.c:
13644         * gst/gstindex.c:
13645         * gst/gstinfo.c:
13646         * gst/gstplugin.c:
13647         * gst/gstplugin.h:
13648         * gst/gstpluginfeature.c:
13649         * gst/gstpluginfeature.h:
13650         * gst/gstregistry.c:
13651         * gst/gstregistry.h:
13652         * gst/gstregistrypool.c: remove
13653         * gst/gstregistrypool.h: remove
13654         * gst/gsttypefind.c:
13655         * gst/gsttypefindfactory.c:
13656         * gst/gsturi.c:
13657         * tools/Makefile.am:
13658         * tools/gst-compprep.c:
13659         * tools/gst-inspect.c:
13660         * tools/gst-register.c: remove
13661         * tools/gst-xmlinspect.c:
13662           Registry rewrite.  Changes registry from being a file created
13663           by a tool into a simple cache file created automatically by 
13664           libgstreamer.  Removed gst-register (because it's no longer
13665           needed).  Remove registry pools, because we only have one
13666           registry implementation (XML).  Fix up other subsystems as
13667           necessary.
13668
13669 2005-09-13  Michael Smith <msmith@fluendo.com>
13670
13671         * gst/gstconfig.h.in:
13672           Don't Use windows linking attributes for MinGW. Fixes #316157
13673
13674 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13675
13676         * gst/gstutils.c: (set_state_async_thread_func),
13677         (gst_element_set_state_async):
13678           Apparently people think it's better if this function doesn't
13679           try to set the state to whatever state was asked for on the first
13680           call to this function for any object.  Seriously.
13681
13682 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
13683
13684         * check/gst/gstpipeline.c: (GST_START_TEST):
13685         * docs/gst/gstreamer-sections.txt:
13686         * gst/gstutils.c: (set_state_async_thread_func),
13687         (gst_element_set_state_async):
13688         * gst/gstutils.h:
13689           add a "gst_element_set_state_async" method that
13690           sets the state and starts a thread to make sure the state
13691           change completes as best as it can
13692
13693 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
13694
13695         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
13696           codify design+behaviour in testsuite after discussion
13697
13698 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
13699
13700         * docs/gst/tmpl/gstelement.sgml:
13701         * docs/manual/appendix-quotes.xml:
13702           add a quote
13703         * gst/gstelement.c: (gst_element_set_state):
13704           add some debug
13705
13706 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
13707
13708         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
13709         (gst_base_transform_prepare_output_buf),
13710         (gst_base_transform_handle_buffer):
13711         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
13712         (gst_capsfilter_prepare_buf):
13713           Remove the requirement for sub-classes to call the parent
13714           implementation of prepare_output_buffer with a wrapper function.
13715           
13716         * gst/gsttaglist.h:
13717         * gst/gsttagsetter.h:
13718           Fix #define wrapper
13719
13720 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
13721
13722         * docs/gst/gstreamer-sections.txt:
13723           more doc cleanups
13724
13725 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
13726
13727         * docs/gst/gstreamer-sections.txt:
13728         * docs/gst/tmpl/gstelement.sgml:
13729         * docs/gst/tmpl/gstplugin.sgml:
13730         * gst/gstminiobject.c:
13731         * gst/gstvalue.h:
13732           docs now stop throwing warnings
13733
13734 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
13735
13736         * docs/gst/gstreamer-sections.txt:
13737         * docs/gst/gstreamer.types:
13738         * docs/gst/tmpl/gstpad.sgml:
13739         * docs/gst/tmpl/gsttypes.sgml:
13740         * gst/base/gstadapter.h:
13741         * gst/base/gstbasesink.h:
13742         * gst/base/gstbasesrc.h:
13743         * gst/gstbin.h:
13744         * gst/gstbuffer.h:
13745         * gst/gstbus.h:
13746         * gst/gstcaps.h:
13747         * gst/gstclock.h:
13748         * gst/gstelement.h:
13749         * gst/gstevent.h:
13750         * gst/gstmessage.h:
13751         * gst/gstpad.h:
13752         * gst/gststructure.c:
13753         * gst/registries/gstlibxmlregistry.h:
13754           various documentation fixes
13755
13756 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
13757
13758         * docs/gst/gstreamer-sections.txt:
13759         * docs/gst/tmpl/gstvalue.sgml:
13760           rearrange gstvalue section
13761         * gst/gstutils.c: (gst_element_state_get_name):
13762           NONE -> VOID
13763         * gst/gstvalue.c: (_gst_value_initialize):
13764         * gst/gstvalue.h:
13765           doc updates
13766
13767 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
13768
13769         * check/gst-libs/controller.c:
13770           Header include fix.
13771         * gst/base/gstbasetransform.c:
13772         (gst_base_transform_default_prepare_buf),
13773         (gst_base_transform_handle_buffer):
13774         * gst/base/gstbasetransform.h:
13775           Some more basetransform changes and fixes to enable sub-classes
13776           that modify buffer metadata only.
13777         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
13778         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
13779         (gst_capsfilter_prepare_buf):
13780           If the output pad has fixed allowed caps and input buffers 
13781           don't have any, set the fixed caps on outgoing buffers.
13782
13783 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
13784         * check/elements/identity.c: (GST_START_TEST):
13785           Make the error a little clearer when the test fails because
13786           identity made a copy of the buffer.
13787         * docs/gst/gstreamer-sections.txt:
13788           New symbols in gstbasetransform.h
13789         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
13790         (gst_base_transform_init), (gst_base_transform_transform_size),
13791         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
13792         (gst_base_transform_default_prepare_buf),
13793         (gst_base_transform_get_unit_size),
13794         (gst_base_transform_buffer_alloc),
13795         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
13796         (gst_base_transform_change_state),
13797         (gst_base_transform_set_passthrough),
13798         (gst_base_transform_set_in_place),
13799         (gst_base_transform_is_in_place):
13800         * gst/base/gstbasetransform.h:
13801           Change BaseTransform to separate in_place operate from same_caps
13802           output. in_place implies that the element can perform the transform
13803           on incoming buffers in-place, even if the caps on the output are
13804           different.
13805           Sub-class elements can now implement special buffer allocation
13806           methods for outgoing buffers if they wish to.
13807           Big documentation addition.
13808         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
13809         * gst/elements/gstelements.c:
13810           Changes for basetransform modifications.
13811         * gst/elements/Makefile.am:
13812         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
13813           Compile fix. Extra debug output.
13814
13815 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
13816
13817         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
13818         (gst_pad_suite):
13819           add tests for valid pad naming
13820         * gst/check/gstcheck.c: (gst_check_log_message_func),
13821         (gst_check_log_critical_func):
13822           add ASSERT_WARNING
13823           remove printing of code, it is fragile when the code contains
13824           % and the line number is enough info
13825         * gst/check/gstcheck.h:
13826         * gst/gstpad.c: (gst_pad_template_new):
13827           fix memleaks
13828
13829 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
13830
13831         * configure.ac:
13832           say what CHECK flags we use
13833         * docs/libs/gstreamer-libs.types:
13834         * libs/gst/controller/Makefile.am:
13835         * libs/gst/controller/gst-controller.c:
13836         * libs/gst/controller/gst-controller.h:
13837         * libs/gst/controller/gst-helper.c:
13838         * libs/gst/controller/gst-interpolation.c:
13839         * libs/gst/controller/gstcontroller.c:
13840         * libs/gst/controller/gsthelper.c:
13841         * libs/gst/controller/gstinterpolation.c:
13842         * tools/gst-inspect.c: (print_plugin_info):
13843           we don't use dashes in header names
13844
13845 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
13846
13847         * check/Makefile.am:
13848         * check/gst/.cvsignore:
13849         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
13850         (gst_pipeline_suite), (main):
13851           adding a test for pipelines and state changes
13852         * gst/gstutils.c: (get_state_func):
13853           add some debugging
13854         * gstreamer.spec.in:
13855           fix up spec file
13856
13857 2005-09-08  Michael Smith <msmith@fluendo.com>
13858
13859         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
13860         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
13861         (gst_file_src_is_seekable), (gst_file_src_get_size),
13862         (gst_file_src_start):
13863         * gst/elements/gstfilesrc.h:
13864           Various fixes for unseekable, unmmapable, and non-normal files, so
13865           that fallback to read() rather than mmap() works.
13866         * gst/gstevent.c: (gst_event_new_newsegment):
13867           Allow newsegment events with segment_start == segment_end, as will
13868           correctly happen if you use filesrc on a zero-size file, for
13869           example.
13870
13871 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
13872
13873         * gst/gstplugin.c: (gst_plugin_load_file):
13874           Call g_module_close when we don't load the module
13875
13876         * gst/registries/gstlibxmlregistry.c:
13877         (gst_xml_registry_get_property):
13878           Port leak fix from 0.8
13879
13880 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
13881
13882         * docs/gst/gstreamer-docs.sgml:
13883         * docs/gst/tmpl/.cvsignore:
13884         * docs/gst/tmpl/gsttrace.sgml:
13885         * docs/gst/tmpl/gsttrashstack.sgml:
13886         * gst/Makefile.am:
13887         * gst/gst.h:
13888         * gst/gstelement.h:
13889         * gst/gstevent.h:
13890         * gst/gstmessage.c:
13891         * gst/gstmessage.h:
13892         * gst/gsttag.c:
13893         * gst/gsttag.h:
13894         * gst/gsttaginterface.c:
13895         * gst/gsttaginterface.h:
13896         * gst/gsttaglist.c:
13897         * gst/gsttaglist.h:
13898         * gst/gsttagsetter.c:
13899         * gst/gsttagsetter.h:
13900         * gst/gsttrace.c:
13901         * gst/gsttrace.h:
13902         * gst/gsttrashstack.c:
13903           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
13904           inlined docs for gsttrace, gsttrashstack
13905
13906 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
13907
13908         * gst/Makefile.am:
13909         * gst/elements/gstbufferstore.h:
13910         * gst/elements/gsttypefindelement.c:
13911         * gst/elements/gsttypefindelement.h:
13912         * gst/gst.h:
13913         * gst/gsttypefind.c:
13914         * gst/gsttypefind.h:
13915         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
13916         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
13917         (gst_type_find_factory_dispose),
13918         (gst_type_find_factory_unload_thyself),
13919         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
13920         (gst_type_find_factory_get_caps),
13921         (gst_type_find_factory_get_extensions),
13922         (gst_type_find_factory_call_function):
13923         * gst/gsttypefindfactory.h:
13924         * gst/registries/gstlibxmlregistry.c:
13925         * gst/registries/gstxmlregistry.c:
13926           splitted gsttypefind into gsttypefind, gsttypefindfactory
13927
13928 2005-09-07  Andy Wingo  <wingo@pobox.com>
13929
13930         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
13931         condition whereby the pad's task function is entered before the
13932         pad_mode variable was set.
13933
13934 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
13935
13936         * gst/gstpad.c: (gst_pad_alloc_buffer):
13937           Catch misbehaving pad_alloc functions that don't
13938           set up caps and do it for them.
13939
13940 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
13941
13942         * check/pipelines/simple_launch_lines.c: (run_pipeline):
13943           test for pipe!=NULL
13944         * docs/gst/tmpl/.cvsignore:
13945         * docs/gst/tmpl/gstmemchunk.sgml:
13946         * docs/gst/tmpl/gstparse.sgml:
13947         * docs/gst/tmpl/gsttaglist.sgml:
13948         * docs/gst/tmpl/gsttagsetter.sgml:
13949         * docs/gst/tmpl/gsttypefind.sgml:
13950         * docs/gst/tmpl/gsttypefindfactory.sgml:
13951         * gst/gstmemchunk.c:
13952         * gst/gstparse.c:
13953         * gst/gsttag.c:
13954         * gst/gsttaginterface.c:
13955         * gst/gsttypefind.c:
13956         * gst/gsttypefind.h:
13957           inlined more docs
13958
13959 === release 0.9.2 ===
13960
13961 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
13962
13963         * NEWS:
13964         * RELEASE:
13965         * configure.ac:
13966           releasing 0.9.2, "South"
13967
13968 2005-09-05  Andy Wingo  <wingo@pobox.com>
13969
13970         * gst/registries/gstxmlregistry.h:
13971         * gst/registries/gstxmlregistry.c: Um... resurrect...
13972         
13973         * gst/registries/gstxmlregistry.h:
13974         * gst/registries/gstxmlregistry.c: and update to newer API.
13975         Incidentally they should be a bit faster now that they don't have
13976         to parse the caps.
13977         
13978 2005-09-05  Andy Wingo  <wingo@pobox.com>
13979
13980         * gst/registries/gstxmlregistry.h:
13981         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
13982         replaced by the libxml registry a while back
13983
13984 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
13985
13986         * docs/gst/tmpl/gstplugin.sgml:
13987         * gst/elements/gstelements.c:
13988         * gst/gst.c:
13989         * gst/gstplugin.c: (gst_plugin_register_func),
13990         (gst_plugin_desc_copy), (gst_plugin_desc_free),
13991         (gst_plugin_get_source):
13992         * gst/gstplugin.h:
13993         * gst/registries/gstlibxmlregistry.c: (load_plugin),
13994         (gst_xml_registry_save_plugin):
13995         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
13996         (gst_xml_registry_save_plugin):
13997         * tools/gst-inspect.c: (print_plugin_info):
13998           add a "source" plugin description field, to represent the source
13999           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
14000           will set it to PACKAGE, which is automake's idea of the name of
14001           the source project.
14002
14003 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
14004
14005         * Makefile.am:
14006         * autogen.sh:
14007         * configure.ac:
14008         * docs/Makefile.am:
14009         * docs/faq/Makefile.am:
14010         * docs/gst/tmpl/gstelement.sgml:
14011         * docs/gst/tmpl/gsttypes.sgml:
14012         * docs/htmlinstall.mak:
14013         * docs/manual/Makefile.am:
14014         * docs/pwg/Makefile.am:
14015           reorganize doc build a little
14016           split out docbook and gtk-doc stuff
14017           have two separate --enable's and enable them through autogen
14018           but disable by default in configure (to be similar to other
14019           projects)
14020         * gstreamer.spec.in:
14021           clean up docs install
14022         * po/af.po:
14023         * po/az.po:
14024         * po/ca.po:
14025         * po/cs.po:
14026         * po/de.po:
14027         * po/en_GB.po:
14028         * po/fr.po:
14029         * po/it.po:
14030         * po/nb.po:
14031         * po/nl.po:
14032         * po/ru.po:
14033         * po/sq.po:
14034         * po/sr.po:
14035         * po/sv.po:
14036         * po/tr.po:
14037         * po/uk.po:
14038         * po/vi.po:
14039           translation updates
14040
14041 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
14042
14043         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
14044           Add comment.
14045           
14046         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
14047         (gst_fake_sink_change_state):
14048           Make state change function thread-safe.
14049           
14050         * gst/gstpad.c: (gst_pad_alloc_buffer):
14051           Set offset on generic buffer allocated by fallback.
14052
14053 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
14054
14055         * docs/gst/gstreamer-sections.txt:
14056         * docs/gst/tmpl/gstelement.sgml:
14057         * gst/gstpad.c:
14058         * libs/gst/controller/gst-controller.c:
14059         (gst_controlled_property_set_interpolation_mode),
14060         (gst_controlled_property_new),
14061         (gst_controller_find_controlled_property):
14062          run the wingo-magic script against the docs
14063
14064 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
14065
14066         * docs/gst/gstreamer-docs.sgml:
14067         * docs/gst/gstreamer-sections.txt:
14068         * docs/gst/tmpl/.cvsignore:
14069         * docs/gst/tmpl/gstelementdetails.sgml:
14070         * docs/gst/tmpl/gstelementfactory.sgml:
14071         * gst/gst.c:
14072         * gst/gstbus.c:
14073         * gst/gstelementfactory.c:
14074         * gst/gstelementfactory.h:
14075           merged elementdetails docs into elementfactory docs
14076           inlined both
14077
14078 2005-09-02  Andy Wingo  <wingo@pobox.com>
14079
14080         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
14081         consider this enum an enum and not a flags.
14082
14083 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
14084
14085         * docs/gst/gstreamer-docs.sgml:
14086         * docs/gst/tmpl/.cvsignore:
14087         * docs/gst/tmpl/gstghostpad.sgml:
14088         * docs/gst/tmpl/gstiterator.sgml:
14089         * docs/gst/tmpl/gstmacros.sgml:
14090         * docs/gst/tmpl/gstrealpad.sgml:
14091         * docs/gst/tmpl/gstregistry.sgml:
14092         * docs/gst/tmpl/gstregistrypool.sgml:
14093         * docs/gst/tmpl/gststructure.sgml:
14094         * docs/gst/tmpl/gstsystemclock.sgml:
14095         * docs/gst/tmpl/gsttrace.sgml:
14096         * gst/gstghostpad.c:
14097         * gst/gstmacros.h:
14098         * gst/gstmemchunk.c:
14099         * gst/gstmemchunk.h:
14100         * gst/gstqueue.c:
14101         * gst/gstregistry.c:
14102         * gst/gstregistrypool.c:
14103         * gst/gststructure.c:
14104         * gst/gstsystemclock.c:
14105           more docs inlined
14106
14107 2005-09-02  Andy Wingo  <wingo@pobox.com>
14108
14109         * gst/gstelement.h (GstState): Renamed from GstElementState,
14110         changed to be a normal enum instead of flags.
14111         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
14112         munged to be GST_STATE_CHANGE_*.
14113         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
14114         work with the new state representation.
14115         (GstStateChange): New enumeration of possible state transitions.
14116         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
14117         (GstElementClass::change_state): Pass the GstStateChange along as
14118         an argument. Helps language bindings, so they don't have to use
14119         tricky lock-needing macros like GST_STATE_CHANGE ().
14120
14121         * scripts/update-states (file): New script. Run it on a file to
14122         update it for state naming and API changes. Updates files in
14123         place.
14124
14125         * All files updated for the new API.
14126
14127 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14128
14129         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
14130         * gst/gstutils.c: (gst_util_set_value_from_string),
14131         (gst_util_set_object_arg):
14132           fix a bunch of unchecked return values
14133         * tools/gst-complete.c: (main):
14134         * gstreamer.spec.in:
14135           clean up a little
14136
14137 2005-09-01  Wim Taymans  <wim@fluendo.com>
14138
14139         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14140         (gst_base_sink_event), (gst_base_sink_do_sync),
14141         (gst_base_sink_handle_event):
14142         * gst/base/gstbasesink.h:
14143         Handle newsegments more correctly.
14144
14145         * gst/gstbus.c:
14146         Fix docs.
14147
14148         * gst/gstevent.c: (gst_event_new_newsegment):
14149         A newsegment cannot have a start_time of -1
14150
14151 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
14152
14153         * win32/gstenumtypes.c:
14154         * win32/gstenumtypes.h:
14155           Update
14156
14157 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
14158
14159         * libs/gst/controller/gst-controller.c:
14160         (gst_controlled_property_set_interpolation_mode),
14161         (gst_controlled_property_new):
14162          fixed boolean again
14163
14164 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
14165
14166         * docs/faq/gst-uninstalled:
14167           add -good
14168         * gst/gstevent.c:
14169         * gst/gstevent.h:
14170           remove wrong docs
14171         * gst/gstutils.c: (gst_element_link_filtered):
14172         * gst/gstutils.h:
14173           add gst_element_link_filtered
14174
14175 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
14176
14177         * docs/gst/gstreamer-docs.sgml:
14178         * docs/gst/gstreamer-sections.txt:
14179         * docs/gst/tmpl/.cvsignore:
14180         * docs/gst/tmpl/gsterror.sgml:
14181         * docs/gst/tmpl/gstfilter.sgml:
14182         * docs/gst/tmpl/gsturihandler.sgml:
14183         * docs/gst/tmpl/gsturitype.sgml:
14184         * docs/gst/tmpl/gstutils.sgml:
14185         * docs/gst/tmpl/gstxml.sgml:
14186         * gst/gsterror.c:
14187         * gst/gsterror.h:
14188         * gst/gstfilter.c:
14189         * gst/gsturi.c:
14190         * gst/gsturitype.c:
14191         * gst/gstutils.c:
14192         * gst/gstxml.c:
14193           inlined more docs, fixed double id-ref
14194
14195 2005-08-31  Wim Taymans  <wim@fluendo.com>
14196
14197         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
14198         (gst_base_transform_handle_buffer):
14199         Passthrough elements don't need the caps as they don't care.
14200
14201 2005-08-31  Wim Taymans  <wim@fluendo.com>
14202
14203         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
14204         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
14205         Don't leak refcounts on buffers.
14206
14207 2005-08-31  Wim Taymans  <wim@fluendo.com>
14208
14209         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
14210         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
14211         (gst_base_transform_chain), (gst_base_transform_change_state):
14212         * gst/base/gstbasetransform.h:
14213         Handle the case where we are not negotiated more gracefully.
14214
14215 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
14216
14217         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
14218         (gst_file_src_map_region):
14219           Set READONLY flag on mmap'ed buffers, otherwise
14220           gst_buffer_make_writable() won't work properly (#314708).
14221
14222 2005-08-31  Wim Taymans  <wim@fluendo.com>
14223
14224         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
14225         passthrough elements can even do inplace on non writable
14226         buffers (as they don't touch them).
14227
14228 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
14229
14230         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
14231         (gst_test_mono_source_set_property),
14232         (gst_test_mono_source_class_init), (GST_START_TEST),
14233         (gst_controller_suite):
14234           more tests (hehe I have the most)
14235         * gst/gstbus.c:
14236           describe popping messages whenusing mulltiple sources
14237         * libs/gst/controller/gst-controller.c:
14238         (gst_controlled_property_set_interpolation_mode),
14239         (gst_controlled_property_new):
14240         * libs/gst/controller/gst-controller.h:
14241         * libs/gst/controller/gst-interpolation.c:
14242           implement boolean properties
14243
14244 2005-08-31  Wim Taymans  <wim@fluendo.com>
14245
14246         * gst/gstminiobject.c: (gst_mini_object_ref):
14247         Cannot assert that the refcount has to be positive
14248         since a disposed object can be resurrected.
14249
14250 2005-08-31  Wim Taymans  <wim@fluendo.com>
14251
14252         * gst/gstpad.c: (gst_pad_init):
14253         Revert change, need to first fix badly behaving 
14254         apps.
14255
14256 2005-08-30  Wim Taymans  <wim@fluendo.com>
14257
14258         * check/elements/fakesrc.c: (setup_fakesrc):
14259         * check/elements/identity.c: (setup_identity):
14260         Activate pads before using them.
14261
14262 2005-08-30  Wim Taymans  <wim@fluendo.com>
14263
14264         * gst/base/gstadapter.c: (gst_adapter_flush):
14265         Flushing out 0 bytes is ok for this function.
14266
14267         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
14268         no newsegment gives a warning and sets the start/stop to 
14269         invalid.
14270
14271         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
14272         (gst_base_transform_set_passthrough):
14273         Some debug info.
14274
14275         * gst/gstminiobject.c: (gst_mini_object_ref):
14276         Check refcount here too.
14277
14278         * gst/gstpad.c: (gst_pad_init):
14279         Pads are initially flushing and refusing data.
14280
14281         * gst/gstutils.c: (gst_element_link_pads_filtered):
14282         When adding a capsfilter element make sure it has the
14283         same state as the parent bin.
14284
14285 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
14286
14287         * docs/gst/tmpl/.cvsignore:
14288         * docs/gst/tmpl/gstformat.sgml:
14289         * docs/gst/tmpl/gstversion.sgml:
14290         * gst/gstbus.h:
14291         * gst/gstformat.c:
14292         * gst/gstformat.h:
14293         * gst/gstversion.h.in:
14294           more docs and two more inlined
14295
14296 2005-08-30  Wim Taymans  <wim@fluendo.com>
14297
14298         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
14299         Don't sync to clock.
14300
14301 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
14302
14303         * docs/gst/gstreamer-sections.txt:
14304           ultral33t func10ns deserve to appear in the docs actually
14305         * docs/gst/tmpl/.cvsignore:
14306         * docs/gst/tmpl/gstcompat.sgml:
14307         * docs/gst/tmpl/gstconfig.sgml:
14308         * gst/check/gstcheck.c:
14309         * gst/gstcompat.h:
14310         * gst/gstconfig.h.in:
14311           inlined more docs
14312
14313 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
14314
14315         * docs/gst/tmpl/.cvsignore:
14316         * docs/gst/tmpl/gstquery.sgml:
14317         * docs/gst/tmpl/gstutils.sgml:
14318         * gst/gstquery.c:
14319         * gst/gstquery.h:
14320           inlined and extended docs
14321
14322 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
14323
14324         * check/gst-libs/controller.c: (GST_START_TEST),
14325         (gst_controller_suite):
14326           more tests
14327         * docs/gst/tmpl/gstutils.sgml:
14328         * docs/libs/gstreamer-libs-sections.txt:
14329         * docs/libs/tmpl/gstdataprotocol.sgml:
14330           include path fixes
14331         * examples/controller/audio-example.c: (main):
14332           controller example works now
14333         * gst/gstclock.h:
14334           doc fixes
14335         * tools/gst-inspect.c: (print_element_properties_info):
14336           show param spec flags
14337
14338 2005-08-29  Andy Wingo  <wingo@pobox.com>
14339
14340         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
14341
14342 2005-08-28  Andy Wingo  <wingo@pobox.com>
14343
14344         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
14345         as having two arguments instead of just one. Allows superclasses
14346         to access information on subclasses -- see the terrible for() loop
14347         in gtype.c:g_type_create_instance for the reason why. All callers
14348         changed.
14349
14350 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
14351
14352         * docs/design/part-messages.txt:
14353           update info
14354         * docs/gst/tmpl/.cvsignore:
14355         * docs/gst/tmpl/gstcaps.sgml:
14356         * docs/gst/tmpl/gstclock.sgml:
14357         * gst/gstbus.c:
14358         * gst/gstcaps.c:
14359         * gst/gstcaps.h:
14360         * gst/gstclock.c:
14361         * gst/gstclock.h:
14362         * gst/gstmessage.c:
14363           added descriptions for bus and message
14364           inline caps and clock docs
14365
14366 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
14367
14368         * gst/gstmessage.c:
14369         * gst/gstmessage.h:
14370           doc fixes
14371
14372 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
14373
14374         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
14375           fix div-by-zero
14376
14377 2005-08-26  Andy Wingo  <wingo@pobox.com>
14378
14379         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
14380         element_set_state's return val.
14381         (test_2_elements): Add test that's been disabled for months.
14382
14383         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
14384         can-activate-pull properties.
14385
14386         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
14387         can-activate-pull properties. Implement is_seekable so fakesrc can
14388         operate in pull mode.
14389
14390         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
14391         properties.
14392         (gst_base_sink_activate, gst_base_sink_activate_pull)
14393         (gst_base_sink_activate_push): Make activation mode choosing work.
14394         Cleanups.
14395         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
14396         is right. Make pull mode work. Post an eos before pausing in pull
14397         mode.
14398         (gst_base_sink_change_state): Pay attention to the core's
14399         change_state() return val.
14400         
14401         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
14402         has-getrange properties. Cleanups.
14403         
14404         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
14405         has_getrange and replace with can_activate_pull and
14406         can_activate_push.
14407
14408         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
14409         locking comments. Remove has_loop, has_chain and replace with
14410         can_activate_pull and can_activate_push.
14411
14412 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
14413
14414         * configure.ac:
14415         * examples/Makefile.am:
14416         * examples/metadata/Makefile.am:
14417         * examples/metadata/read-metadata.c: (message_loop),
14418         (have_pad_handler), (make_pipeline), (print_tag), (main):
14419           Add metadata reading example that loops over a list of filenames,
14420           dumping any tags found.
14421
14422         * gst/gstbus.c: (gst_bus_dispose):
14423         * gst/gstelement.c: (gst_element_dispose):
14424           Release a few potentially-held references in dispose.
14425
14426 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
14427
14428         * docs/gst/tmpl/gstminiobject.sgml:
14429           do *not* add tmpl/*.sgml files to CVS!
14430
14431 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
14432
14433         * libs/gst/bytestream/.cvsignore:
14434         * libs/gst/bytestream/Makefile.am:
14435         * libs/gst/bytestream/adapter.c:
14436         * libs/gst/bytestream/adapter.h:
14437         * libs/gst/bytestream/bytestream.c:
14438         * libs/gst/bytestream/bytestream.h:
14439         * libs/gst/bytestream/filepad.c:
14440         * libs/gst/bytestream/filepad.h:
14441           removing obsolete files
14442
14443 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
14444
14445         * docs/gst/gstreamer-docs.sgml:
14446         * docs/libs/gstreamer-libs-docs.sgml:
14447           disabed additional index entries again, as this makes docs-gen just
14448           slow and they aren't useful yet
14449         * docs/libs/gstreamer-libs-sections.txt:
14450           little -section.txt cleanup for libs
14451
14452 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
14453
14454         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
14455         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
14456           fix up some debugging
14457         (gst_base_transform_get_unit_size),
14458         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
14459         (gst_base_transform_handle_buffer):
14460         * gst/base/gstbasetransform.h:
14461           handle and store timed NEWSEGMENT events so that subclasses that
14462           calculate time by counting samples have a segment_start time they
14463           need to add to their timestamps - see audioresample
14464
14465 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
14466
14467         * gst/gstbin.h:
14468           removed ';' from the end of macro defs
14469         * docs/gst/gstreamer-docs.sgml:
14470         * docs/gst/gstreamer-sections.txt:
14471         * docs/gst/tmpl/.cvsignore:
14472         * gst/gstbus.h:
14473         * gst/gstelement.c: (gst_element_class_init),
14474         (gst_element_set_state), (activate_pads),
14475         (gst_element_save_thyself):
14476         * gst/gstevent.c: (gst_event_new_newsegment):
14477         * gst/gstevent.h:
14478         * gst/gstiterator.c:
14479         * gst/gstiterator.h:
14480         * gst/gstpad.c:
14481         * gst/gstprobe.h:
14482         * gst/gstutils.c: (gst_pad_query_convert):
14483         * gst/gstutils.h:
14484           fixed parameter name mismatches between source, header and docs
14485           added some more docs, resolved the last batch of unused elements in
14486           docs (now someone needs to doc them)
14487
14488 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
14489
14490         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
14491         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
14492           don't walk through the plugins backwards.  Where is all this
14493           reversed logic coming from ?
14494
14495 2005-08-25  Wim Taymans  <wim@fluendo.com>
14496
14497         * gst/base/gstbasetransform.c: (gst_base_transform_init),
14498         (gst_base_transform_transform_size),
14499         (gst_base_transform_configure_caps),
14500         (gst_base_transform_get_unit_size),
14501         (gst_base_transform_buffer_alloc),
14502         (gst_base_transform_change_state):
14503         * gst/base/gstbasetransform.h:
14504         Cache caps unit_size.
14505         Make sure we cannot negotiate up and downstream at the
14506         same time.
14507
14508 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
14509
14510         * gst/gst.c: (init_pre), (init_post):
14511           register the installed plugin path after the env var
14512         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
14513         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
14514           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
14515           directories, so the tests can prefer uninstalled over installed
14516
14517 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
14518
14519         * gst/base/gstbasetransform.h:
14520           comment
14521         * gst/gstpad.c:
14522           add to docs
14523
14524 2005-08-25  Wim Taymans  <wim@fluendo.com>
14525
14526         * gst/gstbin.c: (bin_bus_handler):
14527         Be a bit more conservative about the posted message.
14528         
14529         * gst/gstbus.c: (gst_bus_post):
14530         Some cleanups, warn wrong return values.
14531
14532 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
14533
14534         * check/gst/gstbin.c: (GST_START_TEST):
14535         * gst/gstbin.c: (bin_bus_handler):
14536         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
14537         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
14538         (gst_message_new_warning), (gst_message_new_tag),
14539         (gst_message_new_state_changed), (gst_message_new_segment_start),
14540         (gst_message_new_segment_done), (gst_message_new_custom):
14541         * gst/gstmessage.h:
14542         * tools/gst-launch.c: (event_loop):
14543         * tools/gst-md5sum.c: (event_loop):
14544           Revert unpopular change for GST_MESSAGE_SRC to GObject.
14545
14546 2005-08-25  Wim Taymans  <wim@fluendo.com>
14547
14548         * check/generic/states.c: (GST_START_TEST):
14549         Cleanup can be done at the end.
14550
14551         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
14552         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
14553         (gst_task_get_state), (gst_task_start), (gst_task_pause):
14554         Oh boy.. Thanks for finding this, Thomas. 
14555
14556 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
14557
14558         * docs/gst/gstreamer.types:
14559           added missing types
14560
14561 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
14562
14563         * docs/gst/gstreamer-docs.sgml:
14564         * docs/gst/gstreamer-sections.txt:
14565         * docs/gst/tmpl/.cvsignore:
14566         * gst/gstbin.c:
14567         * gst/gstiterator.c:
14568         * gst/gstutils.c:
14569         * gst/registries/gstxmlregistry.h:
14570           added missing classes and symbols (123 more to go)
14571           removed removed symbols from section file
14572           fixed many doc-comments
14573
14574 2005-08-24  Wim Taymans  <wim@fluendo.com>
14575
14576         * check/generic/states.c: (GST_START_TEST):
14577         Make sure all tasks are stopped.
14578
14579         * check/gst/gstbin.c: (GST_START_TEST):
14580         Unref after usage for proper valgrinding.
14581
14582         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
14583         Really wait for the task to stop before destroying the
14584         mutex.
14585
14586         * gst/gstqueue.c: (gst_queue_sink_activate_push),
14587         (gst_queue_src_activate_push):
14588         Small cleanups. Don't stop the task when we did not start
14589         it.
14590
14591         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
14592         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
14593         (gst_task_get_state), (gst_task_start), (gst_task_pause),
14594         (gst_task_join):
14595         * gst/gsttask.h:
14596         Protect the stream lock with the object lock.
14597         Disallow setting the stream lock when running.
14598         Add cleanup_all to wait for the threadpool to finish.
14599         Remove code to autoallocate a mutex if none was provided.
14600         Add _join() to wait for a task to stop.
14601         Protect the thread pool with a global lock.
14602
14603 2005-08-24  Wim Taymans  <wim@fluendo.com>
14604
14605         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14606         (gst_base_sink_get_times), (gst_base_sink_do_sync),
14607         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
14608         * gst/base/gstbasesink.h:
14609         Handle newsegment events correctly.
14610         Drop buffers out of the segment range.
14611
14612 2005-08-22  Andy Wingo  <wingo@pobox.com>
14613
14614         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
14615         macro, implements an interface and gstimplementsinterface for a
14616         new type.
14617
14618 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
14619
14620         * check/Makefile.am:
14621         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
14622           add a test that does a bunch of state changes on elements
14623           needs some fixing for valgrind
14624         * check/states/sinks.c: (gst_object_suite):
14625           whitespace
14626         * gst/gstcaps.h:
14627           add prototype for gst_caps_is_equal_fixed
14628         * gst/gstplugin.c:
14629         * gst/gstregistrypool.c:
14630           doc fixes
14631
14632 2005-08-24  Andy Wingo  <wingo@pobox.com>
14633
14634         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
14635         convert a negative value. Doesn't make much sense. Mostly this is
14636         here to force callers to ensure -1 maps to -1.
14637
14638 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
14639
14640         * docs/pwg/advanced-types.xml:
14641           Well done to Michael for catching my deliberate introduction
14642           of this spelling mistake. 
14643         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
14644         * gst/gstelement.h:
14645           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
14646           unlink pads before removing the element from the bin.
14647
14648 2005-08-24  Andy Wingo  <wingo@pobox.com>
14649
14650         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
14651         the same thing as GST_DEBUG=*:4.
14652         (parse_debug_level, parse_debug_category): New helper parsers.
14653
14654 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
14655
14656         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
14657         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
14658         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
14659         (gst_base_transform_buffer_alloc),
14660         (gst_base_transform_handle_buffer):
14661           use gboolean return values and pointers to size so we can use the
14662           full GST_BUFFER_SIZE range (guint) for buffer sizes
14663           use GstPadDirection for transform_caps
14664         * gst/base/gstbasetransform.h:
14665           rename get_size to get_unit_size since that's what it is
14666         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
14667           use GstPadDirection for transform_caps
14668         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
14669         * gst/gstutils.h:
14670           cleanup and debugging
14671
14672 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
14673
14674         * gst/gstelement.c: (gst_element_class_init),
14675         (gst_element_set_state), (activate_pads),
14676         (gst_element_save_thyself):
14677         * tools/gst-compprep.c: (main):
14678         * tools/gst-inspect.c: (print_element_properties_info):
14679         * tools/gst-xmlinspect.c: (print_element_properties):
14680           Fixed long standing mem-leak
14681
14682 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
14683
14684         * check/gst/gstbin.c: (GST_START_TEST):
14685         * gst/gstbin.c: (bin_bus_handler):
14686         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
14687         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
14688         (gst_message_new_warning), (gst_message_new_tag),
14689         (gst_message_new_state_changed), (gst_message_new_segment_start),
14690         (gst_message_new_segment_done), (gst_message_new_custom):
14691         * gst/gstmessage.h:
14692         * tools/gst-launch.c: (event_loop):
14693         * tools/gst-md5sum.c: (event_loop):
14694           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
14695           that applications can sensibly post custom messages with references
14696           to their own objects.
14697
14698 2005-08-24  Andy Wingo  <wingo@pobox.com>
14699
14700         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
14701         already.
14702
14703 2005-08-24  Wim Taymans  <wim@fluendo.com>
14704
14705         * gst/base/gstbasetransform.c: (gst_base_transform_init),
14706         (gst_base_transform_transform_caps),
14707         (gst_base_transform_transform_size),
14708         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
14709         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
14710         (gst_base_transform_handle_buffer):
14711         * gst/base/gstbasetransform.h:
14712         Many fixes and new features added by Thomas. Can now also do
14713         transforms with variable sizes and a custom fixate_caps function.
14714
14715 2005-08-24  Wim Taymans  <wim@fluendo.com>
14716
14717         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
14718         Some debugging.
14719
14720         * gst/gstclock.h:
14721         Cast to ClockTime before formatting to time.
14722
14723         * gst/gstutils.h:
14724         Cleanups.
14725
14726 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
14727
14728         * check/gst-libs/controller.c: (GST_START_TEST),
14729         (gst_controller_suite):
14730         * docs/gst/tmpl/gstcaps.sgml:
14731         * docs/gst/tmpl/gstghostpad.sgml:
14732         * docs/gst/tmpl/gstquery.sgml:
14733         * docs/gst/tmpl/gstutils.sgml:
14734         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
14735         (gst_object_sink_values), (gst_object_get_value_arrays),
14736         (gst_object_get_value_array):
14737           gracefully handle helper method calls to objects that are not beeing
14738           controlled, added test case for that          
14739
14740 2005-08-23  Wim Taymans  <wim@fluendo.com>
14741
14742         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
14743         (gst_event_new_newsegment), (gst_event_parse_newsegment),
14744         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
14745         (gst_event_parse_qos), (gst_event_new_seek),
14746         (gst_event_parse_seek):
14747         * gst/gstevent.h:
14748         Some more debugging output and doc cleanups.
14749
14750         * gst/gstqueue.c: (gst_queue_handle_sink_event):
14751         Fix possible deadlock.
14752
14753 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
14754
14755         * docs/gst/gstreamer-docs.sgml:
14756         * docs/gst/gstreamer-sections.txt:
14757         * docs/gst/gstreamer.types:
14758         * docs/gst/tmpl/.cvsignore:
14759         * gst/gstbin.h:
14760         * gst/gstbus.c:
14761         * gst/gstelement.c:
14762         * gst/gstevent.h:
14763           added 100 symbols from gstreamer-unused.txt to the right sections
14764           fixed more broken comments
14765           added GstBus to docs
14766
14767 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
14768
14769         * docs/gst/gstreamer-sections.txt:
14770         * docs/gst/tmpl/.cvsignore:
14771         * docs/gst/tmpl/gstbin.sgml:
14772         * docs/gst/tmpl/gstbuffer.sgml:
14773         * gst/base/gstbasesrc.c:
14774         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
14775         * gst/gstbuffer.c:
14776         * gst/gstbuffer.h:
14777         * tools/gst-launch.1.in:
14778           inlined more doc comments, added missing comments and fixed comments
14779           fixed typos
14780
14781 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
14782
14783         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
14784           some debugging
14785         * gst/gstcaps.h:
14786           whitespace fixes
14787         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
14788           more debugging
14789         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
14790         * gst/gststructure.h:
14791           add a fixate function for booleans; add a FIXME that these func
14792           names should probably be gst_structure_fixate_*
14793
14794 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
14795
14796         * docs/gst/gstreamer-docs.sgml:
14797         * docs/gst/gstreamer-sections.txt:
14798         * gst/Makefile.am:
14799         * gst/gstbin.c: (gst_bin_get_type),
14800         (gst_bin_child_proxy_get_child_by_index),
14801         (gst_bin_child_proxy_get_children_count),
14802         (gst_bin_child_proxy_init):
14803         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
14804         (gst_child_proxy_get_child_by_index),
14805         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
14806         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
14807         (gst_child_proxy_get), (gst_child_proxy_set_property),
14808         (gst_child_proxy_set_valist), (gst_child_proxy_set),
14809         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
14810         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
14811         * gst/gstchildproxy.h:
14812         * gst/parse/grammar.y:
14813         * tools/gst-inspect.c: (print_interfaces),
14814         (print_element_properties_info), (print_element_info):
14815           ported gstchildproxy over from 0.8
14816           ported gst-inspect fixes and enhancements over from 0.8
14817
14818 2005-08-22  Wim Taymans  <wim@fluendo.com>
14819
14820         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
14821         (gst_base_transform_handle_buffer):
14822         Also call the transform function if we have ANY caps.
14823
14824         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
14825         Fix debug info.
14826
14827 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
14828
14829         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
14830           Don't pretend to handle seek events if the source is not seekable
14831
14832 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
14833
14834         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
14835           Remove extra parameter to debug output
14836
14837         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
14838         (gst_base_src_do_seek), (gst_base_src_activate_push):
14839           Fix seek event handling.
14840
14841         * gst/gstpipeline.c: (gst_pipeline_change_state):
14842         * gst/gstqueue.c: (gst_queue_handle_sink_event),
14843         (gst_queue_src_activate_push):
14844           Don't start the src pad task on FLUSH_STOP if the pad
14845           isn't linked.
14846           Debug changes.
14847
14848 2005-08-22  Wim Taymans  <wim@fluendo.com>
14849
14850         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
14851         Added check for gst_static_caps_get() refcounting.
14852
14853 2005-08-22  Wim Taymans  <wim@fluendo.com>
14854
14855         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
14856         Make _static_caps_get() refcounting sane.
14857         
14858         * gst/gstelement.c: (gst_element_set_state):
14859         Add g_return_val_if_fail() to protect against segfaults.
14860
14861 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
14862
14863         * docs/gst/tmpl/gstevent.sgml:
14864         * gst/gstevent.c:
14865         * gst/gstevent.h:
14866           inlined remaining docs, added missing doc comments
14867
14868 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
14869
14870         * check/gst/gstbin.c: (GST_START_TEST):
14871           since we don't know when preroll is done, use refcount range
14872           check for the sink
14873         * gst/check/gstcheck.h:
14874           add macro for checking refcount range
14875
14876 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
14877
14878         * check/Makefile.am:
14879           clean up environment for when registry gets built versus
14880           when actual tests are run; valgrind seems to not report
14881           leaks if GST_PLUGIN_PATH is set to some specific values
14882         * check/gst/gstbin.c: (GST_START_TEST):
14883           add more refcounting checks; maybe this exposes a
14884           preroll lock bug ?
14885         * common/check.mak:
14886         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
14887         * gst/check/gstcheck.h:
14888         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
14889         (gst_bin_change_state):
14890         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
14891           add/fix debugging/whitespace
14892
14893 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
14894
14895         * check/gst/gstevent.c: (event_probe), (test_event),
14896         (GST_START_TEST):
14897          Er, don't call gst_bin_watch_for_state_change you idiot.
14898
14899 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
14900
14901         * check/Makefile.am:
14902           Use CHECK_CFLAGS and CHECK_LIBS
14903         * check/gst/gstevent.c: (event_probe), (test_event),
14904         (GST_START_TEST):
14905           Don't leak events.
14906         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
14907         (gst_base_src_start), (gst_base_src_stop),
14908         (gst_base_src_activate_push), (gst_base_src_activate_pull),
14909         (gst_base_src_change_state):
14910           Sprinkle gst_base_src_stop liberally around error paths to fix
14911           problems reusing a source after failed state changes.
14912         * gst/base/gsttypefindhelper.c: (helper_find_peek),
14913         (helper_find_suggest), (gst_type_find_helper):
14914           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
14915         * gst/gstevent.h:
14916         * docs/gst/tmpl/gstevent.sgml:
14917           Migrate part of the docs from the SGML file. Wait for ensonic to
14918           tell me how I did it wrong ;)
14919         * tools/gst-typefind.c: (main):
14920           Extra robustness to state changes between files.
14921
14922 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
14923
14924         * check/Makefile.am:
14925           don't valgrind the controller test - it's leaking - Stefan, HELP
14926         * gst/check/gstcheck.c: (gst_check_message_error),
14927         (gst_check_chain_func), (gst_check_setup_element),
14928         (gst_check_teardown_element), (gst_check_setup_src_pad),
14929         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
14930         (gst_check_teardown_sink_pad):
14931         * gst/check/gstcheck.h:
14932           add a bunch of methods to set up elements, and src and sink pads
14933         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
14934         * check/elements/identity.c: (setup_identity), (cleanup_identity),
14935         (GST_START_TEST):
14936           use them
14937         * gst/gstmessage.c:
14938         * gst/gsttag.h:
14939           whitespace/doc fixes
14940
14941 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
14942
14943         * gst/gstelement.h:
14944           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
14945           be handled by the application and not always printed as well
14946
14947 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
14948
14949         * check/Makefile.am:
14950           set GST_TOOLS_DIR
14951         * gst/check/gstcheck.c: (gst_check_message_error):
14952         * gst/check/gstcheck.h:
14953           add a fail_unless_equals_int
14954           add fail_unless for error messages
14955
14956 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
14957
14958         * check/Makefile.am:
14959         * check/gst.supp:
14960         * common/Makefile.am:
14961         * common/check.mak:
14962         * common/gst.supp:
14963           factor out some of the common stuff so we can use it
14964
14965 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
14966
14967         * check/Makefile.am:
14968         * check/gst/gstiterator.c: (GST_START_TEST):
14969         * check/gst/gstsystemclock.c: (GST_START_TEST),
14970         (gst_systemclock_suite):
14971         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
14972         * gst/gstclock.c:
14973           valgrind more tests
14974
14975 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
14976
14977         * check/elements/.cvsignore:
14978         * check/elements/gstfakesrc.c:
14979           rename to name of element
14980         * check/elements/identity.c: (chain_func), (event_func),
14981         (setup_identity), (cleanup_identity), (GST_START_TEST),
14982         (identity_suite), (main):
14983           add a test for identity
14984         * check/Makefile.am:
14985         * pkgconfig/Makefile.am:
14986         * pkgconfig/gstreamer-check.pc.in:
14987         * pkgconfig/gstreamer-check-uninstalled.pc.in:
14988         * gst/check:
14989         * gst/Makefile.am:
14990         * configure.ac:
14991           move the check stuff to a library that gets installed
14992         * check/gst-libs/controller.c: (GST_START_TEST):
14993         * check/gst-libs/gdp.c:
14994         * check/gst/gst.c: (GST_START_TEST):
14995         * check/gst/gstbin.c:
14996         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
14997         * check/gst/gstbus.c:
14998         * check/gst/gstcaps.c: (GST_START_TEST):
14999         * check/gst/gstelement.c:
15000         * check/gst/gstghostpad.c:
15001         * check/gst/gstiterator.c:
15002         * check/gst/gstmessage.c:
15003         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
15004         * check/gst/gstobject.c:
15005         * check/gst/gstpad.c: (GST_START_TEST):
15006         * check/gst/gststructure.c: (GST_START_TEST):
15007         * check/gst/gstsystemclock.c: (GST_START_TEST),
15008         (gst_systemclock_suite):
15009         * check/gst/gsttag.c: (gst_tag_suite):
15010         * check/gst/gstvalue.c:
15011         * check/pipelines/cleanup.c:
15012         * check/pipelines/simple_launch_lines.c:
15013         * check/states/sinks.c:
15014           change include statement
15015
15016         * docs/gst/gstreamer-sections.txt:
15017         * docs/gst/tmpl/gstpad.sgml:
15018           document more pad stuff
15019         * gst/gstminiobject.c: (gst_mini_object_ref),
15020         (gst_mini_object_unref):
15021           debug refcounting
15022
15023 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
15024
15025         * docs/gst/tmpl/gst.sgml:
15026         * gst/gst.c:
15027           eliminate another tmpl file, fix spelling in the long-description
15028
15029 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
15030
15031         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
15032         (test_event), (timediff), (gstevents_suite):
15033           Should fix build on 64-bit arch's
15034
15035 2005-08-18  Andy Wingo  <wingo@pobox.com>
15036
15037         Make sure that when a pipeline goes to PLAYING, that data has
15038         actually hit the sink.
15039
15040         * check/states/sinks.c (test_sink): A sink that doesn't get any
15041         data shouldn't return SUCCESS for going to either PLAYING or
15042         PAUSED. Test also the return values on the way back down.
15043
15044         * gst/gstelement.c (gst_element_set_state): When changing the
15045         state of an element currently changing state asynchronously, go to
15046         lost-state after commiting the pending state. Makes future calls
15047         to get_state continue to return ASYNC.
15048
15049         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
15050         ASYNC when going to PLAYING if we still don't have preroll, as can
15051         happen with live sources.
15052
15053 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
15054
15055         * docs/pwg/advanced-types.xml:
15056           Hack long paragraph into 2 chunks as a workaround for buggy
15057           jadetex version in sid and breezy that loops infinitely and
15058           eats all RAM.
15059
15060 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
15061
15062         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
15063         (test_event), (timediff), (gstevents_suite):
15064           Provide more error margin in clock measurements to allow for 
15065           g_get_current_time inaccuracies.
15066
15067 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
15068
15069         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
15070         (test_event), (timediff), (gstevents_suite):
15071            Fix error message output so I might be able to tell why the
15072            test works here but fails on the build farm.
15073
15074 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
15075
15076         * check/Makefile.am:
15077         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
15078         (test_event), (timediff), (gstevents_suite), (main):
15079           I wrote a test!
15080
15081         * docs/design/part-seeking.txt:
15082           Spelling correction
15083
15084         * docs/gst/tmpl/gstevent.sgml:
15085         * docs/gst/tmpl/gstfakesrc.sgml:
15086           Docs updates.
15087
15088         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
15089           Treat a buffer-without-newsegment the same as a receiving 
15090           a newsegment not in time format, and disable syncing to the clock
15091           with a warning.
15092
15093         * gst/gstbus.c: (gst_bus_set_sync_handler):
15094           Assert if anyone tries to replace the existing sync_handler for bus, 
15095           as only the owner should be setting it.
15096
15097         * gst/gstevent.h:
15098           Have a fixed set of custom event enums with events identified by
15099           their structure name (as in 0.8), rather than a free-for-all
15100           allowing collisions between enum values from different plugins.
15101
15102         * gst/gstpad.c: (gst_pad_class_init):
15103           Docs change.
15104           
15105         * gst/gstqueue.c: (gst_queue_handle_sink_event):
15106           Handle out-of-band downstream events from the sending thread.
15107
15108 2005-08-17  Andy Wingo  <wingo@pobox.com>
15109
15110         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
15111         play-timeout==0 to mean no timeout at all. In that case, don't
15112         bother with a get_state or a warning, just return directly, even
15113         if it's ASYNC.
15114
15115         * gst/base/gstbasetransform.c: Debug changes.
15116
15117         * gst/gstutils.h:
15118         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
15119         ensure bins post state change messages. A bit of a hack but I can't
15120         think of a way to avoid it.
15121
15122         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
15123
15124 2005-08-16  Andy Wingo  <wingo@pobox.com>
15125
15126         * gst/base/gstadapter.h:
15127         * gst/base/gstadapter.c (gst_adapter_take): New function, like
15128         peek() but you own the data. Not terribly efficient atm.
15129
15130 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15131
15132         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
15133         (gst_element_found_tags):
15134         * gst/gstutils.h:
15135           Add two utility functions for tag handling.
15136
15137 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15138
15139         * docs/manual/advanced-dataaccess.xml:
15140         * docs/manual/basics-helloworld.xml:
15141           Fix docs to use _bin_add() before _link(), which fixes the examples
15142           with recent core versions (reported by Madhan Raj M
15143           <raj_madan@rediffmail.com>, #313199).
15144
15145 2005-08-16  Wim Taymans  <wim@fluendo.com>
15146
15147         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
15148         Added subtract checks.
15149
15150         * docs/design/part-events.txt:
15151         Some more docs about newsegment
15152
15153         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
15154         Fix FIXME
15155
15156         * gst/gstcaps.c: (gst_caps_to_string):
15157         Add comments, cleanups.
15158         
15159         * gst/gstelement.c: (gst_element_save_thyself):
15160         cleanups
15161         
15162         * gst/gstvalue.c: (gst_value_collect_int_range),
15163         (gst_string_unwrap), (gst_value_union_int_int_range),
15164         (gst_value_union_int_range_int_range),
15165         (gst_value_intersect_int_int_range),
15166         (gst_value_intersect_int_range_int_range),
15167         (gst_value_intersect_double_double_range),
15168         (gst_value_intersect_double_range_double_range),
15169         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
15170         (gst_value_subtract_int_range_int),
15171         (gst_value_subtract_double_range_double),
15172         (gst_value_subtract_double_range_double_range),
15173         (gst_value_subtract_from_list), (gst_value_subtract_list),
15174         (gst_value_can_compare), (gst_value_compare_fraction):
15175         Cleanups, add comments, remove unneeded asserts.
15176
15177 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
15178
15179         * tools/gst-launch.c: (event_loop):
15180           don't convert NULL structures to strings
15181
15182 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
15183
15184         * docs/gst/gstreamer-sections.txt:
15185           made some defines private
15186         * docs/gst/tmpl/gstconfig.sgml:
15187         * docs/gst/tmpl/gstqueue.sgml:
15188         * docs/gst/tmpl/gsttaglist.sgml:
15189         * docs/gst/tmpl/gsttypes.sgml:
15190         * docs/gst/tmpl/gstutils.sgml:
15191         * docs/pwg/appendix-porting.xml:
15192         * gst/base/gstbasesink.h:
15193         * gst/base/gstbasesrc.c:
15194         * gst/base/gstbasesrc.h:
15195         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
15196         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
15197         * gst/gstelement.c: (gst_element_class_init):
15198         * gst/gstpad.c: (gst_pad_class_init):
15199         * gst/gstqueue.c: (gst_queue_class_init):
15200         * gst/gstxml.c: (gst_xml_class_init):
15201           documented all undocumented signal inline
15202         * libs/gst/controller/gst-controller.h:
15203           added padding
15204
15205 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15206
15207         * docs/pwg/appendix-porting.xml:
15208           Document _set_link_function -> _set_setcaps_function.
15209
15210 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
15211
15212         * check/Makefile.am:
15213           add a .check target for running the check
15214         * check/gst-libs/controller.c: (GST_START_TEST):
15215           cosmetic fixups
15216         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
15217           complete checks for gstbuffer; would be nice if I could get the
15218           gcov stuff to work so I can see if I actually completed gstbuffer.c
15219         * check/gstcheck.h:
15220           add ASSERT_BUFFER_REFCOUNT
15221
15222 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
15223
15224         * docs/gst/gstreamer-sections.txt:
15225         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
15226         * gst/gsttag.h:
15227           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
15228           spew out a warning if a tag that is already registered
15229           is re-registered, unless it is re-registered with a 
15230           different type (#308438).
15231
15232 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
15233
15234         * docs/pwg/appendix-porting.xml:
15235         * docs/pwg/building-state.xml:
15236           Add some paragraphs about state changes in 0.9 to the PWG
15237           and the porting guide, in particular about the new meaning
15238           of GST_STATE_PAUSED and how to write state change functions
15239           with concurrent access by multiple threads in mind.
15240
15241 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
15242
15243         * docs/gst/gstreamer-docs.sgml:
15244         * docs/libs/gstreamer-libs-docs.sgml:
15245           added deprecation and since indexes
15246         * libs/gst/controller/gst-controller.c:
15247         * libs/gst/controller/gst-helper.c:
15248           added since tags
15249
15250
15251 2005-08-11  Wim Taymans  <wim@fluendo.com>
15252
15253         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
15254         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
15255         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
15256         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
15257         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
15258         (gst_ghost_pad_set_target):
15259         Actually implement (re)setting the target on a ghostpad
15260         as described in the docs.
15261
15262 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
15263
15264         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
15265           Check whether GST_DEBUG_NO_COLOR environment variable is
15266           set and disable coloured debug output if that is the case.
15267
15268 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
15269
15270         * gst/base/gsttypefindhelper.c: (helper_find_peek),
15271         (gst_type_find_helper):
15272           The memory returned by gst_type_find_peek() needs to
15273           stay valid until the end of a typefind function, and
15274           typefind functions may keep results from different 
15275           offsets around, so we can't just unref the buffer from
15276           the previous _peek(), but have to save all buffers 
15277           returned by _peek() until typefinding is done and only
15278           free them then.
15279
15280 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
15281
15282         * docs/gst/gstreamer-sections.txt:
15283         * gst/gstutils.h:
15284           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
15285
15286 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15287
15288         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
15289           Fix a pretty good memleak.
15290
15291 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
15292
15293         * gst/gstiterator.h:
15294           Fix wrong include and 'make distcheck'.
15295
15296 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15297
15298         * gst/gstbin.c: (bin_bus_handler):
15299           Use gst_element_post_message() instead.
15300
15301 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
15302
15303         * gst/base/gstadapter.h:
15304         * gst/base/gstbasesink.h:
15305         * gst/base/gstbasesrc.h:
15306         * gst/base/gstbasetransform.h:
15307         * gst/base/gstcollectpads.h:
15308         * gst/base/gstpushsrc.h:
15309         * gst/gstiterator.h:
15310           Add padding to our base elements' class and instance structs and
15311           to GstIterator (you will need to rebuild all plugins and apps!)
15312
15313 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15314
15315         * gst/gstbin.c: (bin_bus_handler):
15316           Make default message forwarding from child->bus to bin->bus
15317           threadsafe and make it not emit warnings if the parent has no bus.
15318
15319 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15320
15321         * gst/gstelement.c: (activate_pads):
15322           On paused->ready, set pad->caps to NULL, as is the documented
15323           behaviour in this state change. Fixes playback of series of
15324           media files when visualization is enabled in Totem.
15325
15326 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15327
15328         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
15329           Allow NULL as filter-caps (which means "any").
15330
15331 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
15332
15333         * docs/libs/gstreamer-libs-sections.txt:
15334         * libs/gst/controller/gst-controller.c:
15335         * libs/gst/controller/gst-controller.h:
15336         * libs/gst/controller/gst-helper.c:
15337           adding more entries to the docs and fix small doc-bugs
15338
15339 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
15340
15341         * docs/gst/gstreamer-docs.sgml:
15342         * docs/gst/gstreamer-sections.txt:
15343         * docs/gst/gstreamer.types:
15344         * docs/gst/tmpl/gstbasesink.sgml:
15345         * docs/gst/tmpl/gstbasesrc.sgml:
15346         * docs/gst/tmpl/gstbasetransform.sgml:
15347         * docs/gst/tmpl/gstfakesrc.sgml:
15348         * gst/base/gstcollectpads.c:
15349         * gst/base/gstcollectpads.h:
15350         * libs/gst/controller/gst-controller.c:
15351         * libs/gst/controller/gst-controller.h:
15352         * libs/gst/controller/gst-helper.c:
15353         * libs/gst/controller/gst-interpolation.c:
15354         * libs/gst/controller/lib.c:
15355           added long/short desc for controller docs
15356           added collectpads base class docs
15357           added correct includes to base-class docs
15358
15359 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
15360
15361         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
15362         (gst_test_mono_source_set_property),
15363         (gst_test_mono_source_class_init), (GST_START_TEST),
15364         (gst_controller_suite):
15365         * docs/gst/gstreamer-docs.sgml:
15366         * docs/gst/gstreamer-sections.txt:
15367         * docs/gst/gstreamer.types:
15368         * docs/libs/gstreamer-libs-docs.sgml:
15369         * docs/libs/gstreamer-libs-sections.txt:
15370         * gst/base/gstadapter.c:
15371         * libs/gst/controller/gst-controller.c:
15372         (gst_controlled_property_new), (gst_controlled_property_free),
15373         (gst_controller_new_valist),
15374         (gst_controller_remove_properties_valist),
15375         (gst_controller_sink_values), (_gst_controller_finalize):
15376         * libs/gst/controller/gst-controller.h:
15377         * libs/gst/controller/gst-helper.c:
15378         (gst_object_control_properties), (gst_object_uncontrol_properties),
15379         (gst_object_get_controller), (gst_object_set_controller),
15380         (gst_object_sink_values), (gst_object_get_value_arrays),
15381         (gst_object_get_value_array):
15382           more tests (and fixes) for the controller
15383           more docs for the controller
15384           integrated companies docs for the adapter 
15385
15386 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
15387
15388         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
15389         (GST_START_TEST), (fakesrc_suite):
15390           add tests for sizetype
15391
15392 2005-08-04  Andy Wingo  <wingo@pobox.com>
15393
15394         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
15395         fixes buffer_alloc proxying among other things.
15396
15397         * gst/base/gstbasetransform.c:
15398         * gst/base/gstbasetransform.h:
15399         Revert patch to gstbasetransform from 7-28 removing
15400         delay_configure.
15401
15402         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
15403         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
15404         Semantics changed, should return not the size of the output buffer
15405         but the byte size of a buffer with a given caps.
15406
15407         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
15408         debug object.
15409         (gst_base_transform_configure_caps): Don't set out_size here: (in,
15410         out) are not the pad caps until setcaps finishes.
15411         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
15412         not-in-place case as well. Deal with changing from in-place to
15413         not-in-place within calling pad_alloc_buffer. Still a bit
15414         concerned about the overhead here...
15415
15416 2005-08-03  Andy Wingo  <wingo@pobox.com>
15417
15418         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
15419         fixating is an error.
15420
15421 2005-08-04  Edward Hervey  <edward@fluendo.com>
15422
15423         * gst/base/gstadapter.h: 
15424         Added gst_adapter_get_type() to the header
15425
15426 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
15427
15428         * check/Makefile.am:
15429         * check/gst-libs/controller.c:
15430         * libs/gst/controller/gst-controller.c:
15431         (gst_controller_new_valist):
15432           added check test suite for the controller
15433         * gst/base/gstpushsrc.c:
15434           fixed a doc typo
15435
15436 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
15437
15438         * docs/gst/Makefile.am:
15439         * docs/gst/gstreamer-docs.sgml:
15440         * docs/gst/gstreamer-sections.txt:
15441         * docs/gst/gstreamer.types:
15442         * docs/gst/tmpl/gstfakesrc.sgml:
15443         * gst/base/README:
15444         * gst/base/gstbasesink.c:
15445         * gst/base/gstbasesink.h:
15446         * gst/base/gstbasesrc.c:
15447         * gst/base/gstbasesrc.h:
15448         * gst/base/gstbasetransform.c:
15449         * gst/base/gstpushsrc.c:
15450         * gst/base/gstpushsrc.h:
15451           add short/long description docs to base classes
15452           add pushsrc to the docs
15453           remove consolidated doc fragments
15454
15455 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
15456
15457         * configure.ac:
15458         * docs/libs/Makefile.am:
15459         * docs/libs/gstreamer-libs-docs.sgml:
15460         * docs/libs/gstreamer-libs-sections.txt:
15461         * docs/libs/gstreamer-libs.types:
15462         * examples/Makefile.am:
15463         * examples/controller/.cvsignore:
15464         * examples/controller/Makefile.am:
15465         * examples/controller/audio-example.c: (main):
15466         * libs/gst/Makefile.am:
15467         * libs/gst/controller/.cvsignore:
15468         * libs/gst/controller/Makefile.am:
15469         * libs/gst/controller/gst-controller.c:
15470         (on_object_controlled_property_changed), (gst_timed_value_compare),
15471         (gst_timed_value_find),
15472         (gst_controlled_property_set_interpolation_mode),
15473         (gst_controlled_property_new), (gst_controlled_property_free),
15474         (gst_controller_find_controlled_property),
15475         (gst_controller_new_valist), (gst_controller_new),
15476         (gst_controller_remove_properties_valist),
15477         (gst_controller_remove_properties), (gst_controller_set),
15478         (gst_controller_set_from_list), (gst_controller_unset),
15479         (gst_controller_get), (gst_controller_get_all),
15480         (gst_controller_sink_values), (gst_controller_get_value_arrays),
15481         (gst_controller_get_value_array),
15482         (gst_controller_set_interpolation_mode),
15483         (_gst_controller_finalize), (_gst_controller_init),
15484         (_gst_controller_class_init), (gst_controller_get_type):
15485         * libs/gst/controller/gst-controller.h:
15486         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
15487         (g_object_uncontrol_properties), (g_object_get_controller),
15488         (g_object_set_controller), (g_object_sink_values),
15489         (g_object_get_value_arrays), (g_object_get_value_array):
15490         * libs/gst/controller/gst-interpolation.c:
15491         (gst_controlled_property_find_timed_value_node),
15492         (interpolate_none_get), (interpolate_trigger_get),
15493         (interpolate_trigger_get_value_array):
15494         * libs/gst/controller/lib.c: (gst_controller_init):
15495         * pkgconfig/Makefile.am:
15496         * pkgconfig/gstreamer-control-uninstalled.pc.in:
15497         * pkgconfig/gstreamer-control.pc.in:
15498         * testsuite/Makefile.am:
15499         * testsuite/controller/.cvsignore:
15500         * testsuite/controller/Makefile.am:
15501         * testsuite/controller/interpolator.c: (main):
15502           added controller code
15503           removed dparam pc files
15504
15505 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
15506         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
15507         (gst_collectpads_stop):
15508           Broadcast the condition when shutting down, to make sure we wake all
15509           threads up. Shut down pads on finalize, for safety.
15510
15511 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
15512         * gst/base/gstbasetransform.c: (gst_base_transform_init),
15513         (gst_base_transform_handle_buffer),
15514         (gst_base_transform_change_state):
15515           Handle PAUSED->READY->PAUSED transition after negotiation
15516           occurred already.
15517         * gst/gstmessage.c: (gst_message_init):
15518           Extra piece of debug for new messages.
15519
15520 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
15521
15522         * configure.ac:
15523         * docs/gst/tmpl/gstbasesrc.sgml:
15524         * docs/gst/tmpl/gstelement.sgml:
15525         * docs/gst/tmpl/gstevent.sgml:
15526         * docs/gst/tmpl/gstfakesrc.sgml:
15527         * docs/gst/tmpl/gstformat.sgml:
15528         * docs/gst/tmpl/gstghostpad.sgml:
15529         * docs/gst/tmpl/gstpad.sgml:
15530         * docs/gst/tmpl/gstquery.sgml:
15531         * docs/gst/tmpl/gststructure.sgml:
15532         * docs/gst/tmpl/gsttaglist.sgml:
15533         * docs/gst/tmpl/gstvalue.sgml:
15534         * docs/libs/gstreamer-libs-docs.sgml:
15535         * docs/libs/gstreamer-libs-sections.txt:
15536         * docs/libs/gstreamer-libs.types:
15537         * libs/gst/Makefile.am:
15538         * libs/gst/control/.cvsignore:
15539         * libs/gst/control/Makefile.am:
15540         * libs/gst/control/control.c:
15541         * libs/gst/control/control.h:
15542         * libs/gst/control/dparam.c:
15543         * libs/gst/control/dparam.h:
15544         * libs/gst/control/dparam_smooth.c:
15545         * libs/gst/control/dparam_smooth.h:
15546         * libs/gst/control/dparamcommon.h:
15547         * libs/gst/control/dparammanager.c:
15548         * libs/gst/control/dparammanager.h:
15549         * libs/gst/control/dplinearinterp.c:
15550         * libs/gst/control/dplinearinterp.h:
15551         * libs/gst/control/unitconvert.c:
15552         * libs/gst/control/unitconvert.h:
15553         * testsuite/Makefile.am:
15554         * testsuite/dynparams/.cvsignore:
15555         * testsuite/dynparams/Makefile.am:
15556         * testsuite/dynparams/dparamstest.c:
15557         * tools/Makefile.am:
15558         * tools/gst-inspect.c: (print_element_info), (main):
15559         * tools/gst-xmlinspect.c: (print_element_info), (main):
15560           deactivate and remove dparams (libgstcontrol)
15561
15562 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
15563
15564         * gst/elements/gsttypefindelement.c:
15565         (gst_type_find_element_have_type), (gst_type_find_element_init),
15566         (stop_typefinding), (gst_type_find_element_handle_event),
15567         (gst_type_find_element_chain), (gst_type_find_element_getrange):
15568         * gst/elements/gsttypefindelement.h:
15569           Set caps on all outgoing buffers, not just the first one.
15570
15571 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
15572
15573         * gst/elements/gsttypefindelement.c:
15574         (gst_type_find_element_have_type),
15575         (gst_type_find_element_check_set_buffer_caps),
15576         (gst_type_find_element_init), (stop_typefinding),
15577         (gst_type_find_element_handle_event),
15578         (gst_type_find_element_chain), (gst_type_find_element_getrange):
15579         * gst/elements/gsttypefindelement.h:
15580           Set caps on first outgoing buffer when we've found the type.
15581
15582 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
15583
15584         * docs/gst/gstreamer-docs.sgml:
15585         * docs/gst/gstreamer-sections.txt:
15586         * docs/gst/tmpl/gstscheduler.sgml:
15587         * docs/gst/tmpl/gstschedulerfactory.sgml:
15588           Remove some old cruft from docs.
15589
15590 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
15591
15592         * gst/gstpad.h:
15593           Fix inline docs for GstPadLinkReturn.
15594           
15595         * gst/gststructure.c: (gst_structure_has_name):
15596         * gst/gststructure.h:
15597         * docs/gst/gstreamer-sections.txt:
15598           New API: gst_structure_has_name().
15599
15600 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
15601
15602         * configure.ac:
15603           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
15604           and _LARGEFILE_SOURCE in config.h as required. Do not 
15605           export those flags in our .pc files any longer (#142209).
15606
15607           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
15608
15609         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
15610         (gst_file_sink_do_seek), (gst_file_sink_event),
15611         (gst_file_sink_get_current_offset), (gst_file_sink_render):
15612           Redo seek/tell calls with large file support in mind; add some
15613           debugging messages; add log message that tells us when large
15614           file support is unavailable or not enabled for some reason.
15615
15616         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
15617           Add log message that tells us when large file support 
15618           is unavailable or not enabled for some reason.
15619
15620 2005-07-29  Wim Taymans  <wim@fluendo.com>
15621
15622         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
15623         Added test for removing an element with ghostpad from a bin.
15624         Fixed test as current implementation does the right thing.
15625
15626         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
15627         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
15628         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
15629         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
15630         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
15631         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
15632         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
15633         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
15634         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
15635         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
15636         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
15637         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
15638         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
15639         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
15640         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
15641         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
15642         * gst/gstghostpad.h:
15643         Clean up ghostpads, remove properties for internal stuff.
15644         Make threadsafe.
15645         Fix refcounting.
15646         Prepare for switching targets, not all use cases work yet.
15647
15648 2005-07-29  Wim Taymans  <wim@fluendo.com>
15649
15650         * docs/design/part-gstghostpad.txt:
15651         Small update.
15652
15653         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
15654         (gst_bin_remove_func):
15655         Unlinking pads while holding the bin LOCK is not a good
15656         idea.
15657
15658         * gst/gstpad.c: (gst_pad_class_init),
15659         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
15660         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
15661         No prob setting template after creating the pad.
15662
15663 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
15664
15665         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
15666         (gst_bus_peek), (gst_bus_source_dispatch),
15667         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
15668         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
15669           gst_bus_poll may be called from other threads. Handle
15670           this nicely by not making poll_data disappear off the
15671           stack once gst_bus_poll returns.
15672           gst_bus_peek now increments the refcount on the returned
15673           message.
15674
15675 2005-07-29  Wim Taymans  <wim@fluendo.com>
15676
15677         * docs/design/part-gstghostpad.txt:
15678         Overview of current GhostPad datastructures and use
15679         cases for changing the target.
15680
15681 2005-07-28  Wim Taymans  <wim@fluendo.com>
15682
15683         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
15684         Added checks for hierarchy consistency whan adding linked
15685         elements to bins.
15686
15687         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
15688         Added check to test element scheduling without bin/pipeline.
15689
15690         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
15691         First add elements to bin, then link.
15692         
15693         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
15694         (gst_bin_remove_func):
15695         Unlink pads from elements added/removed from bin to maintain
15696         hierarchy consistency.
15697
15698 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15699
15700         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
15701         (gst_base_transform_handle_buffer):
15702         * gst/base/gstbasetransform.h:
15703           Remove broken delay_configure (fixes renegotiation of software
15704           scaling pipelines); remove some leftover printf()s.
15705
15706 2005-07-28  Wim Taymans  <wim@fluendo.com>
15707
15708         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
15709         Added some more tests for wrong hierarchy
15710
15711         * docs/design/part-overview.txt:
15712         Some updates.
15713
15714         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
15715         Cleanups.
15716
15717         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
15718         (gst_element_dispose):
15719         Some more cleanups.
15720
15721         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
15722         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
15723         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
15724         (gst_pad_set_caps), (gst_pad_send_event):
15725         Check for correct hierarchy when linking pads. Moving to
15726         strict requirement for ghostpads when linking elements in
15727         different bins.
15728
15729         * gst/gstpad.h:
15730         Clean ups. Added WRONG_HIERARCHY return value.
15731
15732 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15733
15734         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
15735           Better debug if no transform is possible.
15736
15737 2005-07-27  Wim Taymans  <wim@fluendo.com>
15738
15739         * docs/random/wtay/network-transp:
15740         Some old doc I had.
15741
15742 2005-07-27  Wim Taymans  <wim@fluendo.com>
15743
15744         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
15745         (gst_dp_event_from_packet):
15746         Fix serialization of seek events.
15747
15748 2005-07-27  Wim Taymans  <wim@fluendo.com>
15749
15750         * check/gst-libs/gdp.c: (GST_START_TEST):
15751         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
15752         Fix compilation and fix event serialization.
15753
15754 2005-07-27  Wim Taymans  <wim@fluendo.com>
15755
15756         * CHANGES-0.9:
15757         * docs/design/part-TODO.txt:
15758         * docs/design/part-events.txt:
15759         Some docs updates
15760
15761         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
15762         (gst_base_sink_event), (gst_base_sink_do_sync),
15763         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
15764         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
15765         (gst_base_src_do_seek), (gst_base_src_event_handler),
15766         (gst_base_src_loop):
15767         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
15768         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
15769         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
15770         (gst_base_transform_event), (gst_base_transform_handle_buffer),
15771         (gst_base_transform_set_passthrough),
15772         (gst_base_transform_is_passthrough):
15773         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
15774         * gst/elements/gstfilesink.c: (gst_file_sink_event):
15775         Event updates.
15776
15777         * gst/gstbuffer.h:
15778         Use faster casts.
15779
15780         * gst/gstelement.c: (gst_element_seek):
15781         * gst/gstelement.h:
15782         Update gst_element_seek.
15783
15784         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
15785         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
15786         (gst_event_new_flush_start), (gst_event_new_flush_stop),
15787         (gst_event_new_eos), (gst_event_new_newsegment),
15788         (gst_event_parse_newsegment), (gst_event_new_tag),
15789         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
15790         (gst_event_parse_qos), (gst_event_new_seek),
15791         (gst_event_parse_seek), (gst_event_new_navigation):
15792         * gst/gstevent.h:
15793         Make GstEvent use GstStructure. Add parsing code, make sure the
15794         API is sufficiently generic.
15795         Mark possible directions of events and serialization.
15796
15797         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
15798         (_gst_message_copy), (gst_message_new_segment_start),
15799         (gst_message_new_segment_done), (gst_message_new_custom),
15800         (gst_message_parse_segment_start),
15801         (gst_message_parse_segment_done):
15802         Small cleanups.
15803
15804         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
15805         (gst_pad_set_caps), (gst_pad_send_event):
15806         Update for new events. 
15807         Catch events sent in wrong directions.
15808
15809         * gst/gstqueue.c: (gst_queue_link_src),
15810         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
15811         (gst_queue_handle_src_query):
15812         Event updates.
15813
15814         * gst/gsttag.c:
15815         * gst/gsttag.h:
15816         Remove event code from this file.
15817
15818         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
15819         (gst_dp_event_from_packet):
15820         Event updates.
15821
15822 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15823
15824         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
15825         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
15826         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
15827           Make debugging actually useful.
15828
15829 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15830
15831         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
15832         (gst_pad_fixate_caps):
15833           Implement default fixation once again, so that gst_pad_fixate()
15834           actually does anything at all. This probably needs to be some
15835           sort of a last resort, and use profile-based fixation first, but
15836           since that doesn't exist yet, this is the best we have. Fixes
15837           visualization in Totem.
15838
15839 2005-07-22  Wim Taymans  <wim@fluendo.com>
15840
15841         * docs/design/part-events.txt:
15842         Small update.
15843
15844         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
15845         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
15846         (gst_base_sink_activate_pull):
15847         Some more comments.
15848
15849         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
15850         (gst_fake_src_create):
15851         Fix handoff marshall.
15852
15853         * gst/elements/gstidentity.c: (gst_identity_class_init),
15854         (gst_identity_transform_ip):
15855         We're a real inplace element.
15856
15857         * gst/gstbus.c: (gst_bus_post):
15858         Added some comments.
15859
15860         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
15861         * tests/muxing/case1.c: (main):
15862         * tests/sched/dynamic-pipeline.c: (main):
15863         * tests/sched/interrupt1.c: (main):
15864         * tests/sched/interrupt2.c: (main):
15865         * tests/sched/interrupt3.c: (main):
15866         * tests/sched/runxml.c: (main):
15867         * tests/sched/sched-stress.c: (main):
15868         * tests/seeking/seeking1.c: (event_received), (main):
15869         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
15870         (main):
15871         * tests/threadstate/threadstate3.c: (main):
15872         * tests/threadstate/threadstate4.c: (main):
15873         * tests/threadstate/threadstate5.c: (main):
15874         Fix the tests.
15875
15876 2005-07-21  Wim Taymans  <wim@fluendo.com>
15877
15878         * docs/design/part-seeking.txt:
15879         Some small additions.
15880
15881         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
15882         (gst_base_sink_get_times), (gst_base_sink_do_sync),
15883         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
15884         * gst/base/gstbasesink.h:
15885         discont values are gint64, handle the math correctly.
15886
15887         * gst/base/gstbasesrc.c: (gst_base_src_loop):
15888         Make the basesrc report error if the source pad is not linked.
15889
15890         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
15891         (gst_queue_loop), (gst_queue_handle_src_query),
15892         (gst_queue_src_activate_push):
15893         Make queue collect data even if the srcpad is not linked.
15894         Start pushing out data as soon as it is linked.
15895
15896         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
15897         * gst/gstutils.h:
15898         Added gst_flow_get_name() to ease error reporting.
15899
15900 2005-07-20  Wim Taymans  <wim@fluendo.com>
15901
15902         * gst/gstmessage.c: (gst_message_new_segment_start),
15903         (gst_message_new_segment_done), (gst_message_parse_segment_start),
15904         (gst_message_parse_segment_done):
15905         * gst/gstmessage.h:
15906         Added a bunch of messages for advanced seeking.
15907
15908         * gst/parse/grammar.y:
15909         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
15910         (gst_dpman_state_changed):
15911         Fix some new-pad -> pad-added signals
15912
15913 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15914
15915         * docs/manual/appendix-porting.xml:
15916         * docs/pwg/appendix-porting.xml:
15917           Document new-pad/state-change signal renames and the FixedList
15918           type rename.
15919
15920 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15921
15922         * docs/manual/advanced-autoplugging.xml:
15923         * docs/manual/basics-helloworld.xml:
15924         * docs/manual/basics-pads.xml:
15925         * docs/random/ds/0.9-suggested-changes:
15926         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
15927         * gst/gstelement.h:
15928         * gst/gstevent.h:
15929         * gst/gstformat.h:
15930         * gst/gstquery.h:
15931         * gst/gststructure.c: (gst_structure_value_get_generic_type),
15932         (gst_structure_parse_array), (gst_structure_parse_value):
15933         * gst/gstvalue.c: (gst_type_is_fixed),
15934         (gst_value_list_prepend_value), (gst_value_list_append_value),
15935         (gst_value_list_get_size), (gst_value_list_get_value),
15936         (gst_value_transform_array_string), (gst_value_serialize_array),
15937         (gst_value_deserialize_array), (gst_value_intersect_array),
15938         (gst_value_is_fixed), (_gst_value_initialize):
15939         * gst/gstvalue.h:
15940           GstElement::new-pad -> pad-added, GstElement::state-change ->
15941           state-changed, GstValueFixedList -> GstValueArray, add format and
15942           flags as their own arguments in gst_element_seek() (should improve
15943           "bindeability"), remove function generators since they don't work
15944           under a whole bunch of compilers (they were deprecated already
15945           anyway).
15946
15947 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15948
15949         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
15950         (_gst_debug_register_funcptr):
15951         * gst/gstinfo.h:
15952           Fix illegal cast on some platforms (#309253).
15953
15954 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15955
15956         * gst/gstmessage.c: (gst_message_new_custom):
15957         * gst/gstmessage.h:
15958           Add _new_custom, make _new_application a macro to _new_custom.
15959
15960 2005-07-20  Wim Taymans  <wim@fluendo.com>
15961
15962         * gst/base/gstbasesrc.c: (gst_base_src_init),
15963         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
15964         * gst/base/gstbasesrc.h:
15965         Add a gboolean to decide when to push out a discont.
15966
15967         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
15968         (gst_queue_loop), (gst_queue_handle_src_query),
15969         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
15970         (gst_queue_set_property), (gst_queue_get_property):
15971         Some cleanups.
15972
15973         * tests/threadstate/threadstate1.c: (main):
15974         Make a thread test compile and run... very silly..
15975
15976
15977 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15978
15979         * docs/manual/appendix-porting.xml:
15980           Mention removal of libgstgconf-0.9.la and existence of gconf
15981           elements.
15982
15983 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15984
15985         * docs/pwg/advanced-clock.xml:
15986         * docs/pwg/appendix-porting.xml:
15987         * docs/pwg/intro-preface.xml:
15988         * docs/pwg/other-base.xml:
15989         * docs/pwg/other-manager.xml:
15990         * docs/pwg/other-nton.xml:
15991         * docs/pwg/other-ntoone.xml:
15992         * docs/pwg/other-oneton.xml:
15993         * docs/pwg/pwg.xml:
15994           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
15995           demuxer), remove n-to-n (was never written), fix some code examples
15996           and links and update the porting section to include all this.
15997
15998 2005-07-19  Wim Taymans  <wim@fluendo.com>
15999
16000         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
16001         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
16002         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
16003         (gst_queue_src_activate_push), (gst_queue_change_state),
16004         (gst_queue_get_property):
16005         * gst/gstqueue.h:
16006         Propagate GstFlowReturn more intelligently upstream and output
16007         an ERROR/EOS when streaming stopped due to fatal error.
16008
16009 2005-07-19  Wim Taymans  <wim@fluendo.com>
16010
16011         * tools/gst-launch.c: (check_intr), (event_loop), (main):
16012         Don't block forever for the state change to complete, the
16013         pipeline already did with a sensible timeout.
16014
16015 2005-07-19  Wim Taymans  <wim@fluendo.com>
16016
16017         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
16018         Make sure we never call the create function is we
16019         got deactivated.
16020
16021 2005-07-19  Andy Wingo  <wingo@pobox.com>
16022
16023         * gst/parse/parse.l: Attempt to solve bug #172815.
16024
16025 2005-07-19  Wim Taymans  <wim@fluendo.com>
16026
16027         * docs/design/part-clocks.txt:
16028         * docs/design/part-events.txt:
16029         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
16030         Small docs updates.
16031         Only update the seeking values when we are not
16032         busy streaming.
16033
16034 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
16035
16036         * gst/base/gstbasesrc.c: (gst_base_src_loop):
16037           Oops, ignore the result of gst_pad_push_event here.
16038
16039 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
16040
16041         * gst/base/gstbasesrc.c: (gst_base_src_loop),
16042         (gst_base_src_activate_push):
16043           Send discont event from the loop function, as pads
16044           aren't activated yet in the activate_push handler.
16045
16046         * gst/gstbin.c: (bin_bus_handler):
16047           Don't leak element name.
16048
16049 2005-07-18  Andy Wingo  <wingo@pobox.com>
16050
16051         * configure.ac: Use AS_LIBTOOL_TAGS.
16052
16053 2005-07-18  Wim Taymans  <wim@fluendo.com>
16054
16055         * docs/gst/gstreamer.types:
16056         Remove deleted types.
16057
16058 2005-07-18  Wim Taymans  <wim@fluendo.com>
16059
16060         * check/elements/gstfakesrc.c: (GST_START_TEST):
16061         * configure.ac:
16062         * gst/Makefile.am:
16063         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
16064         (init_popt_callback):
16065         * gst/gst.h:
16066         * gst/gst_private.h:
16067         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
16068         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
16069         * gst/gstbin.h:
16070         * gst/gstbus.h:
16071         * gst/gstconfig.h.in:
16072         * gst/gstelement.c: (gst_element_class_init),
16073         (gst_element_set_base_time), (gst_element_get_base_time),
16074         (iterator_fold_with_resync), (gst_element_change_state),
16075         (gst_element_dispose), (gst_element_get_bus):
16076         * gst/gstelement.h:
16077         * gst/gstelementfactory.h:
16078         * gst/gsterror.c: (_gst_core_errors_init):
16079         * gst/gsterror.h:
16080         * gst/gstevent.h:
16081         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
16082         * gst/gstindex.c:
16083         * gst/gstinfo.c: (_gst_debug_init):
16084         * gst/gstmessage.c: (_gst_message_copy):
16085         * gst/gstmessage.h:
16086         * gst/gstminiobject.h:
16087         * gst/gstobject.c:
16088         * gst/gstobject.h:
16089         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
16090         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
16091         * gst/gstpad.h:
16092         * gst/gstparse.h:
16093         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
16094         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
16095         (gst_pipeline_get_last_stream_time):
16096         * gst/gstpipeline.h:
16097         * gst/gstpluginfeature.h:
16098         * gst/gstquery.h:
16099         * gst/gstscheduler.c:
16100         * gst/gstscheduler.h:
16101         * gst/gststructure.h:
16102         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
16103         (gst_task_finalize), (gst_task_func), (gst_task_create),
16104         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
16105         (gst_task_stop), (gst_task_pause):
16106         * gst/gsttask.h:
16107         * gst/gsttypefind.h:
16108         * gst/gsttypes.h:
16109         * gst/registries/gstlibxmlregistry.c: (load_feature),
16110         (gst_xml_registry_load), (gst_xml_registry_save_feature):
16111         * gst/registries/gstxmlregistry.c:
16112         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
16113         * gst/schedulers/threadscheduler.c:
16114         * libs/gst/control/dparammanager.h:
16115         * tools/gst-inspect.c: (print_element_list),
16116         (print_plugin_features), (print_element_features):
16117         * tools/gst-xmlinspect.c: (print_element_list),
16118         (print_plugin_info), (main):
16119         Removed plugable schedulers.
16120         Removed Scheduler/Manager from elements.
16121         Removed gsttypes.h, rearranged includes.
16122         Removed dependency pad<->element, element<>pipeline, and
16123         various others,  fix includes.
16124         implement gst_pad_get_parent() with gst_object_get_parent()
16125         Make GstTask sefcontained.
16126         Fix _get_state() on GstBin, it did not return ASYNC with a 0
16127         timeout.
16128         Fix endless loop in iterator_fold_with_resync.
16129
16130
16131 2005-07-18  Wim Taymans  <wim@fluendo.com>
16132
16133         * gst/Makefile.am:
16134         * gst/gstarch.h:
16135         Remove old file.
16136
16137 2005-07-18  Wim Taymans  <wim@fluendo.com>
16138
16139         * gst/Makefile.am:
16140         No more cothreads.h
16141
16142 2005-07-18  Wim Taymans  <wim@fluendo.com>
16143
16144         * gst/cothreads.c:
16145         * gst/cothreads.h:
16146         Let's remove these.
16147
16148 2005-07-18  Wim Taymans  <wim@fluendo.com>
16149
16150         * docs/design/part-dynamic.txt:
16151         * docs/design/part-events.txt:
16152         * docs/design/part-seeking.txt:
16153         Some more docs in the works.
16154
16155         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
16156         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
16157         (gst_base_transform_setcaps), (gst_base_transform_get_size),
16158         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
16159         (gst_base_transform_handle_buffer),
16160         (gst_base_transform_sink_activate_push),
16161         (gst_base_transform_src_activate_pull),
16162         (gst_base_transform_set_passthrough),
16163         (gst_base_transform_is_passthrough):
16164         Refcounting fixes.
16165
16166         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
16167         Cleanups.
16168
16169         * gst/gstevent.c: (gst_event_finalize):
16170         Set SRC to NULL.
16171
16172         * gst/gstutils.c: (gst_element_unlink),
16173         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
16174         (gst_pad_proxy_setcaps):
16175         * gst/gstutils.h:
16176         Add _get_parent_element() to get a pads parent as an element.
16177
16178 2005-07-18  Wim Taymans  <wim@fluendo.com>
16179
16180         * check/gst/gstbin.c: (GST_START_TEST):
16181         Remove bogus test.
16182
16183 2005-07-18  Wim Taymans  <wim@fluendo.com>
16184
16185         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
16186         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
16187         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
16188         (gst_base_sink_event), (gst_base_sink_do_sync),
16189         (gst_base_sink_chain), (gst_base_sink_loop),
16190         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
16191         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
16192         Refcounting fixes.
16193         Fix logic for returning ASYNC when not prerolled.
16194
16195 2005-07-18  Wim Taymans  <wim@fluendo.com>
16196
16197         * gst/gstqueue.c: (gst_queue_handle_sink_event):
16198         Fix nasty refcount bug.
16199
16200 2005-07-16 Philippe Khalaf <burger@speedy.org>
16201
16202         * gst/elements/gstfdsrc.c:
16203         * gst/elements/gstfdsrc.h:
16204         * gst/elements/gstelements.c:
16205         * gst/elements/Makefile.am:
16206         Ported fdsrc to 0.9.
16207
16208 2005-07-16  Wim Taymans  <wim@fluendo.com>
16209
16210         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
16211         (gst_base_sink_do_sync):
16212         Fix compile error.
16213
16214 2005-07-16  Wim Taymans  <wim@fluendo.com>
16215
16216         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
16217         (gst_base_sink_event), (gst_base_sink_get_times),
16218         (gst_base_sink_do_sync), (gst_base_sink_change_state):
16219         * gst/base/gstbasesink.h:
16220         Store and use discont values when syncing buffers as described
16221         in design docs.
16222         
16223         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
16224         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
16225         (gst_base_src_activate_push):
16226         Push discont event when starting.
16227
16228         * gst/elements/gstidentity.c: (gst_identity_transform):
16229         Small cleanups.
16230
16231         * gst/gstbin.c: (gst_bin_change_state):
16232         Small cleanups in base_time  distribution.
16233
16234         * gst/gstelement.c: (gst_element_set_base_time),
16235         (gst_element_get_base_time), (gst_element_change_state):
16236         * gst/gstelement.h:
16237         Added methods for the base_time of the element.
16238         Some MT fixes.
16239
16240         * gst/gstpipeline.c: (gst_pipeline_send_event),
16241         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
16242         (gst_pipeline_get_last_stream_time):
16243         * gst/gstpipeline.h:
16244         MT fixes.
16245         Handle seeking as described in design doc, remove stream_time
16246         hack.
16247         Cleanups clock and stream_time selection code. Added accessors
16248         for the stream_time.
16249         
16250
16251 2005-07-16  Andy Wingo  <wingo@pobox.com>
16252
16253         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
16254         (#305291).
16255
16256 2005-07-16  Wim Taymans  <wim@fluendo.com>
16257
16258         * check/gst/gstbin.c: (GST_START_TEST):
16259         Make elements silent as the deep_notify refs the
16260         parent, which might make the test fail.
16261
16262         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
16263         Don't hold the lock for too long.
16264
16265 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
16266
16267         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
16268           Don't unref the caps we passed to gst_caps_make_writable() after
16269           passing them. gst_caps_make_writable() will do that for us.
16270
16271 2005-07-15  Andy Wingo  <wingo@pobox.com>
16272
16273         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
16274         (#157311).
16275
16276         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
16277         own marshalling function for the handoff signal. Properly type the
16278         buffer as a buffer. Fixes some warnings. Should do a more general
16279         solution.
16280         (gst_identity_class_init): Plug into the right marshaller.
16281
16282 2005-07-15  Wim Taymans  <wim@fluendo.com>
16283
16284         * docs/design/part-TODO.txt:
16285         * docs/design/part-clocks.txt:
16286         * docs/design/part-element-sink.txt:
16287         * docs/design/part-events.txt:
16288         * docs/design/part-gstpipeline.txt:
16289         Updated docs, mostly DISCONT related.
16290
16291 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
16292
16293         * docs/pwg/building-pads.xml:
16294           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
16295
16296 2005-07-15  Andy Wingo  <wingo@pobox.com>
16297
16298         * tools/gst-typefind.c: Update, add copyright block.
16299
16300         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
16301         Normalize and truncate caps before fixation.
16302
16303         * gst/gstcaps.h:
16304         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
16305         discards all but the first structure from its argument.
16306
16307 2005-07-15  Wim Taymans  <wim@fluendo.com>
16308
16309         * gst/base/gstbasetransform.c: (gst_base_transform_init),
16310         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
16311         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
16312         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
16313         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
16314         (gst_base_transform_chain), (gst_base_transform_change_state),
16315         (gst_base_transform_set_passthrough),
16316         (gst_base_transform_is_passthrough):
16317         * gst/base/gstbasetransform.h:
16318         Make passthrough work using the bufferpools.
16319         Changed API a bit, subclasses have to write into a buffer
16320         provided by the base class.
16321         More debug info in nego functions.
16322         
16323         * gst/elements/gstidentity.c: (gst_identity_init),
16324         (gst_identity_transform):
16325         Port to new base class.
16326
16327 2005-07-15  Wim Taymans  <wim@fluendo.com>
16328
16329         * gst/gstmessage.c: (gst_message_new_state_changed):
16330         * tools/gst-launch.c: (event_loop), (main):
16331         Totally dump messages in -launch with the -m option.
16332         Fix message name for State messages,
16333
16334 2005-07-14  Wim Taymans  <wim@fluendo.com>
16335
16336         * gst/base/gstbasesrc.c: (gst_base_src_loop):
16337         Post error messages on errors.
16338
16339 2005-07-14  Wim Taymans  <wim@fluendo.com>
16340
16341         * gst/gstcaps.c: (gst_caps_do_simplify):
16342         Remove debug info.
16343
16344         * gst/gsterror.h:
16345         Define error for stream stopped.
16346
16347         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
16348         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
16349         Do proper return values.
16350
16351         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
16352         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
16353         (gst_pad_get_range):
16354         Better return values.
16355
16356         * gst/gstpad.h:
16357         Reorganise return values, add macro to check for fatal errors.
16358
16359         * gst/gstqueue.c: (gst_queue_chain):
16360         Return proper GstFlowReturn values,
16361
16362 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
16363
16364         * docs/gst/gstreamer-sections.txt:
16365         * docs/gst/gstreamer.types:
16366         * docs/gst/tmpl/gst.sgml:
16367         * docs/gst/tmpl/gstbasesink.sgml:
16368         * docs/gst/tmpl/gstbasesrc.sgml:
16369         * docs/gst/tmpl/gstbasetransform.sgml:
16370         * docs/gst/tmpl/gstbin.sgml:
16371         * docs/gst/tmpl/gstbuffer.sgml:
16372         * docs/gst/tmpl/gstcaps.sgml:
16373         * docs/gst/tmpl/gstclock.sgml:
16374         * docs/gst/tmpl/gstcompat.sgml:
16375         * docs/gst/tmpl/gstconfig.sgml:
16376         * docs/gst/tmpl/gstelement.sgml:
16377         * docs/gst/tmpl/gstelementdetails.sgml:
16378         * docs/gst/tmpl/gstelementfactory.sgml:
16379         * docs/gst/tmpl/gstenumtypes.sgml:
16380         * docs/gst/tmpl/gsterror.sgml:
16381         * docs/gst/tmpl/gstevent.sgml:
16382         * docs/gst/tmpl/gstfakesink.sgml:
16383         * docs/gst/tmpl/gstfakesrc.sgml:
16384         * docs/gst/tmpl/gstfilesink.sgml:
16385         * docs/gst/tmpl/gstfilesrc.sgml:
16386         * docs/gst/tmpl/gstfilter.sgml:
16387         * docs/gst/tmpl/gstformat.sgml:
16388         * docs/gst/tmpl/gstghostpad.sgml:
16389         * docs/gst/tmpl/gstimplementsinterface.sgml:
16390         * docs/gst/tmpl/gstindex.sgml:
16391         * docs/gst/tmpl/gstindexfactory.sgml:
16392         * docs/gst/tmpl/gstinfo.sgml:
16393         * docs/gst/tmpl/gstiterator.sgml:
16394         * docs/gst/tmpl/gstmacros.sgml:
16395         * docs/gst/tmpl/gstmemchunk.sgml:
16396         * docs/gst/tmpl/gstminiobject.sgml:
16397         * docs/gst/tmpl/gstobject.sgml:
16398         * docs/gst/tmpl/gstpad.sgml:
16399         * docs/gst/tmpl/gstpadtemplate.sgml:
16400         * docs/gst/tmpl/gstparse.sgml:
16401         * docs/gst/tmpl/gstpipeline.sgml:
16402         * docs/gst/tmpl/gstplugin.sgml:
16403         * docs/gst/tmpl/gstpluginfeature.sgml:
16404         * docs/gst/tmpl/gstquery.sgml:
16405         * docs/gst/tmpl/gstqueue.sgml:
16406         * docs/gst/tmpl/gstregistry.sgml:
16407         * docs/gst/tmpl/gstregistrypool.sgml:
16408         * docs/gst/tmpl/gstscheduler.sgml:
16409         * docs/gst/tmpl/gstschedulerfactory.sgml:
16410         * docs/gst/tmpl/gststructure.sgml:
16411         * docs/gst/tmpl/gstsystemclock.sgml:
16412         * docs/gst/tmpl/gsttaglist.sgml:
16413         * docs/gst/tmpl/gsttagsetter.sgml:
16414         * docs/gst/tmpl/gsttrace.sgml:
16415         * docs/gst/tmpl/gsttrashstack.sgml:
16416         * docs/gst/tmpl/gsttypefind.sgml:
16417         * docs/gst/tmpl/gsttypefindfactory.sgml:
16418         * docs/gst/tmpl/gsttypes.sgml:
16419         * docs/gst/tmpl/gsturihandler.sgml:
16420         * docs/gst/tmpl/gsturitype.sgml:
16421         * docs/gst/tmpl/gstutils.sgml:
16422         * docs/gst/tmpl/gstvalue.sgml:
16423         * docs/gst/tmpl/gstversion.sgml:
16424         * docs/gst/tmpl/gstxml.sgml:
16425         * docs/libs/tmpl/gstcontrol.sgml:
16426         * docs/libs/tmpl/gstdataprotocol.sgml:
16427         * docs/libs/tmpl/gstdparam.sgml:
16428         * docs/libs/tmpl/gstdplinint.sgml:
16429         * docs/libs/tmpl/gstdpman.sgml:
16430         * docs/libs/tmpl/gstdpsmooth.sgml:
16431         * docs/libs/tmpl/gstgetbits.sgml:
16432         * docs/libs/tmpl/gstunitconvert.sgml:
16433         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
16434         (gst_push_src_base_init), (gst_push_src_class_init),
16435         (gst_push_src_init), (gst_push_src_create):
16436         * gst/base/gstpushsrc.h:
16437         * gst/elements/gstelements.c:
16438         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
16439         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
16440         (gst_fake_sink_init), (gst_fake_sink_set_property),
16441         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
16442         (gst_fake_sink_event), (gst_fake_sink_preroll),
16443         (gst_fake_sink_render), (gst_fake_sink_change_state):
16444         * gst/elements/gstfakesink.h:
16445         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
16446         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
16447         (gst_fake_src_base_init), (gst_fake_src_class_init),
16448         (gst_fake_src_init), (gst_fake_src_event_handler),
16449         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
16450         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
16451         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
16452         (gst_fake_src_create_buffer), (gst_fake_src_create),
16453         (gst_fake_src_start), (gst_fake_src_stop):
16454         * gst/elements/gstfakesrc.h:
16455         * gst/elements/gstfilesink.c: (_do_init),
16456         (gst_file_sink_base_init), (gst_file_sink_class_init),
16457         (gst_file_sink_init), (gst_file_sink_dispose),
16458         (gst_file_sink_set_location), (gst_file_sink_set_property),
16459         (gst_file_sink_get_property), (gst_file_sink_open_file),
16460         (gst_file_sink_close_file), (gst_file_sink_query),
16461         (gst_file_sink_event), (gst_file_sink_render),
16462         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
16463         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
16464         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
16465         * gst/elements/gstfilesink.h:
16466         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
16467         (gst_file_src_class_init), (gst_file_src_init),
16468         (gst_file_src_finalize), (gst_file_src_set_location),
16469         (gst_file_src_set_property), (gst_file_src_get_property),
16470         (gst_file_src_map_region), (gst_file_src_map_small_region),
16471         (gst_file_src_create_mmap), (gst_file_src_create_read),
16472         (gst_file_src_create), (gst_file_src_is_seekable),
16473         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
16474         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
16475         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
16476         (gst_file_src_uri_handler_init):
16477         * gst/elements/gstfilesrc.h:
16478           more autistic cleanliness in functions/names/defines
16479
16480 2005-07-13  Andy Wingo  <wingo@pobox.com>
16481
16482         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
16483         source couldn't negotiate.
16484
16485         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
16486         connections again.
16487
16488         * gst/gstutils.h:
16489         * gst/gstutils.c (gst_element_link_pads_filtered): New old
16490         function. I am channeling Hades. Put your boots on suckers!!!
16491
16492 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
16493
16494         * testsuite/caps/Makefile.am:
16495         * testsuite/caps/value_compare.c:
16496         * testsuite/caps/value_intersect.c:
16497         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
16498           move two testsuite apps over to the check dir
16499
16500 2005-07-12  Wim Taymans  <wim@fluendo.com>
16501
16502         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
16503         Added more debug info in the negotiate process.
16504
16505         * gst/gstmessage.h:
16506         Prepare for segment playback.
16507
16508         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
16509         Better debugging.
16510
16511         * gst/gstutils.c:
16512         Some more docs.
16513
16514         * tools/gst-launch.c: (main):
16515         NULL pipeline on errors.
16516
16517 2005-07-12  Andy Wingo  <wingo@pobox.com>
16518
16519         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
16520         not it comes from a malloc region. Make sure our copy gets freed.
16521
16522 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
16523
16524         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
16525         * check/gst/gstmessage.c: (GST_START_TEST):
16526         * check/gst/gststructure.c: (GST_START_TEST),
16527         (gst_structure_suite), (main):
16528           more testing
16529         * gst/gstelement.c: (gst_element_message_full):
16530           clean up GError and debug string now that they get copied
16531         * gst/gstmessage.c: (gst_message_new_error),
16532         (gst_message_new_warning), (gst_message_parse_error),
16533         (gst_message_parse_warning):
16534           use GST_TYPE_G_ERROR for structure_new, and take copies of
16535           arguments, so that we don't mess up refcounting
16536
16537 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
16538
16539         * check/Makefile.am:
16540           add per-test valgrind targets
16541         * check/gst-libs/gdp.c: (GST_START_TEST),
16542         (gst_data_protocol_suite), (main):
16543           clean up
16544
16545 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
16546
16547         * check/Makefile.am:
16548           instate more valgrindable tests
16549         * check/elements/gstfakesrc.c: (chain_func), (event_func),
16550         (GST_START_TEST), (fakesrc_suite):
16551         * check/gst/gstpad.c: (GST_START_TEST):
16552         * check/gst/gststructure.c: (GST_START_TEST):
16553           fix test leaks
16554         * docs/gst/tmpl/gstminiobject.sgml:
16555         * gst/gstpad.c: (gst_pad_finalize):
16556           fix the static mutex leak
16557
16558 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
16559
16560         * check/Makefile.am:
16561           add two more tests for valgrinding
16562         * check/gst/gstvalue.c: (GST_START_TEST):
16563           test refcount of deserialized buffer, found a leak
16564         * docs/gst/gstreamer-docs.sgml:
16565         * docs/gst/gstreamer-sections.txt:
16566         * docs/gst/gstreamer.types:
16567         * docs/gst/tmpl/gstminiobject.sgml:
16568           add miniobject to docs
16569         * gst/gstminiobject.c:
16570           add some docs
16571         * gst/gstvalue.c: (gst_value_deserialize_buffer),
16572         (gst_string_unwrap):
16573           fix a hard-to-find invalid write for one of the tests
16574           fix a leak for deserialized buffers
16575
16576 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16577
16578         * docs/pwg/advanced-events.xml:
16579         * docs/pwg/advanced-request.xml:
16580         * docs/pwg/advanced-scheduling.xml:
16581         * docs/pwg/appendix-porting.xml:
16582         * docs/pwg/building-boiler.xml:
16583         * docs/pwg/intro-preface.xml:
16584         * docs/pwg/other-ntoone.xml:
16585           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
16586           of example code and explanation for pad activation, loop() and
16587           getrange() functions and a bit more. Remove old comments pointing
16588           to loop-functions.
16589         * examples/pwg/Makefile.am:
16590           Add loop/getrange examples.
16591
16592 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
16593
16594         * configure.ac:
16595           check for valgrind binary + some fixes
16596         * check/gst.supp:
16597           valgrind suppressions for the tests
16598         * check/Makefile.am:
16599           add a valgrind: target that valgrinds the unit tests
16600         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
16601         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
16602         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
16603         * check/gst/gstghostpad.c:
16604           added some cleanup
16605         * check/gst/gstdata.c:
16606           removed
16607         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
16608         (thread_unref), (gst_mini_object_suite), (main):
16609           added
16610         * gst/gst.c: (gst_deinit):
16611         * gst/gst.h:
16612           add a method to clean up.
16613         * gst/gstsystemclock.c: (gst_system_clock_dispose),
16614         (gst_system_clock_obtain):
16615           allow for disposing the system clock.
16616         * tools/gst-launch.c: (main):
16617           deinit
16618
16619 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
16620
16621         * docs/gst/tmpl/gstbasesrc.sgml:
16622         * docs/gst/tmpl/gstfakesrc.sgml:
16623         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
16624         (gst_base_src_init), (gst_base_src_set_property),
16625         (gst_base_src_get_property), (gst_base_src_get_range),
16626         (gst_base_src_start):
16627         * gst/base/gstbasesrc.h:
16628           add num-buffers property
16629         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
16630         (gst_fakesrc_init), (gst_fakesrc_set_property),
16631         (gst_fakesrc_get_property), (gst_fakesrc_create),
16632         (gst_fakesrc_start):
16633           remove num-buffers property
16634
16635 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
16636
16637         * docs/gst/gstreamer-sections.txt:
16638         * docs/gst/tmpl/gstbasesink.sgml:
16639         * docs/gst/tmpl/gstbasesrc.sgml:
16640         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
16641         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
16642         (gst_base_sink_finalize), (gst_base_sink_set_clock),
16643         (gst_base_sink_set_property), (gst_base_sink_get_property),
16644         (gst_base_sink_handle_object), (gst_base_sink_event),
16645         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
16646         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
16647         (gst_base_sink_loop), (gst_base_sink_deactivate),
16648         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
16649         (gst_base_sink_change_state):
16650         * gst/base/gstbasesink.h:
16651         * gst/base/gstbasesrc.h:
16652         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
16653         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
16654         (gst_filesink_init):
16655           more macro splitting
16656
16657 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
16658
16659         * gst/gstelement.c: (gst_element_get_bus):
16660           add debug
16661         * tools/gst-launch.c: (check_intr), (event_loop):
16662           fix bus leaks
16663
16664 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
16665
16666         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
16667           fix a caps leak
16668
16669 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
16670
16671         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
16672         (gst_base_src_finalize):
16673           add finalize method and clean up properly
16674         * gst/gstpipeline.c: (gst_pipeline_dispose):
16675           add debug
16676
16677 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
16678
16679         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
16680         (gst_bin_suite):
16681           add more things to check
16682         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
16683         * gst/gstelement.c:
16684           more debug
16685
16686 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
16687
16688         * check/elements/gstfakesrc.c: (chain_func), (event_func),
16689         (GST_START_TEST), (fakesrc_suite):
16690         * check/gst-libs/gdp.c: (GST_START_TEST):
16691         * check/gst/gst.c: (GST_START_TEST):
16692         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
16693         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
16694         * check/gst/gstbus.c: (GST_START_TEST):
16695         * check/gst/gstcaps.c: (GST_START_TEST):
16696         * check/gst/gstdata.c: (GST_START_TEST):
16697         * check/gst/gstelement.c: (GST_START_TEST):
16698         * check/gst/gstghostpad.c: (GST_START_TEST):
16699         * check/gst/gstiterator.c: (GST_START_TEST):
16700         * check/gst/gstmessage.c: (GST_START_TEST):
16701         * check/gst/gstobject.c: (GST_START_TEST):
16702         * check/gst/gstpad.c: (GST_START_TEST):
16703         * check/gst/gststructure.c: (GST_START_TEST):
16704         * check/gst/gstsystemclock.c: (GST_START_TEST),
16705         (gst_systemclock_suite):
16706         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
16707         * check/gst/gstvalue.c: (GST_START_TEST):
16708         * check/pipelines/cleanup.c: (GST_START_TEST):
16709         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
16710         * check/states/sinks.c: (GST_START_TEST):
16711         * check/gstcheck.c: (gst_check_init):
16712         * check/gstcheck.h:
16713           add debugging category
16714           use GST_START_TEST now, so we add a debug line
16715
16716 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
16717
16718         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
16719           add test for state change message on a bin
16720         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
16721           add another test
16722         * gst/gstbin.c: (gst_bin_init):
16723         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
16724         * gst/gstelement.c: (gst_element_post_message),
16725         (gst_element_set_state):
16726         * gst/gstelementfactory.c: (gst_element_factory_create):
16727         * gst/gstmessage.c: (gst_message_new):
16728         * gst/gstscheduler.c:
16729           various debugging additions and cleanups
16730
16731 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
16732
16733         * check/Makefile.am:
16734         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
16735         (main):
16736           adding tests for elements
16737         * gst/gstelement.c: (gst_element_dispose):
16738
16739 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
16740
16741         * gst/registries/gstlibxmlregistry.c: (load_feature):
16742           plug more leaks.  A simple gst_init() now is leakfree, yay.
16743
16744 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
16745
16746         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
16747         (gst_xml_registry_load):
16748           plug another memleak
16749
16750 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
16751
16752         * configure.ac:
16753           use GST_SET_ERROR_CFLAGS
16754         * docs/faq/cvs.xml:
16755           change to ERROR_CFLAGS
16756
16757 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
16758
16759         * configure.ac:
16760           make GST_ERROR_CFLAGS overridable and re-enable Werror
16761         * docs/faq/cvs.xml:
16762           add a note about error CFLAGS
16763         * docs/gst/tmpl/gstfakesrc.sgml:
16764         * gst/elements/gstfakesrc.c:
16765           comment out some unused code
16766         * gst/gst.c: (split_and_iterate):
16767         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
16768         (load_feature):
16769           plug some memleaks
16770
16771 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
16772
16773         * common/Makefile.am:
16774         * common/gtk-doc.mak:
16775         * docs/gst/Makefile.am:
16776           factor out gtk-doc.mak
16777
16778 2005-07-07  Wim Taymans  <wim@fluendo.com>
16779
16780         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
16781         (gst_thread_scheduler_dispose):
16782         Unlock the STREAM_LOCK completely.
16783
16784 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
16785
16786         * check/Makefile.am:
16787         * check/elements/.cvsignore:
16788         * check/elements/gstfakesrc.c: (chain_func), (event_func),
16789         (START_TEST), (fakesrc_suite), (main):
16790         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
16791         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
16792         (gst_fakesrc_create), (gst_fakesrc_start):
16793         * gst/elements/gstfakesrc.h:
16794           adding a first element test
16795
16796 2005-07-07  Andy Wingo  <wingo@pobox.com>
16797
16798         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
16799         debug message.
16800
16801 2005-07-07  Wim Taymans  <wim@fluendo.com>
16802
16803         * gst/gstquery.c:
16804         * gst/gstquery.h:
16805         Remove old types
16806
16807 2005-07-07  Wim Taymans  <wim@fluendo.com>
16808
16809         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
16810         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
16811         Allow subclasses to implement their own negotiation.
16812
16813 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
16814
16815         * docs/design/part-gstbin.txt:
16816         * docs/design/part-gstpipeline.txt:
16817           Update design notes to reflect the movement of
16818           responsibility for bus handling from GstPipeline to
16819           GstBin
16820
16821 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
16822
16823         * configure.ac:
16824           Remove unnecessary queue2/3/4 examples.
16825
16826 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
16827
16828         * examples/Makefile.am:
16829         * examples/helloworld/helloworld.c: (event_loop), (main):
16830         * examples/queue/queue.c: (event_loop), (main):
16831         * examples/queue2/queue2.c: (main):
16832           Update a couple of the examples to work again.
16833
16834         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
16835         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
16836          Spelling corrections and extra debug.
16837         
16838         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
16839         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
16840         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
16841         * gst/gstbin.h:
16842         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
16843         (gst_pipeline_change_state):
16844         * gst/gstpipeline.h:
16845           Move the bus handler for children to the GstBin, and create a
16846           separate bus for receiving messages from children to the one the
16847           bus sends 'upwards' on.
16848
16849 2005-07-06  Wim Taymans  <wim@fluendo.com>
16850
16851         * gst/base/README:
16852         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
16853         (gst_base_sink_handle_object), (gst_base_sink_loop),
16854         (gst_base_sink_change_state):
16855         * gst/base/gstbasesink.h:
16856         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
16857         (gst_base_src_init), (gst_base_src_setcaps),
16858         (gst_base_src_getcaps), (gst_base_src_loop),
16859         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
16860         (gst_base_src_start), (gst_base_src_change_state):
16861         * gst/base/gstbasesrc.h:
16862         Make basesrc negotiate.
16863         Handle the case where preroll fails in basesink.
16864         Update README.
16865
16866 2005-07-06  Wim Taymans  <wim@fluendo.com>
16867
16868         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
16869         Implement the fixate function.
16870         Clean up acceptcaps.
16871
16872 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16873
16874         * docs/pwg/building-filterfactory.xml:
16875         * docs/pwg/pwg.xml:
16876           Remove never-written filter-factory chapter; I'll add the various
16877           base classes to part 4 ("other element types") later on.
16878
16879 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16880
16881         * docs/pwg/advanced-negotiation.xml:
16882         * docs/pwg/building-boiler.xml:
16883         * docs/pwg/building-pads.xml:
16884         * docs/pwg/pwg.xml:
16885         * examples/pwg/Makefile.am:
16886           Add a chapter on caps negotiation, simplify the original code
16887           samples a bit w.r.t. caps negotiation, add link to the advanced
16888           section. Add a bunch of examples showing different use cases of
16889           different types of caps negotiation. Upstream renegotiation isn't
16890           fully documented yet since nobody knows how that works.
16891
16892 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
16893
16894         * check/gst/gstpad.c:
16895         * check/gstcheck.c:
16896         * gst/gstpad.c: (gst_pad_get_internal_links_default):
16897           if pad has no parent, return NULL as list of internal links
16898
16899 2005-07-05  Andy Wingo  <wingo@pobox.com>
16900
16901         * gst/elements/gstfilesrc.c:
16902         * gst/elements/gstfakesrc.c: 
16903         * gst/base/gstpushsrc.c:
16904         * gst/base/gstbasesrc.h: 
16905         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
16906         
16907 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
16908
16909         * Makefile.am:
16910           better report generation target (lcov needs a patch)
16911
16912 2005-07-05  Andy Wingo  <wingo@pobox.com>
16913
16914         * gst/elements, testsuite: Null if we got it...
16915
16916 2005-07-05  Wim Taymans  <wim@fluendo.com>
16917
16918         * configure.ac:
16919         * libs/gst/dataprotocol/Makefile.am:
16920         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
16921         * libs/gst/dataprotocol/dataprotocol.h:
16922         * pkgconfig/Makefile.am:
16923         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
16924         * pkgconfig/gstreamer-dataprotocol.pc.in:
16925         Ported dataprotol to 0.9. 
16926         Added pkgconfig files.
16927
16928 2005-07-05  Andy Wingo  <wingo@pobox.com>
16929
16930         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
16931         Default to returning TRUE for the case when tranform_caps returns
16932         a fixed caps, like for identity or volume.
16933
16934         * check/gst/gstbus.c (pound_bus_with_messages): 
16935         * check/gst/gstmessage.c (START_TEST): 
16936         * check/pipelines/simple_launch_lines.c (got_handoff): Application
16937         message API change.
16938
16939         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
16940         logic weaks here: always run transform_caps, trying passthrough
16941         operation only if the original caps intersects with the transform.
16942
16943         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
16944         source and sink caps.
16945
16946         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
16947         Intersect the peer caps with the pad template before going into
16948         transform_caps.
16949         (gst_base_transform_transform_caps): More debugging.
16950
16951         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
16952         src argument.
16953
16954 2005-07-04  Edward Hervey  <edward@fluendo.com>
16955
16956         * gst/gstutils.c:
16957         * gst/gstutils.h:
16958         (gst_pad_add_*_probe): now returns the signal id for better wrapping
16959         in bindings.
16960
16961 2005-07-04  Andy Wingo  <wingo@pobox.com>
16962
16963         * check/gst/gstpad.c: Only set explicit caps on pads.
16964
16965 2005-07-01  Andy Wingo  <wingo@pobox.com>
16966
16967         * tests/network-clock.scm: Commentary update.
16968
16969         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
16970         Didn't really make sense, not implementable with basetransform,
16971         etc.
16972         (gst_identity_transform): Unref inbuf via make_writable. Feeble
16973         attempt at implementing the sync property, needs an unlock method.
16974
16975         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
16976         New func, by default returns the same caps (the identity
16977         transformation).
16978         (gst_base_transform_getcaps): Uses transform_caps to return
16979         something sensible.
16980         (gst_base_transform_setcaps): Complicated logic to get caps on
16981         both pads, even if they are different, and to call set_caps once
16982         for every time both pads get their caps set.
16983         (gst_base_transform_handle_buffer): Give the ref to the transform
16984         function. Allows in-place modification of the buffer.
16985
16986         * gst/base/gstbasetransform.h (transform_caps): New class method.
16987         Given caps on one side, what can I do on the other.
16988         (set_caps): Take two caps, one for each side of the element.
16989
16990         * gst/gstpad.h:
16991         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
16992         caps in place. This is safe because we can check the mutability of
16993         the caps, and a good idea because fixate functions are just called
16994         as a matter of last resort. (Not actually implemented.)
16995         (gst_pad_set_caps): If the caps we're setting is actually the same
16996         as the existing pad caps, just update the pointer without calling
16997         setcaps. Assert that caps is either NULL or fixed, as per the
16998         docs.
16999
17000         * gst/gstghostpad.c: Update for fixate changes.
17001
17002 2005-07-02  Andy Wingo  <wingo@pobox.com>
17003
17004         * gst/gstcaps.c:
17005         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
17006         two refcounts makes it immutable, which is enough. Doc more.
17007
17008 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
17009
17010         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
17011           Put the mini_object into GValue as a mini_object,
17012           not a gpointer, since that's how we declared
17013           the signal.
17014
17015 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17016
17017         * examples/pwg/Makefile.am:
17018           Fix buildbot again.
17019
17020 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17021
17022         * docs/pwg/building-testapp.xml:
17023           Add extra check.
17024         * examples/pwg/Makefile.am:
17025           Fix buildbot.
17026
17027 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17028
17029         * configure.ac:
17030         * examples/Makefile.am:
17031         * examples/pwg/Makefile.am:
17032         * examples/pwg/extract.pl:
17033           Enable building the PWG examples.
17034         * docs/pwg/advanced-interfaces.xml:
17035           Add URI interface stub.
17036         * docs/pwg/advanced-types.xml:
17037         * docs/pwg/other-autoplugger.xml:
17038         * docs/pwg/appendix-porting.xml:
17039         * docs/pwg/pwg.xml:
17040           Add porting guide (mostly stubs), remove autoplugging (see ADM).
17041         * docs/pwg/building-boiler.xml:
17042         * docs/pwg/building-chainfn.xml:
17043         * docs/pwg/building-pads.xml:
17044         * docs/pwg/building-props.xml:
17045         * docs/pwg/building-state.xml:
17046         * docs/pwg/building-testapp.xml:
17047           Update the building-*.xml parts for 0.9 changes. All examples
17048           code blocks compile in examples/pwg/*.
17049
17050 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17051
17052         * docs/manual/advanced-autoplugging.xml:
17053         * docs/manual/appendix-checklist.xml:
17054         * docs/manual/appendix-integration.xml:
17055         * docs/manual/highlevel-components.xml:
17056           Fix playbin/decodebin examples, update docs a bit, mention bus
17057           instead of signals in various places, mention kmplayer and
17058           kaffeine since they have a working GStreamer backend in the KDE
17059           section.
17060
17061 2005-06-30  Wim Taymans  <wim@fluendo.com>
17062
17063         * CHANGES-0.9:
17064         * docs/design/draft-ghostpads.txt:
17065         * docs/design/draft-push-pull.txt:
17066         * docs/design/draft-query.txt:
17067         * docs/design/part-TODO.txt:
17068         * docs/design/part-query.txt:
17069         Added CHANGES-0.9 doc, updated status of other docs.
17070         
17071         * gst/gstquery.h:
17072         Remove "hmm" macro
17073
17074 2005-06-30  Wim Taymans  <wim@fluendo.com>
17075
17076         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
17077         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
17078         (gst_base_sink_change_state):
17079         * gst/base/gstbasesink.h:
17080         Some tweaks, only EOS and a buffer complete a preroll.
17081
17082 2005-06-30  Andy Wingo  <wingo@pobox.com>
17083
17084         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
17085         activate_push down to the internal pad as well.
17086
17087 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
17088
17089         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17090
17091         * gst/gsttaginterface.c:
17092           Some documentation fixes (#307394 and #307397).
17093
17094 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
17095
17096         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17097
17098         * gst/gstvalue.c: (gst_value_intersect_list):
17099           Fix memleak (#309125).
17100
17101 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17102
17103         * docs/manual/advanced-dataaccess.xml:
17104           Fix fakesrc example to compile; doesn't work, bug somewhere...?
17105         * docs/manual/basics-pads.xml:
17106           Add reference for filtered caps to above chapter.
17107
17108 2005-06-30  Wim Taymans  <wim@fluendo.com>
17109
17110         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
17111         (gst_bin_change_state):
17112         Probes are gone.
17113         Lame attempt at making the state change function a bit
17114         more readable.
17115
17116 2005-06-30  Wim Taymans  <wim@fluendo.com>
17117
17118         * docs/design/part-clocks.txt:
17119         * docs/design/part-element-sink.txt:
17120         * docs/design/part-events.txt:
17121         * docs/design/part-preroll.txt:
17122         * docs/design/part-states.txt:
17123         Some more tweeks and additions to the docs.
17124
17125 2005-06-30  Wim Taymans  <wim@fluendo.com>
17126
17127         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
17128         (default_have_data), (gst_pad_class_init), (gst_pad_init),
17129         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
17130         (gst_pad_check_pull_range), (gst_pad_get_range),
17131         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
17132         * gst/gstpad.h:
17133         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
17134         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
17135         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
17136         (gst_pad_remove_buffer_probe):
17137         Removed atomic operations, use existing LOCK.
17138         Move exception handling out of main code path.
17139
17140 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17141
17142         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
17143         (silly_return_true_function), (gst_pad_class_init),
17144         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
17145         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
17146         (gst_pad_send_event):
17147           Fix accumulator, add default value by using _emitv() instead
17148           of _emit() for signal emission.
17149
17150 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17151
17152         * docs/manual/advanced-dataaccess.xml:
17153         * examples/manual/Makefile.am:
17154           Add probe example.
17155         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
17156           Make work (??).
17157
17158 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
17159
17160         * gst/elements/gstfilesink.c: (gst_filesink_render):
17161           Simplify code so that we don't have to handle short
17162           writes and return GST_FLOW_ERROR if an error occured.
17163
17164 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17165
17166         * docs/gst/gstreamer-docs.sgml:
17167           Remove probes more.
17168
17169 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17170
17171         * docs/gst/gstreamer-sections.txt:
17172         * docs/gst/tmpl/gstpad.sgml:
17173         * docs/gst/tmpl/gstprobe.sgml:
17174         * gst/Makefile.am:
17175         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
17176         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
17177         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
17178         (gst_pad_push_event), (gst_pad_send_event):
17179         * gst/gstpad.h:
17180         * gst/gstutils.c: (gst_pad_add_data_probe),
17181         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
17182         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
17183         (gst_pad_remove_buffer_probe):
17184         * gst/gstutils.h:
17185           Remove old probes, add new g-signal-based probes and some utility
17186           functions.
17187
17188 2005-06-29  Edward Hervey  <edward@fluendo.com>
17189
17190         * gst/gstelementfactory.c:
17191         * gst/gstutils.h:
17192         * gst/gstutils.c:
17193         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
17194         the definition to the header file.
17195
17196 2005-06-29  Andy Wingo  <wingo@pobox.com>
17197
17198         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
17199         plugins from the source directory.
17200
17201 2005-06-29  Wim Taymans  <wim@fluendo.com>
17202
17203         * docs/gst/tmpl/gstbuffer.sgml:
17204         * docs/gst/tmpl/gstclock.sgml:
17205         Some fixings for blantently wrong text.
17206
17207 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
17208
17209         * check/Makefile.am:
17210         * gst/gst.c: (add_path_func), (init_pre):
17211         * gst/gstregistry.c: (gst_registry_add_path):
17212           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
17213           only scan the GST_PLUGIN_PATH locations, and not add
17214           system locations
17215
17216 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
17217
17218         * docs/gst/gstreamer-sections.txt:
17219         * docs/gst/tmpl/gstbasesrc.sgml:
17220         * gst/gstelement.c:
17221         * gst/gstelement.h:
17222         * gst/gstevent.c:
17223         * gst/gstutils.c:
17224           doc fixes
17225
17226 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17227
17228         * docs/manual/advanced-autoplugging.xml:
17229           Fix autoplugging example.
17230
17231 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17232
17233         * docs/manual/advanced-autoplugging.xml:
17234         * docs/manual/mime-world.fig:
17235           Try to get autoplugging working, fix type detection. Fix text
17236           in hello-world image.
17237
17238 2005-06-29  Wim Taymans  <wim@fluendo.com>
17239
17240         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
17241         (gst_base_sink_change_state):
17242         Small debug line.
17243
17244         * gst/gstclock.h:
17245         map SIGNAL and BROADCAST to the right function.
17246
17247         * gst/gstobject.h:
17248         Remove redundant braces.
17249
17250         * gst/gstpad.c: (gst_pad_set_caps):
17251         Don't call setcaps function when reseting caps to NULL.
17252
17253         * gst/gstsystemclock.c: (gst_system_clock_dispose),
17254         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
17255         (gst_system_clock_id_unschedule):
17256         Use BROADCAST as this is what we do.
17257
17258 2005-06-29  Wim Taymans  <wim@fluendo.com>
17259
17260         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
17261         We are actually prerolling before commiting the state
17262         change. 
17263
17264 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17265
17266         * docs/manual/advanced-clocks.xml:
17267         * docs/manual/advanced-interfaces.xml:
17268         * docs/manual/advanced-metadata.xml:
17269         * docs/manual/advanced-position.xml:
17270         * docs/manual/advanced-schedulers.xml:
17271         * docs/manual/advanced-threads.xml:
17272         * docs/manual/appendix-porting.xml:
17273         * docs/manual/basics-bins.xml:
17274         * docs/manual/basics-bus.xml:
17275         * docs/manual/basics-elements.xml:
17276         * docs/manual/basics-helloworld.xml:
17277         * docs/manual/basics-pads.xml:
17278         * docs/manual/highlevel-components.xml:
17279         * docs/manual/manual.xml:
17280         * docs/manual/thread.fig:
17281           Update (until threads/scheduling) Application Development Manual;
17282           remove GstThread, add GstBus, add simple porting checklist, add
17283           documentation for tag writing, clocks, make all examples until this
17284           part compile and run.
17285         * examples/manual/Makefile.am:
17286           Update from changes to Application Development Manual; add bus
17287           example, remove thread example.
17288
17289 2005-06-28  Wim Taymans  <wim@fluendo.com>
17290
17291         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
17292         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
17293         (gst_bus_source_dispatch):
17294         Add debugging messages.
17295         Make internal methods static.
17296         Handle the case where the bus is flushed in the handler.
17297         
17298         * gst/gstelement.c: (gst_element_get_bus):
17299         Fix refcount in _get_bus();
17300
17301         * gst/gstpipeline.c: (gst_pipeline_change_state),
17302         (gst_pipeline_get_clock_func):
17303         Clock refcounting fixes.
17304         Handle the case where preroll timed out more gracefully.
17305         
17306         * gst/gstsystemclock.c: (gst_system_clock_dispose):
17307         Clean up the internal thread in dispose. This is needed
17308         for subclasses that actually get disposed.
17309         
17310         * gst/schedulers/threadscheduler.c:
17311         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
17312         (gst_thread_scheduler_dispose):
17313         Free thread pool in dispose.
17314
17315 2005-06-28  Andy Wingo  <wingo@pobox.com>
17316
17317         * tests/network-clock-utils.scm (debug, print-event): New utils.
17318
17319         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
17320         (*packet-loss*): Unified loss probability.
17321         (network-time): Report out-of-band events.
17322
17323         * tests/plot-data: Add support for out-of-band events. Hack it
17324         into this script instead of passing it down the pipe; should fix
17325         this later.
17326
17327 2005-06-28  Wim Taymans  <wim@fluendo.com>
17328
17329         * docs/gst/gstreamer.types:
17330         * docs/gst/tmpl/gstbasesrc.sgml:
17331         * docs/gst/tmpl/gstpad.sgml:
17332         Docs fixes.
17333
17334 2005-06-28  Wim Taymans  <wim@fluendo.com>
17335
17336         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
17337         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
17338         (gst_proxy_pad_do_fixatecaps):
17339         Correctly proxy the check_pull_range function.
17340
17341 2005-06-28  Andy Wingo  <wingo@pobox.com>
17342
17343         * tests/network-clock.scm: Removed need for slib.
17344         
17345 2005-06-28  Wim Taymans  <wim@fluendo.com>
17346
17347         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
17348         (gst_basesink_preroll_queue_flush):
17349         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
17350         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
17351         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
17352         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
17353         (gst_proxy_pad_set_property):
17354         * gst/gstpad.c:
17355         * gst/gstpad.h:
17356         * gst/gstqueue.c: (gst_queue_init):
17357         The deprecated pad loop function is removed now.
17358
17359 2005-06-28  Andy Wingo  <wingo@pobox.com>
17360
17361         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
17362         New parameters, simulate network packet loss.
17363
17364         * tests/network-clock-utils.scm: Initialize the RNG.
17365
17366 2005-06-28  Wim Taymans  <wim@fluendo.com>
17367
17368         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
17369         (gst_basesink_event), (gst_basesink_deactivate):
17370         Flushing the preroll queue always needs to unlock the waiters.
17371
17372 2005-06-28  Edward Hervey  <edward@fluendo.com>
17373
17374         * gst/gstpipeline.c: (gst_pipeline_send_event): 
17375         Wheen a seek was successful on a pipeline, set the stream_time to the
17376         seek offset in order to have a synchronized stream_time.
17377
17378 2005-06-28  Wim Taymans  <wim@fluendo.com>
17379
17380         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
17381         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
17382         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
17383         (gst_proxy_pad_do_fixatecaps):
17384         Call wrapper function instead of just calling the function
17385         pointers. This takes care of any locking and whatmore.
17386
17387 2005-06-28  Wim Taymans  <wim@fluendo.com>
17388
17389         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
17390         (gst_pad_pull_range):
17391         * gst/gstpad.h:
17392         CONNECTED -> LINKED.
17393
17394 2005-06-28  Andy Wingo  <wingo@pobox.com>
17395
17396         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
17397         source-munging commit!!!
17398
17399         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
17400         (gst_object_sink): Take gpointer arguments, not GstObject --
17401         avoids casts. Like GLib.
17402
17403         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
17404         activate.
17405
17406 2005-06-27  Andy Wingo  <wingo@pobox.com>
17407
17408         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
17409         remaining buffer.
17410
17411         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
17412         returns a sorted copy of the trace list.
17413         (gst_alloc_trace_print_live): New API, only prints traces with
17414         live objects. Sort the list.
17415         (gst_alloc_trace_print_all): Sort the list.
17416         (gst_alloc_trace_print): Align columns.
17417
17418         * gst/elements/gstttypefindelement.c:
17419         * gst/elements/gsttee.c:
17420         * gst/base/gstbasesrc.c:
17421         * gst/base/gstbasesink.c:
17422         * gst/base/gstbasetransform.c:
17423         * gst/gstqueue.c: Adapt for pad activation changes.
17424
17425         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
17426         sched.
17427         (gst_pipeline_dispose): Drop ref on sched.
17428
17429         * gst/gstpad.c (gst_pad_init): Set the default activate func.
17430         (gst_pad_activate_default): Push mode by default.
17431         (pre_activate_switch, post_activate_switch): New stubs, things to
17432         do before and after switching activation modes on pads.
17433         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
17434         the pad's activate function to choose which mode to activate.
17435         Shortcut on deactivation and call the right function directly.
17436         (gst_pad_activate_pull): New API, (de)activates a pad in pull
17437         mode.
17438         (gst_pad_activate_push): New API, same for push mode.
17439         (gst_pad_set_activate_function) 
17440         (gst_pad_set_activatepull_function) 
17441         (gst_pad_set_activatepush_function): Setters for new API.
17442
17443         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
17444         Trace all miniobjects.
17445         (gst_mini_object_make_writable): Unref the arg if we copy, like
17446         gst_caps_make_writable.
17447
17448         * gst/gstmessage.c (_gst_message_initialize): No trace init.
17449
17450         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
17451         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
17452         Adapt for new pad API.
17453
17454         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
17455
17456         * gst/gstelement.h:
17457         * gst/gstelement.c (gst_element_iterate_src_pads) 
17458         (gst_element_iterate_sink_pads): New API functions.
17459         
17460         * gst/gstelement.c (iterator_fold_with_resync): New utility,
17461         should fold into gstiterator.c in some form.
17462         (gst_element_pads_activate): Simplified via use of fold and
17463         delegation of decisions to gstpad->activate.
17464
17465         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
17466         help in debugging.
17467
17468         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
17469         class once in init, like gstmessage. Didn't run into this issue
17470         but it seems correct. Don't initialize a trace, gstminiobject does
17471         that.
17472
17473         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
17474         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
17475         to the bus.
17476         (assert_live_count): New util function, uses alloc traces to check
17477         cleanup.
17478
17479         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
17480         To be modified when unlink drops the internal pad.
17481
17482 2005-06-27  Wim Taymans  <wim@fluendo.com>
17483
17484         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
17485         (gst_bin_change_state):
17486         Cleanup the get_state() function a little, make sure it
17487         iterates the same set of elements.
17488         Added stub iterate_state_order().
17489
17490 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
17491
17492         * docs/gst/gstreamer-docs.sgml:
17493         * docs/gst/gstreamer-sections.txt:
17494         * docs/gst/gstreamer.types:
17495         * docs/gst/tmpl/gstbasesink.sgml:
17496         * docs/gst/tmpl/gstbasesrc.sgml:
17497         * docs/gst/tmpl/gstbasetransform.sgml:
17498         * docs/gst/tmpl/gstelement.sgml:
17499         * docs/gst/tmpl/gstiterator.sgml:
17500         * gst/base/gstbasesrc.c:
17501         * gst/base/gstbasesrc.h:
17502         * gst/base/gstbasetransform.h:
17503         * gst/gstelement.c:
17504         * gst/gstiterator.h:
17505           adding basetransform and iterator docs
17506
17507 2005-06-27  Andy Wingo  <wingo@pobox.com>
17508
17509         * docs/design/part-activation.txt: Notes on how activation should
17510         work -- not quite implemented yet.
17511
17512 2005-06-25  Wim Taymans  <wim@fluendo.com>
17513
17514         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
17515         At least get the chain function correct, needs more
17516         fixing.
17517
17518 2005-06-25  Wim Taymans  <wim@fluendo.com>
17519
17520         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
17521         (gst_basesink_handle_object), (gst_basesink_event),
17522         (gst_basesink_do_sync), (gst_basesink_handle_event),
17523         (gst_basesink_change_state):
17524         * gst/gsttask.h:
17525         Right, two problems here: ghostpads don't take locks and
17526         glib _rec_mutex_lock_full() with depth==0 still locks.
17527         Catch illegal locking and g_warn them.
17528
17529 2005-06-25  Wim Taymans  <wim@fluendo.com>
17530
17531         * check/states/sinks.c: (START_TEST), (gst_object_suite):
17532         Have to check for completion now...
17533
17534 2005-06-25  Wim Taymans  <wim@fluendo.com>
17535
17536         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
17537         (gst_basesink_handle_object), (gst_basesink_event),
17538         (gst_basesink_do_sync), (gst_basesink_handle_event),
17539         (gst_basesink_change_state):
17540         * gst/gstpad.h:
17541         Unlock STREAM_LOCK whatever the recursion was.
17542
17543 2005-06-25  Wim Taymans  <wim@fluendo.com>
17544
17545         * gst/base/gstbasesink.c: (gst_basesink_set_property),
17546         (gst_basesink_preroll_queue_empty),
17547         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
17548         (gst_basesink_event), (gst_basesink_do_sync),
17549         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
17550         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
17551         (gst_basesink_change_state):
17552         Reworked the base sink, handle event and buffer serialisation
17553         correctly and removed possible deadlock.
17554         Handle EOS correctly.
17555
17556 2005-06-25  Wim Taymans  <wim@fluendo.com>
17557
17558         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
17559         (gst_pipeline_change_state):
17560         * tools/gst-launch.c: (check_intr), (event_loop), (main):
17561         Allow elements to post EOS in the state change function.
17562         Fix up -launch, make it exit the poll loop when the
17563         pipeline actually changed state.
17564         Fix up warning parsing in -launch.
17565
17566 2005-06-25  Wim Taymans  <wim@fluendo.com>
17567
17568         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
17569         (gst_tee_sink_activate):
17570         Core takes STREAM_LOCK for us now.
17571
17572 2005-06-25  Wim Taymans  <wim@fluendo.com>
17573
17574         * gst/gstelement.c: (gst_element_get_state_func),
17575         (gst_element_set_state):
17576         * gst/gstelement.h:
17577         * gst/gstmessage.c: (gst_message_parse_error),
17578         (gst_message_parse_warning):
17579         Keep track of current target state while performing a state
17580         change so that subclasses can do something interesting.
17581         Fix parsing of warning/error messages when GError is NULL.
17582
17583 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
17584
17585         * docs/gst/Makefile.am:
17586         * docs/gst/gstreamer-docs.sgml:
17587         * docs/gst/gstreamer-sections.txt:
17588         * docs/gst/gstreamer.types:
17589         * docs/gst/tmpl/gstbasesink.sgml:
17590         * docs/gst/tmpl/gstbasesrc.sgml:
17591         * docs/gst/tmpl/gstbin.sgml:
17592         * docs/gst/tmpl/gstcompat.sgml:
17593         * docs/gst/tmpl/gstfakesink.sgml:
17594         * docs/gst/tmpl/gstfakesrc.sgml:
17595         * docs/gst/tmpl/gstfilesink.sgml:
17596         * docs/gst/tmpl/gstfilesrc.sgml:
17597         * docs/gst/tmpl/gstindex.sgml:
17598         * docs/manual/appendix-quotes.xml:
17599         * gst/base/gstbasesrc.h:
17600         * gst/elements/gstfakesrc.h:
17601         * gst/gstmessage.h:
17602           start pulling in base classes and elements in our docs
17603
17604 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
17605
17606         * docs/gst/Makefile.am:
17607         * docs/libs/Makefile.am:
17608           fixed make distcheck with gtk-doc 1.3
17609
17610 2005-06-23  Wim Taymans  <wim@fluendo.com>
17611
17612         * gst/gstelement.c: (gst_element_get_state_func),
17613         (gst_element_set_state), (gst_element_change_state):
17614         When the state did not change, also report NO_PREROLL
17615         when it matters.
17616
17617 2005-06-23  Wim Taymans  <wim@fluendo.com>
17618
17619         * gst/gstpad.c: (gst_pad_event_default):
17620         * gst/gstqueue.c: (gst_queue_loop):
17621         No unsafe task pausing please.
17622
17623 2005-06-23  Wim Taymans  <wim@fluendo.com>
17624
17625         * gst/schedulers/threadscheduler.c:
17626         (gst_thread_scheduler_task_start),
17627         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
17628         Ref the task before pushing it on the threadpool. This
17629         makes sure that we have a ref when the threadfunction is
17630         actually called.
17631
17632 2005-06-23  Andy Wingo  <wingo@pobox.com>
17633
17634         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
17635         offset is greater than the file's size.
17636
17637         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
17638         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
17639         * gst/gstobject.c (gst_object_class_init): Make the class lock
17640         recursive. Wim won't let me drop deep_notify. Decodebin works
17641         again, whoopdy doo.
17642
17643         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
17644         internal pad, and hacks accordingly. Doesn't do it on the target
17645         pad because we change its caps. Probably catches all cases of
17646         interest tho.
17647         (gst_ghost_pad_set_property): Connect to notify::caps as
17648         appropritate.
17649
17650         * tests/network-clock.scm (plot-simulation): Pipe data to the
17651         elite python skript.
17652
17653         * tests/network-clock-utils.scm (define-parameter): New macro,
17654         defines a parameter that can be set via the command line.
17655         (set-parameter!, parse-parameter-arguments): Command line args
17656         parser.
17657
17658         * tests/plot-data: Simple matplotlib-based plotter, takes input on
17659         stdin.
17660
17661 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
17662
17663         * gst/elements/gsttypefindelement.c:
17664         (gst_type_find_element_handle_event):
17665           Don't restart typefinding on a discont.
17666         * gst/gstelement.c: (gst_element_set_state):
17667           Debug spelling fix.
17668         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
17669           Allow changing mode of an active pad.
17670           Debug output fixes.
17671         * gst/registries/gstlibxmlregistry.c: (load_feature):
17672           Don't cast a static pad template to a normal pad template.
17673
17674 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
17675
17676         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
17677         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
17678           remove gst_strtoll completely, since it didn't actually do
17679           anything more than what g_ascii_strtoull already does.
17680           check for range errors when deserializing
17681           do a cast for the unsigned cases; but further fixing needs
17682           a decision on what the interpretation of "(int)" and
17683           deserialization should be for values that fall outside the
17684           type's boundaries (ie, refuse, or interpret as casting)
17685
17686 2005-06-23  Wim Taymans  <wim@fluendo.com>
17687
17688         * check/Makefile.am:
17689         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
17690         * docs/design/part-live-source.txt:
17691         * docs/design/part-states.txt:
17692         * gst/base/gstbasesrc.c: (gst_basesrc_init),
17693         (gst_basesrc_set_live), (gst_basesrc_is_live),
17694         (gst_basesrc_get_range), (gst_basesrc_activate),
17695         (gst_basesrc_change_state):
17696         * gst/base/gstbasesrc.h:
17697         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
17698         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
17699         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
17700         * gst/gstelement.c: (gst_element_get_state_func),
17701         (gst_element_set_state):
17702         * gst/gstelement.h:
17703         * gst/gsttypes.h:
17704         * tools/gst-launch.c: (event_loop), (main):
17705         Added support for live sources and other elements that
17706         cannot do preroll.
17707         Updated design docs, added live-source design doc.
17708         Implemented live source functionality in basesrc
17709         Fix error condition in _bin_get_state()
17710         Implement live source handling in -launch.
17711         Added check for live sources.
17712         Fixed case in GstBin where elements were changed state
17713         multiple times.
17714
17715
17716 2005-06-23  Andy Wingo  <wingo@pobox.com>
17717
17718         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
17719         borken refcounting.
17720
17721         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
17722         gst_caps_replace takes care of this for us.
17723
17724         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
17725         gst_pad_set_caps on the target, not just its setcaps() function.
17726
17727         * tests/network-clock.scm: 
17728         * tests/network-clock-utils.scm: A network clock simulator.
17729         Something of an algorithmic testbed before doing something in C.
17730
17731 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
17732
17733         * check/Makefile.am:
17734         * check/gst/capslist.h:
17735           copy over from 0.8, and add two with bitmasks specified with
17736           (int) 0xFF...
17737         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
17738           add test to parse everything from capslist.h
17739         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
17740         (main):
17741           add test for structure deserialization
17742         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
17743           add tests for deserialization of strings to int types
17744         * gst/gststructure.c: (gst_structure_nth_field_name):
17745         * gst/gststructure.h:
17746           add a way to get the name of a field referenced by index
17747         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
17748           instead of checking if the resulting long long lies between
17749           min and max, we check if the long long would fit into
17750           a number of bytes for the final type.
17751           This fixes cases where a string represents 2^32 - 1, which
17752           when cast to int would be the (valid) -1, but is bigger than
17753           G_MAXINT
17754
17755 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
17756
17757         * gst/parse/grammar.y:
17758           add a log line for type deserialization
17759
17760 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
17761
17762         * check/gst/gstvalue.c: (START_TEST):
17763         * gst/gstvalue.c: (gst_value_deserialize):
17764           return long long, not int, so gint64 deserialization actually
17765           works.  Is there any flag that makes the compiler check this ?
17766           Fixes #308559
17767
17768 2005-06-22  Wim Taymans  <wim@fluendo.com>
17769
17770         * gst/gstbuffer.h:
17771         Added convenience macros for setting buffers in GValue.
17772
17773 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
17774
17775         * check/gst/.cvsignore:
17776         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
17777           add a test deserializing int64, and comment part out because
17778           it fails, yay !
17779
17780 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
17781
17782         * check/Makefile.am:
17783         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
17784         * testsuite/Makefile.am:
17785         * testsuite/caps/Makefile.am:
17786         * testsuite/caps/value_serialize.c:
17787         * testsuite/test_gst_init.c:
17788           move a value_serialize test over
17789
17790 2005-06-20  Wim Taymans  <wim@fluendo.com>
17791
17792         * gst/gstpad.c:
17793         Small doc updates.
17794         
17795         * gst/gstvalue.c: (gst_value_compare_buffer),
17796         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
17797         (gst_value_compare_flags), (gst_value_serialize_flags),
17798         (gst_value_deserialize_flags), (_gst_value_initialize):
17799         Fix serialisation of buffers, they are not boxed types anymore
17800
17801 2005-06-20  Wim Taymans  <wim@fluendo.com>
17802
17803         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
17804         Testcase to show error in buffer-on-caps serialisation.
17805
17806 2005-06-20  Andy Wingo  <wingo@pobox.com>
17807
17808         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
17809         will be adding to later.
17810
17811         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
17812         if its socks fill with rocks.
17813         (gst_system_clock_obtain): Set the name on object construction.
17814         Avoid double-checked locking.
17815
17816 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
17817
17818         * gst/gsturi.c: (gst_element_make_from_uri):
17819           Fix potential endless loop.
17820
17821 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
17822
17823         * check/Makefile.am:
17824           add gsttag
17825         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
17826         (main):
17827           move over from testsuite dir and clean up
17828         * configure.ac:
17829         * gst/gsttag.c:
17830         * testsuite/Makefile.am:
17831         * testsuite/tags/.cvsignore:
17832         * testsuite/tags/Makefile.am:
17833         * testsuite/tags/merge.c:
17834           remove testsuite/tags
17835
17836 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
17837
17838         * docs/gst/gstreamer-sections.txt:
17839         * docs/gst/tmpl/gstenumtypes.sgml:
17840         * win32/gstenumtypes.c:
17841           clean up documentation build a little
17842
17843 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
17844
17845         * check/gstcheck.h:
17846           add macros for checking refcounts on objects and caps
17847         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
17848           add some more unit tests
17849         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
17850         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
17851           fix leaked refcounts (I hope :)) so unittest works
17852         * gst/gstpad.h:
17853           whitespace removal
17854
17855 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
17856
17857         * configure.ac: back to HEAD
17858
17859 === release 0.9.1 ===
17860
17861 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
17862
17863         * NEWS:
17864         * RELEASE:
17865           updated
17866
17867 2005-06-17  Andy Wingo  <wingo@pobox.com>
17868
17869         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
17870         assert; it's always possible that the pad gets deactivated in
17871         between the checks in gstpad.c and the implementation. Rely on
17872         finish_preroll() to return a FLUSHING or similar instead of on the
17873         assert.
17874         
17875         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
17876         clock and post an EOS message if we come out of finish_preroll in
17877         the playing state.
17878
17879 2005-06-16  David Schleef  <ds@schleef.org>
17880
17881         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
17882         (gst_capsfilter_set_property): Allow NULL as possible value
17883         for filter_caps property, indicating GST_CAPS_ANY.
17884
17885 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
17886
17887         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
17888           fix debug output
17889         * gst/schedulers/Makefile.am:
17890           use libgst prefix
17891         * gstreamer.spec.in:
17892           fix spec for it
17893
17894 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
17895
17896         * gstreamer.spec.in:
17897           clean up
17898
17899 2005-06-08  Andy Wingo  <wingo@pobox.com>
17900
17901         * gst/gstutils.c: RPAD fixes all around.
17902         (gst_element_link_pads): Refcounting fixes.
17903
17904         * tools/gst-inspect.c:
17905         * tools/gst-xmlinspect.c:
17906         * parse/grammar.y:
17907         * gst/base/gsttypefindhelper.c:
17908         * gst/base/gstbasesink.c:
17909         * gst/gstqueue.c: RPAD fixes.
17910
17911         * gst/gstghostpad.h:
17912         * gst/gstghostpad.c: New ghost pad implementation as full proxy
17913         pads. The tricky thing is they provide both source and sink
17914         interfaces, since they proxy the internal pad for the external
17915         pad, and vice versa. Implement with lower-level ProxyPad objects,
17916         with the interior proxy pad as a child of the exterior ghost pad.
17917         Should write a doc on this.
17918         
17919         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
17920         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
17921         gst_object API.
17922         
17923         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
17924         pads are real pads. No ghost pads in this file. Not documenting
17925         the myriad s/RPAD/PAD/ and REALIZE fixes.
17926         (gst_pad_class_init): Add properties for "direction" and
17927         "template". Both are construct-only, so they can't change during
17928         the life of the pad. Fixes properly deriving from GstPad.
17929         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
17930         derived objects, just set properties when creating the objects via
17931         g_object_new.
17932         (gst_pad_get_parent): Implement as a function, return NULL if the
17933         parent is not an element.
17934         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
17935         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
17936         
17937         * gst/gstobject.c (gst_object_class_init): Make name a construct
17938         property. Don't set it in the object init.
17939
17940         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
17941         with UNKNOWN direction.
17942         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
17943         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
17944         (gst_element_remove_pad): Remove ghost-pad special cases.
17945         (gst_element_pads_activate): Remove rpad cruft.
17946
17947         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
17948         catch the pad's-parent-not-an-element case.
17949
17950         * gst/gst.h: Include gstghostpad.h.
17951
17952         * gst/gst.c (init_post): No more real, ghost pads.
17953
17954         * gst/Makefile.am: Add gstghostpad.[ch].
17955
17956         * check/Makefile.am:
17957         * check/gst/gstbin.c:
17958         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
17959         into a bin creates ghost pads, and that the refcounts are right.
17960         Partly moved from gstbin.c.
17961
17962 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
17963
17964         * check/gst-libs/.cvsignore:
17965         * check/gst/.cvsignore:
17966         * check/pipelines/.cvsignore:
17967           ignore more
17968         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
17969         (START_TEST), (cleanup_suite), (main):
17970           add some tests related to cleanup after running pipelines
17971
17972 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
17973
17974         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
17975           add a testsuite for GstBuffer
17976
17977 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
17978
17979         * gst/gstminiobject.h:
17980           add defines for accessing the refcount
17981
17982 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
17983
17984         * Makefile.am: added support for html unit test coverage reports
17985
17986 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
17987
17988         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
17989           Free existing caps if the capsfilter changes. Add a FIXME about
17990           setting those caps on the pads.
17991
17992         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
17993           Before adding a ghost pad to a parent bin, check that there isn't
17994           already one for the element on the bin. Prevents infinite recursion
17995           when using decodebin in parse pipelines. Andy says he'll rewrite the
17996           way this works anyway, so ignore the hack.
17997
17998 2005-06-02  Andy Wingo  <wingo@pobox.com>
17999
18000         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
18001         file size, pass it on to the type find helper.
18002
18003         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
18004         segment_start and segment_end properly according to the seek
18005         method. Segment_end is still a bit flaky because offset can be
18006         negative for CUR and END cases, but it takes -1 as an "unset"
18007         value.
18008
18009 2005-06-02  Wim Taymans  <wim@fluendo.com>
18010
18011         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
18012         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
18013         (gst_basesink_activate):
18014         * gst/base/gstbasesink.h:
18015         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
18016         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
18017         (gst_pad_query), (gst_pad_start_task):
18018         * gst/gstpad.h:
18019         * gst/gstqueue.c: (gst_queue_bufferalloc),
18020         (gst_queue_handle_sink_event), (gst_queue_chain):
18021         Bufferalloc: return GstFlowReturn to more accuratly report
18022         why allocation failed.
18023
18024 2005-06-02  Wim Taymans  <wim@fluendo.com>
18025
18026         * gst/gstpipeline.c: (gst_pipeline_send_event):
18027         Take snapshot of state without blocking.
18028
18029 2005-06-02  Wim Taymans  <wim@fluendo.com>
18030
18031         * docs/design/part-TODO.txt:
18032         * docs/design/part-caps.txt:
18033         * docs/design/part-clocks.txt:
18034         * docs/design/part-negotiation.txt:
18035         * docs/design/part-preroll.txt:
18036         Small doc updates 
18037
18038 2005-05-30  Wim Taymans  <wim@fluendo.com>
18039
18040         * gst/elements/gstidentity.c: (gst_identity_event),
18041         (gst_identity_transform), (gst_identity_get_property):
18042         Protect last_message property as it is accessed from
18043         multiple threads.
18044
18045 2005-05-30  Wim Taymans  <wim@fluendo.com>
18046
18047         * gst/gstelement.c: (gst_element_init),
18048         (gst_element_pads_activate), (gst_element_change_state):
18049         Slicker pad activation code.
18050
18051 2005-05-30  Wim Taymans  <wim@fluendo.com>
18052
18053         * gst/Makefile.am:
18054         * gst/gstelement.h:
18055         * gst/gstelementfactory.h:
18056         * gst/gsttypes.h:
18057         Move elementfactory methods to separate .h file.
18058
18059 2005-05-30  Wim Taymans  <wim@fluendo.com>
18060
18061         * docs/design/part-overview.txt:
18062         * gst/gstsystemclock.h:
18063         Small typo fixes, doc updates.
18064
18065 2005-05-30  Wim Taymans  <wim@fluendo.com>
18066
18067         * gst/gst.c: (gst_init_get_popt_table), (init_post),
18068         (init_popt_callback):
18069         Remove cpu-opt flag.
18070
18071 2005-05-30  Wim Taymans  <wim@fluendo.com>
18072
18073         * gst/gstbuffer.c: (gst_subbuffer_finalize),
18074         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
18075         * gst/gstbuffer.h:
18076         Avoid typechecking in places where not needed.
18077         Added accessor for malloc_data.
18078
18079 2005-05-30  Wim Taymans  <wim@fluendo.com>
18080
18081         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
18082         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
18083         (gst_pad_configure_sink), (gst_pad_configure_src),
18084         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
18085         (gst_pad_start_task):
18086         Propagate errors from _set_caps() in configure_src/sink
18087         functions instead of returning TRUE.
18088         FLUSH events can travel up and downstream
18089
18090
18091 2005-05-30  Wim Taymans  <wim@fluendo.com>
18092
18093         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
18094         (gst_basesink_activate):
18095         Handle EOS in preroll.
18096
18097 2005-05-30  Wim Taymans  <wim@fluendo.com>
18098
18099         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
18100         (gst_queue_loop), (gst_queue_handle_src_event):
18101         Remove old pieces of code
18102         Flushing the queue in an upstream event is a very bad idea.
18103
18104 2005-05-26  Andy Wingo  <wingo@pobox.com>
18105
18106         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
18107         gst_value_set_mini_object so as to add a ref on the object (which
18108         will be removed when the value is unset).
18109
18110         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
18111         arg type in ::handoff.
18112
18113         * gst/gstelement.c (gst_element_change_state): Also deactivate
18114         pads in READY->NULL, just in case the element didn't make it to
18115         PAUSED. Wingo tested, Wim approved.
18116
18117 2005-05-26  Wim Taymans  <wim@fluendo.com>
18118
18119         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
18120         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
18121         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
18122         A flushing pad cannot be used to alloc_buffer from.
18123
18124 2005-05-26  Wim Taymans  <wim@fluendo.com>
18125
18126         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
18127         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
18128         (gst_bus_source_dispatch), (gst_bus_source_finalize),
18129         (gst_bus_create_watch), (gst_bus_add_watch_full):
18130         * gst/gstbus.h:
18131         Implement a real GSource and use g_main_context_wakeup() to
18132         signal new messages instead of the socketpair.
18133
18134 2005-05-25  Wim Taymans  <wim@fluendo.com>
18135
18136         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
18137         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
18138         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
18139         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
18140         (gst_pad_send_event), (gst_pad_start_task):
18141         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
18142         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
18143         (gst_queue_sink_activate), (gst_queue_src_activate),
18144         (gst_queue_change_state):
18145         * gst/gstqueue.h:
18146         Fix state changes for non sinks. We now change sinks, then elements
18147         with unconnected srcpads, then the rest.
18148         More efficient queue unlocking in flush and state changes.
18149         Set the pad activate mode even if it does not have an activate
18150         function.
18151
18152 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18153
18154         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
18155           Don't go in pull mode for non-seekable sources.
18156         * gst/elements/gsttypefindelement.h:
18157         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
18158         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
18159         (free_entry), (stop_typefinding),
18160         (gst_type_find_element_handle_event), (find_peek),
18161         (gst_type_find_element_chain), (do_pull_typefind),
18162         (gst_type_find_element_change_state):
18163           Allow typefinding (w/o seeking) in push-mode, simplified version
18164           of what was in 0.8.
18165         * gst/gstutils.c: (gst_buffer_join):
18166         * gst/gstutils.h:
18167           gst_buffer_join() from 0.8.
18168
18169 2005-05-25  Wim Taymans  <wim@fluendo.com>
18170
18171         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
18172         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
18173         (gst_pad_send_event), (gst_pad_start_task):
18174         Disable attempt at mode switching until it is figured out.
18175
18176 2005-05-25  Wim Taymans  <wim@fluendo.com>
18177
18178         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
18179         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
18180         (gst_basesink_finish_preroll), (gst_basesink_chain),
18181         (gst_basesink_loop), (gst_basesink_activate),
18182         (gst_basesink_change_state):
18183         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
18184         (gst_basesrc_get_range), (gst_basesrc_loop),
18185         (gst_basesrc_activate):
18186         * gst/elements/gsttee.c: (gst_tee_sink_activate):
18187         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
18188         (gst_real_pad_init), (gst_real_pad_set_property),
18189         (gst_real_pad_get_property), (gst_pad_set_active),
18190         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
18191         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
18192         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
18193         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
18194         (gst_pad_event_default_dispatch), (gst_pad_event_default),
18195         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
18196         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
18197         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
18198         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
18199         (gst_pad_stop_task):
18200         * gst/gstpad.h:
18201         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
18202         (gst_queue_loop), (gst_queue_src_activate):
18203         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
18204         (gst_task_get_state):
18205         * gst/gsttask.h:
18206         * gst/schedulers/threadscheduler.c:
18207         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
18208         Implement gst_pad_pause/start/stop_task(), take STREAM lock
18209         in task function.
18210         Remove ACTIVE pad flag, use FLUSHING everywhere
18211         Added _pad_chain(), _pad_get_range() to call chain/getrange 
18212         functions.
18213         Add locks around IS_FLUSHING when reading.
18214         Take STREAM lock in chain(), get_range() functions so plugins
18215         don't need to take it anymore.
18216         
18217
18218
18219 2005-05-25  Wim Taymans  <wim@fluendo.com>
18220
18221         * tools/gst-launch.c: (event_loop):
18222         Unref message after using its contents instead of
18223         before.
18224
18225 2005-05-24  Wim Taymans  <wim@fluendo.com>
18226
18227         * docs/design/draft-ghostpads.txt:
18228         * docs/design/draft-push-pull.txt:
18229         * docs/design/draft-query.txt:
18230         * docs/design/part-overview.txt:
18231         Docs updates, added general overview doc.
18232
18233 2005-05-21  David Schleef  <ds@schleef.org>
18234
18235         * docs/gst/tmpl/old/GstBin.sgml:
18236         * docs/gst/tmpl/old/GstBuffer.sgml:
18237         * docs/gst/tmpl/old/GstCaps.sgml:
18238         * docs/gst/tmpl/old/GstClock.sgml:
18239         * docs/gst/tmpl/old/GstCompat.sgml:
18240         * docs/gst/tmpl/old/GstData.sgml:
18241         * docs/gst/tmpl/old/GstElement.sgml:
18242         * docs/gst/tmpl/old/GstEvent.sgml:
18243         * docs/gst/tmpl/old/GstIndex.sgml:
18244         * docs/gst/tmpl/old/GstStructure.sgml:
18245         * docs/gst/tmpl/old/GstTag.sgml:
18246         * docs/gst/tmpl/old/cothreads.sgml:
18247         * docs/gst/tmpl/old/cothreads_compat.sgml:
18248         * docs/gst/tmpl/old/gettext.sgml:
18249         * docs/gst/tmpl/old/gobject2gtk.sgml:
18250         * docs/gst/tmpl/old/grammar.tab.sgml:
18251         * docs/gst/tmpl/old/gst-i18n-app.sgml:
18252         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
18253         * docs/gst/tmpl/old/gst_private.sgml:
18254         * docs/gst/tmpl/old/gstaggregator.sgml:
18255         * docs/gst/tmpl/old/gstarch.sgml:
18256         * docs/gst/tmpl/old/gstatomic_impl.sgml:
18257         * docs/gst/tmpl/old/gstbufferstore.sgml:
18258         * docs/gst/tmpl/old/gstdata_private.sgml:
18259         * docs/gst/tmpl/old/gstdisksink.sgml:
18260         * docs/gst/tmpl/old/gstdisksrc.sgml:
18261         * docs/gst/tmpl/old/gstelementfactory.sgml:
18262         * docs/gst/tmpl/old/gstextratypes.sgml:
18263         * docs/gst/tmpl/old/gstfakesink.sgml:
18264         * docs/gst/tmpl/old/gstfakesrc.sgml:
18265         * docs/gst/tmpl/old/gstfdsink.sgml:
18266         * docs/gst/tmpl/old/gstfdsrc.sgml:
18267         * docs/gst/tmpl/old/gstfilesink.sgml:
18268         * docs/gst/tmpl/old/gstfilesrc.sgml:
18269         * docs/gst/tmpl/old/gsthttpsrc.sgml:
18270         * docs/gst/tmpl/old/gstidentity.sgml:
18271         * docs/gst/tmpl/old/gstindexfactory.sgml:
18272         * docs/gst/tmpl/old/gstmarshal.sgml:
18273         * docs/gst/tmpl/old/gstmd5sink.sgml:
18274         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
18275         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
18276         * docs/gst/tmpl/old/gstpadtemplate.sgml:
18277         * docs/gst/tmpl/old/gstpipefilter.sgml:
18278         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
18279         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
18280         * docs/gst/tmpl/old/gstshaper.sgml:
18281         * docs/gst/tmpl/old/gstspider.sgml:
18282         * docs/gst/tmpl/old/gstspideridentity.sgml:
18283         * docs/gst/tmpl/old/gststatistics.sgml:
18284         * docs/gst/tmpl/old/gsttee.sgml:
18285         * docs/gst/tmpl/old/gsttimecache.sgml:
18286         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
18287         * docs/gst/tmpl/old/gstxmlregistry.sgml:
18288         * docs/gst/tmpl/old/gthread-cothreads.sgml:
18289         * docs/gst/tmpl/old/types.sgml:
18290           I didn't intend to add these or check them in.
18291
18292 2005-05-19  David Schleef  <ds@schleef.org>
18293
18294         * configure.ac: Use -no-common everywhere.  In a sane world, it
18295           would be the default in libtool, because without it, you can't
18296           build DLLs on Windows.
18297         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
18298         * docs/gst/gstreamer-sections.txt:
18299         * docs/gst/tmpl/gstcpu.sgml:
18300         * docs/gst/tmpl/gstdata.sgml:
18301         * docs/gst/tmpl/gstthread.sgml:
18302
18303 2005-05-19  David Schleef  <ds@schleef.org>
18304
18305         * gst/gstminiobject.c: (gst_value_set_mini_object),
18306         (gst_value_take_mini_object), (gst_value_get_mini_object):
18307         * gst/gstminiobject.h: Add GValue set/get functions.
18308
18309 2005-05-19  Wim Taymans  <wim@fluendo.com>
18310
18311         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
18312         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
18313         (gst_subbuffer_init), (gst_buffer_is_span_fast):
18314         * gst/gstbuffer.h:
18315         * gst/gstbus.c: (gst_bus_post):
18316         * gst/gstelement.c: (gst_element_get_random_pad):
18317         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
18318         Make subbufer unref the parent in finalize.
18319         some more debugging info.
18320
18321
18322 2005-05-19  Wim Taymans  <wim@fluendo.com>
18323
18324         * gst/base/gstbasesink.c: (gst_basesink_class_init),
18325         (gst_basesink_init), (gst_basesink_finalize),
18326         (gst_basesink_activate), (gst_basesink_change_state):
18327         Don't free preroll queue too early.
18328
18329 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18330
18331         * gst/Makefile.am:
18332         * gst/ROADMAP:
18333           Hi, I'm outdated. Please shoot me.
18334
18335 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18336
18337         * gst/gstpipeline.c: (gst_pipeline_send_event):
18338           Do not access variables after they have been deleted.
18339
18340 2005-05-19  Wim Taymans  <wim@fluendo.com>
18341
18342         * tools/gst-inspect.c: (print_plugin_features):
18343         A plugin feature does unfortunatly not use the
18344         object name yet...
18345
18346 2005-05-18  Wim Taymans  <wim@fluendo.com>
18347
18348         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
18349         Port _span() functions to new subbuffers.
18350
18351 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18352
18353         * gst/gstbin.c: (gst_bin_add_func):
18354           Fix clock settery in bins when adding kids after the clock has
18355           been selected.
18356
18357 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18358
18359         * gst/elements/gstidentity.c: (gst_identity_class_init):
18360           Workaround until signals support GstMiniObject.
18361
18362 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
18363
18364         * gst/gstbuffer.c:
18365         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
18366
18367 2005-05-18  Wim Taymans  <wim@fluendo.com>
18368
18369         * gst/base/Makefile.am:
18370         * gst/base/gstadapter.c: (gst_adapter_base_init),
18371         (gst_adapter_class_init), (gst_adapter_init),
18372         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
18373         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
18374         (gst_adapter_flush), (gst_adapter_available),
18375         (gst_adapter_available_fast):
18376         * gst/base/gstadapter.h:
18377         Ported and added adapter to the base classes.
18378
18379 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
18380
18381         * gst/gst.c:
18382         * gst/gstmessage.c:
18383           Make sure the class is reffed/unreffed once before threads can be
18384           used.  Fixes #304551.
18385
18386 2005-05-17  Wim Taymans  <wim@fluendo.com>
18387
18388         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
18389         (gst_basesink_chain_unlocked), (gst_basesink_activate):
18390         * gst/gstminiobject.c: (gst_mini_object_get_type),
18391         (gst_mini_object_free):
18392         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
18393         (gst_pad_push), (gst_pad_push_event):
18394         * gst/gstqueue.c: (gst_queue_change_state):
18395         Don't queue buffers in basesink when we are flushing.
18396         Unref buffer when flushing in basesink.
18397         Flush queue when going to READY
18398         Unref buffer when _push() returns an error.
18399         Don't free MiniObject instance when refcount is incremented
18400         in _finalize() so that we can recover objects.
18401
18402 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
18403
18404         * docs/manual/advanced-schedulers.xml:
18405         * docs/manual/appendix-checklist.xml:
18406         * docs/pwg/advanced-clock.xml:
18407         * docs/pwg/advanced-interfaces.xml:
18408         * docs/pwg/advanced-request.xml:
18409         * docs/pwg/advanced-types.xml:
18410         * docs/pwg/intro-preface.xml:
18411         * examples/plugins/example.c: (gst_example_get_type),
18412         (gst_example_class_init), (gst_example_chain),
18413         (gst_example_set_property), (gst_example_get_property),
18414         (gst_example_change_state), (plugin_init):
18415         * examples/plugins/example.h:
18416           small doc fixes
18417
18418 2005-05-17  Wim Taymans  <wim@fluendo.com>
18419
18420         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
18421         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
18422         * gst/gstqueue.c: (gst_queue_change_state):
18423         Clear queue when going to READY.
18424         Remove IN_SETCAPS flag too.
18425
18426 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
18427
18428         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
18429           Remove implicit cast from gboolean to GstElementStateReturn;
18430           make sure we still return failure in paused => ready case if
18431           the parent class fails to change state and our own stop 
18432           vfunc succeeds.
18433
18434 2005-05-17  Wim Taymans  <wim@fluendo.com>
18435
18436         * tools/gst-launch.c: (event_loop):
18437         Message was unreffed too soon.
18438
18439 2005-05-16  Andy Wingo  <wingo@pobox.com>
18440
18441         * gst/gstbin.c (sink_iterator_filter): Err... um...
18442
18443         * check/gst/gstbin.c (test_ghost_pads): New test for the
18444         ghosting-if-elements-not-in-same-bin behavior.
18445
18446 2005-05-16  David Schleef  <ds@schleef.org>
18447
18448         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
18449         accessing refcount directly.
18450
18451 2005-05-15  David Schleef  <ds@schleef.org>
18452
18453         * check/Makefile.am: remove GstData checks
18454         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
18455         * gst/Makefile.am: add miniobject, remove data
18456         * gst/gst.h: add miniobject, remove data
18457         * gst/gstdata.c: remove
18458         * gst/gstdata.h: remove
18459         * gst/gstdata_private.h: remove
18460         * gst/gsttypes.h: remove GstEvent and GstMessage
18461         * gst/gstelement.c: (gst_element_post_message): fix for API changes
18462         * gst/gstmarshal.list: change BOXED -> OBJECT
18463
18464         Implement GstMiniObject.
18465         * gst/gstminiobject.c:
18466         * gst/gstminiobject.h:
18467
18468         Modify to be subclasses of GstMiniObject.
18469         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
18470         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
18471         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
18472         (gst_subbuffer_get_type), (gst_subbuffer_init),
18473         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
18474         (gst_buffer_span):
18475         * gst/gstbuffer.h:
18476         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
18477         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
18478         (_gst_event_copy), (gst_event_new):
18479         * gst/gstevent.h:
18480         * gst/gstmessage.c: (_gst_message_initialize),
18481         (gst_message_get_type), (gst_message_class_init),
18482         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
18483         (gst_message_new), (gst_message_new_error),
18484         (gst_message_new_warning), (gst_message_new_tag),
18485         (gst_message_new_state_changed), (gst_message_new_application):
18486         * gst/gstmessage.h:
18487         * gst/gstprobe.c: (gst_probe_perform),
18488         (gst_probe_dispatcher_dispatch):
18489         * gst/gstprobe.h:
18490         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
18491         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
18492         (_gst_query_copy), (gst_query_new):
18493
18494         Update elements for GstData -> GstMiniObject changes
18495         * gst/gstquery.h:
18496         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
18497         (gst_queue_chain), (gst_queue_loop):
18498         * gst/elements/gstbufferstore.c:
18499         (gst_buffer_store_add_buffer_func),
18500         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
18501         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
18502         (gst_fakesink_render):
18503         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
18504         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
18505         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
18506         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
18507         (gst_filesrc_create_read):
18508         * gst/elements/gstidentity.c: (gst_identity_class_init):
18509         * gst/elements/gsttypefindelement.c:
18510         (gst_type_find_element_src_event), (free_entry_buffers),
18511         (gst_type_find_element_handle_event):
18512         * libs/gst/dataprotocol/dataprotocol.c:
18513         (gst_dp_header_from_buffer):
18514         * libs/gst/dataprotocol/dataprotocol.h:
18515         * libs/gst/dataprotocol/dp-private.h:
18516
18517 2005-05-15  David Schleef  <ds@schleef.org>
18518
18519         * gst/elements/gstelements.c: Don't include headers that were
18520         just removed.
18521
18522 2005-05-15  David Schleef  <ds@schleef.org>
18523
18524         * gst/elements/Makefile.am: Remove some elements that don't
18525         need to be in the core (or even exist at all).
18526         * gst/elements/gstaggregator.c:
18527         * gst/elements/gstaggregator.h:
18528         * gst/elements/gstmd5sink.c:
18529         * gst/elements/gstmd5sink.h:
18530         * gst/elements/gstmultifilesrc.c:
18531         * gst/elements/gstmultifilesrc.h:
18532         * gst/elements/gstpipefilter.c:
18533         * gst/elements/gstpipefilter.h:
18534         * gst/elements/gstshaper.c:
18535         * gst/elements/gstshaper.h:
18536         * gst/elements/gststatistics.c:
18537         * gst/elements/gststatistics.h:
18538         * po/POTFILES.in: Remove above files.
18539
18540 2005-05-14  Andy Wingo  <wingo@pobox.com>
18541
18542         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
18543         so as to get the refs right.
18544         (sink_iterator_filter): New function, wraps bin_element_is_sink,
18545         unreffing objects that don't pass the filter.
18546
18547         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
18548         gst_element_set_bus.
18549         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
18550         normal cases, this will destroy the bus.
18551
18552         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
18553         object.
18554
18555         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
18556         has no sinks.
18557
18558 2005-05-13  Andy Wingo  <wingo@pobox.com>
18559
18560         * gst/gstutils.c (gst_element_link_pads): Instead of calling
18561         gst_pad_link, call pad_link_maybe_ghosting,
18562         (pad_link_maybe_ghosting): Links pads, making sure that the
18563         elements being linked are in the same bin.
18564         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
18565         Helpers for pad_link_maybe_ghosting.
18566
18567 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
18568
18569         * configure.ac:
18570           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
18571
18572 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
18573
18574         * docs/design/part-element-source.txt:
18575           Mention GstPushSrc
18576
18577 2005-05-12  Wim Taymans  <wim@fluendo.com>
18578
18579         * gst/base/gstbasesink.c: (gst_basesink_init),
18580         (gst_basesink_activate):
18581         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
18582         (gst_basesrc_is_seekable):
18583         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
18584         (bin_element_is_sink), (gst_bin_change_state):
18585         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
18586         * gst/gstelement.h:
18587         Identify sinks by their flag to avoid overly complicated
18588         checks (fow now).
18589         Do state changes even for elements not reachable from the
18590         sinks.
18591         BaseSink is a sink now :)
18592         Some more debugging info in the basesrc.
18593
18594
18595 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18596
18597         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
18598           Implement _query on a bin, similar to _send_event.
18599
18600 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
18601
18602         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
18603           Discont event offset format should be GST_FORMAT_BYTES,
18604           not GST_FORMAT_TIME.
18605
18606 2005-05-12  Wim Taymans  <wim@fluendo.com>
18607
18608         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
18609         Same fix as Ronald's but without the signal. 
18610
18611 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18612
18613         * gst/gstutils.c: (gst_element_query_position):
18614           No, an element is not a pad.
18615
18616 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18617
18618         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
18619         (gst_bin_get_state):
18620           If a child is removed from a bin while we remove the child from
18621           the bin and while we're retrieving its state, signal this to the
18622           get_state function so we abort the wait (instead of waiting for
18623           a timeout) and can immediately re-iterate over all other elements.
18624
18625 2005-05-12  Wim Taymans  <wim@fluendo.com>
18626
18627         * gst/base/Makefile.am:
18628         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
18629         (gst_basesrc_start):
18630         * gst/base/gstbasesrc.h:
18631         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
18632         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
18633         (gst_pushsrc_init), (gst_pushsrc_create):
18634         * gst/base/gstpushsrc.h:
18635         Added is_seekable to BaseSrc
18636         Added simple PushSrc.
18637
18638 2005-05-11  Wim Taymans  <wim@fluendo.com>
18639
18640         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
18641         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
18642         (gst_element_link_pads), (gst_element_query_position),
18643         (gst_element_query_convert), (intersect_caps_func),
18644         (gst_pad_query_position), (gst_pad_query_convert):
18645         Fix refcounting in utils function.
18646         No point in trying to activate a pad when it's added, it could
18647         be added from the state change function and then we deadlock, the
18648         element has to decide what to do.
18649
18650 2005-05-10  Andy Wingo  <wingo@pobox.com>
18651
18652         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
18653         *all* the arguments.
18654
18655         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
18656         stream lock if it's a FLUSH_DONE; normal flushes don't get the
18657         lock (according to the docs -- if this is wrong change the docs).
18658
18659         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
18660         flush messages in the NULL state.
18661
18662         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
18663         message immediately and return.
18664         (gst_bus_set_flushing): New function. If a bus is flushing, it
18665         flushes out any queued messages and immediately unrefs new
18666         messages. This is so when an element goes to NULL, all of the
18667         unhandled messages coming from it can be freed, and their
18668         references to the element dropped. In other words: message source
18669         ref considered harmful :P
18670
18671         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
18672         we're finished with it.
18673
18674         * gst/gstmessage.c (gst_message_new_state_changed): 
18675
18676 2005-05-10  Wim Taymans  <wim@fluendo.com>
18677
18678         * gst/gstvalue.c: (gst_value_compare_flags),
18679         (gst_value_serialize_flags), (gst_value_deserialize_flags),
18680         (_gst_value_initialize):
18681         Added flags serialize/deserialize/compare code.
18682
18683 2005-05-09  Andy Wingo  <wingo@pobox.com>
18684
18685         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
18686         Intersect the peer's caps with our caps.
18687
18688 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18689
18690         * gst/base/gsttypefindhelper.c: (helper_find_peek):
18691         * gst/elements/gsttypefindelement.c: (find_peek):
18692           Handle negative offsets better. Fixes decodebin.
18693
18694 2005-05-09  Wim Taymans  <wim@fluendo.com>
18695
18696         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
18697         (gst_base_transform_event):
18698         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
18699         Implement accept_caps.
18700         Fix silly lock/unlock mismatch in base class.
18701
18702 2005-05-09  Wim Taymans  <wim@fluendo.com>
18703
18704         * docs/design/draft-push-pull.txt:
18705         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
18706         * gst/elements/gstfilesink.c: (gst_filesink_init),
18707         (gst_filesink_query):
18708         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
18709         (gst_type_find_handle_src_query), (find_element_get_length):
18710         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
18711         * gst/gstelement.h:
18712         * gst/gstmessage.c:
18713         * gst/gstmessage.h:
18714         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
18715         (gst_real_pad_get_caps_unlocked),
18716         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
18717         (gst_pad_event_default_dispatch), (gst_pad_event_default),
18718         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
18719         (gst_real_pad_dispose), (gst_real_pad_finalize),
18720         (gst_pad_load_and_link), (gst_pad_save_thyself),
18721         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
18722         (gst_pad_check_pull_range), (gst_pad_pull_range),
18723         (gst_pad_template_get_type), (gst_pad_template_class_init),
18724         (gst_pad_template_init), (gst_pad_template_dispose),
18725         (name_is_valid), (gst_static_pad_template_get),
18726         (gst_pad_template_new), (gst_static_pad_template_get_caps),
18727         (gst_pad_template_get_caps), (gst_pad_set_element_private),
18728         (gst_pad_get_element_private), (gst_pad_start_task),
18729         (gst_pad_pause_task), (gst_pad_stop_task),
18730         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
18731         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
18732         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
18733         (gst_ghost_pad_new):
18734         * gst/gstpad.h:
18735         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
18736         (gst_query_new_position), (gst_query_set_position),
18737         (gst_query_parse_position), (gst_query_new_convert),
18738         (gst_query_set_convert), (gst_query_parse_convert):
18739         * gst/gstquery.h:
18740         * gst/gstqueryutils.c:
18741         * gst/gstqueryutils.h:
18742         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
18743         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
18744         (gst_queue_handle_src_query):
18745         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
18746         (gst_element_query_position), (gst_element_query_convert),
18747         (intersect_caps_func), (gst_pad_query_position),
18748         (gst_pad_query_convert):
18749         * gst/gstutils.h:
18750         * tools/gst-inspect.c: (print_pad_info):
18751         * tools/gst-xmlinspect.c: (print_element_info):
18752         Remove old query functions. Ported old code.
18753         Added position/convert helper functions to gstutils.
18754         Reordered gstpad.c code, grouping relevant things.
18755         Remove gst_message_new(), always need to speficy a specific
18756         message.
18757
18758
18759 2005-05-09  Andy Wingo  <wingo@pobox.com>
18760
18761         * gst/gstiterator.h: Add some includes.
18762
18763         * gst/gstqueryutils.h: Include more headers.
18764
18765         * gst/gstpad.h:
18766         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
18767         some uses of gst_pad_query.
18768
18769         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
18770         NULL out parameters.
18771         (gst_query_new_position): New proc, allocates a new position
18772         query.
18773
18774         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
18775         gstqueryutils.c to the build.
18776
18777         * gst/gststructure.c (gst_structure_set_valist): Implement with
18778         the generic G_VALUE_COLLECT.
18779         
18780 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
18781
18782         * gst/Makefile.am: (gst_headers):
18783         Added gstqueryutils.h to the list of headers to install, that was
18784         a 'nachty' move wingo :)
18785
18786 2005-05-06  Andy Wingo  <wingo@pobox.com>
18787
18788         * gst/gstquery.h
18789         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
18790         GstData, init a memchunk.
18791         (standard_definitions): Add a few query types, deprecate a few.
18792         (gst_query_get_type): New proc.
18793         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
18794         implementation.
18795         (gst_query_new_application, gst_query_get_structure): New public
18796         procs.
18797
18798         * docs/design/draft-query.txt: Removed LINKS from the query types,
18799         because all the rest can be dispatched to other pads -- seemed
18800         ugly to have a query that couldn't be dispatched. internal_links
18801         is fine as a pad method.
18802
18803         * gst/gstpad.h: Add query2 as a pad method, add the new functions
18804         in gstpad.c, but maintain binary compatibility for the moment.
18805         Will fix before 0.9 is out.
18806
18807         * gst/gstqueryutils.c: 
18808         * gst/gstqueryutils.h: New files, implement 3 methods for each
18809         query type: parse_query, parse_response, and set. Probably need an
18810         allocator as well.
18811
18812         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
18813
18814         * gst/elements/gstfilesink.c (gst_filesink_query2):
18815         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
18816         query_types, and formats methods.
18817
18818         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
18819         (gst_pad_set_query2_function): New functions.
18820         (gst_real_pad_init): Set query2_default as the default query2
18821         function. Basically just dispatches to internally linked pads.
18822
18823         Needs review!
18824         
18825         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
18826         without using the atomic operations. Only one thread can possibly
18827         be accessing the data at this point. Changed so as to avoid
18828         gst_atomic operations.
18829
18830 2005-05-06  Wim Taymans  <wim@fluendo.com>
18831
18832         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
18833         Also set caps if we use the fallback buffer alloc.
18834
18835 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
18836
18837         * docs/gst/Makefile.am:
18838         * docs/gst/gstreamer-docs.sgml:
18839         * docs/gst/gstreamer-sections.txt:
18840         * docs/gst/tmpl/gstatomic.sgml:
18841         * docs/gst/tmpl/gstmemchunk.sgml:
18842         * testsuite/elements/struct_i386.h:
18843         * win32/GStreamer.vcproj:
18844         * win32/Makefile:
18845           Purge GstAtomic stuff from docs and win32 makefiles as well
18846
18847 2005-05-06  Wim Taymans  <wim@fluendo.com>
18848
18849         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
18850         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
18851         * gst/gstpad.c: (gst_pad_peer_get_caps):
18852         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
18853         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
18854         (gst_queue_src_activate), (gst_queue_change_state):
18855         * gst/gstqueue.h:
18856         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
18857         (intersect_caps_func):
18858         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
18859         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
18860         Some fixes for the peer_get_caps() change.
18861
18862 2005-05-06  Wim Taymans  <wim@fluendo.com>
18863
18864         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
18865         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
18866         (gst_basesink_activate):
18867         Actually do something with error codes returned from the push
18868         functions.
18869
18870 2005-05-06  Wim Taymans  <wim@fluendo.com>
18871
18872         * docs/design/part-element-sink.txt:
18873         * docs/design/part-element-source.txt:
18874         * gst/base/gstbasesink.c: (gst_basesink_class_init),
18875         (gst_basesink_event), (gst_basesink_activate):
18876         * gst/base/gstbasesink.h:
18877         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
18878         (gst_basesrc_activate):
18879         * gst/base/gstbasesrc.h:
18880         * gst/gstelement.c: (gst_element_pads_activate):
18881         Some more documentation.
18882         Fixed scheduling decision in _pads_activate().
18883
18884 2005-05-05  Andy Wingo  <wingo@pobox.com>
18885
18886         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
18887         the test suite.
18888
18889 2005-05-05  Wim Taymans  <wim@fluendo.com>
18890
18891         * gst/base/Makefile.am:
18892         * gst/base/gstbasesink.h:
18893         * gst/base/gstbasesrc.c: (gst_basesrc_init),
18894         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
18895         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
18896         (gst_collectpads_class_init), (gst_collectpads_init),
18897         (gst_collectpads_finalize), (gst_collectpads_new),
18898         (gst_collectpads_set_function), (gst_collectpads_add_pad),
18899         (find_pad), (gst_collectpads_remove_pad),
18900         (gst_collectpads_is_active), (gst_collectpads_collect),
18901         (gst_collectpads_collect_range), (gst_collectpads_start),
18902         (gst_collectpads_stop), (gst_collectpads_peek),
18903         (gst_collectpads_pop), (gst_collectpads_available),
18904         (gst_collectpads_read), (gst_collectpads_flush),
18905         (gst_collectpads_chain):
18906         * gst/base/gstcollectpads.h:
18907         * gst/elements/Makefile.am:
18908         * gst/elements/gstelements.c:
18909         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
18910         (gst_fakesink_get_times), (gst_fakesink_event),
18911         (gst_fakesink_preroll), (gst_fakesink_render):
18912         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
18913         (gst_filesink_init), (gst_filesink_set_location),
18914         (gst_filesink_open_file), (gst_filesink_close_file),
18915         (gst_filesink_pad_query), (gst_filesink_event),
18916         (gst_filesink_render), (gst_filesink_change_state):
18917         * gst/elements/gstfilesink.h:
18918         Added object to help in making collect pad based elements.
18919         Ported filesink.
18920         Make event function in sink baseclass return gboolean.
18921
18922 2005-05-05  Wim Taymans  <wim@fluendo.com>
18923
18924         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
18925         (gst_bin_get_by_name):
18926         * gst/gstbuffer.h:
18927         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
18928         (gst_clock_finalize):
18929         * gst/gstdata.c: (gst_data_replace):
18930         * gst/gstdata.h:
18931         * gst/gstelement.c: (gst_element_request_pad),
18932         (gst_element_pads_activate):
18933         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
18934         (gst_object_unref):
18935         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
18936         (gst_pad_set_checkgetrange_function),
18937         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
18938         (gst_pad_check_pull_range), (gst_pad_pull_range),
18939         (gst_static_pad_template_get_caps), (gst_pad_start_task),
18940         (gst_pad_pause_task), (gst_pad_stop_task):
18941         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
18942         (gst_element_request_pad), (gst_pad_proxy_getcaps):
18943         Fix name lookup in GstBin.
18944         Added _data_replace() function and _buffer_replace()
18945         Use finalize method to clean up clock.
18946         Fix refcounting on request pads.
18947         Fix pad schedule mode error.
18948         Some more object refcounting debug info,
18949
18950
18951 2005-05-04  Andy Wingo <wingo@pobox.com>
18952
18953         * check/Makefile.am:
18954         * docs/gst/tmpl/gstatomic.sgml:
18955         * docs/gst/tmpl/gstplugin.sgml:
18956         * gst/base/gstbasesink.c: (gst_basesink_activate):
18957         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
18958         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
18959         (gst_basesrc_query), (gst_basesrc_set_property),
18960         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
18961         (gst_basesrc_activate):
18962         * gst/base/gstbasesrc.h:
18963         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
18964         (gst_base_transform_src_activate):
18965         * gst/elements/gstelements.c:
18966         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
18967         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
18968         * gst/elements/gsttee.c: (gst_tee_sink_activate):
18969         * gst/elements/gsttypefindelement.c: (find_element_get_length),
18970         (gst_type_find_element_checkgetrange),
18971         (gst_type_find_element_activate):
18972         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
18973         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
18974         (gst_caps_load_thyself):
18975         * gst/gstelement.c: (gst_element_pads_activate),
18976         (gst_element_save_thyself), (gst_element_restore_thyself):
18977         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
18978         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
18979         * gst/gstpad.h:
18980         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
18981         (gst_xml_parse_file), (gst_xml_parse_memory),
18982         (gst_xml_get_element), (gst_xml_make_element):
18983         * gst/indexers/gstfileindex.c: (gst_file_index_load),
18984         (_file_index_id_save_xml), (gst_file_index_commit):
18985         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
18986         (read_enum), (load_pad_template), (load_feature), (load_plugin),
18987         (load_paths):
18988         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
18989         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
18990         * tools/gst-complete.c: (main):
18991         * tools/gst-compprep.c: (main):
18992         * tools/gst-inspect.c: (print_element_properties_info):
18993         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
18994         * tools/gst-xmlinspect.c: (print_element_properties):
18995         GCC 4 fixen.
18996         
18997 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
18998
18999         * gst/gstplugin.c: (gst_plugin_check_module),
19000         (gst_plugin_check_file), (gst_plugin_load_file):
19001             apply patch from #172526 to make register work on MacOSX
19002
19003 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
19004
19005         * docs/gst/tmpl/gstconfig.sgml:
19006         * gst/gstconfig.h.in:
19007           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
19008         * testsuite/debug/printf_extension.c: (main):
19009           Do not use GST_PTR_FORMAT on pointers to types with
19010           sizeof < sizeof(gpointer).  Fixes test on 64-bit
19011         * testsuite/elements/property.h:
19012           use correct printf format
19013
19014 2005-05-02  Wim Taymans  <wim@fluendo.com>
19015
19016         * docs/design/draft-push-pull.txt:
19017         * docs/design/draft-query.txt:
19018         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
19019         (gst_basesrc_start):
19020         Added draft for new query API.
19021         Added draft for better selecting scheduling methods.
19022         Make basesrc ignore length if the subclass does not support
19023         it.
19024
19025 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
19026
19027         * gst/Makefile.am:
19028           possible fixes for automake-1.5 - _LIBADD is reserved
19029
19030 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
19031
19032         * docs/faq/Makefile.am:
19033         * docs/manual/Makefile.am:
19034         * docs/manuals.mak:
19035         * docs/pwg/Makefile.am:
19036         * gst/Makefile.am:
19037           possible fixes for automake-1.5
19038
19039 2005-04-28  Wim Taymans  <wim@fluendo.com>
19040
19041         * gst/base/gstbasesink.c: (gst_basesink_base_init),
19042         (gst_basesink_pad_getcaps), (gst_basesink_init),
19043         (gst_basesink_do_sync):
19044         * gst/gstclock.c: (gst_clock_entry_new):
19045         * gst/gstevent.c: (gst_event_discont_get_value):
19046         * gst/gstpipeline.c: (pipeline_bus_handler),
19047         (gst_pipeline_change_state):
19048         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
19049         Better debugging of clocking info.
19050         Allow NULL values when getting discont values.
19051
19052 2005-04-27  Wim Taymans  <wim@fluendo.com>
19053
19054         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
19055         * check/gst/gstpad.c: (gst_pad_suite):
19056         Increase timeout for checks.
19057
19058 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
19059
19060         * check/Makefile.am:
19061           fix the broken rule for cleanup.  Apparently this rule is
19062           only needed on FC2, so maybe this warrants further autotool
19063           inspection.
19064
19065 2005-04-26  Wim Taymans  <wim@fluendo.com>
19066
19067         * gst/gsttrashstack.h:
19068         Ooohh. a nasty one! After having a failed pop() from the stack,
19069         it's possible that the stack is empty. In that case, don't
19070         follow the NULL pointer.
19071
19072 2005-04-25  Wim Taymans  <wim@fluendo.com>
19073
19074         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
19075         (gst_pad_set_checkgetrange_function),
19076         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
19077         (gst_pad_check_pull_range), (gst_pad_pull_range),
19078         (gst_static_pad_template_get_caps), (gst_pad_start_task),
19079         (gst_pad_pause_task), (gst_pad_stop_task):
19080         * gst/gstplugin.c: (gst_plugin_load):
19081         * gst/gstplugin.h:
19082         Remove gst_library_load as it does more harm than good with
19083         the new g_module flags.
19084         Revert bogus caps template check in pad linking, pad caps
19085         are important when linking not the template, which is more
19086         general than the current caps.
19087
19088 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19089
19090         * gst/autoplug/.cvsignore:
19091         * gst/autoplug/Makefile.am:
19092         * gst/autoplug/gstsearchfuncs.c:
19093         * gst/autoplug/gstsearchfuncs.h:
19094         * gst/autoplug/gstspider.c:
19095         * gst/autoplug/gstspider.h:
19096         * gst/autoplug/gstspideridentity.c:
19097         * gst/autoplug/gstspideridentity.h:
19098         * gst/autoplug/spidertest.c:
19099           Die, spider, die.
19100
19101 2005-04-25  Wim Taymans  <wim@fluendo.com>
19102
19103         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
19104         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
19105         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
19106         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
19107         * gst/gstpad.h:
19108         Added stubs for unimplemented functions. 
19109
19110 2005-04-24  David Schleef  <ds@schleef.org>
19111
19112         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
19113         please fix.
19114
19115 2005-04-24  David Schleef  <ds@schleef.org>
19116
19117         Convert everything from GstAtomicInt to g_atomic_int_*, and
19118         remove gstatomic.
19119         * gst/Makefile.am:
19120         * gst/gstatomic.c:
19121         * gst/gstatomic.h:
19122         * gst/gstatomic_impl.h:
19123         * gst/gstbuffer.c:
19124         * gst/gstcaps.c:
19125         * gst/gstcaps.h:
19126         * gst/gstclock.c:
19127         * gst/gstclock.h:
19128         * gst/gstdata.c:
19129         * gst/gstdata.h:
19130         * gst/gstdata_private.h:
19131         * gst/gstevent.c:
19132         * gst/gstinfo.c:
19133         * gst/gstinfo.h:
19134         * gst/gstmessage.c:
19135         * gst/gstobject.c:
19136         * gst/gstobject.h:
19137         * gst/gststructure.c:
19138         * gst/gststructure.h:
19139         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
19140         * gst/gstutils.h:
19141
19142 2005-04-24  David Schleef  <ds@schleef.org>
19143
19144         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
19145         make the regressions tests work.  Remove some code that is no
19146         longer true.
19147         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
19148         Disable warning for pads without templates.
19149
19150 2005-04-24  David Schleef  <ds@schleef.org>
19151
19152         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
19153         functions that handle filtered links.
19154         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
19155         removed functions.
19156         * gst/gstutils.c: Fix/remove utility functions that handle
19157         filtered caps.
19158         * gst/gstutils.h:
19159         * gst/gstvalue.c: Add serialization/deserialization of caps
19160         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
19161         requires fixing so that the filter caps notation creates
19162         a capsfilter element and sets the filter_caps property.  I
19163         think everyone probably wants to keep the shorthand notation.
19164         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
19165         * docs/gst/tmpl/gstpad.sgml:
19166
19167         * gst/elements/gstelements.c: Register capsfilter element.
19168         * gst/Makefile.am: fix spacing
19169         * docs/random/ds/0.9-suggested-changes: random
19170
19171 2005-04-23  David Schleef  <ds@schleef.org>
19172
19173         * gst/elements/Makefile.am:
19174         * gst/elements/gstcapsfilter.c: New element that acts like an
19175         identity, but filters caps.  Will eventually replace filtered
19176         caps in pad linking.
19177         * gst/gstutils.c: (gst_element_create_all_pads): New function
19178         to create all the ALWAYS pads that are registered with an
19179         element class.  This functionality should eventually be
19180         merged in with GstElement initialization.
19181         * gst/gstutils.h:
19182         * testsuite/trigger/README: part of trigger test code that should
19183         have been checked in a long time ago.
19184
19185 2005-04-23  David Schleef  <ds@schleef.org>
19186
19187         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
19188         needed with new versions of libtool (nobody will confirm this),
19189         and hard to carry around.
19190         * gst/autoplug/Makefile.am:
19191         * gst/base/Makefile.am:
19192         * gst/elements/Makefile.am:
19193         * gst/indexers/Makefile.am:
19194         * gst/schedulers/Makefile.am:
19195         * libs/gst/bytestream/Makefile.am:
19196         * libs/gst/control/Makefile.am:
19197         * libs/gst/dataprotocol/Makefile.am:
19198         * libs/gst/getbits/Makefile.am:
19199
19200 2005-04-21  Wim Taymans  <wim@fluendo.com>
19201
19202         * docs/design/draft-push-pull.txt:
19203         * docs/design/part-MT-refcounting.txt:
19204         * docs/design/part-TODO.txt:
19205         * docs/design/part-caps.txt:
19206         * docs/design/part-events.txt:
19207         * docs/design/part-gstbus.txt:
19208         * docs/design/part-gstpipeline.txt:
19209         * docs/design/part-messages.txt:
19210         * docs/design/part-push-pull.txt:
19211         * docs/design/part-query.txt:
19212         Some more docs.
19213
19214 2005-04-21  Wim Taymans  <wim@fluendo.com>
19215
19216         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
19217         (gst_message_new), (gst_message_new_error),
19218         (gst_message_new_warning), (gst_message_new_tag),
19219         (gst_message_new_state_changed), (gst_message_new_application),
19220         (gst_message_get_structure):
19221         * gst/gstmessage.h:
19222         * gst/gststructure.c: (gst_structure_set_parent_refcount),
19223         (gst_structure_copy_conditional):
19224         Use parent refcount in GstMessage to ensure GstStructure
19225         consistency.
19226         Cleaned up headers a bit.
19227         
19228
19229 2005-04-20  Wim Taymans  <wim@fluendo.com>
19230
19231         * gst/base/gstbasesink.c: (gst_basesink_base_init),
19232         (gst_basesink_pad_getcaps), (gst_basesink_init),
19233         (gst_basesink_chain_unlocked):
19234         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
19235         (gst_type_find_helper):
19236         * gst/elements/gsttypefindelement.c:
19237         (gst_type_find_element_have_type), (gst_type_find_element_init),
19238         (stop_typefinding), (gst_type_find_element_handle_event),
19239         (find_suggest), (gst_type_find_element_chain),
19240         (gst_type_find_element_checkgetrange),
19241         (gst_type_find_element_getrange), (do_typefind),
19242         (gst_type_find_element_activate):
19243         * gst/gstbuffer.c: (_gst_buffer_sub_free),
19244         (gst_buffer_default_free), (gst_buffer_default_copy),
19245         (gst_buffer_set_caps):
19246         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
19247         (gst_caps_replace):
19248         * gst/gstmessage.c: (gst_message_new),
19249         (gst_message_new_state_changed):
19250         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
19251         (gst_pad_set_checkgetrange_function),
19252         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
19253         (gst_pad_set_caps), (gst_pad_check_pull_range),
19254         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
19255         * gst/gstpad.h:
19256         * gst/gsttypefind.c: (gst_type_find_register):
19257         Make gst_caps_replace() work like other _replace() functions.
19258         Use _caps_replace() where possible.
19259         Make sure _message_new() initialises its field.
19260         Add gst_static_pad_template_get_caps()
19261
19262
19263 2005-04-18  Andy Wingo  <wingo@pobox.com>
19264
19265         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
19266         on the peer, not the pad. I think that was a typo. Pass an extra
19267         arg to see if random access is possible. Activate the pads as
19268         PULL_RANGE if possible.
19269
19270         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
19271
19272         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
19273         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
19274         to PROP_....
19275
19276 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19277
19278         * docs/faq/using.xml:
19279           Add note on gstreamer-properties (#154996).
19280
19281 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19282
19283         * docs/random/bbb/optional-properties:
19284           Some analysis on optional properties.
19285
19286 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19287
19288         * docs/gst/tmpl/gstelementfactory.sgml:
19289         * gst/gstelement.h:
19290         * gst/gstelementfactory.c: (gst_element_factory_init),
19291         (gst_element_factory_cleanup), (gst_element_register),
19292         (__gst_element_factory_add_static_pad_template),
19293         (gst_element_factory_get_static_pad_templates),
19294         (gst_element_factory_can_src_caps),
19295         (gst_element_factory_can_sink_caps):
19296         * gst/registries/Makefile.am:
19297         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
19298         (gst_xml_registry_class_init), (gst_xml_registry_init),
19299         (gst_xml_registry_new), (gst_xml_registry_set_property),
19300         (gst_xml_registry_get_property), (get_time), (make_dir),
19301         (gst_xml_registry_get_perms_func),
19302         (plugin_times_older_than_recurse), (plugin_times_older_than),
19303         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
19304         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
19305         (add_to_char_array), (read_string), (read_uint), (read_enum),
19306         (load_pad_template), (load_feature), (load_plugin), (load_paths),
19307         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
19308         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
19309         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
19310         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
19311         (gst_xml_registry_rebuild):
19312         * gst/registries/gstlibxmlregistry.h:
19313         * tools/gst-compprep.c: (main):
19314         * tools/gst-inspect.c: (print_pad_templates_info):
19315         * tools/gst-xmlinspect.c: (print_element_info):
19316           Use libxml2 for registry parsing, use staticpadtemplates in
19317           elementfactories. Makes gst_init() +/- 10x faster.
19318
19319 2005-04-12  Wim Taymans  <wim@fluendo.com>
19320
19321         * gst/base/Makefile.am:
19322         * gst/base/gstbasesink.c: (gst_basesink_base_init),
19323         (gst_basesink_pad_getcaps), (gst_basesink_init),
19324         (gst_basesink_event), (gst_basesink_change_state):
19325         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
19326         (gst_basesrc_init), (gst_basesrc_query),
19327         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
19328         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
19329         (gst_basesrc_check_get_range), (gst_basesrc_loop),
19330         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
19331         (gst_basesrc_stop), (gst_basesrc_activate),
19332         (gst_basesrc_change_state):
19333         * gst/base/gsttypefindhelper.c: (helper_find_peek),
19334         (helper_find_suggest), (gst_type_find_helper):
19335         * gst/base/gsttypefindhelper.h:
19336         * gst/elements/Makefile.am:
19337         * gst/elements/gstelements.c:
19338         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
19339         (gst_fakesink_get_times), (gst_fakesink_event),
19340         (gst_fakesink_preroll), (gst_fakesink_render):
19341         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
19342         (gst_fakesrc_init), (gst_fakesrc_event_handler),
19343         (gst_fakesrc_get_property), (gst_fakesrc_create),
19344         (gst_fakesrc_start), (gst_fakesrc_stop):
19345         * gst/elements/gstfakesrc.h:
19346         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
19347         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
19348         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
19349         (gst_filesrc_create_read), (gst_filesrc_create),
19350         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
19351         (gst_filesrc_start):
19352         * gst/elements/gsttypefindelement.c:
19353         (gst_type_find_element_have_type), (gst_type_find_element_init),
19354         (start_typefinding), (stop_typefinding), (push_buffer_store),
19355         (gst_type_find_element_handle_event),
19356         (gst_type_find_element_chain),
19357         (gst_type_find_element_checkgetrange),
19358         (gst_type_find_element_getrange), (do_typefind),
19359         (gst_type_find_element_activate),
19360         (gst_type_find_element_change_state):
19361         * gst/elements/gsttypefindelement.h:
19362         * gst/gstpipeline.c: (pipeline_bus_handler):
19363         Added typefind helper.
19364         Small preroll fix in the base sink.
19365         Disable typefind code in basesrc.
19366         Crude port of typefindelement.
19367         Fakesrc cleanups.
19368
19369
19370 2005-04-11  Wim Taymans  <wim@fluendo.com>
19371
19372         * check/gst/gstbus.c: (gstbus_suite):
19373         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
19374         * check/gstcheck.h:
19375           Fix up the timeout so that the test does not fail.
19376
19377 2005-04-06  Wim Taymans  <wim@fluendo.com>
19378
19379         * gst/base/README:
19380         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
19381         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
19382         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
19383         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
19384         (gst_basesrc_check_get_range), (gst_basesrc_loop),
19385         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
19386         (gst_basesrc_stop), (gst_basesrc_activate),
19387         (gst_basesrc_change_state), (basesrc_find_peek),
19388         (basesrc_find_suggest), (gst_basesrc_type_find):
19389         * gst/base/gstbasesrc.h:
19390         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
19391         (gst_filesrc_class_init), (gst_filesrc_init),
19392         (gst_filesrc_finalize), (gst_filesrc_set_location),
19393         (gst_filesrc_set_property), (gst_filesrc_get_property),
19394         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
19395         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
19396         (gst_filesrc_create_read), (gst_filesrc_create),
19397         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
19398         * gst/elements/gstfilesrc.h:
19399         * gst/gstelement.c: (gst_element_get_state_func),
19400         (gst_element_lost_state), (gst_element_pads_activate):
19401         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
19402         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
19403         (gst_pad_pull_range):
19404         * gst/gstpad.h:
19405         More work on the generic source base class, implement seeking,
19406         query.
19407         Make filesrc extend the base source class.
19408         Added gst_pad_set_checkgetrange_function to GstPad.
19409
19410 2005-04-06  Andy Wingo  <wingo@pobox.com>
19411
19412         * pkgconfig/gstreamer-base.pc.in:
19413         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
19414
19415         * pkgconfig/Makefile.am:
19416         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
19417
19418 2005-04-04  Wim Taymans  <wim@fluendo.com>
19419
19420         * gst/base/Makefile.am:
19421         * gst/base/README:
19422         * gst/base/gstbasesink.c: (gst_basesink_base_init),
19423         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
19424         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
19425         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
19426         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
19427         (gst_basesrc_base_init), (gst_basesrc_class_init),
19428         (gst_basesrc_init), (gst_basesrc_get_formats),
19429         (gst_basesrc_get_query_types), (gst_basesrc_query),
19430         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
19431         (gst_basesrc_set_property), (gst_basesrc_get_property),
19432         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
19433         (gst_basesrc_loop), (gst_basesrc_activate),
19434         (gst_basesrc_change_state):
19435         * gst/base/gstbasesrc.h:
19436         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
19437         (gst_fakesrc_class_init), (gst_fakesrc_init),
19438         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
19439         (gst_fakesrc_get_property), (gst_fakesrc_create):
19440         * gst/elements/gstfakesrc.h:
19441         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
19442         (gst_filesrc_open_file), (gst_filesrc_loop),
19443         (gst_filesrc_activate), (filesrc_find_peek),
19444         (gst_filesrc_type_find):
19445         Made base source class, make fakesrc extend it.
19446         Add comments to basesink class.
19447         Some filesrc cleanup.
19448
19449 2005-03-31  David Schleef  <ds@schleef.org>
19450
19451         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
19452         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
19453         expected to link against libgstreamer.
19454         * gst/base/Makefile.am: link against libgstreamer
19455         * gst/elements/Makefile.am: same
19456
19457 2005-03-31  Andy Wingo  <wingo@pobox.com>
19458
19459         * tests/instantiate/Makefile.am:
19460         * tests/instantiate/caps.c: Add test to test speed of caps copy
19461         and free.
19462
19463         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
19464         GMemChunk to be fair.
19465
19466         * gst/gsttrashstack.h: Remove warning about using the fallback
19467         trash stack implementation, it's still faster than malloc.
19468
19469 2005-03-30  Andy Wingo  <wingo@pobox.com>
19470
19471         * tests/complexity.c: Add a copyright.
19472
19473 2005-03-31  Wim Taymans  <wim@fluendo.com>
19474
19475         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
19476         (gst_base_transform_class_init), (gst_base_transform_init),
19477         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
19478         (gst_base_transform_get_property),
19479         (gst_base_transform_sink_activate),
19480         (gst_base_transform_src_activate),
19481         (gst_base_transform_change_state):
19482         * gst/base/gstbasetransform.h:
19483         * gst/elements/gstidentity.c: (gst_identity_class_init),
19484         (gst_identity_event), (gst_identity_check_perfect),
19485         (gst_identity_transform), (gst_identity_start),
19486         (gst_identity_stop):
19487         Added start/stop methods to transform base class so subclasses 
19488         don't need to deal with state changes even.
19489
19490 2005-03-31  Wim Taymans  <wim@fluendo.com>
19491
19492         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
19493         (gst_event_new_discontinuous), (gst_event_discont_get_value):
19494         * gst/gstevent.h:
19495         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
19496         (gst_pad_pull_range):
19497         Added rate to the discont event to prepare for variable speed
19498         and reverse playback.
19499
19500 2005-03-29  David Schleef  <ds@schleef.org>
19501
19502         * configure.ac:
19503         * testsuite/trigger/Makefile.am:
19504         * testsuite/trigger/trigger.c: A little example program to show
19505         how trigger-based elements can work.
19506
19507 2005-03-29  Wim Taymans  <wim@fluendo.com>
19508
19509         * gst/base/Makefile.am:
19510         * gst/base/README:
19511         * gst/base/gstbasesink.c: (gst_basesink_get_type),
19512         (gst_basesink_base_init), (gst_basesink_class_init),
19513         (gst_basesink_pad_getcaps), (gst_basesink_init),
19514         (gst_basesink_activate), (gst_basesink_change_state):
19515         * gst/base/gstbasesink.h:
19516         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
19517         (gst_base_transform_base_init), (gst_base_transform_finalize),
19518         (gst_base_transform_class_init), (gst_base_transform_init),
19519         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
19520         (gst_base_transform_event), (gst_base_transform_getrange),
19521         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
19522         (gst_base_transform_set_property),
19523         (gst_base_transform_get_property),
19524         (gst_base_transform_sink_activate),
19525         (gst_base_transform_src_activate),
19526         (gst_base_transform_change_state):
19527         * gst/base/gstbasetransform.h:
19528         * gst/elements/gstidentity.c: (gst_identity_finalize),
19529         (gst_identity_class_init), (gst_identity_init),
19530         (gst_identity_event), (gst_identity_check_perfect),
19531         (gst_identity_transform), (gst_identity_set_property),
19532         (gst_identity_get_property), (gst_identity_change_state):
19533         * gst/elements/gstidentity.h:
19534         * gst/gstelement.c: (gst_element_get_state_func),
19535         (gst_element_lost_state), (gst_element_pads_activate):
19536         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
19537         (gst_pad_check_pull_range), (gst_pad_pull_range):
19538         * gst/gstpad.h:
19539         Simplify pad activation.
19540         Added function to check if pull_range can be performed.
19541         Error out when pulling inactive or flushing pads.
19542         Removed const from refcounted types as it does not make sense.
19543         Simplify pad templates in basesink
19544         Added base class for simple 1-to-1 transforms.
19545         Make identity subclass the base transform.
19546
19547 2005-03-29  Andy Wingo  <wingo@pobox.com>
19548
19549         * docs/libs/gstreamer-libs-overrides.txt: 
19550         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
19551         really don't understand what's going on, but like whatever. I want
19552         green buildbot!
19553
19554         * docs/gst/Makefile.am:
19555         * docs/libs/Makefile.am: Dist the overrides files.
19556
19557         * check/Makefile.am (clean-local): Remove .libs directories.
19558
19559         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
19560         elements to EXTRA_DIST, so po/ files are happy.
19561
19562         * po/POTFILES.in: Er, remove it here.
19563
19564         * po/POTFILES: Remove gstspider.c.
19565
19566         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
19567
19568         * docs/libs/gstreamer-libs-docs.sgml: 
19569         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
19570         bytestream.
19571
19572         * tests/complexity.c (main): Set the length of the preroll queue
19573         on the sinks to prevent a lockup.
19574
19575         * libs/gst/dataprotocol/Makefile.am: 
19576         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
19577         the same as the one in check/gst-libs/gdp.c.
19578
19579         * po/, docs/gst/: Commit automatic changes to docs and po files.
19580
19581         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
19582         the versioned libgstbase.
19583
19584         * check/Makefile.am: Depend on an unversioned gst-register, seems
19585         to make autoconf happier.
19586
19587         * gst/base/Makefile.am: Make libgstbase a versioned lib.
19588
19589 2005-03-28  Wim Taymans  <wim@fluendo.com>
19590
19591         * configure.ac:
19592         * docs/design/part-gstelement.txt:
19593         * docs/design/part-negotiation.txt:
19594         * docs/design/part-preroll.txt:
19595         * docs/design/part-scheduling.txt:
19596         * docs/design/part-states.txt:
19597         * gst/Makefile.am:
19598         * gst/base/Makefile.am:
19599         * gst/base/README:
19600         * gst/base/gstbasesink.c: (gst_basesink_get_template),
19601         (gst_basesink_base_init), (gst_basesink_class_init),
19602         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
19603         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
19604         (gst_basesink_set_pad_functions),
19605         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
19606         (gst_basesink_set_property), (gst_basesink_get_property),
19607         (gst_base_sink_get_template), (gst_base_sink_get_caps),
19608         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
19609         (gst_basesink_preroll_queue_push),
19610         (gst_basesink_preroll_queue_empty),
19611         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
19612         (gst_basesink_event), (gst_basesink_get_times),
19613         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
19614         (gst_basesink_chain_unlocked), (gst_basesink_chain),
19615         (gst_basesink_loop), (gst_basesink_activate),
19616         (gst_basesink_change_state):
19617         * gst/base/gstbasesink.h:
19618         * gst/elements/Makefile.am:
19619         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
19620         (gst_fakesink_class_init), (gst_fakesink_init),
19621         (gst_fakesink_set_property), (gst_fakesink_get_property),
19622         (gst_fakesink_get_times), (gst_fakesink_event),
19623         (gst_fakesink_preroll), (gst_fakesink_render),
19624         (gst_fakesink_change_state):
19625         * gst/elements/gstfakesink.h:
19626         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
19627         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
19628         * gst/gstelement.c: (gst_element_add_pad),
19629         (gst_element_get_state_func), (gst_element_abort_state),
19630         (gst_element_commit_state), (gst_element_lost_state),
19631         (gst_element_set_state), (gst_element_pads_activate):
19632         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
19633         * gst/gstpipeline.c: (gst_pipeline_send_event),
19634         (gst_pipeline_change_state):
19635         Added state change code.
19636         Added/updated docs.
19637         Added sink base class, make fakesink extend the base class.
19638         Small cleanups in GstPipeline.
19639
19640 2005-03-26  David Schleef  <ds@schleef.org>
19641
19642         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
19643         is broken and should be implemented in a different library.
19644         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
19645         * gst/gst.h: remove gstcpu.h
19646         * gst/gstcpu.c: remove
19647         * gst/gstcpu.h: remove
19648         * gst/Makefile.am.future: Remove this file.  It's ancient.
19649
19650 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19651
19652         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
19653         (gst_bin_send_event):
19654           Add default event/set_manager handlers. The set_manager handler
19655           takes care that the manager is distributed over kids that were
19656           already in the bin before the manager was set. The event handler
19657           is a utility virtual function that sends the event over all sinks,
19658           so that gst_element_send_event (bin, event); has the expected
19659           behaviour.
19660         * gst/gstpad.c: (gst_pad_event_default):
19661           Re-install default event handling for discontinuities, so that
19662           seeking works without requiring hacks in applications or extra
19663           code in sinks.
19664         * gst/gstpipeline.c: (gst_pipeline_class_init),
19665         (gst_pipeline_send_event):
19666           Half hack, half utility: set a pipeline to PAUSED for seek events,
19667           since that is the only way we can guarantee a/v sync. Means that
19668           you can do gst_element_seek (pipeline, method, pos); on a pipeline
19669           and it "just works".
19670
19671 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19672
19673         * gst/gstpipeline.c: (gst_pipeline_use_clock):
19674           Lock/unlock mismatch.
19675
19676 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
19677
19678         * docs/faq/gst-uninstalled:
19679           add gst-plugins-base
19680         * docs/gst/Makefile.am:
19681           don't error out until docs are fixed
19682         * docs/gst/gstreamer.types:
19683           remove thread
19684
19685 2005-03-22  Wim Taymans  <wim@fluendo.com>
19686
19687         * check/Makefile.am:
19688         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
19689         * gst/gststructure.c: (gst_structure_set_valist),
19690         (gst_structure_copy_conditional):
19691         Activated more tests.
19692         Added message test.
19693         Added G_TYPE_POINTER to GstStructure.
19694         
19695
19696 2005-03-22  Wim Taymans  <wim@fluendo.com>
19697
19698         * docs/design/part-TODO.txt:
19699         * docs/design/part-events.txt:
19700         * docs/design/part-gstbin.txt:
19701         * docs/design/part-gstbus.txt:
19702         * docs/design/part-gstpipeline.txt:
19703         * docs/design/part-messages.txt:
19704         * gst/gstbus.c:
19705         * gst/gstmessage.c:
19706         Docs updates
19707
19708 2005-03-21  Wim Taymans  <wim@fluendo.com>
19709
19710         * gst/gstbus.c: (gst_bus_post):
19711         Fix copy-and-paste error.
19712
19713 2005-03-21  Wim Taymans  <wim@fluendo.com>
19714
19715         * check/Makefile.am:
19716         * gst/Makefile.am:
19717         * gst/elements/Makefile.am:
19718         * gst/elements/gstelements.c:
19719         * gst/elements/gstfakesink.c: (gst_fakesink_init),
19720         (gst_fakesink_event), (gst_fakesink_chain):
19721         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
19722         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
19723         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
19724         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
19725         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
19726         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
19727         (gst_fakesrc_loop), (gst_fakesrc_activate),
19728         (gst_fakesrc_change_state):
19729         * gst/elements/gstfakesrc.h:
19730         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
19731         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
19732         (gst_filesrc_open_file), (gst_filesrc_loop),
19733         (gst_filesrc_activate), (gst_filesrc_change_state),
19734         (filesrc_find_peek), (filesrc_find_suggest),
19735         (gst_filesrc_type_find):
19736         * gst/elements/gstidentity.c: (gst_identity_finalize),
19737         (gst_identity_class_init), (gst_identity_init),
19738         (gst_identity_proxy_getcaps), (identity_queue_push),
19739         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
19740         (gst_identity_getrange), (gst_identity_chain),
19741         (gst_identity_sink_loop), (gst_identity_src_loop),
19742         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
19743         (gst_identity_set_property), (gst_identity_get_property),
19744         (gst_identity_change_state):
19745         * gst/elements/gstidentity.h:
19746         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
19747         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
19748         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
19749         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
19750         (gst_tee_sink_activate):
19751         * gst/elements/gsttee.h:
19752         * gst/gst.c: (gst_register_core_elements), (init_post):
19753         * gst/gst.h:
19754         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
19755         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
19756         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
19757         (gst_bin_change_state):
19758         * gst/gstbin.h:
19759         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
19760         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
19761         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
19762         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
19763         (gst_bus_set_sync_handler), (gst_bus_create_watch),
19764         (bus_watch_callback), (bus_watch_destroy),
19765         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
19766         (poll_timeout), (gst_bus_poll):
19767         * gst/gstbus.h:
19768         * gst/gstcaps.h:
19769         * gst/gstdata.h:
19770         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
19771         (gst_element_post_message), (gst_element_message_full),
19772         (gst_element_get_state_func), (gst_element_get_state),
19773         (gst_element_abort_state), (gst_element_commit_state),
19774         (gst_element_lost_state), (gst_element_set_state),
19775         (gst_element_pads_activate), (gst_element_change_state),
19776         (gst_element_dispose), (gst_element_set_manager_func),
19777         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
19778         (gst_element_set_manager), (gst_element_get_manager),
19779         (gst_element_set_bus), (gst_element_get_bus),
19780         (gst_element_set_scheduler), (gst_element_get_scheduler):
19781         * gst/gstelement.h:
19782         * gst/gstevent.c: (gst_event_new_segment_seek),
19783         (gst_event_new_flush):
19784         * gst/gstevent.h:
19785         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
19786         (_gst_message_free), (gst_message_get_type), (gst_message_new),
19787         (gst_message_new_eos), (gst_message_new_error),
19788         (gst_message_new_warning), (gst_message_new_tag),
19789         (gst_message_new_state_changed), (gst_message_new_application),
19790         (gst_message_get_structure), (gst_message_parse_tag),
19791         (gst_message_parse_state_changed), (gst_message_parse_error),
19792         (gst_message_parse_warning):
19793         * gst/gstmessage.h:
19794         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
19795         (gst_real_pad_set_property), (gst_pad_set_active),
19796         (gst_pad_is_active), (gst_pad_set_blocked_async),
19797         (gst_pad_set_blocked), (gst_pad_is_blocked),
19798         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
19799         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
19800         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
19801         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
19802         (gst_pad_link_filtered), (gst_pad_relink_filtered),
19803         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
19804         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
19805         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
19806         (gst_pad_set_caps), (gst_pad_configure_sink),
19807         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
19808         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
19809         (gst_real_pad_dispose), (gst_real_pad_finalize),
19810         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
19811         (gst_pad_event_default_dispatch), (gst_pad_event_default),
19812         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
19813         * gst/gstpad.h:
19814         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
19815         (pipeline_bus_handler), (gst_pipeline_change_state),
19816         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
19817         * gst/gstpipeline.h:
19818         * gst/gstprobe.h:
19819         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
19820         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
19821         (gst_queue_link_src), (gst_queue_bufferalloc),
19822         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
19823         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
19824         (gst_queue_loop), (gst_queue_handle_src_event),
19825         (gst_queue_handle_src_query), (gst_queue_src_activate),
19826         (gst_queue_change_state):
19827         * gst/gstqueue.h:
19828         * gst/gstscheduler.c: (gst_scheduler_init),
19829         (gst_scheduler_dispose), (gst_scheduler_create_task),
19830         (gst_scheduler_factory_create):
19831         * gst/gstscheduler.h:
19832         * gst/gststructure.c: (gst_structure_get_type),
19833         (gst_structure_copy_conditional):
19834         * gst/gststructure.h:
19835         * gst/gsttaginterface.h:
19836         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
19837         (gst_task_init), (gst_task_dispose), (gst_task_create),
19838         (gst_task_get_state), (gst_task_start), (gst_task_stop),
19839         (gst_task_pause):
19840         * gst/gsttask.h:
19841         * gst/gstthread.c:
19842         * gst/gstthread.h:
19843         * gst/gsttypes.h:
19844         * gst/schedulers/Makefile.am:
19845         * gst/schedulers/cothreads_compat.h:
19846         * gst/schedulers/entryscheduler.c:
19847         * gst/schedulers/faircothreads.c:
19848         * gst/schedulers/faircothreads.h:
19849         * gst/schedulers/fairscheduler.c:
19850         * gst/schedulers/gstbasicscheduler.c:
19851         * gst/schedulers/gstoptimalscheduler.c:
19852         * gst/schedulers/gthread-cothreads.h:
19853         * gst/schedulers/threadscheduler.c:
19854         (gst_thread_scheduler_task_get_type),
19855         (gst_thread_scheduler_task_class_init),
19856         (gst_thread_scheduler_task_init),
19857         (gst_thread_scheduler_task_start),
19858         (gst_thread_scheduler_task_stop),
19859         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
19860         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
19861         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
19862         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
19863         (plugin_init):
19864         * libs/gst/Makefile.am:
19865         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
19866         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
19867         (gst_file_pad_parent_set):
19868         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
19869         (gst_dp_event_from_packet):
19870         * tests/complexity.c: (main):
19871         * tests/mass_elements.c: (main):
19872         * testsuite/states/locked.c: (message_received), (main):
19873         * testsuite/states/parent.c: (main):
19874         * tools/gst-inspect.c: (print_element_flag_info),
19875         (print_implementation_info), (print_pad_info):
19876         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
19877         (main):
19878         * tools/gst-md5sum.c: (event_loop), (main):
19879         * tools/gst-typefind.c: (main):
19880         * tools/gst-xmlinspect.c: (print_element_info):
19881         Next big merge.
19882         Added GstBus for mainloop integration.
19883         Added GstMessage for sending notifications on the bus.
19884         Added GstTask as an abstraction for pipeline entry points.
19885         Removed GstThread.
19886         Removed Schedulers.
19887         Simplified GstQueue for multithreaded core.
19888         Made _link threadsafe, removed old capsnego.
19889         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
19890         Added pad blocking functions.
19891         Reworked scheduling functions in GstPad to prepare for
19892         scheduling updates soon.
19893         Moved events out of data stream.
19894         Simplified GstEvent types.
19895         Added return values to push/pull.
19896         Removed clocking from GstElement.
19897         Added prototypes for state change function for next merge.
19898         Removed iterate from bins and state change management.
19899         Fixed some elements, disabled others for now.
19900         Fixed -inspect and -launch.
19901         Added check for GstBus.
19902
19903 2005-03-10  Wim Taymans  <wim@fluendo.com>
19904
19905         * docs/design/part-MT-refcounting.txt:
19906         * docs/design/part-clocks.txt:
19907         * docs/design/part-gstelement.txt:
19908         * docs/design/part-gstobject.txt:
19909         * docs/design/part-standards.txt:
19910         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
19911         (gst_bin_remove_func), (gst_bin_remove):
19912         * gst/gstbin.h:
19913         * gst/gstbuffer.c:
19914         * gst/gstcaps.h:
19915         * testsuite/clock/clock1.c: (main):
19916         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
19917         (main):
19918         * testsuite/dlopen/loadgst.c: (do_test):
19919         * testsuite/refcounting/bin.c: (add_remove_test1),
19920         (add_remove_test2), (main):
19921         * testsuite/refcounting/element.c: (main):
19922         * testsuite/refcounting/element_pad.c: (main):
19923         * testsuite/refcounting/pad.c: (main):
19924         * tools/gst-launch.c: (sigint_handler_sighandler):
19925         * tools/gst-typefind.c: (main):
19926         Doc updates.
19927         Added doc about clock.
19928         removed gst_bin_iterate_recurse_up(), marked methods
19929         for removal.
19930         Fix more testsuites.
19931
19932 2005-03-09  Wim Taymans  <wim@fluendo.com>
19933
19934         * gst/gstpad.c: (gst_pad_get_direction),
19935         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
19936         (gst_pad_collect_valist):
19937         * testsuite/bins/interface.c: (main):
19938         * testsuite/caps/audioscale.c: (test_caps):
19939         * testsuite/caps/caps.c: (test1), (test2), (test3):
19940         * testsuite/caps/deserialize.c: (main):
19941         * testsuite/caps/enumcaps.c: (main):
19942         * testsuite/caps/filtercaps.c: (main):
19943         * testsuite/caps/intersect2.c: (main):
19944         * testsuite/caps/random.c: (main):
19945         * testsuite/caps/renegotiate.c: (my_fixate), (main):
19946         * testsuite/caps/sets.c: (check_caps):
19947         * testsuite/caps/simplify.c: (check_caps), (main):
19948         * testsuite/caps/subtract.c: (check_caps):
19949         Fix _pad_get_direction wrt ghostpads.
19950         Fix caps testsuite.
19951
19952 2005-03-09  Wim Taymans  <wim@fluendo.com>
19953
19954         * check/Makefile.am:
19955         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
19956         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
19957         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
19958         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
19959         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
19960         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
19961         (gst_bin_remove), (gst_bin_iterate_recurse_up),
19962         (bin_element_is_sink), (gst_bin_iterate_sinks),
19963         (gst_bin_iterate_all_by_interface):
19964         * gst/gstbin.h:
19965         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
19966         (gst_element_change_state), (gst_element_dispose),
19967         (gst_element_finalize), (gst_element_set_loop_function):
19968         * gst/gstelement.h:
19969         * gst/gstiterator.c: (find_custom_fold_func):
19970         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
19971         (gst_pad_collectv), (gst_pad_collect_valist),
19972         (gst_pad_template_new):
19973         * gst/gstpipeline.c: (gst_pipeline_class_init),
19974         (gst_pipeline_dispose), (gst_pipeline_set_property),
19975         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
19976         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
19977         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
19978         * gst/gstutils.h:
19979         * gst/schedulers/entryscheduler.c:
19980         * gst/schedulers/gstbasicscheduler.c:
19981         (gst_basic_scheduler_cothreaded_chain),
19982         (gst_basic_scheduler_chain_add_element):
19983         * testsuite/bins/interface.c: (main):
19984         Added GstBin test.
19985         Added GstSystemClock test.
19986         Implemented clock distribution code in GstBin.
19987         Implemented iterate sinks method for future use.
19988         Rearranged gstelement.h
19989         Fix GstIterator comparison bug.
19990         Moved some code to GstPipeline, mostly clocking related.
19991
19992 2005-03-09  Wim Taymans  <wim@fluendo.com>
19993
19994         * configure.ac:
19995         * gst/gst_private.h:
19996         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
19997         (gst_bin_remove_func), (gst_bin_remove),
19998         (gst_bin_get_by_name_recurse_up):
19999         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
20000         (gst_clock_id_compare_func), (gst_clock_id_wait),
20001         (gst_clock_id_wait_async), (gst_clock_init),
20002         (gst_clock_adjust_unlocked), (gst_clock_get_time):
20003         * gst/gstelement.h:
20004         * gst/gstinfo.c: (_gst_debug_init):
20005         * gst/gstobject.h:
20006         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
20007         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
20008         * gst/gstpad.h:
20009         Bump version number, we're now 0.9.0
20010         Add future debugging category.
20011         Fix NULL _unref() in _get_by_name_recurse_up
20012         Rearrange gstpad.h.
20013         Update some docs.
20014
20015 2005-03-08  Wim Taymans  <wim@fluendo.com>
20016
20017         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
20018         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
20019         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
20020         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
20021         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
20022         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
20023         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
20024         * gst/elements/gstidentity.c: (gst_identity_class_init):
20025         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
20026         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
20027         * gst/elements/gstshaper.c: (gst_shaper_class_init):
20028         * gst/elements/gststatistics.c: (gst_statistics_class_init):
20029         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
20030         (gst_tee_link):
20031         * gst/gstelement.c: (gst_element_class_init),
20032         (gst_element_base_class_init), (gst_element_init),
20033         (gst_element_get_random_pad), (gst_element_wait_state_change),
20034         (gst_element_change_state), (gst_element_dispose),
20035         (gst_element_finalize), (gst_element_set_loop_function):
20036         * gst/gstelement.h:
20037         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
20038         * gst/gstthread.c: (gst_thread_class_init),
20039         (gst_thread_release_children_locks), (gst_thread_change_state):
20040         * gst/schedulers/gstbasicscheduler.c:
20041         (gst_basic_scheduler_loopfunc_wrapper),
20042         (gst_basic_scheduler_chain_wrapper),
20043         (gst_basic_scheduler_src_wrapper),
20044         (gst_basic_scheduler_remove_element):
20045         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
20046         Remove threadsafe properties. Fix elements because GObject
20047         complains when installing a property before declaring a
20048         set/get_property handler.
20049         Rearrange gstelement.h file, use STATE macros for state locks.
20050         Free mutexes in the finalize method instead of dispose.
20051
20052 2005-03-08  Wim Taymans  <wim@fluendo.com>
20053
20054         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
20055         * gst/gstthread.c: (gst_thread_release_children_locks):
20056         Added parentage check.
20057         Fix build og GstThread again.
20058
20059 2005-03-08  Wim Taymans  <wim@fluendo.com>
20060
20061         * docs/design/part-MT-refcounting.txt:
20062         * docs/design/part-conventions.txt:
20063         * docs/design/part-gstobject.txt:
20064         * docs/design/part-relations.txt:
20065         * docs/design/part-standards.txt:
20066         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
20067         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
20068         (gst_bin_get_by_name), (gst_bin_get_by_interface),
20069         (gst_bin_iterate_all_by_interface):
20070         * gst/gstbuffer.h:
20071         * gst/gstclock.h:
20072         * gst/gstelement.c: (gst_element_class_init),
20073         (gst_element_change_state), (gst_element_set_loop_function):
20074         * gst/gstelement.h:
20075         * gst/gstiterator.c:
20076         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
20077         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
20078         (gst_object_dispatch_properties_changed), (gst_object_set_name),
20079         (gst_object_set_parent), (gst_object_unparent),
20080         (gst_object_check_uniqueness):
20081         * gst/gstobject.h:
20082         Docs updates, clean up some headers.
20083
20084 2005-03-07  Wim Taymans  <wim@fluendo.com>
20085
20086         * check/.cvsignore:
20087         * check/Makefile.am:
20088         * check/gst-libs/.cvsignore:
20089         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
20090         * check/gst/.cvsignore:
20091         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
20092         (START_TEST), (gstbus_suite), (main):
20093         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
20094         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
20095         (gst_data_suite), (main):
20096         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
20097         (add_fold_func), (gstiterator_suite), (main):
20098         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
20099         (thread_name_object), (thread_name_object_default),
20100         (gst_object_name_compare), (gst_object_suite), (main):
20101         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
20102         (gst_pad_suite), (main):
20103         * check/gstcheck.c: (gst_check_log_message_func),
20104         (gst_check_log_critical_func), (gst_check_init):
20105         * check/gstcheck.h:
20106         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
20107         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
20108         Added checks.
20109
20110 2005-03-07  Wim Taymans  <wim@fluendo.com>
20111
20112         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
20113         (gst_list_iterator_next), (gst_list_iterator_resync),
20114         (gst_list_iterator_free), (gst_iterator_new_list),
20115         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
20116         (gst_iterator_free), (gst_iterator_push), (filter_next),
20117         (filter_resync), (filter_uninit), (filter_free),
20118         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
20119         (gst_iterator_foreach), (find_custom_fold_func),
20120         (gst_iterator_find_custom):
20121         * gst/gstiterator.h:
20122         Added missing files.
20123
20124 2005-03-07  Wim Taymans  <wim@fluendo.com>
20125
20126         * Makefile.am:
20127         * configure.ac:
20128         * docs/design/part-MT-refcounting.txt:
20129         * docs/design/part-conventions.txt:
20130         * docs/design/part-gstobject.txt:
20131         * docs/design/part-relations.txt:
20132         * examples/mixer/mixer.c: (main):
20133         * examples/thread/thread.c: (eos), (main):
20134         * gst/Makefile.am:
20135         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
20136         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
20137         (gst_spider_plug_from_srcpad):
20138         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
20139         (gst_spider_identity_change_state),
20140         (gst_spider_identity_sink_loop_type_finding):
20141         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
20142         * gst/elements/gstidentity.c: (gst_identity_init):
20143         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
20144         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
20145         * gst/elements/gsttypefindelement.c: (free_entry):
20146         * gst/gst.c:
20147         * gst/gst.h:
20148         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
20149         (gst_bin_set_clock_func), (gst_bin_auto_clock),
20150         (gst_bin_set_index), (gst_bin_set_element_sched),
20151         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
20152         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
20153         (gst_bin_iterate_elements), (iterate_child_recurse),
20154         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
20155         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
20156         (compare_interface), (gst_bin_get_by_interface),
20157         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
20158         * gst/gstbin.h:
20159         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
20160         (gst_buffer_default_free), (gst_buffer_default_copy),
20161         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
20162         (gst_buffer_create_sub):
20163         * gst/gstbuffer.h:
20164         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
20165         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
20166         (gst_caps_unref), (gst_static_caps_get),
20167         (gst_caps_remove_and_get_structure), (gst_caps_append),
20168         (gst_caps_append_structure), (gst_caps_remove_structure),
20169         (gst_caps_copy_nth), (gst_caps_set_simple),
20170         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
20171         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
20172         (gst_caps_structure_intersect_field), (gst_caps_intersect),
20173         (gst_caps_structure_subtract_field), (gst_caps_subtract),
20174         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
20175         (gst_caps_structure_figure_out_union),
20176         (gst_caps_switch_structures), (gst_caps_do_simplify),
20177         (gst_caps_replace), (gst_caps_from_string),
20178         (gst_caps_copy_conditional):
20179         * gst/gstcaps.h:
20180         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
20181         (_gst_clock_id_free), (gst_clock_id_unref),
20182         (gst_clock_id_compare_func), (gst_clock_id_wait),
20183         (gst_clock_id_wait_async), (gst_clock_class_init),
20184         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
20185         (gst_clock_get_time), (gst_clock_set_time_adjust),
20186         (gst_clock_set_property), (gst_clock_get_property):
20187         * gst/gstclock.h:
20188         * gst/gstcompat.h:
20189         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
20190         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
20191         * gst/gstdata.h:
20192         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
20193         (gst_element_requires_clock), (gst_element_provides_clock),
20194         (gst_element_set_clock), (gst_element_clock_wait),
20195         (gst_element_wait), (gst_element_set_time_delay),
20196         (gst_element_is_indexable), (gst_element_add_pad),
20197         (gst_element_add_ghost_pad), (gst_element_remove_pad),
20198         (pad_compare_name), (gst_element_get_static_pad),
20199         (gst_element_request_pad), (gst_element_get_request_pad),
20200         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
20201         (gst_element_class_get_pad_template_list),
20202         (gst_element_class_get_pad_template), (gst_element_error_func),
20203         (gst_element_get_random_pad), (gst_element_get_event_masks),
20204         (gst_element_send_event), (gst_element_seek),
20205         (gst_element_get_query_types), (gst_element_query),
20206         (gst_element_get_formats), (gst_element_convert),
20207         (gst_element_is_locked_state), (gst_element_set_locked_state),
20208         (gst_element_sync_state_with_parent), (gst_element_change_state),
20209         (gst_element_finalize), (gst_element_yield),
20210         (gst_element_interrupt), (gst_element_set_scheduler),
20211         (gst_element_get_scheduler), (gst_element_set_loop_function):
20212         * gst/gstelement.h:
20213         * gst/gstevent.h:
20214         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
20215         (gst_format_get_by_nick), (gst_format_get_details),
20216         (gst_format_iterate_definitions):
20217         * gst/gstformat.h:
20218         * gst/gstindex.c: (gst_index_gtype_resolver):
20219         * gst/gstinfo.c:
20220         * gst/gstinfo.h:
20221         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
20222         (gst_mem_chunk_free):
20223         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
20224         (gst_object_ref), (gst_object_unref), (gst_object_sink),
20225         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
20226         (gst_object_dispatch_properties_changed),
20227         (gst_object_set_name_default), (gst_object_set_name),
20228         (gst_object_get_name), (gst_object_set_name_prefix),
20229         (gst_object_get_name_prefix), (gst_object_set_parent),
20230         (gst_object_get_parent), (gst_object_unparent),
20231         (gst_object_check_uniqueness), (gst_object_save_thyself),
20232         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
20233         (gst_object_set_property), (gst_object_get_property),
20234         (gst_object_get_path_string):
20235         * gst/gstobject.h:
20236         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
20237         (gst_real_pad_init), (gst_real_pad_get_property),
20238         (gst_pad_custom_new), (gst_pad_get_direction),
20239         (gst_pad_set_active), (gst_pad_is_active),
20240         (gst_pad_set_event_function), (gst_pad_is_linked),
20241         (gst_pad_link_free), (gst_pad_link_intersect),
20242         (gst_pad_link_fixate), (gst_pad_set_caps),
20243         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
20244         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
20245         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
20246         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
20247         (gst_pad_get_caps), (gst_pad_peer_get_caps),
20248         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
20249         (gst_pad_realize), (gst_pad_get_allowed_caps),
20250         (gst_real_pad_dispose), (gst_real_pad_finalize),
20251         (gst_pad_collectv), (gst_pad_collect_valist),
20252         (gst_pad_template_dispose), (gst_pad_template_new),
20253         (gst_pad_get_internal_links):
20254         * gst/gstpad.h:
20255         * gst/gstpipeline.c: (gst_pipeline_dispose),
20256         (gst_pipeline_change_state):
20257         * gst/gstpipeline.h:
20258         * gst/gstplugin.c:
20259         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
20260         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
20261         * gst/gstpluginfeature.h:
20262         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
20263         * gst/gstquery.c: (_gst_query_type_initialize),
20264         (gst_query_type_register), (gst_query_type_get_by_nick),
20265         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
20266         * gst/gstquery.h:
20267         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
20268         * gst/gstscheduler.c: (gst_scheduler_add_element),
20269         (gst_scheduler_factory_create):
20270         * gst/gststructure.c: (gst_structure_set_parent_refcount),
20271         (gst_structure_free), (gst_structure_set_name),
20272         (gst_structure_id_set_value), (gst_structure_set_value),
20273         (gst_structure_set_valist), (gst_structure_remove_field),
20274         (gst_structure_remove_fields),
20275         (gst_structure_remove_fields_valist),
20276         (gst_structure_remove_all_fields), (gst_structure_foreach),
20277         (gst_structure_map_in_place),
20278         (gst_caps_structure_fixate_field_nearest_int),
20279         (gst_caps_structure_fixate_field_nearest_double):
20280         * gst/gststructure.h:
20281         * gst/gstsystemclock.c: (gst_system_clock_class_init),
20282         (gst_system_clock_init), (gst_system_clock_dispose),
20283         (gst_system_clock_async_thread),
20284         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
20285         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
20286         * gst/gstsystemclock.h:
20287         * gst/gsttag.c: (gst_tag_list_add_value_internal),
20288         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
20289         * gst/gsttaginterface.c:
20290         * gst/gstthread.c: (gst_thread_dispose),
20291         (gst_thread_release_children_locks), (gst_thread_change_state),
20292         (gst_thread_main_loop):
20293         * gst/gsttrashstack.h:
20294         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
20295         * gst/gsttypes.h:
20296         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
20297         (gst_element_request_pad), (gst_element_get_pad_from_template),
20298         (gst_element_request_compatible_pad),
20299         (gst_element_get_compatible_pad_filtered),
20300         (gst_element_get_compatible_pad), (gst_element_state_get_name),
20301         (gst_element_link_pads_filtered), (gst_element_link_filtered),
20302         (gst_element_link_many), (gst_element_link),
20303         (gst_element_link_pads), (gst_element_unlink_pads),
20304         (gst_element_unlink_many), (gst_element_unlink),
20305         (gst_pad_can_link_filtered), (gst_pad_can_link),
20306         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
20307         (gst_object_default_error), (gst_bin_add_many),
20308         (gst_bin_remove_many), (gst_element_populate_std_props),
20309         (gst_element_class_install_std_props), (gst_buffer_merge),
20310         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
20311         (link_fold_func), (gst_pad_proxy_setcaps):
20312         * gst/gstutils.h:
20313         * gst/gstvalue.c: (gst_value_deserialize_string):
20314         * gst/parse/grammar.y:
20315         * gst/schedulers/gstbasicscheduler.c:
20316         (gst_basic_scheduler_cothreaded_chain),
20317         (gst_basic_scheduler_chain_recursive_add),
20318         (gst_basic_scheduler_pad_link):
20319         * gst/schedulers/gstoptimalscheduler.c:
20320         (get_group_schedule_function),
20321         (gst_opt_scheduler_state_transition),
20322         (gst_opt_scheduler_add_element), (element_get_reachables_func):
20323         * libs/gst/bytestream/bytestream.c:
20324         * libs/gst/dataprotocol/dataprotocol.c:
20325         (gst_dp_header_from_buffer):
20326         * po/nb.po:
20327         * po/ru.po:
20328         * tests/threadstate/threadstate2.c: (eos):
20329         * tools/gst-compprep.c: (main):
20330         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
20331         (print_pad_info), (print_children_info):
20332         * tools/gst-launch.c: (idle_func), (main):
20333         * tools/gst-md5sum.c: (idle_func), (main):
20334         * tools/gst-xmlinspect.c: (print_element_info):
20335         First THREADED backport attempt, focusing on adding locks and
20336         making sure the API is threadsafe. Needs more work. More docs
20337         follow this week.
20338
20339 2005-02-24  Andy Wingo  <wingo@pobox.com>
20340
20341         * tests/bench-complexity.scm:
20342         * tests/complexity.gnuplot: New files, good for running complexity
20343         benchmarks.
20344
20345         * tests/Makefile.am:
20346         * tests/complexity.c: New test, sets up N elements, at each level
20347         teeing into M streams per element. Eeeenteresting.
20348
20349         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
20350         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
20351         running bench-mass_elements.scm.
20352
20353         * tests/bench-mass_elements.scm: New script, runs mass_elements
20354         for various numbers of identities, outputting the results to a
20355         file. Requires guile 1.6. Just for testing.
20356
20357 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
20358
20359         * gst/schedulers/fairscheduler.c:
20360           compile with debug disabled
20361
20362 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
20363
20364         * configure.ac:
20365           hunting season on 0.9 is now OPEN