34dfd089a254ae53bc637c659de1efe355543388
[platform/upstream/gstreamer.git] / ChangeLog
1 2006-10-18  Wim Taymans  <wim@fluendo.com>
2
3         * docs/design/part-live-source.txt:
4         * gst/gstclock.h:
5         Small docs fixes.
6
7 2006-10-18  Tim-Philipp Müller  <tim at centricular dot net>
8
9         * gst/gstbuffer.h:
10           Add an explicit cast to GstBuffer** to keep old code that added an
11           explicit cast to GstMiniObject** for gst_mini_object_replace()
12           compiling without warning.
13
14 2006-10-18  Stefan Kost  <ensonic@users.sf.net>
15
16         * gst/gstvalue.c: (gst_value_set_date), (gst_date_copy):
17           check for validity of dates
18
19 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
20
21         * docs/gst/gstreamer-sections.txt:
22           Forgot this one, makes gtk-doc shut up.
23
24 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
25
26         Patch by: Peter Kjellerstedt <pkj at axis com>
27
28         * gst/gstobject.h:
29           Don't define xmlNodePtr to gpointer if the core was built with
30           --disable-loadsave and --disable-registry, this will break
31           applications that want to use libxml2 but are buildling against a
32           core that doesn't use libxml2. Use an intermediary type GstXmlNodePtr
33           instead so we don't have to mess with the libxml2 namespace
34           (#361675).
35
36 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
37
38         * gst/gstbuffer.h:
39           Fix gst_buffer_replace() macro to avoid gst_mini_object_replace()-related
40           type-punned pointer warnings.
41
42 2006-10-16  Tim-Philipp Müller  <tim at centricular dot net>
43
44         * gst/gstelement.h:
45           Add casts to the correct return type to state <=> state transition
46           macros.
47
48 2006-10-16  Stefan Kost  <ensonic@users.sf.net>
49
50         * docs/design/part-live-source.txt:
51           describe howto handle latency
52         
53         * docs/random/ensonic/profiling.txt:
54           more ideas
55
56         * tools/gst-plot-timeline.py:
57           fix log parsing for solaris, remove unused function
58
59 2006-10-16  Wim Taymans  <wim@fluendo.com>
60
61         * docs/design/part-trickmodes.txt:
62         * gst/gstevent.c:
63         Update some docs regarding reverse playback.
64
65 2006-10-15  Tim-Philipp Müller  <tim at centricular dot net>
66
67         Patch by: Marcus Granado  <mrc dot gran at gmail com>
68
69         * win32/vs8/grammar.vcproj:
70           Error out with a warning if glib-genmarshal.exe is not in path,
71           instead of creating bogus gstmarshal.[ch] files. Fixes #361720.
72
73 2006-10-13  Wim Taymans  <wim@fluendo.com>
74
75         * gst/gstsegment.c: (gst_segment_set_seek):
76         When seeking to stop -1, set last_stop (current position) to the
77         duration of the segment.
78
79 2006-10-13  Wim Taymans  <wim@fluendo.com>
80
81         * gst/gstelement.h:
82         Clarify _NO_PREROLL a bit more.
83
84         * gst/gstevent.c:
85         Fix docs.
86
87         * gst/gstpad.c: (gst_pad_link_check_hierarchy),
88         (gst_pad_get_caps_unlocked), (gst_pad_save_thyself),
89         (handle_pad_block), (gst_pad_push_event), (gst_pad_send_event):
90         Patch by: Yves Lefebvre <ivanohe at abacom dot com> Fix possible deadlock
91         due to wrong locking order. Fixes #361769.
92         Remove some redundant/misplaced checks in pad_block.
93
94         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
95         For negative rates, count backwards from the duration.
96
97 2006-10-13  Tim-Philipp Müller  <tim at centricular dot net>
98
99         * gst/gsterror.c: (_gst_library_errors_init):
100           Fix error message for GST_LIBRARY_ERROR_SETTINGS (feel free to come
101           up with something better).
102
103 2006-10-12  Tim-Philipp Müller  <tim at centricular dot net>
104
105         * win32/vs6/libgstreamer.dsp:
106         * win32/vs7/libgstreamer.vcproj:
107         * win32/vs8/libgstreamer.vcproj:
108           Don't reference glib-compat.c which is currently not used and not
109           disted; add gstquark.c which was recently added. Fixes #361730.
110
111 2006-10-12  Tim-Philipp Müller  <tim at centricular dot net>
112
113         * win32/common/libgstbase.def:
114         * win32/common/libgstcontroller.def:
115         * win32/common/libgstreamer.def:
116           Add gst_caps_merge() and a bunch of other recently-added functions.
117           Fixes #361732.
118
119 2006-10-11  Wim Taymans  <wim@fluendo.com>
120
121         * docs/plugins/gstreamer-plugins.args:
122         * docs/plugins/inspect/plugin-coreelements.xml:
123         * docs/plugins/inspect/plugin-coreindexers.xml:
124         Update element args.
125
126         * gst/gstsystemclock.c:
127         Small comment update.
128
129         * plugins/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
130         (gst_tee_request_new_pad), (gst_tee_release_pad),
131         (gst_tee_buffer_alloc), (gst_tee_sink_activate_push),
132         (gst_tee_sink_activate_pull):
133         * plugins/elements/gsttee.h:
134         Some tee loving:
135         Add default property defines.
136         Implement release pad function.
137         Give properties better blubs etc.
138         Activate pads before adding them to a running tee.
139         Do simple buffer_alloc on the first requested pad.
140         Post error when activation fails.
141
142 2006-10-11  Tim-Philipp Müller  <tim at centricular dot net>
143
144         * gst/gst.c: (ensure_current_registry_forking):
145           Check return value of write() to make compiler happy.
146
147 2006-10-11  Wim Taymans  <wim@fluendo.com>
148
149         Patch by: Sjoerd Simons <sjoerd at luon dot net>
150
151         * plugins/elements/gstqueue.c: (gst_queue_chain):
152         Recheck queue filledness after signalling the overrun when we're about
153         to leak downstream because we released the lock when emitting the signal
154         and the queue could be empty again. Fixes #352345.
155
156 2006-10-11  Tim-Philipp Müller  <tim at centricular dot net>
157
158         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list):
159           Fix refcounting here too, just like we did for _new_valist() a few
160           days ago (#357180) (thanks to René Stadler). Also remove all those
161           'Since: 0.9' from the gtk-doc blobs.
162
163         * tests/check/libs/controller.c: (controller_refcount_new_list),
164         (gst_controller_suite):
165           Unit test for the above.
166
167 2006-10-10  Wim Taymans  <wim@fluendo.com>
168
169         Patch by: Sebastien Cote <sebas642 at yahoo dot ca>
170
171         * gst/gstpad.c: (gst_pad_get_caps_unlocked),
172         (gst_pad_save_thyself):
173         Update some docs.
174         Write pad direction in XML output. Fixes #345496.
175
176 2006-10-10  Wim Taymans  <wim@fluendo.com>
177
178         Patch by: René Stadler <mail at renestadler dot de>
179
180         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
181         (gst_controller_new_list), (_gst_controller_dispose),
182         (_gst_controller_finalize), (_gst_controller_class_init):
183         Take ref to controlled object so that it cannot disappear. 
184         Fixes #357432.
185
186 2006-10-10  Wim Taymans  <wim@fluendo.com>
187
188         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
189         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
190         (gst_check_teardown_sink_pad):
191         Activate/deactivate pads in setup/teardown respectively.
192
193 2006-10-10  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
194
195         Patch by: Josep Torre Valles <josep@fluendo.com>
196
197         * gst/Makefile.am:
198         Cast values when making gstenumtypes.h.  This pacifies Forte
199         so it doesn't warn about the ~0 as GST_MESSAGE_ANY not fitting
200         in the enumeration.
201
202 2006-10-09  Wim Taymans  <wim@fluendo.com>
203
204         * gst/gstevent.c: (gst_event_new_seek), (gst_event_parse_seek):
205         Rename some more @cur to @start to fix docs. 
206
207         * gst/gstsegment.c: (gst_segment_set_seek):
208         Fix typo.
209         time and start must always stay in sync as defined in design doc.
210
211         * gst/gsttaglist.c: (gst_tag_list_is_empty):
212         Rename param to fix docs.
213
214         * tests/check/gst/gstsegment.c: (GST_START_TEST):
215         Check that start and time are in sync.
216
217         * tests/check/pipelines/parse-launch.c:
218         (gst_parse_test_element_change_state):
219         Activate pad before adding to the element.
220
221 2006-10-09  Wim Taymans  <wim@fluendo.com>
222
223         * docs/design/part-qos.txt:
224         Fix typo.
225
226         * gst/gstevent.c:
227         * gst/gstevent.h:
228         Update seek event docs regarding negative rates.
229         Rename @cur to @start. 
230
231         * gst/gstsegment.c: (gst_segment_set_seek):
232         * gst/gstsegment.h:
233         Update set_seek docs regarding negative rates.
234         Correctly update last_stop to @stop when dealing with negative
235         rates.
236         Rename @cur to @start. 
237
238         * tests/check/gst/gstpad.c: (GST_START_TEST):
239         Activate pads before trying to use them.
240
241         * tests/check/gst/gstsegment.c: (GST_START_TEST),
242         (gst_segment_suite):
243         Add simple check for segments and negative rates.
244
245 2006-10-09  Tim-Philipp Müller  <tim at centricular dot net>
246
247         * gst/gsttaglist.c: (gst_tag_list_is_empty):
248         * gst/gsttaglist.h:
249         * docs/gst/gstreamer-sections.txt:
250           API: add gst_tag_list_is_empty() (#360467).
251
252         * tests/check/gst/gsttag.c: (GST_START_TEST):
253           And a test case.
254
255 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
256
257         * gst/gstmessage.h:
258         Revert change from earlier wrt GST_MESSAGE_TYPE_ANY having
259         a value that doesn't fit on enumeration.
260
261 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
262
263         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
264         Remove local debugging system and use Gstreamer's instead.
265
266 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
267
268         Patch by: Josep Torre Valles <josep@fluendo.com>
269
270         * common/m4/gst-error.m4:
271         Disable warning of statement not reached on Forte.
272         * gst/gstmessage.h:
273         Fix warning on Forte (value doesn't fit on enumeration).
274         * libs/gst/base/gstbasesink.c: (gst_base_sink_chain_unlocked):
275         Fix warning on Forte (value doesn't fit on enumeration).
276         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
277         DEBUG macro says it takes minimum of 2 args and so Forte
278         complains about the use with just 1 arg.
279         * plugins/elements/gstfdsink.c:
280         * plugins/elements/gstfdsrc.c:
281         * plugins/elements/gstfilesink.c:
282         * plugins/elements/gstfilesrc.c:
283         Use correct return type for the uri handler implementations.
284
285         All these fix warnings in Forte.  Fixes bug #360860.
286
287 2006-10-08  Tim-Philipp Müller  <tim at centricular dot net>
288
289         * gst/gstelement.h:
290           gcc versions prior to gcc 3.3 apparently complain about a NULL printf
291           format string, so don't use G_GNUC_PRINTF for those versions.
292
293 2006-10-07  Tim-Philipp Müller  <tim at centricular dot net>
294
295         * gst/gsttaglist.c: (gst_is_tag_list):
296         * gst/gsttaglist.h:
297           Minor fixes to GST_IS_TAG_LIST and gst_is_tag_list().
298
299         * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
300           Small test for the above.
301
302 2006-10-07  Tim-Philipp Müller  <tim at centricular dot net>
303
304         * gst/gsttaglist.h:
305           Less tabs, more spaces.
306
307 2006-10-06  Tim-Philipp Müller  <tim at centricular dot net>
308
309         * gst/gstinfo.h:
310           Those two function declarations do actually belong there, revert
311           commit from yesterday that turned them intro macros.
312
313 2006-10-06  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
314
315         Patch by: Josep Torre Valles <josep@fluendo.com>
316
317         * gst/gst.c: (gst_init_get_option_group):
318         Fix empty declaration and type mismatch.
319         * gst/gstbin.c: (gst_bin_change_state_func):
320         Fix type mismatch.
321         * gst/gstelement.c: (gst_element_continue_state),
322         (gst_element_set_state_func), (gst_element_change_state),
323         (gst_element_change_state_func):
324         Fix type mismatches.
325         * gst/gstinfo.c: (gst_debug_compare_log_function_by_func),
326         (gst_debug_remove_log_function), (_gst_debug_nameof_funcptr):
327         Cast as appropriate.
328         * gst/gstobject.c: (gst_class_signal_connect):
329         Cast as appropriate.  The function pointer parameter really
330         has the wrong type but would break API if we change it.
331         * gst/gstquery.c:
332         Fix redefinition of _FILE_OFFSET_BITS caused on Solaris wrt
333         order of including string.h.
334         * gst/gstutils.c: (gst_element_state_get_name):
335         Remove unreachable line.
336         * gst/gstxml.c: (gst_xml_parse_doc):
337         Fix type mismatch.
338         All these caught by Forte.
339
340 2006-10-06  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
341
342         Patch by: Josep Torre Valles <josep@fluendo.com>
343
344         * common/m4/gst-error.m4:
345         Fixed bug #360151.
346         We need to disable warnings on Forte for empty declarations
347         due to gst-indent adding ;s to lines that just use macros
348         where the macro actually doesn't need a ; at end to end
349         statement.
350
351 2006-10-06  Wim Taymans  <wim@fluendo.com>
352
353         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
354         (gst_file_sink_close_file), (gst_file_sink_event),
355         (gst_file_sink_render):
356         Add some FIXME for the NEWSEGMENT handling.
357
358 2006-10-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
359
360         * gst/parse/grammar.y:
361         Remove static function gst_parse_element_lock as all it does
362         is return.  Looks like cruft from 0.8.
363
364 2006-10-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
365
366         Patch by: Josep Torre Valles <josep@fluendo.com>
367
368         * common/m4/gst-error.m4:
369         * configure.ac:
370         * libs/gst/net/Makefile.am:
371         Fix a compilation issue with Forte on Solaris.  inet_aton is in
372         libresolv.
373
374 2006-10-05  Tim-Philipp Müller  <tim at centricular dot net>
375
376         * gst/gstpad.c: (pre_activate):
377         * gst/gstregistry.c: (gst_registry_scan_path_level):
378         * gst/gstregistryxml.c: (load_plugin):
379         * libs/gst/controller/gstcontroller.c:
380         (gst_controlled_property_set_interpolation_mode):
381         * libs/gst/dataprotocol/dataprotocol.c:
382         (gst_dp_packet_from_event_1_0):
383         * libs/gst/net/gstnetclientclock.c:
384         (gst_net_client_clock_observe_times):
385         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
386           Printf fixes.
387
388 2006-10-05  Tim-Philipp Müller  <tim at centricular dot net>
389
390         * configure.ac:
391         * docs/gst/gstreamer-sections.txt:
392         * gst/gstconfig.h.in:
393         * gst/gstelement.h:
394         * gst/gstinfo.h:
395           Add GST_USING_PRINTF_EXTENSION to gstconfig.h so that we know
396           whether we can use G_GNUC_PRINTF in other header files and at
397           least check the printf format/arguments of debug messages and
398           GST_ELEMENT_ERROR messages when the printf extension is not
399           being used.
400           Replace more tabs with spaces in gstinfo.h and remove two spurious
401           function declarations in GST_DISABLE_DEBUG part with macros.
402
403 2006-10-03  Tim-Philipp Müller  <tim at centricular dot net>
404
405         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_post):
406           More docs for the sync-message signal (mention that it is not
407           emitted by default); log message structures of messages posted on
408           the bus as well.
409
410 2006-10-03  Jan Schmidt  <thaytan@mad.scientist.com>
411
412         * gst/gst.c: (ensure_current_registry_forking):
413         Use a pipe pair to receive status results from the forked child, and
414         ignore the result from waitpid. Fixes #355499
415
416 2006-10-02  Wim Taymans  <wim@fluendo.com>
417
418         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
419         (gst_ghost_pad_suite):
420         Fix leak in check.
421
422 2006-10-02  Tim-Philipp Müller  <tim at centricular dot net>
423
424         * gst/gstpad.c:
425           Add 'Since: 0.10.11' to gst_pad_is_blocking() gtk-doc blurb.
426
427 2006-10-02  Edward Hervey  <edward@fluendo.com>
428
429         * docs/design/part-block.txt:
430         Further explain the use of flushing on blocked pads.
431         * docs/gst/gstreamer-sections.txt:
432         * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
433         (gst_pad_push_event):
434         * gst/gstpad.h:
435         Added new GstPadFlag : GST_PAD_BLOCKING.
436         Adds the notion of pads really blocking, which enables to properly
437         handle FLUSH_START/FLUSH_STOP events on blocked pads.
438         Fixes #358999
439         API: gst_pad_is_blocking()
440         API: GST_PAD_IS_BLOCKING() macro
441         API: GST_PAD_BLOCKING GstPadFlag
442         
443 2006-10-02  Wim Taymans  <wim@fluendo.com>
444
445         Patch by: mrcgran <mrc.gran at gmail dot com>
446
447         * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps):
448         Filter the proxied caps against the padtemplate if we have one.
449
450         * gst/gstquery.c: (gst_query_new_segment):
451         Add include for gstinfo.h so that compilation with
452         -DGST_DISABLE_GST_DEBUG works again. Fixes #358436.
453
454 2006-10-02  Wim Taymans  <wim@fluendo.com>
455
456         Patch by: Alessandro Decina  <alessandro at nnva org>
457
458         * plugins/elements/gstfilesink.c: (gst_file_sink_init),
459         (gst_file_sink_set_location), (gst_file_sink_open_file),
460         (gst_file_sink_close_file), (gst_file_sink_event),
461         (gst_file_sink_render):
462         Set file to NULL when closing filesink so that we can set a new filename
463         in READY. Fixes #358613.
464
465 2006-10-02  Tim-Philipp Müller  <tim at centricular dot net>
466
467         Patch by: Alessandro Decina  <alessandro at nnva org>
468
469         * gst/gstevent.c: (_gst_event_copy):
470           Fix gst_mini_object_make_writable() and gst_event_copy() for events
471           with event structures by setting the parent refcount address of the
472           copied structure to the address of the refcount member of the newly
473           copied event rather than the address of the refcount member of the
474           original event. Fixes #358737.
475
476         * tests/check/gst/gstevent.c: (GST_START_TEST):
477           Unit test for the above.
478
479 2006-09-29  Stefan Kost  <ensonic@users.sf.net>
480
481         * docs/design/Makefile.am:
482           Dist some more files.
483
484 2006-09-29  Tim-Philipp Müller  <tim at centricular dot net>
485
486         * tests/check/libs/controller.c: (GST_START_TEST),
487         (gst_controller_suite):
488           Add test for the previous fix; add some more tests
489           for correct refcounting behaviour; fix a few leaks
490           in test cases; call gst_controller_init() at start
491           of all tests.
492
493 2006-09-29  Tim-Philipp Müller  <tim at centricular dot net>
494
495         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
496         (gst_controller_set_from_list):
497           Don't g_return_val_if_fail() on timed values with invalid timestamps
498           inside a critical section without unlocking the mutex. Spotted by
499           René Stadler. (#357617)
500           Also, fix up refcounting properly: when returning an existing
501           controller, we should increase the reference only once and not
502           once per property and when trying to control a property again
503           we should also increase the refcount.
504
505 2006-09-29  Wim Taymans  <wim@fluendo.com>
506
507         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
508         * libs/gst/net/gstnettimeprovider.c:
509         (gst_net_time_provider_thread):
510         Stop reading commands when EOF as well.
511
512         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
513         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
514         * plugins/elements/gstidentity.c: (gst_identity_class_init):
515         Unify description of the dump property.
516
517 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
518
519         * tests/examples/manual/.cvsignore:
520         OK, so it's actually cvsignore that needs changing. Stop laughing.
521
522 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
523
524         * tests/examples/manual/Makefile.am:
525         Gah, declare vars *before* using them
526
527 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
528
529         * gst/gst.c: (init_pre), (scan_and_update_registry),
530         (ensure_current_registry_nonforking),
531         (ensure_current_registry_forking), (ensure_current_registry),
532         (init_post), (gst_debug_help), (gst_deinit):
533         * gst/gst_private.h:
534         * gst/gstregistry.c: (gst_registry_finalize),
535         (gst_registry_remove_features_for_plugin_unlocked),
536         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
537         (gst_registry_scan_path),
538         (_priv_gst_registry_remove_cache_plugins),
539         (_priv_gst_registry_cleanup):
540         * gst/gstregistry.h:
541         Re-commit the registry changes, along with an extra fix:
542           When a cached plugin is encountered at a different file path,
543           update the stored path in the registry cache so that the parent
544           process knows where it actually is now when it re-reads the registry
545           cache. Fixes the thing that broke distcheck with the previous commit.
546
547         * tests/check/Makefile.am:
548         Clean up files named 'core' too when running make clean.
549
550         * tests/examples/manual/Makefile.am:
551         Set up a registry path for running these tests, and clean it properly
552         for distcheck.
553
554 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
555
556         * configure.ac:
557         Don't pull in gmodule-2.0.pc as a dependency in our .pc files - we
558         want gmodule-no-export-2.0.pc instead so that we don't drag in
559         --export-dynamic on every project that links to GStreamer.
560
561         Also, make our export regex only match the start of symbols, rather 
562         than any symbol that contains '_gst' somewhere.
563
564         * libs/gst/check/Makefile.am:
565         The libgstcheck we build does however need export-dynamic, as it
566         produces some symbols that don't match our _gst... style regex.
567         Fixes: #318031
568
569 2006-09-27  Jan Schmidt  <thaytan@mad.scientist.com>
570
571         * gst/gst.c: (init_pre), (scan_and_update_registry),
572         (ensure_current_registry_nonforking),
573         (ensure_current_registry_forking), (ensure_current_registry),
574         (init_post), (gst_debug_help), (gst_deinit):
575         * gst/gst_private.h:
576         * gst/gstregistry.c: (gst_registry_finalize),
577         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
578         (gst_registry_scan_path), (_gst_registry_remove_cache_plugins),
579         (_gst_registry_cleanup):
580         * gst/gstregistry.h:
581           Revert previous change until I figure out why it breaks distcheck.
582
583 2006-09-27  Jan Schmidt  <thaytan@mad.scientist.com>
584
585         * gst/gst.c: (init_pre), (scan_and_update_registry),
586         (ensure_current_registry_nonforking),
587         (ensure_current_registry_forking), (ensure_current_registry),
588         (init_post), (gst_debug_help), (gst_deinit):
589
590           Make init_pre and init_post take the full complement of GOptionFunc
591           args so they can return useful GErrors. Make the registry updating
592           functions do so.
593
594           Call _priv_gst_registry_remove_cache_plugins after scanning files to
595           ensure that the registry we're about to write out doesn't contain
596           stale information about old-deleted plugin files.
597
598           Make _priv_gst_registry_remove_cache_plugins return a boolean so
599           that deletion of plugin files is considered a registry change.
600
601         * gst/gst_private.h:
602         * gst/gstregistry.c: (gst_registry_finalize),
603         (gst_registry_remove_features_for_plugin_unlocked),
604         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
605         (gst_registry_scan_path),
606         (_priv_gst_registry_remove_cache_plugins),
607         (_priv_gst_registry_cleanup):
608         * gst/gstregistry.h:
609         Rename _gst_registry_remove_cache_plugins and _gst_registry_cleanup
610         by adding _priv prefix, so that they won't appear in the global
611         symbol table. They still do atm though because of #318031. Move the
612         prototypes to gst_private.h
613
614         When removing a plugin, remove all features for that plugin too. 
615         Fixes #340878.
616
617 2006-09-27  Wim Taymans  <wim@fluendo.com>
618
619         * docs/random/moving-plugins:
620         Make it clear that the "compiled-in descriptions" really mean
621         the element details.
622
623         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
624         (gst_base_sink_wait_preroll):
625         Update docs.
626
627         * docs/libs/gstreamer-libs-sections.txt:
628         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
629         (gst_base_src_get_range), (gst_base_src_activate_push):
630         * libs/gst/base/gstbasesrc.h:
631         Added function to block while waiting for PLAYING, this function
632         is used by live sources that block on the clock.
633         API: gst_base_src_wait_playing()
634
635 2006-09-27  Tim-Philipp Müller  <tim at centricular dot net>
636
637         Patch by: Peter Kjellerstedt <pkj at axis com>
638
639         * Makefile.am:
640           gst-element-check.m4 is generated and should therefore be
641           copied from the build dir rather than the source dir (#357593).
642           'make distcheck' hasn't noticed this because we were disting
643           the file as well, so stop doing that.
644
645 2006-09-27  Tim-Philipp Müller  <tim at centricular dot net>
646
647         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
648           Add some tests for gst_caps_intersect().
649
650         * tools/gst-launch.c: (event_loop):
651           Print all buffering percentages we get, even the 100% one.
652
653 2006-09-26  Wim Taymans  <wim@fluendo.com>
654
655         * tools/gst-inspect.c: (print_element_properties_info),
656         (print_signal_info):
657         Fix printing of flags to match the look of enums.
658
659 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
660
661         * gst/gstelementfactory.c:
662           Fix typo in docs blurb.
663
664 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
665
666         * gst/gsturi.c: (search_by_entry):
667           Don't assert/crash here if a uri handler doesn't return any
668           supported protocols. The list of protocols could be generated
669           dynamically at runtime or at plugin registration, and an error
670           in the underlying library shouldn't be fatal (#353301).
671
672 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
673
674         * gst/gstinfo.c:
675           Fix warning if HAVE_PRINTF_EXTENSION is undefined
676           (spotted by Peter Kjellerstedt).
677
678 2006-09-23  Wim Taymans  <wim@fluendo.com>
679
680         Based on patch by: Antoine Tremblay <hexa00 at gmail dot com>
681
682         * libs/gst/base/gstbasesrc.c:
683         (gst_base_src_default_check_get_range), (gst_base_src_start),
684         (gst_base_src_activate_push), (gst_base_src_activate_pull),
685         (gst_base_src_change_state):
686         Match _start/_stop calls in the activate functions. Remove redundant
687         _stop call from the state change function. Fixes #356910.
688         Turn failure DEBUG into ERROR. 
689
690 2006-09-22  Wim Taymans  <wim@fluendo.com>
691
692         * docs/design/part-buffering.txt:
693         * gst/gstmessage.c: (gst_message_new_buffering),
694         (gst_message_parse_buffering):
695         Update docs about buffering.
696
697         * docs/design/part-trickmodes.txt:
698         Fix typo.
699
700 2006-09-22  Stefan Kost  <ensonic@users.sf.net>
701
702         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
703         (gst_controller_new_list):
704           Ref instances when returning them again (fixes #357180)
705
706 2006-09-22  Tim-Philipp Müller  <tim at centricular dot net>
707
708         * gst/gstghostpad.c: (gst_ghost_pad_set_target):
709           Don't forget to release proxy lock when there's an error.
710
711 2006-09-20  Jan Schmidt  <thaytan@mad.scientist.com>
712
713         * gst/gstcaps.h:
714           Add extra initialisers for Caps things, to fix some plugin warnings
715           when using -Wextra
716
717 2006-09-18  Wim Taymans  <wim@fluendo.com>
718
719         * gst/gstghostpad.c: (gst_ghost_pad_new_full):
720           Also set template on the internal pad so that a getcaps from the 
721           target pad returns the template caps.
722
723 2006-09-18  Wim Taymans  <wim@fluendo.com>
724
725         * gst/gstelement.c: (gst_element_post_message),
726         (gst_element_dispose):
727         Use _DEBUG_OBJECT some more.
728
729         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
730         Avoid typechecks.
731
732         * tools/gst-launch.c: (main):
733         If the toplevel element is not a GstPipeline, it must be put in a
734         pipeline so that a bus and clock is selected.
735
736 2006-09-17  Tim-Philipp Müller  <tim at centricular dot net>
737
738         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
739           JITTER, RATE, and LATENCY query should be handled by the
740           default case and not by the CONVERT query code.
741
742 2006-09-17  Tim-Philipp Müller  <tim at centricular dot net>
743
744         * gst/gstformat.c: (gst_format_register):
745           Fix locking order (must take lock before using n_values).
746
747         * gst/gstvalue.c: (gst_value_serialize_enum),
748         (gst_value_deserialize_enum_iter_cmp),
749         (gst_value_deserialize_enum):
750           Fix serialisation/deserialisation of custom registered GstFormats.
751
752         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
753           Unit test for custom format serialisation/deserialisation.
754
755 2006-09-17  Stefan Kost  <ensonic@users.sf.net>
756
757         * docs/pwg/building-boiler.xml:
758         * plugins/elements/gstcapsfilter.c:
759         More G_OBJECT macro fixing. Also Fix some details on the plugin-stamp
760         section.
761
762 2006-09-16  Edward Hervey  <edward@fluendo.com>
763
764         * libs/gst/base/gstbasetransform.c:
765         (gst_base_transform_buffer_alloc):
766         Check if requested caps are the same as the sinks caps IF
767         ->have_same_caps is TRUE. If they are not, act as if have_same_caps
768         is FALSE.
769         This fixes the renegotiation issues stated in #352827.
770
771 2006-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
772
773         * configure.ac:
774         * docs/manual/advanced-autoplugging.xml:
775         * tests/examples/Makefile.am:
776         * tests/examples/manual/.cvsignore:
777         * tests/examples/manual/Makefile.am:
778         * tests/examples/manual/extract.pl:
779           Extract the manual examples again like we used to do.
780           Fix one of them.
781
782 2006-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
783
784         * win32/common/config.h:
785           update for version
786
787 2006-09-16  Stefan Kost  <ensonic@users.sf.net>
788
789         * gst/gsterror.c:
790           Documents how to receive errors.
791
792 2006-09-15  Wim Taymans  <wim@fluendo.com>
793
794         * tools/gst-launch.c: (sigint_handler_sighandler), (check_intr),
795         (event_loop), (main):
796         Added some comments here and there.
797         Post an application message when an interrupt is caught instead of doing
798         an uncontrolled state change.
799         Clean up the event loop.
800         Handle buffering messages, pause/resume the pipeline.
801         Make shutdown because of an interrupt more reliable.
802
803 2006-09-15  Wim Taymans  <wim@fluendo.com>
804
805         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
806         (gst_base_sink_wait_preroll), (gst_base_sink_do_sync),
807         (gst_base_sink_preroll_object):
808         Make sure that our internal state is correct when we commit our state
809         asynchronously. This solves a race where a state change to PLAYING
810         could cause the sink to remain blocked in preroll in some situations.
811
812 2006-09-15  Wim Taymans  <wim@fluendo.com>
813
814         * tools/gst-inspect.c: (print_element_properties_info),
815         (print_signal_info):
816         List flags as hex so it's easier to deal with.
817
818 2006-09-15  Wim Taymans  <wim@fluendo.com>
819
820         * docs/libs/gstreamer-libs-sections.txt:
821         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_preroll),
822         (gst_base_sink_do_sync):
823         * libs/gst/base/gstbasesink.h:
824         Expose logic to wait for preroll so that subclasses such as audiosink
825         can also use this method.
826         API: gst_base_sink_wait_preroll()
827
828 2006-09-15  Wim Taymans  <wim@fluendo.com>
829
830         * gst/gstobject.c: (gst_object_set_parent):
831         * gst/gstpipeline.c: (do_pipeline_seek):
832         Small cleanups in docs and code.
833
834         * gst/gstsegment.c: (gst_segment_clip):
835         * tests/check/gst/gstsegment.c: (GST_START_TEST):
836         if stop == start and start is in the segment, no clipping should be
837         done. Also add a test for this.
838
839 2006-09-15  Wim Taymans  <wim@fluendo.com>
840
841         * docs/design/part-buffering.txt:
842         * docs/gst/gstreamer-sections.txt:
843         * gst/gstmessage.c: (gst_message_new_buffering),
844         (gst_message_parse_buffering):
845         * gst/gstmessage.h:
846         Added methods to create and parse BUFFERING messages.
847         Added preliminary docs about buffering.
848         API: gst_message_new_buffering
849         API: gst_message_parse_buffering
850
851 2006-09-06  Wim Taymans  <wim@fluendo.com>
852
853         * gst/gstbin.c:
854         Update documentation.
855
856         * gst/gstelement.c: (gst_element_class_init),
857         (gst_element_release_request_pad), (gst_element_set_clock),
858         (gst_element_get_index), (gst_element_add_pad),
859         (gst_element_remove_pad), (gst_element_get_random_pad),
860         (gst_element_send_event), (gst_element_get_query_types),
861         (gst_element_query), (gst_element_post_message),
862         (gst_element_message_full), (gst_element_continue_state),
863         (gst_element_lost_state), (gst_element_save_thyself),
864         (gst_element_restore_thyself):
865         Documentation updates.
866         Rename last bit of the new-pad -> pad-added signal rename.
867         Fix the case where an element query would only work if the source
868         pad was linked.
869         Avoid some useless type checking in message handling.
870
871         * gst/gstevent.c:
872         * gst/gstevent.h:
873         * gst/gstutils.c:
874         Documentation updates.
875
876 2006-09-14  Thomas Vander Stichele  <thomas at apestaart dot org>
877
878         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
879           add an INFO line for when we actually update the fd
880
881 2006-09-14  Thomas Vander Stichele  <thomas at apestaart dot org>
882
883         * configure.ac:
884           back to TRUNK
885
886 === release 0.10.10 ===
887
888 2006-09-14  Thomas Vander Stichele <thomas at apestaart dot org>
889
890         * configure.ac:
891           releasing 0.10.10, "Pais"
892
893 2006-09-05  Tim-Philipp Müller  <tim at centricular dot net>
894
895         * docs/manual/advanced-position.xml:
896           Fix typo in sample code.
897
898 2006-09-05  Wim Taymans  <wim@fluendo.com>
899
900         * libs/gst/net/gstnetclientclock.c: (inet_aton),
901         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
902         (gst_net_client_clock_do_select), (gst_net_client_clock_new):
903         * libs/gst/net/gstnetclientclock.h:
904         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
905         * libs/gst/net/gstnettimepacket.h:
906         * libs/gst/net/gstnettimeprovider.c: (inet_aton),
907         (gst_net_time_provider_init), (gst_net_time_provider_finalize),
908         (gst_net_time_provider_thread), (gst_net_time_provider_new):
909         * libs/gst/net/gstnettimeprovider.h:
910         Make stuff compile on windows. Fixes #345295.
911
912 2006-09-03  Tim-Philipp Müller  <tim at centricular dot net>
913
914         * gst/gst.c: (ensure_current_registry_forking):
915           Print better details when child was terminated by signal.
916
917 2006-09-03  Tim-Philipp Müller  <tim at centricular dot net>
918
919         * gst/gstregistryxml.c: (gst_registry_xml_save_feature):
920           Print a warning rather than g_assert() if a plugin feature
921           is a URI handler but returns no protocols (#353976).
922
923 2006-09-02  Stefan Kost  <ensonic@users.sf.net>
924
925         * docs/random/moving-plugins:
926         Fix two typos.         
927
928 2006-09-01  Tim-Philipp Müller  <tim at centricular dot net>
929
930         * gst/gstinfo.c: (_gst_debug_nameof_funcptr):
931           Fix locking order, handle NULL function values properly.
932
933         * gst/gstinfo.h:
934           Fix docs.
935
936         * gst/gstpad.c: (gst_pad_buffer_alloc_unchecked):
937           Initialise variable before using it and fix debug statement to
938           print the address of the function rather than the address of the
939           variable on the stack holding the address of the function.
940
941 2006-09-01  Wim Taymans  <wim@fluendo.com>
942
943         * gst/gstghostpad.c: (gst_proxy_pad_do_event),
944         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_chain),
945         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
946         (gst_proxy_pad_set_target_unlocked), (gst_ghost_pad_parent_set),
947         (gst_ghost_pad_parent_unset),
948         (gst_ghost_pad_internal_do_activate_push),
949         (gst_ghost_pad_internal_do_activate_pull),
950         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
951         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
952         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
953         (gst_ghost_pad_new_full), (gst_ghost_pad_new_no_target),
954         (gst_ghost_pad_new), (gst_ghost_pad_new_from_template),
955         (gst_ghost_pad_new_no_target_from_template),
956         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
957         More cleanups.
958         Avoid needless typechecking in macros.
959         Since the internal pad is always present and never changes, there is
960         no need to locking or ref when retrieving it.
961         Improve debugging a bit.
962         Handle link errors when setting the target. Fixes #341029.
963
964 2006-09-01  Wim Taymans  <wim@fluendo.com>
965
966         * docs/libs/gstreamer-libs-sections.txt:
967         * docs/plugins/gstreamer-plugins-sections.txt:
968         Fix docs some more.
969
970         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
971         (gst_collect_pads_event):
972         * libs/gst/base/gstcollectpads.h:
973         Documentation updates.
974         Free queued buffer when removing a pad.
975
976 2006-08-31  Michael Smith  <msmith@fluendo.com>
977
978         * gst/gstutils.c: (gst_element_link_pads),
979         (gst_element_link_pads_filtered):
980           Ensure that we set a capsfilter to NULL if we failed to link it
981           when doing filtered linking, to avoid criticals.
982
983           No need to check for unreffing srcpad, which is explicly NULLed
984           above (a trivial code cleanup).
985
986 2006-08-31  Wim Taymans  <wim@fluendo.com>
987
988         * docs/design/part-gstghostpad.txt:
989         Update ascii art in documentation.
990
991         * gst/gstghostpad.c: (gst_proxy_pad_do_internal_link),
992         (gst_proxy_pad_set_target_unlocked), (gst_proxy_pad_init),
993         (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
994         (gst_ghost_pad_internal_do_activate_push),
995         (gst_ghost_pad_internal_do_activate_pull),
996         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
997         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
998         (gst_ghost_pad_dispose), (gst_ghost_pad_new_full),
999         (gst_ghost_pad_set_target):
1000         Small cleanups and leak fixes.
1001         Remove some checks now that the internal pad is never NULL.
1002         Fix the case where linking pads without a target would create nasty
1003         criticals. Fixes #341029.
1004         Don't assign a GstPadLinkReturn to a gboolean and mess up the return
1005         value of _set_target().
1006
1007         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
1008         (gst_ghost_pad_suite):
1009         Some more tests for creating and linking untargeted ghostpads.
1010
1011 2006-08-31  Edward Hervey  <edward@fluendo.com>
1012
1013         * docs/gst/gstreamer-sections.txt:
1014         * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps),
1015         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
1016         (gst_proxy_pad_dispose), (gst_ghost_pad_new_full),
1017         (gst_ghost_pad_new_no_target), (gst_ghost_pad_new),
1018         (gst_ghost_pad_new_from_template),
1019         (gst_ghost_pad_new_no_target_from_template):
1020         * gst/gstghostpad.h:
1021         Refactored *_new() functions.
1022         Templates are now used as a g_object_new() parameter.
1023         Use template in _do_getcaps() if we don't have a target.
1024         Small documentation cleanups.
1025         Added two new constructors:
1026         gst_ghost_pad_new_from_template()
1027         gst_ghost_pad_new_no_target_from_template()
1028         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
1029         (gst_ghost_pad_suite):
1030         Added tests for new ghostpad instanciation functions.
1031
1032         API additions: gst_ghost_pad_new_from_template,
1033         gst_ghost_pad_new_no_target_from_template
1034
1035 2006-08-30  Stefan Kost  <ensonic@users.sf.net>
1036
1037         * docs/random/ensonic/profiling.txt:
1038           Ideas about qos profiling.
1039
1040 2006-08-29  Wim Taymans  <wim@fluendo.com>
1041
1042         * gst/gstcaps.c: (gst_caps_structure_is_subset_field):
1043         Code cleanups.
1044         Fix memleak.
1045
1046 2006-08-29  Tim-Philipp Müller  <tim at centricular dot net>
1047
1048         * gst/gstxml.c:
1049           Improve and detypofy docs.
1050
1051         * tests/check/Makefile.am:
1052         * tests/check/gst/.cvsignore:
1053         * tests/check/gst/gstxml.c: (GST_START_TEST), (gst_xml_suite):
1054           Add a basic test suite for GstXML.
1055
1056 2006-08-29  Wim Taymans  <wim@fluendo.com>
1057
1058         * gst/gstelement.c: (activate_pads), (clear_caps),
1059         (iterator_activate_fold_with_resync), (gst_element_pads_activate):
1060         Clear the pad caps when the element shut down all of the pads and
1061         is not streaming data that could modify the caps. 
1062         Fixes #352958.
1063
1064 2006-08-28  Michael Smith  <msmith@fluendo.com>
1065
1066         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
1067           Revert previous change; I misunderstood single-segment mode.
1068
1069 2006-08-28  Michael Smith  <msmith@fluendo.com>
1070
1071         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
1072           Unset DISCONT on buffers when using single-segment mode.
1073
1074 2006-08-28  Wim Taymans  <wim@fluendo.com>
1075
1076         * gst/gstcaps.c: (gst_caps_merge_structure):
1077         * gst/gstcaps.h:
1078         Fix docs and indentation again.
1079
1080         * tests/check/gst/gstquery.c: (GST_START_TEST):
1081         Fix leak in tests and add some more tests.
1082
1083 2006-08-28  Edward Hervey  <edward@fluendo.com>
1084
1085         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
1086         Inform GstSegment of the last stop position in order for the current
1087         segment to have a proper duration if it doesn't have a specific stop
1088         position from which a duration could be calculated.
1089         This bug was noticeable when a non-flushing, non-update new segment was
1090         followed by another segment (all buffers from the new segment were being
1091         dropped).
1092
1093 2006-08-28  Wim Taymans  <wim@fluendo.com>
1094
1095         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
1096         Small comment update.
1097
1098         * plugins/elements/gstidentity.c: (gst_identity_class_init),
1099         (gst_identity_transform_ip):
1100         Drop-probability is broken, mention this in the code with a 
1101         FIXME and also in the property description.
1102         Make silent also be silent about the drop messages.
1103
1104 2006-08-28  Tim-Philipp Müller  <tim at centricular dot net>
1105
1106         * docs/manual/appendix-win32.xml:
1107           Remove mention of popt, we don't depend on that any
1108           longer (#353136). Add some comments pointing out that
1109           this section is slightly outdated.
1110
1111 2006-08-28  Wim Taymans  <wim@fluendo.com>
1112
1113         Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
1114
1115         * gst/gstquery.c: (gst_query_new_segment):
1116         * tests/check/gst/gstquery.c: (GST_START_TEST):
1117         Initialize variables when creating a new segment query.
1118         Fixes #353121.
1119
1120 2006-08-28  Wim Taymans  <wim@fluendo.com>
1121
1122         Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
1123
1124         * gst/gstelement.c: (gst_element_get_bus):
1125         * tests/check/gst/gstelement.c: (GST_START_TEST):
1126         Check for NULL before _reffing the bus. Fixes #353122.
1127
1128 2006-08-25  Tim-Philipp Müller  <tim at centricular dot net>
1129
1130         * docs/manual/basics-bus.xml:
1131           Docs update: fix wrong callback return value explanation; add
1132           some lines about the implicit relationship between main loop
1133           and main context; remove duplicate main loop variable declaration.
1134
1135 2006-08-24  Tim-Philipp Müller  <tim at centricular dot net>
1136
1137         * tests/check/gst/gstcaps.c: (GST_START_TEST):
1138           Don't leak caps in unit test; add a few more simple
1139           checks. 
1140
1141 2006-08-24  Stefan Kost  <ensonic@users.sf.net>
1142
1143         * docs/gst/gstreamer-sections.txt:
1144         * gst/gstcaps.c: (gst_caps_structure_is_subset_field),
1145         (gst_caps_structure_is_subset), (gst_caps_merge),
1146         (gst_caps_merge_structure):
1147         * gst/gstcaps.h:
1148         * libs/gst/base/gstbasetransform.c:
1149         (gst_base_transform_transform_caps):
1150         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
1151           implement caps merging (fixes #352580)
1152
1153 2006-08-23  Stefan Kost  <ensonic@users.sf.net>
1154
1155         * tools/Makefile.am:
1156         * tools/gst-plot-timeline.py:
1157           add debug-log plotting developer tool (#340674)
1158
1159 2006-08-23  Wim Taymans  <wim@fluendo.com>
1160
1161         * gst/gstpad.c: (gst_pad_start_task), (gst_pad_pause_task),
1162         (gst_pad_stop_task):
1163         Improve debugging for task functions.
1164
1165         * gst/gsttask.c: (gst_task_func), (gst_task_set_lock),
1166         (gst_task_start), (gst_task_pause), (gst_task_join):
1167         Make sure that the task function started and finished after a 
1168         join(). 
1169         Don't try to push the task function on the threadpool multiple
1170         times.
1171         Improve the g_warning message with some useful suggestions
1172         about how to fix the problem. 
1173
1174 2006-08-23  Wim Taymans  <wim@fluendo.com>
1175
1176         * gst/gstutils.c: (gst_pad_proxy_getcaps):
1177         Handle RESYNC correctly in _proxy_getcaps.
1178
1179 2006-08-21  Tim-Philipp Müller  <tim at centricular dot net>
1180
1181         * gst/gstxml.c: (gst_xml_dispose), (gst_xml_parse_file),
1182         (gst_xml_parse_memory), (gst_xml_get_element):
1183           Chain up to parent class in dispose function and also
1184           unref the elements in the toplevel_elements GList.
1185           Don't leak XmlDocPtr in _parse_file() and _parse_memory().
1186           Always return a reference in gst_xml_get_element() rather
1187           than only sometimes.
1188
1189         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
1190           Don't leak GstXml object.
1191
1192 2006-08-21  Stefan Kost  <ensonic@users.sf.net>
1193
1194         * docs/gst/gstreamer-sections.txt:
1195         * gst/gstcaps.c: (gst_structure_is_equal_foreach),
1196         (gst_caps_merge):
1197         * gst/gstcaps.h:
1198         * libs/gst/base/gstbasetransform.c:
1199         (gst_base_transform_transform_caps):
1200           API: Add gst_caps_merge() and use it in basetransform, fixes #345444
1201           in a better way
1202
1203 2006-08-21  Edward Hervey  <edward@fluendo.com>
1204
1205         * gst/gstxml.c: (gst_xml_class_init), (gst_xml_dispose):
1206         Implement GObject::dispose virtual method in GstXML so we can free the
1207         top_elements GList.
1208
1209 2006-08-21  Wim Taymans  <wim@fluendo.com>
1210
1211         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable),
1212         (gst_buffer_create_sub):
1213         Copy duration/offset_end/caps when creating a subbuffer of the
1214         complete parent.
1215         Make the subbuffer read-only when we make the metadata writable for
1216         now. Fixes #351768.
1217
1218         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
1219         Added check for metadata copy when creating subbuffers.
1220
1221 2006-08-21  Edward Hervey  <edward@fluendo.com>
1222
1223         * libs/gst/base/gstbasetransform.c:
1224         (gst_base_transform_buffer_alloc):
1225         Only call downstream buffer_alloc if transform element is passthrough
1226         or always_in_place. Closes #350449.
1227
1228 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
1229
1230         * ChangeLog:
1231           ChangeLog surgery to add comments to previous changes
1232
1233 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
1234
1235         * gst/gst.c:
1236           Add comments
1237
1238         * gst/gstpad.c: (gst_pad_set_active):
1239           Be more verbose in the log
1240
1241         * libs/gst/base/gstbasetransform.c:
1242         (gst_base_transform_transform_caps):
1243           Simplify caps to get rid of duplicates, fixes #345444
1244
1245 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
1246
1247         * gst/gstvalue.c:
1248         * gst/gstvalue.h:
1249           Use these optimizations only internally.
1250
1251 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
1252
1253         * gst/gstvalue.c: (gst_value_compare_list),
1254         (gst_value_compare_fraction_range),
1255         (gst_value_intersect_fraction_fraction_range),
1256         (gst_value_intersect_fraction_range_fraction_range),
1257         (gst_value_subtract_fraction_fraction_range),
1258         (gst_value_subtract_fraction_range_fraction_range),
1259         (gst_value_get_compare_func), (gst_value_compare),
1260         (gst_value_compare_with_func):
1261         * gst/gstvalue.h:
1262           Saves the expensive lookup of the compare function in many cases
1263          (#345444)
1264
1265 2006-08-18  Edward Hervey  <edward@fluendo.com>
1266
1267         * tests/check/gst/gstinfo.c: (gst_info_suite):
1268         Disable test that require gstdebug if it wasn't built in core.
1269
1270 2006-08-18  Stefan Kost  <ensonic@users.sf.net>
1271
1272         * docs/random/ensonic/logging.txt:
1273           update ideas
1274           
1275         * gst/gstinfo.c: (gst_debug_log_default):
1276           reorder fields, save some columns, add optional color codes for log
1277           levels
1278
1279 2006-08-18  Stefan Kost  <ensonic@users.sf.net>
1280
1281         * docs/random/ensonic/logging.txt:
1282           add ideas about making the logs a bit more useful
1283
1284 2006-08-17  Tim-Philipp Müller  <tim at centricular dot net>
1285
1286         * docs/pwg/advanced-events.xml:
1287         * docs/pwg/titlepage.xml:
1288           Update for 0.10 API (#340627). Add myself
1289           to authors list.
1290
1291 2006-08-17  Tim-Philipp Müller  <tim at centricular dot net>
1292
1293         * docs/libs/gstreamer-libs-docs.sgml:
1294         * docs/libs/gstreamer-libs-sections.txt:
1295         * libs/gst/check/gstbufferstraw.c:
1296           Make gstcheck stuff show up in docs (still needs to
1297           be documented properly though).
1298
1299 2006-08-16  Jan Schmidt  <thaytan@mad.scientist.com>
1300
1301         * docs/gst/gstreamer-sections.txt:
1302         * gst/Makefile.am:
1303         * gst/gst.c: (init_post):
1304         * gst/gst_private.h:
1305         * gst/gstquark.c: (_priv_gst_quarks_initialize):
1306         * gst/gstquark.h:
1307         * gst/gstquery.c: (gst_query_new_position),
1308         (gst_query_set_position), (gst_query_parse_position),
1309         (gst_query_new_duration), (gst_query_set_duration),
1310         (gst_query_parse_duration), (gst_query_new_convert),
1311         (gst_query_set_convert), (gst_query_parse_convert),
1312         (gst_query_new_segment), (gst_query_set_segment),
1313         (gst_query_parse_segment), (gst_query_new_seeking),
1314         (gst_query_set_seeking), (gst_query_parse_seeking):
1315         Add internal helpers for pre-registering quarks from static strings
1316         and using the quark values directly instead of looking them up when
1317         creating and parsing queries. Can be used for event construction too.
1318         Closes #350432.
1319
1320 2006-08-16  Wim Taymans  <wim@fluendo.com>
1321
1322         * gst/gstbin.c:
1323         Fix bogus docs.
1324
1325 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
1326
1327         * gst/gstutils.c: (gst_util_set_value_from_string):
1328           Fix memleak (#351502).
1329
1330         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1331           Add unit test for most of gst_util_set_value_from_string()
1332           (not that one would want to encourage use of this function).
1333
1334 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
1335
1336         * libs/gst/check/gstcheck.h:
1337           Use const gchar * variables in fail_unless_equals_string
1338           macro to avoid compiler warnings (and don't use tabs for
1339           indenting).
1340
1341 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
1342
1343         * tools/gst-launch.c: (print_tag):
1344           More space on the left for the tag names, to cater
1345           for the 'extended comment' tag (not touching the
1346           string for the first line since it's translated).
1347
1348 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
1349
1350         * libs/gst/check/gstcheck.h:
1351           Fix ASSERT_CRITICAL and ASSERT_WARNING macros to actually
1352           print something when they fail.
1353
1354 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
1355
1356         * docs/gst/gstreamer-sections.txt:
1357         * gst/gsttaglist.c: (_gst_tag_initialize):
1358         * gst/gsttaglist.h:
1359           API: add GST_TAG_EXTENDED_COMMENT (#350935).
1360           Also change merge function for GST_TAG_COMMENT to
1361           use_first.
1362
1363 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
1364
1365         * gst/gstinfo.c: (gst_debug_print_object):
1366           Make GST_PTR_FORMAT print messages as well.
1367
1368         * tests/check/gst/gstinfo.c: (printf_extension_log_func),
1369         (GST_START_TEST), (gst_info_suite):
1370           More tests.
1371
1372 2006-08-14  Edward Hervey  <edward@fluendo.com>
1373
1374         * gst/gstelementfactory.c: (gst_element_register):
1375         If the GstElementClass doesn't have a GstElementDetails with all fields
1376         filled up correctly (longname, description AND author), then error out
1377         nicely instead of crashing.
1378
1379 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
1380
1381         * gst/gststructure.c:
1382           Fix typo in docs and re-wrap docs blurb to not exceed 80 chars/line.
1383
1384         * gst/gstvalue.h:
1385           Expand on the difference between arrays and lists as we use them.
1386           
1387 2006-08-14  Wim Taymans  <wim@fluendo.com>
1388
1389         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
1390         If the parent state change function failed, don't assume we can safely
1391         stop the source, this will be done when the pads are deactivated.
1392
1393 2006-08-14  Wim Taymans  <wim@fluendo.com>
1394
1395         * gst/gstbuffer.c:
1396         * gst/gsttask.c: (gst_task_join):
1397         Small doc updates.
1398
1399         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
1400         (gst_pad_stop_task):
1401         When pad (de)activation failed for some reason, restore the old
1402         activation mode and set the pad to flushing instead of assuming the
1403         pad is deactivated.
1404         If the _task_join() failed, reinstall the task on the pad so that it can
1405         be stopped later and return an error.
1406
1407 2006-08-11  Andy Wingo  <wingo@pobox.com>
1408
1409         * configure.ac:
1410         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
1411         * tests/check/libs/gdp.c: (gst_dp_suite): GST_DISABLE_DEPRECATED
1412         is only for users of API that don't want to see deprecated
1413         functions in the headers; people that want to compile out
1414         deprecated code should pass -DGST_REMOVE_DEPRECATED into the
1415         CFLAGS. Fixes the build of multifdsink, or will soon..
1416
1417 2006-08-11  Wim Taymans  <wim@fluendo.com>
1418
1419         * docs/gst/gstreamer-sections.txt:
1420         Add GstClockClass vmethod docs.
1421
1422         * gst/gstcaps.h:
1423         Mark #endif with comment for associated #if
1424
1425         * gst/gstclock.c: (gst_clock_id_wait):
1426         * gst/gstclock.h:
1427         Add vmethod wait_jitter to avoid an unneeded _get_time() for
1428         most clock implementations.
1429         Document vmethods.
1430         Flesh out docs about resolution methods.
1431         API: GstClockClass::wait_jitter
1432
1433         * gst/gstsystemclock.c: (gst_system_clock_class_init),
1434         (gst_system_clock_async_thread),
1435         (gst_system_clock_id_wait_jitter_unlocked),
1436         (gst_system_clock_id_wait_jitter):
1437         Use base class wait_jitter variant for improved performance
1438         due to less clock polling.
1439
1440 2006-08-11  Edward Hervey  <edward@fluendo.com>
1441
1442         * gst/gst.c: (gst_init_check), (init_post):
1443         Set gst as being initialized before scanning/updating the registry,
1444         since there might be my python plugin loader that calls gst_init() and
1445         we don't want to loop back in.
1446         Closes #350879
1447
1448 2006-08-11  Wim Taymans  <wim@fluendo.com>
1449
1450         * docs/design/part-qos.txt:
1451         Bring docs in line with the code. Mostly the sign of the jitter was
1452         wrong in the docs. Fixes #349943.
1453
1454         * gst/gstclock.c:
1455         Fix the docs for the jitter.
1456
1457         * gst/gstevent.c: (gst_event_new_custom), (gst_event_new_tag),
1458         (gst_event_parse_tag), (gst_event_new_buffer_size),
1459         (gst_event_parse_buffer_size), (gst_event_parse_qos),
1460         (gst_event_new_seek), (gst_event_parse_seek),
1461         (gst_event_new_navigation):
1462         Make sure the GstStructure has no parent when creating custom
1463         events.
1464         Add some more argument checking so that we avoid 0.0 rates.
1465         Flesh out the docs for the QoS event some more.
1466
1467 2006-08-11  Wim Taymans  <wim@fluendo.com>
1468
1469         * docs/gst/gstreamer-sections.txt:
1470         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
1471         (ensure_current_registry_forking), (ensure_current_registry),
1472         (parse_one_option), (parse_goption_arg), (gst_deinit),
1473         (gst_registry_fork_is_enabled), (gst_registry_fork_set_enabled):
1474         * gst/gst.h:
1475         Doc updates.
1476         Added API and command line option to disable registry forking in
1477         addition to the environment variable.
1478         Constify some static arrays.
1479         Added some more debug.
1480         Don't deinit twice.
1481         API: gst_registry_fork_is_enabled()
1482         API: gst_registry_fork_set_enabled()
1483         API: --gst-disable-registry-fork command line option
1484         Fixes #348918.
1485
1486 2006-08-11  Tim-Philipp Müller  <tim at centricular dot net>
1487
1488         * gst/gst.c: (gst_init):
1489           Fix typo in error message.
1490
1491 2006-08-10  Stefan Kost  <ensonic@users.sf.net>
1492
1493         * libs/gst/controller/gstcontroller.h:
1494           fix ABI size-correction
1495
1496         * tests/check/libs/gdp.c: (gst_dp_suite):
1497           make tests that use deprecated API conditional
1498
1499 2006-08-10  Stefan Kost  <ensonic@users.sf.net>
1500
1501         * docs/libs/gstreamer-libs-sections.txt:
1502         * libs/gst/controller/gstcontroller.c:
1503         (_gst_controller_get_property), (_gst_controller_set_property),
1504         (_gst_controller_init), (_gst_controller_class_init):
1505         * libs/gst/controller/gstcontroller.h:
1506         * libs/gst/controller/gsthelper.c: (gst_object_get_control_rate),
1507         (gst_object_set_control_rate):
1508           API: add gst_object_{s,g}et_control_rate(), add private data section,
1509           fix docs
1510
1511         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
1512         * libs/gst/dataprotocol/dataprotocol.h:
1513           add deprecation guards to make gtk-doc happy and allow disabling cruft
1514
1515 2006-08-09  Tim-Philipp Müller  <tim at centricular dot net>
1516
1517         * tests/check/Makefile.am:
1518         * tests/check/gst/.cvsignore:
1519           Let's enable the new unit test as well.
1520
1521 2006-08-08  Tim-Philipp Müller  <tim at centricular dot net>
1522
1523         * configure.ac:
1524         * docs/gst/gstreamer-sections.txt:
1525         * gst/gstconfig.h.in:
1526         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_print_segment),
1527         (_gst_info_printf_extension_ptr),
1528         (_gst_info_printf_extension_segment):
1529           API: add GST_SEGMENT_FORMAT, which is a printf extension we
1530           register that lets us easily dump GstSegments into debug
1531           logs (#350419).
1532
1533         * tests/check/gst/gstinfo.c: (segment_printf_extension_log_func),
1534         (info_segment_format_printf_extension), (gst_info_suite):
1535           Add simple unit test that logs a bunch of different segments (not
1536           valgrinded at the moment because of leaks in
1537           gst_debug_add_log_function).
1538
1539 2006-08-09  Edward Hervey  <edward@fluendo.com>
1540
1541         * libs/gst/base/gstbasetransform.c:
1542         (gst_base_transform_buffer_alloc):
1543         Even if we can't figure out the proper format to request downstream,
1544         call buffer_alloc() downstream with the input parameters without setting
1545         the caps on the srcpad. This will force negotiation in the chain
1546         function.
1547         Closes #350449
1548
1549 2006-08-08  Edward Hervey  <edward@fluendo.com>
1550
1551         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
1552         Unlinking from a pad without a target is now a perfectly valid case
1553         which should NOT raise an assertion.
1554         This case would happen if a linked ghostpad its target set to NULL after
1555         it was previously linked.
1556
1557 2006-08-08  Edward Hervey  <edward@fluendo.com>
1558
1559         * tests/check/libs/gdp.c:
1560         Also comment out the test (see below).
1561
1562 2006-08-08  Edward Hervey  <edward@fluendo.com>
1563
1564         * tests/check/libs/gdp.c: (gst_dp_suite):
1565         Use the architecture information from config.h and not gcc macros
1566         in order to properly disable a test that fails on PPC64.
1567
1568 2006-08-04  Tim-Philipp Müller  <tim at centricular dot net>
1569
1570         * gst/gstelement.c: (gst_element_remove_pad):
1571           Don't crash printing the warning if the pad has no parent.
1572
1573 2006-08-02  Wim Taymans  <wim@fluendo.com>
1574
1575         * libs/gst/dataprotocol/dataprotocol.c:
1576         (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
1577         (gst_dp_crc), (gst_dp_header_payload_length),
1578         (gst_dp_header_payload_type), (gst_dp_packet_from_event),
1579         (gst_dp_packet_from_event_1_0), (gst_dp_buffer_from_header),
1580         (gst_dp_caps_from_packet), (gst_dp_event_from_packet_0_2),
1581         (gst_dp_event_from_packet), (gst_dp_validate_header),
1582         (gst_dp_validate_payload):
1583         Make debug category static
1584         Constify the crc table.
1585         Do some more arg checking in public functions.
1586         Fix some docs and do some small cleanups.
1587
1588         * tests/check/libs/gdp.c: (GST_START_TEST), (gst_dp_suite):
1589         Add some more checks to see if GDP deals with bogus input.
1590
1591 2006-07-31  Wim Taymans  <wim@fluendo.com>
1592
1593         * gst/gstvalue.c: (gst_value_compare_list):
1594         Fix GstValueList comparison code. Fixes #347293.
1595
1596         * tests/check/gst/gstvalue.c: (GST_START_TEST):
1597         Check to test GstValueList comparison.
1598
1599 2006-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
1600
1601         * gst/gstelementfactory.c: (gst_element_factory_create):
1602         Remove unnecessary ref/unref pair
1603
1604         * gst/parse/grammar.y:
1605         Make sure to free the parse buffer on all code paths.
1606         Move a g_free up to the error handler where it's easier to see.
1607
1608         * tests/check/gst/gstevent.c: (test_event):
1609         Extending timeout for downstream travelling events to 10 seconds to
1610         hopefully avoid intermittent failure on the buildbots.
1611
1612         * tests/check/pipelines/parse-launch.c: (run_delayed_test):
1613         Don't manually set the state of the src element - it will happen as a
1614         natural consequence of the pipeline changing state, and that way it
1615         will do it in the right order too.
1616
1617 2006-07-31  Wim Taymans  <wim@fluendo.com>
1618
1619         * libs/gst/base/gstbasetransform.c:
1620         (gst_base_transform_buffer_alloc):
1621         Use OBJECT_LOCK and refcounting to get the pad caps in the
1622         buffer_alloc function because the caps could change while we are
1623         busy with them. Fixes #349105
1624
1625 2006-07-31  Wim Taymans  <wim@fluendo.com>
1626
1627         * gst/gstutils.c: (gst_pad_get_fixed_caps_func):
1628         Protect _PAD_CAPS with OBJECT_LOCK.
1629
1630 2006-07-31  Wim Taymans  <wim@fluendo.com>
1631
1632         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
1633         (gst_pad_get_property), (gst_pad_activate_pull),
1634         (gst_pad_activate_push), (gst_pad_set_blocked_async),
1635         (gst_pad_set_activate_function),
1636         (gst_pad_set_activatepull_function),
1637         (gst_pad_set_activatepush_function), (gst_pad_set_chain_function),
1638         (gst_pad_set_getrange_function),
1639         (gst_pad_set_checkgetrange_function), (gst_pad_set_event_function),
1640         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
1641         (gst_pad_set_internal_link_function), (gst_pad_set_link_function),
1642         (gst_pad_set_unlink_function), (gst_pad_set_getcaps_function),
1643         (gst_pad_set_acceptcaps_function),
1644         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
1645         (gst_pad_set_bufferalloc_function), (gst_pad_link_check_hierarchy),
1646         (gst_pad_get_caps_unlocked), (gst_pad_get_caps),
1647         (gst_pad_peer_get_caps), (gst_pad_accept_caps),
1648         (gst_pad_peer_accept_caps), (gst_pad_set_caps),
1649         (gst_pad_configure_sink), (gst_pad_configure_src),
1650         (gst_pad_get_allowed_caps), (gst_pad_get_negotiated_caps),
1651         (gst_pad_buffer_alloc_unchecked), (gst_pad_alloc_buffer_full),
1652         (gst_pad_query), (gst_pad_load_and_link), (handle_pad_block),
1653         (gst_pad_chain_unchecked), (gst_pad_push), (gst_pad_get_range),
1654         (gst_pad_send_event):
1655         Use _DEBUG_OBJECT when it makes sense.
1656         Protect GST_PAD_CAPS with the OBJECT_LOCK.
1657         Small cleanups and code reflows.
1658         Avoid caps refcounting in _accept_caps.
1659         Refactor alloc_buffer so that the code performed on the peer is in a
1660         separate function. Also if the pad does not implement a buffer alloc
1661         function, we should still check if the pad is flushing before falling
1662         back to the default allocator.
1663
1664 2006-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
1665
1666         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
1667         Make all uses of identity and fakesink have silent=true to avoid
1668         serialising every passing data structure, which is breaking tests
1669         on FC4 for some unknown reason.
1670
1671 2006-07-30  Stefan Kost  <ensonic@users.sf.net>
1672
1673         * gst/parse/Makefile.am:
1674         * gst/parse/grammar.y:
1675         * gst/parse/parse.l:
1676           Reverted previous patch as it required to bump the flex dependency to
1677           2.5.31, where fc4/5 seem to ship only the ancient 2.5.4a :(
1678
1679 2006-07-30  Stefan Kost  <ensonic@users.sf.net>
1680
1681         Patch by: Marc-Andre Lureau <marcandre.lureau@gmail.com>
1682
1683         * gst/parse/Makefile.am:
1684         * gst/parse/grammar.y:
1685         * gst/parse/parse.l:
1686           push & pop the state of the lexer for reentrant use case
1687           Fixes #349180
1688
1689 2006-07-29  Tim-Philipp Müller  <tim at centricular dot net>
1690
1691         * libs/gst/base/gstbasesrc.h:
1692           Note in the docs that the ::newsegment vfunc is not actually used by
1693           GstBaseSrc.
1694
1695 2006-07-28  Wim Taymans  <wim@fluendo.com>
1696
1697         * libs/gst/base/gstcollectpads.c:
1698         (gst_collect_pads_set_flushing_unlocked), (gst_collect_pads_pop),
1699         (gst_collect_pads_clear), (gst_collect_pads_flush),
1700         (gst_collect_pads_event), (gst_collect_pads_chain):
1701         When flushing a pad, also clear the queued buffer so that we don't
1702         accidentally use it when we shouldn't.
1703         Fix leaks by inreffing incomming buffer.
1704         Flush out queued buffers in case of errors.
1705         Fixes #347452.
1706
1707 2006-07-28  Wim Taymans  <wim@fluendo.com>
1708
1709         * docs/random/phonon-gst:
1710         Random notes about a Phonon backend.
1711
1712 2006-07-27  Jan Schmidt  <thaytan@mad.scientist.com>
1713
1714         * libs/gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
1715         Extra debug output
1716         * tests/check/libs/gdp.c: (gst_dp_suite):
1717         Take a whack at fixing the ppc compile using a different define to
1718         disable the broken test.
1719
1720         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
1721         Remove excess g_print()
1722
1723 2006-07-27  Jan Schmidt <thaytan@mad.scientist.com>
1724
1725         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
1726         Oops, meant to uncomment this line too to dampen the noise a bit.
1727
1728 2006-07-27  Jan Schmidt <thaytan@mad.scientist.com>
1729
1730         * gst/parse/grammar.y:
1731         * gst/parse/parse.l:
1732         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
1733         (GST_START_TEST), (parse_suite):
1734         Fix some of the leaks exposed by extending the parse-launch testsuite,
1735         and move the 3 I can't figure out into a separate test that won't run
1736         the pipelines unless the appropriate line is uncommented.
1737
1738 2006-07-27  Tim-Philipp Müller  <tim at centricular dot net>
1739
1740         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
1741           Requesting 0 bytes before the end of the file should result in
1742           FLOW_OK and an empty buffer, not FLOW_UNEXPECTED. Thank you
1743           unit test.
1744
1745 2006-07-27  Wim Taymans  <wim@fluendo.com>
1746
1747         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_get_structure):
1748         Fix useless assert, a uint is always positive.
1749
1750         * gst/gststructure.c: (gst_structure_nth_field_name),
1751         (gst_structure_foreach), (gst_structure_map_in_place):
1752         Check input arguments for public functions to avoid obvious crashes.
1753
1754         * plugins/elements/gstfakesink.c: (gst_fake_sink_render):
1755         * plugins/elements/gstfakesink.h:
1756         Do less useless typechecking.
1757
1758 2006-07-27  Tim-Philipp Müller  <tim at centricular dot net>
1759
1760         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
1761           Do not use mmap() by default since there are a number of error
1762           conditions that we would like to handle in a non-fatal way that
1763           will result in a SIGBUS if we use mmap(). Examples: external
1764           devices (USB harddrive, portable music player) being unplugged
1765           while in use; file on mounted CD/DVD that can't be read because
1766           the medium is partly damaged. Fixes #348455 and #348475.
1767
1768 2006-07-27  Jan Schmidt  <thaytan@mad.scientist.com>
1769
1770         * gst/gstquery.h:
1771         Delete unused and misleading define of GST_QUERY_TYPE_RATE_DEN -
1772         rates are a gdouble
1773
1774 2006-07-26  Stefan Kost  <ensonic@users.sf.net>
1775
1776         * gst/gstregistry.c:
1777           Move big documentation comment into class section header, so that it
1778           appears in the API docs.
1779
1780 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
1781
1782         * docs/gst/gstreamer-sections.txt:
1783         Oops. Commit the docs additions too for new API.
1784         Also, remove the mention of the non-existent GST_QUERY_TYPE_RATE_DEN
1785
1786 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
1787
1788         * gst/gststructure.c: (gst_structure_id_set),
1789         (gst_structure_id_set_valist):
1790         * gst/gststructure.h:
1791         Add API for setting values into structures without performing
1792         a quark lookup, if the appropriate quark is already known.
1793
1794         API: gst_structure_id_set
1795         API: gst_structure_id_set_valist
1796
1797         * gst/parse/grammar.y:
1798         * gst/parse/parse.l:
1799         Remove some dead code shown by the coverage information.
1800         Don't throw a critical g_warning when encountering a syntax error,
1801         just warn and let the normal error path handle it.
1802
1803         * plugins/elements/gstelements.c:
1804         Bump the rank of filesink up to PRIMARY so that it is preferred over
1805         gnomevfssink for file:// sink uri's
1806
1807         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
1808         (GST_START_TEST), (run_delayed_test),
1809         (gst_parse_test_element_base_init),
1810         (gst_parse_test_element_class_init), (gst_parse_test_element_init),
1811         (gst_parse_test_element_change_state),
1812         (gst_register_parse_element), (parse_suite):
1813         Beef up the tests for parse syntax to check that more error cases
1814         fail as they are supposed to. Increases the test coverage a bit.
1815
1816 2006-07-26  Tim-Philipp Müller  <tim at centricular dot net>
1817
1818         * docs/manual/basics-elements.xml:
1819           Fix gst_element_link() example.
1820
1821         * gst/gstutils.c:
1822           Mention in API docs that one should usually gst_bin_add()
1823           elements to a bin or pipeline before doing the linking.
1824           
1825 2006-07-26  Wim Taymans  <wim@fluendo.com>
1826
1827         * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_new),
1828         (gst_subbuffer_get_type), (gst_buffer_create_sub):
1829         Avoid function call for known types by keeping the buffer and
1830         subbuffer GType global.
1831
1832         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
1833         Random silly optimisations in read() path.
1834
1835 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
1836
1837         * tools/gst-launch.c: (main):
1838           If the top-level of the parse is a normal bin, it doesn't do the
1839           right logic to run as a top-level element, so place it inside a
1840           pipeline.
1841
1842 2006-07-25  Tim-Philipp Müller  <tim at centricular dot net>
1843
1844         * plugins/elements/gstfilesrc.c: (gst_file_src_set_property):
1845           Remove superfluous g_object_notify() calls, GObject does
1846           that for us automatically.
1847
1848 2006-07-25  Stefan Kost  <ensonic@users.sf.net>
1849
1850         * gst/gstinfo.h:
1851           on Win32, use dllspec to export the debug category symbols
1852
1853 2006-07-24  Tim-Philipp Müller  <tim at centricular dot net>
1854
1855         * gst/gsttaglist.c: (_gst_tag_initialize):
1856           Allow more than one GST_TAG_IMAGE per taglist.
1857
1858 2006-07-24  Thomas Vander Stichele  <thomas at apestaart dot org>
1859
1860         * gst/gstminiobject.c:
1861           update docs
1862         * plugins/elements/gstfdsrc.c: (gst_fd_src_set_property),
1863         (gst_fd_src_create):
1864           log recurring events at LOG level
1865           add more debug for when the fd gets set
1866
1867 2006-07-21  Stefan Kost  <ensonic@users.sf.net>
1868
1869         * gst/gstparse.c: (gst_parse_launch):
1870           Also remove reentrance checks if flex is MT safe (#348179)
1871          Fix my empty ChangeLog entry below
1872
1873 2006-07-21  Andy Wingo  <wingo@pobox.com>
1874
1875         * docs/libs/gstreamer-libs-sections.txt: Attempt to pacify buildbot.
1876
1877         * libs/gst/check/Makefile.am
1878         (libgstcheck_@GST_MAJORMINOR@include_HEADERS)
1879         (libgstcheck_@GST_MAJORMINOR@_la_SOURCES): 
1880         * libs/gst/check/gstbufferstraw.h:
1881         * libs/gst/check/gstbufferstraw.c: Add some new hype testing
1882         functions, thus proving I am still a GStreamer haxor. OK I wrote
1883         them a long time ago, but anyways.
1884
1885 2006-07-21  Stefan Kost  <ensonic@users.sf.net>
1886
1887         * configure.ac:
1888         * gst/gstparse.c: (gst_parse_launch):
1889           Check for flex version and omit mutex if we have a MT save flex
1890           (fixes #348179)
1891
1892 2006-07-21  Wim Taymans  <wim@fluendo.com>
1893
1894         * gst/gstparse.c: (gst_parse_launch):
1895         Protect recursive calls to _parse with a recursive mutex
1896         and busy flag.
1897
1898 2006-07-21  Wim Taymans  <wim@fluendo.com>
1899
1900         * tests/check/gst/gstpad.c: (GST_START_TEST):
1901         Fix leak in test.
1902
1903 2006-07-20  Stefan Kost  <ensonic@users.sf.net>
1904
1905         * gst/gstparse.c: (gst_parse_launch):
1906           Do not hang on recursive usage of gst_parse_launch()
1907
1908 2006-07-20  Tim-Philipp Müller  <tim at centricular dot net>
1909
1910         * gst/gsttaglist.c:
1911           Add some more docs, comments and FIXME 0.11s here and there
1912           and also fix some typos.
1913
1914 2006-07-20  Tim-Philipp Müller  <tim at centricular dot net>
1915
1916         * gst/gstsegment.h:
1917           Convert tabs to spaces for better readability. 
1918
1919 2006-07-20  Edward Hervey  <edward@fluendo.com>
1920
1921         * tests/check/libs/gdp.c: (gst_dp_suite):
1922         the test_buffer test fails at line 140 on ppc64 at the following
1923         check:
1924         fail_unless (GST_BUFFER_FLAG_IS_SET (newbuffer,
1925                 GST_BUFFER_FLAG_IN_CAPS),
1926                 "GST_BUFFER_IN_CAPS flag should have been copied !");
1927         See bug #348114 for more details.
1928
1929 2006-07-19  Tim-Philipp Müller  <tim at centricular dot net>
1930
1931         * docs/pwg/advanced-scheduling.xml:
1932         * gst/gstpad.c:
1933           Fix typos (#348000).
1934
1935 2006-07-18  Tim-Philipp Müller  <tim at centricular dot net>
1936
1937         * docs/pwg/intro-basics.xml:
1938           Fix wrong links (#347927).
1939
1940 2006-07-18  Stefan Kost  <ensonic@users.sf.net>
1941
1942         * gst/gstregistry.h:
1943         * gst/gstregistryxml.c: (load_feature),
1944         (gst_registry_xml_read_cache), (gst_registry_xml_save_feature):
1945         * win32/common/config.h:
1946           make --disable-index work (#342564)
1947
1948 2006-07-18  Wim Taymans  <wim@fluendo.com>
1949
1950         Patch by: Peter Kjellerstedt <pkj at axis dot com>
1951
1952         * gst/Makefile.am:
1953         * gst/gsttrace.h:
1954         The attached patch adds two missing defines to gsttrace.h when tracing
1955         is disabled.  It also corrects one existing define.
1956         Fixes #347756.
1957
1958 2006-07-17  Wim Taymans  <wim@fluendo.com>
1959
1960         * docs/gst/gstreamer-sections.txt:
1961         * gst/gst.c: (gst_segtrap_is_enabled), (gst_segtrap_set_enabled):
1962         * gst/gst.h:
1963         * gst/gstplugin.c: (_gst_plugin_fault_handler_restore):
1964         Add two functions to check and change the SIGSEGV behaviour
1965         when loading plugins.
1966         Don't mess with the SIGSEGV handler when we were told not to.
1967         Fixes #347794.
1968         API: gst_segtrap_is_enabled
1969         API: gst_segtrap_set_enabled
1970
1971 2006-07-14  Wim Taymans  <wim@fluendo.com>
1972
1973         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
1974         * tests/check/elements/filesrc.c: (GST_START_TEST):
1975         Revert fix for regression in #347408 after release.
1976
1977 2006-07-14  Tim-Philipp Müller  <tim at centricular dot net>
1978
1979         Patch by: Antoine Tremblay <hexa00 at gmail com>
1980
1981         * gst/gstutils.c: (gst_element_unlink):
1982           Free iterator when done (#347311).
1983
1984         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1985           And add a test case for this.
1986
1987 2006-07-14  Jan Schmidt  <thaytan@mad.scientist.com>
1988
1989         * configure.ac:
1990         Bump nano back to CVS
1991
1992 === release 0.10.9 ===
1993
1994 2006-07-13  Jan Schmidt <thaytan@mad.scientist.com>
1995
1996         * configure.ac:
1997           releasing 0.10.9, "On the road again"
1998
1999 2006-07-13  Wim Taymans  <wim@fluendo.com>
2000
2001         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
2002         * tests/check/elements/filesrc.c: (GST_START_TEST):
2003         Revert pull-0 fix for release. Disable check. Fixes #347408.
2004
2005 2006-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
2006
2007         * libs/gst/dataprotocol/dataprotocol.c:
2008         (gst_dp_event_from_packet_1_0):
2009           Fixes #347337: failure to deserialize event packets with
2010           empty payload (only event type)
2011
2012 2006-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
2013
2014         * gst/Makefile.am:
2015           do not install a .c file in the header directory
2016
2017 2006-07-13  Edward Hervey  <edward@fluendo.com>
2018
2019         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
2020         GhostPad no longer implicitely use the padtemplates of the targets.
2021         Fixes #347384
2022
2023 2006-07-11  Jan Schmidt  <thaytan@mad.scientist.com>
2024
2025         * gst/gstvalue.c: (gst_value_compare_list),
2026         (gst_value_compare_array), (_gst_value_initialize):
2027         * tests/check/gst/gstvalue.c: (GST_START_TEST):
2028         Make GstValueArray comparison be order dependent as designed.
2029         Add checks for value lists and value array comparisons.
2030         Fixes #347221
2031
2032 2006-07-11  Edward Hervey  <edward@fluendo.com>
2033
2034         * gst/gstbin.c: (activate_pads),
2035         (iterator_activate_fold_with_resync), (gst_bin_src_pads_activate),
2036         (gst_bin_change_state_func):
2037         (de)activate src pads before calling state_change on the childs.
2038         This is to avoid the case where a src ghostpad is blocked (holding the
2039         stream lock), which would block the deactivation of the ghostpad's
2040         target pad.
2041         * gst/gstghostpad.c: (gst_proxy_pad_do_query_type),
2042         (gst_proxy_pad_do_event), (gst_proxy_pad_do_query),
2043         (gst_proxy_pad_do_internal_link), (gst_proxy_pad_do_bufferalloc),
2044         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
2045         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
2046         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
2047         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
2048         (gst_proxy_pad_set_target), (gst_proxy_pad_get_internal),
2049         (gst_proxy_pad_dispose), (gst_proxy_pad_init),
2050         (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
2051         (gst_ghost_pad_class_init),
2052         (gst_ghost_pad_internal_do_activate_push),
2053         (gst_ghost_pad_internal_do_activate_pull),
2054         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
2055         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
2056         (gst_ghost_pad_dispose), (gst_ghost_pad_new_no_target),
2057         (gst_ghost_pad_new), (gst_ghost_pad_set_target):
2058         GhostPads now create their internal GstProxyPad at creation (and not
2059         when they're linked, as it was being done previously).
2060         The internal and target pads are linked straight away.
2061         The data will also travel through the other pad in order to make
2062         pad blocking and probes non-hackish (the probe/block now really happens
2063         on the GhostPad and not on the target).
2064         * gst/gstpad.c: (gst_pad_set_blocked_async),
2065         (gst_pad_link_prepare), (gst_pad_push_event):
2066         Remove previous ghostpad cruft.
2067         * gst/gstutils.c: (gst_pad_add_data_probe),
2068         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
2069         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
2070         (gst_pad_remove_buffer_probe):
2071         Remove previous ghost pad cruft.
2072         Added more detailed debug statements.
2073         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
2074         Fix the testsuite for refcounting changes.
2075         The comments about who has references were correct, but the refcount
2076         being checked wasn't the same (!?!).
2077
2078         Fixes #341029
2079
2080 2006-07-10  Stefan Kost  <ensonic@users.sf.net>
2081
2082         * docs/gst/gstreamer-sections.txt:
2083         * gst/gstconfig.h.in:
2084         More docs for configuration options, add docs to gtk-doc.
2085
2086 2006-07-10  Stefan Kost  <ensonic@users.sf.net>
2087
2088         * gst/Makefile.am:
2089         * gst/gstconfig.h.in:
2090         * win32/common/config.h:
2091         Fix build when disabling tracing (fixes #344016). Also start to document
2092         the defines that disable the sub-systems.
2093
2094 2006-07-10  Edward Hervey  <edward@fluendo.com>
2095
2096         * gst/gst.c: (ensure_current_registry_forking):
2097         let's make valgrind happy...
2098
2099 2006-07-09  Wim Taymans  <wim@fluendo.com>
2100
2101         * gst/gstelement.c: (activate_pads),
2102         (iterator_activate_fold_with_resync), (gst_element_pads_activate):
2103         Better pad activation code: Reset the collect value too on resync.
2104         Add some comments.
2105
2106 2006-07-09  Wim Taymans  <wim@fluendo.com>
2107
2108         * gst/gstpad.c: (gst_pad_init), (gst_pad_activate_pull),
2109         (gst_pad_activate_push):
2110         Use some more macros where it makes sense.
2111         Allow pad mode switching instead of asserting. When a pad
2112         is activated in one mode and we activate it in another, 
2113         deactivate it first before activating it in a different mode.
2114         Fixes #329198.
2115
2116 2006-07-08  Andy Wingo  <wingo@pobox.com>
2117
2118         * tools/gst-launch.c (main): Handle err == NULL.
2119
2120         * gst/gst.c (init_post, ensure_current_registry)
2121         (ensure_current_registry_forking)
2122         (ensure_current_registry_nonforking): Reduce #ifdef ratnest by
2123         factoring out the registry scanning into separate functions. Don't
2124         fork for the rescan is GST_REGISTRY_FORK=no; useful in debugging.
2125         Better environment var name/interface suggestions accepted.
2126
2127 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
2128
2129         * gst/gstobject.c: (gst_object_set_name_default),
2130         (gst_object_set_name):
2131           Random micro-optimisation: don't use a hash table
2132           with strings as keys and the usual strdup/strcmp
2133           involved, but rather just use the GQuark of the
2134           type name as key, since it needs to be looked up
2135           anyway to get the type name string.
2136
2137         * tests/check/gst/gstobject.c: (GST_START_TEST):
2138           Fix various leaks.
2139
2140 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
2141
2142         * gst/gstbin.c: (compare_interface), (gst_bin_get_by_interface),
2143         (gst_bin_iterate_all_by_interface):
2144           Can't use GPOINTER_TO_INT and GINT_TO_POINTER with GTypes.
2145           GTypes are gulongs and thus the top 4 bytes might be cut
2146           off on some platforms when doing GPOINTER_TO_INT, leading
2147           to invalid GTypes and bad things happening (see RH bug #179654).
2148           Also add a check to make sure the type passed in is really
2149           an interface type.
2150
2151 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
2152
2153         * .cvsignore:
2154           Ignore more.
2155
2156 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
2157
2158         * Makefile.am:
2159         * configure.ac:
2160         * gst-element-check.m4:
2161         * gst-element-check.m4.in:
2162           Make gst-element-check-$VERSION.m4 call gst-inspect-$VERSION
2163           instead of the unversioned gst-inspect (#324176, #168659).
2164
2165 2006-07-06  Wim Taymans  <wim@fluendo.com>
2166
2167         * gst/gstmessage.h:
2168         Use a valid int for the _MESSAGE_ANY enum value to avoid compiler
2169         warnings.
2170
2171 2006-07-06  Wim Taymans  <wim@fluendo.com>
2172
2173         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
2174         (gst_base_src_wait), (gst_base_src_update_length),
2175         (gst_base_src_get_range), (gst_base_src_default_check_get_range),
2176         (gst_base_src_check_get_range), (gst_base_src_pad_check_get_range),
2177         (gst_base_src_loop), (gst_base_src_start),
2178         (gst_base_src_activate_pull):
2179         Update docs.
2180         blocksize == 0 now means the default blocksize when working in push
2181         based mode.
2182         Remove some pointless asserts in _wait function.
2183         Fix offset/length calculations and EOS handling. We can now pull 0
2184         bytes as well, which is allowed.
2185         use _check_get_range() to decide if we can operate in _pull based
2186         mode.
2187         Fix refcounting leak when check_get_range function was not 
2188         implemented.
2189         API GstBaseSrc::blocksize range can be 0 too now (default)
2190
2191         * tests/check/elements/filesrc.c: (GST_START_TEST),
2192         (filesrc_suite):
2193         Added check to test _get_range() behaviour.
2194
2195 2006-07-06  Wim Taymans  <wim@fluendo.com>
2196
2197         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
2198         (gst_pad_push), (gst_pad_check_pull_range), (gst_pad_get_range),
2199         (gst_pad_pull_range):
2200         * gst/gstpad.h:
2201         Lots of comments and docs added to the pad functions.
2202         Flesh out the expected behaviour of the get_range() functions.
2203
2204 2006-07-06  Wim Taymans  <wim@fluendo.com>
2205
2206         * gst/gstbus.h:
2207         * gst/gstclock.h:
2208         * gst/gstevent.h:
2209         * gst/gstiterator.h:
2210         * gst/gstpad.h:
2211         * gst/gstplugin.h:
2212         * gst/gsttask.h:
2213         Remove comma at end of enumerator list. 
2214
2215 2006-07-05  Sebastien Moutte  <sebastien@moutte.net>
2216
2217         * win32/common/libgstbase.def:
2218         * win32/common/libgstdataprotocol.def:
2219         * win32/common/libsgtreamer.def:
2220         Add new exported functions.
2221
2222 2006-07-05  Wim Taymans  <wim@fluendo.com>
2223
2224         * libs/gst/base/gstpushsrc.c: (gst_push_src_check_get_range):
2225         Add some more docs here and there.
2226
2227 2006-07-05  Wim Taymans  <wim@fluendo.com>
2228
2229         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_object),
2230         (gst_base_sink_loop), (gst_base_sink_get_position):
2231         When operating in pull mode update the offset so that we
2232         read sequentially.
2233
2234 2006-07-05  Wim Taymans  <wim@fluendo.com>
2235
2236         * gst/gstregistryxml.c: (read_string):
2237         Avoid strdup. (will happen in libxml, but hey!)
2238
2239         * gst/gsturi.c:
2240         Add some more docs.
2241
2242 2006-07-05  Wim Taymans  <wim@fluendo.com>
2243
2244         * gst/gstbuffer.c: (_gst_buffer_copy), (gst_buffer_create_sub):
2245         * tests/check/gst/gstbuffer.c: (GST_START_TEST),
2246         (gst_buffer_suite):
2247         No point in checking if the size of the subbuffer > 0, the
2248         code handles it correclty as demonstrated by unit test.
2249         Also add a unit test for the zero sized _new_and_alloc and
2250         _copy. Fixes #346663.
2251
2252 2006-07-05  Wim Taymans  <wim@fluendo.com>
2253
2254         * libs/gst/base/gstbasetransform.c:
2255         (gst_base_transform_prepare_output_buffer),
2256         (gst_base_transform_buffer_alloc),
2257         (gst_base_transform_handle_buffer):
2258         Make sure the buffer we pass to transform_ip has a refcount of
2259         1 and thus is writable. Fixes #343196
2260
2261 2006-07-04  Jan Schmidt  <thaytan@mad.scientist.com>
2262
2263         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
2264         (gst_file_src_init), (gst_file_src_set_property),
2265         (gst_file_src_get_property), (gst_file_src_map_region):
2266         * plugins/elements/gstfilesrc.h:
2267         Add "sequential" property, off by default, to use madvise and hint
2268         to the kernel that sequential access is desired.
2269         Touch all retrieved pages by default to ensure they are pulled
2270         into memory. (Closes #345720)
2271
2272 2006-07-03  Wim Taymans  <wim@fluendo.com>
2273
2274         * docs/design/part-block.txt:
2275         * docs/design/part-dynamic.txt:
2276         Small docs updates.
2277
2278 2006-07-03  Wim Taymans  <wim@fluendo.com>
2279
2280         * gst/gstcaps.c: (gst_caps_new_empty), (_gst_caps_free),
2281         (gst_caps_unref), (gst_static_caps_get),
2282         (gst_caps_append_structure):
2283         * gst/gstclock.c: (gst_clock_entry_new), (_gst_clock_id_free):
2284         Use GSlice when the glib we build against is >= 2.10
2285
2286 2006-07-03  Wim Taymans  <wim@fluendo.com>
2287
2288         * gst/gstelement.c: (gst_element_pads_activate):
2289         Small cleanup in pad activation code.
2290
2291 2006-07-03  Wim Taymans  <wim@fluendo.com>
2292
2293         Patch by: Peter Kjellerstedt <pkj at axis dot com>
2294
2295         * gst/gst-i18n-app.h:
2296         * gst/gst-i18n-lib.h:
2297         * tools/gst-inspect.c: (print_signal_info):
2298         The attached patch will make the inclusion of gettext.h unconditional in
2299         gst/gst-i18n-app.h and gst/gst-i18n-lib.h, and it will remove the inclusion of
2300         libintl.h in tools/gst-inspect.c.
2301         This allows use of --disable-nls again and fixes #344642.
2302
2303 2006-07-03  Edward Hervey  <edward@fluendo.com>
2304
2305         * gst/gstpad.c: (handle_pad_block), (gst_pad_push_event):
2306         Implement pad blocking on events according to part-block.txt.
2307         More comments on behaviour.
2308         * tests/check/gst/gstevent.c: (test_event):
2309         Send event to peer pad of blocked pad (else it will block).
2310
2311 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
2312
2313         * libs/gst/check/gstcheck.c: (gst_check_message_error),
2314         (gst_check_run_suite):
2315           if we get the wrong message, give us the types as string
2316         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
2317           Fix a translatable
2318         * tests/check/elements/filesrc.c: (GST_START_TEST):
2319           add a test for trying to open a non-existing file
2320
2321 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
2322
2323         * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
2324           add a test for adding self
2325
2326 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
2327
2328         * libs/gst/check/gstcheck.h:
2329           add some assert_ as alias for fail_unless_*
2330         * tests/check/gst/gst.c: (GST_START_TEST), (gst_suite):
2331           increase test coverage
2332
2333 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2334
2335         * Makefile.am:
2336           include lcov.mak for lcov coverage generation
2337         * tools/Makefile.am:
2338           add to CLEANFILES
2339
2340 2006-07-02  Edward Hervey  <edward@fluendo.com>
2341
2342         * tests/check/elements/.cvsignore:
2343         moaping
2344
2345 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2346
2347         * configure.ac:
2348           don't set CFLAGS and friends for gcov, done from GST_GCOV now
2349         * tests/check/Makefile.am:
2350           clean up gcov files
2351
2352 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2353
2354         * gst/gstcaps.c: (gst_caps_remove_and_get_structure):
2355           remove gst_caps_simplify; it was not declared and not used
2356           and deprecated in 0.8
2357
2358 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2359
2360         * docs/faq/gst-uninstalled:
2361           don't put empty paths on PYTHONPATH
2362         * docs/gst/gstreamer-sections.txt:
2363           remove some symbols that are not there
2364
2365 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2366
2367         * gst/gstcaps.c: (gst_caps_compare_structures):
2368           whitespace fixes
2369         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
2370         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
2371           add more tests
2372
2373 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2374
2375         * libs/gst/dataprotocol/Makefile.am:
2376           build dataprotocol test by linking to the lib, instead of
2377           compiling the source, so we get coverage
2378         * tests/check/Makefile.am:
2379         * tests/check/elements/filesrc.c: (event_func), (setup_filesrc),
2380         (cleanup_filesrc), (GST_START_TEST), (filesrc_suite):
2381           add a test for filesrc
2382
2383 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2384
2385         * tests/check/gst/gststructure.c: (GST_START_TEST),
2386         (gst_structure_suite):
2387           Push coverage from 59.04% to 70.00%
2388
2389 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2390
2391         * tests/check/Makefile.am:
2392           gst-inspect every element; this makes sure that we also get
2393           coverage on element's get/set functions
2394
2395 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2396
2397         * configure.ac:
2398           set CFLAGS and friends to -O0 if gcov is being used
2399           add GCOV LIBS
2400         * gst/Makefile.am:
2401         * libs/gst/base/Makefile.am:
2402         * libs/gst/check/Makefile.am:
2403         * libs/gst/controller/Makefile.am:
2404         * libs/gst/dataprotocol/Makefile.am:
2405         * libs/gst/net/Makefile.am:
2406         * plugins/elements/Makefile.am:
2407         * plugins/indexers/Makefile.am:
2408           add makefile rules to generate gcov data and clean up
2409         * tests/check/Makefile.am:
2410           add a coverage target that generates an html overview
2411           of coverage data
2412
2413 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
2414
2415         * tests/check/elements/fakesink.c:
2416         * tests/check/elements/fakesrc.c:
2417         * tests/check/elements/fdsrc.c:
2418         * tests/check/elements/identity.c:
2419         * tests/check/generic/sinks.c: (gst_sinks_suite):
2420         * tests/check/generic/states.c:
2421         * tests/check/gst/gst.c:
2422         * tests/check/gst/gstabi.c:
2423         * tests/check/gst/gstbin.c:
2424         * tests/check/gst/gstbuffer.c: (gst_buffer_suite):
2425         * tests/check/gst/gstbus.c: (gst_bus_suite):
2426         * tests/check/gst/gstcaps.c: (GST_START_TEST):
2427         * tests/check/gst/gstelement.c:
2428         * tests/check/gst/gstevent.c: (gst_event_suite):
2429         * tests/check/gst/gstghostpad.c:
2430         * tests/check/gst/gstiterator.c: (gst_iterator_suite):
2431         * tests/check/gst/gstmessage.c: (gst_message_suite):
2432         * tests/check/gst/gstminiobject.c:
2433         * tests/check/gst/gstobject.c:
2434         * tests/check/gst/gstpad.c:
2435         * tests/check/gst/gstpipeline.c:
2436         * tests/check/gst/gstplugin.c:
2437         * tests/check/gst/gstquery.c: (gst_query_suite):
2438         * tests/check/gst/gstsegment.c: (gst_segment_suite):
2439         * tests/check/gst/gststructure.c:
2440         * tests/check/gst/gstsystemclock.c:
2441         * tests/check/gst/gsttag.c:
2442         * tests/check/gst/gsttask.c: (gst_task_suite):
2443         * tests/check/gst/gstutils.c:
2444         * tests/check/gst/gstvalue.c:
2445         * tests/check/libs/adapter.c:
2446         * tests/check/libs/basesrc.c:
2447         * tests/check/libs/collectpads.c:
2448         * tests/check/libs/controller.c:
2449         * tests/check/libs/gdp.c: (gst_dp_suite):
2450         * tests/check/libs/gstnetclientclock.c:
2451         * tests/check/libs/gstnettimeprovider.c:
2452         * tests/check/libs/libsabi.c: (libsabi_suite):
2453         * tests/check/libs/typefindhelper.c:
2454         * tests/check/pipelines/cleanup.c:
2455         * tests/check/pipelines/parse-launch.c:
2456         * tests/check/pipelines/simple-launch-lines.c:
2457         * tests/check/pipelines/stress.c: (stress_suite):
2458           use the new macro
2459
2460 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
2461
2462         * libs/gst/check/gstcheck.c: (gst_check_run_suite):
2463         * libs/gst/check/gstcheck.h:
2464           create a macro and function so that the simple unit test
2465           case can be just one macro to create main()
2466
2467 2006-06-30  Tim-Philipp Müller  <tim at centricular dot net>
2468
2469         * gst/gstbin.c: (gst_bin_restore_thyself):
2470         * gst/gstxml.c: (gst_xml_make_element):
2471           Fix deserialisation from XML. Set parent manually
2472           instead of using gst_bin_add(), since gst_bin_add()
2473           will unlink all pads of the element being added.
2474           Fixes #341667.
2475
2476 2006-06-28  Tim-Philipp Müller  <tim at centricular dot net>
2477
2478         Patch by: Peter Kjellerstedt <pkj at axis com>
2479
2480         * gst/gst.c: (prepare_for_load_plugin_func), (split_and_iterate):
2481           Fix missing g_strdup() and double free when using the
2482           --gst-plugin-load command line option (#346097).
2483
2484 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
2485
2486         * gst/gstinfo.c:
2487           Promote GST_DEBUG_CATEGORY_STATIC in example in docs.
2488
2489         * libs/gst/net/gstnetclientclock.c:
2490         * libs/gst/net/gstnettimeprovider.c:
2491           Use GST_DEBUG_CATEGORY_STATIC here too (#342503).
2492
2493 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
2494
2495         * docs/manual/advanced-dataaccess.xml:
2496           Fix buffer probe example compilation in
2497           ADM (#345708).
2498         
2499 2006-06-22  Edward Hervey  <edward@fluendo.com>
2500
2501         * gst/gstelement.c: (gst_element_pads_activate):
2502         We need to deactivate src pads first and then sink pads.
2503         The reason is the src pads might be blocking while holding the streaming
2504         lock, so we need to deactivate them first so that deactivating the sink
2505         pads doesn't block (since it will require the streaming lock).
2506
2507 2006-06-22  Wim Taymans  <wim@fluendo.com>
2508
2509         * libs/gst/base/gstbasetransform.c:
2510         (gst_base_transform_buffer_alloc):
2511         Forgot to remove two unneeded unrefs.
2512         Simplify a check _is_equal allready checks the obvious case.
2513
2514 2006-06-22  Wim Taymans  <wim@fluendo.com>
2515
2516         * docs/design/part-block.txt:
2517         Some docs about what pad_block should do.
2518
2519 2006-06-22  Wim Taymans  <wim@fluendo.com>
2520
2521         * gst/gstcaps.c: (gst_caps_replace):
2522         Fix crasher when passed NULL. Doc clarification.
2523         Optimize for the trivial case.
2524
2525         * gst/gstpipeline.c: (gst_pipeline_change_state):
2526         Small cleanups.
2527
2528         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
2529         Small documentation cleanup.
2530
2531         * libs/gst/base/gstbasetransform.c:
2532         (gst_base_transform_buffer_alloc):
2533         Don't use silly gst_pad_get_negotiated_caps, GST_PAD_CAPS
2534         is what we need and it avoids a whole lot of redundant 
2535         refcount operations.
2536
2537 2006-06-22  Tim-Philipp Müller  <tim at centricular dot net>
2538
2539         Patch by: Philip Jägenstedt  <philip at lysator liu se>
2540
2541         * docs/manual/advanced-dataaccess.xml:
2542           Fix 'Embedding static elements' section to use
2543           GST_PLUGIN_DEFINE_STATIC (#345607).
2544
2545 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
2546
2547         * tests/check/pipelines/simple-launch-lines.c: (test_stop_from_app):
2548           Attempt to 'fix' spuriously failing test case: it seems like the
2549           timeout of half a second is simply too small when the system is under
2550           load otherwise, and the timeout doesn't really seem to serve any
2551           particular purpose here. Give the pipeline a few seconds to preroll
2552           first, and then give it another half a second to go from PAUSED to
2553           PLAYING and marshal the message into the main thread.
2554
2555 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
2556
2557         * tools/gst-feedback-m.m:
2558           Don't only use unversioned tools, try versioned tools as well
2559           (#345086).
2560
2561 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
2562
2563         * gst/gstbus.c: (gst_bus_class_init):
2564           Fix some typos, make docs more explicit.
2565
2566 2006-06-20  Wim Taymans  <wim@fluendo.com>
2567
2568         * tests/check/gst/gstghostpad.c: (block_callback),
2569         (GST_START_TEST), (gst_ghost_pad_suite):
2570         Added some more ghostpad tests, mainly blocking
2571         and probes.
2572
2573 2006-06-16  Wim Taymans  <wim@fluendo.com>
2574
2575         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
2576         (gst_file_sink_close_file), (gst_file_sink_do_seek),
2577         (gst_file_sink_event), (gst_file_sink_render):
2578         * plugins/elements/gstfilesink.h:
2579         Check if we can seek in the file instead of assuming
2580         we always can. Post an error when we are asked to seek in a
2581         non-seekable file (like a fifo). Fixes #343312.
2582         Some cleanups.
2583
2584 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
2585
2586         * tools/gst-launch.1.in:
2587           Un-garble (fourcc) bit in filtered caps section.
2588
2589 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
2590
2591         * docs/manual/advanced-autoplugging.xml:
2592         * docs/manual/basics-helloworld.xml:
2593         * docs/manual/highlevel-components.xml:
2594           Don't leak bus reference in sample code.
2595
2596 2006-06-15  Tim-Philipp Müller  <tim at centricular dot net>
2597
2598         * autogen.sh:
2599           Add default for new --enable-plugin-docs switch.
2600
2601         * configure.ac:
2602           Use new GST_PLUGIN_DOCS macro to check for pyxml etc.
2603           Fixes #344039.
2604
2605         * docs/Makefile.am:
2606           Use new ENABLE_PLUGIN_DOCS conditional.
2607
2608 2006-06-14  Wim Taymans  <wim@fluendo.com>
2609
2610         * gst/gstbin.c: (bin_query_duration_done), (gst_bin_query):
2611         Make it clear with a FIXME and a real define what the #if 0
2612         previously disabled.
2613
2614 2006-06-14  Wim Taymans  <wim@fluendo.com>
2615
2616         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
2617         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
2618         * libs/gst/base/gstbasetransform.c:
2619         (gst_base_transform_sink_eventfunc):
2620         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
2621         Don't randomly and silently reset a segment when the format 
2622         changes as this is a bug somewhere upstream. Fixes #330379.
2623
2624 2006-06-14  Tim-Philipp Müller  <tim at centricular dot net>
2625
2626         Patch by: Wouter Paesen  <wouter at kangaroot net>
2627
2628         * libs/gst/controller/gstcontroller.c:
2629         (gst_controlled_property_new):
2630           Fix controlling of float properties (#344849).
2631
2632         * tests/check/libs/controller.c:
2633         (gst_test_mono_source_get_property),
2634         (gst_test_mono_source_set_property),
2635         (gst_test_mono_source_class_init), (GST_START_TEST):
2636           While we're at it, add some float stuff to unit test.
2637
2638 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
2639
2640         * docs/README:
2641         * docs/images/gdp-header.svg:
2642           add a gdp image
2643         * docs/libs/Makefile.am:
2644         * docs/libs/gdp-header.png:
2645         * libs/gst/dataprotocol/dataprotocol.c:
2646           add it to the API docs
2647         * docs/manual/intro-motivation.xml:
2648           fix typo
2649
2650 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
2651
2652         * gst/gst.c: (scan_and_update_registry), (init_post):
2653           If the fork()'ed child process can't write the updated registry cache
2654           file to disk for some reason, make it exit with a failure exit code,
2655           so that the parent can then re-scan the plugins itself and update the
2656           registry structures in memory and work with that (rather than failing
2657           when creating elements because seemingly no plugins are available).
2658           Refactor registry scanning code into separate function for this and
2659           also separate fork() and non-fork() code paths. Fixes #344748.
2660
2661 2006-06-13  Wim Taymans  <wim@fluendo.com>
2662
2663         * docs/manual/advanced-dataaccess.xml:
2664         Fix wrong PluginDesc. Fixes #344755.
2665
2666 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
2667
2668         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
2669           Fix silly bug that prevented us from creating
2670           ~/.gstreamer-0.10 and writing the registry in one
2671           go (the first call to g_mkstemp() would overwrite the
2672           placeholder in the template string, so the second call
2673           to g_mkstemp() after creating the missing directory
2674           would then error out with 'invalid argument').
2675
2676 2006-06-13  Edward Hervey  <edward@fluendo.com>
2677
2678         * gst/gst.c: (init_post):
2679         Free string.
2680
2681 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
2682
2683         * gst/glib-compat-private.h:
2684         * gst/glib-compat.c:
2685         * gst/glib-compat.h:
2686         * gst/gstvalue.c: (gst_value_serialize_flags):
2687           remove GLib 2.6 compatibility code
2688
2689 2006-06-12  Tim-Philipp Müller  <tim at centricular dot net>
2690
2691         * gst/parse/Makefile.am:
2692           Fix build with 'make -j N' even more (#340016).
2693
2694 2006-06-12  Wim Taymans  <wim@fluendo.com>
2695
2696         * docs/gst/gstreamer-sections.txt:
2697         Fix docs.
2698
2699 2006-06-12  Wim Taymans  <wim@fluendo.com>
2700
2701         * gst/gstsegment.c: (gst_segment_set_duration),
2702         (gst_segment_set_last_stop), (gst_segment_set_seek),
2703         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
2704         (gst_segment_to_running_time), (gst_segment_clip):
2705         Use G_UNLIKELY to help the compiler a bit.
2706
2707 2006-06-12  Wim Taymans  <wim@fluendo.com>
2708
2709         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
2710
2711         * gst/gstevent.c: (gst_event_get_type):
2712         * gst/gstmessage.c:
2713         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
2714         (gst_pad_push):
2715         constify quark registration strings. Fixes #344115
2716         Avoid unneeded type checking is _pad_push() by internally
2717         calling gst_pad_chain_unchecked().
2718
2719 2006-06-12  Wim Taymans  <wim@fluendo.com>
2720
2721         * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_finalize),
2722         (_gst_buffer_copy), (gst_buffer_is_metadata_writable),
2723         (gst_subbuffer_finalize), (gst_buffer_create_sub),
2724         (gst_buffer_is_span_fast), (gst_buffer_span):
2725         Init _type for consistency.
2726         Use _FLAGS macro to avoid type check.
2727         Avoid unneeded type checks in subbufer code.
2728
2729 2006-06-12  Wim Taymans  <wim@fluendo.com>
2730
2731         * gst/gst.c: (gst_debug_help):
2732         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_list_free):
2733         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
2734         (gst_plugin_feature_list_free):
2735         * gst/gstregistry.c: (gst_registry_add_plugin),
2736         (gst_registry_add_feature), (gst_registry_plugin_filter),
2737         (gst_registry_feature_filter), (gst_registry_find_plugin),
2738         (gst_registry_find_feature), (gst_registry_get_plugin_list),
2739         (gst_registry_lookup_feature_locked), (gst_registry_lookup_locked):
2740         * gst/gstregistryxml.c: (load_feature),
2741         (gst_registry_xml_read_cache), (gst_registry_xml_write_cache):
2742         * gst/gstminiobject.c: (gst_mini_object_unref),
2743         (gst_mini_object_replace), (gst_value_mini_object_free),
2744         (gst_value_mini_object_copy):
2745         Use _CAST macros to avoid unneeded type checking.
2746         Added some more G_UNLIKELY.
2747
2748 2006-06-12  Wim Taymans  <wim@fluendo.com>
2749
2750         * gst/gstbuffer.h:
2751         Avoid unneeded type checking.
2752         API: GST_BUFFER_IS_DISCONT
2753
2754         * gst/gstminiobject.h:
2755         Avoid type check in flag accessor.
2756
2757         * gst/gstelementfactory.h:
2758         * gst/gstplugin.h:
2759         * gst/gstpluginfeature.h:
2760         Add _CAST macros.
2761         API: GST_ELEMENT_FACTORY_CAST
2762         API: GST_PLUGIN_CAST
2763         API: GST_PLUGIN_FEATURE_CAST
2764
2765 2006-06-12  Wim Taymans  <wim@fluendo.com>
2766
2767         * gst/gstobject.c: (gst_object_get_type), (gst_object_ref),
2768         (gst_object_unref):
2769         Add G_UNLIKELY in type registration.
2770         Avoid type check in _ref/_unref since that is also
2771         done in glib.
2772
2773 2006-06-12  Wim Taymans  <wim@fluendo.com>
2774
2775         * gst/gsterror.c: (gst_g_error_get_type):
2776         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
2777         (gst_static_pad_template_get_type):
2778         * gst/gsttaglist.c: (gst_tag_list_get_type):
2779         * gst/gsttagsetter.c: (gst_tag_setter_get_type):
2780         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type):
2781         * gst/gsturi.c: (gst_uri_handler_get_type):
2782         * gst/gstvalue.c: (gst_date_get_type):
2783         * gst/gstxml.c: (gst_xml_get_type):
2784         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
2785         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
2786         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type):
2787         Add G_UNLIKELY in type registration.
2788
2789 2006-06-12  Wim Taymans  <wim@fluendo.com>
2790
2791         * tools/gst-inspect.c: (print_signal_info):
2792         Properly print enum values.
2793
2794 2006-06-12  Wim Taymans  <wim@fluendo.com>
2795
2796         * gst/gstinfo.c: (gst_debug_set_active),
2797         (gst_debug_category_set_threshold), (_gst_debug_nameof_funcptr):
2798         * gst/gstinfo.h:
2799         Add some G_[UN]LIKELY.
2800         Maintain __gst_debug_min to avoid formatting the arguments of
2801         debug messages that will be dropped anyway to avoid a lot of 
2802         overhead from the debugging system.
2803
2804 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
2805
2806         * po/POTFILES.in:
2807         * po/POTFILES.skip:
2808           add missing files containing translatable strings, tell intltool about
2809           one exception
2810
2811 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
2812
2813         * tests/check/libs/.cvsignore:
2814         add test-binary to ignore list
2815
2816 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
2817
2818         * docs/libs/gstreamer-libs-docs.sgml:
2819         reorder (put dp into a chapter) and indent
2820
2821 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
2822
2823         * configure.ac:
2824           back to HEAD
2825
2826 === release 0.10.8 ===
2827
2828 2006-06-10  Thomas Vander Stichele <thomas at apestaart dot org>
2829
2830         * configure.ac:
2831           releasing 0.10.8, "Soepeke, ik zie ou nog altijd nie"
2832
2833 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
2834
2835         * gst/gst.c: (init_post):
2836           move pid declaration to declaration block
2837
2838 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
2839
2840         * gst/gst.c: (init_post):
2841           use _exit() instead of exit() in our forked child; this ensures
2842           that none of the registered exit handlers from whatever is using
2843           GStreamer get executed.  This fixes gnome-mixer-applet failing
2844           to load, because ORBit would shut down.
2845           Spotted by: Edward Hervey  <edward@fluendo.com>
2846           Fix suggested by: Tim-Philipp Müller  <tim at centricular dot net>
2847           Fixes #344474
2848
2849 2006-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
2850
2851         * configure.ac:
2852           back to TRUNK
2853
2854 === release 0.10.7 ===
2855
2856 2006-06-09  Thomas Vander Stichele <thomas at apestaart dot org>
2857
2858         * configure.ac:
2859           releasing 0.10.7, "Soepeke, ik zie ou"
2860
2861 2006-06-07  Thomas Vander Stichele  <thomas at apestaart dot org>
2862
2863         * configure.ac:
2864         * po/af.po:
2865         * po/az.po:
2866         * po/bg.po:
2867         * po/ca.po:
2868         * po/cs.po:
2869         * po/de.po:
2870         * po/en_GB.po:
2871         * po/fr.po:
2872         * po/it.po:
2873         * po/nb.po:
2874         * po/nl.po:
2875         * po/ru.po:
2876         * po/sq.po:
2877         * po/sr.po:
2878         * po/sv.po:
2879         * po/tr.po:
2880         * po/uk.po:
2881         * po/vi.po:
2882         * po/zh_CN.po:
2883         * po/zh_TW.po:
2884         * win32/common/config.h:
2885           0.10.6.2 prerelease
2886
2887 2006-06-07  Wim Taymans  <wim@fluendo.com>
2888
2889         * gst/gstindex.c: (gst_index_gtype_resolver):
2890         * tools/gst-xmlinspect.c: (print_plugin_info):
2891         Fix leak spotted by coverity checker. Fixes #343827
2892         Fix another other leak found by paolo borelli.
2893
2894 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
2895
2896         * libs/gst/dataprotocol/dataprotocol.c:
2897         (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
2898         (gst_dp_version_get_type), (gst_dp_init),
2899         (gst_dp_header_from_buffer), (gst_dp_header_from_buffer_1_0),
2900         (gst_dp_packet_from_caps), (gst_dp_packet_from_caps_1_0),
2901         (gst_dp_packet_from_event), (gst_dp_packet_from_event_1_0),
2902         (gst_dp_event_from_packet_0_2), (gst_dp_event_from_packet_1_0),
2903         (gst_dp_event_from_packet), (gst_dp_packetizer_new),
2904         (gst_dp_packetizer_free):
2905         * libs/gst/dataprotocol/dataprotocol.h:
2906           API: add a GstDPPacketizer object, and create/free functions
2907           API: add GstDPVersion enum
2908           Add 1.0 event function that uses the string serialization
2909           Serialize more useful buffer flags
2910           Fixes #343988
2911
2912 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
2913
2914         * tests/check/Makefile.am:
2915         * tests/check/gst/gstabi.c:
2916         * tests/check/gst/struct_ppc64.h:
2917         * tests/check/libs/libsabi.c:
2918         * tests/check/libs/struct_ppc64.h:
2919           add ppc64 structure sizes
2920
2921 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
2922
2923         * tests/check/Makefile.am:
2924         * tests/check/gst/gstabi.c:
2925         * tests/check/gst/struct_x86_64.h:
2926         * tests/check/libs/libsabi.c:
2927         * tests/check/libs/struct_x86_64.h:
2928           generate and add structure size lists for x86_64
2929
2930 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
2931
2932         * libs/gst/check/gstcheck.c: (gst_check_abi_list):
2933         * libs/gst/check/gstcheck.h:
2934           factor out the method from tests that checks size of structures,
2935           and add code to generate the header containing these sizes
2936         * tests/check/gst/gstabi.c: (GST_START_TEST):
2937         * tests/check/gst/struct_i386.h:
2938         * tests/check/libs/libsabi.c: (GST_START_TEST):
2939         * tests/check/libs/struct_i386.h:
2940           use it
2941
2942 2006-06-06  Michael Smith  <msmith@fluendo.com>
2943
2944         * gst/gstsegment.h:
2945           Don't use c++-style comments, fixes #343929
2946
2947 2006-06-05  Edward Hervey  <edward@fluendo.com>
2948
2949         * gst/gst.c:
2950         plugin_paths is not used if we build without registry support.
2951
2952         * gst/gstsegment.c: (gst_segment_copy): 
2953         _copy() was always returning NULL...
2954
2955 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2956
2957         * libs/gst/dataprotocol/dataprotocol.c:
2958         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
2959         (gst_dp_packet_from_event):
2960           factor out CRC code
2961
2962 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2963
2964         * libs/gst/check/gstcheck.c: (gst_check_teardown_src_pad):
2965           make sure we unset caps
2966
2967 2006-06-02  Michael Smith  <msmith@fluendo.com>
2968
2969         * libs/gst/check/gstcheck.c: (gst_check_init),
2970         (gst_check_chain_func):
2971         * libs/gst/check/gstcheck.h:
2972           Add a cond/mutex to the check support lib, signal this whenever we
2973           add to the buffers list. This will allow tests to not busy-wait on
2974           the buffer-list.
2975
2976 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2977
2978         * libs/gst/dataprotocol/dataprotocol.c:
2979         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
2980         (gst_dp_packet_from_event):
2981           factor out some common header init code
2982
2983 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2984
2985         * docs/libs/gstreamer-libs-sections.txt:
2986         * docs/libs/tmpl/gstdataprotocol.sgml:
2987         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
2988         * libs/gst/dataprotocol/dataprotocol.h:
2989           API: make gst_dp_crc() public
2990
2991 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
2992
2993         * plugins/indexers/gstindexers.c: (plugin_init):
2994         conditionally register fileindexer (fixes #343598)
2995
2996 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
2997
2998         * gst/gsttagsetter.h:
2999         Can't cast ifaces to a class
3000
3001         * libs/gst/net/gstnetclientclock.h:
3002         * libs/gst/net/gstnettimeprovider.h:
3003         * plugins/elements/gstfakesink.h:
3004         * plugins/elements/gstfakesrc.h:
3005         * plugins/elements/gstfdsink.h:
3006         * plugins/elements/gstfdsrc.h:
3007         * plugins/elements/gstfilesink.h:
3008         * plugins/elements/gstfilesrc.h:
3009         * plugins/elements/gstidentity.h:
3010         * plugins/elements/gstqueue.h:
3011         * plugins/elements/gsttee.h:
3012         * plugins/indexers/gstfileindex.c:
3013         * plugins/indexers/gstmemindex.c:
3014         * tests/old/examples/plugins/example.h:
3015         Fix more gobject macros: obj<->klass, GstXXX<->GstXXXClass
3016
3017 2006-06-01  Thomas Vander Stichele  <thomas at apestaart dot org>
3018
3019         * libs/gst/dataprotocol/dataprotocol.c:
3020         (gst_dp_header_from_buffer):
3021           make sure we zero the whole ABI-compatible area
3022
3023 2006-06-01  Wim Taymans  <wim@fluendo.com>
3024
3025         Patch by: Alessandro Decina <alessandro at nnva dot org>
3026
3027         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop):
3028         Make sure the EOS flag is cleared from pads after a flush
3029         or stop. Fixes #343538.
3030
3031         * tests/check/libs/collectpads.c: (GST_START_TEST),
3032         (gst_collect_pads_suite):
3033         Added test for collectpads reusage after EOS.
3034
3035 2006-05-30  Sebastien Moutte  <sebastien@moutte.net>
3036
3037         * gst/gst.c:
3038          set #include <sys/wait.h> in a #ifdef #ifdef HAVE_FORK
3039         * win32/common/libgstbase.def:
3040          export gst_collect_pads_set_flushing
3041         * win32/common/libgstreamer.def:
3042          export gst_pad_set_acceptcaps_function, gst_structure_empty_new,
3043          gst_value_fraction_multiply
3044         * win32/vs6/gst_inspect.dsp:
3045          add a link to intl.lib
3046
3047 2006-05-30  Wim Taymans  <wim@fluendo.com>
3048
3049         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
3050         (gst_collect_pads_chain):
3051         Handle the case where a pad is removed from the collection
3052         that could cause the other pads to become collectable.
3053
3054 2006-05-30  Wim Taymans  <wim@fluendo.com>
3055
3056         * gst/gstelement.c:
3057         Clarify the use of _release_request_pad() and
3058         _get_request_pad() a bit better.
3059
3060         * libs/gst/base/gstadapter.c: (gst_adapter_peek),
3061         (gst_adapter_take_buffer):
3062         Fix some doc and comment typos.
3063
3064 2006-05-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
3065
3066         * docs/gst/gstreamer-sections.txt:
3067         * docs/libs/gstreamer-libs-sections.txt:
3068           add declared symbols
3069
3070 2006-05-30  Jan Schmidt  <thaytan@mad.scientist.com>
3071
3072         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
3073         Add debug that can be enabled using a #define at the top of the file,
3074         for dumping stats about how late/early we were when waking up from
3075         waiting on the clock.
3076
3077 2006-05-30  Wim Taymans  <wim@fluendo.com>
3078
3079         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_check_pads):
3080         When rebuilding the pad list, don't leak the previous list.
3081
3082 2006-05-30  Wim Taymans  <wim@fluendo.com>
3083
3084         Patch by: Lutz Mueller <lutz at topfrose dot de>
3085
3086         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
3087         (gst_base_src_get_query_types), (gst_base_src_update_length):
3088         Publish supported query types.
3089         Update last_stop field in get_range mode so the position
3090         query works. Fixes #342321.
3091
3092 2006-05-30  Tim-Philipp Müller  <tim at centricular dot net>
3093
3094         * docs/gst/gstreamer-sections.txt:
3095         * gst/gsttaglist.c: (_gst_tag_initialize):
3096         * gst/gsttaglist.h:
3097           API: add GST_TAG_PREVIEW_IMAGE (#343341).
3098
3099 2006-05-30  Wim Taymans  <wim@fluendo.com>
3100
3101         Patch by: Alessandro Decina <alessandro at nnva dot org>
3102
3103         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
3104         Unlock mutex when removing an unknown pad.
3105         Fixes #343334.
3106
3107         * tests/check/Makefile.am:
3108         * tests/check/libs/collectpads.c: (collected_cb), (push_buffer),
3109         (push_event), (setup), (teardown), (GST_START_TEST),
3110         (gst_collect_pads_suite), (main):
3111         Added collecpads check, disabled for now as check crashes for
3112         some reason.
3113
3114 2006-05-29  Wim Taymans  <wim@fluendo.com>
3115
3116         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize):
3117         Don't leak pads lists.
3118
3119 2006-05-29  Wim Taymans  <wim@fluendo.com>
3120
3121         * docs/libs/gstreamer-libs-sections.txt:
3122         * libs/gst/base/gstcollectpads.c:
3123         (gst_collect_pads_set_flushing_unlocked),
3124         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
3125         (gst_collect_pads_stop):
3126         * libs/gst/base/gstcollectpads.h:
3127         API: gst_collect_pads_set_flushing()
3128         Added api to set the pads to flushing, useful for seeking
3129         code in elements using collectpads.
3130         Clear segment when receiving a flush.
3131
3132 2006-05-29  Tim-Philipp Müller  <tim at centricular dot net>
3133
3134         * gst/gst.c: (add_path_func), (init_post):
3135           Don't scan registry paths passed via --gst-plugin-path immediately
3136           (will crash, because absolutely nothing is set up and no types are
3137           registered etc.); do this later in init_post(). Fixes #343057.
3138
3139 2006-05-28  Thomas Vander Stichele  <thomas at apestaart dot org>
3140
3141         * gst/gst.c: (init_post):
3142           if we have fork, fork while reading/rebuilding the registry
3143           so the parent doesn't take the hit of having all plugins loaded
3144           in memory.  Fixes #342777.
3145         * configure.ac:
3146           Check if we have fork()
3147         * win32/common/config.h.in:
3148           no fork() on win32
3149
3150 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
3151
3152         * plugins/elements/gstelements.c:
3153         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
3154         (gst_file_src_init), (gst_file_src_set_property),
3155         (gst_file_src_get_property), (gst_file_src_start):
3156         * plugins/elements/gstfilesrc.h:
3157           API: GstFileSrc::use-mmap
3158
3159         Add a use-mmap property to enable easier testing of all code paths.
3160         Bump rank to PRIMARY, so filesrc is the preferred file reader and used
3161         in the absence of gnomevfssrc. (Closes #340501)
3162
3163 2006-05-26  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
3164
3165         * tools/gst-inspect.c:
3166         Add missing include, removes warning of ngettext not being defined on
3167         some arches.
3168
3169 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
3170
3171         * gst/gstvalue.c: (gst_value_deserialize_fraction):
3172         Handle NULL input and output pointers silently as a failed conversion,
3173         rather than g_warnings.
3174
3175 2006-05-25  Wim Taymans  <wim@fluendo.com>
3176
3177         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_start):
3178         Initialize variable before using. Fixes #342820.
3179
3180 2006-05-24  Tim-Philipp Müller  <tim at centricular dot net>
3181
3182         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek):
3183           Fix off-by-one bug that would only allow peeks of N-1 bytes
3184           from the start even if the buffer to typefind on contains
3185           in fact N bytes of data (makes vorbis typefinding from a
3186           vorbis identification header buffer work).
3187
3188         * tests/check/Makefile.am:
3189         * tests/check/libs/.cvsignore:
3190         * tests/check/libs/typefindhelper.c: (GST_START_TEST),
3191         (gst_typefindhelper_suite), (main), (foobar_typefind),
3192         (plugin_init):
3193           Add very basic unit test for gst_type_find_helper_for_buffer()
3194           that checks for the problem fixed above.
3195
3196 2006-05-24  Thomas Vander Stichele  <thomas at apestaart dot org>
3197
3198         * tools/gst-inspect.c: (print_interfaces),
3199         (print_element_properties_info), (print_element_list), (main):
3200           add more translatable strings
3201
3202 2006-05-23  Tim-Philipp Müller  <tim at centricular dot net>
3203
3204         Patch by: Julien Moutte  <julien at moutte net>
3205
3206         * docs/gst/gstreamer-sections.txt:
3207           Make new GST_FLOW_IS_SUCCESS macro visible in docs.
3208           
3209         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
3210         (gst_fake_sink_preroll):
3211         * plugins/elements/gstfakesink.h:
3212           API: Add new GstFakeSink::preroll-handoff signal (#337100).
3213
3214 2006-05-23  Wim Taymans  <wim@fluendo.com>
3215
3216         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark):
3217         * gst/gstpad.h:
3218         Added _CUSTOM error and success GstFlowReturn that can be
3219         used be elements internally. 
3220         Added macro to check for SUCCESS flowreturns.
3221         API: GST_FLOW_CUSTOM_SUCCESS
3222         API: GST_FLOW_CUSTOM_ERROR
3223         API: GST_FLOW_IS_SUCCESS
3224
3225         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
3226         Added check for GstFlowReturn sanity.
3227
3228 2006-05-23  Wim Taymans  <wim@fluendo.com>
3229
3230         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
3231
3232         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
3233         (gst_collect_pads_event):
3234         clear/reset segment info in FLUSH_STOP.
3235         Fixes #336929.
3236
3237 2006-05-22  Stefan Kost  <ensonic@users.sf.net>
3238
3239         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop),
3240         (gst_collect_pads_check_collected):
3241         Flush queued buffer on _stop(), fixes playing again (#342454)
3242
3243 2006-05-22  Thomas Vander Stichele  <thomas at apestaart dot org>
3244
3245         * tests/check/gst/gststructure.c: (GST_START_TEST),
3246         (gst_structure_suite):
3247           add a test for a complete structure
3248
3249 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
3250
3251         * docs/faq/developing.xml:
3252         * docs/faq/faq.xml:
3253         * docs/faq/troubleshooting.xml:
3254         * docs/faq/using.xml:
3255           Some minor FAQ updates that won't change the fact that
3256           our FAQ is badly structured, full of information hardly
3257           anyone new to GStreamer needs to know and lacking lots
3258           of information people constantly ask for.
3259           
3260 2006-05-19  Jan Schmidt  <thaytan@mad.scientist.com>
3261
3262         * gst/gstpad.c: (gst_pad_set_caps):
3263           Short-circuit gst_pad_set_caps if setting the existing
3264           caps pointer again, and avoid printing debug and 
3265           reffing/unreffing the caps.
3266
3267         * plugins/elements/gstqueue.c: (gst_queue_push_one):
3268           There's actually no need to set the caps before pushing -
3269           the acceptcaps method will handle it anyway.
3270
3271 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
3272
3273         * docs/gst/gstreamer-sections.txt:
3274         * win32/common/libgstreamer.def:
3275         * gst/gstutils.c: (gst_element_seek_simple):
3276         * gst/gstutils.h:
3277           API: add gst_element_seek_simple() (#342238).
3278
3279 2006-05-18  Edward Hervey  <edward@fluendo.com>
3280
3281         * gst/gsttypefind.c: (gst_type_find_get_type):
3282         * gst/gsttypefind.h:
3283         Added GST_TYPE_TYPE_FIND and gst_type_find_get_type() so a GType gets
3284         registered for GstTypeFind pointers. This allows wrapping the structure
3285         in bindings (i.e. gst-python).
3286
3287 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
3288
3289         * gst/gsttagsetter.c:
3290           Docs additions and fixes (see #339918).
3291
3292 2006-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
3293
3294         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
3295         The caps intersection algorithm can produce multiple copies of the
3296         caps. Until that is fixed, we need to simplify the result to be
3297         sure whether the allowed caps are fixed or not.
3298
3299         * plugins/elements/gstqueue.c: (gst_queue_init),
3300         (gst_queue_bufferalloc), (gst_queue_acceptcaps),
3301         (gst_queue_push_one):
3302         Proxied buffer alloc should not set the caps on the source pad.
3303         When pushing buffers, we always accept the caps change that triggers.
3304         This prevents negotiation errors caused by caps changing mid-stream 
3305         and then being refused on our source pad (because upstream is now
3306         refusing those caps).
3307
3308 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
3309
3310         * tests/examples/helloworld/helloworld.c: (main):
3311           Must plug audioconvert and audioresample between decoder
3312           and audio sink.
3313
3314 2006-05-17  Jan Schmidt  <thaytan@mad.scientist.com>
3315
3316         * gst/gstregistryxml.c: (read_string), (load_pad_template),
3317         (load_feature), (load_plugin):
3318         Allow empty strings for some of the plugin fields so we don't 
3319         drop valid plugin entries that were written out correctly
3320         (Fixes #341479)
3321
3322 2006-05-17  Sebastien Moutte  <sebastien@moutte.net>
3323         
3324         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
3325           Use g_remove and g_rename instead of remove and rename that don't 
3326           handle utf8 characters. rename was failing for users who had specific
3327           characters in their name then the registry was built at each 
3328           gstreamer init.
3329         * win32/vs6/gst_inspect.dsp:
3330         * win32/vs6/gst_launch.dsp:
3331         * win32/vs6/libgstbase.dsp:
3332         * win32/vs6/libgstcoreelements.dsp:
3333         * win32/vs6/libgstreamer.dsp:
3334           Use a debug version of libxml2 (libxml2D.lib,libxml2D.dll) for DEBUG 
3335           build of libgstreamer and clean unused libraries in projects link 
3336           settings.
3337
3338 2006-05-17  Edward Hervey  <edward@fluendo.com>
3339
3340         * plugins/elements/gstqueue.c: (gst_queue_push_one):
3341         The queue is not responsible for pushing an EOS when receiving a fatal
3342         flow error. It's up to the real element driving the pipeline to do that.
3343
3344 2006-05-16  Edward Hervey  <edward@fluendo.com>
3345
3346         * plugins/elements/gstqueue.c: (gst_queue_push_one):
3347         The queue was posting a non-needed GST_MESSAGE_ERROR when pushing a
3348         buffer returned a fatal error. It should just send an EOS and stop
3349         its task.
3350         Upstream elements will then properly receive the GST_FLOW_UNEXPECTED
3351         when pushing buffers on the queue and will be able to handle the event.
3352
3353 2006-05-16  Tim-Philipp Müller  <tim at centricular dot net>
3354
3355         * docs/manual/basics-bins.xml:
3356         * docs/manual/basics-init.xml:
3357           Fix typos and minor errors in sample code (#341856).
3358
3359 2006-05-16  Wim Taymans  <wim@fluendo.com>
3360
3361         * docs/design/part-qos.txt:
3362         Fix indexes in formulas to make more sense.
3363
3364 2006-05-15  Wim Taymans  <wim@fluendo.com>
3365
3366         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
3367         Don't report POSITION based on clock time if sync is
3368         disabled in a sink.
3369
3370 2006-05-15  Tim-Philipp Müller  <tim at centricular dot net>
3371
3372         * gst/gstobject.h:
3373           Add cast to make compiler happy - refcount variable was a gint
3374           in GstObject but is a guint in GObject and g_atomic_int_get()
3375           wants a gint *.
3376
3377 2006-05-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3378
3379         * gst/parse/Makefile.am:
3380           chain commands using &&, which also makes parallel make work
3381
3382 2006-05-14  Tim-Philipp Müller  <tim at centricular dot net>
3383
3384         * docs/gst/gstreamer-sections.txt:
3385         * gst/gstevent.c:
3386         * gst/gstevent.h:
3387         * gst/gstmessage.h:
3388           Minor docs fixes.
3389
3390 === release 0.10.6 ===
3391
3392 2006-05-14  Jan Schmidt <thaytan@mad.scientist.com>
3393
3394         * configure.ac:
3395           releasing 0.10.6, "Take the cannoli"
3396
3397 2006-05-13  Tim-Philipp Müller  <tim at centricular dot net>
3398
3399         * tools/gst-launch.c: (print_tag):
3400           Fix use of uninitialized variable in the hypothetical
3401           case that some broken plugin creates a GST_TAG_IMAGE
3402           tag containing a NULL buffer (#341667).
3403
3404 2006-05-12  Tim-Philipp Müller  <tim at centricular dot net>
3405
3406         * tools/gst-launch.c: (print_tag):
3407           Print something more intelligible for image tags when
3408           using the -t switch (#341556).
3409
3410 2006-05-12  Thomas Vander Stichele  <thomas at apestaart dot org>
3411
3412         * Makefile.am:
3413           updates for win32
3414         * configure.ac:
3415           define GST_MAJORMINOR so we have it available in win32/common/config.h
3416           Possibly remove it from our Makefile.am files later
3417         * win32/common/config.h:
3418         * win32/common/config.h.in:
3419           added GST_MAJORMINOR
3420         * win32/common/gstenumtypes.c: (register_gst_resource_error):
3421         * win32/common/gstversion.h:
3422           updated
3423
3424 2006-05-12  Sebastien Moutte  <sebastien@moutte.net>
3425
3426         * win32/MANIFEST:
3427           Update win32 files listing.
3428         * win32/common/gstversion.h:
3429           Add GST_MAJORMINOR definition.
3430         * win32/common/libgstreamer.def:
3431           Add new exported functions.
3432           
3433 2006-05-12  Michael Smith  <msmith@fluendo.com>
3434
3435         * gst/gstplugin.c: (gst_plugin_load_file):
3436           If an so file has no plugin entry point, unload the module.
3437
3438 2006-05-11  Wim Taymans  <wim@fluendo.com>
3439
3440         * plugins/elements/gstqueue.c: (gst_queue_chain), (gst_queue_loop),
3441         (gst_queue_set_property):
3442         Don't forget to signal the _chain or _loop function 
3443         when the queue size or thresholds change since that might
3444         cause them to make progres again.
3445
3446 2006-05-11  Stefan Kost  <ensonic@users.sf.net>
3447
3448         * gst/gstclock.c: (gst_clock_class_init):
3449         * gst/gstindex.c: (gst_index_class_init):
3450         * gst/gstobject.c: (gst_object_class_init):
3451         * gst/gstpad.c: (gst_pad_class_init):
3452         * gst/gstpipeline.c: (gst_pipeline_class_init):
3453         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
3454         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
3455         * libs/gst/base/gstbasetransform.c:
3456         (gst_base_transform_class_init):
3457         * libs/gst/net/gstnetclientclock.c:
3458         (gst_net_client_clock_class_init):
3459         * libs/gst/net/gstnettimeprovider.c:
3460         (gst_net_time_provider_class_init):
3461         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
3462         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
3463         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
3464         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
3465         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
3466         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
3467         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
3468         * plugins/elements/gstidentity.c: (gst_identity_class_init):
3469         * plugins/elements/gsttee.c: (gst_tee_class_init):
3470         * tests/old/examples/plugins/example.c: (gst_example_class_init):
3471         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
3472           G_OBJECT_CLASS macro usage batch cleanup, fixes #337747 for core
3473
3474 2006-05-11  Wim Taymans  <wim@fluendo.com>
3475
3476         * gst/gstbuffer.c: (_gst_buffer_initialize):
3477         Register subbufer along with the buffer type so that
3478         it does not accidentally gets registered from N
3479         different streaming threads in a non threadsafe way.
3480
3481 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
3482
3483         * gst/gstbuffer.h:
3484         * gst/gstevent.h:
3485         * gst/gstmessage.h:
3486           Make gtk-doc generate docs for our inlined gst_buffer_ref(),
3487           gst_event_ref() and gst_message_ref() functions again
3488           (ugly hack, please do fix if there's a better way besides
3489           overrides.txt, which doesn't seem to work).
3490
3491 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3492
3493         * libs/gst/check/gstcheck.h:
3494           add an assert for setting state to avoid lots of repetitive code
3495           in the future
3496
3497 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3498
3499         * gst/gstvalue.c: (gst_value_serialize_flags):
3500           fix a leak if no flags are set
3501         * tests/check/gst/gstvalue.c: (GST_START_TEST):
3502           fix leak in tests
3503
3504 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
3505
3506         * docs/manual/basics-pads.xml:
3507           Expand a bit on caps and filtered links and update
3508           examples that were still using the no longer existing
3509           gst_pad_link_filtered() (#338206).
3510
3511 2006-05-10  Wim Taymans  <wim@fluendo.com>
3512
3513         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
3514         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
3515         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
3516         (gst_collect_pads_stop):
3517         * libs/gst/base/gstcollectpads.h:
3518         No need to call _stop in _finalize.
3519         Iterate the main pad list in _finalize.
3520         Added some more debug.
3521         Free lists and data in the right order.
3522         Also free data whem doing _remove_pad when stopped for
3523         backward compatibility protect ::started with PAD_LOCK as
3524         well.
3525
3526 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3527
3528         * gst/gststructure.c: (gst_structure_gtype_from_abbr),
3529         (gst_structure_parse_value):
3530           add some comments
3531           rename a method so that it actually says what it does better
3532
3533 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3534
3535         * gst/gstevent.c: (_gst_event_initialize):
3536         * gst/gstformat.c: (_gst_format_initialize):
3537           make sure some essential types used by events are registered
3538           as part of gst_init()
3539         * gst/gstvalue.c: (gst_value_serialize_flags):
3540           if no flags are set, serialize them to a value that represents NONE
3541           so that deserializing them works
3542         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
3543           add tests for serialization and deserialization of flags
3544
3545 2006-05-10  Wim Taymans  <wim@fluendo.com>
3546
3547         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_collect),
3548         (gst_collect_pads_collect_range), (gst_collect_pads_available),
3549         (gst_collect_pads_check_pads), (gst_collect_pads_check_collected),
3550         (gst_collect_pads_event), (gst_collect_pads_chain):
3551         Update docs.
3552         Better debug info.
3553         Catch and return errors from the collect function
3554         Refuse data on eos pads.
3555
3556 2006-05-10  Edward Hervey  <edward@fluendo.com>
3557
3558         * gst/gstinterface.h:
3559         GST_IMPLEMENTS_INTERFACE and GST_IS_IMPLEMENTS_INTERFACE use the normal
3560         GInterface type checking.
3561         They were previously using non-defined macros.
3562
3563 2006-05-09  Wim Taymans  <wim@fluendo.com>
3564
3565         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_init),
3566         (gst_collect_pads_finalize), (gst_collect_pads_add_pad),
3567         (gst_collect_pads_remove_pad), (gst_collect_pads_set_flushing),
3568         (gst_collect_pads_start), (gst_collect_pads_stop),
3569         (gst_collect_pads_peek), (gst_collect_pads_pop),
3570         (gst_collect_pads_available), (gst_collect_pads_read),
3571         (gst_collect_pads_flush), (gst_collect_pads_check_pads),
3572         (gst_collect_pads_is_collected), (gst_collect_pads_event),
3573         (gst_collect_pads_chain):
3574         * libs/gst/base/gstcollectpads.h:
3575         Clean up the mess that is collectpads, add comments and
3576         FIXMEs where needed.
3577         Maintain a separate pad list so we can add pads while
3578         collecting the other ones. For this we need a new separate 
3579         lock (see comics).
3580         Fix memory leak in finalize.
3581         Refactor some weird code to set/unset pad flushing flags, mark
3582         with comments.
3583         Don't crash in _available, _read, _flush when we're EOS.
3584
3585         * tests/check/libs/.cvsignore:
3586         Ignore adapter check binary.
3587
3588 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
3589
3590         * gst/gstindex.c: (gst_index_resolver_get_type):
3591         * plugins/elements/gstfakesink.c:
3592         (gst_fake_sink_state_error_get_type):
3593         * plugins/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
3594         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type):
3595         * plugins/elements/gstqueue.c: (queue_leaky_get_type):
3596           Const-ify GEnumValue arrays.
3597
3598 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
3599
3600         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
3601           Add test case for flags + gst_buffer_make_metadata_writable().
3602
3603 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
3604
3605         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable):
3606           gst_buffer_make_metadata_writable() should maintain the
3607           buffer flags (those that make sense at least) (see #340859).
3608
3609 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
3610
3611         * tools/gst-inspect.c:
3612         * tools/gst-launch.c:
3613         * tools/gst-typefind.c:
3614         * tools/gst-xmlinspect.c:
3615         * tools/tools.h:
3616           Fix up includes: need to include stdlib.h in tools.h for exit().
3617
3618 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
3619
3620         * gst/gsttaglist.c: (_gst_tag_initialize):
3621         * gst/gsttaglist.h:
3622           API: add GST_TAG_IMAGE tag (#340721).
3623
3624 2006-05-08  Wim Taymans  <wim@fluendo.com>
3625
3626         * gst/gstquery.c:
3627         Added some docs for the segment query.
3628
3629 2006-05-08  Wim Taymans  <wim@fluendo.com>
3630
3631         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
3632         (gst_base_src_loop), (gst_base_src_change_state):
3633         Always push non-flushing serialized events in the streaming 
3634         thread.
3635
3636 2006-05-08  Thomas Vander Stichele  <thomas at apestaart dot org>
3637
3638         * gst/gsterror.c: (_gst_stream_errors_init):
3639           Add a missing error string.
3640
3641 2006-05-08  Jan Schmidt  <thaytan@mad.scientist.com>
3642
3643         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment):
3644         Add applied_rate to the debug
3645
3646         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
3647         Copy applied_rate into the outgoing NEWSEGMENT event
3648
3649 2006-05-08  Wim Taymans  <wim@fluendo.com>
3650
3651         Patch by: Philippe Rouquier <philippero at libertysurf dot fr>
3652
3653         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
3654         (gst_base_sink_change_state):
3655         call ::unlock before taking the PREROLL_LOCK so we can safely
3656         handle elements that lock in ::render.
3657         Fixes #340174.
3658
3659 2006-05-08  Edward Hervey  <edward@fluendo.com>
3660
3661         * autogen.sh: (CONFIGURE_DEF_OPT): 
3662         Darwin's libtoolize is in fact called glibtoolize.
3663         Adding glibtoolize to the list of accepted names for libtoolize.
3664
3665 2006-05-08  Wim Taymans  <wim@fluendo.com>
3666
3667         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
3668         Unify error handling, don't post an error message
3669         when a push() returns EOS but perform our normal EOS
3670         handling code. Fixes #340772.
3671
3672 2006-05-08  Wim Taymans  <wim@fluendo.com>
3673
3674         * docs/design/part-overview.txt:
3675         Make upsteam/downstream concepts more clear.
3676         Give an example of serialized/non-serialized events.
3677
3678         * docs/design/part-events.txt:
3679         * docs/design/part-streams.txt:
3680         Mention applied_rate.
3681
3682         * docs/design/part-trickmodes.txt:
3683         Mention applied rate, flesh out some more use cases.
3684
3685         * gst/gstevent.c: (gst_event_new_new_segment),
3686         (gst_event_parse_new_segment), (gst_event_new_new_segment_full),
3687         (gst_event_parse_new_segment_full), (gst_event_new_tag),
3688         (gst_event_parse_tag), (gst_event_new_buffer_size),
3689         (gst_event_parse_buffer_size), (gst_event_new_qos),
3690         (gst_event_parse_qos), (gst_event_parse_seek),
3691         (gst_event_new_navigation):
3692         * gst/gstevent.h:
3693         Add applied_rate field to NEWSEGMENT event.
3694         API: gst_event_new_new_segment_full()
3695         API: gst_event_parse_new_segment_full()
3696
3697         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_seek),
3698         (gst_segment_set_newsegment), (gst_segment_set_newsegment_full),
3699         (gst_segment_to_stream_time), (gst_segment_to_running_time):
3700         * gst/gstsegment.h:
3701         Add applied_rate to GstSegment structure.
3702         Make calculation of stream_time and running_time more correct
3703         wrt rate/applied_rate.
3704         Add some more docs.
3705         API: GstSegment::applied_rate field
3706         API: gst_segment_set_newsegment_full();
3707
3708         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
3709         (gst_base_sink_get_sync_times), (gst_base_sink_get_position):
3710         * libs/gst/base/gstbasetransform.c:
3711         (gst_base_transform_sink_eventfunc),
3712         (gst_base_transform_handle_buffer):
3713         Parse and use applied_rate in the GstSegment field.
3714
3715         * tests/check/gst/gstevent.c: (GST_START_TEST):
3716         Add check for applied_rate field.
3717
3718         * tests/check/gst/gstsegment.c: (GST_START_TEST),
3719         (gstsegments_suite):
3720         Add more checks for various GstSegment operations.
3721
3722 2006-05-08  Wim Taymans  <wim@fluendo.com>
3723
3724         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
3725         (gst_base_sink_do_sync), (gst_base_sink_chain_unlocked),
3726         (gst_base_sink_get_position), (gst_base_sink_change_state):
3727         Store the sync time of the buffer end position separatly in a
3728         new variable eos_rtime so we can properly sync the EOS event.
3729         Fixes #340697.
3730         Fix the docs for gst_base_sink_set_qos_enabled().
3731         Don't set segment start to invalid value when we receive a 
3732         non TIME newsegment.
3733         get closer to handling position reporting for negative rates 
3734         correctly.
3735
3736 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
3737
3738         * gst/gstcaps.c:
3739         Docs about how to print caps for debug purposes.
3740
3741         * gst/gstpadtemplate.c: (gst_static_pad_template_get):
3742         use gst_caps_make_writable instead of gst_caps_copy, Fixes #340608
3743
3744 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
3745
3746         * gst/gstelement.c:
3747           use full enum names and preprend a '%' in docs strings to make recent 
3748           gtk-doc turn that into a link
3749
3750 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
3751
3752         * docs/manual/basics-bins.xml:
3753         * docs/manual/basics-bus.xml:
3754         * docs/manual/basics-pads.xml:
3755           Some typo fixes, some additions, some clarifications. 
3756
3757 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
3758
3759         * tools/gst-inspect.c: (main):
3760         * tools/gst-launch.c: (main):
3761         * tools/gst-run.c: (main):
3762         * tools/gst-typefind.c: (main):
3763         * tools/gst-xmlinspect.c: (main):
3764           Use the string passed to g_option_context_new() for
3765           what it's intended for - the program name is already
3766           printed elsewhere.
3767
3768 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
3769
3770         * tools/Makefile.am:
3771         * tools/gst-inspect.c: (main):
3772         * tools/gst-launch.c: (main):
3773         * tools/gst-xmlinspect.c: (main):
3774         * tools/tools.h:
3775           Add back --version command line option (#340460).
3776
3777         * tools/gst-typefind.c: (have_type_handler), (typefind_file), (main):
3778           Add --version option and use GOption for argument parsing; refactor a
3779           bit; accept directories as arguments and recurse into them; lastly,
3780           print a decent error message when things go wrong.
3781
3782 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
3783
3784         * docs/manual/basics-bins.xml:
3785         Don't mention GstThread (#340611)
3786         * docs/manual/basics-elements.xml:
3787         Update link to GObject tutorial (#340607)
3788         
3789 2006-05-05  Wim Taymans  <wim@fluendo.com>
3790
3791         * gst/gstbuffer.h:
3792         * gst/gstminiobject.c:
3793         Add note about refcounting and miniobject/buffer writeability
3794         to docs. Fixes #340604
3795
3796         * gst/gstelementfactory.h:
3797         Added some explanation about @klass.
3798
3799 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
3800
3801         * docs/manual/intro-motivation.xml:
3802         * docs/manual/manual.xml:
3803         Avoid CORBA & Bonobo references (#340598)
3804
3805 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
3806
3807         * docs/manual/basics-bus.xml:
3808         * docs/manual/basics-pads.xml:
3809         Fix up some inaccuracies and omissions (#340609)
3810         
3811 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
3812
3813         * gst/gstghostpad.c:
3814           Small typo in docs (#340625)
3815
3816 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
3817
3818         * gst/parse/Makefile.am:
3819           Make 'make -j' proof (see #340698).
3820
3821 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
3822
3823         * configure.ac:
3824           Require GLib-2.8 here as well.
3825
3826 2006-05-05  Wim Taymans  <wim@fluendo.com>
3827
3828         * gst/glib-compat.c:
3829         * gst/gst.c: (init_pre):
3830         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
3831         (gst_object_unref), (gst_object_replace), (gst_object_dispose),
3832         (gst_object_dispatch_properties_changed):
3833         * gst/gstobject.h:
3834         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
3835         * gst/gststructure.c: (gst_structure_set_valist):
3836         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
3837         Remove pre glib2.8 compatibility, fixes #340508
3838
3839 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
3840
3841         * gst/gsttaglist.h:
3842           Mention type of tags in doc blurbs.
3843
3844 2006-05-04  Jan Schmidt  <thaytan@mad.scientist.com>
3845
3846         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
3847         (gst_pad_configure_src), (gst_pad_push):
3848         Restore acceptcaps checking behaviour now that good plugins have
3849         been released.
3850
3851 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
3852
3853         Patch by: James Andrewartha <trs80 at tartarus uwa edu au>
3854
3855         * gst/gst.c:
3856         * gst/gstbus.c:
3857         * gst/gstclock.c:
3858         * gst/gstevent.c:
3859         * gst/gstformat.c:
3860         * gst/gstmessage.c:
3861         * gst/gstparse.c:
3862         * gst/gstquery.c:
3863         * gst/gstutils.c:
3864         * gst/parse/Makefile.am:
3865         * libs/gst/base/gstadapter.c:
3866         * libs/gst/base/gstbasesrc.c:
3867         * libs/gst/base/gstpushsrc.c:
3868         * libs/gst/base/gsttypefindhelper.c:
3869         * plugins/elements/gstfakesrc.c:
3870         * plugins/elements/gstidentity.c:
3871           Make sure gstprivate.h and/or config.h are
3872           always included first, otherwise some of our
3873           defines (like _FILE_OFFSET_BITS) might be
3874           redefined in the system headers. Fixes build
3875           on opensolaris (#340016).
3876
3877 2006-05-04  Wim Taymans  <wim@fluendo.com>
3878
3879         * docs/libs/gstreamer-libs-sections.txt:
3880         API: addition: gst_adapter_take_buffer()
3881         
3882         * libs/gst/base/gstadapter.c: (gst_adapter_push),
3883         (gst_adapter_peek), (gst_adapter_take), (gst_adapter_take_buffer),
3884         (gst_adapter_available_fast):
3885         * libs/gst/base/gstadapter.h:
3886         Prepare for optimizing the hell out of this hugely inefficient
3887         piece of code. 
3888         Added gst_adapter_take_buffer() so we can at least start thinking
3889         about subbuffering and merging.
3890         Added some comments.
3891
3892         * tests/check/Makefile.am:
3893         * tests/check/libs/adapter.c: (GST_START_TEST),
3894         (gst_adapter_suite), (main):
3895         Added GstAdapter check.
3896
3897 2006-05-04  Wim Taymans  <wim@fluendo.com>
3898
3899         * docs/design/part-overview.txt:
3900         Fix some typos, add blurb about buffer flags.
3901
3902 2006-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
3903
3904         * docs/libs/gstreamer-libs-sections.txt:
3905           make sure GstBaseTransformClass shows up in the docs
3906         * libs/gst/base/gstbasetransform.c:
3907         * libs/gst/base/gstbasetransform.h:
3908           move docs so gtk-doc picks it up now
3909
3910 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
3911
3912         * docs/libs/gstreamer-libs-sections.txt:
3913           add missing symbols to docs
3914
3915 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
3916
3917         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
3918           back out the newsegment handling change, see #340060 for ongoing
3919           discussion
3920
3921 2006-04-30  Tim-Philipp Müller  <tim at centricular dot net>
3922
3923         * tools/gst-run.c: (get_candidates), (main):
3924           Fix wrong g_file_test() usage (see glib docs for why it doesn't
3925           work); fix typo in error message. Fixes #340079.
3926
3927 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
3928
3929         * common/Makefile.am:
3930         * docs/Makefile.am:
3931         * docs/faq/Makefile.am:
3932         * docs/gst/Makefile.am:
3933         * docs/libs/Makefile.am:
3934         * docs/manual/Makefile.am:
3935         * docs/plugins/Makefile.am:
3936         * docs/pwg/Makefile.am:
3937         * docs/slides/Makefile.am:
3938         * docs/upload.mak:
3939         * common/upload.mak:
3940           move upload.mak to common
3941
3942 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
3943
3944         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
3945           add more asserts on refcounts
3946           do more cleanup at end of tests
3947           fix test leaks showing in FC5
3948
3949 2006-04-29  Stefan Kost  <ensonic@users.sf.net>
3950
3951         * plugins/elements/gsttypefindelement.c:
3952         (gst_type_find_element_handle_event):
3953         reverted wrong change and reflowed code to avoid others falling into
3954         this trap
3955
3956 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
3957
3958         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
3959           fix changelog entry about last collectpads change,
3960           add notes about proper fix
3961
3962 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
3963
3964         * gst/gst.c:
3965         * gst/gstregistry.c: (gst_registry_scan_path_level),
3966         (gst_registry_scan_path):
3967         * gst/gstregistry.h:
3968           only write out registry if it has changed, fixes #338339
3969
3970 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
3971
3972         * gst/gstbin.c:
3973         * gst/gstpipeline.c:
3974         * plugins/elements/gstcapsfilter.c:
3975         * plugins/elements/gstfakesink.c:
3976         * plugins/elements/gstfakesrc.c:
3977         * plugins/elements/gstfdsink.c:
3978         * plugins/elements/gstfdsrc.c:
3979         * plugins/elements/gstfilesink.c:
3980         * plugins/elements/gstfilesrc.c:
3981         * plugins/elements/gstidentity.c:
3982         * plugins/elements/gstqueue.c:
3983         * plugins/elements/gsttee.c:
3984         * plugins/elements/gsttypefindelement.c:
3985         (gst_type_find_element_handle_event):
3986           make GstElementDetails const
3987
3988 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
3989
3990         * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
3991         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
3992         (gst_collect_pads_is_collected), (gst_collect_pads_event):
3993           more detailed debug and formatting cleanup,
3994           forward newsegments to src-pad (so that e.g. adder not eats them)
3995
3996 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
3997
3998         * gst/gstutils.c: (gst_element_link_pads):
3999           cleanup double code
4000
4001 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
4002
4003         * libs/gst/controller/gstcontroller.c:
4004         (gst_controller_sync_values):
4005           some little tuning
4006         * tests/check/libs/controller.c: (GST_START_TEST),
4007         (gst_controller_suite):
4008           a new test for live value handling
4009
4010 2006-04-28  Wim Taymans  <wim@fluendo.com>
4011
4012         * gst/gstutils.c: (push_and_ref):
4013         Added some more docs.
4014         Fix refcount issue whith gst_element_found_tags() helper 
4015         function. Fixes #338335
4016
4017         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
4018         Added testsuite for gst_element_found_tags().
4019
4020 2006-04-28  Michael Smith  <msmith@fluendo.com>
4021
4022         * gst/gstvalue.c: (gst_value_serialize_flags):
4023           Avoid NULL dereference when trying to serialize flags containing
4024           invalid values.
4025
4026 2006-04-28  Michael Smith  <msmith@fluendo.com>
4027
4028         * plugins/elements/gsttypefindelement.c:
4029         (gst_type_find_element_handle_event):
4030           If we get EOS before any data is accumulated, don't use
4031           uninitialised local variables.
4032
4033 2006-04-28  Michael Smith  <msmith@fluendo.com>
4034
4035         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
4036         (gst_dp_event_from_packet):
4037           Fixes in reading/writing events over GDP (not currently used?) - 
4038           dereferencing NULL events for unknown/invalid event types, memory
4039           leak, and change g_warning to GST_WARNING.
4040
4041 2006-04-28  Wim Taymans  <wim@fluendo.com>
4042
4043         * libs/gst/base/gstbasesink.c: (gst_base_sink_is_too_late),
4044         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
4045         (gst_base_sink_get_position), (gst_base_sink_change_state):
4046         When frame dropping is enabled, we should not ignore frames
4047         without a duration.
4048         Update some documentation.
4049
4050 2006-04-28  Wim Taymans  <wim@fluendo.com>
4051
4052         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
4053         (gst_base_src_send_event), (gst_base_src_change_state):
4054         Documentation updates.
4055
4056 2006-04-28  Wim Taymans  <wim@fluendo.com>
4057
4058         * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
4059         (gst_fd_sink_check_fd), (gst_fd_sink_update_fd):
4060         handle EAGAIN, EINTR and short writes correctly. Also clean
4061         up some error cases, avoid a deadlock on bad file descriptors and
4062         use GST_DEBUG_OBJECT.
4063         Fixes #339843
4064
4065 2006-04-28  Wim Taymans  <wim@fluendo.com>
4066
4067         * gst/gstvalue.c: (gst_value_serialize_buffer),
4068         (gst_value_deserialize_buffer):
4069         Don't try to serialize a GValue with a NULL buffer. 
4070         Fixes #339821.
4071
4072         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
4073         Added check for serialisation of NULL buffers.
4074
4075 2006-04-28  Wim Taymans  <wim@fluendo.com>
4076
4077         * gst/gstminiobject.c: (gst_value_take_mini_object):
4078         Taking a NULL miniobject is valid, fix the case where
4079         we try to unref the NULL miniobject.
4080
4081 2006-04-28  Wim Taymans  <wim@fluendo.com>
4082
4083         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
4084
4085         * gst/gstbin.c: (gst_bin_handle_message_func):
4086         Update docs.
4087         Don't leak bin refcount when a state recalc is
4088         in progress and we delay another one #339808.
4089
4090 2006-04-28  Wim Taymans  <wim@fluendo.com>
4091
4092         * docs/design/part-TODO.txt:
4093         Mention QoS as an ongoing work item.
4094
4095         * docs/design/part-buffering.txt:
4096         New doc about buffering that needs to be fleshed out
4097         at some point.
4098
4099         * docs/design/part-qos.txt:
4100         More QoS policy for decoders/demuxers/transforms
4101
4102         * docs/design/part-trickmodes.txt:
4103         Small update.
4104
4105 2006-04-28  Thomas Vander Stichele  <thomas at apestaart dot org>
4106
4107         * configure.ac:
4108           back to HEAD
4109
4110 === release 0.10.5 ===
4111
4112 2006-04-28  Thomas Vander Stichele <thomas at apestaart dot org>
4113
4114         * configure.ac:
4115           releasing 0.10.5, "Fogo"
4116
4117 2006-04-22  Thomas Vander Stichele  <thomas at apestaart dot org>
4118
4119         patch by: Wim Taymans
4120
4121         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
4122         (gst_pad_configure_src), (gst_pad_push):
4123         * gst/gstpipeline.c: (gst_pipeline_init):
4124           Fix internal data flow errors.  Fixes #338711.
4125
4126 2006-04-12  Wim Taymans  <wim@fluendo.com>
4127
4128         * tests/check/gst/gstelement.c: (GST_START_TEST):
4129         Don't leak the factory.
4130
4131 2006-04-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4132
4133         * configure.ac:
4134         * win32/common/config.h:
4135           prerelease
4136
4137 2006-04-12  Tim-Philipp Müller  <tim at centricular dot net>
4138
4139         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
4140         (gst_controller_unset_all):
4141           Free allocated GstTimedValues when freeing list nodes.
4142           Should fix leaks 'make check-valgrind' complains about.
4143
4144         * win32/common/libgstcontroller.def:
4145           Add gst_controller_unset_all.
4146
4147 2006-04-11  Stefan Kost  <ensonic@users.sf.net>
4148
4149         * docs/libs/gstreamer-libs-sections.txt:
4150         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
4151         (gst_controller_unset_all):
4152         * libs/gst/controller/gstcontroller.h:
4153         API: Added new method gst_controller_unset_all()
4154         fixed gst_controller_unset()
4155         * tests/check/libs/controller.c: (GST_START_TEST),
4156         (gst_controller_suite):
4157         Added two testcases for new and fixed method
4158
4159 2006-04-11  Tim-Philipp Müller  <tim at centricular dot net>
4160
4161         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
4162           MSG_DONTWAIT is not defined on Cygwin, so work
4163           around that (fixes #317048).
4164           
4165 2006-04-11  Wim Taymans  <wim@fluendo.com>
4166
4167         * gst/gstelementfactory.c: (gst_element_register),
4168         (gst_element_factory_create), (gst_element_factory_make):
4169         Some cleanups.
4170         Fixed a FIXME.
4171         Updated docs (Fixes #131079)
4172
4173         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
4174         Small cleanups.
4175
4176         * tests/check/gst/gstelement.c: (GST_START_TEST),
4177         (gst_element_suite):
4178         Added testcase for elementfactory class field.
4179
4180 2006-04-10  Wim Taymans  <wim@fluendo.com>
4181
4182         * gst/gstsegment.c:
4183         Added some more docs.
4184
4185         * libs/gst/base/gstbasesink.c: (gst_base_sink_perform_qos),
4186         (gst_base_sink_reset_qos):
4187         Calculate more accurate rate values.
4188
4189 2006-04-09  Sebastien Moutte  <sebastien@moutte.net>
4190
4191         * gst/gst_private.h:
4192           add a new #ifdef to use __declspec(dllimport) only for
4193           other modules and not for gstreamer core
4194         * gst/gstbasesink.c: (gst_base_sink_perform_qos):
4195           use gst_guint64_to_gdouble for conversion
4196         * win32/common/libgstreamer.def:
4197           add new exported functions
4198         * win32/vs6/gst_inspect.dsp:
4199         * win32/vs6/gst_launch.dsp:
4200         * win32/vs6/libgstbase.dsp:
4201         * win32/vs6/libgstcontroller.dsp:
4202         * win32/vs6/libgstcoreelements.dsp:
4203         * win32/vs6/libgstdataprotocol.dsp:
4204         * win32/vs6/libgstnet.dsp:
4205           update project files
4206
4207 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
4208
4209         * gst/gstbuffer.c: (gst_subbuffer_class_init):
4210         * gst/gstclock.c: (gst_clock_class_init):
4211         * gst/gstelement.c: (gst_element_class_init):
4212         * gst/gstindex.c: (gst_index_class_init):
4213         * gst/gstindexfactory.c: (gst_index_factory_class_init):
4214         * gst/gstobject.c: (gst_object_class_init),
4215         (gst_signal_object_class_init):
4216         * gst/gstpad.c: (gst_pad_class_init):
4217         * gst/gstpadtemplate.c: (gst_pad_template_class_init):
4218         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init):
4219         * gst/gstregistry.c: (gst_registry_class_init):
4220         * gst/gstsystemclock.c: (gst_system_clock_class_init):
4221         * gst/gsttask.c: (gst_task_class_init):
4222         * gst/gstxml.c: (gst_xml_class_init):
4223         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
4224         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
4225         (gst_base_src_loop):
4226         * libs/gst/controller/gstcontroller.c:/
4227         (_gst_controller_class_init):
4228         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
4229         * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
4230         * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init):
4231         * tests/old/examples/plugins/example.c: (gst_example_class_init):
4232         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
4233         Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent)
4234
4235 2006-04-08  Tim-Philipp Müller  <tim at centricular dot net>
4236
4237         * gst/gstpad.c: (gst_pad_link):
4238           Must set peer pads before calling the link function, otherwise
4239           a task started from a link function might get a flow-not-linked
4240           result when trying to push because the other thread where the
4241           linking happens hasn't had a chance to set the peers yet. This
4242           might happen for example when a queue gets linked to a downstream
4243           element, as queue starts a streaming task when its source pad
4244           gets linked. Happens in real life when playing back flac/musepack
4245           files in playbin (#332390).
4246           
4247 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
4248
4249         * gst/gstindex.h:
4250         * gst/gstxml.h:
4251         * libs/gst/base/gstadapter.h:
4252         * libs/gst/base/gstbasesink.h:
4253         * libs/gst/base/gstbasesrc.h:
4254         * libs/gst/base/gstbasetransform.h:
4255         * libs/gst/base/gstcollectpads.h:
4256         * libs/gst/base/gstpushsrc.h:
4257         Fix broken GObject macros
4258
4259 2006-04-07  Wim Taymans  <wim@fluendo.com>
4260
4261         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
4262         Initialize start and stop times, thanks valgrind.
4263
4264 2006-04-07  Wim Taymans  <wim@fluendo.com>
4265
4266         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
4267         Be a bit nicer to badly behaving upstream elements that expect
4268         us to deal with non TIME segments and timestamps (such as fakesrc
4269         in the testsuite).
4270
4271 2006-04-07  Wim Taymans  <wim@fluendo.com>
4272
4273         * gst/gstbus.c:
4274         Small documentation clarification about the signal watch.
4275
4276         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
4277         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
4278         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
4279         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
4280         (gst_base_sink_get_position_last),
4281         (gst_base_sink_get_position_paused), (gst_base_sink_change_state):
4282         Convert and store timestamps in stream time and running time, the
4283         raw timestamps are not usefull, also document this better.
4284         Use different window sizes for good and bad QoS observations so
4285         we react to badness a little quicker.
4286         Keep track of the amount of rendered and dropped buffers.
4287         Send QoS timestamps in running time.
4288
4289         * libs/gst/base/gstbasetransform.c:
4290         (gst_base_transform_sink_eventfunc),
4291         (gst_base_transform_handle_buffer):
4292         Compare QoS timestamps against running time.
4293
4294 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
4295
4296         * gst/gstpad.c:
4297           Typo fixes in docs.
4298
4299 2006-04-06  Michael Smith  <msmith@fluendo.com>
4300
4301         * gst/gstpad.c: (gst_pad_set_property):
4302           Use g_value_get_object() instead of g_value_dup_gst_object(),
4303           to avoid double-reffing the pad template (which we then sink,
4304           so this worked previously if (and only if) the pad template
4305           was floating.
4306
4307         * gst/gstpadtemplate.c: (gst_pad_template_init),
4308         (gst_pad_template_pad_created):
4309           Never return floating references to pad templates, create
4310           them as initially-sunken.
4311
4312           Document an extra function (and make this stop sinking our
4313           pad template, since that is now guaranteed to do nothing,
4314           since we created it sunken).
4315
4316         * gst/gstghostpad.c:
4317           Fix docs typo.
4318
4319 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
4320
4321         * gst/gstinfo.c: (__gst_in_valgrind):
4322           Add some newlines.
4323
4324         * plugins/elements/gsttypefindelement.c:
4325         (gst_type_find_element_chain):
4326           Don't leak buffer caps.
4327
4328 2006-04-06  Michael Smith  <msmith@fluendo.com>
4329
4330         * gst/parse/grammar.y:
4331           Fix a leak in parse-launch for any source-or-sink named element 
4332           references used.
4333
4334         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
4335           Unref the pipeline if it exists after we've failed parsing.
4336
4337 2006-04-05  Michael Smith  <msmith@fluendo.com>
4338
4339         * gst/gstpipeline.c: (gst_pipeline_init):
4340           When we create a pipeline bus, initially create it in flushing mode.
4341           Fixes leaks in at least one test, and makes a new pipeline work the
4342           same as one that has gone to READY and then back to NULL.
4343
4344         * gst/gstelement.c:
4345           Typo fix in docs.
4346
4347 2006-04-05  Michael Smith  <msmith@fluendo.com>
4348
4349         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
4350           Unref a pad we reffed.
4351         * tests/check/gst/gstutils.c: (GST_START_TEST):
4352           Unref bins
4353
4354 2006-04-05  Michael Smith  <msmith@fluendo.com>
4355
4356         * gst/gstquery.c: (gst_query_set_formats),
4357         (gst_query_set_formatsv):
4358           Fix leaking GValues in queries, as shown by valgrind/testsuite.
4359
4360 2006-04-05  Michael Smith  <msmith@fluendo.com>
4361
4362         * tests/check/generic/sinks.c: (GST_START_TEST):
4363           Fix a variety of memleaks in sinks check, which are only sometimes 
4364           shown by running the tests under valgrind (weird?).
4365
4366 2006-04-05  Jan Schmidt  <thaytan@mad.scientist.com>
4367
4368         * docs/version.entities.in:
4369           Fix the substituted entity name after thomas' changes on the
4370           weekend.
4371
4372 2006-04-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
4373
4374         * gst/gstinfo.c: (__gst_in_valgrind): Use printf instead of
4375         VALGRIND_PRINTF
4376         
4377 2006-04-05  Andy Wingo  <wingo@pobox.com>
4378
4379         * gst/gstpad.c (gst_pad_set_blocked_async): More debug.
4380
4381         * libs/gst/base/gstbasetransform.c
4382         (gst_base_transform_sink_eventfunc): When resetting our segment on
4383         FLUSH_STOP, also update the flag saying we haven't seen a
4384         newsegment.
4385
4386 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
4387
4388         Patch by: Paolo Borelli  <pborelli at katamail dot com>
4389
4390         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
4391         (gst_plugin_check_license):
4392           minor clean-ups: G_DEFINE_TYPE already takes care of the
4393           parent_class stuff, no need to do it twice. Mark array of
4394           license strings as constant. (#337103)
4395           
4396 2006-04-04  Michael Smith  <msmith@fluendo.com>
4397
4398         * tools/gst-inspect.c: (print_element_list):
4399           Free the right plugin list; fixes a memory leak.
4400
4401 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
4402
4403         Patch by: Mark Nauwelaerts  <manauw at skynet dot be>
4404
4405         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
4406           Don't error out on empty buffers (#336945).
4407           
4408 2006-04-04  Jan Schmidt  <thaytan@mad.scientist.com>
4409
4410         * docs/libs/gstreamer-libs-sections.txt:
4411         * gst/gsttaglist.c:
4412         * libs/gst/base/gstbasesink.c:
4413         * libs/gst/base/gstbasesink.h:
4414         * libs/gst/base/gstbasesrc.c:
4415         * libs/gst/base/gstbasesrc.h:
4416           Documentation updates. Make BaseSink and BaseSrc docs contain the
4417           class structure so that people can actually see the prototypes for
4418           virtual functions they're supposed to be overriding.
4419
4420 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
4421
4422         * plugins/elements/gsttypefindelement.c:
4423         (gst_type_find_element_chain):
4424           More debug info; when skipping typefinding, send cached
4425           events in all cases.
4426
4427 2006-04-01  Thomas Vander Stichele  <thomas at apestaart dot org>
4428
4429         * configure.ac:
4430           use new AS_VERSION and AS_NANO macros
4431         * gst/gst-i18n-lib.h:
4432         * gst/gst.c:
4433         * gst/gsterror.c:
4434         * gst/gstversion.h.in:
4435         * win32/common/config.h:
4436         * win32/common/config.h.in:
4437           update accordingly
4438
4439 2006-03-31  Michael Smith  <msmith@fluendo.com>
4440
4441         * plugins/elements/gsttypefindelement.c:
4442         (gst_type_find_element_chain):
4443           Do not typefind content if the buffers already have caps.
4444           Neccesary for icydemux (#333657), and the right thing to do anyway.
4445
4446 2006-03-30  Wim Taymans  <wim@fluendo.com>
4447
4448         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
4449         (gst_base_sink_finalize), (gst_base_sink_set_qos_enabled),
4450         (gst_base_sink_is_qos_enabled), (gst_base_sink_do_sync),
4451         (gst_base_sink_record_qos_observation),
4452         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
4453         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
4454         (gst_base_sink_change_state):
4455         More QoS measurements as described in the design doc.
4456         Get rid of ringbuffer with observations, running average is
4457         more simple and equally good.
4458         Calculates valid proportion now.
4459         Added beginning of flood measurement.
4460
4461 2006-03-29  Wim Taymans  <wim@fluendo.com>
4462
4463         * docs/design/part-qos.txt:
4464         * gst/gstclock.c:
4465         Small documentation updates and additions.
4466
4467 2006-03-29  Wim Taymans  <wim@fluendo.com>
4468
4469         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
4470         (gst_base_src_send_event), (gst_base_src_loop),
4471         (gst_base_src_change_state):
4472         Perform the EOS logic when we reach the segment stop position.
4473         Fix compilation on gcc4.1
4474
4475 2006-03-29  Wim Taymans  <wim@fluendo.com>
4476
4477         Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
4478
4479         * plugins/elements/gstqueue.c: (gst_queue_init),
4480         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
4481         (gst_queue_set_property):
4482         * plugins/elements/gstqueue.h:
4483         In queue, when EOS is received, if minimum threshold > max_size -
4484         current_level, there is chance that queue blocks forever in conditional
4485         item del wait. This is because the queue is not emptied completely due
4486         to minimum threshold.  Here is another approach. Instead of setting
4487         cur_levels to max in EOS, just zero all minimum threshold levels. This
4488         should make sure that queue gives out all data. When going to READY
4489         (stop) state, just reset the original minimum threshold levels.
4490         Fixes #336336.
4491
4492 2006-03-29  Tim-Philipp Müller  <tim at centricular dot net>
4493
4494         * plugins/elements/gsttypefindelement.c: (stop_typefinding),
4495         (gst_type_find_element_handle_event),
4496         (gst_type_find_element_send_cached_events),
4497         (gst_type_find_element_change_state):
4498         * plugins/elements/gsttypefindelement.h:
4499           When typefinding is done in push mode, we should cache
4500           events we receive during typefinding instead of just
4501           dropping them (e.g. newsegment, custom events from
4502           dvdreadsrc etc.) and then send them out once we've
4503           determined the type of the stream (and decodebin
4504           has had a chance to plug in a decoder/demuxer).
4505           
4506 2006-03-27  Wim Taymans  <wim@fluendo.com>
4507
4508         * docs/design/part-qos.txt:
4509         First QoS ideas.
4510
4511 2006-03-27  Wim Taymans  <wim@fluendo.com>
4512
4513         Inspired by a patch of: Lutz Mueller <lutz at topfrose dot de>
4514
4515         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
4516         (gst_base_src_send_event), (gst_base_src_change_state):
4517         Handle element seek correctly when we are streaming.
4518         Fixes #326998.
4519
4520 2006-03-24  Michael Smith  <msmith@fluendo.com>
4521
4522         * docs/faq/gst-uninstalled:
4523           Set up LD_LIBRARY_PATH to point at all the gstreamer libs. This will
4524           allow you to correctly run intalled applications built against old 
4525           core, using plugins that require updated core (e.g. running
4526           installed totem against a full uninstalled gstreamer stack)
4527
4528 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
4529
4530         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
4531         more debug details
4532
4533 2006-03-24  Wim Taymans  <wim@fluendo.com>
4534
4535         * docs/gst/gstreamer-sections.txt:
4536         Rearrange the order of the methods so that related methods
4537         are grouped together in sections.
4538
4539 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
4540
4541         * gst/gstelement.c:
4542           Little clarification in the docs
4543
4544 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
4545
4546         * docs/README:
4547         formatting fix
4548         * plugins/elements/gstidentity.c:
4549         * plugins/elements/gstqueue.c:
4550         * plugins/elements/gsttee.c:
4551         * plugins/elements/gsttypefindelement.c:
4552         GST_ELEMENT_DETAILS formatting
4553
4554 2006-03-24  Wim Taymans  <wim@fluendo.com>
4555
4556         * libs/gst/base/gstbasesink.h:
4557         Only add fields, not insert or we break ABI.
4558
4559 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
4560
4561         * win32/common/libgstbase.def:
4562         * win32/common/libgstreamer.def:
4563           Update, add recently added functions.
4564
4565 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
4566
4567         * docs/gst/gstreamer-sections.txt:
4568         * gst/gstutils.c: (gst_pad_query_peer_position),
4569         (gst_pad_query_peer_duration), (gst_pad_query_peer_convert):
4570         * gst/gstutils.h:
4571           API: add some new utility functions:
4572            - gst_pad_query_peer_position()
4573            - gst_pad_query_peer_duration()
4574            - gst_pad_query_peer_convert()
4575           
4576 2006-03-23  Wim Taymans  <wim@fluendo.com>
4577
4578         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
4579         (gst_base_sink_init), (gst_base_sink_finalize),
4580         (gst_base_sink_set_qos_enabled), (gst_base_sink_is_qos_enabled),
4581         (gst_base_sink_set_property), (gst_base_sink_get_property),
4582         (gst_base_sink_commit_state), (gst_base_sink_get_sync_times),
4583         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
4584         (gst_base_sink_add_qos_observation), (gst_base_sink_send_qos),
4585         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
4586         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
4587         (gst_base_sink_preroll_object), (gst_base_sink_event),
4588         (gst_base_sink_chain_unlocked), (gst_base_sink_get_position_last),
4589         (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
4590         (gst_base_sink_query), (gst_base_sink_change_state):
4591         Decouple max-lateness and the fact that QoS messages are generated
4592         with a new property (qos).
4593         added API: GstBaseSink::async_play()
4594         Add vmethod so subclasses can be notified of ASYNC playing
4595         state changes.
4596         Collect timestamp start and stop to report better current
4597         position in EOS/PLAYING/PAUSED/READY/NULL.
4598         Refactor QoS/frame dropping and other measurements.
4599         API: GstBaseSrc::qos
4600         Fixes #326311
4601
4602         * libs/gst/base/gstbasesink.h:
4603         Added Private struct.
4604         API: gst_base_sink_set_qos_enabled()
4605         API: gst_base_sink_is_qos_enabled()
4606
4607 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
4608
4609         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
4610           If compiling against GLib-2.8 or newer, try to read the
4611           registry file using GMappedFile first before falling back
4612           to fopen() + fread() (#332151).
4613
4614 2006-03-22  Wim Taymans  <wim@fluendo.com>
4615
4616         * gst/gstinfo.c: (gst_debug_set_active),
4617         (gst_debug_category_set_threshold):
4618         Disable debugging unless explicitly activated.
4619         Fixes #335480.
4620
4621 2006-03-22  Wim Taymans  <wim@fluendo.com>
4622
4623         * gst/gstelement.c: (gst_element_set_locked_state),
4624         (gst_element_dispose):
4625         Cleanup the error case.
4626
4627         * gst/gstobject.c: (gst_object_dispose):
4628         print a critical when some object was disposed with
4629         a parent, also revive the object since it might
4630         crash the parent.
4631
4632 2006-03-22  Tim-Philipp Müller  <tim at centricular dot net>
4633
4634         * tools/gst-launch.1.in:
4635           Fix another typo.
4636
4637 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
4638
4639         * configure.ac:
4640         * tests/check/Makefile.am:
4641           disable some tests when we don't have a registry
4642         * tests/check/gst/gstutils.c: (gst_utils_suite):
4643           don't build the part that needs parsing
4644
4645 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
4646
4647         * gst/Makefile.am
4648         * tests/examples/Makefile.am:
4649           fix --disable-parse build
4650
4651 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
4652
4653         * tools/gst-feedback.1.in:
4654           Fix typo: s/feeback/feedback/ (#133494).
4655
4656 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
4657
4658         * tools/Makefile.am:
4659         * tools/gst-launch.1.in:
4660           Add FILES section and correct entry about GST_REGISTRY_PATH
4661           environment variable (#133495; #133494).
4662
4663 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
4664
4665         * tools/Makefile.am:
4666         * tools/gst-md5sum.1.in:
4667         * tools/gst-md5sum.c:
4668           Remove gst-md5sum and man page (the md5sink element
4669           required was removed ages ago)
4670
4671 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
4672
4673         * gst/gststructure.c: (gst_structure_id_set_value):
4674           Make sure that string fields in structures/taglists
4675           contain valid UTF-8 - we don't want to pass rubbish to
4676           applications because of a buggy plugin (cp. #334167).
4677
4678 2006-03-21  Edward Hervey  <edward@fluendo.com>
4679
4680         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
4681         (gst_bin_handle_message_func):
4682         * gst/gstclock.c: (gst_clock_dispose), (gst_clock_set_master):
4683         * gst/gstelement.c: (gst_element_set_clock), (gst_element_dispose),
4684         (gst_element_set_bus_func):
4685         * gst/gstghostpad.c: (gst_proxy_pad_dispose):
4686         * gst/gstminiobject.c: (gst_value_set_mini_object),
4687         (gst_value_take_mini_object):
4688         * gst/gstpad.c: (gst_pad_set_pad_template):
4689         * gst/gstpipeline.c: (gst_pipeline_dispose),
4690         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
4691         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop),
4692         (gst_collect_pads_chain):
4693         * libs/gst/net/gstnettimeprovider.c:
4694         (gst_net_time_provider_set_property):
4695         Series of fixes for dereferenced pointers that gcc 4.1 complains about.
4696         It's in fact all issues with gst_*object_replace().
4697
4698 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
4699
4700         Patch by: Loïc Minier  <lool + gnome at via dot ecp dot fr>
4701         
4702         * pkgconfig/gstreamer-check-uninstalled.pc.in:
4703         * pkgconfig/gstreamer-check.pc.in:
4704           Use @CHECK_LIBS@ here instead of hard-coding -lcheck (#334109).
4705
4706 2006-03-21  Edward Hervey  <edward@fluendo.com>
4707
4708         * gst/gstbuffer.h:
4709         * gst/gstevent.h:
4710         * gst/gstmessage.h:
4711         gst_[buffer|event|message]_ref() macros are replaced by a static
4712         inline functions because gcc-4.1 will about if the return value
4713         isn't used.
4714         * tests/check/gst/gstevent.c: (event_probe):
4715         gst_event_ref now has to be given a GstEvent* , fix check accordingly.
4716
4717 2006-03-20  Jan Schmidt  <thaytan@mad.scientist.com>
4718
4719         * gst/gstutils.h:
4720         Add G_UNLIKELY to our boilerplate to optimise the 'already registered
4721         the type' case. (Closes: #335195 for now). In the future, when we
4722         depend on GLib 2.10, we could also intern the type name using
4723         g_intern_static_string()
4724
4725 2006-03-20  Wim Taymans  <wim@fluendo.com>
4726
4727         * gst/gstbin.c: (gst_bin_handle_message_func),
4728         (bin_query_max_init), (bin_query_position_fold),
4729         (bin_query_position_done), (gst_bin_query):
4730         Position query should also take max of all streams.
4731
4732 2006-03-20  Wim Taymans  <wim@fluendo.com>
4733
4734         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
4735         (gst_fake_src_finalize):
4736         Fix leaks in fakesrc.
4737
4738         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
4739         Fix leaks in the testcase.
4740
4741 2006-03-19  Sebastien Moutte  <sebastien@moutte.net>
4742
4743         * gst/gst_private.h:
4744           add win32 specific import decoration(__declspec(dllimport)) 
4745           for all extern GstDebugCategory * variables
4746         * win32/common/libgstbase.def:
4747         * win32/common/libgstcontroller.def:
4748         * win32/common/libgstreamer.def:
4749           Add some exports, remove empty lines
4750         * win32/common/libgstdataprotocol.def:
4751         * win32/common/libgstdataprotocol.dsp:
4752         * win32/common/libgstnet.def:
4753         * win32/common/libgstnet.dsp:
4754           new project files and exportation files added
4755         
4756 2006-03-19  Wim Taymans  <wim@fluendo.com>
4757
4758         * tests/check/libs/basesrc.c: (eos_event_counter):
4759         Use proper return value for probe.
4760
4761 2006-03-17  Wim Taymans  <wim@fluendo.com>
4762
4763         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
4764         (gst_pad_push):
4765         Don't leak buffers, caps and pads on negotiation errors.
4766
4767 2006-03-16  Stefan Kost  <ensonic@users.sf.net>
4768
4769         * docs/faq/cvs.xml:
4770         * docs/faq/dependencies.xml:
4771         * docs/faq/developing.xml:
4772         * docs/faq/faq.xml:
4773         * docs/faq/general.xml:
4774         * docs/faq/getting.xml:
4775         * docs/faq/legal.xml:
4776         * docs/faq/troubleshooting.xml:
4777         * docs/faq/using.xml:
4778         Faq review and update.
4779
4780 2006-03-16  Jan Schmidt  <thaytan@mad.scientist.com>
4781
4782         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
4783         (gst_pad_push):
4784         Don't pound the cpu to pieces by checking get_caps when accept_caps
4785         is called with the same caps as the pad already has.
4786         Use GST_DEBUG_OBJECT when outputting caps change information.
4787
4788 2006-03-15  Wim Taymans  <wim@fluendo.com>
4789
4790         * gst/gstclock.c: (gst_clock_class_init):
4791         Fix docs.
4792
4793 2006-03-15  Jan Schmidt  <thaytan@mad.scientist.com>
4794
4795         * gst/gstbuffer.h:
4796         Documentation fix.
4797
4798         * gst/gstpad.c: (gst_pad_init), (gst_pad_acceptcaps_default),
4799         (gst_pad_accept_caps), (gst_pad_configure_sink),
4800         (gst_pad_configure_src), (gst_pad_chain), (gst_pad_push):
4801         Make the default acceptcaps behaviour be to check the requested 
4802         caps against the gst_pad_get_caps output. 
4803
4804         Ensure that gst_pad_accept_caps is used to check caps when a pad
4805         doesn't have a setcaps function, so that pads automatically refuse 
4806         caps that they don't allow in their pad template. (Fixes #332986)
4807
4808         When a buffer with attached caps is pushed, ensure that the source 
4809         pad receives those caps even if the element didn't call
4810         gst_pad_set_caps first.
4811
4812 2006-03-15  Wim Taymans  <wim@fluendo.com>
4813
4814         * libs/gst/base/gstadapter.c:
4815         Add some docs.
4816
4817 2006-03-15  Tim-Philipp Müller  <tim at centricular dot net>
4818
4819         * win32/common/libgstbase.def:
4820         * win32/common/libgstcontroller.def:
4821         * win32/common/libgstreamer.def:
4822           Add a whole bunch of missing functions (#334434).
4823
4824 2006-03-14  Wim Taymans  <wim@fluendo.com>
4825
4826         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
4827         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
4828         (gst_base_sink_do_sync), (gst_base_sink_do_qos):
4829         Better debug info when we receive a segment event.
4830         Reorganize a bit so we can pass the get_times() results around.
4831         Use the segment format when calculating the running time.
4832         Don't do QoS is sync is disabled or we have no clock or the
4833         element does not want us to sync to the clock.
4834         Don't drop buffers if QoS is disabled for now.
4835
4836 2006-03-14  Wim Taymans  <wim@fluendo.com>
4837
4838         * gst/gstclock.c: (gst_clock_class_init), (do_linear_regression):
4839         Marked the stats property as unimplemented so people don't get
4840         wild ideas.
4841         Add debug message when regression goes wrong.
4842         Added some more docs.
4843
4844 2006-03-14  Wim Taymans  <wim@fluendo.com>
4845
4846         * gst/gstsegment.c: (gst_segment_to_stream_time):
4847         Return correct return type in case of errors.
4848
4849 2006-03-14  Wim Taymans  <wim@fluendo.com>
4850
4851         * gst/gstformat.c: (gst_format_get_name), (gst_format_to_quark):
4852           Don't segfault on invalid formats.
4853
4854 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
4855
4856         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
4857           Can't use gst_segment_to_running_time() when the segment
4858           is not in GST_TIME_FORMAT (like with filesink, for example).
4859           Stops flac encoding pipelines from spewing critical warnings
4860           at EOS (#331248).
4861           
4862 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
4863
4864         * gst/gstpipeline.c: (gst_pipeline_class_init):
4865           Add 'Since: 0.10.5' to gtk-doc blurb for added property.
4866
4867         * plugins/elements/gsttypefindelement.c:
4868         (gst_type_find_element_handle_event):
4869           Don't try to typefind empty streams.
4870
4871 2006-03-14  Wim Taymans  <wim@fluendo.com>
4872
4873         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
4874         (gst_base_sink_do_qos):
4875         Separate QoS calculation.
4876         Only drop buffers when lateness is bigger than the 
4877         duration of the buffer.
4878
4879 2006-03-13  Wim Taymans  <wim@fluendo.com>
4880
4881         * gst/gstpipeline.c: (gst_pipeline_set_property),
4882         (gst_pipeline_get_property), (do_pipeline_seek),
4883         (gst_pipeline_change_state), (gst_pipeline_set_delay),
4884         (gst_pipeline_get_delay):
4885         Don't deadlock when reading properties.
4886
4887 2006-03-13  Wim Taymans  <wim@fluendo.com>
4888
4889         * libs/gst/base/gstbasetransform.c:
4890         (gst_base_transform_class_init), (gst_base_transform_init),
4891         (gst_base_transform_sink_event),
4892         (gst_base_transform_sink_eventfunc),
4893         (gst_base_transform_src_event), (gst_base_transform_src_eventfunc),
4894         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
4895         (gst_base_transform_set_property),
4896         (gst_base_transform_get_property),
4897         (gst_base_transform_change_state), (gst_base_transform_update_qos),
4898         (gst_base_transform_set_qos_enabled),
4899         (gst_base_transform_is_qos_enabled):
4900         * libs/gst/base/gstbasetransform.h:
4901         Make basetransform virtual method for src events too.
4902         Handle QOS in basetransform.
4903         API: gst_base_transform_update_qos()
4904         API: gst_base_transform_set_qos_enabled()
4905         API: gst_base_transform_is_qos_enabled()
4906
4907 2006-03-13  Wim Taymans  <wim@fluendo.com>
4908
4909         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
4910         (gst_base_sink_do_sync):
4911         Small cleanups.
4912         Use QOS debug category.
4913
4914 2006-03-13  Wim Taymans  <wim@fluendo.com>
4915
4916         * plugins/elements/gstqueue.c:
4917         Very small doc update.
4918
4919 2006-03-13  Wim Taymans  <wim@fluendo.com>
4920
4921         * gst/gst_private.h:
4922         * gst/gstinfo.c: (_gst_debug_init):
4923         Added QOS debug category
4924
4925 2006-03-13  Wim Taymans  <wim@fluendo.com>
4926
4927         * docs/gst/gstreamer-sections.txt:
4928         * gst/gstbin.c: (bin_bus_handler), (gst_bin_handle_message_func):
4929         * gst/gstbin.h:
4930         * gst/gstbus.c: (gst_bus_class_init):
4931         * gst/gstbus.h:
4932         * gst/gstclock.c:
4933         * gst/gstelement.c: (gst_element_set_locked_state):
4934         * gst/gstsegment.c:
4935         Documentation updates.
4936
4937         * gst/gstpipeline.c: (gst_pipeline_get_type),
4938         (gst_pipeline_class_init), (gst_pipeline_init),
4939         (gst_pipeline_dispose), (gst_pipeline_set_property),
4940         (gst_pipeline_get_property), (do_pipeline_seek),
4941         (gst_pipeline_send_event), (gst_pipeline_change_state),
4942         (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay),
4943         (gst_pipeline_get_delay):
4944         * gst/gstpipeline.h:
4945         Added methods for setting the delay.
4946         API: gst_pipeline_set_delay()
4947         API: gst_pipeline_get_delay()
4948         Add pipeline debug category
4949         Various cleanups.
4950         Updated docs.
4951         Don't reset stream time when seek failed.
4952
4953 2006-03-13  Wim Taymans  <wim@fluendo.com>
4954
4955         * docs/design/draft-klass.txt:
4956         * docs/design/part-clocks.txt:
4957         * docs/design/part-events.txt:
4958         * docs/design/part-gstbin.txt:
4959         * docs/design/part-gstpipeline.txt:
4960         * docs/design/part-messages.txt:
4961         * docs/design/part-negotiation.txt:
4962         * docs/design/part-overview.txt:
4963         * docs/design/part-preroll.txt:
4964         * docs/design/part-seeking.txt:
4965         * docs/design/part-states.txt:
4966         * docs/design/part-streams.txt:
4967         Documentation updates.
4968
4969 2006-03-12  Julien MOUTTE  <julien@moutte.net>
4970
4971         * gst/gsttaglist.c: Fix rubbish docs that are encouraging
4972         us to leak strings...
4973
4974 2006-03-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4975
4976         * libs/gst/net/gstnettimeprovider.c:
4977           fix docs
4978         * win32/common/config.h:
4979           update
4980
4981 2006-03-12  Tim-Philipp Müller  <tim at centricular dot net>
4982
4983         Patch by: Julio M. Merino Vidal <jmmv at netbsd org>
4984
4985         * configure.ac:
4986           Don't check for libgnomeui (leftover from old examples
4987           that aren't built or disted any longer) (#334303).
4988           
4989 2006-03-11  Tim-Philipp Müller  <tim at centricular dot net>
4990
4991         * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
4992         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
4993           Emit RESOURCE_NO_SPACE_LEFT error here as well when
4994           there's no space left on the device.
4995
4996 2006-03-10  Tim-Philipp Müller  <tim at centricular dot net>
4997
4998         * gst/gstclock.h:
4999           Fix GST_CLOCK_TIME_IS_VALID signedness issues - we need
5000           to cast the input to GstClockTime before comparing with
5001           another GstClockTime value.
5002
5003 2006-03-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5004
5005         * configure.ac:
5006           back to trunk
5007
5008 === release 0.10.4 ===
5009
5010 2006-03-10  Thomas Vander Stichele <thomas at apestaart dot org>
5011
5012         * configure.ac:
5013           releasing 0.10.4, "Light"
5014
5015 2006-03-10  Michael Smith  <msmith@fluendo.com>
5016
5017         * libs/gst/dataprotocol/dataprotocol.c:
5018           Fix docs for dataprocotol to not get the return types completely
5019           wrong for a few functions.
5020
5021 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
5022
5023         * docs/gst/gstreamer-sections.txt:
5024         * gst/gstpipeline.c: (gst_pipeline_class_init),
5025         (gst_pipeline_init), (gst_pipeline_set_property),
5026         (gst_pipeline_get_property), (gst_pipeline_change_state),
5027         (gst_pipeline_set_auto_flush_bus),
5028         (gst_pipeline_get_auto_flush_bus):
5029         * gst/gstpipeline.h:
5030           Add new API: gst_pipeline_set_auto_flush_bus() and
5031           gst_pipeline_get_auto_flush_bus() to disable automatic
5032           flushing of the pipeline's GstBus when going from READY
5033           to NULL state (#332045).
5034
5035 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
5036
5037         * docs/gst/gstreamer-sections.txt:
5038         * gst/gsturi.c: (gst_uri_has_protocol):
5039         * gst/gsturi.h:
5040            Add new API: gst_uri_has_protocol() (#333779).
5041
5042 2006-03-09  Wim Taymans  <wim@fluendo.com>
5043
5044         * gst/gstclock.c: (gst_clock_entry_new),
5045         (gst_clock_id_compare_func), (gst_clock_id_wait),
5046         (gst_clock_id_wait_async), (gst_clock_id_unschedule),
5047         (gst_clock_init), (gst_clock_get_internal_time),
5048         (gst_clock_set_master), (do_linear_regression),
5049         (gst_clock_add_observation), (gst_clock_set_property):
5050         * gst/gstclock.h:
5051         Review docs.
5052         Small cleanups.
5053         Fix a possible segfault when the window-size is made smaller.
5054         Calculate jitter before performing the clock wait. Ideally
5055         the clock implementation should calculate jitter but we need
5056         API breakage for that.
5057
5058         * gst/gstsystemclock.c: (gst_system_clock_init):
5059         Docs review.
5060         
5061         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
5062         Remove leftover else
5063
5064         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
5065         (gst_systemclock_suite):
5066         Added check to test GST_CLOCK_DIFF.
5067
5068 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
5069
5070         * libs/gst/base/gsttypefindhelper.c: (helper_find_get_length),
5071         (gst_type_find_helper_get_range):
5072           If we are provided with the size, we should implement
5073           GstTypeFind::get_length, so that typefind functions who
5074           want to can actually peek at the middle of a file.
5075
5076 2006-03-08  Tim-Philipp Müller  <tim at centricular dot net>
5077
5078         * docs/manual/advanced-dataaccess.xml:
5079           Add some very very basic error checking.
5080
5081         * docs/pwg/appendix-checklist.xml:
5082           Some updates to the list of things to check when writing an element.
5083
5084 2006-03-08  Wim Taymans  <wim@fluendo.com>
5085
5086         * docs/design/part-element-transform.txt:
5087         Added some docs about the design of tranform elements.
5088
5089         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
5090         (gst_base_src_loop), (gst_base_src_change_state):
5091         Mark buffers with the DISCONT flag.
5092
5093 2006-03-08  Michael Smith  <msmith@fluendo.com>
5094
5095         * gst/gstregistry.h:
5096         * gst/gstregistryxml.c: (gst_registry_save),
5097         (gst_registry_save_escaped), (gst_registry_xml_save_caps),
5098         (gst_registry_xml_save_pad_template),
5099         (gst_registry_xml_save_feature), (gst_registry_xml_save_plugin),
5100         (gst_registry_xml_write_cache):
5101           Rewrite registry-saving to avoid race conditions and check for
5102           failed writes.
5103
5104 2006-03-08  Wim Taymans  <wim@fluendo.com>
5105
5106         * libs/gst/base/gstbasetransform.c:
5107         (gst_base_transform_transform_caps),
5108         (gst_base_transform_transform_size),
5109         (gst_base_transform_prepare_output_buffer),
5110         (gst_base_transform_get_unit_size),
5111         (gst_base_transform_buffer_alloc),
5112         (gst_base_transform_handle_buffer),
5113         (gst_base_transform_change_state):
5114         Cleanups, separate normal flow from errors, add sensible
5115         DEBUG lines.
5116         Don't try to renegotiate when allocating an output buffer.
5117         Also copy DISCONT buffer flag when copying a buffer.
5118         Reset the transform after we finish streaming, not during.
5119
5120 2006-03-08  Wim Taymans  <wim@fluendo.com>
5121
5122         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
5123         Use last buffer timestamp in qos message.
5124
5125 2006-03-07  Wim Taymans  <wim@fluendo.com>
5126
5127         Patch by: Christophe Fergeau
5128
5129         * docs/pwg/advanced-tagging.xml:
5130         * docs/pwg/building-pads.xml:
5131           fixes #333416
5132
5133 2006-03-07  Wim Taymans  <wim@fluendo.com>
5134
5135         * docs/libs/gstreamer-libs-sections.txt:
5136         Added basesink new methods.
5137
5138         * gst/gstevent.c:
5139         * gst/gstevent.h:
5140         Docs updates. Flesh out the QoS docs.
5141
5142         * libs/gst/base/gstadapter.c:
5143         Small doc clarification about ownership and flushing.
5144
5145         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_sync),
5146         (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
5147         (gst_base_sink_get_max_lateness), (gst_base_sink_set_property),
5148         (gst_base_sink_get_property), (gst_base_sink_do_sync):
5149         * libs/gst/base/gstbasesink.h:
5150         API additions: 
5151         Added new methods to allow subclass to control max-lateness 
5152         and sync.
5153         Generate very basic QoS events based on last sync observation.
5154         Updated docs, fix typo, added some QoS blurb.
5155
5156         * libs/gst/base/gstbasesrc.c:
5157         Remove obsolete _get_state() calls from docs.
5158
5159 2006-03-07  Wim Taymans  <wim@fluendo.com>
5160
5161         * docs/libs/gstreamer-libs-sections.txt:
5162         * libs/gst/base/gstbasetransform.h:
5163         API addition: Fix #333669, Add pad accessor defines for GstBaseTransform
5164         Fix docs for GstBaseSrc.
5165
5166 2006-03-07  Wim Taymans  <wim@fluendo.com>
5167
5168         * docs/gst/gstreamer-sections.txt:
5169         * gst/gstbuffer.h:
5170         * gst/gstvalue.c:
5171         * libs/gst/base/gstbasetransform.h:
5172         Small documentation fixes.
5173
5174 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
5175
5176         * gst/gstvalue.c:
5177           Document thread-unsafety of gst_value_register_foo_func()
5178           when used at the same time as gst_value_foo() (#322628).
5179
5180 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
5181
5182         * libs/gst/base/gstpushsrc.c: (gst_push_src_class_init),
5183         (gst_push_src_check_get_range):
5184           Push sources don't support pull mode by default.
5185
5186 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
5187
5188         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
5189         (gst_base_src_init), (gst_base_src_pad_check_get_range),
5190         (gst_base_src_default_check_get_range):
5191         * libs/gst/base/gstbasesrc.h:
5192           API addition:  Add ::check_get_range() vfunc to GstBaseSrc (#332611),
5193           provide default implementation, and rename
5194           gst_base_src_check_get_range() to
5195           gst_base_src_pad_check_get_range() for clarity.
5196
5197 2006-03-06  Wim Taymans  <wim@fluendo.com>
5198
5199         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
5200         Make property overridable.
5201
5202 2006-03-06  Wim Taymans  <wim@fluendo.com>
5203
5204         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
5205         (gst_base_sink_init), (gst_base_sink_set_property),
5206         (gst_base_sink_get_property), (gst_base_sink_do_sync):
5207         * libs/gst/base/gstbasesink.h:
5208         API addition: Make max-lateness a property.
5209
5210 2006-03-06  Wim Taymans  <wim@fluendo.com>
5211
5212         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock),
5213         (gst_base_sink_do_sync), (gst_base_sink_render_object):
5214         Don't ever draw a frame that is >10ms late.
5215
5216 2006-03-06  Michael Smith  <msmith@fluendo.com>
5217
5218         * gst/gstmessage.c: (_gst_message_copy):
5219           When copying a message, set the parent_refcount of the enclosed
5220           structure to point at the copy, not the original message.
5221
5222 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
5223
5224         Patch by: Christophe Fergeau
5225
5226         * gst/gstutils.h:
5227           Do proper cast here to make GST_BOILERPLATE_WITH_INTERFACE
5228           usable in c++ code (#333417)
5229
5230 2006-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5231
5232         * gst/gstclock.h:
5233           Show GST_CLOCK_TIME_NONE as 99:99:99.999999999
5234
5235 2006-03-05  Tim-Philipp Müller  <tim at centricular dot net>
5236
5237         * libs/gst/base/gstbasetransform.c:
5238         (gst_base_transform_transform_caps):
5239           Make sure caps are writable before passing them to
5240           gst_caps_append().
5241
5242 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
5243
5244         * gst/gsterror.h:
5245           Fix some minor docs errors.
5246
5247 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
5248
5249           Patch by: Ross Burton <ross at burtonini dot com>
5250
5251         * gst/gsterror.c: (_gst_resource_errors_init):
5252         * gst/gsterror.h:
5253           Add GST_RESOURCE_ERROR_NO_SPACE_LEFT (for #333352;
5254
5255 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
5256
5257         * gst/gst.c:
5258         Add a check and output a g_warning when GStreamer is built
5259         against GLib 2.6 but running against 2.8 or higher, and vice 
5260         versa. (Closes: #323542)
5261
5262 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
5263
5264         * gst/parse/parse.l:
5265           Commit patch for parse_launch syntax from #331255. Removes 
5266           support for quoted strings and mimetypes when writing filtered 
5267           caps. See the bug report for more details - I'm pretty sure this
5268           obscure feature is not in use by _anyone_ anywhere.
5269
5270           With this simple change, the size of the gstreamer.so here 
5271           drops from 2193KB to 1565KB.
5272
5273 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
5274
5275         * plugins/elements/gsttypefindelement.h:
5276         * plugins/elements/gsttypefindelement.c:
5277         (gst_type_find_element_src_event), (start_typefinding),
5278         (stop_typefinding), (gst_type_find_element_handle_event),
5279         (gst_type_find_element_chain),
5280         (gst_type_find_element_chain_do_typefinding):
5281           Use gst_type_find_helper_for_buffer() for chain-based
5282           typefinding.
5283
5284 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
5285
5286         * plugins/elements/gsttypefindelement.c:
5287         (gst_type_find_element_class_init),
5288         (gst_type_find_element_set_property),
5289         (gst_type_find_element_get_property):
5290           Deprecate "maximum" property (not only was it only taken into
5291           account for typefinding in push-mode anyway, it also was never
5292           actually possible to set it in the first place because the
5293           property was registered with the numeric property ID for the
5294           "minimum" property). Register "maximum" property correctly,
5295           for the sake of future copy'n'pasters. Remove some cruft
5296           from property get/set functions.
5297
5298 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
5299
5300         * plugins/elements/gsttypefindelement.c:
5301         (gst_type_find_element_activate):
5302           Use gst_type_find_helper_get_range() here, so we
5303           can honour the "minimum" property and also emit
5304           the signal with the correct probability of the found caps.
5305
5306 2006-03-02  Tim-Philipp Müller  <tim at centricular dot net>
5307
5308         * docs/libs/gstreamer-libs-sections.txt:
5309         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
5310         (helper_find_suggest), (gst_type_find_helper_get_range),
5311         (gst_type_find_helper):
5312         * libs/gst/base/gsttypefindhelper.h:
5313           New API: gst_type_find_helper_get_range() (#333042).
5314
5315 2006-03-02  Michael Smith  <msmith@fluendo.com>
5316
5317         * gst/gstregistryxml.c: (load_feature):
5318           Asserting on a failure to read part of the registry is Not Cool.
5319           Just log a warning and return NULL (which is already handled)
5320
5321 2006-02-28  Sebastien Moutte  <sebastien@moutte.net>
5322
5323         * win32/common/libgstbase.def:
5324           added export of gst_type_find_helper_for_buffer
5325         * win32/common/libgstbase.def:
5326           added some exports : gst_bin_iterate_elements, gst_iterator_resync,
5327           gst_ghost_pad_get_target
5328
5329 2006-02-28  Wim Taymans  <wim@fluendo.com>
5330
5331         * docs/design/draft-klass.txt:
5332         We use Filter now.
5333         Added Connector to mark elements that are only used to
5334         allow pipeline connections.
5335         Moved Debug to extra feature since most of them are 
5336         functionally something else.
5337
5338 2006-02-28  Wim Taymans  <wim@fluendo.com>
5339
5340         * docs/design/draft-klass.txt:
5341         Some updates and clarifications.
5342
5343 2006-02-28  Wim Taymans  <wim@fluendo.com>
5344
5345         * docs/design/draft-klass.txt:
5346         Proposal for klass field values.
5347
5348         * docs/design/part-streams.txt:
5349         Start of a doc describing stream anatomy.
5350
5351 2006-02-28  Wim Taymans  <wim@fluendo.com>
5352
5353         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_handle_message_func):
5354         Help the compiler a bit with type registration.
5355         Use existing forward cod path instead of duplicating it when 
5356         handling a message.
5357         
5358         * gst/gstbus.c: (gst_bus_get_type):
5359         * gst/gstcaps.c: (gst_caps_get_type), (gst_static_caps_get_type):
5360         * gst/gstchildproxy.c: (gst_child_proxy_get_type):
5361         * gst/gstclock.c: (gst_clock_get_type):
5362         * gst/gstelement.c: (gst_element_get_type),
5363         * gst/gstelementfactory.c: (gst_element_factory_get_type):
5364         * gst/gstindexfactory.c: (gst_index_factory_get_type):
5365         * gst/gstminiobject.c: (gst_mini_object_get_type):
5366         * gst/gstpad.c: (gst_pad_get_type):
5367         * gst/gstsegment.c: (gst_segment_get_type):
5368         * gst/gststructure.c: (gst_structure_get_type):
5369         * gst/gstsystemclock.c: (gst_system_clock_get_type):
5370         * gst/gsttask.c: (gst_task_get_type), (gst_task_join):
5371         * gst/gstvalue.c:
5372         Help compiler with type registration.
5373
5374         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
5375         Small doc update.
5376
5377 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
5378
5379         * plugins/elements/gsttypefindelement.c:
5380         (gst_type_find_element_handle_event):
5381           When we get an EOS event and have not found a type yet
5382           (most likely because we had not yet accumulated
5383           TYPE_FIND_MIN_SIZE of data yet), try to determine the
5384           type given the data we have so far. Fixes typefinding
5385           for very short streams again, most notably quicktime
5386           redirections as used on Apple's trailer site (#331701).
5387
5388 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
5389
5390         * libs/gst/base/gsttypefindhelper.c: (type_find_factory_rank_cmp),
5391         (gst_type_find_helper):
5392           Try typefinding factories with the highest rank first.
5393
5394 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
5395
5396         * docs/libs/gstreamer-libs-docs.sgml:
5397         * docs/libs/gstreamer-libs-sections.txt:
5398         * libs/gst/base/gsttypefindhelper.c:
5399           Add section for typefind helper and add documentation
5400           for the old and the new function.
5401
5402 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
5403
5404         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek),
5405         (buf_helper_find_suggest), (type_find_factory_rank_cmp),
5406         (gst_type_find_helper_for_buffer):
5407         * libs/gst/base/gsttypefindhelper.h:
5408           New API: gst_type_find_helper_for_buffer() (#332723).
5409           
5410 2006-02-27  Michael Smith  <msmith@fluendo.com>
5411
5412         Patch by: Loïc Minier
5413
5414         * configure.ac:
5415         * docs/Makefile.am:
5416         * docs/slides/Makefile.am:
5417           prevent CVS directories getting disted.
5418
5419 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
5420
5421         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref):
5422           Use the REFCOUNTING category for caps refcounting.
5423           
5424 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
5425
5426         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
5427           This should be 0 not GST_CLOCK_TIME_NONE (see #331701).
5428
5429 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
5430
5431         * plugins/elements/gsttypefindelement.c:
5432         (gst_type_find_element_activate):
5433           Use gst_pad_check_pull_range() before _activate_pull()
5434           to avoid unnecessary open/close (see #331690).
5435
5436 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
5437
5438         * gst/gstutils.c:
5439           Docs enhancement: make it crystal clear what the
5440           gst_pad_add_*_probe() callbacks should look like.
5441
5442 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
5443
5444         * libs/gst/base/gstbasesrc.c:
5445           Document how applications can stop recording from
5446           live sources (see #330996).
5447
5448 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
5449
5450         * tests/check/Makefile.am:
5451         * tests/check/libs/basesrc.c: (eos_event_counter),
5452         (basesrc_eos_events_pull), (basesrc_eos_events_push),
5453         (basesrc_eos_events_push_live_op), (basesrc_eos_events_pull_live_op),
5454         (gst_basesrc_suite), (main):
5455           ... and add some tests for the base source EOS stuff.
5456
5457 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
5458
5459         * tests/check/gst/gstutils.c: (test_buffer_probe_n_times):
5460           Test case originally showed the problem fixed below,
5461           but was then amended. Add checks back at the place
5462           where they used to be.
5463
5464 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
5465
5466         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
5467         (gst_base_src_init), (gst_base_src_loop),
5468         (gst_base_src_activate_push), (gst_base_src_activate_pull),
5469         (gst_base_src_change_state):
5470         * libs/gst/base/gstbasesrc.h:
5471           Don't unconditionally send EOS when going from PAUSED to
5472           READY state, esp. make sure we don't send two EOS events
5473           in some cases (e.g. one when reaching EOS and one when
5474           going from PAUSED to READY). Also, we don't want to send
5475           EOS events when operating in pull mode. However, we do
5476           want to send an EOS event when shutting down a live
5477           source explicitly, for example (fixes #330996).
5478           
5479 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
5480
5481         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
5482           Update src->read_position after a seek when not using mmap.
5483           Fixes #332277, patch by: Renchi Raju <renchi gmail com>
5484
5485 2006-02-21  Jan Schmidt  <thaytan@mad.scientist.com>
5486
5487         * gst/Makefile.am:
5488         * gst/gstparse.h:
5489         * gst/gstutils.c:
5490         * gst/gstutils.h:
5491         Make things work with --disable-parse as they do with 
5492         --disable-load-save - the symbols involved disappear, but the
5493         header is still installed and GST_DISABLE_PARSE is included via
5494         gstconfig.h
5495
5496 2006-02-20  Julien MOUTTE  <julien@moutte.net>
5497
5498         * libs/gst/base/gstbasetransform.c:
5499         (gst_base_transform_change_state): Fix a stupid bug. I was 
5500         sure I compiled that.
5501
5502 2006-02-20  Julien MOUTTE  <julien@moutte.net>
5503
5504         * gst/gstpad.c: (gst_pad_set_blocked_async):
5505         * gst/gstutils.c: (gst_pad_add_data_probe),
5506         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
5507         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
5508         (gst_pad_remove_buffer_probe): Make those function act on the
5509         ghostpad target when it's a ghostpad. (Closes #331727)
5510
5511 2006-02-20  Julien MOUTTE  <julien@moutte.net>
5512
5513         * libs/gst/base/gstbasetransform.c:
5514         (gst_base_transform_change_state): Make basetransform reusable.
5515         (Closes #331898)
5516
5517 2006-02-20  Jan Schmidt  <thaytan@mad.scientist.com>
5518
5519         * docs/random/release:
5520         Move the current documentation of how to do a release to the top
5521         of the file.
5522
5523         * gst/gstbin.c: (gst_bin_class_init),
5524         (gst_bin_handle_message_func):
5525         Allow multiple state-recalculation threads. (Closes #328873)
5526
5527 2006-02-19  Julien MOUTTE  <julien@moutte.net>
5528
5529         * gst/gstinfo.h: Add GST_STR_NULL to the second string.
5530         * gst/gstpad.c: (gst_pad_set_event_function),
5531         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
5532         (gst_pad_set_getcaps_function): GST_DEBUG_PAD_NAME evaluates to
5533         2 strings. You can't use the STR_NULL macro on that.
5534
5535 2006-02-19  Sebastien Moutte <sebastien@moutte.net>
5536
5537         * gst/gstpad.c: (gst_pad_set_event_function),
5538         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
5539         (gst_pad_set_getcaps_function)
5540         * gst/parse/grammar.y: (gst_parse_found_pad), (gst_parse_perform_delayed_link)
5541           Fixed NULL pointer used in GST_CAT_DEBUG using GST_STR_NULL macro
5542           So now, we can use --gst-debug-level=5 on Windows
5543         * win32/common/libgstcontroller.def:
5544           Added export of gst_controller_init
5545         * win32/vs6/libgstcontroller.dsp:
5546           Fixed Release post build configuration
5547
5548 2006-02-17  Wim Taymans  <wim@fluendo.com>
5549
5550         * tests/check/gst/gstquery.c: (GST_START_TEST):
5551         Added another check.
5552
5553 2006-02-15  Tim-Philipp Müller  <tim at centricular dot net>
5554
5555         * plugins/elements/gsttypefindelement.c: (find_peek):
5556           We can do peeks at non-zero offsets, as long as they
5557           fall within the buffer we have.
5558
5559 2006-02-15  Jan Schmidt  <thaytan@mad.scientist.com>
5560
5561         * tests/check/Makefile.am:
5562         * tests/check/pipelines/parse-launch.c: (setup_pipeline),
5563         (expected_fail_pipe), (check_pipeline_runs), (GST_START_TEST),
5564         (parse_suite), (main):
5565           Add testsuite for parse launch syntax
5566
5567 2006-02-14  Tim-Philipp Müller  <tim at centricular dot net>
5568
5569         * plugins/elements/gsttypefindelement.c:
5570         (gst_type_find_element_chain):
5571           When typefinding is unsuccessful in the chain function, don't
5572           error out immediately. Only error out with NO_CAPS_FOUND if
5573           the amount of data is at least MAX_TYPEFIND_SIZE bytes,
5574           otherwise simply wait for more data so we can try typefinding
5575           again with more data later. Also, don't attempt to typefind
5576           if we have less than MIN_TYPEFIND_SIZE data available. Overall,
5577           this should improve typefinding from network sources where the
5578           size of the first buffer can be somewhat random.
5579
5580 2006-02-14  Wim Taymans  <wim@fluendo.com>
5581
5582         * docs/gst/gstreamer-sections.txt:
5583         * gst/gstpadtemplate.c:
5584         * gst/gstpadtemplate.h:
5585         Fix padtemplate docs, fixes #328805.
5586
5587 2006-02-14  Wim Taymans  <wim@fluendo.com>
5588
5589         * tools/gst-launch.c: (main):
5590         NO_PREROLL is not an ERROR so don't send confusing messages
5591         to the user.
5592
5593 2006-02-14  Wim Taymans  <wim@fluendo.com>
5594
5595         Patch by: Torsten Schoenfeld
5596
5597         * gst/gstregistry.c: (gst_registry_get_default),
5598         (_gst_registry_cleanup):
5599         Protect default registry with lock and ref/sink it.
5600         Fixes #324818
5601
5602 2006-02-14  Wim Taymans  <wim@fluendo.com>
5603
5604         * gst/gstbuffer.c:
5605         * gst/gstquery.c: (gst_query_list_add_format),
5606         (gst_query_set_formatsv), (gst_query_parse_formats_length),
5607         (gst_query_parse_formats_nth):
5608         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
5609         Docs fixes.
5610
5611 2006-02-14  Wim Taymans  <wim@fluendo.com>
5612
5613         * docs/gst/gstreamer-sections.txt:
5614         Reworked query docs.
5615
5616         * gst/gstquery.c: (gst_query_new_formats),
5617         (gst_query_list_add_format), (gst_query_set_formats),
5618         (gst_query_set_formatsv), (gst_query_parse_formats_length),
5619         (gst_query_parse_formats_nth):
5620         * gst/gstquery.h:
5621         Flesh out formats query, added some new methods.
5622         Fix part of #324398.
5623
5624         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite):
5625         Added query creation tests.
5626
5627 2006-02-14  Jan Schmidt  <thaytan@mad.scientist.com>
5628
5629         * gst/gstpad.c: (fixate_value):
5630         Add a default fixation for fraction lists.
5631
5632 2006-02-13  Wim Taymans  <wim@fluendo.com>
5633
5634         * gst/gsttask.c: (gst_task_init), (gst_task_func),
5635         (gst_task_set_lock), (gst_task_start), (gst_task_pause),
5636         (gst_task_join):
5637         * gst/gsttask.h:
5638         Detect and warn for obvious deadlocks. fixes #320340
5639         Fix error case where lock was not released.
5640
5641         * tests/check/Makefile.am:
5642         * tests/check/gst/gsttask.c: (task_func2), (GST_START_TEST),
5643         (task_func), (gst_element_suite), (main):
5644         Add task check.
5645
5646 2006-02-13  Wim Taymans  <wim@fluendo.com>
5647
5648         * docs/gst/gstreamer-sections.txt:
5649         * gst/gstbus.c:
5650         Add new functions to docs.
5651
5652 2006-02-13  Wim Taymans  <wim@fluendo.com>
5653
5654         * docs/design/part-TODO.txt:
5655         Updated TODO list, basesrc supports seeking to non-bytes
5656         formats.
5657
5658         * docs/design/part-element-sink.txt:
5659         Update docs.
5660
5661         * gst/gstbin.c: (bin_replace_message),
5662         (gst_bin_handle_message_func):
5663         * gst/gstbus.c: (gst_bus_post), (gst_bus_pop):
5664         * gst/gstevent.c: (gst_event_finalize):
5665         * gst/gstpad.c: (gst_pad_event_default_dispatch),
5666         (gst_pad_send_event):
5667         Use shiny new _TYPE_NAME macros.
5668
5669         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
5670         Move debug statement up.
5671
5672         * gst/gstelement.c: (gst_element_set_locked_state):
5673         Add some debugging.
5674
5675 2006-02-13  Tim-Philipp Müller  <tim at centricular dot net>
5676
5677         * docs/gst/gstreamer-sections.txt:
5678         * gst/gstmessage.h:
5679         * gst/gstquery.h:
5680           New API: add GST_MESSAGE_TYPE_NAME and GST_QUERY_TYPE_NAME
5681           macros (#330906). Also, document the already existing
5682           GST_QUERY_TYPE macro.
5683
5684 2006-02-13  Wim Taymans  <wim@fluendo.com>
5685
5686         * tests/check/gst/gstutils.c: (data_probe), (buffer_probe),
5687         (event_probe), (GST_START_TEST):
5688         Only events up to the pipeline EOS are counted, there are
5689         some more when going to NULL currently which we don't care
5690         about for now.
5691
5692 2006-02-13  Wim Taymans  <wim@fluendo.com>
5693
5694         * gst/gstpad.c: (gst_pad_send_event):
5695         Correctly check flushing and emit probes. fixes #330125
5696
5697 2006-02-10  Andy Wingo  <wingo@pobox.com>
5698
5699         * gst/gstbus.c (gst_bus_class_init): Declare our private data
5700         structure.
5701         (gst_bus_init): Cache the location of the private data in the
5702         instance structure.
5703         (gst_bus_enable_sync_message_emission) 
5704         (gst_bus_disable_sync_message_emission): Implement new public
5705         functions.
5706         (gst_bus_post): Emit the sync-message signal if the user asked for
5707         it. Fixes #330684.
5708
5709         * gst/gstbus.h (GstBus): Use a padding pointer to cache the
5710         location of the bus-private structure.
5711         (gst_bus_enable_sync_message_emission)
5712         (gst_bus_disable_sync_message_emission): API addition
5713
5714 2006-02-10  Jan Schmidt  <thaytan@mad.scientist.com>
5715
5716         Patch by: Vincent Torri
5717
5718         * docs/pwg/building-boiler.xml:
5719         PWG patch from #326800
5720
5721 2006-02-09  Tim-Philipp Müller  <tim at centricular dot net>
5722
5723         * configure.ac:
5724         * docs/Makefile.am:
5725         * docs/design/Makefile.am:
5726           Dist design docs.
5727
5728 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
5729
5730         * configure.ac:
5731           back to CVS
5732
5733 === release 0.10.3 ===
5734
5735 2006-02-08  Jan Schmidt <thaytan@mad.scientist.com>
5736
5737         * configure.ac:
5738           releasing 0.10.3, "Like a virgin"
5739
5740 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
5741
5742         * configure.ac:
5743           2nd prerelease of 0.10.3
5744           Bump libtool versioning.
5745
5746 2006-02-07  Andy Wingo  <wingo@pobox.com>
5747
5748         * libs/gst/base/gstcollectpads.c (gst_collect_pads_chain): Only
5749         update last_stop if we're in TIME format and the timestamp is
5750         valid.
5751
5752         * libs/gst/base/gstcollectpads.c (gst_collect_pads_event) 
5753         * libs/gst/base/gstbasetransform.c (gst_base_transform_eventfunc): 
5754         * libs/gst/base/gstbasesink.c (gst_base_sink_configure_segment):
5755         If we get a new newsegment with a different format, adapt
5756         accordingly.
5757
5758         * gst/gstclock.c (gst_clock_set_calibration): Accept a numerator
5759         of 0. Not a problem, really.
5760
5761         * libs/gst/base/gstbasesink.c (gst_base_sink_chain_unlocked): Only
5762         warn if sync=true.
5763
5764 2006-02-06  Jan Schmidt  <thaytan@mad.scientist.com>
5765
5766         * configure.ac:
5767           Prelease of 0.10.3
5768
5769 2006-02-06  Sebastien Moutte  <sebastien@moutte.net>
5770
5771         * win32/vs7:
5772           project files updated to the default vs7 configuration
5773         * win32/common/libgstbase.def:
5774         * win32/common/libgstreamer.def:
5775           added new symbols,
5776           removed empty lines,
5777           sorted all exported symbols alphabetically
5778         * win32/common/dirent.c:
5779         * win32/common/dirent.h:
5780         * win32/common/gchar.h:
5781           use windows line end.
5782           
5783 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
5784
5785         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
5786           Send EOS event when stopping.
5787
5788 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
5789
5790         * docs/README:
5791           Tell folks what to do if the plugin-foobar.xml file
5792           hasn't been generated for a newly-added plugin.
5793
5794 2006-02-05  Julien MOUTTE  <julien@moutte.net>
5795
5796         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
5797         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
5798         (gst_collect_pads_start), (gst_collect_pads_stop),
5799         (gst_collect_pads_event): Collectpads now holds a reference
5800         to the GstPad that was added. Indeed we don't want to look
5801         at pads that might just go away with no warning...
5802
5803 2006-02-05  Julien MOUTTE  <julien@moutte.net>
5804
5805         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
5806         (gst_collect_pads_start), (gst_collect_pads_stop),
5807         (gst_collect_pads_event), (gst_collect_pads_chain):
5808         * libs/gst/base/gstcollectpads.h: Handle flush. Adapted from
5809         Mark Nauwelaerts's patch on bug #328491.
5810
5811 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
5812
5813         * tests/check/gst/gstutils.c: (test_parse_bin_from_description),
5814         (gst_utils_suite):
5815           Add some simple tests for gst_parse_bin_from_description() and
5816           gst_bin_find_unconnected_pad() (#329069).
5817
5818 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
5819
5820         * tools/gst-launch.c: (event_loop), (main):
5821           Catch errors during preroll (#320084).
5822
5823 2006-02-03  Tim-Philipp Müller  <tim at centricular dot net>
5824
5825         * plugins/elements/gsttypefindelement.c:
5826         (gst_type_find_element_activate):
5827           Post TYPE_NOT_FOUND error message when typefinding
5828           is unsuccessful in the activate function as well.
5829
5830 2006-02-02  Wim Taymans  <wim@fluendo.com>
5831
5832         * docs/design/part-element-sink.txt:
5833         Updated doc.
5834
5835 2006-02-02  Wim Taymans  <wim@fluendo.com>
5836
5837         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
5838         (gst_base_sink_render_object),
5839         (gst_base_sink_queue_object_unlocked):
5840         Only keep track of prerollable items when we are 
5841         prerolling.
5842         Before rendering after preroll, always check if we
5843         have queued items.
5844         Added some more debugging.
5845
5846 2006-02-02  Wim Taymans  <wim@fluendo.com>
5847
5848         * gst/gstelement.c: (gst_element_continue_state),
5849         (gst_element_set_state_func), (gst_element_change_state):
5850         Fixed #326576, been running this for quite some time with
5851         no regressions at all.
5852
5853 2006-02-02  Wim Taymans  <wim@fluendo.com>
5854
5855         * common/gst.supp:
5856         Added more suppressions
5857
5858 2006-02-02  Wim Taymans  <wim@fluendo.com>
5859
5860         * docs/design/part-element-sink.txt:
5861         Updated document.
5862
5863         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
5864         (gst_base_sink_finalize), (gst_base_sink_preroll_queue_flush),
5865         (gst_base_sink_configure_segment), (gst_base_sink_commit_state),
5866         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
5867         (gst_base_sink_do_sync), (gst_base_sink_render_object),
5868         (gst_base_sink_preroll_object),
5869         (gst_base_sink_queue_object_unlocked),
5870         (gst_base_sink_queue_object), (gst_base_sink_event),
5871         (gst_base_sink_chain_unlocked), (gst_base_sink_chain),
5872         (gst_base_sink_loop), (gst_base_sink_activate_pull),
5873         (gst_base_sink_get_position), (gst_base_sink_change_state):
5874         * libs/gst/base/gstbasesink.h:
5875         Totally refactored matching the design doc.
5876         Use two segments, one to clip incomming buffers and another to
5877         perform sync.
5878         Handle queueing correctly, bypass the queue when playing.
5879         Make EOS cancelable.
5880         Handle errors correctly when operating in pull based mode.
5881
5882         * tests/check/elements/fakesink.c: (GST_START_TEST),
5883         (fakesink_suite):
5884         Added new check for sinks.
5885
5886 2006-02-02  Wim Taymans  <wim@fluendo.com>
5887
5888         * gst/gstsegment.c: (gst_segment_clip):
5889         No reason to refuse to clip when start == -1
5890
5891 2006-02-02  Stefan Kost  <ensonic@users.sf.net>
5892
5893         * docs/README:
5894         * docs/manual/intro-basics.xml:
5895         * docs/manual/intro-preface.xml:
5896         * docs/manual/manual.xml:
5897         * docs/pwg/advanced-dparams.xml:
5898         * docs/pwg/intro-basics.xml:
5899         * docs/pwg/intro-preface.xml:
5900         * docs/pwg/pwg.xml:
5901           describe dparams (controller) for plugins
5902           unify docs a little more
5903
5904 2006-02-02  Tim-Philipp Müller  <tim at centricular dot net>
5905
5906         * docs/gst/gstreamer-sections.txt:
5907         * gst/gstutils.c: (element_find_unconnected_pad),
5908         (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description):
5909         * gst/gstutils.h:
5910           Add new API: gst_parse_bin_from_description() and
5911           gst_bin_find_unconnected_pad() (#329069).
5912
5913 2006-02-01  Stefan Kost  <ensonic@users.sf.net>
5914
5915         * docs/manual/README:
5916           uncover a nasty detail of the docs build
5917
5918 2006-01-31  Wim Taymans  <wim@fluendo.com>
5919
5920         * gst/gstbin.c: (bin_remove_messages), (bin_query_duration_done):
5921         Don't cache duration messages if we're not going to use or
5922         free them.
5923
5924 2006-01-31  Stefan Kost  <ensonic@users.sf.net>
5925
5926         * docs/manual/advanced-dparams.xml:
5927         * docs/pwg/advanced-dparams.xml:
5928           more dparam docs
5929         * gst/gstindex.c:
5930           fix docs
5931         * libs/gst/controller/lib.c: (gst_controller_init):
5932           init just once
5933
5934 2006-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
5935
5936         * gst/gstelement.c: (gst_element_message_full):
5937           also show file/line/func if no additional debug was given
5938
5939 2006-01-31  Sebastien Moutte  <sebastien@moutte.net>
5940         
5941         * win32/vs7/grammar.vcproj:
5942           activate copy of autogenerated files for Release mode
5943
5944 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
5945         
5946         * win32/common/libgstreamer.def:
5947           export gst_value_compare
5948
5949 2006-01-30  Jan Schmidt  <thaytan@mad.scientist.com>
5950
5951         * plugins/elements/Makefile.am:
5952         * plugins/elements/gstelements.c:
5953         * plugins/elements/gstfdsink.c: (_do_init),
5954         (gst_fd_sink_base_init), (gst_fd_sink_class_init),
5955         (gst_fd_sink_init), (gst_fd_sink_dispose), (gst_fd_sink_query),
5956         (gst_fd_sink_render), (gst_fd_sink_check_fd), (gst_fd_sink_start),
5957         (gst_fd_sink_stop), (gst_fd_sink_unlock), (gst_fd_sink_update_fd),
5958         (gst_fd_sink_set_property), (gst_fd_sink_uri_get_type),
5959         (gst_fd_sink_uri_get_protocols), (gst_fd_sink_uri_get_uri),
5960         (gst_fd_sink_uri_set_uri), (gst_fd_sink_uri_handler_init):
5961         * plugins/elements/gstfdsink.h:
5962         Port fdsink to 0.10 (patch by Philippe Rouquier) (Fixes #325490)
5963
5964 2006-01-30  Stefan Kost  <ensonic@users.sf.net>
5965
5966         * docs/manual/advanced-dparams.xml:
5967           describe controller
5968         * docs/manual/advanced-position.xml:
5969         * docs/manual/basics-init.xml:
5970         * docs/manual/manual.xml:
5971         * docs/manual/titlepage.xml:
5972         * docs/pwg/pwg.xml:
5973         * docs/pwg/titlepage.xml:
5974           cleanup xml (more to come)
5975         * libs/gst/controller/gstcontroller.c:
5976           fix typo
5977
5978 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
5979         
5980         * win32/vs6/grammar.dsp:
5981           add autogen of gstmarshal.c,h for Release mode
5982                 
5983 2006-01-30  Wim Taymans  <wim@fluendo.com>
5984
5985         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
5986         (gst_base_sink_preroll_queue_empty), (gst_base_sink_commit_state),
5987         (gst_base_sink_handle_object), (gst_base_sink_event),
5988         (gst_base_sink_is_prerolled), (gst_base_sink_wait),
5989         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
5990         (gst_base_sink_handle_buffer), (gst_base_sink_set_flushing),
5991         (gst_base_sink_deactivate), (gst_base_sink_activate),
5992         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
5993         (gst_base_sink_query), (gst_base_sink_change_state):
5994         Basesink cleanups, remove some old code.
5995         Handle the case where a subclass can preroll in the render
5996         method (mostly audiosinks).
5997         Handle more events.
5998         Remove some locks around variables that are now protected
5999         with the PREROLL_LOCK (clock_id, flushing, ..).
6000         Optimize position query some more, do correct locking.
6001         Remove old code to push queue in state change, this is not
6002         needed anymore since preroll blocks on all prerollable items 
6003         now.
6004         Almost implemented as described in design doc.
6005
6006 2006-01-30  Wim Taymans  <wim@fluendo.com>
6007
6008         * tests/check/gst/gstbin.c: (GST_START_TEST):
6009         Wait for refcount to settle down before checking.
6010
6011 2006-01-30  Wim Taymans  <wim@fluendo.com>
6012
6013         * docs/design/part-element-sink.txt:
6014         Pseudo code overview of desired sink behaviour regarding
6015         preroll.
6016
6017 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
6018         * win32/vs6/grammar.dsp:
6019           fix some bugs in Release mode for autogenerated files
6020                 
6021 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
6022         * win32/common/libgstbase.def:
6023         * win32/common/libgstreamer.def:
6024           export some new symbols: gst_base_src_set_format,
6025           gst_iterator_next, gst_structure_set_valist
6026
6027 2006-01-29  Julien MOUTTE  <julien@moutte.net>
6028
6029         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
6030         Set pad functions unconditionally. Fixes #329105.
6031
6032 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
6033         * win32/vs8:
6034           add vs8 project files created by Sergey Scobich
6035
6036 2006-01-28  Jan Schmidt  <thaytan@mad.scientist.com>
6037
6038         * gst/gstutils.c: (gst_element_unlink_pads):
6039         Don't leak pad references.
6040
6041         * tests/check/elements/fakesink.c: (GST_START_TEST):
6042         * tests/check/generic/sinks.c: (GST_START_TEST):
6043         * tests/check/generic/states.c: (GST_START_TEST):
6044         * tests/check/gst/gstbin.c: (GST_START_TEST):
6045         * tests/check/gst/gstcaps.c: (GST_START_TEST):
6046         * tests/check/gst/gstelement.c: (GST_START_TEST):
6047         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
6048         * tests/check/gst/gstiterator.c: (GST_START_TEST):
6049         * tests/check/gst/gstvalue.c: (GST_START_TEST):
6050         Fix a bunch of leaks. Make generic/sinks.c
6051         use a bit less cpu by slowing the buffer rate
6052         between fakesrc and fakesink.
6053         
6054 2006-01-27  Stefan Kost  <ensonic@users.sf.net>
6055         * gst/gstcaps.c:
6056         * gst/gstelement.c: (gst_element_send_event):
6057         * gst/gstevent.c:
6058         * gst/gstinfo.c:
6059         * gst/gstiterator.c:
6060         * gst/gstiterator.h:
6061         * gst/gstpad.c: (gst_pad_send_event):
6062         * gst/gststructure.c:
6063         * gst/gsturi.c:
6064         * gst/gstutils.c:
6065         * gst/gstvalue.c:
6066         * libs/gst/base/gstadapter.c:
6067           doc fixes, to link to function, just write gst_cool_function(), don't
6068           prefix with '#'
6069
6070 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
6071
6072         * plugins/elements/gsttee.c: (gst_tee_do_push),
6073         (gst_tee_handle_buffer):
6074         Always prefer an actual return value from a src
6075         pad in place of NOT_LINKED. This means we return
6076         WRONG_STATE when all src pads are WRONG_STATE
6077         instead of NOT_LINKED.
6078
6079         Lock when replacing the last message to prevent
6080         racing with the get_property method.
6081
6082         Add debug output
6083
6084 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
6085
6086         * tests/check/Makefile.am:
6087         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite),
6088         (main):
6089         Add a very simple check that should have caught the memleak I fixed
6090         last night (if not for the slice allocator hiding it)
6091
6092 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
6093
6094         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
6095         (gst_bin_remove_func), (gst_bin_handle_message_func),
6096         (bin_query_duration_fold), (bin_query_generic_fold):
6097         Clean up references to the clock provider when disposed or when
6098         handling a clock-lost message from it.
6099
6100         Unref sinks when performing a query via gst_iterator_fold, as the
6101         gst_bin_iterate_sinks iterator refs each item. (Fixes #323874)
6102
6103         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_dispose),
6104         (gst_clock_set_master):
6105         Drop our reference to the master clock, if any, when we are disposed.
6106
6107         * gst/gsttypefindfactory.c: (gst_type_find_factory_dispose):
6108         Chain up in dispose. 
6109
6110 2006-01-26  Wim Taymans  <wim@fluendo.com>
6111
6112         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
6113         Add some debugging.
6114
6115 2006-01-26  Julien MOUTTE  <julien@moutte.net>
6116
6117         * plugins/elements/gsttee.c: (gst_tee_do_push),
6118         (gst_tee_handle_buffer): Apply patch from #328715. Tee now
6119         handles pad being NOT_LINKED or in WRONG_STATE.
6120
6121 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
6122
6123         * win32/MANIFEST:
6124           more updating
6125
6126 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
6127
6128         * win32/MANIFEST:
6129           remove obsolete entry
6130
6131 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
6132
6133         * docs/gst/gstreamer-sections.txt:
6134         * gst/gstbin.c: (bin_element_is_src), (src_iterator_filter),
6135         (gst_bin_iterate_sources), (gst_bin_send_event):
6136         * gst/gstbin.h:
6137         * gst/gstelement.c: (gst_element_send_event):
6138         * gst/gstevent.c:
6139         * gst/gstpad.c: (gst_pad_send_event):
6140           added code for downstream events, reviewed docs in gstevent.c
6141
6142 2006-01-25  Julien MOUTTE  <julien@moutte.net>
6143
6144         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
6145         We only query position using the clock in the playing state.
6146         Query peer in the other cases.
6147         * win32/common/config.h: Updates.
6148
6149 2006-01-24  Wim Taymans  <wim@fluendo.com>
6150
6151         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
6152         A clock entry that is scheduled for the exact time of the
6153         clock is still in time.
6154
6155         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6156         (gst_base_sink_do_sync):
6157         Add some more debug info.
6158
6159 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
6160
6161         * win32/vs7:
6162           Add new vs7 project files and solution.
6163
6164 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
6165
6166         * win32/vs7:
6167           all files removed as they were out-dated.
6168
6169 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6170
6171         * docs/random/release:
6172           update notes
6173         * gst/gstbin.c: (gst_bin_init):
6174         * gst/gstbus.c: (gst_bus_new):
6175         * gst/gstbus.h:
6176         * gst/gstpipeline.c: (gst_pipeline_init):
6177           use gst_bus_new(), improve logging, fix docs
6178         * win32/common/config.h:
6179           update for cvs build
6180
6181 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6182
6183         * autogen.sh:
6184           up required version of automake to 1.7
6185
6186 2006-01-20  Sebastien Moutte  <sebastien@moutte.net>
6187
6188         * win32/common/libgstreamer.def:
6189           export gst_buffer_is_metadata_writable
6190
6191 2006-01-20  Tim-Philipp Müller  <tim at centricular dot net>
6192
6193         * docs/gst/gstreamer-sections.txt:
6194         * gst/gstevent.h:
6195           Add gst_event_replace() (#327001)
6196
6197 2006-01-20  Wim Taymans  <wim@fluendo.com>
6198
6199         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
6200         Make it actually compile too..
6201
6202 2006-01-20  Wim Taymans  <wim@fluendo.com>
6203
6204         * gst/gstcaps.c:
6205         Clarify behaviour of _is_equal() when passing NULL parameters.
6206
6207         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
6208         (gst_pad_set_caps):
6209         Cleanups. Don't unref NULL caps.
6210         When setting the same caps, protect caps of the pad with
6211         proper lock.
6212         Use full functionality of _is_equal() when comparing caps.
6213
6214 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
6215
6216         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
6217         Don't loop infinitely if there are no buffers to present. Partially
6218         fixes #327197, but collectpads is just broken for reusing elements
6219         to do multiple encodes atm.
6220
6221 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
6222
6223         * tools/gst-inspect.c: (print_element_features):
6224         * tools/gst-xmlinspect.c: (main):
6225         URL_HANDLER is not a plugin feature we can search for in
6226         the registry.
6227
6228 2006-01-19  Edward Hervey  <edward@fluendo.com>
6229
6230         * gst/gstelement.c: (gst_element_pads_activate): 
6231         When activating, do src pads first, then sink pads.
6232         When de-activating, do sink pads first, then src pads.
6233
6234 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
6235
6236         * docs/gst/gstreamer-sections.txt:
6237         Add gst_index_add_associationv to the docs
6238
6239 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
6240
6241         * gst/gstevent.c:
6242           Fix docs typo
6243
6244         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event),
6245         (gst_queue_chain), (gst_queue_push_one), (gst_queue_loop):
6246           Do some refactoring. Doesn't actually change functionality,
6247           but makes landing the DRAIN event easier later.
6248
6249 2006-01-19  Tim-Philipp Müller  <tim at centricular dot net>
6250
6251         * docs/pwg/advanced-scheduling.xml:
6252           Update from 0.9.x to 0.10 API and make example a bit
6253           clearer.
6254
6255 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
6256
6257         * docs/gst/gstreamer-sections.txt:
6258         Add gst_buffer_(is|make)_metadata_writable methods.
6259
6260 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
6261
6262         * docs/design/part-sparsestreams.txt:
6263         Update sparse streams doc, hopefully for greater clarity
6264
6265 2006-01-18  Jan Schmidt  <thaytan@mad.scientist.com>
6266
6267         * docs/design/part-events.txt:
6268         Remove mention of FILLER events.
6269         Add DRAIN event.
6270
6271         * docs/design/part-sparsestreams.txt:
6272         Write some things about using NEWSEGMENT to keep sparse streams
6273         flowing.
6274
6275 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
6276
6277         * gst/gstbin.c: (gst_bin_dispose):
6278           Guard gst_object_unref call against a NULL object (dispose
6279           can theoretically be called multiple times).
6280           
6281 2006-01-18  Wim Taymans  <wim@fluendo.com>
6282
6283         * gst/gstbin.c: (gst_bin_element_set_state):
6284         * gst/gstclock.c: (gst_clock_id_wait):
6285         Added some more debug info.
6286
6287         * libs/gst/base/gstadapter.c:
6288         Added more docs.
6289
6290         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6291         (gst_base_sink_do_sync), (gst_base_sink_chain):
6292         Added some comments.
6293
6294 2006-01-18  Wim Taymans  <wim@fluendo.com>
6295
6296         * tests/check/Makefile.am:
6297         * tests/check/elements/fakesink.c: (chain_async_buffer),
6298         (chain_async), (chain_async_return), (GST_START_TEST),
6299         (fakesink_suite), (main):
6300         Added fakesink test that checks prerolling and clipping
6301         behaviour.
6302
6303         * tests/check/gst/gstutils.c: (GST_START_TEST):
6304         Make check run faster so that buildbots don't timeout.
6305
6306 2006-01-18  Wim Taymans  <wim@fluendo.com>
6307
6308         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6309         (gst_base_sink_do_sync):
6310         Some cleanups.
6311         When the sink finishes blocking on the preroll buffer, it can
6312         immediatly render it instead of rendering when the next buffer
6313         arrives.
6314
6315 2006-01-18  Wim Taymans  <wim@fluendo.com>
6316
6317         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_property),
6318         (gst_base_sink_get_property), (gst_base_sink_do_sync),
6319         (gst_base_sink_chain):
6320         Small cleanups.
6321         GST_ELEMENT_CLOCK and sync are protected with LOCK.
6322         Don't store _last_stop if the buffer is dropped.
6323
6324 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
6325
6326         * plugins/elements/gsttypefindelement.c:
6327         (gst_type_find_element_class_init):
6328           'have-type' signal needs to be G_SIGNAL_RUN_FIRST, as it is the
6329           object method handler that sets the caps on the pad and we want
6330           that to happen before we emit the signal (fixes e.g. feeding a
6331           plain text file to decodebin).
6332
6333 2006-01-18  Christian Schaller  <Christian@fluendo.com>
6334
6335         * gst/gstplugin.c: Add MPL and Proprietary as license options
6336
6337 2006-01-18  Andy Wingo  <wingo@pobox.com>
6338
6339         * gst/gstindex.h (gst_index_add_associationv): Add to header. The
6340         symbol was exported before, it appears this was just an oversight.
6341         Fixes #168703.
6342         Patch by: Torsten Schoenfeld <kaffeetisch at gmx.de>
6343
6344         * gst/gstindex.c (gst_index_add_associationv): Changed int in
6345         prototype to gint. OK since this prototype was not in the header.
6346
6347 2006-01-17  Andy Wingo  <wingo@pobox.com>
6348
6349         * gst/gstregistry.c (_gst_registry_remove_cache_plugins): Lock the
6350         registry while we remove plugins.
6351
6352         * tools/gst-inspect.c (print_element_info): Don't unref the
6353         factory arg, that should be the responsibility of whatever code
6354         received the ref. Fixes a double-free when called from
6355         print_element_list via gst-inspect-0.10 -a. Fixes #327324.
6356         (main): Unref the factory if we have one.
6357         (print_element_list): No change -- relies on the
6358         plugin_feature_list_free to free the list of features.
6359
6360 2006-01-17  Jan Schmidt  <thaytan@mad.scientist.com>
6361
6362         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
6363         (gst_buffer_make_metadata_writable):
6364         * gst/gstbuffer.h:
6365         * libs/gst/base/gstbasetransform.c:
6366         (gst_base_transform_prepare_output_buf):
6367         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
6368         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
6369           Replace gst_buffer_(make|is)_metadata_writable patch now
6370           that the release is out.
6371
6372 2006-01-17  Andy Wingo  <wingo@pobox.com>
6373
6374         * gst/gstregistry.c: Reflow design comment. Update so as to speak
6375         in the present tense without reference to versions.
6376
6377         * gst/gstregistry.c (gst_registry_add_plugin)
6378         (gst_registry_remove_plugin, gst_registry_remove_feature)
6379         (gst_registry_find_feature, gst_registry_get_feature_list)
6380         (gst_registry_get_plugin_list, gst_registry_lookup_feature)
6381         (gst_registry_lookup, gst_registry_scan_path)
6382         (_gst_registry_remove_cache_plugins)
6383         (gst_registry_get_feature_list_by_plugin): Add argument
6384         validation.
6385
6386 === release 0.10.2 ===
6387
6388 2006-01-16  Thomas Vander Stichele <thomas at apestaart dot org>
6389
6390         * configure.ac:
6391           releasing 0.10.2, "If man is five"
6392
6393 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
6394
6395         * gst/gstbuffer.c:
6396         * gst/gstbuffer.h:
6397         * libs/gst/base/gstbasetransform.c:
6398         (gst_base_transform_prepare_output_buf):
6399         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
6400         * tests/check/gst/gstbuffer.c: (gst_test_suite):
6401           Back out patch until after the release.
6402
6403 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
6404
6405         * gst/gstminiobject.c:
6406           Spelling fix in docs.
6407         * ChangeLog - remove conflict indicator
6408
6409 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
6410
6411         Reviewed By: Andy Wingo
6412
6413         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
6414         (gst_buffer_make_metadata_writable):
6415         * gst/gstbuffer.h:
6416           Add gst_buffer_(is|make)_metadata_writable as analogues of
6417           gst_buffer_(is|make)_writable.
6418
6419         * libs/gst/base/gstbasetransform.c:
6420         (gst_base_transform_prepare_output_buf):
6421         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
6422           Use name gst_buffer_(is|make)_metadata_writable functions.
6423
6424         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
6425           Test gst_buffer_(is|make)_metadata_writable
6426         
6427           (Closes: #324162)
6428
6429 2006-01-14  Thomas Vander Stichele  <thomas at apestaart dot org>
6430
6431         * docs/manual/Makefile.am:
6432           don't do parallel make
6433         * configure.ac:
6434           AC_SUBST HOST_CPU
6435         * win32/common/config.h.in:
6436           add generations for HOST_CPU and GST_MAJORMINOR
6437         * win32/common/config.h:
6438           commit generated result
6439
6440 2006-01-13  Tim-Philipp Müller  <tim at centricular dot net>
6441
6442         * docs/manual/appendix-integration.xml:
6443           Update GNOME integration section to use gst_init_get_option_group()
6444           instead of the old popt stuff (#322911). Also, GNOME applications
6445           should  now use gconf*sink and gconf*src instead of the old gconf
6446           helper lib we had.
6447
6448 2006-01-13  Stefan Kost  <ensonic@users.sf.net>
6449
6450
6451         * docs/gst/gstreamer-docs.sgml:
6452         * docs/gst/gstreamer-sections.txt:
6453         * docs/libs/gstreamer-libs-sections.txt:
6454           add new API entries to the docs
6455         * libs/gst/controller/Makefile.am:
6456         * libs/gst/controller/gstcontroller.c:
6457         * libs/gst/controller/gstcontroller.h:
6458         * libs/gst/controller/gstcontrollerprivate.h:
6459         * libs/gst/controller/gsthelper.c:
6460         * libs/gst/controller/gstinterpolation.c:
6461           move private structs to private header
6462         * po/README:
6463           gstreamer-0.7 -> gstreamer-0.10
6464         * tests/check/libs/struct_i386.h:
6465           remove private structs
6466
6467 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
6468
6469         * plugins/indexers/Makefile.am:
6470           Fixes as part of #317048
6471
6472 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
6473
6474         * plugins/indexers/Makefile.am:
6475           fix #316086 - compilation when mmap is missing
6476
6477 2006-01-12  Sebastien Moutte  <sebastien@moutte.net>
6478
6479         * libs/gst/base/gstbasesink.c:
6480           *cur = (now - base) * basesink->segment.abs_rate + time; replaced by 
6481           *cur = gst_guint64_to_gdouble(now - base) * basesink->segment.abs_rate + time; for vs6
6482         * win32/common/config.h:
6483           added some defines GST_MAJORMINOR and HOST_CPU
6484         * win32/common/libgstbase.def:
6485         * win32/common/libgstreamer.def:
6486           added some exported functions.
6487
6488 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
6489
6490         * libs/gst/controller/gstcontroller.c:
6491         (gst_controlled_property_set_interpolation_mode),
6492         (gst_controlled_property_new):
6493         * libs/gst/controller/gstcontroller.h:
6494         * libs/gst/controller/gstinterpolation.c:
6495         (interpolate_none_get_string_value_array):
6496           make G_TYPE_STRING controlable
6497
6498 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
6499
6500         * tools/README:
6501         * tools/gst-feedback.1.in:
6502         * tools/gst-inspect.1.in:
6503         * tools/gst-launch.1.in:
6504         * tools/gst-md5sum.1.in:
6505         * tools/gst-typefind.1.in:
6506         * tools/gst-xmlinspect.1.in:
6507         * tools/gst-xmllaunch.1.in:
6508           cleanup man-pages, remove reference to gst-register, document env-vars
6509
6510 2006-01-12  Jan Schmidt  <thaytan@mad.scientist.com>
6511
6512         * gst/gstbuffer.c: (gst_buffer_span):
6513           gst_buffer_span should copy the timestamp of the first buffer
6514           if they were both originally overlapping subbuffers of the 
6515           same parent, using the same logic as the 'slow copy' case.
6516
6517 2006-01-11  Jan Schmidt  <thaytan@mad.scientist.com>
6518
6519         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop):
6520           Need to awaken ALL the pads when we pop a buffer, otherwise
6521           collectpads only works when there is 2 input streams.
6522
6523 2006-01-11  Stefan Kost  <ensonic@users.sf.net>
6524
6525         * docs/random/ensonic/media-device-daemon.txt:
6526           more ideas (dbus)
6527         * gst/gstbuffer.c:
6528           fix doc example, add clarification
6529         * tools/gst-launch.1.in:
6530           add initial info about GST_PLUGIN_PATH, needs more work
6531
6532 2006-01-11  Tim-Philipp Müller  <tim at centricular dot net>
6533
6534         * docs/manual/basics-bins.xml:
6535         * docs/manual/basics-elements.xml:
6536         * docs/manual/intro-basics.xml:
6537           Some more minor docs additions and updates.
6538
6539 2006-01-11  Wim Taymans  <wim@fluendo.com>
6540
6541         * docs/manual/basics-bins.xml:
6542         * docs/manual/basics-elements.xml:
6543         Some small fixes as pointed out by Ser-ver on IRC.
6544
6545 2006-01-10  Edward Hervey  <edward@fluendo.com>
6546
6547         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
6548         Set the buffer offset/offset_end to GST_CLOCK_TIME_NONE when using
6549         the single-segment mode.
6550
6551 2006-01-10  Brian Cameron  <brian dot cameron at sun dot com>
6552
6553         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
6554
6555         * libs/gst/base/gstbasesrc.c: (gst_base_src_init),
6556         (gst_base_src_perform_seek), (gst_base_src_send_event),
6557         (gst_base_src_set_property), (gst_base_src_get_property),
6558         (gst_base_src_loop), (gst_base_src_start),
6559         (gst_base_src_activate_push):
6560         * libs/gst/base/gstbasesrc.h:
6561           Name (private) union; makes Sun's Forte compiler happy (#324900).
6562
6563 2006-01-09  Tim-Philipp Müller  <tim at centricular dot net>
6564
6565         * README:
6566           gst-register is gone.
6567
6568 2006-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
6569
6570         * gst/gstvalue.c: (_gst_value_initialize):
6571           make the G_TYPE_DATE instantiation work if debug is disabled
6572
6573 2006-01-06  Tim-Philipp Müller  <tim at centricular dot net>
6574
6575         * gst/gstmessage.c: (gst_message_parse_tag),
6576         (gst_message_parse_error), (gst_message_parse_warning):
6577           Don't crash when return location for error/warning debug
6578           string is NULL; add fact that return locations can be
6579           NULL to docs where appropriate.
6580
6581 2006-01-05  Wim Taymans  <wim@fluendo.com>
6582
6583         * gst/gstplugin.c: (gst_plugin_load_file):
6584         Replace strdup by g_strdup.
6585
6586 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
6587
6588         * docs/pwg/advanced-types.xml:
6589           fix doc borkage
6590
6591 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
6592
6593         submitted by: Abel Cheung
6594
6595         * po/LINGUAS:
6596         * po/zh_TW.po:
6597           Added Chinese (traditional) translation
6598
6599 2006-01-04  Wim Taymans  <wim@fluendo.com>
6600
6601         * docs/manual/basics-pads.xml:
6602         * docs/plugins/Makefile.am:
6603         * docs/plugins/gstreamer-plugins-docs.sgml:
6604         * docs/plugins/gstreamer-plugins-sections.txt:
6605         * docs/pwg/advanced-clock.xml:
6606         * docs/pwg/advanced-scheduling.xml:
6607         * docs/pwg/advanced-types.xml:
6608         * plugins/elements/gstfdsink.c:
6609         * plugins/elements/gstfdsrc.c:
6610         * plugins/elements/gstfdsrc.h:
6611         * plugins/elements/gstidentity.c: (gst_identity_class_init):
6612         * plugins/elements/gstidentity.h:
6613         * plugins/elements/gstqueue.h:
6614         * plugins/elements/gsttee.c:
6615         * plugins/elements/gsttee.h:
6616         * plugins/elements/gsttypefindelement.c:
6617         (gst_type_find_element_class_init):
6618         * plugins/elements/gsttypefindelement.h:
6619         Small updates to various docs.
6620         Added core plugins to docs.
6621
6622 2006-01-03  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
6623
6624         * common/gst.supp:
6625           add a suppression for liboil's uninitialized variable
6626
6627 2006-01-02  James Livingston  <jrl at ids dot org dot au>
6628
6629         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
6630
6631         * gst/gstutils.h:
6632           Add prototype for _get_type() function to GST_BOILERPLATE_FULL
6633           macro, so that gcc doesn't complain if the -Wmissing-prototypes
6634           compiler switch is being used (#325429).
6635
6636 2005-12-29  Tim-Philipp Müller  <tim at centricular dot net>
6637
6638         * gst/gstbin.c: (gst_bin_query):
6639           Disable duration query caching in bins until it gets
6640           fixed (see #324807).
6641
6642 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
6643
6644         * tools/gst-inspect.c: (print_element_properties_info):
6645           Handle properties of POINTER and BOXED type.
6646
6647 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
6648
6649         * gst/gst.c: (init_post):
6650           Init tags stuff and some other things before loading
6651           any static plugins (there may be other static plugins
6652           than just the GStreamer ones, and they may want to
6653           register their own tags or formats or whatever, and
6654           preferably without segfaulting).
6655
6656         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
6657           Print at least a warning in the debug logs if we drop a
6658           query just because we don't know how to adjust the value
6659           in the particular format.
6660
6661 2005-12-24  David Schleef  <ds@schleef.org>
6662
6663         * tools/gstreamer-completion:
6664           Replacement for gst-complete written in sh and sed.  Only
6665           completes names of features, but that's 90% of what I want
6666           it for.  Properties are not available in registry.xml.  (Maybe
6667           they should be...)
6668
6669 === release 0.10.1 ===
6670
6671 2005-12-23  Thomas Vander Stichele <thomas at apestaart dot org>
6672
6673         * configure.ac:
6674           releasing 0.10.1, "Nollaig chridheil"
6675
6676 2005-12-22  Tim-Philipp Müller  <tim at centricular dot net>
6677
6678         * docs/faq/cvs.xml:
6679           Add missing quote, should be make ERROR_CFLAGS="".
6680
6681 2005-12-20  Wim Taymans  <wim@fluendo.com>
6682
6683         * docs/design/part-trickmodes.txt:
6684         More documentation on trickmodes.
6685
6686 2005-12-20  Edward Hervey  <edward@fluendo.com>
6687
6688         * gst/gstcaps.c: (gst_static_caps_get_type):
6689         * gst/gstcaps.h:
6690           API addition: GST_TYPE_STATIC_CAPS
6691         Added gpointer GType for GstStaticCaps so we can wrap them in bindings.
6692         * gst/gstpadtemplate.c: (gst_static_pad_template_get_type):
6693         * gst/gstpadtemplate.h:
6694           API addition: GST_TYPE_STATIC_PAD_TEMPLATE
6695         Added gpointer GType for GstStaticPadTemplate so we can wrap them in
6696         bindings.
6697
6698 2005-12-18  Wim Taymans  <wim@fluendo.com>
6699
6700         * libs/gst/base/gstadapter.c:
6701         * libs/gst/base/gstadapter.h:
6702         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
6703         (gst_base_sink_get_position):
6704         * libs/gst/base/gstbasesink.h:
6705         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
6706         (gst_base_src_default_query), (gst_base_src_default_do_seek),
6707         (gst_base_src_do_seek), (gst_base_src_perform_seek),
6708         (gst_base_src_send_event), (gst_base_src_update_length),
6709         (gst_base_src_get_range), (gst_base_src_loop),
6710         (gst_base_src_start):
6711         * libs/gst/base/gstbasesrc.h:
6712         * libs/gst/base/gstbasetransform.h:
6713         * libs/gst/base/gstcollectpads.h:
6714         * libs/gst/base/gstpushsrc.c:
6715         * libs/gst/base/gstpushsrc.h:
6716         * libs/gst/dataprotocol/dataprotocol.c:
6717         * libs/gst/dataprotocol/dataprotocol.h:
6718         * libs/gst/net/gstnetclientclock.h:
6719         * libs/gst/net/gstnettimeprovider.h:
6720         Documentation updates.
6721
6722 2005-12-18  Tim-Philipp Müller  <tim at centricular dot net>
6723
6724         * docs/manual/basics-helloworld.xml:
6725           Remove superfluous closing bracket in helloworld example.
6726
6727 2005-12-17  Tim-Philipp Müller  <tim at centricular dot net>
6728
6729         * tools/gst-launch.1.in:
6730           Update gst-launch man page; add a section with useful
6731           environment variables. Fixes #323882.
6732
6733 2005-12-16  Stefan Kost  <ensonic@users.sf.net>
6734
6735         * gst/gst.c:
6736         * gst/gst_private.h:
6737           change some char* into char[]
6738
6739 2005-12-16  Wim Taymans  <wim@fluendo.com>
6740
6741         * gst/gstregistryxml.c: (load_feature):
6742         Cleanups.
6743         Don't use g_object_unref on GstObjects so that we avoid
6744         leaks on unsafe glibs.
6745
6746 2005-12-16  Wim Taymans  <wim@fluendo.com>
6747
6748         * gst/gstbin.c: (gst_bin_recalc_state):
6749         Small doc updates.
6750
6751 2005-12-16  Wim Taymans  <wim@fluendo.com>
6752
6753         * common/check.mak:
6754         Added make forever target for check.
6755
6756 2005-12-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6757
6758         * gst/gst.c: (init_post):
6759           make the registry cache file HOST_CPU-dependent
6760
6761 2005-12-16  Andy Wingo  <wingo@pobox.com>
6762
6763         * plugins/elements/gstbufferstore.c
6764         (gst_buffer_store_cleared_func): Pay attention to g_list_append
6765         return value.
6766
6767         * tests/check/gst/gstobject.c
6768         (test_fake_object_name_threaded_unique): Pay attention to
6769         g_list_sort return value.
6770
6771 2005-12-16  Tim-Philipp Müller  <tim at centricular dot net>
6772
6773         * tools/gst-feedback-m.m:
6774           Update for 0.9/0.10 (fixes #323870).
6775
6776 2005-12-15  Tim-Philipp Müller  <tim at centricular dot net>
6777
6778         * gst/gstminiobject.c: (gst_value_mini_object_lcopy):
6779           Fix lcopy for mini objects, the mini object needs to be ref'ed.
6780           
6781         * tests/check/gst/gstminiobject.c: (my_foo_init),
6782         (my_foo_get_property), (my_foo_set_property), (my_foo_class_init),
6783         (test_value_collection), (gst_mini_object_suite):
6784           Add test to ensure refcounts end up as expected when passing
6785           GstMiniObjects through g_object_get() and g_object_set().
6786
6787 2005-12-14  Julien MOUTTE  <julien@moutte.net>
6788
6789         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
6790         (gst_collect_pads_remove_pad), (gst_collect_pads_is_collected),
6791         (gst_collect_pads_event), (gst_collect_pads_chain): Refactoring
6792         of collectpads. This version removes a lot of races without
6793         touching API/ABI. Yay !
6794
6795 2005-12-14  Jan Schmidt  <thaytan@mad.scientist.com>
6796
6797         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_link_prepare):
6798           Don't allow activation of a srcpad in pull_range if it has no
6799           getrange function.
6800           Change some debug statements to be a little clearer
6801
6802         * plugins/elements/gsttypefindelement.c:
6803         (gst_type_find_handle_src_query):
6804           Check that we have a peer before executing queries thereupon.
6805
6806         * tests/examples/metadata/read-metadata.c: (message_loop):
6807           Use gst_bus_pop instead of gst_bus_poll when we just want it to
6808           immediately return us any available message with 0 timeout.
6809
6810 2005-12-12  Michael Smith  <msmith@fluendo.com>
6811
6812         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
6813           Don't unref factories after calling them.
6814         * libs/gst/base/gsttypefindhelper.c: (gst_type_find_helper):
6815         * plugins/elements/gsttypefindelement.c:
6816         (gst_type_find_element_chain):
6817           Free lists of factories after using them. Fixing typefinding memory
6818           leaks.
6819
6820 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
6821
6822         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
6823         (gst_plugin_feature_load):
6824           more meaningful debug output
6825         * configure.ac:
6826         * tests/Makefile.am:
6827         * tests/old/examples/Makefile.am:
6828           make make distcheck happy again
6829
6830 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
6831
6832         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
6833           Catch the special case where we are operating chain-based,
6834           but the downstream peer pad has no chain function. Emit a
6835           custom error message in this case instead of letting the
6836           core generate one implying that this is some sort of core
6837           bug. It's not, it just means that whatever got plugged
6838           into the pipeline downstream when we announced the type
6839           can only operate pull-based, while our source can only
6840           operate push-based (e.g. http://foo/bar.mov ! qtdemux ! ...)
6841           Error string has not been marked for translation yet, as
6842           it probably needs some more work first.
6843
6844         (gst_type_find_element_get_best_possibility):
6845           Add helper function to find the best of all available
6846           found possibilities that qualify given the min. threshold.
6847
6848         (gst_type_find_element_handle_event):
6849           Fix the case where we get an EOS while still in TYPEFIND
6850           mode (we want to chose the best of all possible types,
6851           not just the first type that happens to be in our unsorted
6852           list of possible types).
6853
6854         (gst_type_find_element_chain):
6855           Make sure we return GST_FLOW_ERROR when we errored out
6856           in stop_typefinding(); also, don't just find the best of
6857           all found type entries and then use the last examined
6858           type entry, but actually use the best entry.
6859
6860 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
6861
6862         * tests/examples/typefind/typefind.c: (type_found):
6863         * tests/examples/xml/runxml.c: (xml_loaded):
6864           More gcc4 fixes and a mem leak fix.
6865
6866 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
6867
6868         * tests/examples/xml/createxml.c: (object_saved):
6869           gcc 4 fixes
6870
6871 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
6872
6873         * tests/Makefile.am:
6874           enable the examples even more
6875
6876 2005-12-12  Andy Wingo  <wingo@pobox.com>
6877
6878         * libs/gst/net/gstnettimeprovider.c
6879         (gst_net_time_provider_class_init, gst_net_time_provider_init)
6880         (gst_net_time_provider_set_property)
6881         (gst_net_time_provider_get_property):
6882         API addition: Export "active" as a GObject property.
6883         (gst_net_time_provider_thread): Only respond to time queries if
6884         the time provider is active.
6885
6886         * libs/gst/net/gstnettimeprovider.h: Add an "active" boolean to
6887         NetTimeProvider, preserving binary compat.
6888
6889 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
6890
6891         * tests/examples/controller/audio-example.c: (main):
6892         * tests/examples/launch/Makefile.am:
6893           convert comments again
6894
6895 2005-12-12  Wim Taymans  <wim@fluendo.com>
6896
6897         * libs/gst/base/gstpushsrc.c:
6898         Fix typo.
6899
6900 2005-12-12  Wim Taymans  <wim@fluendo.com>
6901
6902         * docs/libs/gstreamer-libs-sections.txt:
6903         Added new symbol to docs.
6904
6905         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
6906         (gst_base_src_init), (gst_base_src_set_format),
6907         (gst_base_src_default_query), (gst_base_src_query),
6908         (gst_base_src_default_do_seek), (gst_base_src_do_seek),
6909         (gst_base_src_perform_seek), (gst_base_src_send_event),
6910         (gst_base_src_default_event), (gst_base_src_event_handler),
6911         (gst_base_src_set_property), (gst_base_src_get_property),
6912         (gst_base_src_wait), (gst_base_src_do_sync),
6913         (gst_base_src_update_length), (gst_base_src_get_range),
6914         (gst_base_src_check_get_range), (gst_base_src_loop),
6915         (gst_base_src_default_negotiate), (gst_base_src_start),
6916         (gst_base_src_activate_push), (gst_base_src_activate_pull),
6917         (gst_base_src_change_state):
6918         * libs/gst/base/gstbasesrc.h:
6919         Implement seeking to other formats than _BYTES.
6920         Implement more seeking methods correctly.
6921         Doc updates.
6922         Added query vmethod.
6923         Added do_seek vmethod to make life easier for subclasses
6924         when seeking.
6925         API addition: gst_base_src_set_format()
6926
6927 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
6928
6929         * tests/examples/Makefile.am:
6930           added that too
6931
6932 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
6933
6934         * configure.ac:
6935         * docs/random/ensonic/media-device-daemon.txt:
6936         * tests/examples/controller/.cvsignore:
6937         * tests/examples/controller/Makefile.am:
6938         * tests/examples/controller/audio-example.c: (main):
6939         * tests/examples/helloworld/.cvsignore:
6940         * tests/examples/helloworld/Makefile.am:
6941         * tests/examples/helloworld/helloworld.c: (event_loop), (main):
6942         * tests/examples/launch/.cvsignore:
6943         * tests/examples/launch/Makefile.am:
6944         * tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
6945         * tests/examples/metadata/.cvsignore:
6946         * tests/examples/metadata/Makefile.am:
6947         * tests/examples/metadata/read-metadata.c: (message_loop),
6948         (make_pipeline), (print_tag), (main):
6949         * tests/examples/queue/.cvsignore:
6950         * tests/examples/queue/Makefile.am:
6951         * tests/examples/queue/queue.c: (event_loop), (main):
6952         * tests/examples/typefind/.cvsignore:
6953         * tests/examples/typefind/Makefile.am:
6954         * tests/examples/typefind/typefind.c: (type_found), (event_loop),
6955         (main):
6956         * tests/examples/xml/.cvsignore:
6957         * tests/examples/xml/Makefile.am:
6958         * tests/examples/xml/createxml.c: (object_saved), (main):
6959         * tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
6960         * tests/old/examples/Makefile.am:
6961         * tests/old/examples/TODO:
6962         * tests/old/examples/controller/.cvsignore:
6963         * tests/old/examples/controller/Makefile.am:
6964         * tests/old/examples/controller/audio-example.c:
6965         * tests/old/examples/helloworld/.cvsignore:
6966         * tests/old/examples/helloworld/Makefile.am:
6967         * tests/old/examples/helloworld/helloworld.c:
6968         * tests/old/examples/launch/.cvsignore:
6969         * tests/old/examples/launch/Makefile.am:
6970         * tests/old/examples/launch/mp3parselaunch.c:
6971         * tests/old/examples/launch/mp3play:
6972         * tests/old/examples/manual/Makefile.am:
6973         * tests/old/examples/metadata/Makefile.am:
6974         * tests/old/examples/metadata/read-metadata.c:
6975         * tests/old/examples/queue/.cvsignore:
6976         * tests/old/examples/queue/Makefile.am:
6977         * tests/old/examples/queue/queue.c:
6978         * tests/old/examples/typefind/.cvsignore:
6979         * tests/old/examples/typefind/Makefile.am:
6980         * tests/old/examples/typefind/typefind.c:
6981         * tests/old/examples/xml/.cvsignore:
6982         * tests/old/examples/xml/Makefile.am:
6983         * tests/old/examples/xml/createxml.c:
6984         * tests/old/examples/xml/runxml.c:
6985           applied some simple fixing to some examples
6986           re-enabled the working examples
6987
6988 2005-12-12  Wim Taymans  <wim@fluendo.com>
6989
6990         * gst/gstsegment.c: (gst_segment_init),
6991         (gst_segment_set_last_stop), (gst_segment_set_seek),
6992         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
6993         (gst_segment_to_running_time):
6994         Added more documentation.
6995         Make sure the last_pos value is updated properly.
6996         Make sure to_stream_time and to_running_time don't
6997         operate on wrong values.
6998
6999         * tests/check/gst/gstsegment.c: (GST_START_TEST):
7000         Update check.
7001
7002 2005-12-12  Michael Smith  <msmith@fluendo.com>
7003
7004         * plugins/elements/gsttypefindelement.c: (free_entry),
7005         (gst_type_find_element_chain):
7006           Now that we're not leaking factories, make sure we keep references
7007           to them while we need them.
7008
7009 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
7010
7011         * tests/check/gst/struct_i386.h:
7012           ifdef out the XML structs
7013
7014 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
7015
7016         * gst/gstvalue.c: (gst_value_transform_double_fraction):
7017           floor is not needed, F is always positive; this obviates the
7018           need for adding -lm when building without libxml
7019
7020 2005-12-12  Wim Taymans  <wim@fluendo.com>
7021
7022         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
7023         Take current playback rate into account when reporting
7024         the position.
7025
7026 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
7027
7028         * docs/manual/mime-world.fig:
7029           Let's try this again, this time with a file that is
7030           actually in XFig format.
7031
7032 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
7033
7034         * docs/manual/mime-world.fig:
7035           Add audioconvert element to diagram so that it
7036           matches the text and the code (fixes #319526).
7037
7038 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
7039
7040         * docs/pwg/building-chainfn.xml:
7041         * docs/pwg/building-pads.xml:
7042         * docs/pwg/building-state.xml:
7043         * docs/pwg/other-source.xml:
7044           Update state change stuff for 0.10 (fixes #322969).
7045
7046 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
7047
7048         * docs/manual/advanced-dataaccess.xml:
7049         * docs/manual/appendix-checklist.xml:
7050         * docs/manual/appendix-programs.xml:
7051         * docs/manual/basics-pads.xml:
7052         * docs/manual/highlevel-components.xml:
7053         * docs/manual/manual.xml:
7054           Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
7055           add converters in front of pipelines; remove curly
7056           brackets for threads stuff, they no longer exist; use
7057           GST_TYPE_FRACTION for framerates; update some pieces of
7058           code to 0.10, but there's plenty more to do.
7059
7060         * docs/manual/appendix-porting.xml:
7061           Expand on asynchroneous state changes; s/0.9/0.10/;
7062           mention disappearance of gst_init_get_popt_table()
7063           (fixes #322916).
7064
7065 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
7066
7067         * docs/faq/using.xml:
7068           Spider no longer exists, and neither does gst-launch-ext.
7069           Update examples to use decodebin and playbin and put
7070           converters in front of sinks (fixes #323726).
7071
7072 2005-12-09  Michael Smith  <msmith@fluendo.com>
7073
7074         * plugins/elements/gsttypefindelement.c: (find_peek),
7075         (gst_type_find_element_chain):
7076           Fix leaking element factories in typefinding.
7077           Fix problem where we forgot about a probable type on non-seekable
7078           files, and thus later mis-typefound it.
7079
7080 2005-12-09  Michael Smith  <msmith@fluendo.com>
7081
7082         * common/m4/gst-makecontext.m4:
7083         * common/m4/gst-mcsc.m4:
7084         * configure.ac:
7085         * win32/common/config.h:
7086         * win32/common/config.h.in:
7087           Remove makecontext stuff; not used in 0.10 and causes problems on
7088           HPUX according to bug #322441
7089
7090 2005-12-07  Wim Taymans  <wim@fluendo.com>
7091
7092         * tests/check/Makefile.am:
7093         * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
7094         (main):
7095         * tests/check/libs/struct_i386.h:
7096         Added ABI check for libs
7097
7098 2005-12-07  Wim Taymans  <wim@fluendo.com>
7099
7100         * tests/check/Makefile.am:
7101         And add the struct_i386.h to dist.
7102
7103 2005-12-07  Wim Taymans  <wim@fluendo.com>
7104
7105         * tests/check/Makefile.am:
7106         * tests/check/gst/.cvsignore:
7107         * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
7108         (main):
7109         * tests/check/gst/struct_i386.h:
7110         Added check for ABI compatibility.
7111
7112 2005-12-07  Wim Taymans  <wim@fluendo.com>
7113
7114         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
7115         (gst_fake_src_get_times), (gst_fake_src_create):
7116         Fix broken sync option, fixes #323259
7117
7118 2005-12-07  Wim Taymans  <wim@fluendo.com>
7119
7120         * gst/gstbuffer.c:
7121         Small docs update.
7122
7123         * gst/gstcaps.c: (gst_caps_is_equal):
7124         Don't assert on NULL <--> X. Fixes #323260
7125
7126         * gst/gstminiobject.c: (gst_mini_object_replace):
7127         If we're doing atomic operations, we might just as well use
7128         the proper way to get an atomic pointer.
7129
7130         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
7131         Clean up debugging.
7132
7133 2005-12-07  Michael Smith  <msmith@fluendo.com>
7134
7135         * gst/parse/grammar.y:
7136           Remove handling of { } for threads.
7137
7138 2005-12-06  David Schleef  <ds@schleef.org>
7139
7140         * libs/gst/base/gstbasetransform.c: speling fix.
7141
7142 2005-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7143
7144         * docs/libs/tmpl/gstdataprotocol.sgml:
7145         * docs/random/omega/testing/gstobject.c:
7146         * gst/gst.c:
7147         * gst/gstclock.c:
7148         * gst/gstelement.c:
7149         * gst/gstelementfactory.c:
7150         * gst/gsterror.c:
7151         * gst/gstevent.c:
7152         * gst/gstghostpad.c:
7153         * gst/gstinfo.c:
7154         * gst/gstpadtemplate.c:
7155         * gst/gstregistryxml.c:
7156         * gst/gsttaglist.c:
7157         * gst/gsttagsetter.c:
7158         * gst/gsttypefind.c:
7159         * gst/gstvalue.c:
7160         * libs/gst/base/gstbasesrc.c:
7161         * libs/gst/net/gstnetclientclock.c:
7162         * libs/gst/net/gstnettimeprovider.c:
7163         * plugins/elements/gstfakesrc.c:
7164         * plugins/elements/gstfdsrc.c:
7165         * plugins/elements/gstfilesrc.c:
7166         * plugins/elements/gstidentity.c:
7167         * plugins/elements/gstqueue.c:
7168         * plugins/elements/gsttypefindelement.c:
7169         * plugins/indexers/gstfileindex.c:
7170         * plugins/indexers/gstmemindex.c:
7171         * tests/check/gst/gsttag.c:
7172         * tests/old/examples/cutter/cutter.c:
7173         * tests/old/examples/mixer/mixer.c:
7174         * tests/old/examples/xml/runxml.c: (main):
7175         * tests/old/testsuite/caps/normalisation.c:
7176         * tests/old/testsuite/debug/global.c:
7177         * tests/old/testsuite/parse/parse1.c:
7178         * tools/gst-xmlinspect.c:
7179         * win32/common/dirent.c:
7180           expand tabs
7181
7182 === release 0.10.0 ===
7183
7184 2005-12-05   <thomas (at) apestaart (dot) org>
7185
7186         * configure.ac:
7187           releasing 0.10.0, "Maroilles"
7188
7189 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
7190
7191         submitted by: Funda Wang <fundawang@linux.net.cn>
7192
7193         * po/LINGUAS:
7194         * po/zh_CN.po:
7195           added Chinese (Traditional) translation
7196
7197 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
7198
7199         * docs/gst/gstreamer-sections.txt:
7200         * docs/libs/tmpl/gstdataprotocol.sgml:
7201         * docs/random/thomasvs/TODO:
7202         * gst/gstutils.c:
7203         * gst/gstutils.h:
7204           fix docs
7205
7206 2005-12-05  Andy Wingo  <wingo@pobox.com>
7207
7208         patch by: Wim Taymans <wim@fluendo.com>
7209
7210         * libs/gst/base/gstbasetransform.c
7211         (gst_base_transform_prepare_output_buf)
7212         (gst_base_transform_buffer_alloc):
7213         * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
7214         alloc_buffer_and_set_caps.
7215
7216         * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
7217         set_caps on the source pad.
7218         (gst_pad_alloc_buffer_and_set_caps): New function, does what
7219         alloc_buffer used to do. Fixes #322874.
7220
7221         * docs/gst/gstreamer-sections.txt: 
7222         * docs/design/part-negotiation.txt: 
7223         * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
7224         changes.
7225
7226 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
7227
7228         patch by: Sebastien Moutte
7229
7230         * win32/MANIFEST:
7231         * win32/common/config.h.in:
7232         * win32/vs6/libgstcontroller.dsp:
7233           win32 build fixes
7234
7235 2005-12-05  Wim Taymans  <wim@fluendo.com>
7236
7237         * gst/gstcaps.c: (gst_caps_is_equal):
7238         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
7239         (gst_fake_src_create):
7240         Back out previous code changes, leave doc updates, file bugs 
7241         instead. 
7242
7243 2005-12-05  Wim Taymans  <wim@fluendo.com>
7244
7245         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
7246         (gst_fake_src_get_times), (gst_fake_src_create):
7247         * plugins/elements/gstfakesrc.h:
7248         Fix broken sync code.
7249
7250 2005-12-05  Wim Taymans  <wim@fluendo.com>
7251
7252         * gst/gstcaps.c: (gst_caps_is_equal):
7253         Comparing NULL against !NULL yields different caps, not a
7254         failure.
7255
7256 2005-12-05  Wim Taymans  <wim@fluendo.com>
7257
7258         * gst/gstpipeline.c:
7259         Fix small typo in docs.
7260
7261 2005-12-05  Andy Wingo  <wingo@pobox.com>
7262
7263         patch by: Thomas Vander Stichele  <thomas at apestaart dot org>
7264
7265         * gst/gst.c (init_post): remove hard-coded 0.9 location for
7266         registries/plugins with a MAJORMINOR one.
7267         (plugin_desc): Rename library from gstcoreleements to
7268         staticelements. Fixes #323222.
7269
7270 2005-12-05  Tim-Philipp Müller  <tim at centricular dot net>
7271
7272         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
7273           Change debug category to 'collectpads' from 'collect_pads'
7274           (fixes #323250).
7275
7276 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
7277
7278         patch by: Sebastien Moutte
7279
7280         * libs/gst/controller/gstinterpolation.c:
7281           use convert function for uint64/double
7282         * win32/vs6/libgstcontroller.dsp:
7283           link to GLib
7284
7285 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
7286
7287         * gst/gstutils.c: (gst_util_guint64_to_gdouble),
7288         (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
7289         * gst/gstutils.h:
7290         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
7291           add tests that seem to show that the guint64/gdouble conversions
7292           are correct.
7293
7294 2005-12-02  Wim Taymans  <wim@fluendo.com>
7295
7296         * gst/gstregistry.c: (gst_registry_add_path):
7297         * gst/gstregistry.h:
7298         * gst/gstregistryxml.c:
7299         Fix docs again.
7300
7301 2005-12-02  Wim Taymans  <wim@fluendo.com>
7302
7303         * gst/gstutils.c: (gst_util_uint64_scale_int64),
7304         (gst_util_uint64_scale_int):
7305         Small cleanup.
7306
7307         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7308         Add debug log line.
7309
7310         * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
7311         Add FIXME.
7312
7313 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7314
7315         * win32/MANIFEST:
7316         * win32/common/config.h:
7317         * win32/vs6/gstreamer.dsw:
7318         * win32/vs6/libgstcoreelements.dsp:
7319         * win32/vs6/libgstelements.dsp:
7320           renamed core elements plugin
7321
7322 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7323
7324         * tools/gst-run.c: (compare_major_minor), (find_highest_version),
7325         (get_candidates):
7326           do piece-wise major/minor comparison so 0.9 < 0.10
7327           also allow .exe extensions for tools
7328
7329 2005-12-02  Michael Smith  <msmith@fluendo.com>
7330
7331         * gst/gst.c:
7332           Escape a % to make gtkdoc happier; bug 322958.
7333
7334 === release 0.9.7 ===
7335
7336 2005-12-01   <thomas (at) apestaart (dot) org>
7337
7338         * configure.ac:
7339           releasing 0.9.7, "My Dog Has No Nose"
7340
7341 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7342
7343         * common/gst-xmlinspect.py:
7344         * configure.ac:
7345         * docs/libs/tmpl/gstdataprotocol.sgml:
7346         * docs/random/release:
7347         * po/af.po:
7348         * po/az.po:
7349         * po/bg.po:
7350         * po/ca.po:
7351         * po/cs.po:
7352         * po/de.po:
7353         * po/en_GB.po:
7354         * po/fr.po:
7355         * po/it.po:
7356         * po/nb.po:
7357         * po/nl.po:
7358         * po/ru.po:
7359         * po/sq.po:
7360         * po/sr.po:
7361         * po/sv.po:
7362         * po/tr.po:
7363         * po/uk.po:
7364         * po/vi.po:
7365         * win32/common/config.h:
7366         * win32/common/config.h.in:
7367         * win32/vs6/gst_inspect.dsp:
7368         * win32/vs6/gst_launch.dsp:
7369         * win32/vs6/libgstbase.dsp:
7370         * win32/vs6/libgstelements.dsp:
7371         * win32/vs6/libgstreamer.dsp:
7372         * win32/vs7/GStreamer.vcproj:
7373         * win32/vs7/gst-inspect.vcproj:
7374         * win32/vs7/gst-launch.vcproj:
7375         * win32/vs7/libgstbase.vcproj:
7376           bump GST_MAJORMINOR to 0.10
7377           reset libtool version
7378
7379 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7380
7381         * po/LINGUAS:
7382         * po/bg.po:
7383           Added Bulgarian translation by (Alexander Shopov)
7384
7385 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7386
7387         * tests/check/gst/gstplugin.c:
7388           fix test
7389
7390 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7391
7392         * common/gst-xmlinspect.py:
7393         * common/gtk-doc-plugins.mak:
7394         * configure.ac:
7395         * docs/Makefile.am:
7396         * docs/gst/Makefile.am:
7397         * docs/gst/gstreamer-docs.sgml:
7398         * docs/gst/gstreamer-sections.txt:
7399         * docs/gst/gstreamer.types:
7400         * docs/gst/gstreamer.types.in:
7401         * docs/plugins/Makefile.am:
7402         * docs/plugins/gstreamer-plugins-docs.sgml:
7403         * docs/plugins/gstreamer-plugins-sections.txt:
7404         * docs/plugins/gstreamer-plugins.types:
7405         * docs/plugins/inspect.stamp:
7406         * docs/plugins/inspect/plugin-coreelements.xml:
7407         * docs/plugins/inspect/plugin-coreindexers.xml:
7408         * docs/plugins/scanobj-build.stamp:
7409         * gstreamer.spec.in:
7410         * plugins/elements/Makefile.am:
7411         * plugins/elements/gstelements.c:
7412         * plugins/elements/gstfakesink.c:
7413         * plugins/elements/gstfakesrc.c:
7414         * plugins/elements/gstfilesink.c:
7415         * plugins/elements/gstfilesrc.c:
7416         * plugins/elements/gstqueue.c:
7417         * plugins/indexers/Makefile.am:
7418         * plugins/indexers/gstindexers.c:
7419           document core plugins in a separate document just like all the
7420           others
7421           rename these plugins to something starting with core
7422
7423 2005-12-01  Andy Wingo  <wingo@pobox.com>
7424
7425         * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
7426         padding here before, but it missed the commit.
7427
7428 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
7429
7430         * libs/gst/controller/gstinterpolation.c:
7431           whitespace prices have crashed, we should feel free to use some now
7432           use gst_guint64_to_gdouble
7433
7434 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
7435
7436         * libs/gst/controller/gstcontroller.c:
7437         * libs/gst/controller/gsthelper.c:
7438         * libs/gst/controller/gstinterpolation.c:
7439         * libs/gst/controller/lib.c:
7440           wrap config.h include
7441
7442 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
7443
7444         * docs/gst/gstreamer-sections.txt:
7445           update docs
7446
7447 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
7448
7449         * plugins/elements/gstelements.c:
7450         * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
7451         (gst_fd_sink__class_init), (gst_fd_sink__init),
7452         (gst_fd_sink__chain), (gst_fd_sink__set_property),
7453         (gst_fd_sink__get_property):
7454         * plugins/elements/gstfdsink.h:
7455         * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
7456         (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
7457         (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
7458         (gst_fd_src_unlock), (gst_fd_src_set_property),
7459         (gst_fd_src_get_property), (gst_fd_src_create),
7460         (gst_fd_src_is_seekable), (gst_fd_src_get_size),
7461         (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
7462         (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
7463         (gst_fd_src_uri_handler_init):
7464         * plugins/elements/gstfdsrc.h:
7465         * plugins/elements/gstqueue.c: (gst_queue_get_type):
7466           more anal cleanup
7467
7468 2005-11-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7469
7470         * docs/gst/Makefile.am:
7471         * docs/gst/gstreamer.types.in:
7472         * gst/Makefile.am:
7473           fix the docs build
7474
7475 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
7476
7477         * configure.ac:
7478         * gst/Makefile.am:
7479         * gst/gst.c:
7480         * gst/gstplugin.h:
7481         * gst/gstregistry.h:
7482         * tests/benchmarks/complexity.c:
7483         * tests/benchmarks/mass-elements.c:
7484         * tests/check/Makefile.am:
7485         * tools/Makefile.am:
7486         * tools/gst-inspect.c:
7487         * tools/gst-xmlinspect.c:
7488           various fixes to make
7489           --disable-nls --disable-registry --disable-loadsave
7490           --disable-parse --disable-gst-debug
7491           work and get the core .so down to 360444 bytes after stripping
7492
7493 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
7494
7495         * Makefile.am:
7496         * configure.ac:
7497           descend into tests
7498         * docs/random/thomasvs/TODO:
7499         * tests/Makefile.am:
7500         * tests/README:
7501           add a README
7502
7503 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
7504
7505         * win32/GStreamer.vcproj:
7506         * win32/MANIFEST:
7507         * win32/Makefile:
7508         * win32/Makefile.inspect:
7509         * win32/Makefile.launch:
7510         * win32/Makefile.register:
7511         * win32/README.txt:
7512         * win32/gst-inspect.vcproj:
7513         * win32/gst-launch.vcproj:
7514         * win32/gst-register.vcproj:
7515         * win32/gstelements.vcproj:
7516         * win32/gstgetbits.def:
7517         * win32/gstgetbits.vcproj:
7518         * win32/gstreamer-dbg.def:
7519         * win32/gstreamer.def:
7520         * win32/libgstbase.def:
7521         * win32/libgstbase.vcproj:
7522         * win32/link_oldruntime.c:
7523         * win32/mman.c:
7524         * win32/mman.h:
7525         * win32/mman.inl:
7526         * win32/msvc71.sln:
7527           move even more stuff, win32/ is nice and clean now
7528
7529 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
7530
7531         * libs/gst/control/.cvsignore:
7532         * win32/MANIFEST:
7533         * win32/config.h:
7534         * win32/dirent.c:
7535         * win32/dirent.h:
7536         * win32/gstbytestream.def:
7537         * win32/gstbytestream.vcproj:
7538         * win32/gstconfig.h:
7539         * win32/gstenumtypes.c:
7540         * win32/gstenumtypes.h:
7541         * win32/gstoptimalscheduler.vcproj:
7542         * win32/gstversion.h:
7543         * win32/gtchar.h:
7544         * win32/testsuite/bins.vcproj:
7545         * win32/testsuite/bytestream.vcproj:
7546         * win32/testsuite/caps.vcproj:
7547         * win32/testsuite/cleanup.vcproj:
7548         * win32/testsuite/clock.vcproj:
7549         * win32/testsuite/debug.vcproj:
7550         * win32/testsuite/dlopen.vcproj:
7551         * win32/testsuite/dynparams.vcproj:
7552         * win32/testsuite/elements.vcproj:
7553         * win32/testsuite/ghostpads.vcproj:
7554         * win32/testsuite/indexers.vcproj:
7555         * win32/testsuite/negotiation.vcproj:
7556         * win32/testsuite/parse.vcproj:
7557         * win32/testsuite/plugin.vcproj:
7558         * win32/testsuite/refcounting.vcproj:
7559         * win32/testsuite/schedulers.vcproj:
7560         * win32/testsuite/states.vcproj:
7561         * win32/testsuite/tags.vcproj:
7562         * win32/testsuite/threads.vcproj:
7563           remove old win32 stuff that isn't maintained and should be
7564           reorganized
7565
7566 2005-11-30  Andy Wingo  <wingo@pobox.com>
7567
7568         * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
7569         loading the gst.interfaces python module bork.
7570
7571         * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
7572         available since GLib 2.2. Fixes #318031.
7573
7574 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
7575
7576         * Makefile.am:
7577         * check/.cvsignore:
7578         * check/Makefile.am:
7579         * check/elements/.cvsignore:
7580         * check/elements/fakesrc.c:
7581         * check/elements/fdsrc.c:
7582         * check/elements/identity.c:
7583         * check/generic/.cvsignore:
7584         * check/generic/states.c:
7585         * check/gst-libs/.cvsignore:
7586         * check/gst-libs/controller.c:
7587         * check/gst-libs/gdp.c:
7588         * check/gst/.cvsignore:
7589         * check/gst/capslist.h:
7590         * check/gst/gst.c:
7591         * check/gst/gstbin.c:
7592         * check/gst/gstbuffer.c:
7593         * check/gst/gstbus.c:
7594         * check/gst/gstcaps.c:
7595         * check/gst/gstelement.c:
7596         * check/gst/gstevent.c:
7597         * check/gst/gstghostpad.c:
7598         * check/gst/gstiterator.c:
7599         * check/gst/gstmessage.c:
7600         * check/gst/gstminiobject.c:
7601         * check/gst/gstobject.c:
7602         * check/gst/gstpad.c:
7603         * check/gst/gstpipeline.c:
7604         * check/gst/gstplugin.c:
7605         * check/gst/gstsegment.c:
7606         * check/gst/gststructure.c:
7607         * check/gst/gstsystemclock.c:
7608         * check/gst/gsttag.c:
7609         * check/gst/gstutils.c:
7610         * check/gst/gstvalue.c:
7611         * check/net/.cvsignore:
7612         * check/net/gstnetclientclock.c:
7613         * check/net/gstnettimeprovider.c:
7614         * check/pipelines/.cvsignore:
7615         * check/pipelines/cleanup.c:
7616         * check/pipelines/simple_launch_lines.c:
7617         * check/pipelines/stress.c:
7618         * check/states/.cvsignore:
7619         * check/states/sinks.c:
7620         * configure.ac:
7621         * examples/Makefile.am:
7622         * examples/appreader/.cvsignore:
7623         * examples/appreader/Makefile.am:
7624         * examples/appreader/appreader.c:
7625         * examples/controller/.cvsignore:
7626         * examples/controller/Makefile.am:
7627         * examples/controller/audio-example.c:
7628         * examples/cutter/.cvsignore:
7629         * examples/cutter/Makefile.am:
7630         * examples/cutter/cutter.c:
7631         * examples/cutter/cutter.h:
7632         * examples/events/Makefile.am:
7633         * examples/events/seek.c:
7634         * examples/helloworld/.cvsignore:
7635         * examples/helloworld/Makefile.am:
7636         * examples/helloworld/helloworld.c:
7637         * examples/helloworld2/.cvsignore:
7638         * examples/helloworld2/Makefile.am:
7639         * examples/helloworld2/helloworld2.c:
7640         * examples/launch/.cvsignore:
7641         * examples/launch/Makefile.am:
7642         * examples/launch/mp3parselaunch.c:
7643         * examples/launch/mp3play:
7644         * examples/manual/.cvsignore:
7645         * examples/manual/Makefile.am:
7646         * examples/manual/extract.pl:
7647         * examples/metadata/Makefile.am:
7648         * examples/metadata/read-metadata.c:
7649         * examples/mixer/.cvsignore:
7650         * examples/mixer/Makefile.am:
7651         * examples/mixer/mixer.c:
7652         * examples/mixer/mixer.h:
7653         * examples/pingpong/.cvsignore:
7654         * examples/pingpong/Makefile.am:
7655         * examples/pingpong/pingpong.c:
7656         * examples/plugins/.cvsignore:
7657         * examples/plugins/Makefile.am:
7658         * examples/plugins/example.c:
7659         * examples/plugins/example.h:
7660         * examples/pwg/.cvsignore:
7661         * examples/pwg/Makefile.am:
7662         * examples/pwg/extract.pl:
7663         * examples/queue/.cvsignore:
7664         * examples/queue/Makefile.am:
7665         * examples/queue/queue.c:
7666         * examples/queue2/.cvsignore:
7667         * examples/queue2/Makefile.am:
7668         * examples/queue2/queue2.c:
7669         * examples/queue3/.cvsignore:
7670         * examples/queue3/Makefile.am:
7671         * examples/queue3/queue3.c:
7672         * examples/queue4/.cvsignore:
7673         * examples/queue4/Makefile.am:
7674         * examples/queue4/queue4.c:
7675         * examples/retag/.cvsignore:
7676         * examples/retag/Makefile.am:
7677         * examples/retag/retag.c:
7678         * examples/retag/transcode.c:
7679         * examples/thread/.cvsignore:
7680         * examples/thread/Makefile.am:
7681         * examples/thread/thread.c:
7682         * examples/typefind/.cvsignore:
7683         * examples/typefind/Makefile.am:
7684         * examples/typefind/typefind.c:
7685         * examples/xml/.cvsignore:
7686         * examples/xml/Makefile.am:
7687         * examples/xml/createxml.c:
7688         * examples/xml/runxml.c:
7689         * tests/Makefile.am:
7690         * tests/check/Makefile.am:
7691         * testsuite/.cvsignore:
7692         * testsuite/Makefile.am:
7693         * testsuite/Rules:
7694         * testsuite/caps/.cvsignore:
7695         * testsuite/caps/Makefile.am:
7696         * testsuite/caps/app_fixate.c:
7697         * testsuite/caps/audioscale.c:
7698         * testsuite/caps/caps.c:
7699         * testsuite/caps/caps.h:
7700         * testsuite/caps/caps_strings:
7701         * testsuite/caps/compatibility.c:
7702         * testsuite/caps/deserialize.c:
7703         * testsuite/caps/enumcaps.c:
7704         * testsuite/caps/eratosthenes.c:
7705         * testsuite/caps/filtercaps.c:
7706         * testsuite/caps/fixed.c:
7707         * testsuite/caps/fraction-convert.c:
7708         * testsuite/caps/fraction-multiply-and-zero.c:
7709         * testsuite/caps/intersect2.c:
7710         * testsuite/caps/intersection.c:
7711         * testsuite/caps/normalisation.c:
7712         * testsuite/caps/random.c:
7713         * testsuite/caps/renegotiate.c:
7714         * testsuite/caps/sets.c:
7715         * testsuite/caps/simplify.c:
7716         * testsuite/caps/string-conversions.c:
7717         * testsuite/caps/structure.c:
7718         * testsuite/caps/subtract.c:
7719         * testsuite/caps/union.c:
7720         * testsuite/debug/.cvsignore:
7721         * testsuite/debug/Makefile.am:
7722         * testsuite/debug/category.c:
7723         * testsuite/debug/commandline.c:
7724         * testsuite/debug/global.c:
7725         * testsuite/debug/output.c:
7726         * testsuite/debug/printf_extension.c:
7727         * testsuite/dlopen/.cvsignore:
7728         * testsuite/dlopen/Makefile.am:
7729         * testsuite/dlopen/dlopen_gst.c:
7730         * testsuite/dlopen/loadgst.c:
7731         * testsuite/elements/.cvsignore:
7732         * testsuite/elements/Makefile.am:
7733         * testsuite/elements/gst-inspect-check.in:
7734         * testsuite/elements/struct_i386.h:
7735         * testsuite/elements/struct_size.c:
7736         * testsuite/indexers/.cvsignore:
7737         * testsuite/indexers/Makefile.am:
7738         * testsuite/indexers/cache1.c:
7739         * testsuite/indexers/indexdump.c:
7740         * testsuite/parse/.cvsignore:
7741         * testsuite/parse/Makefile.am:
7742         * testsuite/parse/parse1.c:
7743         * testsuite/parse/parse2.c:
7744         * testsuite/plugin/.cvsignore:
7745         * testsuite/plugin/Makefile.am:
7746         * testsuite/plugin/README:
7747         * testsuite/plugin/dynamic.c:
7748         * testsuite/plugin/linked.c:
7749         * testsuite/plugin/loading.c:
7750         * testsuite/plugin/registry.c:
7751         * testsuite/plugin/static.c:
7752         * testsuite/plugin/static2.c:
7753         * testsuite/plugin/testplugin.c:
7754         * testsuite/plugin/testplugin2.c:
7755         * testsuite/plugin/testplugin2_s.c:
7756         * testsuite/plugin/testplugin_s.c:
7757         * testsuite/refcounting/.cvsignore:
7758         * testsuite/refcounting/Makefile.am:
7759         * testsuite/refcounting/bin.c:
7760         * testsuite/refcounting/element.c:
7761         * testsuite/refcounting/element_pad.c:
7762         * testsuite/refcounting/mainloop.c:
7763         * testsuite/refcounting/mem.c:
7764         * testsuite/refcounting/mem.h:
7765         * testsuite/refcounting/object.c:
7766         * testsuite/refcounting/pad.c:
7767         * testsuite/refcounting/sched.c:
7768         * testsuite/refcounting/thread.c:
7769         * testsuite/states/.cvsignore:
7770         * testsuite/states/Makefile.am:
7771         * testsuite/states/bin.c:
7772         * testsuite/states/locked.c:
7773         * testsuite/states/parent.c:
7774         * testsuite/threads/.cvsignore:
7775         * testsuite/threads/159566.c:
7776         * testsuite/threads/159852.c:
7777         * testsuite/threads/Makefile.am:
7778         * testsuite/threads/queue.c:
7779         * testsuite/threads/signals.c:
7780         * testsuite/threads/staticrec.c:
7781         * testsuite/threads/thread.c:
7782         * testsuite/threads/threadb.c:
7783         * testsuite/threads/threadc.c:
7784         * testsuite/threads/threadd.c:
7785         * testsuite/threads/threade.c:
7786         * testsuite/threads/threadf.c:
7787         * testsuite/threads/threadg.c:
7788         * testsuite/threads/threadh.c:
7789         * testsuite/threads/threadi.c:
7790           move all of these under tests
7791
7792 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
7793
7794         * configure.ac:
7795         * tests/Makefile.am:
7796           fix distcheck
7797
7798 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
7799
7800         * docs/gst/gstreamer-sections.txt:
7801         * tests/sched/.cvsignore:
7802         * tests/sched/Makefile.am:
7803         * tests/sched/cases/(fs-fs).xml:
7804         * tests/sched/cases/(fs-i-fs).xml:
7805         * tests/sched/cases/(fs-i-i-fs).xml:
7806         * tests/sched/cases/(fs-i-q[i-fs]).xml:
7807         * tests/sched/dynamic-pipeline.c:
7808         * tests/sched/interrupt1.c:
7809         * tests/sched/interrupt2.c:
7810         * tests/sched/interrupt3.c:
7811         * tests/sched/runtestcases:
7812         * tests/sched/runxml.c:
7813         * tests/sched/sched-stress.c:
7814         * tests/sched/sort.c:
7815         * tests/sched/testcases:
7816         * tests/sched/testcases1.tc:
7817         * tests/seeking/.cvsignore:
7818         * tests/seeking/Makefile.am:
7819         * tests/seeking/seeking1.c:
7820         * tests/threadstate/.cvsignore:
7821         * tests/threadstate/Makefile.am:
7822         * tests/threadstate/test1.c:
7823         * tests/threadstate/test2.c:
7824         * tests/threadstate/threadstate1.c:
7825         * tests/threadstate/threadstate2.c:
7826         * tests/threadstate/threadstate3.c:
7827         * tests/threadstate/threadstate4.c:
7828         * tests/threadstate/threadstate5.c:
7829           remove obsolete tests
7830         * configure.ac:
7831         * tests/bench-complexity.scm:
7832         * tests/bench-mass_elements.scm:
7833         * tests/complexity.c:
7834         * tests/complexity.gnuplot:
7835         * tests/instantiate/.cvsignore:
7836         * tests/instantiate/Makefile.am:
7837         * tests/instantiate/caps.c:
7838         * tests/mass_elements.c:
7839         * tests/network-clock-utils.scm:
7840         * tests/network-clock.scm:
7841         * tests/plot-data:
7842         First pass at cleaning up tests/ dir before moving the rest
7843         Combined with CVS surgery
7844
7845 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
7846
7847         * po/POTFILES.in:
7848           queue has moved, update
7849
7850 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
7851
7852         * docs/gst/gstreamer-sections.txt:
7853           remove double entries from the docs
7854         * gst/gst_private.h:
7855         * gst/gstinfo.c: (_gst_debug_init):
7856           remove the THREAD debug category
7857         * gst/Makefile.am:
7858         * gst/gstqueue.c:
7859         * gst/gstqueue.h:
7860         * docs/gst/gstreamer.types:
7861         * plugins/elements/gstqueue.c: (gst_queue_get_type),
7862         (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
7863           completely move queue and fix up debugging categories
7864
7865 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
7866
7867         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
7868           make initialization portable, using LL is not
7869
7870 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
7871
7872         * win32/common/gstconfig.h:
7873           add large padding
7874
7875 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
7876
7877         * win32/common/libgstreamer.def:
7878           rename symbols; sort base section
7879
7880 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
7881
7882         * gst/gstclock.c: (do_linear_regression):
7883           remove crack non-portable handrolled DEBUG macro
7884
7885 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
7886
7887         * docs/random/release:
7888           update notes
7889         * win32/common/gstenumtypes.c: (register_gst_object_flags),
7890         (gst_object_flags_get_type), (register_gst_bin_flags),
7891         (gst_bin_flags_get_type), (register_gst_buffer_flag),
7892         (gst_buffer_flag_get_type), (register_gst_bus_flags),
7893         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
7894         (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
7895         (gst_caps_flags_get_type), (register_gst_clock_return),
7896         (gst_clock_return_get_type), (register_gst_clock_entry_type),
7897         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
7898         (gst_clock_flags_get_type), (register_gst_state),
7899         (gst_state_get_type), (register_gst_state_change_return),
7900         (gst_state_change_return_get_type), (register_gst_state_change),
7901         (gst_state_change_get_type), (register_gst_element_flags),
7902         (gst_element_flags_get_type), (register_gst_core_error),
7903         (gst_core_error_get_type), (register_gst_library_error),
7904         (gst_library_error_get_type), (register_gst_resource_error),
7905         (gst_resource_error_get_type), (register_gst_stream_error),
7906         (gst_stream_error_get_type), (register_gst_event_type_flags),
7907         (gst_event_type_flags_get_type), (register_gst_event_type),
7908         (gst_event_type_get_type), (register_gst_seek_type),
7909         (gst_seek_type_get_type), (register_gst_seek_flags),
7910         (gst_seek_flags_get_type), (register_gst_format),
7911         (gst_format_get_type), (register_gst_index_certainty),
7912         (gst_index_certainty_get_type), (register_gst_index_entry_type),
7913         (gst_index_entry_type_get_type),
7914         (register_gst_index_lookup_method),
7915         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
7916         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
7917         (gst_index_resolver_method_get_type), (register_gst_index_flags),
7918         (gst_index_flags_get_type), (register_gst_debug_level),
7919         (gst_debug_level_get_type), (register_gst_debug_color_flags),
7920         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
7921         (gst_iterator_result_get_type), (register_gst_iterator_item),
7922         (gst_iterator_item_get_type), (register_gst_message_type),
7923         (gst_message_type_get_type), (register_gst_mini_object_flags),
7924         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
7925         (gst_pad_link_return_get_type), (register_gst_flow_return),
7926         (gst_flow_return_get_type), (register_gst_activate_mode),
7927         (gst_activate_mode_get_type), (register_gst_pad_direction),
7928         (gst_pad_direction_get_type), (register_gst_pad_flags),
7929         (gst_pad_flags_get_type), (register_gst_pad_presence),
7930         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
7931         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
7932         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
7933         (gst_plugin_error_get_type), (register_gst_plugin_flags),
7934         (gst_plugin_flags_get_type), (register_gst_rank),
7935         (gst_rank_get_type), (register_gst_query_type),
7936         (gst_query_type_get_type), (register_gst_tag_merge_mode),
7937         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
7938         (gst_tag_flag_get_type), (register_gst_task_state),
7939         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
7940         (gst_alloc_trace_flags_get_type),
7941         (register_gst_type_find_probability),
7942         (gst_type_find_probability_get_type), (register_gst_uri_type),
7943         (gst_uri_type_get_type), (register_gst_parse_error),
7944         (gst_parse_error_get_type):
7945         * win32/common/gstenumtypes.h:
7946         * win32/common/gstversion.h:
7947           update visual studio generated files
7948
7949 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
7950
7951         * win32/vs6/libgstbase.dsp:
7952         * win32/vs6/libgstelements.dsp:
7953           update project files for new locations
7954
7955 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
7956
7957         * Makefile.am:
7958           remove some files
7959         * README:
7960           reinstate and update
7961         * DEVEL:
7962         * REQUIREMENTS:
7963           removed
7964         * LICENSE:
7965         * docs/random/LICENSE:
7966           moved to random
7967
7968 2005-11-30  Edward Hervey  <edward@fluendo.com>
7969
7970         * gst/gsttypefind.c: (gst_type_find_register):
7971         * gst/gsttypefind.h:
7972         * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
7973         (gst_type_find_factory_dispose):
7974         * gst/gsttypefindfactory.h:
7975         Fix memory leak in GstTypeFindFactory.
7976
7977 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7978
7979         * gst/gst.c:
7980         * plugins/elements/Makefile.am:
7981         * plugins/elements/gstelements.c:
7982         * plugins/elements/gstqueue.c:
7983           move queue from core to the elements plugin
7984
7985 2005-11-29  Andy Wingo  <wingo@pobox.com>
7986
7987         * libs/gst/base/gstbasetransform.h: 
7988         * libs/gst/base/gstbasesrc.h: 
7989         * libs/gst/base/gstbasesink.h: en-LARGE the padding.
7990
7991         * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
7992         of pointers by which to pad very extensible base classes (like the
7993         ones in libs/gst/base).
7994
7995 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7996
7997         * docs/gst/gstreamer-docs.sgml:
7998         * docs/gst/gstreamer-sections.txt:
7999         * docs/libs/gstreamer-libs-docs.sgml:
8000         * docs/libs/gstreamer-libs-sections.txt:
8001           moving documentation from core to lib
8002
8003 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8004
8005         * check/Makefile.am:
8006         * configure.ac:
8007         * docs/gst/Makefile.am:
8008         * gst/Makefile.am:
8009         * gst/base/.cvsignore:
8010         * gst/base/Makefile.am:
8011         * gst/base/README:
8012         * gst/base/gstadapter.c:
8013         * gst/base/gstadapter.h:
8014         * gst/base/gstbasesink.c:
8015         * gst/base/gstbasesink.h:
8016         * gst/base/gstbasesrc.c:
8017         * gst/base/gstbasesrc.h:
8018         * gst/base/gstbasetransform.c:
8019         * gst/base/gstbasetransform.h:
8020         * gst/base/gstcollectpads.c:
8021         * gst/base/gstcollectpads.h:
8022         * gst/base/gstpushsrc.c:
8023         * gst/base/gstpushsrc.h:
8024         * gst/base/gsttypefindhelper.c:
8025         * gst/base/gsttypefindhelper.h:
8026         * gst/check/Makefile.am:
8027         * gst/check/gstcheck.c:
8028         * gst/check/gstcheck.h:
8029         * gst/net/Makefile.am:
8030         * gst/net/gstnet.h:
8031         * gst/net/gstnetclientclock.c:
8032         * gst/net/gstnetclientclock.h:
8033         * gst/net/gstnettimepacket.c:
8034         * gst/net/gstnettimepacket.h:
8035         * gst/net/gstnettimeprovider.c:
8036         * gst/net/gstnettimeprovider.h:
8037         * libs/gst/Makefile.am:
8038         * libs/gst/base/Makefile.am:
8039         * libs/gst/base/gstbasetransform.c:
8040         * libs/gst/check/Makefile.am:
8041         * plugins/elements/Makefile.am:
8042         * po/POTFILES.in:
8043           CVS surgery + support to move base, check, and net out of gst
8044           and into libs/gst
8045
8046 2005-11-29  Andy Wingo  <wingo@pobox.com>
8047
8048         * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
8049
8050         * gst/gststructure.h (struct _GstStructure): Only one pointer of
8051         padding.
8052
8053         * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
8054
8055         * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
8056
8057         * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
8058
8059         * gst/gstobject.h: (struct _GstObject): Only one pointer of
8060         padding; reduces object size by about 30%. We don't expect
8061         anything else to go into gstobject.
8062
8063         * gst/gstminiobject.h (struct _GstMiniObject)
8064         (struct _GstMiniObjectClass): Only one pointer of padding; the
8065         payload is only a pointer and two ints anyway. For the class there
8066         are only two methods as well.
8067         
8068         * gst/gstelement.h (struct _GstElementClass): Removed
8069         the state_changed signal callback, it is not used.
8070
8071 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
8072
8073         * docs/gst/gstreamer.types:
8074           fix includes, though they are a little dinky
8075
8076 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8077
8078         * check/Makefile.am:
8079           look in the right place for elements, a lot more chance of
8080           success
8081         * gst/Makefile.am:
8082           remove indexers and elements subdirs
8083         * plugins/Makefile.am:
8084           make indexers conditional
8085
8086 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8087
8088         * Makefile.am:
8089         * configure.ac:
8090         * plugins/elements/Makefile.am:
8091         * plugins/elements/gstcapsfilter.c:
8092         * plugins/elements/gstfilesink.c:
8093         * plugins/elements/gstfilesrc.c:
8094         * plugins/elements/gstidentity.c:
8095         * plugins/indexers/Makefile.am:
8096           do CVS surgery and related build fixery to move elements
8097           and indexers in a new gstreamer/plugins directory, out of the
8098           gst/ directory
8099
8100 2005-11-29  Andy Wingo  <wingo@pobox.com>
8101
8102         * check/Makefile.am:
8103         * pkgconfig/gstreamer-net-uninstalled.pc.in:
8104         * pkgconfig/gstreamer-net.pc.in:
8105         * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
8106         #322257.
8107
8108 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
8109
8110         * tools/Makefile.am:
8111         * tools/gst-complete.1.in:
8112         * tools/gst-complete.c:
8113         * tools/gst-compprep.1.in:
8114         * tools/gst-compprep.c:
8115           removing -compprep and -complete
8116
8117 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
8118
8119         * gst/gstevent.c: (gst_event_new_new_segment),
8120         (gst_event_parse_new_segment):
8121         * gst/gstevent.h:
8122           fix #320529 - clean up new_segment API and structure.
8123           Let's hope everyone was using the methods, and not the structure.
8124
8125 2005-11-29  Edward Hervey  <edward@fluendo.com>
8126
8127         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8128         (gst_base_sink_event), (gst_base_sink_do_sync),
8129         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
8130         Properly handle non GST_FORMAT_TIME segment
8131         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
8132         Properly handle non GST_FORMAT_TIME segment
8133         * gst/gstsegment.c:
8134         This function is valid if the accumulator is 0 and the format
8135         is different from the requested format.
8136         
8137 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
8138
8139         * docs/gst/gstreamer-sections.txt:
8140         Add gst_query_new_seeking and gst_query_parse_seeking to the
8141         docs.
8142
8143 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
8144
8145         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
8146           Treat a pad alloc with new caps the same as if we were not
8147           negotiated, in order to allow a changing upstream output
8148           to produce a new format of data.
8149
8150 2005-11-29  Edward Hervey  <edward@fluendo.com>
8151
8152         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
8153         (gst_base_transform_event), (gst_base_transform_eventfunc):
8154         The event virtual method is now properly implemented, with a default
8155         handler
8156         Sub classes should call the parent_class event method. They should
8157         return FALSE if they had a problem handling the given event, or don't
8158         want GstBaseTransform to send that even downstream
8159         * gst/elements/gstidentity.c: (gst_identity_class_init),
8160         (gst_identity_init), (gst_identity_event),
8161         (gst_identity_transform_ip), (gst_identity_set_property),
8162         (gst_identity_get_property):
8163         * gst/elements/gstidentity.h:
8164         Added the single-segment boolean property.
8165         If set to TRUE, it will output a single segment of data, starting from
8166         0, will eat up all incoming newsegment, and modify the timestamp of the
8167         buffers accordingly
8168
8169 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
8170
8171         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
8172           Don't ref NULL target pad (#322751). Improve docs.
8173
8174 2005-11-29  Michael Smith  <msmith@fluendo.com>
8175
8176         * gst/gstregistryxml.c: (load_plugin):
8177           Don't crash if we failed to load a feature from a plugin. 
8178
8179 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
8180
8181         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
8182         (GST_START_TEST):
8183           use more check API and less GLib API
8184
8185 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
8186
8187         * Makefile.am:
8188           don't run checks if we don't have check
8189         * common/check.mak:
8190           remove the registry when running make torture
8191         * docs/gst/gstreamer-sections.txt:
8192           remove second multiply
8193         * gst/gstqueue.c: (gst_queue_loop):
8194           fix a compile warning when disabling debug
8195
8196 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
8197
8198         * gst/gstinfo.h:
8199         Hey! Let's print the pad name if the pointer != NULL instead
8200         of when it == NULL :-)
8201
8202 2005-11-28  Wim Taymans  <wim@fluendo.com>
8203
8204         * check/gst/gstutils.c: (GST_START_TEST):
8205         Updated check, add some scaling accuracy checking code.
8206
8207         * gst/gstutils.c: (gst_util_div128_64),
8208         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
8209         (gst_util_uint64_scale_int):
8210         Fix 6 times faster division code. Optimize for common 
8211         1/1 and less common X/1 cases.
8212
8213 2005-11-28  Wim Taymans  <wim@fluendo.com>
8214
8215         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
8216         More checks.
8217
8218         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
8219         (do_linear_regression), (gst_clock_add_observation):
8220         Cleanups.
8221         Release lock when the clock cannot be slaved.
8222         Catch the case where the regression returned an invalid denominator.
8223
8224         * gst/gstutils.c: (gst_util_div128_64_iterate),
8225         (gst_util_div128_64), (gst_util_uint64_scale_int64),
8226         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
8227         Add protentially more performant non-iterative 128/64 divide function
8228         that unfortunatly does not work yet.
8229         Shortcut the trivial 0/X = 0 case.
8230         Remove the warnings on overflow.
8231
8232 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
8233
8234         * gst/gstplugin.c: (gst_plugin_register_func):
8235           everything causing a plugin not to load should be at least a WARNING
8236
8237 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
8238
8239         * docs/random/ensonic/dparams.txt:
8240           some TODOs for the next dev cycle
8241         * libs/gst/controller/gstcontroller.c:
8242         (gst_controlled_property_set_interpolation_mode),
8243         (gst_controlled_property_new):
8244         * libs/gst/controller/gstcontroller.h:
8245           use base type to assign acccessor functions
8246
8247 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
8248
8249         * check/Makefile.am:
8250         Oops, that should have been top_srcdir
8251
8252 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
8253
8254         * check/Makefile.am:
8255         * check/elements/fdsrc.c: (GST_START_TEST):
8256         Use a cmdline define to specify the location of a file to use for
8257         testing, to avoid breaking distcheck.
8258
8259 2005-11-28  Andy Wingo  <wingo@pobox.com>
8260
8261         * gst/gstpad.c (fixate_value): Use array functions for arrays.
8262
8263 2005-11-28  Edward Hervey  <edward@fluendo.com>
8264
8265         * tools/gst-launch.c: (main):
8266         Clarify the output strings, makes it easier to translate.
8267         Fixes #322626
8268
8269 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
8270
8271         * gst/Makefile.am:
8272           don't try and build net if we don't even have <sys/socket.h>
8273
8274 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
8275
8276         * check/Makefile.am:
8277         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
8278         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
8279           Add tests for fdsrc seekability
8280
8281         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
8282         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
8283         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
8284         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
8285         * gst/elements/gstfdsrc.h:
8286           fdsrc should not be a 'live' source.
8287           Implement seeking on seekable fd's.
8288
8289         * gst/gstquery.c: (gst_query_new_seeking),
8290         (gst_query_parse_seeking):
8291         * gst/gstquery.h:
8292           Implement SEEKING query functions: 
8293             *_new_seeking and *_parse_seeking
8294
8295 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
8296
8297         * gst/gstelement.c: (gst_element_dispose):
8298           don't loop forever
8299
8300         * gst/gstiterator.c:
8301         * gst/gststructure.c:
8302           doc fixes
8303
8304         * libs/gst/controller/gstcontroller.c:
8305         (gst_controlled_property_set_interpolation_mode):
8306         * libs/gst/controller/gstcontroller.h:
8307         * libs/gst/controller/gstinterpolation.c:
8308         (interpolate_none_get_enum_value_array):
8309           support controlling enums
8310
8311 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
8312
8313         * gst/gstvalue.c:
8314           Improve documentation for gst_value_union().
8315
8316         * gst/gstvalue.h:
8317           Change return value for union, intersect and subtract functions
8318           from gint to gboolean.
8319
8320 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
8321
8322         * gst/gstvalue.c: (gst_value_serialize_any_list),
8323         (gst_value_transform_any_list_string),
8324         (gst_value_deserialize_list), (gst_value_deserialize_array),
8325         (gst_value_set_int_range), (gst_value_deserialize_int_range),
8326         (gst_value_set_double_range), (gst_value_deserialize_double_range),
8327         (gst_value_set_fraction_range_full),
8328         (gst_value_deserialize_fraction_range),
8329         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
8330         (gst_value_deserialize_boolean),
8331         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
8332         (gst_value_serialize_float), (gst_value_deserialize_float),
8333         (gst_string_wrap), (gst_value_deserialize_string),
8334         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
8335         (gst_value_union_int_range_int_range),
8336         (gst_value_intersect_int_range_int_range),
8337         (gst_value_intersect_double_range_double_range),
8338         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
8339         (gst_value_subtract_int_range_int_range),
8340         (gst_value_subtract_double_double_range),
8341         (gst_value_subtract_double_range_double_range),
8342         (gst_value_deserialize_fraction):
8343         * gst/gstvalue.h:
8344           Use gint, gdouble and gchar in our API instead of int, double and
8345           char (and make usage in gstvalue.c more consistent).
8346
8347 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
8348
8349         * check/Makefile.am:
8350         * libs/gst/controller/Makefile.am:
8351         * libs/gst/dataprotocol/Makefile.am:
8352           fix up Makefile.am and remove GST_ENABLE_NEW
8353
8354 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
8355
8356         * configure.ac:
8357         * gst/Makefile.am:
8358         * gst/base/Makefile.am:
8359         * gst/check/Makefile.am:
8360         * gst/elements/Makefile.am:
8361         * gst/net/Makefile.am:
8362           update LDFLAGS use some more
8363
8364 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
8365
8366         * common/m4/gst-doc.m4:
8367           Fixes #312589
8368
8369 2005-11-26  Edward Hervey  <edward@fluendo.com>
8370
8371         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
8372         This shouldn't issue a g_warning since it returns NULL if it
8373         couldn't find the plugin, and all functions using this behave
8374         properly on a NULL return. Switching to a GST_WARNING.
8375
8376 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
8377
8378         * gst/gstbin.c: (gst_bin_handle_message_func):
8379         Don't leak clock messages.
8380
8381 2005-11-25  Wim Taymans  <wim@fluendo.com>
8382
8383         * gst/gstutils.c: (gst_util_uint64_scale_int64),
8384         (gst_util_uint64_scale_int):
8385         Optimisations, remove unneeded vars.
8386
8387 2005-11-25  Wim Taymans  <wim@fluendo.com>
8388
8389         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
8390         Added more checks for the high precision uint64 cases.
8391
8392         * gst/gstutils.c: (gst_util_uint64_scale_int64),
8393         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
8394         Implement high precision (guint64 * guint64) / guint64.
8395
8396 2005-11-24  Wim Taymans  <wim@fluendo.com>
8397
8398         * gst/base/gstbasesrc.c: (gst_base_src_query):
8399         Fix wrong percentage query.
8400
8401         * gst/gstutils.c: (gst_util_uint64_scale),
8402         (gst_util_uint64_scale_int):
8403         Add some more common cases that can be handled 
8404         efficiently to _scale.
8405
8406 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
8407
8408         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
8409         (gst_mini_object_suite):
8410           don't use check calls from threads; check probably isn't
8411           threadsafe and using a lock to make it threadsafe would
8412           defeat the purpose of this check
8413         * gst/check/gstcheck.c:
8414         * gst/check/gstcheck.h:
8415           use GST_DEBUG some more
8416
8417 2005-11-24  Wim Taymans  <wim@fluendo.com>
8418
8419         * gst/gstutils.c: (gst_util_uint64_scale),
8420         (gst_util_uint64_scale_int):
8421         Chain trivial case to _scale_int.
8422
8423 2005-11-24  Wim Taymans  <wim@fluendo.com>
8424
8425         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
8426         Added test for scaling.
8427
8428         * gst/gstclock.h:
8429         Small doc fix.
8430
8431         * gst/gstutils.c: (gst_util_uint64_scale_int):
8432         Implemented high precision scaling code.
8433
8434 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
8435
8436         * gst/gstinfo.h:
8437           do not crash on pad==NULL
8438
8439 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
8440
8441         Patch by: Stefan Kost
8442
8443         * common/gtk-doc.mak:
8444         * docs/gst/Makefile.am:
8445         * docs/libs/Makefile.am:
8446           Fix distcheck issues for the libraries docs build
8447           Closes #319599.
8448
8449 2005-11-24  Michael Smith <msmith@fluendo.com>
8450
8451         * docs/manual/basics-helloworld.xml:
8452           Fix bug #315027: memory leak in example code in docs.
8453
8454 2005-11-24  Michael Smith <msmith@fluendo.com>
8455
8456         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8457           Unlock the PREROLL_LOCK in a failure case.
8458
8459 2005-11-24  Wim Taymans  <wim@fluendo.com>
8460
8461         * docs/gst/gstreamer-sections.txt:
8462         * gst/base/gstadapter.h:
8463         * gst/base/gstbasesink.h:
8464         * gst/base/gstbasesrc.h:
8465         * gst/base/gstbasetransform.h:
8466         * gst/base/gstpushsrc.h:
8467         * gst/elements/gstfakesink.h:
8468         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
8469         * gst/elements/gstfakesrc.h:
8470         * gst/elements/gstfilesink.h:
8471         * gst/elements/gstfilesrc.h:
8472         * gst/gst.c:
8473         * gst/gstbin.c:
8474         * gst/gstbuffer.c: (_gst_buffer_copy):
8475         * gst/gstbus.h:
8476         * gst/gstcaps.c:
8477         * gst/gstchildproxy.c:
8478         * gst/gstclock.c:
8479         * gst/gstelement.c:
8480         * gst/gstelementfactory.c:
8481         * gst/gstelementfactory.h:
8482         * gst/gstevent.c:
8483         * gst/gstghostpad.h:
8484         * gst/gstindex.h:
8485         * gst/gstinterface.h:
8486         * gst/gstminiobject.c:
8487         * gst/gstminiobject.h:
8488         * gst/gstpad.c:
8489         * gst/gstpad.h:
8490         * gst/gstpadtemplate.h:
8491         * gst/gstpipeline.h:
8492         * gst/gstpluginfeature.h:
8493         * gst/gstquery.h:
8494         * gst/gstqueue.h:
8495         * gst/gsttaglist.c:
8496         * gst/gsttaglist.h:
8497         * gst/gsttagsetter.c:
8498         * gst/gsttagsetter.h:
8499         * gst/gsttrace.c:
8500         * gst/gsttrace.h:
8501         * gst/gsttypefind.h:
8502         * gst/gsturi.h:
8503         * gst/gstvalue.c:
8504         * gst/net/gstnetclientclock.c:
8505         * gst/net/gstnetclientclock.h:
8506         * gst/net/gstnettimepacket.c:
8507         * gst/net/gstnettimeprovider.c:
8508         * gst/net/gstnettimeprovider.h:
8509         Doc fixes.
8510
8511 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
8512
8513         * configure.ac: back to HEAD
8514
8515 === release 0.9.6 ===
8516
8517 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
8518
8519         * configure.ac:
8520           releasing 0.9.6, "Always On Time"
8521
8522 2005-11-23  Wim Taymans  <wim@fluendo.com>
8523
8524         * docs/gst/gstreamer-sections.txt:
8525         * gst/glib-compat.c:
8526         * gst/gsttagsetter.c:
8527         * gst/gstvalue.c:
8528         * gst/net/gstnetclientclock.c:
8529         * gst/net/gstnettimepacket.h:
8530         Doc updates.
8531
8532 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
8533
8534         * docs/faq/using.xml:
8535         * docs/libs/tmpl/gstcontrol.sgml:
8536         * docs/manual/advanced-dparams.xml:
8537         * docs/manual/appendix-checklist.xml:
8538         * docs/manual/basics-elements.xml:
8539         * docs/pwg/other-source.xml:
8540         * docs/random/moving-plugins:
8541         * gst/gstpad.c:
8542         * tools/gst-launch.1.in:
8543           remove mentions of sinesrc
8544
8545 2005-11-23  Michael Smith <msmith@fluendo.com>
8546
8547         * docs/gst/gstreamer-sections.txt:
8548           Update for new API and API changes.
8549         * gst/gstobject.h:
8550           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
8551         * gst/gstvalue.c:
8552           Documentation typo fix.
8553         * gst/net/gstnettimepacket.c:
8554           Documentation fixes for arguments.
8555
8556 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
8557
8558         * gst/gststructure.c: (gst_structure_get_fraction),
8559         (gst_structure_parse_value),
8560         (gst_structure_fixate_field_nearest_fraction):
8561         * gst/gststructure.h:
8562         * gst/gstutils.c: (gst_util_uint64_scale_int):
8563         * gst/gstutils.h:
8564         * scripts/update-funcnames:
8565         API Changes. 
8566         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
8567         Make gst_structure_fixate_field_nearest_fraction take a numerator
8568         and denominator argument instead of a GValue
8569         add gst_structure_get_fraction helper function.
8570
8571 2005-11-23  Wim Taymans  <wim@fluendo.com>
8572
8573         * docs/design/part-TODO.txt:
8574         Update TODO.
8575
8576         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
8577         * gst/net/gstnetclientclock.h:
8578         Use parent fields for timeout and window_size.
8579
8580 2005-11-23  Andy Wingo  <wingo@pobox.com>
8581
8582         * check/net/gstnetclientclock.c (test_functioning): Adjust to
8583         rate_num/rate_denom change.
8584
8585         * gst/net/gstnetclientclock.c
8586         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
8587         OBJECT_LOCK. Don't call add_observation with the lock.
8588
8589         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
8590         fraction.
8591         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
8592         rate fraction.
8593         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
8594         deal with rate as a fraction whose numerator and denominator are
8595         GstClockTime values.
8596         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
8597         master; the other fields are protected by the SLAVE_LOCK.
8598         (do_linear_regression): Note that this must be called with the
8599         SLAVE_LOCK.
8600         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
8601         OBJECT_LOCK. Call set_calibration instead of touching the
8602         variables directly.
8603         (gst_clock_set_property, gst_clock_get_property): Protect
8604         master/slave parameters with the SLAVE_LOCK.
8605
8606         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
8607         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
8608         note that all of the instance variables that add_observation and
8609         the set_master functions use are protected by that lock and not
8610         the OBJECT_LOCK.
8611         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
8612
8613         * gst/gstclock.c (gst_clock_add_observation): No longer requires
8614         the caller to take the object lock.
8615
8616 2005-11-23  Wim Taymans  <wim@fluendo.com>
8617
8618         * gst/gsterror.c: (_gst_core_errors_init):
8619         * gst/gsterror.h:
8620         Add error for clock stuff.
8621
8622         * gst/gstpipeline.c: (gst_pipeline_change_state),
8623         (gst_pipeline_set_clock):
8624         Post clock error when clock cannot be used in a pipeline.
8625
8626 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
8627
8628         * docs/gst/gstreamer-sections.txt:
8629           make two symbols from gstinfo private for the docs
8630         * gst/base/gstcollectpads.h:
8631         * gst/gstutils.c:
8632           fix doc typos, update docs
8633
8634 2005-11-22  Wim Taymans  <wim@fluendo.com>
8635
8636         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
8637         (gst_base_sink_wait), (gst_base_sink_do_sync),
8638         (gst_base_sink_handle_event):
8639         * gst/base/gstbasesink.h:
8640         No need to store the clock, the parent element class already
8641         has it.
8642
8643         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
8644         Updates for clock_set returning a gboolean
8645
8646         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
8647         (gst_clock_id_wait_async), (gst_clock_class_init),
8648         (gst_clock_init), (gst_clock_finalize),
8649         (gst_clock_get_internal_time), (gst_clock_get_time),
8650         (gst_clock_slave_callback), (gst_clock_set_master),
8651         (gst_clock_get_master), (do_linear_regression),
8652         (gst_clock_add_observation), (gst_clock_set_property),
8653         (gst_clock_get_property):
8654         * gst/gstclock.h:
8655         Implement master/slave. When setting a clock as a slave, a
8656         periodic timeout is scheduled to sample master and slave times.
8657         Then the slave clock is recalibrated to match offset and rate
8658         of the master clock.
8659         Update logging a bit.
8660         Add flag so that a clock can state that is cannot be slaved to
8661         another clock.
8662
8663         * gst/gstelement.c: (gst_element_set_clock):
8664         * gst/gstelement.h:
8665         The set clock returns a gboolean for when an element cannot
8666         deal with the selected clock in the pipeline. 
8667
8668         * gst/gstpipeline.c: (gst_pipeline_change_state),
8669         (gst_pipeline_set_clock):
8670         * gst/gstpipeline.h:
8671         Handle the case where the selected clock cannot be set on
8672         the pipeline.
8673
8674         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
8675         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
8676         (gst_net_client_clock_set_property),
8677         (gst_net_client_clock_get_property),
8678         (gst_net_client_clock_observe_times):
8679         * gst/net/gstnetclientclock.h:
8680         Use regression code in GstClock parent, remove duplicated
8681         functionality.
8682
8683 2005-11-22  Michael Smith <msmith@fluendo.com>
8684
8685         * gst/gstutils.c: (gst_util_clock_time_scale):
8686         * gst/gstutils.h:
8687         * docs/gst/gstreamer-sections.txt:
8688           Rename method to have extra underscore.
8689
8690 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
8691
8692         * gst/elements/Makefile.am:
8693         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
8694         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
8695         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
8696         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
8697         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
8698         * gst/elements/gstfakesrc.h:
8699         * gst/gstqueue.c: (queue_leaky_get_type):
8700           correctly fix GEnumValues so that nick is the short lowercase
8701           dashed tag
8702         * tools/gst-inspect.c: (print_element_properties_info):
8703           also show the nick, since it's useful to use from parse_launch
8704           syntax
8705           Fixes #322139
8706
8707 2005-11-22  Michael Smith <msmith@fluendo.com>
8708
8709         * gst/gstutils.c: (gst_util_clocktime_scale):
8710         * gst/gstutils.h:
8711         * docs/gst/gstreamer-sections.txt:
8712           Add util method for scaling a clocktime by a fraction. Useful 
8713           implementation is left as an exercise for the reader.
8714
8715 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
8716
8717         * gst/gstvalue.c: (gst_value_collect_fraction_range):
8718         If needed, allocate storage in the destination value during
8719         collection.
8720
8721 2005-11-22  Edward Hervey  <edward@fluendo.com>
8722
8723         * docs/gst/gstreamer-sections.txt:
8724         * gst/Makefile.am:
8725         * gst/gst.h:
8726         * gst/gsturitype.c:
8727         * gst/gsturitype.h:
8728         * gst/gstutils.c: (gst_util_set_object_arg):
8729         * tools/gst-compprep.c: (main):
8730         * tools/gst-inspect.c: (print_element_properties_info):
8731         Removed GstURI, closes bug #321061
8732
8733 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
8734
8735         * check/gst/gststructure.c: (GST_START_TEST):
8736         * gst/gststructure.c: (gst_structure_parse_value):
8737           Oops, broke automatic string type parsing.
8738           Add a test to catch it in future.
8739
8740 2005-11-22  Andy Wingo  <wingo@pobox.com>
8741
8742         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
8743         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
8744         Actually rename the function implementations. Grr.
8745
8746 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
8747
8748         * check/gst/capslist.h:
8749           Comment test cases
8750         * check/gst/gststructure.c: (GST_START_TEST),
8751         (gst_structure_suite):
8752           Test automatic value type detection in gst_structure_from_string.
8753         * gst/gststructure.c: (gst_structure_parse_value):
8754           Add fraction as a type we try and guess automatically in
8755           caps/structure strings.
8756
8757 2005-11-22  Andy Wingo  <wingo@pobox.com>
8758
8759         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
8760
8761         * gst/gsttagsetter.h:
8762         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
8763         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
8764         (gst_tag_setter_add_tag_valist)
8765         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
8766         _add_values, _add_valist, and _add_valist_values. Since this is an
8767         interface the function suffixes should be more explicit so
8768         language binding don't end up with element.add_valist ->
8769         gst_tag_setter_add_valist, for example. Fixes #322069.
8770
8771 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
8772
8773         * check/gst/gstcaps.c: (GST_START_TEST):
8774           Extend caps string tests to check that a caps to string
8775           conversion is reversible and produces the same caps.
8776
8777         * gst/gststructure.c: (gst_structure_value_get_generic_type):
8778           Output "fraction" as the generic type fraction range, so caps
8779           serialisation and deserialisation works.
8780         * check/gst/capslist.h:
8781         * gst/gstvalue.c: (gst_value_deserialize_fraction):
8782           Support 'MIN' and 'MAX' for deserialising fractions.
8783
8784 2005-11-22  Andy Wingo  <wingo@pobox.com>
8785
8786         * gst/gstevent.h (gst_event_new_new_segment)
8787         (gst_event_parse_new_segment, gst_event_new_buffer_size)
8788         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
8789         Renamed from *_newsegment, *_buffersize, *_notarget.
8790
8791         * scripts/update-funcnames: New script, performs the changes
8792         listed above.
8793
8794 2005-11-22  Wim Taymans  <wim@fluendo.com>
8795
8796         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8797         Make sure the GstFlowReturn is returned.
8798
8799         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
8800         (gst_bus_add_signal_watch):
8801         * gst/gstbus.h:
8802         add gst_bus_add_signal_watch_full.
8803
8804         * gst/gstplugin.c: (gst_plugin_load_file):
8805         Small style cleanup.
8806
8807 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
8808
8809         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
8810           Block the fakesrc srcpad when we send an event, to avoid
8811           contention on the stream_lock causing random test failures.
8812
8813 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
8814
8815         * check/gst/gstvalue.c: (GST_START_TEST):
8816         * gst/gstvalue.c: (gst_value_fraction_subtract):
8817           Fix subtraction.
8818
8819 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
8820
8821         * gst/gst.h:
8822           include "gstchildproxy.h"
8823         * gst/gstchildproxy.h:
8824         * libs/gst/controller/gstcontroller.h:
8825           use G_GNUC_NULL_TERMINATED
8826
8827 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
8828
8829         * check/gst/capslist.h:
8830         * check/gst/gstcaps.c: (GST_START_TEST):
8831         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
8832         * gst/gststructure.c: (gst_structure_parse_range),
8833         (gst_structure_fixate_field_nearest_fraction):
8834         * gst/gststructure.h:
8835         * gst/gstvalue.c: (gst_value_init_fraction_range),
8836         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
8837         (gst_value_collect_fraction_range),
8838         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
8839         (gst_value_set_fraction_range_full),
8840         (gst_value_get_fraction_range_min),
8841         (gst_value_get_fraction_range_max),
8842         (gst_value_serialize_fraction_range),
8843         (gst_value_transform_fraction_range_string),
8844         (gst_value_compare_fraction_range),
8845         (gst_value_deserialize_fraction_range),
8846         (gst_value_intersect_fraction_fraction_range),
8847         (gst_value_intersect_fraction_range_fraction_range),
8848         (gst_value_subtract_fraction_fraction_range),
8849         (gst_value_subtract_fraction_range_fraction),
8850         (gst_value_subtract_fraction_range_fraction_range),
8851         (gst_value_collect_fraction), (gst_value_fraction_multiply),
8852         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
8853         (gst_value_transform_string_fraction), (_gst_value_initialize):
8854         * gst/gstvalue.h:
8855           Implement fraction ranges and extend GstFraction to support
8856           arithmetic subtraction, as well as deserialization from integer
8857           strings such as "100"
8858           Add a testsuite as for int and double range set operations
8859
8860 2005-11-21  Andy Wingo  <wingo@pobox.com>
8861
8862         * gst/gsttaglist.h: 
8863         * gst/gstcaps.h: 
8864         * gst/gststructure.h: Add glib-compat.h.
8865
8866 2005-11-21  Wim Taymans  <wim@fluendo.com>
8867
8868         * gst/gstbin.c: (gst_bin_change_state_func):
8869         Fix for #321595
8870
8871 2005-11-21  Wim Taymans  <wim@fluendo.com>
8872
8873         * gst/gstsegment.h:
8874         And add a nice define too.
8875
8876 2005-11-21  Wim Taymans  <wim@fluendo.com>
8877
8878         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
8879         (gst_segment_new), (gst_segment_free), (gst_segment_init),
8880         (gst_segment_set_duration), (gst_segment_set_last_stop),
8881         (gst_segment_set_seek), (gst_segment_set_newsegment),
8882         (gst_segment_to_stream_time), (gst_segment_to_running_time),
8883         (gst_segment_clip):
8884         * gst/gstsegment.h:
8885         Make binding friendly.
8886
8887 2005-11-21  Andy Wingo  <wingo@pobox.com>
8888
8889         * gst/gsttagsetter.h: 
8890         * gst/gsttaglist.h: 
8891         * gst/gststructure.h: 
8892         * gst/gstcaps.h: 
8893         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
8894         #319940.
8895
8896         * gst/gsterror.c (_gst_core_errors_init):
8897         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
8898         category.
8899
8900         * gst/Makefile.am (gst_headers): Add glib-compat.h.
8901         (noinst_HEADERS): noinst the -private.
8902
8903 2005-11-21  Michael Smith <msmith@fluendo.com>
8904
8905         * gst/gstplugin.h:
8906         * gst/gstregistry.h:
8907           Remove unimplemented declarations for which we can see no sensible
8908           use.
8909
8910 2005-11-21  Andy Wingo  <wingo@pobox.com>
8911
8912         * gst/gst.h: Include glib-compat.h.
8913
8914         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
8915
8916         * gst/glib-compat.c: Include the public and the private header.
8917
8918         * gst/glib-compat-private.h: Copied here from glib-compat.h.
8919
8920         * gst/gstvalue.c: 
8921         * gst/gstpad.c: 
8922         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
8923
8924         * check/gst/gstevent.c (create_custom_events): Check that
8925         FLUSH_STOP is serialized.
8926
8927         * check/elements/identity.c (event_func): 
8928         * check/elements/fakesrc.c (event_func): No stream lock, the core
8929         takes it.
8930
8931         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
8932         stream lock taking, yay.
8933
8934         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
8935         ensure that core takes the stream lock.
8936
8937         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
8938         lock name change.
8939
8940         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
8941         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
8942         it already. For the flush start we do take it though so we get the
8943         right preroll state change messages.
8944
8945         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
8946         the stream lock here, the core does it for us.
8947
8948         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
8949         GST_STREAM_GET_LOCK.
8950         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
8951         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
8952         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
8953         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
8954         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
8955         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
8956
8957         * gst/gstpad.c: Update for stream lock name change.
8958
8959         * gst/base/gstbasesink.c: Update for preroll lock name change.
8960
8961 2005-11-21  Wim Taymans  <wim@fluendo.com>
8962
8963         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
8964         (gst_clock_get_master):
8965         * gst/gstclock.h:
8966         * gst/gstsystemclock.c: (gst_system_clock_init):
8967         Convert Clock flags to object flags.
8968         Added methods to manage master/slave clocks.
8969
8970 2005-11-21  Wim Taymans  <wim@fluendo.com>
8971
8972         * check/gst/gstsegment.c: (GST_START_TEST):
8973         * docs/design/part-TODO.txt:
8974         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8975         (gst_base_sink_event), (gst_base_sink_do_sync),
8976         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
8977         (gst_base_sink_query), (gst_base_sink_change_state):
8978         * gst/base/gstbasesink.h:
8979         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
8980         (gst_base_src_default_newsegment),
8981         (gst_base_src_configure_segment), (gst_base_src_do_seek),
8982         (gst_base_src_get_range), (gst_base_src_loop),
8983         (gst_base_src_change_state):
8984         * gst/base/gstbasesrc.h:
8985         * gst/base/gstbasetransform.c:
8986         (gst_base_transform_prepare_output_buf),
8987         (gst_base_transform_event), (gst_base_transform_change_state):
8988         * gst/base/gstbasetransform.h:
8989         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
8990         (gst_collect_pads_event):
8991         * gst/base/gstcollectpads.h:
8992         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
8993         (gst_fake_src_create):
8994         * gst/elements/gstfakesrc.h:
8995         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
8996         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
8997         (gst_segment_set_last_stop), (gst_segment_set_seek),
8998         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
8999         (gst_segment_to_running_time), (gst_segment_clip):
9000         * gst/gstsegment.h:
9001         More segment updates, replace code in plugins with segment
9002         helper functions.
9003
9004 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
9005
9006         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
9007         Don't ignore sscanf results
9008
9009 2005-11-21  Andy Wingo  <wingo@pobox.com>
9010
9011         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
9012
9013         * *.h:
9014         * *.c: Ran scripts/update-macros. Oh yes.
9015
9016         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
9017         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
9018         GST_GET_LOCK, etc.
9019
9020         * scripts/update-macros: New script. Run it on your files to
9021         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
9022         well.
9023
9024 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
9025
9026         * docs/gst/Makefile.am:
9027         * docs/gst/gstreamer-docs.sgml:
9028         * docs/gst/gstreamer-sections.txt:
9029         * docs/gst/gstreamer.types:
9030         * gst/gstinfo.h:
9031           more docs fixes, add new api to the docs
9032
9033 2005-11-21  Andy Wingo  <wingo@pobox.com>
9034
9035         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
9036         state_broadcast call.
9037
9038         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
9039
9040 2005-11-21  Julien MOUTTE  <julien@moutte.net>
9041
9042         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
9043         function calls for arrays.
9044
9045 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
9046
9047         * docs/random/ensonic/media-device-daemon.txt:
9048           wild idea, can this be done?
9049         * docs/gst/gstreamer-sections.txt:
9050         * gst/gsterror.h:
9051         * gst/gstfilter.c:
9052         * gst/gstfilter.h:
9053         * gst/gstplugin.h:
9054         * gst/gstpluginfeature.c:
9055         * gst/gsttrace.c:
9056         * gst/gstvalue.c:
9057         * gst/gstvalue.h:
9058           doc fixes and additions
9059
9060 2005-11-21  Andy Wingo  <wingo@pobox.com>
9061
9062         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
9063         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
9064         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
9065         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
9066         private to the basesrc implementation.
9067
9068         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
9069         behalf of event function if necessary. It should no longer be
9070         necessary to take the stream lock in pad's event functions. Fixes
9071         #320299.
9072
9073 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
9074         * docs/gst/gstreamer-sections.txt:
9075         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
9076         (gst_structure_fixate_field_nearest_double),
9077         (gst_structure_fixate_field_boolean):
9078         * gst/gststructure.h:
9079         * win32/common/libgstreamer.def:
9080         * win32/gstreamer.def:
9081
9082         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
9083         (#322027)
9084
9085 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
9086
9087         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
9088         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
9089         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
9090         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
9091         (gst_fdsrc_uri_handler_init):
9092         * gst/elements/gstfdsrc.h:
9093           Port fd:// URI handler from 0.8 to fdsrc
9094
9095 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
9096
9097         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
9098         (gst_value_serialize_fourcc):
9099         * gst/gstvalue.h:
9100           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
9101           consistent with our other format defines (#320324).
9102
9103 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
9104
9105         * gst/gstvalue.c: (gst_value_is_fixed):
9106           Revert previous commit. Value lists are by definition
9107           not fixed, as they are a list of possible values.
9108
9109 2005-11-21  Andy Wingo  <wingo@pobox.com>
9110
9111         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
9112         during the stable series if we need it. Fixes #319178.
9113
9114         * gst/gstevent.c (gst_event_new_filler): Removed.
9115
9116         * check/gst/gstevent.c: Update comment about filler events.
9117
9118 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
9119
9120         * gst/gstvalue.c: (gst_value_is_fixed):
9121           Should handle both value arrays and value lists.
9122
9123 2005-11-21  Andy Wingo  <wingo@pobox.com>
9124
9125         patch by: Alessandro Dessina <alessandro nnva org>
9126
9127         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
9128         functions to access arrays. Fixes #321962.
9129
9130 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
9131
9132         * docs/gst/gstreamer.types:
9133           gst_collectpads_get_type => gst_collect_pads_get_type.
9134           
9135         * gst/base/gstbasetransform.c:
9136           Remove unused SIGNAL_HANDOFF enum.
9137
9138 2005-11-21  Andy Wingo  <wingo@pobox.com>
9139
9140         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
9141         the event type (upstream, downstream, serialized). Renamed
9142         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
9143         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
9144         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
9145
9146         * gst/gstevent.c: Update for new CUSTOM event names.
9147
9148         * check/gst/gstevent.c: Update check for new CUSTOM event names.
9149
9150         * gst/gstevent.h:
9151         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
9152         bug #319392.
9153
9154 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
9155
9156         * docs/gst/gstreamer-sections.txt:
9157         * win32/common/libgstbase.def:
9158         * win32/libgstbase.def:
9159         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
9160         (gst_collect_pads_class_init), (gst_collect_pads_init),
9161         (gst_collect_pads_finalize), (gst_collect_pads_new),
9162         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
9163         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
9164         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
9165         (gst_collect_pads_start), (gst_collect_pads_stop),
9166         (gst_collect_pads_peek), (gst_collect_pads_pop),
9167         (gst_collect_pads_available), (gst_collect_pads_read),
9168         (gst_collect_pads_flush), (gst_collect_pads_event),
9169         (gst_collect_pads_chain):
9170         * gst/base/gstcollectpads.h:
9171           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
9172           unimplemented functions as unimplemented. Add padding to
9173           GstCollectData. (#320766, #320423)
9174
9175 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
9176
9177         * gst/gstmessage.c:
9178           Improve docs for DURATION message (usage of duration parameter)
9179           (#320113)
9180
9181 2005-11-20  Wim Taymans  <wim@fluendo.com>
9182
9183         * check/Makefile.am:
9184         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
9185         (main):
9186         * gst/Makefile.am:
9187         * gst/gst.h:
9188         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
9189         (gst_segment_set_seek), (gst_segment_set_newsegment),
9190         (gst_segment_to_stream_time), (gst_segment_to_running_time),
9191         (gst_segment_clip):
9192         * gst/gstsegment.h:
9193         Added segment helper structure and methods. Not fully implemented
9194         yet.
9195         Added segment check.
9196
9197 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
9198
9199         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
9200           Add a deserialisation test for fractions
9201         * examples/metadata/read-metadata.c: (message_loop),
9202         (make_pipeline), (main):
9203           Fix up metadata reading sample.
9204         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
9205           Debug format fix
9206         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
9207           Don't try and fixate empty caps
9208         * gst/gst_private.h:
9209           Wrap in G_BEGIN_DECLS/G_END_DECLS
9210         * gst/gstvalue.c: (gst_value_collect_fraction),
9211         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
9212         (gst_value_transform_string_fraction),
9213         (gst_value_compare_fraction):
9214           Add some extra guards to ensure that we don't end up 
9215           with an invalid denominator of 0 in a gstfraction and
9216           that fractions always get reduced.
9217
9218 2005-11-20  Wim Taymans  <wim@fluendo.com>
9219
9220         * docs/gst/gstreamer-sections.txt:
9221         * gst/gstbuffer.h:
9222         * gst/gstelement.c:
9223         * gst/gstformat.c:
9224         * gst/gstformat.h:
9225         * gst/gstindex.h:
9226         * gst/gstquery.c:
9227         * gst/gstquery.h:
9228         * gst/gstvalue.c:
9229         Doc fixes.
9230
9231 2005-11-20  Wim Taymans  <wim@fluendo.com>
9232
9233         * docs/design/part-TODO.txt:
9234         * gst/gstcaps.h:
9235         Make a proper enum of the flag.
9236
9237 2005-11-19  Wim Taymans  <wim@fluendo.com>
9238
9239         * docs/design/part-TODO.txt:
9240         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
9241         (gst_format_to_quark), (gst_format_register):
9242         * gst/gstformat.h:
9243         * gst/gstquery.c: (_gst_query_initialize),
9244         (gst_query_type_get_name), (gst_query_type_to_quark),
9245         (gst_query_type_register):
9246         * gst/gstquery.h:
9247         Add type to quark and type to string conversions.
9248
9249 2005-11-19  Andy Wingo  <wingo@pobox.com>
9250
9251         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
9252         #320097.
9253
9254 2005-11-19  Wim Taymans  <wim@fluendo.com>
9255
9256         * docs/design/part-TODO.txt:
9257         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
9258         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
9259         (gst_bin_handle_message_func):
9260         * gst/gstbin.h:
9261         Make message handling overridable.
9262
9263 2005-11-19  Andy Wingo  <wingo@pobox.com>
9264
9265         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
9266
9267         * gst/gstclock.h:
9268         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
9269         be a GstClockTime.
9270         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
9271         is a GstClockTime. Fixes #321710.
9272
9273         * gst/gstclock.h (GstClock): Remove offset property. Add
9274         internal_calibration and external_calibration. Fix padding. Pad
9275         also by GstClockTime so we don't run into problems.
9276
9277         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
9278         (gst_clock_get_rate_offset): Remove.
9279         (gst_clock_set_time_adjust): Remove. Fixes #321712.
9280
9281         * gst/gstutils.h:
9282         * gst/gstutils.c (g_static_rec_cond_wait)
9283         (g_static_rec_cond_timed_wait): Removed, no longer needed.
9284
9285         * gst/gstbin.c: Remove terrible continue_state prototype.
9286
9287         * gst/gstelement.h (gst_element_continue_state): Make public.
9288
9289         * gst/gstelement.h:
9290         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
9291         by continue_state. Fixes #319389.
9292
9293         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
9294         Really fixes #168438. However I don't see anywhere where the
9295         filter function is called... stupid GStreamer...
9296         
9297         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
9298         don't have a dispose function, so it won't get called when the
9299         object is unreffed, but oh well!
9300
9301         * gst/gstindex.c (gst_index_set_filter_full): New API function,
9302         allows a destroy function to be set so user_data can be freed.
9303         Fixes #168438.
9304         (gst_index_set_filter): Call gst_index_set_filter_full.
9305
9306         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
9307
9308         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
9309         string should produce an error, given the lack of a way to
9310         represent NULL strings. Fixes #165650.
9311         
9312         * gst/gstvalue.h: 
9313         * gst/gstvalue.c (gst_value_array_append_value) 
9314         (gst_value_array_prepend_value, gst_value_array_get_size) 
9315         (gst_value_array_get_value): New API, copied from
9316         gst_value_list_*, only operates on arrays.
9317         (gst_value_list_append_value, gst_value_list_prepend_value) 
9318         (gst_value_list_concat, gst_value_list_get_size) 
9319         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
9320
9321         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
9322         init_list, because it works on both.
9323         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
9324         (gst_value_copy_list_or_array): Renamed from copy_list.
9325         (gst_value_free_list_or_array): Renamed from free_list.
9326         (gst_value_collect_list_or_array): Renamed from collect_list.
9327         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
9328         (gst_value_list_or_array_peek_pointer): Renamed from
9329         list_peek_pointer.
9330         (_gst_value_array_value_table, _gst_value_list_value_table):
9331         Update value table functions.
9332         (gst_value_compare_list_or_array): Renamed from compare_list.
9333
9334         * gsttaglist.h: Whoops, foreach function returns void. Also fix
9335         some constness.
9336
9337         * gst/gsttaglist.c:
9338         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
9339         GstTagList*. Fixes #143472.
9340
9341         * gst/gststructure.h: Clarify what the foreach/map functions can
9342         or can't do to their arguments.
9343
9344 2005-11-18  Wim Taymans  <wim@fluendo.com>
9345
9346         * gst/gstclock.c: (gst_clock_set_calibration),
9347         (gst_clock_get_calibration):
9348         Doc and API fixes.
9349         Calibration can be set with internal time equal to current
9350         internal time too.
9351
9352 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
9353
9354         * gst/gsterror.c:
9355         * gst/gsterror.h:
9356           document
9357
9358 2005-11-18  Andy Wingo  <wingo@pobox.com>
9359
9360         * configure.ac: 
9361         * pkgconfig/gstreamer-net.pc.in:
9362         * pkgconfig/gstreamer-net-uninstalled.pc.in:
9363         * pkgconfig/Makefile.am: Add net pkgconfig files.
9364
9365 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
9366
9367         * gst/gstcaps.c:
9368         * gst/gstghostpad.c:
9369         * gst/gsttrace.c:
9370         * gst/gstvalue.c:
9371         * gst/gstvalue.h:
9372           docs fixes
9373
9374 2005-11-18  Andy Wingo  <wingo@pobox.com>
9375
9376         * gst/net/gstnetclientclock.c: Turn off debugging.
9377
9378         * check/net/gstnetclientclock.c (test_functioning): Assert that the
9379         times connverge somewhat. Can't make a real test.
9380
9381         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
9382         integer arithmetic. Return the minimum of the domain, which can be
9383         set as "internal" for gst_clock_set_calibration.
9384         (gst_net_client_clock_observe_times): Call _set_calibration.
9385         (gst_net_client_clock_new): Call _set_calibration instead of
9386         rate_offset.
9387
9388         * check/net/gstnetclientclock.c (test_functioning): Use the right
9389         adjustment api.
9390
9391         * gst/gstclock.h:
9392         * gst/gstclock.c (gst_clock_get_calibration) 
9393         (gst_clock_set_calibration): New functions, obsolete the ones I
9394         added yesterday. Doh. Precision issues mean we have to extrapolate
9395         from a point in the more recent past than 1970.
9396         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
9397         obsolete.
9398         (gst_clock_adjust_unlocked): Use the right calibration data.
9399
9400 2005-11-18  Edward Hervey  <edward@fluendo.com>
9401
9402         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
9403         Also reset the ->current_* values in READY->PAUSED
9404
9405 2005-11-18  Andy Wingo  <wingo@pobox.com>
9406
9407         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
9408         Whoops, check the right fd. Also add some debugging.
9409         (gst_net_client_clock_observe_times): Adjust for int64 offset.
9410         (do_linear_regression): Add a crapload of debugging. Subtract off
9411         the minimum values from the input series to discard unneeded bits.
9412         Use only int arithmetic. There is still double arithmetic when
9413         calculating the intercept that needs fixing. Return boolean to
9414         indicate success; FALSE would mean the domain or range is too
9415         great. Still needs fixes.
9416
9417 2005-11-18  Wim Taymans  <wim@fluendo.com>
9418
9419         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
9420         For the current position in stream time, we need to subtract
9421         accumulated time.
9422         
9423         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
9424         Release lock before calling the callback function of async
9425         entries.
9426
9427 2005-11-18  Andy Wingo  <wingo@pobox.com>
9428
9429         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
9430         Port goes all the way to MAXUINT16.
9431
9432         * gst/net/gstnettimeprovider.c: Make the port range the same as
9433         for the kernel: 0 assigns, otherwise ports are less than
9434         MAXUINT16.
9435
9436         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
9437         port change.
9438
9439         * check/net/gstnetclientclock.c (test_functioning): Add the start
9440         of another test. 
9441
9442 2005-11-18  Wim Taymans  <wim@fluendo.com>
9443
9444         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
9445         (gst_bin_remove_func), (bin_bus_handler):
9446         * gst/gstbin.h:
9447         Removing a clock provider from a bin, triggers a clock lost message
9448         so that a new clock will be selected.
9449         Adding a clock to a bin triggers a clock provider message.
9450         Make sure we reselect a clock when we received a clock lost message.
9451         Keep a reference to the element that provided the clock.
9452
9453 2005-11-18  Andy Wingo  <wingo@pobox.com>
9454
9455         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
9456         the clock initially so it produces values around the base time.
9457         (gst_net_client_clock_class_init): Typo fix.
9458         (gst_net_client_clock_thread): Add note on when the socket gets
9459         closed.
9460
9461 2005-11-17  Wim Taymans  <wim@fluendo.com>
9462
9463         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
9464         Free remote and local time arrays.
9465
9466 2005-11-17  Wim Taymans  <wim@fluendo.com>
9467
9468         * gst/net/gstnetclientclock.c: (do_linear_regression),
9469         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
9470         Fix compilation, uninitialized vars and a forgotten continue.
9471
9472 2005-11-17  Andy Wingo  <wingo@pobox.com>
9473
9474         * check/Makefile.am (check_PROGRAMS): 
9475         * check/net/gstnetclientclock.c: Add a most minimal test for the
9476         net client clock. More to come later.
9477
9478         * gst/net/gstnet.h: 
9479         * gst/net/Makefile.am: Add netclientclock.
9480
9481         * gst/net/gstnetclientclock.h:
9482         * gst/net/gstnetclientclock.c: New files, implement an untested
9483         GstClock that takes its time from a network time provider.
9484         Implements the algorithm in network-clock.scm.
9485
9486         * tests/network-clock.scm (*window-size*): Rename from
9487         *queue-length*.
9488         * tests/network-clock.scm (network-time): 
9489         * tests/network-clock-utils.scm (q-push): Update callers.
9490
9491 2005-11-17  Wim Taymans  <wim@fluendo.com>
9492
9493         * gst/gstbin.c: (gst_bin_provide_clock_func),
9494         (gst_bin_sort_iterator_new):
9495         And unref the child too..
9496
9497 2005-11-17  Wim Taymans  <wim@fluendo.com>
9498
9499         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
9500         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
9501         Refactor the sort iterator so it can be used while holding the
9502         LOCK too.
9503         Make clock selection select a clock closest to the source.
9504
9505 2005-11-17  Michael Smith <msmith@fluendo.com>
9506
9507         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
9508         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
9509         * gst/gstclock.h:
9510           Anonymous structs are a gcc (and some other compilers) extension, so
9511           don't use them. Since this is only for ABI-compatibility, and our
9512           API/ABI freeze is over in a few days, this whole thing will only
9513           last a few days, so don't bother trying to think up a meaningful
9514           name for the struct.
9515
9516 2005-11-17  Andy Wingo  <wingo@pobox.com>
9517
9518         * gst/gstclock.h (GstClock): Add rate and offset properties,
9519         preserving ABI stability. Add rate/offset accessors. Will file bug
9520         for the freeze break.
9521
9522         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
9523         and offset, trying to keep precision and avoiding
9524         underflow/overflow.
9525         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
9526         functions. Make gst_clock_set_time_adjust obsolete.
9527         (gst_clock_set_time_adjust): Note that this function is obsolete.
9528         Will file bug soon.
9529
9530         * gst/base/gstbasetransform.h: Make the ABI-stability hack
9531         greppable by using GST_PADDING-1+1.
9532
9533 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
9534
9535         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
9536
9537         * gst/gstmessage.c: (gst_message_parse_clock_lost):
9538           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
9539
9540         * gst/gstpadtemplate.h:
9541         * gst/gstpluginfeature.h:
9542           Don't use c++ style comments in headers (#321638).
9543
9544 2005-11-16  Andy Wingo  <wingo@pobox.com>
9545
9546         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
9547         buffer.
9548
9549         * check/net/gstnettimeprovider.c: Check to see that the time
9550         provider actually provides times. Works, yo!
9551
9552 2005-11-16  Wim Taymans  <wim@fluendo.com>
9553
9554         * check/Makefile.am:
9555         Enable more tests.
9556
9557         * check/elements/fakesrc.c: (GST_START_TEST):
9558         Set element to NULL before disposing it.
9559
9560 2005-11-16  Andy Wingo  <wingo@pobox.com>
9561
9562         * gst/net/Makefile.am:
9563         * gst/net/gstnet.h:
9564         * gst/net/gstnettimeprovider.c: 
9565         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
9566         provider, include it from gstnet.h, and add it to the build.
9567
9568         * gst/net/gstnettimepacket.h: 
9569         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
9570         sending and receiving.
9571
9572 2005-11-16  Wim Taymans  <wim@fluendo.com>
9573
9574         * check/Makefile.am:
9575         Enable valgrind check.
9576
9577         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
9578         (gst_fake_src_alloc_buffer):
9579         Fix memleak.
9580
9581 2005-11-16  Wim Taymans  <wim@fluendo.com>
9582
9583         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
9584         Call parent finalize too.
9585
9586 2005-11-16  Wim Taymans  <wim@fluendo.com>
9587
9588         * check/Makefile.am:
9589         Enable valgrind check that should work fine now.
9590
9591         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
9592         * gst/gstqueue.c: (gst_queue_init):
9593         Fix memleaks in pad allocation.
9594
9595 2005-11-16  Andy Wingo  <wingo@pobox.com>
9596
9597         * gst/net/Makefile.am:
9598         * gst/net/gstnet.h: New part of core to hold network elements and
9599         objects. Put in core because it exposes API that applications want
9600         to use. The library is named libgstnet-tempname right now because
9601         of the existing libgstnet in gst-plugins-base. Solution is
9602         probably to rename the one in plugins-base; will file a bug for
9603         the freeze break.
9604
9605         * gst/net/gstnettimeprovider.c: 
9606         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
9607         get_time call over the network.
9608
9609         * configure.ac: 
9610         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
9611
9612         * check/Makefile.am:
9613         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
9614         get additions shortly.
9615
9616 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
9617
9618         * gst/gstpad.c: (gst_pad_new_from_static_template):
9619         * gst/gstpad.h:
9620           add gst_pad_new_from_static_template functions
9621         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
9622         (gst_check_setup_sink_pad):
9623         * gst/elements/gsttee.c: (gst_tee_init):
9624           and use them
9625
9626 2005-11-16  Wim Taymans  <wim@fluendo.com>
9627
9628         * gst/gstpad.c: (gst_pad_pause_task):
9629         Removed warning, it's not really an error either.
9630
9631 2005-11-16  Wim Taymans  <wim@fluendo.com>
9632
9633         * gst/base/gstbasetransform.c:
9634         (gst_base_transform_prepare_output_buf),
9635         (gst_base_transform_event):
9636         Check if the caps are NULL, this can happen if the element
9637         is shutting down and the pad caps are set to NULL.
9638
9639 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
9640
9641         * gst/elements/gsttee.c: (gst_tee_init):
9642           fix pad template leak in tee
9643
9644 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
9645
9646         * gst/glib-compat.c: (g_value_dup_gst_object):
9647         * gst/glib-compat.h:
9648         * gst/gstpad.c: (gst_pad_set_property):
9649           use gst_object_ref when setting the pad template; this will
9650           trigger the pad template leaks on GLib 2.6 and the slaves
9651
9652 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
9653
9654         * gst/glib-compat.c: (gst_flags_get_first_value):
9655         * gst/glib-compat.h:
9656         * gst/gstregistryxml.c:
9657           remove functions copied from GLib 2.6
9658
9659 2005-11-16  Michael Smith <msmith@fluendo.com>
9660
9661         * gst/Makefile.am:
9662           Don't link against VALGRIND_LIBS. That was always the wrong thing to
9663           do, but only breaks with newer valgrind versions. We're not a
9664           valgrind tool, we have no link-time dependencies on libcoregrind.
9665
9666 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
9667
9668         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
9669           some debug changes
9670         * gst/gstmessage.h:
9671           typo fixes
9672
9673 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
9674
9675         * gst/base/gstbasesrc.c: (gst_base_src_init):
9676         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
9677         * gst/gstqueue.c: (gst_queue_init):
9678         * gst/gstregistryxml.c: (load_feature):
9679           Revert all these unrefs, they don't even pass make check !
9680
9681 2005-11-15  Johan Dahlin  <johan@gnome.org>
9682
9683         * gst/base/gstbasesrc.c: (gst_base_src_init):
9684         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
9685         * gst/gstqueue.c: (gst_queue_init): 
9686         Free pad templates, fixes a couple of leaks.
9687
9688 2005-11-15  Daniel Fischer  <dan at f3c dot com>
9689
9690         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
9691
9692         * gst/gstpad.c: (gst_pad_get_property):
9693           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
9694           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
9695           (#321452)
9696
9697 2005-11-15  Wim Taymans  <wim@fluendo.com>
9698
9699         * gst/gstevent.c:
9700         Small doc update.
9701
9702 2005-11-15  Andy Wingo  <wingo@pobox.com>
9703
9704         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
9705
9706         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
9707         using GST_CLOCK_TIME_NONE to disable base time management.
9708         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
9709         time if it was NONE before.
9710         (gst_pipeline_change_state): Only munge the base time if
9711         stream_time != GST_CLOCK_TIME_NONE.
9712
9713         * check/gst/gstpipeline.c (test_base_time): Punt around the
9714         problem of the probe not being called, because that's not the
9715         issue I'm looking at. Add a check that setting stream_time to NONE
9716         disables base time management.
9717         
9718 2005-11-15  Wim Taymans  <wim@fluendo.com>
9719
9720         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
9721         segment_stop == -1 at startup.
9722
9723         * gst/base/gstbasetransform.c: (gst_base_transform_event),
9724         (gst_base_transform_change_state):
9725         Init segment values at start.
9726
9727 2005-11-15  Wim Taymans  <wim@fluendo.com>
9728
9729         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
9730         0 segment values are 0 in any format.
9731
9732         * gst/base/gstbasetransform.c: (gst_base_transform_event):
9733         * gst/base/gstbasetransform.h:
9734         Parse newsegment correctly in basetransform
9735
9736         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
9737         Sync to clock using updated segment values.
9738
9739 2005-11-15  Andy Wingo  <wingo@pobox.com>
9740
9741         * check/gst/gstpipeline.c (test_base_time): Add check that the
9742         base time and stream time are reset correctly.
9743
9744 2005-11-15  Wim Taymans  <wim@fluendo.com>
9745
9746         * docs/design/part-TODO.txt:
9747         Some more TODO items.
9748
9749 2005-11-15  Andy Wingo  <wingo@pobox.com>
9750
9751         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
9752         error if the user selected "no clock" as the clocking method.
9753
9754         * check/gst/gstpipeline.c (test_base_time): New test for buffer
9755         timestamps with live capture.
9756
9757         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
9758         is 0 but we are a live source, timestamp the buffers using the
9759         element's clock.
9760
9761 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
9762
9763         * docs/gst/gstreamer-sections.txt:
9764         * gst/gsterror.c:
9765         * gst/gstghostpad.c:
9766         * gst/gstobject.h:
9767         * gst/gstxml.c:
9768           more section docs
9769
9770 2005-11-14  Wim Taymans  <wim@fluendo.com>
9771
9772         * common/gst.supp:
9773           add suppressions from Wim's Debian machine
9774
9775 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
9776
9777         * common/gst.supp:
9778           add suppressions from Andy's AMD64 Ubuntu machine
9779
9780 2005-11-14  Andy Wingo  <wingo@pobox.com>
9781
9782         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
9783         STATE_LOCK not necessary. Fixes #311489.
9784
9785         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
9786         #305291.
9787
9788         * gst/gstindex.c (gst_index_add_object): Note in the docs that
9789         this function is not implemented.
9790
9791 2005-11-14  Julien MOUTTE  <julien@moutte.net>
9792
9793         * gst/base/gstbasetransform.c:
9794         (gst_base_transform_prepare_output_buf):
9795         Ref the source pad caps while we need them.
9796         Fixes (#321386)
9797
9798 2005-11-11  Wim Taymans  <wim@fluendo.com>
9799
9800         * docs/gst/gstreamer-sections.txt:
9801         Added some docs for GstCollectData.
9802
9803         * gst/base/gstadapter.c:
9804         Some small code example fix.
9805
9806         * gst/base/gstcollectpads.c:
9807         * gst/base/gstcollectpads.h:
9808         Document some more.
9809
9810 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9811
9812         * configure.ac: back to HEAD
9813
9814 === release 0.9.5 ===
9815
9816 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
9817
9818         * configure.ac:
9819           releasing 0.9.5, "Bike Lunch Day"
9820
9821 2005-11-11  Wim Taymans  <wim@fluendo.com>
9822
9823         * gst/gstbuffer.c: (_gst_buffer_copy):
9824         Copy more flags.
9825
9826         * gst/gstcaps.c: (gst_caps_is_equal):
9827         Fix some docs.
9828         Make _is_equal fast in the trivial cases.
9829
9830         * gst/gstminiobject.c:
9831         * gst/gstminiobject.h:
9832         More docs. Spifify .h file.
9833
9834         * gst/gstutils.c:
9835         Small doc update.
9836
9837 2005-11-11  Wim Taymans  <wim@fluendo.com>
9838
9839         * gst/base/gstbasetransform.c:
9840         (gst_base_transform_prepare_output_buf),
9841         (gst_base_transform_handle_buffer):
9842         Small cleanups.
9843         If we're processing a buffer and need to allocate an output
9844         buffer, we cannot accept a format change. If we did get a 
9845         format change, we have to alloc a buffer ourselves of the 
9846         right size.
9847
9848 2005-11-11  Wim Taymans  <wim@fluendo.com>
9849
9850         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
9851         While checking the flag for reentrancy in the gstcaps function
9852         is nice to detect recursive invocations, it also makes it 
9853         impossible to call getcaps from multiple threads, which must be
9854         possible. So, checking for recursive calls has to go.
9855
9856 2005-11-11  Michael Smith <msmith@fluendo.com>
9857
9858         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
9859           Don't sync on buffers that fall partially outside our current
9860           segment. Prevents an assertion failure/abort playing some files.
9861
9862 2005-11-10  Andy Wingo  <wingo@pobox.com>
9863
9864         * check/gst/gstbin.c (test_message_state_changed_children): Style
9865         fix..
9866
9867         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
9868         gst_bus_poll with the signal watch. Ensures that poll and a signal
9869         watch see the same messages.
9870
9871         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
9872         a poll and a watch at the same time get the same messages.
9873
9874 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9875
9876         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
9877         * gst/gstcaps.c: (gst_caps_intersect):
9878           Don't call gst_caps_do_simplify - it doesn't respect order of caps
9879           and it's not needed.
9880
9881 2005-11-10  Wim Taymans  <wim@fluendo.com>
9882
9883         * docs/design/part-TODO.txt:
9884         Updated todo.
9885
9886 2005-11-10  Wim Taymans  <wim@fluendo.com>
9887
9888         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
9889         * gst/base/gstbasesrc.c: (gst_base_src_wait),
9890         (gst_base_src_do_sync), (gst_base_src_get_range):
9891         Implement clock sync in base class.
9892
9893 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9894
9895         patch by: Tim-Philipp Müller <tim at centricular dot net>
9896
9897         * gst/gststructure.c: (gst_structure_parse_field),
9898         (gst_structure_from_string):
9899           Forward-port a 0.8 patch to handle escaped spaces in structure string,
9900           so that gst_parse_launch() can deal with spaces in filtered link
9901           caps (fixes #164479)
9902         * check/gst/capslist.h:
9903         * check/gst/gststructure.c: (GST_START_TEST):
9904           add unit tests for this change
9905
9906 2005-11-10  Wim Taymans  <wim@fluendo.com>
9907
9908         * docs/gst/gstreamer-sections.txt:
9909         * gst/gstelement.c:
9910         * gst/gstelement.h:
9911         Fix docs, move some STATE macros to private.
9912
9913 2005-11-10  Wim Taymans  <wim@fluendo.com>
9914
9915         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
9916         Added check for bug #317341
9917
9918         * gst/gstbuffer.c:
9919         * gst/gstbuffer.h:
9920         Some more spiffifying.
9921
9922         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
9923         Call peer linkfunction if we are a source pad. Totally fixes
9924         #317341
9925
9926         * gst/gstpad.c:
9927         Update docs, source pads should call the peer linkfunction
9928         so they can atomically perform the pad link.
9929
9930 2005-11-09  Wim Taymans  <wim@fluendo.com>
9931
9932         * gst/gstbuffer.c:
9933         * gst/gstbuffer.h:
9934         Uber-spiffy-spiffify some more.
9935
9936 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
9937
9938         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
9939         * gst/elements/gstfilesink.c: (gst_file_sink_init):
9940         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
9941         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
9942         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
9943         * gst/gstpad.c: (gst_pad_init):
9944           Use GST_DEBUG_FUNCPTR() more extensively.
9945
9946 2005-11-09  Wim Taymans  <wim@fluendo.com>
9947
9948         * gst/gstobject.c: (gst_object_class_init):
9949         * gst/gstobject.h:
9950         Documentation fixes.
9951
9952 2005-11-09  Edward Hervey  <edward@fluendo.com>
9953
9954         * gst/gsttypefindfactory.c:
9955         Fix docs.
9956         
9957 2005-11-09  Edward Hervey  <edward@fluendo.com>
9958
9959         * gst/base/gsttypefindhelper.c:
9960         * gst/gsttypefind.c:
9961         * gst/gsttypefind.h:
9962         Fix docs.
9963
9964 2005-11-09  Wim Taymans  <wim@fluendo.com>
9965
9966         * gst/gstiterator.c:
9967         Fix revision data.
9968
9969         * gst/gsttask.c:
9970         * gst/gsttask.h:
9971         Fix docs.
9972
9973 2005-11-09  Wim Taymans  <wim@fluendo.com>
9974
9975         * gst/gstevent.h:
9976         * gst/gsturi.h:
9977         Fix docs.
9978
9979 2005-11-09  Wim Taymans  <wim@fluendo.com>
9980
9981         * docs/gst/gstreamer-sections.txt:
9982         Moved the message async delivery private lock and cond
9983         to the private section.
9984
9985         * gst/gstmessage.c:
9986         * gst/gstmessage.h:
9987         Fixed docs.
9988
9989 2005-11-09  Edward Hervey  <edward@fluendo.com>
9990
9991         * docs/gst/gstreamer-sections.txt:
9992         * gst/gsturi.c:
9993         * gst/gsturi.h:
9994         Document GstURIHandler
9995
9996 2005-11-09  Wim Taymans  <wim@fluendo.com>
9997
9998         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
9999         (gst_iterator_find_custom):
10000         * gst/gstiterator.h:
10001         Fix iterator docs.
10002
10003 2005-11-09  Wim Taymans  <wim@fluendo.com>
10004
10005         * gst/gstbin.h:
10006         Document another field.
10007
10008         * gst/gststructure.c:
10009         * gst/gststructure.h:
10010         Document.
10011
10012 2005-11-09  Wim Taymans  <wim@fluendo.com>
10013
10014         * gst/gstbin.h:
10015         Documented structs.
10016
10017 2005-11-09  Wim Taymans  <wim@fluendo.com>
10018
10019         * docs/gst/gstreamer-sections.txt:
10020         Added some new macros.
10021
10022         * gst/gstclock.c:
10023         * gst/gstclock.h:
10024         * gst/gstobject.h:
10025         Docs updates.
10026
10027 2005-11-09  Wim Taymans  <wim@fluendo.com>
10028
10029         * docs/design/part-TODO.txt:
10030         Some more items for the TODO
10031
10032         * gst/gstcaps.c:
10033         * gst/gstcaps.h:
10034         Document GstCaps.
10035
10036 2005-11-09  Andy Wingo  <wingo@pobox.com>
10037
10038         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
10039         to work on something else now tho...
10040
10041         * gst/base/gstadapter.c: More adapter docs.
10042
10043         * gst/elements/gstfilesink.c (gst_file_sink_start) 
10044         (gst_file_sink_stop): New functions, replace the state change
10045         handler.
10046         (gst_file_sink_class_init): Hook up the start and stop functions.
10047         (gst_file_sink_base_init): Don't set the state change handler any
10048         more. It was a bit ugly too, being set from here...
10049         (gst_file_sink_get_property, gst_file_sink_set_property):
10050         Cleanups...
10051         (gst_file_sink_set_location): More robust check that doesn't call
10052         GST_STATE. Ugggggg.
10053
10054 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
10055
10056         * gst/base/gstbasetransform.c: (gst_base_transform_event):
10057           Hold STREAM_LOCK while pushing newsegment or tag events as well.
10058
10059 2005-11-08  Wim Taymans  <wim@fluendo.com>
10060
10061         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
10062         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
10063         (gst_base_sink_chain), (gst_base_sink_change_state):
10064         * gst/base/gstbasesink.h:
10065         * gst/base/gstbasesrc.h:
10066         * gst/gstelement.h:
10067         * gst/gstevent.h:
10068         Avoid excessive typechecking in macros.
10069
10070         * gst/gstminiobject.c: (gst_mini_object_get_type),
10071         (gst_mini_object_init), (gst_mini_object_new),
10072         (gst_mini_object_free):
10073         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
10074         (gst_object_finalize):
10075         Remove cruft code, optimize alloc_trace.
10076
10077 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
10078
10079         * docs/faq/gst-uninstalled:
10080           fix up PS1 for systems that try to reset it
10081
10082 2005-11-07  Wim Taymans  <wim@fluendo.com>
10083
10084         * gst/base/gstbasesrc.c: (gst_base_src_init),
10085         (gst_base_src_get_range):
10086         Set the segment_end to -1 initially. Fixed typefind.
10087
10088 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
10089
10090         * gst/base/gstadapter.c:
10091           Debug category should be 'adapter', not 'GstAdapter'.
10092           
10093         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
10094         (gst_collectpads_class_init), (gst_collectpads_init),
10095         (gst_collectpads_peek), (gst_collectpads_pop),
10096         (gst_collectpads_event), (gst_collectpads_chain):
10097           Add debug category and some debugging output. Use boilerplate
10098           macros. Remove some extraneous words from docs.
10099
10100 2005-11-05  Andy Wingo  <wingo@pobox.com>
10101
10102         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
10103         macro.
10104
10105 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
10106
10107         * docs/gst/gstreamer-sections.txt:
10108         * gst/gstcaps.h:
10109         * gst/gstinfo.c:
10110         * gst/gstminiobject.h:
10111         * gst/gstobject.h:
10112         * gst/gstutils.h:
10113           more docs added
10114
10115 2005-11-04  Wim Taymans  <wim@fluendo.com>
10116
10117         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
10118         Small update to stop at the configured segment_end
10119         position.
10120
10121 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
10122
10123         * gst/gstregistry.c:
10124         * gst/gstregistry.h:
10125           added missing docs
10126
10127 2005-11-04  Edward Hervey  <edward@fluendo.com>
10128
10129         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
10130         Check if we are doing a segment seek and have arrived at the
10131         end of that segment.
10132
10133 2005-11-04  Wim Taymans  <wim@fluendo.com>
10134
10135         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
10136         Don't leak a mutex unlock in case of an error.
10137
10138         * gst/gstbus.h:
10139         Doc fixes.
10140
10141 2005-11-04  Wim Taymans  <wim@fluendo.com>
10142
10143         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
10144         (gst_bus_post):
10145         Get the context to wake up only once.
10146
10147 2005-11-03  Wim Taymans  <wim@fluendo.com>
10148
10149         * check/states/sinks.c: (GST_START_TEST):
10150         Uncomment fixed check.
10151
10152         * docs/design/part-TODO.txt:
10153         Updated TODO.
10154
10155         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
10156         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
10157         (gst_base_sink_get_position):
10158         If we are going to PLAYING, post the right pending state
10159         when we post the intermediate paused message.
10160
10161         * gst/gstelement.c: (gst_element_continue_state),
10162         (gst_element_set_state_func), (gst_element_change_state):
10163         Don't post state changes that were between the same state
10164         and were not ASYNC.
10165
10166 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
10167
10168         * docs/gst/gstreamer-sections.txt:
10169         * gst/gstcaps.h:
10170         * gst/gstinfo.c:
10171         * gst/gstminiobject.h:
10172         * gst/gstobject.h:
10173         * gst/gstutils.h:
10174           more docs and doc style fixes
10175
10176 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
10177
10178         * docs/gst/gstreamer-sections.txt:
10179         * gst/gstelement.c:
10180         * gst/gstminiobject.c:
10181         doc fixes
10182
10183 2005-11-03  Andy Wingo  <wingo@pobox.com>
10184
10185         * check/states/sinks.c (test_livesrc_sink): Add checks that the
10186         state-changed messages actually have the right order and the right
10187         values.
10188
10189 2005-11-03  Wim Taymans  <wim@fluendo.com>
10190
10191         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
10192         Added some more checks. Specifically the case where NO_PREROLL
10193         elements are in the pipeline.
10194
10195         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
10196         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
10197         (gst_base_sink_get_position):
10198         Post READY->PAUSED state change messages too.
10199         Fix bug where VOID was posted as pending state...
10200
10201         * gst/gstbin.c: (gst_bin_recalc_state):
10202         use _element_continue_state() to continue the state change.
10203
10204         * gst/gstelement.c: (gst_element_continue_state),
10205         (gst_element_commit_state), (gst_element_set_state_func),
10206         (gst_element_change_state), (gst_element_change_state_func):
10207         Lots of state change cleanups, assign the STATE_RETURN in
10208         a new continue_state() function that also propagates the
10209         last return value from a state change to the app.
10210         Update some debug statements with proper category.
10211
10212 2005-11-03  Wim Taymans  <wim@fluendo.com>
10213
10214         * docs/design/part-events.txt:
10215         * docs/design/part-gstpipeline.txt:
10216         * docs/design/part-messages.txt:
10217         * docs/design/part-overview.txt:
10218         * docs/design/part-seeking.txt:
10219         * docs/design/part-states.txt:
10220         * docs/design/part-trickmodes.txt:
10221         * docs/manual/advanced-position.xml:
10222         Small docs updates.
10223
10224         * gst/gstobject.h:
10225         People think !! is ugly, this looks better.
10226
10227         * gst/gstpad.c: (gst_pad_set_blocked_async):
10228         Remove !! since it's fixed elsewhere now.
10229
10230 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
10231
10232         * gst/gstminiobject.h:
10233         * gst/gstobject.h:
10234           Add !! to _FLAG_IS_SET macros to make the result boolean.
10235
10236 2005-11-03  Edward Hervey  <edward@fluendo.com>
10237
10238         * gst/gstpad.c: (gst_pad_set_blocked_async):
10239         comparing a flag and a gboolean rarely returns coherent results...
10240         Added two characters (!!) to make that work correctly.
10241         
10242 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
10243
10244         * gst/gstbus.c: (gst_bus_class_init):
10245           Fix some typos.
10246           
10247         * gst/gstqueue.c: (gst_queue_loop):
10248           Don't assume a miniobject that isn't a buffer is an
10249           event (it could be that there is a refcounting
10250           problem somewhere and the pointer is stale and
10251           refers to an already destroyed miniobject).
10252
10253 2005-11-03  Julien MOUTTE  <julien@moutte.net>
10254
10255         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
10256
10257 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
10258
10259         * docs/manual/advanced-position.xml:
10260           Update seek example and explanations to current 0.9 API.
10261
10262         * gst/elements/gsttypefindelement.c:
10263         (gst_type_find_element_activate):
10264           Remove FIXME comment now that the found caps
10265           are unreffed.
10266
10267 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
10268
10269         * gst/gstregistryxml.c: (load_feature):
10270           Add another GST_STR_NULL instance
10271
10272 2005-11-02  Edward Hervey  <edward@fluendo.com>
10273
10274         * gst/gstpad.c: (handle_pad_block):
10275         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
10276         
10277 2005-11-02  Wim Taymans  <wim@fluendo.com>
10278
10279         * gst/gstbin.c:
10280         Fix typo in docs.
10281
10282         * gst/gstelement.c: (gst_element_commit_state):
10283         Remove unused value.
10284
10285         * gst/gstiterator.c:
10286         Mention that the returned element is reffed in the docs.
10287
10288 2005-11-02  Wim Taymans  <wim@fluendo.com>
10289
10290         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
10291         (gst_pad_push), (gst_pad_push_event):
10292         Unlock blocked pads when they are flushed.
10293
10294 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10295
10296         * docs/README:
10297         * docs/gst/gstreamer-sections.txt:
10298         * gst/gstbin.c:
10299           doc updates
10300         * gst/gstregistry.c: (gst_registry_scan_path_level):
10301           fix for a nasty little missed situation where an installed plug-in
10302           which was in the cache did not get overridden by an uninstalled one
10303           which was earlier in the plugin path because the newly created plugin
10304           for the uninstalled one (not in the registry) didn't get its
10305           ->registered set to TRUE
10306
10307 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
10308
10309         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
10310         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
10311         (gst_collectpads_is_active), (gst_collectpads_collect),
10312         (gst_collectpads_collect_range), (gst_collectpads_start),
10313         (gst_collectpads_stop), (gst_collectpads_peek),
10314         (gst_collectpads_pop), (gst_collectpads_available),
10315         (gst_collectpads_read), (gst_collectpads_flush):
10316           Guard public API with assertions.
10317         
10318         * gst/gstpad.c:
10319           Fix docs for gst_pad_set_link_function().
10320
10321 2005-11-02  Johan Dahlin  <johan@gnome.org>
10322
10323         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
10324         Unref found_caps after we used it.
10325
10326 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
10327
10328         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
10329           Don't try to ref NULL.
10330
10331 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10332
10333         * win32/common/config.h.in:
10334           provide a GST_FUNCTION that just gives a string for now
10335
10336 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10337
10338         * win32/common/gstenumtypes.c: (register_gst_object_flags),
10339         (gst_object_flags_get_type), (register_gst_bin_flags),
10340         (gst_bin_flags_get_type), (register_gst_buffer_flag),
10341         (gst_buffer_flag_get_type), (register_gst_bus_flags),
10342         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
10343         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
10344         (gst_clock_return_get_type), (register_gst_clock_entry_type),
10345         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
10346         (gst_clock_flags_get_type), (register_gst_state),
10347         (gst_state_get_type), (register_gst_state_change_return),
10348         (gst_state_change_return_get_type), (register_gst_state_change),
10349         (gst_state_change_get_type), (register_gst_element_flags),
10350         (gst_element_flags_get_type), (register_gst_core_error),
10351         (gst_core_error_get_type), (register_gst_library_error),
10352         (gst_library_error_get_type), (register_gst_resource_error),
10353         (gst_resource_error_get_type), (register_gst_stream_error),
10354         (gst_stream_error_get_type), (register_gst_event_type),
10355         (gst_event_type_get_type), (register_gst_seek_type),
10356         (gst_seek_type_get_type), (register_gst_seek_flags),
10357         (gst_seek_flags_get_type), (register_gst_format),
10358         (gst_format_get_type), (register_gst_index_certainty),
10359         (gst_index_certainty_get_type), (register_gst_index_entry_type),
10360         (gst_index_entry_type_get_type),
10361         (register_gst_index_lookup_method),
10362         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
10363         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
10364         (gst_index_resolver_method_get_type), (register_gst_index_flags),
10365         (gst_index_flags_get_type), (register_gst_debug_level),
10366         (gst_debug_level_get_type), (register_gst_debug_color_flags),
10367         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
10368         (gst_iterator_result_get_type), (register_gst_iterator_item),
10369         (gst_iterator_item_get_type), (register_gst_message_type),
10370         (gst_message_type_get_type), (register_gst_mini_object_flags),
10371         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
10372         (gst_pad_link_return_get_type), (register_gst_flow_return),
10373         (gst_flow_return_get_type), (register_gst_activate_mode),
10374         (gst_activate_mode_get_type), (register_gst_pad_direction),
10375         (gst_pad_direction_get_type), (register_gst_pad_flags),
10376         (gst_pad_flags_get_type), (register_gst_pad_presence),
10377         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
10378         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
10379         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
10380         (gst_plugin_error_get_type), (register_gst_plugin_flags),
10381         (gst_plugin_flags_get_type), (register_gst_rank),
10382         (gst_rank_get_type), (register_gst_query_type),
10383         (gst_query_type_get_type), (register_gst_tag_merge_mode),
10384         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
10385         (gst_tag_flag_get_type), (register_gst_task_state),
10386         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
10387         (gst_alloc_trace_flags_get_type),
10388         (register_gst_type_find_probability),
10389         (gst_type_find_probability_get_type), (register_gst_uri_type),
10390         (gst_uri_type_get_type), (register_gst_parse_error),
10391         (gst_parse_error_get_type):
10392         * win32/common/gstversion.h:
10393           update win32 copies
10394
10395 2005-11-01  Luca Ognibene  <luogni@tin.it>
10396
10397         * gst/gst.c:
10398           fix docs. popt is dead, long live GOption.
10399
10400 2005-10-31  Wim Taymans  <wim@fluendo.com>
10401
10402         * gst/gstbuffer.h:
10403         Small doc fix.
10404
10405 2005-10-31  Andy Wingo  <wingo@pobox.com>
10406
10407         * Boo!
10408
10409         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
10410
10411         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
10412         need to serialize property notifications on GLib 2.8. GLib 2.6 has
10413         the possibility of deadlocks here if code calling notify() or
10414         set() has a lock that can be taken in another notify handler (ABBA
10415         with class lock and e.g. python GIL state lock).
10416
10417 2005-10-28  Julien MOUTTE  <julien@moutte.net>
10418
10419         * gst/gstbus.c: Doc updates.
10420
10421 2005-10-28  Wim Taymans  <wim@fluendo.com>
10422
10423         * docs/design/part-TODO.txt:
10424         * gst/gstiterator.c:
10425         * gst/gstsystemclock.c:
10426         * gst/gstsystemclock.h:
10427         Doc updates.
10428
10429 2005-10-28  Edward Hervey  <edward@fluendo.com>
10430
10431         * docs/gst/gstreamer-docs.sgml:
10432         * docs/gst/gstreamer-sections.txt:
10433         the GstURIType documentation page is private, it only defines GstURIType
10434         which should be defined in the GstURIHandler page
10435         
10436 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
10437
10438         * gst/gstbin.c: (gst_bin_class_init):
10439         * gst/gstbin.h:
10440         * gst/gstutils.c:
10441         Documentation updates.
10442
10443 2005-10-28  Wim Taymans  <wim@fluendo.com>
10444
10445         * docs/gst/gstreamer-sections.txt:
10446         * gst/gstclock.c:
10447         * gst/gstclock.h:
10448         Documented the clocks.
10449
10450 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
10451
10452         * docs/gst/gstreamer-sections.txt:
10453           move some macros to private sections
10454         * gst/gstminiobject.c:
10455         * gst/gstminiobject.h:
10456           add descriptions provided by ds and some more
10457         * gst/gstpad.h:
10458           mark macro as to be removed
10459
10460 2005-10-28  Wim Taymans  <wim@fluendo.com>
10461
10462         * docs/design/part-TODO.txt:
10463         Add an item to TODO.
10464
10465         * gst/gstiterator.c: (gst_iterator_fold),
10466         (gst_iterator_find_custom):
10467         * gst/gstiterator.h:
10468         Add iterator docs.
10469
10470 2005-10-28  Wim Taymans  <wim@fluendo.com>
10471
10472         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
10473         (gst_base_transform_init):
10474         Don't leak class.
10475
10476         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
10477         An EOS event marks the queue as completely filled.
10478
10479 2005-10-27  Wim Taymans  <wim@fluendo.com>
10480
10481         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10482         (gst_base_sink_do_sync), (gst_base_sink_get_position):
10483         Some more debugging.
10484
10485         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
10486         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
10487         (gst_base_transform_event), (gst_base_transform_getrange),
10488         (gst_base_transform_chain):
10489         * gst/base/gstbasetransform.h:
10490         Fix debugging,
10491         Protect transform and concurrent buffer alloc with a new lock.
10492         Try not to break ABI/API.
10493
10494 2005-10-27  Wim Taymans  <wim@fluendo.com>
10495
10496         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
10497         (gst_base_src_init), (gst_base_src_query),
10498         (gst_base_src_default_newsegment),
10499         (gst_base_src_configure_segment), (gst_base_src_do_seek),
10500         (gst_base_src_send_event), (gst_base_src_event_handler),
10501         (gst_base_src_pad_get_range), (gst_base_src_loop),
10502         (gst_base_src_unlock), (gst_base_src_default_negotiate),
10503         (gst_base_src_start), (gst_base_src_deactivate),
10504         (gst_base_src_activate_push), (gst_base_src_change_state):
10505         Move some stuff around and cleanup things.
10506
10507 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
10508
10509         * gst/base/gstbasesrc.c: (gst_base_src_query):
10510           Add missing break statements.
10511
10512 2005-10-27  Wim Taymans  <wim@fluendo.com>
10513
10514         * check/gst/gstbin.c: (GST_START_TEST):
10515         An extra refcount is taken in basesrc.
10516
10517         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
10518         (gst_base_src_get_range), (gst_base_src_pad_get_range),
10519         (gst_base_src_loop):
10520         Small cleanups, check for flushing after being unlocked from the 
10521         LIVE_LOCK. take refcounts correctly (not yet everywhere).
10522         Don't send out EOS when going to READY.
10523
10524 2005-10-27  Wim Taymans  <wim@fluendo.com>
10525
10526         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10527         (gst_base_sink_get_position):
10528         Some more debug.
10529
10530         * gst/gstbin.c: (message_check), (bin_replace_message),
10531         (bin_remove_messages), (is_eos), (gst_bin_add_func),
10532         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
10533         (bin_query_duration_init), (bin_query_duration_fold),
10534         (bin_query_duration_done), (bin_query_generic_fold),
10535         (gst_bin_query):
10536         * tools/gst-launch.c: (main):
10537         Remove old option.
10538
10539 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
10540
10541         * examples/controller/audio-example.c: (main):
10542         * examples/queue/queue.c: (event_loop):
10543         * gst/base/gstbasetransform.h:
10544         * gst/gstelement.c: (gst_element_send_event):
10545         * gst/gstevent.h:
10546         * gst/gstpad.c: (gst_pad_send_event):
10547           fixing examples
10548           fixing docs typos
10549           changing log priority in error situations
10550
10551 2005-10-25  Wim Taymans  <wim@fluendo.com>
10552
10553         * gst/gstbin.c: (message_check), (bin_replace_message),
10554         (bin_remove_messages), (is_eos), (gst_bin_add_func),
10555         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
10556         (bin_query_duration_init), (bin_query_duration_fold),
10557         (bin_query_duration_done), (bin_query_generic_fold),
10558         (gst_bin_query):
10559         Some doc and debug updates.
10560         Cache previously requested query DURATION for speed. invalidate
10561         cached duration if element posts a DURATION message.
10562
10563 2005-10-25  Wim Taymans  <wim@fluendo.com>
10564
10565         * docs/design/part-TODO.txt:
10566         Update TODO.
10567
10568         * gst/gstbin.c: (message_check), (bin_replace_message),
10569         (bin_remove_messages), (is_eos), (gst_bin_add_func),
10570         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
10571         (bin_query_duration_init), (bin_query_duration_fold),
10572         (bin_query_duration_done), (bin_query_generic_fold),
10573         (gst_bin_query):
10574         Handle SEGMENT_START/DONE messages correctly.
10575         More evolved query algorithm that handles duration queries
10576         correctly.
10577
10578         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
10579         (gst_element_get_state_func), (gst_element_abort_state),
10580         (gst_element_commit_state), (gst_element_lost_state):
10581         Some more debugging.
10582
10583         * gst/gstmessage.h:
10584         Added doc.
10585
10586 2005-10-25  Wim Taymans  <wim@fluendo.com>
10587
10588         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
10589         Don't use invalid stream_time.
10590
10591         * gst/gstevent.c: (gst_event_new_newsegment):
10592         stream_time in newsegment cannot be undefined.
10593
10594 2005-10-24  Wim Taymans  <wim@fluendo.com>
10595
10596         * gst/gstbus.c:
10597         Doc fix.
10598
10599         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
10600         (gst_queue_loop):
10601         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
10602
10603 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
10604
10605         * docs/libs/tmpl/gstdparam.sgml:
10606         * docs/libs/tmpl/gstdplinint.sgml:
10607         * docs/libs/tmpl/gstdpman.sgml:
10608         * docs/libs/tmpl/gstdpsmooth.sgml:
10609         * docs/libs/tmpl/gstunitconvert.sgml:
10610           these are obsolete
10611
10612 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
10613
10614         * configure.ac:
10615           back to HEAD
10616
10617 === release 0.9.4 ===
10618
10619 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
10620
10621         * configure.ac:
10622           releasing 0.9.4, "Tyrannosaurus Rex"
10623
10624 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
10625
10626         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
10627         (gst_file_sink_get_current_offset):
10628           Use fseeko() and ftello() if available. When falling back on
10629           lseek() to get the current offset, fflush() first to make sure
10630           everything is up-to-date and we get the right offset.
10631
10632 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
10633
10634         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
10635         * gst/base/gstbasesrc.c: (gst_base_src_loop):
10636         * gst/gsterror.c: (_gst_stream_errors_init):
10637         * gst/gsterror.h:
10638         * gst/gstqueue.c: (gst_queue_loop):
10639         * po/POTFILES.in:
10640           remove prematurely added error category and clean up the instances
10641
10642 2005-10-21  Wim Taymans  <wim@fluendo.com>
10643
10644         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
10645         (gst_base_sink_get_position), (gst_base_sink_query),
10646         (gst_base_sink_change_state):
10647         Simply set the right flag when going to playing, that's all
10648         we need to do instead of calling a function inside the object
10649         lock (that could take the lock as well and deadlock)
10650
10651 2005-10-21  Wim Taymans  <wim@fluendo.com>
10652
10653         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
10654         (gst_base_src_loop):
10655         Don't warn, the peer element knows what to do best when
10656         the seek failed, it might try something else.
10657
10658 2005-10-21  Wim Taymans  <wim@fluendo.com>
10659
10660         * gst/base/gstbasesrc.c: (gst_base_src_init),
10661         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
10662         Fix seeking.
10663
10664 2005-10-21  Wim Taymans  <wim@fluendo.com>
10665
10666         * docs/design/part-segments.txt:
10667         More docs.
10668
10669         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
10670         Correctly set caps, even on the subbufer.
10671
10672 2005-10-21  Wim Taymans  <wim@fluendo.com>
10673
10674         * docs/gst/gstreamer-docs.sgml:
10675         * docs/gst/gstreamer-sections.txt:
10676         * gst/gstelement.h:
10677         * gst/gstevent.c:
10678         * gst/gstevent.h:
10679         * gst/gstmessage.h:
10680         * gst/gstpad.h:
10681         * gst/gstparse.h:
10682         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
10683         * gst/gsttask.h:
10684         * gst/gstutils.c:
10685         * gst/gstutils.h:
10686         And 2% more doc coverage.
10687
10688 2005-10-21  Andy Wingo  <wingo@pobox.com>
10689
10690         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
10691         position reporting.
10692
10693 2005-10-20  Wim Taymans  <wim@fluendo.com>
10694
10695         * gst/gsterror.c: (gst_error_get_message):
10696         * gst/gstparse.h:
10697         * gst/gstquery.h:
10698         * gst/gststructure.c:
10699         * gst/gsttrace.c:
10700         * gst/gstutils.c:
10701         More docs.
10702
10703 2005-10-20  Wim Taymans  <wim@fluendo.com>
10704
10705         * gst/gstbuffer.h:
10706         * gst/gstpad.c:
10707         * gst/gstparse.c:
10708         Another 1% more coverage.
10709
10710 2005-10-20  Wim Taymans  <wim@fluendo.com>
10711
10712         * docs/gst/gstreamer-sections.txt:
10713         * gst/gstelement.c: (gst_element_get_state_func),
10714         (gst_element_abort_state), (gst_element_commit_state),
10715         (gst_element_lost_state):
10716         * gst/gstevent.h:
10717         * gst/gstquery.c: (gst_query_set_position),
10718         (gst_query_parse_position), (gst_query_set_duration),
10719         (gst_query_parse_duration), (gst_query_new_convert):
10720         * gst/gstutils.c:
10721         Yay! 1% more docs coverage.
10722
10723 2005-10-20  Wim Taymans  <wim@fluendo.com>
10724
10725         * gst/gstpad.h:
10726         * gst/gstquery.c: (gst_query_set_position),
10727         (gst_query_parse_position), (gst_query_set_duration),
10728         (gst_query_parse_duration), (gst_query_new_convert):
10729         * gst/gstquery.h:
10730         * gst/gstutils.c: (gst_element_query_convert):
10731         * gst/gstutils.h:
10732         Docs and consistency fixes.
10733
10734 2005-10-20  Wim Taymans  <wim@fluendo.com>
10735
10736         * gst/gsttask.c:
10737         * gst/gsttask.h:
10738         More docs.
10739
10740 2005-10-20  Wim Taymans  <wim@fluendo.com>
10741
10742         * gst/gstbin.c: (message_check), (bin_replace_message),
10743         (bin_remove_messages), (is_eos), (gst_bin_add_func),
10744         (update_degree), (gst_bin_sort_iterator_next),
10745         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
10746         Reworked the message handling a bit, cache the messages instead of
10747         only the senders. alows us to do more in the future.
10748
10749 2005-10-20  Wim Taymans  <wim@fluendo.com>
10750
10751         * docs/design/part-TODO.txt:
10752         Update TODO
10753
10754         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
10755         (gst_base_sink_query):
10756         Don't use clock time to report position when in EOS.
10757
10758 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
10759
10760         * tools/gst-inspect.c: (print_interfaces),
10761         (print_element_properties_info), (print_element_info):
10762           Fix interface output with gst-inspect -a; don't print
10763           newlines after double/float properties.
10764
10765 2005-10-20  Wim Taymans  <wim@fluendo.com>
10766
10767         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
10768         (gst_base_sink_query):
10769         Speed up current position calculation.
10770
10771         * gst/base/gstbasesrc.c: (gst_base_src_query),
10772         (gst_base_src_default_newsegment):
10773         Correctly set stream position in newsegment.
10774
10775         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
10776         (update_degree), (gst_bin_sort_iterator_next),
10777         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
10778         * gst/gstmessage.c: (gst_message_new_custom):
10779         Clean up debugging info
10780
10781         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
10782         (gst_queue_loop), (gst_queue_handle_src_query):
10783         Pause task faster.
10784
10785 2005-10-19  Wim Taymans  <wim@fluendo.com>
10786
10787         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
10788         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
10789         Fix query handling again.
10790
10791 2005-10-19  Wim Taymans  <wim@fluendo.com>
10792
10793         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
10794         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
10795         * gst/base/gstbasesrc.c: (gst_base_src_query):
10796         * gst/elements/gstfilesink.c: (gst_file_sink_query):
10797         * gst/elements/gsttypefindelement.c:
10798         (gst_type_find_handle_src_query), (find_element_get_length),
10799         (gst_type_find_element_activate):
10800         API change fix.
10801
10802         * gst/gstquery.c: (gst_query_new_position),
10803         (gst_query_set_position), (gst_query_parse_position),
10804         (gst_query_new_duration), (gst_query_set_duration),
10805         (gst_query_parse_duration), (gst_query_set_segment),
10806         (gst_query_parse_segment):
10807         * gst/gstquery.h:
10808         Bundling query position/duration is not a good idea since duration
10809         does not change much and we don't want to recalculate it for every
10810         position query, so they are separated again..
10811         Base value in segment query is not needed.
10812
10813         * gst/gstqueue.c: (gst_queue_handle_src_query):
10814         * gst/gstutils.c: (gst_element_query_position),
10815         (gst_element_query_duration), (gst_pad_query_position),
10816         (gst_pad_query_duration):
10817         * gst/gstutils.h:
10818         Updates for query API change.
10819         Added some docs here and there.
10820
10821 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10822
10823         * check/gst/gstbin.c: (GST_START_TEST):
10824         * check/gst/gstghostpad.c: (GST_START_TEST):
10825         * check/pipelines/cleanup.c: (GST_START_TEST):
10826           wait on thread to die so we can check refcount correctly
10827
10828 2005-10-18  Wim Taymans  <wim@fluendo.com>
10829
10830         * check/pipelines/stress.c: (GST_START_TEST):
10831         Make check a little more time consuming.
10832
10833 2005-10-18  Wim Taymans  <wim@fluendo.com>
10834
10835         * check/Makefile.am:
10836         * check/pipelines/stress.c: (GST_START_TEST),
10837         (simple_launch_lines_suite), (main):
10838         Small state change torture test.
10839
10840         * docs/design/part-states.txt:
10841         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
10842         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
10843         (gst_base_sink_change_state):
10844         Never take state lock from streaming thread, clean up ugly
10845         hacks. Unfortunatly core does not yet support nice ways to
10846         async commit state.
10847         
10848         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
10849         (bin_bus_handler):
10850         Start state recalc if a STATE_DIRTY message is posted, but only
10851         on the toplevel bin.
10852
10853         * gst/gstelement.c: (gst_element_sync_state_with_parent),
10854         (gst_element_get_state_func), (gst_element_abort_state),
10855         (gst_element_commit_state), (gst_element_lost_state),
10856         (gst_element_set_state_func), (gst_element_change_state):
10857         * gst/gstelement.h:
10858         State variables are now protected with the LOCK, the state
10859         lock is only used to serialize _set_state().
10860
10861 2005-10-18  Wim Taymans  <wim@fluendo.com>
10862
10863         * check/gst/gstbin.c: (GST_START_TEST):
10864         * check/gst/gstmessage.c: (GST_START_TEST):
10865         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
10866         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
10867         (bin_bus_handler):
10868         * gst/gstelement.c: (gst_element_abort_state),
10869         (gst_element_commit_state), (gst_element_lost_state):
10870         * gst/gstmessage.c: (gst_message_new_state_changed),
10871         (gst_message_new_state_dirty), (gst_message_new_segment_start),
10872         (gst_message_new_segment_done), (gst_message_new_duration),
10873         (gst_message_parse_state_changed),
10874         (gst_message_parse_segment_start),
10875         (gst_message_parse_segment_done), (gst_message_parse_duration):
10876         * gst/gstmessage.h:
10877         * tools/gst-launch.c: (event_loop):
10878         Seriously, this is better than a previous commit as we only need
10879         to notify the fact that an element changed state in a streaming
10880         thread, marking the state of the parents dirty, hence the 
10881         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
10882         message.
10883
10884 2005-10-18  Wim Taymans  <wim@fluendo.com>
10885
10886         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
10887         (gst_bin_recalc_func):
10888         * gst/gstelement.c: (gst_element_set_clock),
10889         (gst_element_abort_state), (gst_element_lost_state):
10890         Cleanups, prepare for state change fixes.
10891
10892 2005-10-18  Wim Taymans  <wim@fluendo.com>
10893
10894         * gst/gstbin.h:
10895         * gst/gstelement.c: (gst_element_class_init),
10896         (gst_element_set_state), (gst_element_set_state_func):
10897         * gst/gstelement.h:
10898         Pending ABI changes.
10899         GThreadPool in GstBinClass to monitor async state changes.
10900         state_cookie in GstElement to detect concurrent gst/set state.
10901         set_state is now virtual too in case a very complicated element
10902         has to be constructed.
10903
10904 2005-10-18  Wim Taymans  <wim@fluendo.com>
10905
10906         * check/gst/gstbin.c: (GST_START_TEST):
10907         * check/gst/gstmessage.c: (GST_START_TEST):
10908         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
10909         * gst/gstbin.c: (bin_bus_handler):
10910         * gst/gstelement.c: (gst_element_commit_state),
10911         (gst_element_lost_state):
10912         * gst/gstmessage.c: (gst_message_new_state_changed),
10913         (gst_message_new_segment_start), (gst_message_new_segment_done),
10914         (gst_message_new_duration), (gst_message_parse_state_changed),
10915         (gst_message_parse_segment_start),
10916         (gst_message_parse_segment_done), (gst_message_parse_duration):
10917         * gst/gstmessage.h:
10918         * tools/gst-launch.c: (event_loop):
10919         Make messages future proof.
10920         state-change gets a flag if it was a message comming from the
10921         streaming thread.
10922         segment-start/stop can also be specified in other formats.
10923         A message to notify an app that a pipeline changed playback 
10924         duration.
10925         Also fix a GstMessage leak in -launch
10926
10927 2005-10-18  Andy Wingo  <wingo@pobox.com>
10928
10929         * gst/gstelement.c (gst_element_dispose): More helpful message.
10930
10931 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
10932
10933         reviewed by: <delete if not using a buddy>
10934
10935         * common/gtk-doc.mak:
10936
10937 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
10938
10939         * gst/gstregistry.c: (gst_registry_scan_path_level):
10940           unref a plug-in we get that was already initialized
10941
10942 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
10943
10944         * docs/gst/gstreamer-sections.txt:
10945         * docs/libs/gstreamer-libs-sections.txt:
10946         * gst/gstelement.h:
10947           add new api entries
10948           hide internal macro
10949
10950 2005-10-17  Andy Wingo  <wingo@pobox.com>
10951
10952         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
10953         cleanup.
10954
10955         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
10956
10957         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
10958
10959         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
10960         (gst_element_get_state_func): Better debug message.
10961         (gst_element_commit_state): s/INFO/DEBUG/.
10962         (gst_element_lost_state, gst_element_change_state): 
10963
10964         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
10965         (gst_message_new_custom): s/INFO/LOG/.
10966
10967 2005-10-17  Michael Smith <msmith@fluendo.com>
10968
10969         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
10970           Check if end time is valid using end time, not start time.
10971
10972 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
10973
10974         * check/gst-libs/controller.c: (GST_START_TEST),
10975         (gst_controller_suite):
10976         * libs/gst/controller/gstcontroller.c:
10977         (gst_controlled_property_set_interpolation_mode):
10978         * libs/gst/controller/gstcontroller.h:
10979         * libs/gst/controller/gstinterpolation.c:
10980         * testsuite/controller/.cvsignore:
10981         * testsuite/controller/Makefile.am:
10982         * testsuite/controller/interpolator.c:
10983           merge controller testsuites
10984           fix broken tests
10985           remove mem-chunk from docs
10986
10987 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
10988
10989         * gst/gstmemchunk.c:
10990         * gst/gstmemchunk.h:
10991         * gst/gsttrashstack.c:
10992         * gst/gsttrashstack.h:
10993           out.  get out.  you're fired.  to the Attic !
10994
10995 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
10996
10997         * gst/gstcaps.c: (gst_caps_intersect):
10998           fix signedness issues in a (hopefully) correct way
10999         * gst/gstelement.c: (gst_element_pads_activate):
11000           some debugging
11001         * gst/gstobject.c: (gst_object_set_parent):
11002           some debugging
11003
11004 2005-10-17  Julien MOUTTE  <julien@moutte.net>
11005
11006         * gst/gstvalue.h: Fix prototypes.
11007
11008 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
11009
11010         * docs/gst/gstreamer-sections.txt:
11011         * gst/gst.c: (gst_version_string):
11012         * gst/gst.h:
11013         * gst/gstversion.h.in:
11014         * win32/common/libgstreamer.def:
11015           add gst_version_string ()
11016
11017 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
11018
11019         * configure.ac:
11020           clean up further
11021         * gst/gst.c: (init_post):
11022         * win32/common/config.h.in:
11023           it's PLUGINDIR now
11024         * gst/gstcaps.c: (gst_caps_intersect):
11025           use gint64, the range could be bigger than a guint
11026
11027 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
11028
11029         * gst/gstclock.h:
11030           document potential problem in 2038
11031
11032 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
11033
11034         * gst/gstcaps.c: (gst_caps_intersect):
11035           Fix guint j diving under 0
11036
11037 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
11038
11039         * configure.ac:
11040         * win32/common/config.h:
11041         * win32/common/config.h.in:
11042           check for process.h, declares getpid() on Windows
11043         * gst/gstinfo.c:
11044           include process.h if we have it
11045         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
11046         * gst/gstmemchunk.h:
11047           fix signedness issues
11048         * win32/common/libgstreamer.def:
11049           fix get_type's
11050
11051 2005-10-16  Julien MOUTTE  <julien@moutte.net>
11052
11053         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
11054         fix. Because of unsigned ints, caps intersection was going nuts and
11055         trying to access structures with G_MAXUINT index. That fixes
11056         videotestsrc ! ffmpegcolorspace ! fakesink
11057         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
11058         consistency.
11059
11060 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
11061
11062         * configure.ac:
11063           use the gettext macro
11064         * gst/elements/gstelements.c:
11065         * gst/gst.c:
11066         * gst/indexers/gstindexers.c:
11067           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
11068         * win32/common/config.h:
11069           updated config.h
11070         * win32/common/config.h.in:
11071           add the template to generate config.h
11072         * win32/common/gstenumtypes.c:
11073         * win32/common/gstversion.h:
11074           updated copies
11075
11076 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
11077
11078         * gst/gst.c: (gst_version):
11079         * gst/gstversion.h.in:
11080           add the nano
11081
11082 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
11083
11084         * gst/gstevent.h:
11085           Oops, add missing closing bracket.
11086
11087 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
11088
11089         * configure.ac:
11090           use common m4's for argument checking
11091
11092 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
11093
11094         * docs/gst/gstreamer-sections.txt:
11095         * gst/gstevent.h:
11096           Add GST_EVENT_TYPE_NAME() macro.
11097
11098 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
11099
11100         * gst/gstinfo.c:
11101         * gst/gstpluginfeature.c:
11102         * gst/gsttask.c:
11103           privatize more symbols
11104
11105 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
11106
11107         * configure.ac:
11108           add srcdir, builddir includes to GST_ALL_CFLAGS, since
11109           everything that uses GStreamer API should have the includes
11110
11111 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
11112
11113         * docs/gst/gstreamer-sections.txt:
11114         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
11115         * gst/gstvalue.h:
11116           give each value a _get_type, removes the DATA exports
11117
11118 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
11119
11120         * gst/gst.c:
11121         * gst/gst.h:
11122           remove _gst_registry_auto_load, not used anymore
11123         * gst/gstbin.c: (gst_bin_get_type):
11124         * gst/gstbin.h:
11125         * gst/gstelement.c: (gst_element_get_type):
11126         * gst/gstelement.h:
11127         * gst/gstobject.c: (gst_object_get_type):
11128         * gst/gstobject.h:
11129         * gst/gstpad.c: (gst_pad_get_type):
11130         * gst/gstpad.h:
11131           make _get_type functions similar, fixes data export from library
11132
11133 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
11134
11135         * configure.ac:
11136           correctly make conditionals
11137         * gst/elements/Makefile.am:
11138         * gst/elements/gstelements.c:
11139           fix typo causing fdsrc not to build
11140
11141 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
11142
11143         * testsuite/Makefile.am:
11144         * testsuite/bytestream/.cvsignore:
11145         * testsuite/bytestream/Makefile.am:
11146         * testsuite/bytestream/filepadsink.c:
11147         * testsuite/bytestream/gstbstest.c:
11148         * testsuite/bytestream/test1.c:
11149         * testsuite/bytestream/testfile1:
11150         * testsuite/caps/normalisation.c:
11151         * testsuite/caps/random.c: (main):
11152         * testsuite/cleanup/.cvsignore:
11153         * testsuite/cleanup/Makefile.am:
11154         * testsuite/cleanup/cleanup1.c:
11155         * testsuite/cleanup/cleanup2.c:
11156         * testsuite/cleanup/cleanup3.c:
11157         * testsuite/cleanup/cleanup4.c:
11158         * testsuite/cleanup/cleanup5.c:
11159         * testsuite/controller/interpolator.c:
11160         * testsuite/debug/printf_extension.c: (main):
11161         * testsuite/elements/tee.c:
11162         * testsuite/negotiation/.cvsignore:
11163         * testsuite/negotiation/Makefile.am:
11164         * testsuite/negotiation/pad_link.c:
11165         * testsuite/pad/Makefile.am:
11166         * testsuite/pad/chainnopull.c:
11167         * testsuite/pad/getnopush.c:
11168         * testsuite/pad/link.c:
11169         * testsuite/refcounting/sched.c: (create_pipeline):
11170         * testsuite/registry/Makefile.am:
11171         * testsuite/registry/gst-print-formats.c:
11172         * testsuite/schedulers/.cvsignore:
11173         * testsuite/schedulers/142183-2.c:
11174         * testsuite/schedulers/142183.c:
11175         * testsuite/schedulers/143777-2.c:
11176         * testsuite/schedulers/143777.c:
11177         * testsuite/schedulers/147713.c:
11178         * testsuite/schedulers/147819.c:
11179         * testsuite/schedulers/147894-2.c:
11180         * testsuite/schedulers/147894.c:
11181         * testsuite/schedulers/Makefile.am:
11182         * testsuite/schedulers/group_link.c:
11183         * testsuite/schedulers/queue_link.c:
11184         * testsuite/schedulers/relink.c:
11185         * testsuite/schedulers/unlink.c:
11186         * testsuite/schedulers/unref.c:
11187         * testsuite/schedulers/useless_iteration.c:
11188         * testsuite/states/bin.c:
11189           clean out/remove some stuff from the testsuite directories
11190
11191 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
11192
11193         * configure.ac:
11194           check for some headers
11195         * gst/elements/Makefile.am:
11196         * gst/elements/gstelements.c:
11197           don't compile fdsrc without sys/socket.h
11198         * gst/indexers/Makefile.am:
11199         * gst/indexers/gstindexers.c: (plugin_init):
11200           don't compile fileindex without mmap
11201
11202 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
11203
11204         * configure.ac:
11205           reorganize
11206           clean up
11207           document more
11208           remove cruft
11209         * check/Makefile.am:
11210         * docs/gst/Makefile.am:
11211         * examples/helloworld/Makefile.am:
11212         * gst/Makefile.am:
11213         * gst/base/Makefile.am:
11214         * gst/check/Makefile.am:
11215         * gst/elements/Makefile.am:
11216         * gst/indexers/Makefile.am:
11217         * gst/parse/Makefile.am:
11218         * libs/gst/controller/Makefile.am:
11219         * libs/gst/dataprotocol/Makefile.am:
11220         * examples/helloworld/helloworld.c: (event_loop):
11221           compile fixes, though it's not being compiled currently
11222
11223 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
11224
11225         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
11226           Add some simple tests for the new taglist date API.
11227
11228 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
11229
11230         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
11231         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
11232           Beautify 'last-message' output: print 'none' for buffer timestamps
11233           and durations if none is set; improve alignment with next messages.
11234
11235 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
11236
11237         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
11238         * gst/gstpluginfeature.h:
11239         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
11240         * gst/gstregistry.h:
11241         * docs/gst/gstreamer-sections.txt:
11242           Add new API to check plugin feature version requirements.
11243
11244         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
11245           Some basic tests for the above.         
11246
11247 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11248
11249         * gst/gststructure.c: (gst_structure_to_string):
11250           guard against NULL printf - happens when for example
11251           a message structure with GstClock gets serialized
11252
11253 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
11254
11255         * gst/base/gstcollectpads.c: (gst_collectpads_event):
11256           Fix presumable copy'n'pasto.
11257
11258 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11259
11260         * gst/elements/gstfakesrc.h:
11261         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
11262         * gst/elements/gsttypefindelement.c:
11263           fix some signedness
11264         * gst/elements/gstfilesink.c: (gst_file_sink_render):
11265           I wonder if this could actually write +2GB files before
11266
11267 2005-10-13  Andy Wingo  <wingo@pobox.com>
11268
11269         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
11270         Fix Timmeke Waymans bug.
11271         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
11272         string of the proper length to gst_caps_from_string. There's a
11273         potential for, before this fix, that this could cause someone
11274         connecting over the network to cause a segfault if the payload is
11275         not NUL-terminated.
11276
11277 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
11278
11279         * docs/design/draft-push-pull.txt:
11280         * docs/design/part-overview.txt:
11281         * docs/random/TODO-pre-0.9:
11282         * docs/random/old/ChangeLog.gstreamer:
11283         * gst/base/gstpushsrc.c:
11284         * gst/gstclock.c:
11285           fixed typos
11286
11287 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11288
11289         * gst/glib-compat.c: (gst_flags_get_first_value):
11290         * gst/glib-compat.h:
11291         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
11292         (gst_value_compare_double), (gst_value_serialize_flags):
11293           GLib 2.6 g_flags_get_first_value has a bug that triggers an
11294           infinite loop
11295
11296 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11297
11298         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
11299         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
11300           fix up debugging
11301         * tools/gst-launch.c: (event_loop):
11302           print out clock nicely
11303
11304 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
11305
11306         * docs/gst/gstreamer-sections.txt:
11307         * gst/gsttaglist.h:
11308         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
11309         (gst_tag_list_get_date_index):
11310           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
11311           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
11312
11313 2005-10-13  Julien MOUTTE  <julien@moutte.net>
11314
11315         * gst/base/gstcollectpads.c: (gst_collectpads_event),
11316         (gst_collectpads_chain):
11317         * gst/base/gstcollectpads.h: Handle newsegment and store informations
11318         in CollectData.
11319
11320 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
11321
11322         * docs/gst/gstreamer-sections.txt:
11323         * gst/gst.c:
11324         * gst/gsterror.h:
11325         * tools/gst-inspect.c: (main):
11326         * tools/gst-launch.c: (main):
11327         * tools/gst-run.c: (main):
11328         * tools/gst-xmlinspect.c: (main):
11329           fix GOption context leaks
11330           doc fixes
11331
11332 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11333
11334         * gst/gstbus.c:
11335           use HAVE_UNISTD_H
11336         * win32/common/config.h:
11337           update config
11338         * win32/vs6/grammar.dsp:
11339         * win32/vs6/libgstelements.dsp:
11340         * win32/vs6/libgstreamer.dsp:
11341           update vs6 files
11342
11343 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11344
11345         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
11346         * gst/base/gstbasesrc.c: (gst_base_src_query):
11347           fix more guint64<->gdouble conversions
11348
11349 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11350
11351         * Makefile.am:
11352           add win32-update target
11353         * win32/common/gstconfig.h:
11354         * win32/common/gstenumtypes.c:
11355         * win32/common/gstenumtypes.h:
11356         * win32/common/gstversion.h:
11357           add files that visual studio can't generate
11358
11359 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11360
11361         * Makefile.am:
11362           add a win32-update target
11363         * configure.ac:
11364
11365 2005-10-12  Wim Taymans  <wim@fluendo.com>
11366
11367         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
11368         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
11369         * gst/gstelement.c: (gst_element_commit_state),
11370         (gst_element_set_state):
11371         Protect flags with proper lock.
11372         unref provided cached clock in dispose.
11373
11374 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
11375
11376         * gst/gst.c:
11377         * gst/gstminiobject.h:
11378         * gst/gstpad.h:
11379         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
11380           removed unused flags from miniobject
11381           doc fixes
11382
11383 2005-10-12  Wim Taymans  <wim@fluendo.com>
11384
11385         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
11386         (gst_file_sink_event), (gst_file_sink_render):
11387         Flush before seeking.
11388
11389 2005-10-12  Andy Wingo  <wingo@pobox.com>
11390
11391         * gst/gst.c (gst_init_check): Ignore unknown options, as has
11392         always been the case.
11393
11394 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
11395
11396         * check/gst/gstbin.c: (GST_START_TEST):
11397         * docs/gst/gstreamer-sections.txt:
11398         * gst/base/gstbasesink.c: (gst_base_sink_init):
11399         * gst/base/gstbasesrc.c: (gst_base_src_init),
11400         (gst_base_src_get_range), (gst_base_src_check_get_range),
11401         (gst_base_src_start), (gst_base_src_stop):
11402         * gst/base/gstbasesrc.h:
11403         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
11404         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
11405         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
11406         (bin_bus_handler):
11407         * gst/gstbin.h:
11408         * gst/gstbuffer.h:
11409         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
11410         * gst/gstbus.h:
11411         * gst/gstelement.c: (gst_element_is_locked_state),
11412         (gst_element_set_locked_state), (gst_element_commit_state),
11413         (gst_element_set_state):
11414         * gst/gstelement.h:
11415         * gst/gstindex.c: (gst_index_init):
11416         * gst/gstindex.h:
11417         * gst/gstminiobject.h:
11418         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
11419         (gst_object_set_parent):
11420         * gst/gstobject.h:
11421         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
11422         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
11423         * gst/gstpad.h:
11424         * gst/gstpadtemplate.h:
11425         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
11426         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
11427         * gst/gstpipeline.h:
11428         * gst/indexers/gstfileindex.c: (gst_file_index_load),
11429         (gst_file_index_commit):
11430         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
11431         * testsuite/pad/link.c: (gst_test_src_init),
11432         (gst_test_filter_init), (gst_test_sink_init):
11433         * testsuite/states/locked.c: (main):
11434           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
11435           moved bitshift from macro to enum definition
11436
11437 2005-10-12  Wim Taymans  <wim@fluendo.com>
11438
11439         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
11440         * gst/elements/gstfilesink.c: (gst_file_sink_event),
11441         (gst_file_sink_render):
11442         Some more debugging info.
11443
11444 2005-10-12  Wim Taymans  <wim@fluendo.com>
11445
11446         * docs/design/part-states.txt:
11447         * tools/gst-launch.c: (main):
11448         Some doc updates.
11449         Revert non-intentional change.
11450
11451 2005-10-12  Wim Taymans  <wim@fluendo.com>
11452
11453         * check/gst/gstbin.c: (GST_START_TEST):
11454         * check/gst/gstelement.c: (GST_START_TEST):
11455         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
11456         * check/gst/gstghostpad.c: (GST_START_TEST):
11457         * check/gst/gstpipeline.c: (GST_START_TEST):
11458         * check/pipelines/simple_launch_lines.c: (run_pipeline):
11459         * check/states/sinks.c: (GST_START_TEST):
11460         * gst/elements/gsttypefindelement.c: (stop_typefinding):
11461         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
11462         (gst_bin_remove_func), (gst_bin_get_state_func),
11463         (gst_bin_recalc_state), (gst_bin_change_state_func),
11464         (bin_bus_handler):
11465         * gst/gstelement.c: (gst_element_get_state_func),
11466         (gst_element_get_state), (gst_element_abort_state),
11467         (gst_element_commit_state), (gst_element_set_state),
11468         (gst_element_change_state), (gst_element_change_state_func):
11469         * gst/gstelement.h:
11470         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
11471         (gst_pipeline_provide_clock_func):
11472         * gst/gstutils.c: (gst_element_link_pads_filtered):
11473         * tools/gst-launch.c: (main):
11474         * tools/gst-typefind.c: (main):
11475         Use GstClockTime in _get_state() instead of GTimeVal.
11476         Remove old code in gstutils.c
11477
11478 2005-10-12  Andy Wingo  <wingo@pobox.com>
11479
11480         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
11481         removed.
11482
11483         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
11484         there is no task. Shouldn't affect any code, as nothing in our
11485         plugins checks this return value.
11486         (gst_pad_stop_task): Also take the stream lock if the pad has no
11487         task. Docs updated.
11488
11489 2005-10-12  Wim Taymans  <wim@fluendo.com>
11490
11491         * gst/gstpad.c: (pre_activate), (post_activate),
11492         (gst_pad_activate_pull), (gst_pad_activate_push):
11493         Cleanup activation code. Reset old state if
11494         activation failed.
11495
11496 2005-10-12  Wim Taymans  <wim@fluendo.com>
11497
11498         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
11499         (gst_base_sink_change_state):
11500         No need to prerol after receiving EOS.
11501
11502         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
11503         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
11504         * gst/elements/gstidentity.c: (gst_identity_event):
11505         Print events more verbosely.
11506
11507 2005-10-12  Wim Taymans  <wim@fluendo.com>
11508
11509         * check/Makefile.am:
11510         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
11511         * check/states/sinks2.c:
11512         Moved sinks2 testcode in sinks check.
11513
11514         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
11515         (gst_bin_remove_func), (gst_bin_recalc_state),
11516         (gst_bin_change_state_func), (bin_bus_handler):
11517         Fix potential race condition when _get_state() iterated over an
11518         ASYNC element right before it posted a state completion.
11519
11520         * gst/gstclock.h:
11521         Do proper cast here.
11522
11523         * gst/gstevent.c: (gst_event_new_newsegment),
11524         (gst_event_parse_newsegment):
11525         A playback rate of 0.0 is not allowed.
11526
11527 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11528
11529         * win32/common/config.h:
11530         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
11531         (_trewinddir), (_ttelldir), (_tseekdir):
11532         * win32/common/dirent.h:
11533         * win32/common/gtchar.h:
11534         * win32/common/libgstbase.def:
11535         * win32/common/libgstreamer.def:
11536         * win32/vs6/grammar.dsp:
11537         * win32/vs6/gst_inspect.dsp:
11538         * win32/vs6/gst_launch.dsp:
11539         * win32/vs6/gstreamer.dsw:
11540         * win32/vs6/libgstbase.dsp:
11541         * win32/vs6/libgstelements.dsp:
11542         * win32/vs6/libgstreamer.dsp:
11543           Visual Studio 6 project files, and a new common directory.
11544           Phear.
11545
11546 2005-10-11  Wim Taymans  <wim@fluendo.com>
11547
11548         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
11549         (gst_base_sink_do_sync), (gst_base_sink_query),
11550         (gst_base_sink_change_state):
11551         * gst/base/gstbasesink.h:
11552         Correctly parse newsegment info.
11553
11554 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11555
11556         * gst/gst.c: (init_post):
11557           split plugin paths correctly
11558
11559 2005-10-11  Wim Taymans  <wim@fluendo.com>
11560
11561         * check/gst/gstevent.c: (GST_START_TEST):
11562         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
11563         (gst_base_sink_change_state):
11564         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
11565         * gst/base/gstbasetransform.c: (gst_base_transform_event):
11566         * gst/elements/gstfilesink.c: (gst_file_sink_event):
11567         * gst/gstevent.c: (gst_event_new_newsegment),
11568         (gst_event_parse_newsegment):
11569         * gst/gstevent.h:
11570         Added extra flag to newsegment for future API freeze.
11571         Updated check and base elements.
11572
11573 2005-10-11  Julien MOUTTE  <julien@moutte.net>
11574
11575         * gst/base/gstcollectpads.c: (gst_collectpads_init),
11576         (gst_collectpads_add_pad), (gst_collectpads_pop),
11577         (gst_collectpads_event), (gst_collectpads_chain):
11578         * gst/base/gstcollectpads.h: Handle EOS correctly.
11579
11580 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11581
11582         * tools/gst-launch.c: (main):
11583           more null protecting
11584
11585 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11586
11587         * gst/gst-i18n-lib.h:
11588           check for ENABLE_NLS, not GETTEXT_PACKAGE
11589         * gst/gstregistry.c: (gst_registry_add_plugin),
11590         (gst_registry_scan_path_level),
11591         (_gst_registry_remove_cache_plugins):
11592           protect possibly NULL strings
11593         * gst/parse/types.h:
11594           config.h already included before
11595         * tools/gst-inspect.c: (main):
11596           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
11597           check for ENABLE_NLS, not GETTEXT_PACKAGE
11598         * tools/gst-launch.c: (main):
11599           check for ENABLE_NLS, not GETTEXT_PACKAGE
11600
11601 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11602
11603         * configure.ac:
11604           if we don't have glib, fail before testing 2.8
11605         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
11606           fix a leak, should fix plugins-base testsuite
11607
11608 2005-10-11  Andy Wingo  <wingo@pobox.com>
11609
11610         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
11611         take the mode we're going to as an arg. Go head and set the mode
11612         and flushing flags now, so that if the activate function starts a
11613         thread all the flags will be in the right state.
11614         (post_activate): Renamed also. Just handle making sure streaming
11615         finishes for the deactivation case, and setting the deactivated
11616         mode.
11617         (gst_pad_set_active): Complain loudly if deactivation fails.
11618         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
11619         (gst_pad_activate_push): Adapt to pre/post_activate changes,
11620         remove the terrible hack.
11621
11622 2005-10-11  Wim Taymans  <wim@fluendo.com>
11623
11624         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
11625         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
11626         (gst_bin_recalc_state), (gst_bin_change_state_func),
11627         (gst_bin_dispose), (bin_bus_handler):
11628         * gst/gstbin.h:
11629         Prepare to make current EOS message queue more generic.
11630         Fix some typos.
11631
11632         * gst/gstevent.c: (gst_event_new_newsegment),
11633         (gst_event_parse_newsegment):
11634         * gst/gstevent.h:
11635         Rename base to stream_time.
11636
11637         * gst/gstmessage.h:
11638         Fix typo in docs.
11639
11640 2005-10-11  Wim Taymans  <wim@fluendo.com>
11641
11642         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
11643         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
11644         (gst_bin_change_state_func), (bin_bus_handler):
11645         * gst/gstbin.h:
11646         Work on proper clock selection.
11647
11648 2005-10-11  Edward Hervey  <edward@fluendo.com>
11649
11650         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
11651         * libs/gst/controller/gstcontroller.h:
11652         Added GList* version of _remove_properties() in order to be able to wrap
11653         it in bindings.
11654
11655 2005-10-11  Wim Taymans  <wim@fluendo.com>
11656
11657         * docs/design/part-states.txt:
11658         Some more docs.
11659
11660         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
11661         (gst_bin_change_state_func), (bin_bus_handler):
11662         Doc updates. Don't distribute the same clock over and over again.
11663
11664         * gst/gstclock.c:
11665         * gst/gstclock.h:
11666         Doc updates.
11667
11668         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
11669         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
11670         (gst_pad_send_event):
11671         * gst/gstpad.h:
11672         Make probe emission threadsafe again.
11673         Register quarks and move _get_name() from utils.
11674         Doc updates.
11675
11676         * gst/gstpipeline.c: (gst_pipeline_class_init),
11677         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
11678         Only redistribute the clock of it changed.
11679
11680         * gst/gstsystemclock.h:
11681         Doc updates. 
11682
11683         * gst/gstutils.c:
11684         * gst/gstutils.h:
11685         Moved the _flow_get_name() to GstPad.
11686
11687 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11688
11689         * check/gst-libs/gdp.c: (GST_START_TEST):
11690         * check/gst/gstcaps.c: (GST_START_TEST):
11691         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
11692         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
11693         (gst_dp_packet_from_caps):
11694           fix more valgrind warnings before turning up the heat
11695
11696 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11697
11698         * gst/parse/grammar.y:
11699           some cleanup before the hacking
11700
11701 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
11702
11703         * gst/base/gstbasesrc.c: (gst_base_src_query):
11704           use conversions
11705         * gst/gstutils.c: (gst_guint64_to_gdouble),
11706         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
11707         * gst/gstutils.h:
11708           externalize, basesrc uses it
11709           obviously the implementation needs testing
11710
11711 2005-10-10  Wim Taymans  <wim@fluendo.com>
11712
11713         * tests/sched/Makefile.am:
11714         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
11715         (make_pipeline3), (make_pipeline4), (print_elem), (main):
11716
11717 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
11718
11719         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
11720           apparently converting from guint64 to double is not implemented
11721           on MSVC
11722
11723 2005-10-10  Wim Taymans  <wim@fluendo.com>
11724
11725         * check/Makefile.am:
11726         * check/generic/states.c: (GST_START_TEST):
11727         * check/gst/gstbin.c: (GST_START_TEST):
11728         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
11729         * check/states/sinks.c: (GST_START_TEST):
11730         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
11731         (main):
11732         Check fixes, use API as stated in design docs, remove hacks.
11733
11734         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
11735         (gst_base_sink_change_state):
11736         Catch stopping our task while we're shutting down.
11737
11738         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
11739         (gst_bin_remove_func), (gst_bin_get_state_func),
11740         (gst_bin_recalc_state), (gst_bin_change_state_func),
11741         (bin_bus_handler):
11742         * gst/gstbin.h:
11743         * gst/gstelement.c: (gst_element_init),
11744         (gst_element_get_state_func), (gst_element_abort_state),
11745         (gst_element_commit_state), (gst_element_lost_state),
11746         (gst_element_set_state), (gst_element_change_state),
11747         (gst_element_change_state_func):
11748         * gst/gstelement.h:
11749         New state change algorithm (see #318116)
11750
11751         * gst/gstpipeline.c: (gst_pipeline_class_init),
11752         (gst_pipeline_init), (gst_pipeline_set_property),
11753         (gst_pipeline_get_property), (do_pipeline_seek),
11754         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
11755         * gst/gstpipeline.h:
11756         Remove crude state change hacks.
11757
11758         * gst/gstutils.h:
11759         Remove crude hacks.
11760
11761         * tools/gst-launch.c: (main):
11762         Fixes for state change. Needs some more work to fully use the
11763         new stuff.
11764
11765 2005-10-10  Andy Wingo  <wingo@pobox.com>
11766
11767         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
11768
11769         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
11770         this flag, but it's not even in GLib 2.6. Odd. Hack around the
11771         issue.
11772
11773 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
11774
11775         * gst/gstiterator.c: (gst_iterator_new):
11776           Fix my previous commit: GTypes passed to gst_iterator_new()
11777           can be fundamental types.
11778
11779 2005-10-10  Wim Taymans  <wim@fluendo.com>
11780
11781         * gst/gstelement.c: (gst_element_iterate_pad_list),
11782         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
11783         (gst_element_iterate_sink_pads):
11784         Use src/sink pads lists for the respective iterators instead
11785         of filtering.
11786
11787 2005-10-10  Andy Wingo  <wingo@pobox.com>
11788
11789         Merged in popt removal + GOption addition patch from Ronald, bug
11790         #169772.
11791
11792         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
11793         GstElement macros around, remove popt-related symbols, add goption
11794         stuff.
11795
11796         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
11797         
11798         * docs/gst/Makefile.am:
11799         * docs/libs/Makefile.am: No POPT_CFLAGS.
11800         
11801         * examples/manual/Makefile.am:
11802         * docs/manual/basics-init.xml: Doc updates with an example.
11803         
11804         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
11805         (gst_init), (parse_one_option), (parse_goption_arg):
11806         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
11807         bit of hand merging and debugging to get the GOption stuff working
11808         tho.
11809         
11810         * tests/Makefile.am:
11811         * tools/Makefile.am:
11812         * tools/gst-inspect.c: (main):
11813         * tools/gst-launch.c: (main):
11814         * tools/gst-run.c: (main):
11815         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
11816
11817 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
11818
11819         * gst/gstiterator.c: (gst_iterator_new):
11820           Add assertions to make sure passed GType is likely to really
11821           be a GType (as the compiler won't catch it if the size and
11822           GType arguments get mixed up, see #318447).
11823
11824 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
11825
11826         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
11827
11828         * gst/gstbin.c: (gst_bin_iterate_sorted):
11829           Pass GType and size arguments to gst_iterator_new() in the right
11830           order (maybe we should make _new() take the GType as first argument
11831           just like _new_list()?) (#318447).
11832           
11833
11834 2005-10-10  Wim Taymans  <wim@fluendo.com>
11835
11836         * gst/gstelement.c: (gst_element_finalize):
11837         And free the GStaticRecMutex too
11838
11839 2005-10-10  Andy Wingo  <wingo@pobox.com>
11840
11841         * gst/gstelement.c (gst_element_init, gst_element_finalize):
11842         Allocate and free the mutex properly.
11843
11844         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
11845         New macros.
11846         (GstElement): The state_lock is now recursive. Rebuild your
11847         plugins, suckers. Old macros adapted.
11848
11849         * docs/gst/gstreamer-sections.txt: Doc updates.
11850
11851         * gst/gstutils.h:
11852         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
11853         (g_static_rec_cond_wait): Ported from state changes patch, while
11854         we wait on bug #317802 to be solved in a well-distributed GLib.
11855
11856         * gst/gstelement.c (gst_element_change_state_func): Renamed from
11857         gst_element_change_state, variable name changes.
11858         (gst_element_change_state): Split out of gst_element_set_state in
11859         preparation for the state change merge. Doesn't pay attention to
11860         the 'transition' argument.
11861         (gst_element_set_state): Updates, hopefully purely cosmetic.
11862         (gst_element_sync_state_with_parent): MT-safety. Ported from the
11863         state change patch.
11864         (gst_element_get_state_func): Renamed from get_state, cosmetic
11865         changes.
11866
11867 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
11868
11869         * gst/elements/gstelements.c:
11870         * win32/GStreamer.vcproj:
11871         * win32/config.h:
11872         * win32/dirent.c: (_tseekdir):
11873         * win32/gst-inspect.vcproj:
11874         * win32/gst-launch.vcproj:
11875         * win32/gstconfig.h:
11876         * win32/gstelements.vcproj:
11877         * win32/gstenumtypes.c: (gst_object_flags_get_type):
11878         * win32/gstreamer.def:
11879         * win32/msvc71.sln:
11880           updates for the win32 build (patch from Sebastien Moutte)
11881
11882 2005-10-10  Andy Wingo  <wingo@pobox.com>
11883
11884         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
11885         gst_bin_get_state, cleaned up (but no logic changes).
11886         (bin_element_is_sink): Comment updates.
11887         (sink_iterator_filter): Remove needless cast.
11888         (gst_bin_iterate_sinks): Doc update.
11889         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
11890         cleaned up (but no logic changes).
11891
11892         * check/states/sinks.c (test_src_sink): Cleanups from the state
11893         change patch.
11894         (test_livesrc_sink): Sync on the state.
11895
11896         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
11897         the state change patch.
11898
11899         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
11900         change patch.
11901
11902         * check/gst/gstbin.c: Merge in some style fixes and additional
11903         checks from Wim's state change patch.
11904
11905 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
11906
11907         * gst/base/gsttypefindhelper.c: (helper_find_peek),
11908         (gst_type_find_helper):
11909           Check whether we have the requested data already in our list of
11910           cached buffers before pulling a new buffer; also make the buffer
11911           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
11912
11913 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
11914
11915         * gst/gstcaps.c:
11916         * gst/gstevent.c:
11917           doc updates
11918         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
11919           don't use long long, it's not portable.  Replacing with
11920           gint64 seems to work; let's hope no skeletons fall out of the closet.
11921
11922 2005-10-10  Andy Wingo  <wingo@pobox.com>
11923
11924         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
11925
11926 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
11927
11928         * docs/gst/gstreamer-sections.txt:
11929         * gst/gstevent.c:
11930         * gst/gstevent.h:
11931         * gst/gstinfo.c:
11932         * gst/gstinfo.h:
11933         * gst/gstmessage.c: (gst_message_parse_state_changed):
11934         * gst/gstpad.c:
11935         * gst/gstpad.h:
11936           more docs, fix compilation
11937
11938 2005-10-09  Philippe Khalaf <burger@speedy.org>
11939         * gst/gstmessage.c:
11940           Fixed a few forgotten variables on previous commit
11941
11942 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
11943
11944         * gst/base/gsttypefindhelper.c: (helper_find_peek):
11945           Fix evil typefind crasher: getrange() might return a short
11946           buffer at the end of a file, but gst_type_find_peek() must
11947           either return the full data as requested or NULL, but
11948           never a short buffer.
11949
11950 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11951
11952         * gst/gstmessage.c: (gst_message_new_state_changed),
11953         (gst_message_parse_state_changed):
11954         * gst/gstmessage.h:
11955           don't use "new", it's a C++ keyword
11956
11957 2005-10-08  Wim Taymans  <wim@fluendo.com>
11958
11959         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
11960         * gst/gstelement.c: (gst_element_post_message):
11961         * gst/gstpipeline.c: (gst_pipeline_change_state):
11962         Small docs and debug updates.
11963
11964 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
11965
11966         * docs/gst/gstreamer-sections.txt:
11967         * gst/gstelementfactory.c:
11968         * gst/gstevent.c:
11969         * gst/gsttaglist.c:
11970           more docs
11971
11972 2005-10-08  Wim Taymans  <wim@fluendo.com>
11973
11974         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
11975         (gst_bin_dispose), (bin_bus_handler):
11976         Fix typos, add comments.
11977         Clear EOS list when going to PAUSED from any direction and do it
11978         in a threadsafe way.
11979         Get base time in a threadsafe way too.
11980         Fix confusing debug in the change_state function.
11981         Various other small cleanups.
11982         
11983         * gst/gstelement.c: (gst_element_post_message):
11984         Fix very verbose bus posting code.
11985
11986         * gst/gstpipeline.c: (gst_pipeline_class_init),
11987         (gst_pipeline_set_property), (gst_pipeline_get_property),
11988         (gst_pipeline_change_state):
11989         Small ARG_ -> PROP_ cleanup
11990
11991 2005-10-08  Wim Taymans  <wim@fluendo.com>
11992
11993         * gst/gstbin.c: (is_eos), (bin_bus_handler):
11994         Do a less CPU demanding EOS check because we can.
11995
11996 2005-10-08  Wim Taymans  <wim@fluendo.com>
11997
11998         * libs/gst/dataprotocol/dataprotocol.c:
11999         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
12000         (gst_dp_packet_from_event):
12001         * libs/gst/dataprotocol/dataprotocol.h:
12002         * libs/gst/dataprotocol/dp-private.h:
12003         It's about time we bump the version number.
12004         Since event types don't fit in the guint8 anymore describing
12005         the payload type, make payload type 16 bits wide.
12006
12007 2005-10-08  Wim Taymans  <wim@fluendo.com>
12008
12009         * docs/design/part-TODO.txt:
12010         * docs/design/part-clocks.txt:
12011         * docs/design/part-events.txt:
12012         * docs/design/part-gstbin.txt:
12013         * docs/design/part-gstelement.txt:
12014         * docs/design/part-gstpipeline.txt:
12015         * docs/design/part-live-source.txt:
12016         * docs/design/part-messages.txt:
12017         * docs/design/part-overview.txt:
12018         * docs/design/part-states.txt:
12019         Many doc updates.
12020
12021 2005-10-08  Wim Taymans  <wim@fluendo.com>
12022
12023         * gst/gstevent.c:
12024         * gst/gstevent.h:
12025         Fix event quark registration.
12026         Add some space between events so we can insert them in the
12027         right groups.
12028
12029 2005-10-08  Wim Taymans  <wim@fluendo.com>
12030
12031         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
12032         (gst_base_sink_handle_buffer):
12033         Better log message.
12034
12035         * gst/gstbus.h:
12036         * gst/gstelement.h:
12037         More docs.
12038
12039         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
12040         (gst_queue_set_property), (gst_queue_get_property):
12041         * gst/gstqueue.h:
12042         Remove old unused properties.
12043
12044 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
12045         * docs/gst/gstreamer-sections.txt:
12046         * gst/gstmessage.c:
12047         * gst/gstmessage.h:
12048         * gst/gstminiobject.c:
12049         * gst/gstminiobject.h:
12050         * gst/gstobject.h:
12051         * gst/gstpad.h:
12052         * gst/gstutils.h:
12053           lots of new docs and doc fixes
12054
12055 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
12056
12057         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
12058         * gst/gstplugin.h:
12059         * gst/gstregistry.c: (gst_registry_lookup_locked),
12060         (gst_registry_scan_path_level):
12061         * gst/gstregistryxml.c: (load_plugin):
12062           Only ever load one plugin for a given plugin basename.
12063           This ensures correct overriding of GST_PLUGIN_PATH over
12064           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
12065           system installed plugins.
12066
12067 2005-10-08  Wim Taymans  <wim@fluendo.com>
12068
12069         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
12070         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
12071         Prepare for doing QOS.
12072
12073 2005-10-08  Wim Taymans  <wim@fluendo.com>
12074
12075         * check/gst/gstbin.c: (GST_START_TEST):
12076         * check/pipelines/cleanup.c: (GST_START_TEST):
12077         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
12078         Allow new clock message too.
12079
12080 2005-10-08  Wim Taymans  <wim@fluendo.com>
12081
12082         * gst/gstmessage.c: (gst_message_new_error),
12083         (gst_message_new_warning), (gst_message_new_tag),
12084         (gst_message_new_state_changed), (gst_message_new_clock_provide),
12085         (gst_message_new_clock_lost), (gst_message_new_new_clock),
12086         (gst_message_new_segment_start), (gst_message_new_segment_done),
12087         (gst_message_parse_state_changed),
12088         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
12089         (gst_message_parse_new_clock):
12090         * gst/gstmessage.h:
12091         Also carry the clock in question.
12092
12093 2005-10-08  Wim Taymans  <wim@fluendo.com>
12094
12095         * gst/gstmessage.c: (gst_message_new_custom),
12096         (gst_message_new_eos), (gst_message_new_error),
12097         (gst_message_new_warning), (gst_message_new_tag),
12098         (gst_message_new_state_changed), (gst_message_new_clock_provide),
12099         (gst_message_new_new_clock), (gst_message_new_segment_start),
12100         (gst_message_new_segment_done), (gst_message_parse_state_changed),
12101         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
12102         * gst/gstmessage.h:
12103         Clean up.
12104         Added clock related messages.
12105
12106         * gst/gstpipeline.c: (gst_pipeline_change_state):
12107         Post message when the clock changed.
12108
12109         * tools/gst-launch.c: (event_loop):
12110         Print new clock.
12111
12112 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
12113
12114         * tools/gst-inspect.c: (print_element_properties_info):
12115           Can't pass NULL strings to g_print() on windows.
12116
12117 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
12118
12119         * docs/Makefile.am:
12120         * docs/gst/Makefile.am:
12121         * docs/gst/gstreamer-docs.sgml:
12122         * docs/gst/running.xml:
12123         * docs/version.entities.in:
12124           add a chapter on running GStreamer.
12125           document GST_DEBUG and GST_PLUGIN* env vars
12126
12127 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
12128
12129         * Makefile.am:
12130           remove include dir
12131         * configure.ac:
12132           remove PLUGINS_BUILDDIR stuff
12133         * gst/gst.c: (init_post):
12134           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
12135         * idiottest.mak:
12136           remove, it was condescending and not needed
12137
12138 2005-10-08  Wim Taymans  <wim@fluendo.com>
12139
12140         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
12141         (gst_base_sink_handle_object), (gst_base_sink_event),
12142         (gst_base_sink_wait), (gst_base_sink_handle_event),
12143         (gst_base_sink_change_state):
12144         * gst/base/gstbasesink.h:
12145         Repost EOS message while going to PLAYING if still EOS.
12146         Make sure that when receiving a FLUSH_START we don't attempt
12147         to sync on the clock anymore.
12148
12149 2005-10-08  Wim Taymans  <wim@fluendo.com>
12150
12151         * tools/gst-launch.c: (event_loop):
12152         Better message printout.
12153
12154 2005-10-08  Wim Taymans  <wim@fluendo.com>
12155
12156         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
12157         (gst_bin_child_proxy_get_children_count):
12158         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
12159         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
12160         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
12161         (gst_child_proxy_set_valist):
12162         * gst/parse/grammar.y:
12163         Make ChildProxy threadsafe and fix mem leaks.
12164
12165 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
12166
12167         * gst/gst.c: (init_post):
12168           debug the GST_PLUGIN_ env vars
12169
12170 2005-10-08  Wim Taymans  <wim@fluendo.com>
12171
12172         * check/gst/gstbin.c: (GST_START_TEST):
12173         * check/gst/gstmessage.c: (GST_START_TEST):
12174         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
12175         * gst/gstelement.c: (gst_element_commit_state),
12176         (gst_element_lost_state):
12177         * gst/gstmessage.c: (gst_message_new_state_changed),
12178         (gst_message_parse_state_changed):
12179         * gst/gstmessage.h:
12180         * tools/gst-launch.c: (event_loop):
12181         Added extra field to STATE_CHANGE message with the pending
12182         state, which will be different from the new state soon.
12183
12184 2005-10-08  Wim Taymans  <wim@fluendo.com>
12185
12186         * gst/gstbus.c: (gst_bus_pop):
12187         * gst/gstclock.c:
12188         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
12189         Small cleanups and doc updates.
12190
12191 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
12192
12193         * gst/gst.c: (init_pre):
12194         * gst/gstbin.c: (gst_bin_add_func):
12195           log distributing clocks and base time
12196         * gst/gstregistry.c: (gst_registry_add_plugin),
12197         (gst_registry_scan_path_level), (gst_registry_scan_path):
12198           clean up the debugging output a little
12199         * gst/gstutils.c: (gst_element_state_get_name):
12200           warn about a memleak (I've actually seen this be used, though
12201           it was probably a bug)
12202
12203 2005-10-07  Wim Taymans  <wim@fluendo.com>
12204
12205         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
12206         (gst_base_src_init), (gst_base_src_default_newsegment),
12207         (gst_base_src_newsegment), (gst_base_src_do_seek),
12208         (gst_base_src_loop), (gst_base_src_start):
12209         * gst/base/gstbasesrc.h:
12210         Make the newsegment event customizable by subclasses.
12211
12212 2005-10-07  Wim Taymans  <wim@fluendo.com>
12213
12214         * gst/gstevent.c: (gst_event_new_buffersize),
12215         (gst_event_parse_buffersize):
12216         * gst/gstevent.h:
12217         New event for future idea.
12218
12219 2005-10-07  Andy Wingo  <wingo@pobox.com>
12220
12221         * gst/gstelement.c (gst_element_post_message): Doc update.
12222
12223         * docs/gst/gstreamer-sections.txt: Update.
12224
12225         * gst/gstmessage.c (gst_message_new_application): Made into a
12226         function like honest API calls.
12227         (gst_message_new_element): New message type.
12228
12229         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
12230
12231         * check/elements/fakesrc.c (test_no_preroll): New check, checks
12232         that setting a live fakesrc to PAUSED returns NO_PREROLL both
12233         times.
12234
12235         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
12236         NO_PREROLL from gst_element_change_state to fall through.
12237
12238 2005-10-07  Wim Taymans  <wim@fluendo.com>
12239
12240         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
12241         (gst_ghost_pad_do_activate_push):
12242         Activating a ghostpad with no internal pad in push mode
12243         is ok.
12244
12245 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
12246
12247         * gst/gstobject.h:
12248           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
12249           Fixes compilation on Windows.
12250
12251 2005-10-07  Michael Smith <msmith@fluendo.com>
12252
12253         * tools/gst-inspect.c:
12254           Print out feature and plugin count at the end when printing out
12255           all features.
12256
12257 2005-10-04  Michael Smith <msmith@fluendo.com>
12258
12259         * gst/gsterror.c: (_gst_stream_errors_init):
12260           Add another error string used in a few existing plugins.
12261
12262         * gst/gstplugin.c:
12263         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
12264         * tools/gst-inspect.c: (print_element_info):
12265           When a feature disappears from a plugin (and the feature exists in
12266           the cached registry file), things went horribly wrong. This isn't a
12267           complete fix, we should actually be removing the 'missing' features
12268           from the features list when we load the actual plugin. That's not
12269           yet implemented. 
12270
12271 2005-10-04  Johan Dahlin  <johan@gnome.org>
12272
12273         * check/gst/gstiterator.c: (GST_START_TEST):
12274         * gst/gstbin.c: (gst_bin_iterate_elements),
12275         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
12276         * gst/gstelement.c: (gst_element_iterate_pads):
12277         * gst/gstformat.c: (gst_format_iterate_definitions):
12278         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
12279         (gst_iterator_new_list), (gst_iterator_filter):
12280         * gst/gstiterator.h:
12281         * gst/gstquery.c: (gst_query_type_iterate_definitions):
12282         Add a GType to GstIterator, update callsites and tests.
12283
12284 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
12285
12286         * gst/gstpad.c: (gst_pad_event_default_dispatch):
12287           give events a chance to be handled by event probes when the pad
12288           is not linked
12289
12290 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
12291
12292         * gst/gstevent.c: (gst_event_type_get_name),
12293         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
12294         * gst/gstevent.h:
12295           add string representations for event types
12296
12297 2005-10-06  Wim Taymans  <wim@fluendo.com>
12298
12299         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
12300         Don't use NULL pointers.
12301
12302 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
12303
12304         * gst/gst_private.h:
12305         * gst/gstbus.c:
12306         * gst/gstelement.c:
12307         * gst/gstinfo.c:
12308         * gst/gstpluginfeature.c:
12309           widen the debug category in output to fit the biggest one we have
12310           add a bus category and use it
12311           play with the colors
12312           fix up some categories
12313
12314 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
12315
12316         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
12317           add push activation of sink ghost pads.
12318           Andye, please verify
12319
12320 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
12321
12322         * gst/gstutils.c: (gst_element_link_pads):
12323           fix a bug in the case where neither element has a pad
12324         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
12325           add a test for that case
12326
12327 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
12328
12329         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
12330           emit have-data before checking for peers.  This allows
12331           for probe handlers to connect elements.  This helps autopluggers.
12332         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
12333         (gst_pad_suite):
12334           add six checks, linked/unlinked with no/true/false probe
12335
12336 2005-10-04  Wim Taymans  <wim@fluendo.com>
12337
12338         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
12339         (gst_fake_sink_event), (gst_fake_sink_preroll),
12340         (gst_fake_sink_render), (gst_fake_sink_change_state):
12341         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
12342         (gst_fake_src_get_property), (gst_fake_src_create),
12343         (gst_fake_src_stop):
12344         * gst/elements/gstidentity.c: (gst_identity_stop):
12345         Protect last_message with lock.
12346
12347 2005-10-04  Edward Hervey  <edward@fluendo.com>
12348
12349         * gst/gstformat.h: 
12350         Added precision in the comments for GST_FORMAT_DEFAULT
12351
12352 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
12353
12354         * tools/gst-launch.c: (main):
12355           Don't try to run erroneous pipelines.
12356
12357 2005-10-04  Julien MOUTTE  <julien@moutte.net>
12358
12359         * gst/gstbus.c: We don't need this header.
12360
12361 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
12362
12363         * configure.ac:
12364           back to development
12365
12366 === release 0.9.3 ===
12367
12368 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
12369
12370         * README:
12371         * configure.ac:
12372           Releasing 0.9.3, "Unregistered"
12373
12374 2005-10-03  Andy Wingo  <wingo@pobox.com>
12375
12376         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
12377         whereby calling a pad's activatepush() function can start a thread
12378         that starts to push or pull before the pad gets the FLUSHING flag
12379         unset. Hack around it by holding the stream lock until the flag is
12380         set. Need to replace this with a proper solution. Together with
12381         the ghost pad fixes, this fixes mp3 playing/tagreading.
12382
12383         * docs/design/part-gstghostpad.txt: Add a note about activation of
12384         proxy pads outside of ghost pads.
12385
12386         * gst/gstghostpad.c: Implement the ghost pad activation design.
12387
12388 2005-10-02  Andy Wingo  <wingo@pobox.com>
12389
12390         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
12391         It is volatile, after all.
12392
12393         * docs/design/part-gstghostpad.txt: Flesh out activation with
12394         ghost pads.
12395
12396         * gst/base/gstbasesrc.c (gst_base_src_init): Use
12397         GST_DEBUG_FUNCPTR.
12398
12399 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
12400
12401         * configure.ac:
12402           Fix (unused) AM_CONDITIONAL tests.
12403
12404 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
12405
12406         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
12407
12408         * gst/gstutils.c: (gst_pad_query_convert):
12409           Add assertion that makes sure src_val is >=0, just like
12410           gst_query_new_convert() has. (#315895)
12411
12412 2005-09-30  Edward Hervey  <edward@fluendo.com>
12413
12414         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
12415         Let's not iterate pads we're not interested in, it avoids getting 
12416         sky-high refcounts on sinkpad.
12417
12418 2005-09-30  Wim Taymans  <wim@fluendo.com>
12419
12420         * gst/gstelement.c: (gst_element_set_state),
12421         (gst_element_change_state):
12422         Small tweak, element in ASYNC remains ASYNC.
12423
12424 2005-09-30  Wim Taymans  <wim@fluendo.com>
12425
12426         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
12427         Only error is an error.
12428
12429         * gst/gstbin.c: (gst_bin_change_state):
12430         Better debugging.
12431
12432         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
12433         Also call pad_block in pad alloc.
12434
12435         * gst/gstutils.c: (gst_flow_get_name):
12436         Better debugging.
12437
12438 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
12439
12440         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
12441         (gst_base_src_get_range):
12442           Fix documentation typos. Add some more debug info.
12443
12444 2005-09-29  David Schleef  <ds@schleef.org>
12445
12446         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
12447           more end-user friendly.
12448         * tools/gst-inspect.c: (main): Check if command-line argument is
12449           a file and attempt to load that file as a plugin.
12450
12451 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
12452
12453         * check/gst/gstbin.c:
12454         * check/states/sinks.c:
12455           fix tests for the new warning
12456         * check/gst/gstpipeline.c:
12457           add a test for pipeline and bus interaction
12458         * gst/gstelement.c:
12459           elements should be NULL if they get disposed; add a warning if not
12460
12461 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
12462
12463         * gst/gstobject.c:
12464           for 2.6 refcounting, make debug log more correct by printing
12465           the actual refcounts at the time of swap (Wim)
12466
12467 2005-09-29  Andy Wingo  <wingo@pobox.com>
12468
12469         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
12470         removes signal watches previously added via
12471         gst_bus_add_signal_watch.
12472         (gst_bus_add_signal_watch): Don't return the source id, just store
12473         it on the bus if there wasn't an id already.
12474
12475         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
12476         add_signal_watch and remove_signal_watch.
12477
12478 2005-09-29  Edward Hervey  <edward@fluendo.com>
12479
12480         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
12481         Better if we actually iterate the list :)
12482
12483 2005-09-29  Wim Taymans  <wim@fluendo.com>
12484
12485         * check/gst/gstbin.c: (GST_START_TEST):
12486         Change for new bus API.
12487
12488         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
12489         (send_messages), (GST_START_TEST), (gstbus_suite):
12490         Change for new bus signal API.
12491
12492         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
12493         (gst_bus_source_prepare), (gst_bus_source_check),
12494         (gst_bus_create_watch), (gst_bus_add_watch_full),
12495         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
12496         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
12497         * gst/gstbus.h:
12498         Remove support for multiple GSources operating on different
12499         message types as it is too complex and unneeded when using
12500         signals.
12501         Added support for receiving signals from the bus.
12502
12503 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
12504
12505         * docs/libs/tmpl/gstdataprotocol.sgml:
12506         * docs/manual/advanced-dataaccess.xml:
12507         * gst/elements/gstcapsfilter.c:
12508         * gst/gstutils.c:
12509           rename filter-caps to caps property
12510
12511 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
12512
12513         * gst/gstvalue.c: (gst_value_deserialize_fraction):
12514           More robust fraction string parsing.
12515
12516         * docs/pwg/appendix-porting.xml:
12517           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
12518
12519 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
12520
12521         * gst/gstcaps.c: (gst_caps_do_simplify):
12522           Thou shalt not free a structure and then continue using it
12523           in the next loop iteration.
12524
12525         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
12526         (gst_caps_suite):
12527           Add test case for caps simplification.
12528
12529 2005-09-29  Wim Taymans  <wim@fluendo.com>
12530
12531         * check/gst/gstbin.c: (GST_START_TEST):
12532         Oops.
12533
12534 2005-09-29  Wim Taymans  <wim@fluendo.com>
12535
12536         * check/gst/gstbin.c: (GST_START_TEST):
12537         Add bus to bin.
12538
12539         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
12540         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
12541         (find_element), (gst_bin_sort_iterator_next),
12542         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
12543         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
12544         (gst_bin_change_state), (gst_bin_dispose):
12545         A bin does not have a bus, it gets the bus from the parent.
12546
12547         * gst/gstelement.c: (gst_element_requires_clock),
12548         (gst_element_provides_clock), (gst_element_is_indexable),
12549         (gst_element_is_locked_state), (gst_element_change_state),
12550         (gst_element_set_bus_func):
12551         Small cleanups.
12552
12553         * gst/gstpipeline.c: (gst_pipeline_class_init),
12554         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
12555         The pipeline provides a bus.
12556
12557 2005-09-28  Johan Dahlin  <johan@gnome.org>
12558
12559         * gst/gstmessage.c (gst_message_parse_state_changed): Use
12560         gst_structure_get_enum instead of gst_structure_get_int
12561
12562         * gst/gststructure.c (gst_structure_get_enum): Impl.
12563
12564         * gst/gststructure.h (gst_structure_get_enum): Add
12565
12566         * docs/gst/gstreamer-sections.txt: Ditto
12567
12568         * gst/gstmessage.c (gst_message_new_state_changed): Use
12569         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
12570         which does introspection.
12571         Reviewed by Christian Schaller
12572
12573 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
12574
12575         * gst/gstinfo.c: (gst_debug_log_default):
12576           don't do dummy g_strdup()s
12577         * libs/gst/controller/gstcontroller.c:
12578         (on_object_controlled_property_changed),
12579         (gst_controlled_property_new), (gst_controller_new_valist),
12580         (gst_controller_new_list),
12581         (gst_controller_remove_properties_valist), (gst_controller_set),
12582         (gst_controller_get), (gst_controller_sync_values),
12583         (gst_controller_get_value_array), (_gst_controller_class_init),
12584         (gst_controller_get_type):
12585         * libs/gst/controller/gstcontroller.h:
12586         * libs/gst/controller/gstinterpolation.c:
12587         (gst_controlled_property_find_timed_value_node):
12588           convert // to /**/ comments
12589
12590 2005-09-28  Wim Taymans  <wim@fluendo.com>
12591
12592         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
12593         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
12594         (gst_bus_sync_signal_handler):
12595         * gst/gstbus.h:
12596         Added async-message and sync-message signals to the bus.
12597         Added helper BusFunc to emit signals for all posted messages.
12598
12599         * gst/gstmessage.c: (gst_message_type_get_name),
12600         (gst_message_type_to_quark), (gst_message_get_type):
12601         * gst/gstmessage.h:
12602         Register quarks for message names.
12603
12604 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
12605
12606         * docs/libs/gstreamer-libs-sections.txt:
12607         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
12608         (gst_controller_new_list):
12609         * libs/gst/controller/gstcontroller.h:
12610           added another constructor for language bindings
12611
12612 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
12613
12614         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
12615           add another check
12616         * gst/gstbus.c:
12617           add some doc
12618         * gst/gstinfo.c: (_gst_debug_init):
12619           slightly more readable color for refcount debugging
12620
12621 2005-09-28  Wim Taymans  <wim@fluendo.com>
12622
12623         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
12624         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
12625         (find_element), (gst_bin_sort_iterator_next),
12626         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
12627         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
12628         (gst_bin_change_state), (gst_bin_dispose):
12629         Small doc fixes. get_clock -> provide_clock.
12630
12631         * gst/gstelement.c: (gst_element_class_init),
12632         (gst_element_provides_clock), (gst_element_provide_clock),
12633         (gst_element_get_clock), (gst_element_commit_state),
12634         (gst_element_lost_state):
12635         * gst/gstelement.h:
12636         Make get/set_clock() symetric. Add provide_clock vmethod since
12637         that is actually what this function does.
12638
12639         * gst/gstpipeline.c: (gst_pipeline_class_init),
12640         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
12641         (gst_pipeline_get_clock):
12642         get_clock -> provide_clock.
12643
12644 2005-09-28  Andy Wingo  <wingo@pobox.com>
12645
12646         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
12647         lieu of real docs...
12648
12649         * gst/elements/gstfdsrc.c: Cleaned up a bit.
12650
12651 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
12652
12653         * gst/elements/gstcapsfilter.c:
12654         * gst/elements/gstfakesink.c:
12655         * gst/elements/gstfakesrc.c:
12656         * gst/elements/gstfdsink.c:
12657         * gst/elements/gstfdsrc.c:
12658         * gst/elements/gstfilesink.c:
12659         * gst/elements/gstfilesrc.c:
12660         * gst/elements/gstidentity.c:
12661         * gst/elements/gsttee.c:
12662         * gst/elements/gsttypefindelement.c:
12663           Make element details static.
12664
12665 2005-09-28  Wim Taymans  <wim@fluendo.com>
12666
12667         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
12668         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
12669         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
12670         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
12671         (gst_bin_change_state), (gst_bin_dispose):
12672         Some documentation updates.
12673         Clean up dispose handlers.
12674
12675         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
12676         * gst/gstpad.c: (gst_pad_dispose):
12677         Clean up dispose handler.
12678
12679         * gst/gstpipeline.c: (gst_pipeline_change_state):
12680         Removed spurious UNLOCK.
12681
12682 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
12683
12684         * docs/gst/gstreamer-sections.txt:
12685         * gst/base/gstbasesrc.h:
12686         * gst/gstelement.h:
12687         * gst/gstevent.h:
12688         * gst/gstobject.h:
12689         * gst/gstpad.h:
12690         * gst/gstpipeline.c:
12691         * gst/gstpipeline.h:
12692         * gst/gstutils.h:
12693         * gst/gstxml.h:
12694           added two new functions to the docs
12695                 documents all undocumented GstXXXFlags
12696                 completed some incomplete docs 
12697
12698 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
12699
12700         * gst/gstbin.c: (gst_bin_dispose):
12701         * gst/gstelement.c: (gst_element_dispose):
12702           remove now useless and leaky resurrection code in dispose
12703         * gst/base/gstbasesrc.c: (gst_base_src_init):
12704         * gst/gstelementfactory.c: (gst_element_factory_create):
12705         * gst/gstobject.c: (gst_object_set_parent):
12706           add some debugging
12707
12708 2005-09-27  Wim Taymans  <wim@fluendo.com>
12709
12710         * docs/design/part-TODO.txt:
12711         Update TODO.
12712
12713         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
12714         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
12715         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
12716         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
12717         (gst_bin_change_state):
12718         * gst/gstelement.h:
12719         Remove element variable, we keep element info in the iterator now.
12720
12721 2005-09-27  Andy Wingo  <wingo@pobox.com>
12722
12723         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
12724         values.
12725
12726 2005-09-27  Wim Taymans  <wim@fluendo.com>
12727
12728         * check/gst/gstbin.c: (GST_START_TEST):
12729         Enable check that works now.
12730
12731         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
12732         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
12733         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
12734         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
12735         (gst_bin_change_state):
12736         * gst/gstbin.h:
12737         Redid the state change algorithm using a topological sort algo.
12738         Handles all cases correctly.
12739         Exposed iterator for state change order.
12740
12741         * gst/gstelement.h:
12742         Temp storage for state changes. Need to get rid of this soon.
12743
12744 2005-09-27  Wim Taymans  <wim@fluendo.com>
12745
12746         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
12747         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
12748         (link_fold_func), (gst_pad_proxy_setcaps):
12749         Leak fixes, the fold functions need to unref the passed object and
12750         _get_parent_*() returns ref to parent.
12751
12752 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
12753
12754         * check/gst/gstbuffer.c: (test_make_writable):
12755           Plug leak in test case and fix 'make check-valgrind'
12756
12757 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
12758
12759         * gst/gstbuffer.c: (gst_subbuffer_init):
12760           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
12761           works correctly in all circumstances (we could have just copied
12762           the parent buffer's readonly flag, but conceptually it seems
12763           cleaner to mark all subbuffers as read-only). (based on patch
12764           by Alessandro Decina, #314710).
12765         
12766         * check/gst/gstbuffer.c: (create_read_only_buffer),
12767         (test_make_writable), (test_subbuffer_make_writable),
12768         (gst_test_suite):
12769           Add some tests for gst_buffer_make_writable().
12770
12771 2005-09-27  Wim Taymans  <wim@fluendo.com>
12772
12773         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
12774         use gst_object_has_ancestor().
12775
12776         * gst/gstobject.c: (gst_object_has_ancestor):
12777         * gst/gstobject.h:
12778         gst_object_has_ancestor() copied from gstbin.c as it is a
12779         usefull function.
12780
12781         * tests/instantiate/create.c: (create_all_elements):
12782         * tests/lat.c: (handoff_src), (handoff_sink):
12783         * tests/sched/runxml.c: (main):
12784         * tests/seeking/seeking1.c: (main):
12785         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
12786         (main):
12787         Fix compilation of some tests.
12788
12789 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
12790
12791         * gst/gsterror.h:
12792           Remove comment. GST_TYPE_G_ERROR is here to stay,
12793           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
12794           (#316961, #300610).
12795
12796 2005-09-26  Wim Taymans  <wim@fluendo.com>
12797
12798         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
12799         Added check that shows error in state change order.
12800
12801 2005-09-26  Wim Taymans  <wim@fluendo.com>
12802
12803         * gst/gstbin.c: (gst_bin_change_state):
12804         Make state change function use 3 queues again, we were
12805         adding elements in the wrong order.
12806
12807         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
12808         Some debug info,
12809
12810         * gst/gstpad.c: (gst_pad_dispose):
12811         Added some debug info first.
12812
12813 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
12814
12815         * docs/design/draft-push-pull.txt:
12816         * docs/design/part-events.txt:
12817         * docs/design/part-overview.txt:
12818         * docs/design/part-scheduling.txt:
12819           Replace all _pull_region() with _pull_range()
12820           
12821 2005-09-26  Andy Wingo  <wingo@pobox.com>
12822
12823         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
12824
12825         * check/gst-libs/controller.c: Update for controller api change.
12826
12827         * configure.ac: 
12828         * tests/Makefile.am:
12829         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
12830         over by GLib bug 118439.
12831         
12832         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
12833         routines to a function.
12834
12835         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
12836
12837         * libs/gst/controller/gsthelper.c:
12838         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
12839         (gst_object_sync_values): Renamed from sink_values. Ugh.
12840
12841         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
12842
12843         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
12844         Renamed from controller_key, as it is exported.
12845
12846         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
12847
12848 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
12849
12850         * gst/Makefile.am:
12851         * gst/gst.h:
12852         * gst/gstpad.h:
12853         * gst/gstpadtemplate.h:
12854         * gst/gstquery.c:
12855         * gst/gstquery.h:
12856         * gst/gstqueryutils.c:
12857         * gst/gstqueryutils.h:
12858           remove queryutils headers after moving the two used functions
12859           to gstquery.  also fixes build problem for gstsiddec
12860
12861 2005-09-26  Michael Smith <msmith@fluendo.com>
12862
12863         * tools/gst-launch.1.in:
12864         Correct documentation in manpage of debug syntax
12865
12866 2005-09-26  Wim Taymans  <wim@fluendo.com>
12867
12868         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
12869         (gst_base_src_is_seekable), (gst_base_src_change_state):
12870         Some more debugging info.
12871
12872 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
12873
12874         * docs/gst/gstreamer-sections.txt:
12875         * gst/base/gstbasetransform.h:
12876         * gst/gstindex.h:
12877           added more docs
12878
12879 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
12880
12881         * docs/gst/.cvsignore:
12882         * docs/gst/tmpl/.cvsignore:
12883         * docs/gst/tmpl/gstpipeline.sgml:
12884         * docs/gst/tmpl/gstplugin.sgml:
12885         * gst/gstpipeline.c:
12886         * gst/gstplugin.c:
12887         * gst/gstplugin.h:
12888           inlined the last two docs files
12889           removed the tmpl directory from cvs (no more conflicts here!)
12890
12891 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
12892
12893         * docs/gst/gstreamer-sections.txt:
12894         * docs/gst/tmpl/.cvsignore:
12895         * docs/gst/tmpl/gstpad.sgml:
12896         * docs/gst/tmpl/gstpadtemplate.sgml:
12897         * gst/Makefile.am:
12898         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
12899         (gst_pad_finalize), (gst_pad_set_pad_template):
12900         * gst/gstpad.h:
12901         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
12902         (gst_pad_template_class_init), (gst_pad_template_init),
12903         (gst_pad_template_dispose), (name_is_valid),
12904         (gst_static_pad_template_get), (gst_pad_template_new),
12905         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
12906         (gst_pad_template_pad_created):
12907         * gst/gstpadtemplate.h:
12908           inlined two more docs
12909           factored gstpadtemplate out of gstpad
12910
12911 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
12912
12913         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
12914         (test_children_state_change_order_semi_sink):
12915           Fix test case: we can't rely on a fixed state change order when
12916           going from READY => PAUSED because the sink might commit its 
12917           new state first when the first buffer created by the source 
12918           reaches the sink before the source has finished its change state.
12919           (Test case still fails at times, see #316856, comment 5 onwards)
12920
12921 2005-09-24  Wim Taymans  <wim@fluendo.com>
12922
12923         * docs/design/part-events.txt:
12924         * docs/design/part-gstbus.txt:
12925         * docs/design/part-gstpipeline.txt:
12926         * docs/design/part-messages.txt:
12927         * docs/design/part-overview.txt:
12928         * docs/design/part-segments.txt:
12929         * gst/gstbin.c:
12930         * gst/gstbuffer.c:
12931         * gst/gstclock.c:
12932         * gst/gstelement.c:
12933         * gst/gstevent.c:
12934         * gst/gstfilter.c:
12935         * gst/gstiterator.c:
12936         Various documentation updates.
12937
12938 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
12939
12940         * gst/gstclock.h:
12941           Well, that's embarassing.  Luckily we weren't using
12942           GST_CLOCK_DIFF anywhere.
12943
12944 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
12945
12946         * common/gtk-doc.mak:
12947           don't fail on building XML, FC4 slave shows a bunch of doc
12948           missing bits that I don't get
12949         * gst/gstpad.c:
12950         * gst/gstpipeline.c:
12951         * gst/gststructure.c:
12952           some doc updates
12953
12954 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
12955
12956         * docs/design/part-gstbin.txt:
12957         * docs/design/part-gstbus.txt:
12958         * gst/gstbus.c:
12959           Add blurb about how the bus goes into flushing mode and
12960           drops all messages when its bin goes from READY into NULL 
12961           state.
12962
12963 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
12964
12965         * docs/gst/gstreamer-sections.txt:
12966         * gst/gststructure.c: (gst_structure_get_clock_time):
12967         * gst/gststructure.h:
12968           add a method to get a GstClockTime out of a structure
12969
12970 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
12971
12972         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
12973         (test_children_state_change_order_semi_sink), (gst_bin_suite):
12974           Added test to check state change order in bins (can still be made
12975           to fail here under heavy disk load; bails out with 'Push on pad
12976           fakesink:sink0, but it was not activated in push mode').
12977
12978         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
12979           Fix state change order when there is only a semi sink (#316856)
12980
12981         * gst/gstbus.c: (gst_bus_class_init):
12982           Use _class_peek_parent(), not _class_ref(); fix docs to say
12983           'default main context' instead of 'mainloop' where that is
12984           what's meant.
12985
12986         * gst/gstelement.c: (gst_element_commit_state),
12987         (gst_element_set_state):
12988           Fix typos in debug messages
12989
12990 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
12991
12992         * docs/README:
12993         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
12994         * gst/gstpluginfeature.c:
12995         * gst/gstutils.c:
12996           various doc updates
12997         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
12998           change an assert into an error until it gets fixed properly
12999
13000 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
13001
13002         * docs/gst/gstreamer-sections.txt:
13003         * docs/gst/tmpl/.cvsignore:
13004         * docs/gst/tmpl/gstelement.sgml:
13005         * docs/gst/tmpl/gstinfo.sgml:
13006         * docs/gst/tmpl/gstobject.sgml:
13007         * gst/gstelement.c:
13008         * gst/gstelement.h:
13009         * gst/gstinfo.c:
13010         * gst/gstinfo.h:
13011         * gst/gstobject.c: (gst_object_class_init):
13012         * gst/gstobject.h:
13013           inlined 3 more biiiig doc files and added some missing docs on the fly
13014
13015 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
13016
13017         * check/gst/.cvsignore:
13018         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
13019         * gst/gstregistryxml.c: (load_plugin),
13020         (gst_registry_xml_save_plugin):
13021           put back source in registry.  add checks for find_plugin.
13022         * testsuite/states/bin.c: (assert_state), (empty_bin),
13023         (test_adding_one_element), (main):
13024         * testsuite/states/locked.c: (main):
13025           some compile/run fixes
13026
13027 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
13028
13029         * check/gst/gstvalue.c: (GST_START_TEST):
13030           fix leaks in the test itself
13031
13032 2005-09-22  Wim Taymans  <wim@fluendo.com>
13033
13034         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
13035         (gst_base_sink_send_event), (gst_base_sink_peer_query),
13036         (gst_base_sink_query):
13037         Prepare for more accurate position reporting and query
13038         handling.
13039
13040         * gst/gstelement.c: (gst_element_send_event),
13041         (gst_element_set_state):
13042         Add some comment.
13043
13044 2005-09-22  Wim Taymans  <wim@fluendo.com>
13045
13046         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
13047         (gst_query_parse_segment):
13048         * gst/gstquery.h:
13049         More documentation.
13050         Add segment query for future use.
13051
13052 2005-09-22  Wim Taymans  <wim@fluendo.com>
13053
13054         * gst/gstbin.c: (gst_bin_add_func):
13055         Some more debug info.
13056
13057         * gst/gstelement.c: (gst_element_send_event):
13058         Simplify send_event
13059
13060         * gst/gstelement.h:
13061         Don't know how flags got broken.
13062
13063         * gst/gstquery.h:
13064         Added new query.
13065
13066 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
13067
13068         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
13069           Add simplistic test suite for GST_TYPE_DATE serialisation and
13070           deserialisation.
13071
13072 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
13073
13074         * docs/gst/gstreamer-sections.txt:
13075         * gst/gststructure.c: (gst_structure_set_valist),
13076         (gst_structure_get_date):
13077         * gst/gststructure.h:
13078         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
13079         (gst_date_copy), (gst_value_compare_date),
13080         (gst_value_serialize_date), (gst_value_deserialize_date),
13081         (gst_value_transform_date_string),
13082         (gst_value_transform_string_date), (_gst_value_initialize):
13083         * gst/gstvalue.h:
13084           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
13085           bunch of utility functions along with a hack that checks that
13086           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
13087           is required. Part of the grand scheme in #170777.
13088
13089 2005-09-22  Andy Wingo  <wingo@pobox.com>
13090
13091         * gst/gstconfig.h.in: Psych out gtk-doc.
13092
13093         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
13094
13095         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
13096
13097         * tools/gst-inspect.c (print_element_list): Plug some
13098         inconsequential leaks.
13099
13100         * gst/gstregistry.c (gst_registry_get_default): Doc.
13101
13102         * check/gst/gstplugin.c: 
13103         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
13104         * gst/gstelementfactory.c (gst_element_factory_create): 
13105         * gst/gstindexfactory.c (gst_index_factory_create): Update for
13106         refcount changes.
13107
13108         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
13109         (gst_plugin_feature_load): Doc, don't eat refs.
13110
13111         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
13112         (gst_plugin_list_free): Doc.
13113         (gst_plugin_load_file): Doc updates.
13114
13115         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
13116         accessors returning refcounted objects, return a ref.
13117
13118         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
13119         accessor for caps. IDEMPOTENCE. Oh yes.
13120
13121 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
13122
13123         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
13124
13125         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
13126         (_gst_debug_register_funcptr):
13127           Add mutex to serialise access to the hash table with
13128           the function pointer => function name string mapping;
13129           make that hash table static scope (#316809).
13130
13131         * gst/registries/.cvsignore:
13132           Remove left-over file.
13133
13134 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
13135
13136         * docs/pwg/appendix-porting.xml:
13137           And something about newsegment events and caps-on-buffers to
13138           the porting guide (feel free to improve).
13139
13140 2005-09-21  Andy Wingo  <wingo@pobox.com>
13141
13142         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
13143         data and event probes on the same pad.
13144         (test_buffer_probe_once): Test that removing probes from within
13145         the probe functions works.
13146
13147 2005-09-21  Andy Wingo  <wingo@pobox.com>
13148
13149         * check/gst/gstutils.c: New file.
13150         (test_buffer_probe_n_times): A simple buffer probe test. More to
13151         come, foolios.
13152
13153         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
13154         have-data::buffer, not have-data.
13155         (gst_pad_add_event_probe): Likewise for have-data::event.
13156         (gst_pad_add_data_probe): More docs. The part about 'resolving the
13157         peer' isn't quite right yet though.
13158         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
13159         (gst_pad_remove_data_probe): Change to take the guint handler_id
13160         as their arg, not the function+data, which is more glib-like.
13161
13162         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
13163         the signal emission to indicate if the data is a buffer or an
13164         event.
13165         (gst_pad_get_type): Initialize buffer and event quarks.
13166         (gst_pad_class_init): have-data is now a detailed signal, yes it
13167         is.
13168
13169 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
13170
13171         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
13172         * gst/gstutils.c: (gst_util_set_value_from_string),
13173         (gst_util_set_object_arg):
13174           Don't put functional code in g_return_if_fail() or
13175           g_return_val_if_fail() statements, otherwise things will 
13176           break when G_DISABLE_CHECKS is defined during compilation.
13177
13178 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
13179
13180         * docs/gst/tmpl/.cvsignore:
13181         * docs/gst/tmpl/gstvalue.sgml:
13182         * gst/gstvalue.c:
13183         * gst/gstvalue.h:
13184           inlied another one and added  some obvious docs
13185
13186 2005-09-21  Wim Taymans  <wim@fluendo.com>
13187
13188         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
13189         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
13190         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
13191         (gst_fdsrc_get_property), (gst_fdsrc_create):
13192         * gst/elements/gstfdsrc.h:
13193         Properly implement fdsrc. Removed signal and timeout,
13194         better implemented somewhere else.
13195
13196 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
13197
13198         * docs/gst/tmpl/.cvsignore:
13199         * docs/gst/tmpl/gstimplementsinterface.sgml:
13200         * gst/gstinterface.c:
13201           inlined more docs
13202
13203 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
13204
13205         * docs/gst/gstreamer-sections.txt:
13206         * docs/gst/tmpl/.cvsignore:
13207         * docs/gst/tmpl/gstenumtypes.sgml:
13208           remove obsolete doc file
13209
13210 2005-09-21  David Schleef  <ds@schleef.org>
13211
13212         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
13213         little beer, fix a little leak.
13214
13215 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
13216
13217         * docs/gst/gstreamer-docs.sgml:
13218         * docs/gst/gstreamer-sections.txt:
13219         * docs/gst/tmpl/.cvsignore:
13220         * gst/Makefile.am:
13221         * gst/gst.h:
13222         * gst/gstbin.c:
13223         * gst/gstelement.h:
13224         * gst/gstindex.c: (gst_index_class_init):
13225         * gst/gstindex.h:
13226         * gst/gstindexfactory.c: (gst_index_factory_get_type),
13227         (gst_index_factory_class_init), (gst_index_factory_init),
13228         (gst_index_factory_finalize), (gst_index_factory_new),
13229         (gst_index_factory_destroy), (gst_index_factory_find),
13230         (gst_index_factory_create), (gst_index_factory_make):
13231         * gst/gstindexfactory.h:
13232         * gst/gstpluginfeature.c:
13233         * gst/gstpluginfeature.h:
13234         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
13235           more docs inlined, splitted gstindex.{c,h}
13236
13237 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13238
13239         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
13240           fix a leak
13241
13242 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
13243
13244         * gst/elements/gstfilesink.c: (gst_file_sink_init):
13245           Set sync to FALSE by default.
13246
13247 2005-09-20  Wim Taymans  <wim@fluendo.com>
13248
13249         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
13250         (gst_base_sink_init):
13251         Make sync property settable from subclass.
13252
13253         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
13254         (gst_fake_sink_change_state):
13255         Set sync to FALSE by default.
13256
13257 2005-09-20  Wim Taymans  <wim@fluendo.com>
13258
13259         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
13260         * tools/gst-launch.c: (main):
13261         The timeout handler should have lower priority than the source
13262         so we don't timeout before popping a message with 0 timeout.
13263         Dump error messages after failed state change.
13264
13265 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
13266
13267         * tools/gst-inspect.c: (print_element_properties_info):
13268           Fix two typos.
13269
13270 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13271
13272         * check/gst/gstevent.c:
13273         * gst/elements/gstfakesink.c:
13274         * gst/elements/gstfakesink.h:
13275           remove the sync property from fakesink.
13276           has the side effect of setting sync TRUE
13277           for fakesink, which is a change.  Anyone who knows how
13278           to fix this nicely in a GObject-y way, feel free.
13279
13280 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
13281
13282         * docs/gst/gstreamer-docs.sgml:
13283           remove probe refsection
13284
13285 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
13286
13287         * check/Makefile.am:
13288           disable valgrinding the controller test again
13289         * docs/gst/gstreamer-sections.txt:
13290           update for api-changes
13291
13292 2005-09-20  Wim Taymans  <wim@fluendo.com>
13293
13294         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
13295         (gst_base_sink_set_property), (gst_base_sink_get_property),
13296         (gst_base_sink_do_sync):
13297         * gst/base/gstbasesink.h:
13298         Added sync property to basesink to disable clock sync.
13299
13300 2005-09-20  Andy Wingo  <wingo@pobox.com>
13301
13302         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
13303         eating the caller's refcount.
13304
13305         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
13306         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
13307         refcount.
13308
13309         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
13310         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
13311         of GLib 2.8 public, so we can know which refcount to check in
13312         tests.
13313
13314         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
13315         (gst_object_init): Only set the gst refcount if we're going ahead
13316         with the refcount hack.
13317
13318 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
13319
13320         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
13321         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
13322           more leaks plumbed, added more debug-logging
13323         * gst/gstmacros.h:
13324           whitespace fix
13325
13326 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13327
13328         * gst/gstmessage.c:
13329           remove include of gstmemchunk.h
13330
13331 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13332
13333         * gst/gstclock.c: (_gst_clock_id_free):
13334           Commit from the Political Party For More Atomic CVS Commits,
13335           so that people don't waste too much of their day fishing
13336           out obvious leaks out of massive commits.
13337           Oh, and fix a pretty damn obvious leak in the memchunk
13338           removal code.
13339
13340 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
13341
13342         * check/Makefile.am:
13343         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
13344           plug mem-leak, re-add to valgrindable tests
13345
13346 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13347
13348         * gst/gstplugin.h:
13349           unbreak the build for those who have chronic arthritis
13350           and typing "make check" is just too taxing on the hands
13351
13352 2005-09-20  Andy Wingo  <wingo@pobox.com>
13353
13354         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
13355         really want it out, you should fix plugins at the same time.
13356
13357 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
13358
13359         * configure.ac:
13360         * docs/gst/gstreamer-sections.txt:
13361         * gst/gstobject.c:
13362           added missing symbols to api docs
13363           disable ref-count hack if we have glib >= 2.8
13364
13365 2005-09-19  David Schleef  <ds@schleef.org>
13366
13367         * docs/gst/Makefile.am: Ignore a few more internal headers
13368         * docs/gst/gstreamer-docs.sgml: Remove old sections
13369         * docs/gst/gstreamer-sections.txt: Remove old sections
13370         * docs/gst/tmpl/gstobject.sgml: update
13371         * docs/gst/tmpl/gstplugin.sgml: update
13372         * docs/gst/tmpl/gstpluginfeature.sgml: update
13373         * docs/random/ds/0.9-suggested-changes: update.
13374         * gst/Makefile.am: remove memchunk and trashstack, since they're
13375           not used.
13376         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
13377         * gst/gst.h: don't include some headers
13378         * gst/gstchildproxy.c: add gstmarshal.h
13379         * gst/gstclock.c: Don't use memchunks
13380         * gst/gstminiobject.c: Add some docs
13381         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
13382         * gst/gstobject.h: same
13383         * gst/gstplugin.c: include gstmacros.h
13384         * gst/gstplugin.h: don't include gstmacros.h, since it's private
13385         * gst/gstquery.c: don't use memchunks
13386         * gst/gstregistry.c: rename gst_registry_deinit()
13387         * gst/gstregistry.h: same
13388
13389 2005-09-19  David Schleef  <ds@schleef.org>
13390
13391         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
13392         * docs/libs/gstreamer-libs-sections.txt:
13393         * docs/libs/tmpl/gstgetbits.sgml:
13394         * docs/libs/tmpl/gstputbits.sgml:
13395
13396 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
13397
13398         * win32/gstenumtypes.c:
13399         * win32/gstenumtypes.h:
13400           Update.
13401
13402 2005-09-19  Wim Taymans  <wim@fluendo.com>
13403
13404         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
13405         Automatically PAUSE and RESUME a pipeline when a flushing seek
13406         is performed.
13407
13408 2005-09-19  Andy Wingo  <wingo@pobox.com>
13409
13410         * gst/gstregistry.h: Spacing fixen.
13411
13412 2005-09-19  Wim Taymans  <wim@fluendo.com>
13413
13414         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
13415         Handle state change failure more correctly.
13416
13417 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13418
13419         * check/Makefile.am:
13420         * check/pipelines/cleanup.c: (run_pipeline):
13421         * check/pipelines/simple_launch_lines.c: (run_pipeline),
13422         (GST_START_TEST):
13423           enable cleanup again after fixing the leak
13424         * docs/README:
13425           some more info on docs
13426
13427 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13428
13429         * check/Makefile.am:
13430           re-enable tests now that leaks are plugged
13431         * check/gst/gst.c:
13432         * check/gst/gstbin.c:
13433         * check/gst/gstpipeline.c:
13434           add some more tests while fixing leaks
13435         * common/check.mak:
13436           make sure binaries are uptodate when valgrinding/gdbing
13437         * gst/gst.c:
13438         * gst/gstelementfactory.c:
13439           remove a ref too many, and add a FIXME for when we get
13440           round to disposing of classes
13441         * gst/gstplugin.c:
13442           fix the refcounting when loading a plugin from a file and
13443           the code pretends that the pointer is the same even though
13444           of course it can change
13445         * gst/gstpluginfeature.c:
13446           unref plugins marked cached (a bit confusing as a name)
13447           as the docs state should be done
13448           various doc additions to explain refcounting
13449         * gst/gstregistry.c:
13450         * gst/gstregistryxml.c:
13451           debugging
13452
13453 2005-09-19  Wim Taymans  <wim@fluendo.com>
13454
13455         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
13456         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
13457         (send_messages), (GST_START_TEST), (gstbus_suite):
13458         * check/gst/gstpipeline.c: (GST_START_TEST):
13459         * check/pipelines/cleanup.c: (run_pipeline):
13460         * check/pipelines/simple_launch_lines.c: (run_pipeline),
13461         (GST_START_TEST):
13462         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
13463         (gst_bus_source_check), (gst_bus_source_dispatch),
13464         (gst_bus_create_watch), (gst_bus_add_watch_full),
13465         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
13466         * gst/gstbus.h:
13467         * tools/gst-launch.c: (event_loop):
13468         * tools/gst-md5sum.c: (event_loop):
13469         GstBusHandler -> GstBusFunc, return value has the same meaning as
13470         any other GSource (FALSE == remove source).
13471         _add_watch() and _add_watch_full() now take a MessageType mask to
13472         only handle specific types of messages.
13473         _poll() returns the GstMessage instead of the message type to avoid
13474         race conditions.
13475         _have_pending() takes a MessageType mask now too.
13476         Added testsuite for multiple bus watches.
13477         Fix testsuites and applications for new bus API.
13478
13479 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13480
13481         * check/Makefile.am:
13482           mark a bunch of the tests as to fix until we fix them
13483
13484 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
13485
13486         * common/check.mak:
13487           use GST_PLUGIN settings for valgrind tests as well, so we're
13488           valgrinding the correct thing
13489         * gst/gst.c: (init_post):
13490           plug another leak
13491
13492 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
13493
13494         * gst/gst.c: (init_post), (gst_deinit):
13495         * gst/gstelementfactory.c: (gst_element_factory_class_init),
13496         (gst_element_factory_finalize), (gst_element_factory_cleanup):
13497         * gst/gstindex.c: (gst_index_factory_class_init),
13498         (gst_index_factory_finalize):
13499         * gst/gstobject.c: (gst_object_dispose):
13500         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
13501         (gst_plugin_load_file), (gst_plugin_desc_free):
13502         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
13503         (gst_plugin_feature_finalize):
13504         * gst/gstregistry.c: (gst_registry_class_init),
13505         (gst_registry_init), (gst_registry_finalize),
13506         (gst_registry_get_default), (gst_registry_deinit):
13507         * gst/gstregistry.h:
13508         * gst/gstregistryxml.c: (load_feature), (load_plugin):
13509           various cleanups and memleak plugging.  make valgrind is happy now.
13510
13511 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
13512
13513         * common/check.mak:
13514           add a check-valgrind target
13515
13516 2005-09-18  David Schleef  <ds@schleef.org>
13517
13518         * tools/gst-inspect.c: Revert the GOption code.
13519
13520 2005-09-17  David Schleef  <ds@schleef.org>
13521
13522         * check/Makefile.am: Fix environment variables.
13523         * check/gst/gstplugin.c: Fix for API changes.
13524         * tools/gst-inspect.c: Fix for API changes.
13525         * tools/gst-xmlinspect.c: Fix for API changes.
13526         * gst/gstelementfactory.c:
13527         * gst/gstplugin.c:
13528         * gst/gstplugin.h:
13529         * gst/gstpluginfeature.c:
13530         * gst/gstpluginfeature.h:
13531         * gst/gstregistry.c:
13532         * gst/gstregistry.h:
13533         * gst/gstregistryxml.c:
13534         * gst/gsttypefind.c:
13535         * gst/gsttypefindfactory.c:
13536         * gst/indexers/gstfileindex.c:
13537         * gst/indexers/gstmemindex.c:
13538         * gst/schedulers/Makefile.am:
13539           Change registry to keep track of both plugins and features,
13540           removing the feature tracking from plugins themselves.
13541
13542 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
13543
13544         * check/Makefile.am:
13545         * tools/gst-register.1.in:
13546           remove gst-register
13547
13548 2005-09-15  David Schleef  <ds@schleef.org>
13549
13550         * check/gst/gstplugin.c:
13551         * gst/gstelementfactory.c:
13552         * gst/gstplugin.c:
13553         * gst/gstpluginfeature.c:
13554         * gst/gstregistry.c:
13555           Getting tired of debugging.  Disabled all the unreffing of
13556           plugins and features, which fixes the segfaults, but of
13557           course leaks like crazy.  At least playbin works.
13558
13559 2005-09-15  David Schleef  <ds@schleef.org>
13560
13561         * check/gst/gstplugin.c: (register_check_elements),
13562         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
13563         More testing
13564         * gst/elements/gsttypefindelement.c: Fix refcounting.
13565         * gst/gsttypefind.c:
13566         * gst/gsttypefindfactory.c:
13567         * gst/gsttypefindfactory.h:
13568
13569 2005-09-15  David Schleef  <ds@schleef.org>
13570
13571         * gst/gstindex.c: get refcounting correct.
13572         * gst/gstregistry.c: Handle the case where a feature/plugin is
13573           not found.
13574
13575 2005-09-15  David Schleef  <ds@schleef.org>
13576
13577         * check/Makefile.am:
13578         * check/gst/gstplugin.c: Add test
13579         * gst/gstplugin.c: Fix problems noticed by testsuite
13580         * gst/gstplugin.h:
13581         * gst/gstregistry.c: 
13582         * gst/gstregistry.h:
13583
13584 2005-09-15  David Schleef  <ds@schleef.org>
13585
13586         * gst/gstplugin.c: Implement semi-decent recounting and locking
13587           in plugins and plugin features.
13588         * gst/gstplugin.h:
13589         * gst/gstpluginfeature.c:
13590         * gst/gstpluginfeature.h:
13591         * gst/gstregistry.c:
13592
13593 2005-09-15  Michael Smith <msmith@fluendo.com>
13594
13595         * gst/gstregistry.c: (gst_registry_get_feature_list):
13596           Implement this. Makes oggdemux work; decodebin still broken.
13597
13598 2005-09-14  David Schleef  <ds@schleef.org>
13599
13600         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
13601           #316076)
13602         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
13603         * gst/check/Makefile.am:
13604         * libs/gst/controller/Makefile.am:
13605         * libs/gst/dataprotocol/Makefile.am:
13606
13607 2005-09-14  David Schleef  <ds@schleef.org>
13608
13609         * configure.ac: Remove getbits library.  Nothing uses it, and
13610           it should be in something like liboil if someone did want
13611           to use it.
13612         * libs/gst/Makefile.am:
13613         * libs/gst/getbits/Makefile.am:
13614         * libs/gst/getbits/gbtest.c:
13615         * libs/gst/getbits/getbits.c:
13616         * libs/gst/getbits/getbits.h:
13617         * libs/gst/getbits/gstgetbits_generic.c:
13618         * libs/gst/getbits/gstgetbits_i386.s:
13619         * libs/gst/getbits/gstgetbits_inl.h:
13620
13621 2005-09-14  David Schleef  <ds@schleef.org>
13622
13623         * gst/Makefile.am: Dist glib-compat.h
13624
13625 2005-09-14  David Schleef  <ds@schleef.org>
13626
13627         * configure.ac: Remove gst/registries, since it's no longer used.
13628         * gst/registries/Makefile.am:
13629         * gst/registries/gstlibxmlregistry.c:
13630         * gst/registries/gstlibxmlregistry.h:
13631         * gst/registries/gstxmlregistry.c:
13632         * gst/registries/gstxmlregistry.h:
13633         * gst/registries/registrytest.c:
13634
13635 2005-09-14  David Schleef  <ds@schleef.org>
13636
13637         * gst/glib-compat.h:
13638         * gst/gstregistryxml.c:
13639           Convergence is near.  Seriously.
13640
13641 2005-09-14  David Schleef  <ds@schleef.org>
13642
13643         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
13644         * gst/glib-compat.h:
13645           Attempt #4 to appease the buildbots.
13646
13647 2005-09-14  David Schleef  <ds@schleef.org>
13648
13649         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
13650           Attempt #3.
13651
13652 2005-09-14  David Schleef  <ds@schleef.org>
13653
13654         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
13655         Attempt #2.
13656
13657 2005-09-14  David Schleef  <ds@schleef.org>
13658
13659         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
13660           the new functions.
13661
13662 2005-09-14  David Schleef  <ds@schleef.org>
13663
13664         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
13665         * gst/glib-compat.h: Add some functions that are in newer versions
13666           of glib than we care to require.
13667         * gst/gstregistryxml.c: Use them.
13668
13669 2005-09-14  David Schleef  <ds@schleef.org>
13670
13671         * po/POTFILES.in: remove gst-register.c
13672
13673 2005-09-14  David Schleef  <ds@schleef.org>
13674
13675         * docs/gst/gstreamer-docs.sgml:
13676         * docs/gst/gstreamer-sections.txt:
13677         * docs/gst/gstreamer.types:
13678         * docs/gst/tmpl/gstelement.sgml:
13679         * docs/gst/tmpl/gstplugin.sgml:
13680         * docs/gst/tmpl/gstpluginfeature.sgml:
13681           Documentation updates for registry changes.
13682
13683 2005-09-14  David Schleef  <ds@schleef.org>
13684
13685         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
13686           because we don't require glib-2.8.
13687
13688 2005-09-14  David Schleef  <ds@schleef.org>
13689
13690         * gst/gstregistryxml.c: Added.  Essentially moved out of the
13691           registries directory.
13692
13693 2005-09-14  David Schleef  <ds@schleef.org>
13694
13695         * check/Makefile.am:
13696         * check/generic/states.c:
13697         * gst/Makefile.am:
13698         * gst/gst.c:
13699         * gst/gst.h:
13700         * gst/gst_private.h:
13701         * gst/gstelementfactory.c:
13702         * gst/gstindex.c:
13703         * gst/gstinfo.c:
13704         * gst/gstplugin.c:
13705         * gst/gstplugin.h:
13706         * gst/gstpluginfeature.c:
13707         * gst/gstpluginfeature.h:
13708         * gst/gstregistry.c:
13709         * gst/gstregistry.h:
13710         * gst/gstregistrypool.c: remove
13711         * gst/gstregistrypool.h: remove
13712         * gst/gsttypefind.c:
13713         * gst/gsttypefindfactory.c:
13714         * gst/gsturi.c:
13715         * tools/Makefile.am:
13716         * tools/gst-compprep.c:
13717         * tools/gst-inspect.c:
13718         * tools/gst-register.c: remove
13719         * tools/gst-xmlinspect.c:
13720           Registry rewrite.  Changes registry from being a file created
13721           by a tool into a simple cache file created automatically by 
13722           libgstreamer.  Removed gst-register (because it's no longer
13723           needed).  Remove registry pools, because we only have one
13724           registry implementation (XML).  Fix up other subsystems as
13725           necessary.
13726
13727 2005-09-13  Michael Smith <msmith@fluendo.com>
13728
13729         * gst/gstconfig.h.in:
13730           Don't Use windows linking attributes for MinGW. Fixes #316157
13731
13732 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13733
13734         * gst/gstutils.c: (set_state_async_thread_func),
13735         (gst_element_set_state_async):
13736           Apparently people think it's better if this function doesn't
13737           try to set the state to whatever state was asked for on the first
13738           call to this function for any object.  Seriously.
13739
13740 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
13741
13742         * check/gst/gstpipeline.c: (GST_START_TEST):
13743         * docs/gst/gstreamer-sections.txt:
13744         * gst/gstutils.c: (set_state_async_thread_func),
13745         (gst_element_set_state_async):
13746         * gst/gstutils.h:
13747           add a "gst_element_set_state_async" method that
13748           sets the state and starts a thread to make sure the state
13749           change completes as best as it can
13750
13751 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
13752
13753         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
13754           codify design+behaviour in testsuite after discussion
13755
13756 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
13757
13758         * docs/gst/tmpl/gstelement.sgml:
13759         * docs/manual/appendix-quotes.xml:
13760           add a quote
13761         * gst/gstelement.c: (gst_element_set_state):
13762           add some debug
13763
13764 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
13765
13766         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
13767         (gst_base_transform_prepare_output_buf),
13768         (gst_base_transform_handle_buffer):
13769         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
13770         (gst_capsfilter_prepare_buf):
13771           Remove the requirement for sub-classes to call the parent
13772           implementation of prepare_output_buffer with a wrapper function.
13773           
13774         * gst/gsttaglist.h:
13775         * gst/gsttagsetter.h:
13776           Fix #define wrapper
13777
13778 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
13779
13780         * docs/gst/gstreamer-sections.txt:
13781           more doc cleanups
13782
13783 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
13784
13785         * docs/gst/gstreamer-sections.txt:
13786         * docs/gst/tmpl/gstelement.sgml:
13787         * docs/gst/tmpl/gstplugin.sgml:
13788         * gst/gstminiobject.c:
13789         * gst/gstvalue.h:
13790           docs now stop throwing warnings
13791
13792 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
13793
13794         * docs/gst/gstreamer-sections.txt:
13795         * docs/gst/gstreamer.types:
13796         * docs/gst/tmpl/gstpad.sgml:
13797         * docs/gst/tmpl/gsttypes.sgml:
13798         * gst/base/gstadapter.h:
13799         * gst/base/gstbasesink.h:
13800         * gst/base/gstbasesrc.h:
13801         * gst/gstbin.h:
13802         * gst/gstbuffer.h:
13803         * gst/gstbus.h:
13804         * gst/gstcaps.h:
13805         * gst/gstclock.h:
13806         * gst/gstelement.h:
13807         * gst/gstevent.h:
13808         * gst/gstmessage.h:
13809         * gst/gstpad.h:
13810         * gst/gststructure.c:
13811         * gst/registries/gstlibxmlregistry.h:
13812           various documentation fixes
13813
13814 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
13815
13816         * docs/gst/gstreamer-sections.txt:
13817         * docs/gst/tmpl/gstvalue.sgml:
13818           rearrange gstvalue section
13819         * gst/gstutils.c: (gst_element_state_get_name):
13820           NONE -> VOID
13821         * gst/gstvalue.c: (_gst_value_initialize):
13822         * gst/gstvalue.h:
13823           doc updates
13824
13825 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
13826
13827         * check/gst-libs/controller.c:
13828           Header include fix.
13829         * gst/base/gstbasetransform.c:
13830         (gst_base_transform_default_prepare_buf),
13831         (gst_base_transform_handle_buffer):
13832         * gst/base/gstbasetransform.h:
13833           Some more basetransform changes and fixes to enable sub-classes
13834           that modify buffer metadata only.
13835         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
13836         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
13837         (gst_capsfilter_prepare_buf):
13838           If the output pad has fixed allowed caps and input buffers 
13839           don't have any, set the fixed caps on outgoing buffers.
13840
13841 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
13842         * check/elements/identity.c: (GST_START_TEST):
13843           Make the error a little clearer when the test fails because
13844           identity made a copy of the buffer.
13845         * docs/gst/gstreamer-sections.txt:
13846           New symbols in gstbasetransform.h
13847         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
13848         (gst_base_transform_init), (gst_base_transform_transform_size),
13849         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
13850         (gst_base_transform_default_prepare_buf),
13851         (gst_base_transform_get_unit_size),
13852         (gst_base_transform_buffer_alloc),
13853         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
13854         (gst_base_transform_change_state),
13855         (gst_base_transform_set_passthrough),
13856         (gst_base_transform_set_in_place),
13857         (gst_base_transform_is_in_place):
13858         * gst/base/gstbasetransform.h:
13859           Change BaseTransform to separate in_place operate from same_caps
13860           output. in_place implies that the element can perform the transform
13861           on incoming buffers in-place, even if the caps on the output are
13862           different.
13863           Sub-class elements can now implement special buffer allocation
13864           methods for outgoing buffers if they wish to.
13865           Big documentation addition.
13866         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
13867         * gst/elements/gstelements.c:
13868           Changes for basetransform modifications.
13869         * gst/elements/Makefile.am:
13870         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
13871           Compile fix. Extra debug output.
13872
13873 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
13874
13875         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
13876         (gst_pad_suite):
13877           add tests for valid pad naming
13878         * gst/check/gstcheck.c: (gst_check_log_message_func),
13879         (gst_check_log_critical_func):
13880           add ASSERT_WARNING
13881           remove printing of code, it is fragile when the code contains
13882           % and the line number is enough info
13883         * gst/check/gstcheck.h:
13884         * gst/gstpad.c: (gst_pad_template_new):
13885           fix memleaks
13886
13887 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
13888
13889         * configure.ac:
13890           say what CHECK flags we use
13891         * docs/libs/gstreamer-libs.types:
13892         * libs/gst/controller/Makefile.am:
13893         * libs/gst/controller/gst-controller.c:
13894         * libs/gst/controller/gst-controller.h:
13895         * libs/gst/controller/gst-helper.c:
13896         * libs/gst/controller/gst-interpolation.c:
13897         * libs/gst/controller/gstcontroller.c:
13898         * libs/gst/controller/gsthelper.c:
13899         * libs/gst/controller/gstinterpolation.c:
13900         * tools/gst-inspect.c: (print_plugin_info):
13901           we don't use dashes in header names
13902
13903 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
13904
13905         * check/Makefile.am:
13906         * check/gst/.cvsignore:
13907         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
13908         (gst_pipeline_suite), (main):
13909           adding a test for pipelines and state changes
13910         * gst/gstutils.c: (get_state_func):
13911           add some debugging
13912         * gstreamer.spec.in:
13913           fix up spec file
13914
13915 2005-09-08  Michael Smith <msmith@fluendo.com>
13916
13917         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
13918         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
13919         (gst_file_src_is_seekable), (gst_file_src_get_size),
13920         (gst_file_src_start):
13921         * gst/elements/gstfilesrc.h:
13922           Various fixes for unseekable, unmmapable, and non-normal files, so
13923           that fallback to read() rather than mmap() works.
13924         * gst/gstevent.c: (gst_event_new_newsegment):
13925           Allow newsegment events with segment_start == segment_end, as will
13926           correctly happen if you use filesrc on a zero-size file, for
13927           example.
13928
13929 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
13930
13931         * gst/gstplugin.c: (gst_plugin_load_file):
13932           Call g_module_close when we don't load the module
13933
13934         * gst/registries/gstlibxmlregistry.c:
13935         (gst_xml_registry_get_property):
13936           Port leak fix from 0.8
13937
13938 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
13939
13940         * docs/gst/gstreamer-docs.sgml:
13941         * docs/gst/tmpl/.cvsignore:
13942         * docs/gst/tmpl/gsttrace.sgml:
13943         * docs/gst/tmpl/gsttrashstack.sgml:
13944         * gst/Makefile.am:
13945         * gst/gst.h:
13946         * gst/gstelement.h:
13947         * gst/gstevent.h:
13948         * gst/gstmessage.c:
13949         * gst/gstmessage.h:
13950         * gst/gsttag.c:
13951         * gst/gsttag.h:
13952         * gst/gsttaginterface.c:
13953         * gst/gsttaginterface.h:
13954         * gst/gsttaglist.c:
13955         * gst/gsttaglist.h:
13956         * gst/gsttagsetter.c:
13957         * gst/gsttagsetter.h:
13958         * gst/gsttrace.c:
13959         * gst/gsttrace.h:
13960         * gst/gsttrashstack.c:
13961           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
13962           inlined docs for gsttrace, gsttrashstack
13963
13964 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
13965
13966         * gst/Makefile.am:
13967         * gst/elements/gstbufferstore.h:
13968         * gst/elements/gsttypefindelement.c:
13969         * gst/elements/gsttypefindelement.h:
13970         * gst/gst.h:
13971         * gst/gsttypefind.c:
13972         * gst/gsttypefind.h:
13973         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
13974         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
13975         (gst_type_find_factory_dispose),
13976         (gst_type_find_factory_unload_thyself),
13977         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
13978         (gst_type_find_factory_get_caps),
13979         (gst_type_find_factory_get_extensions),
13980         (gst_type_find_factory_call_function):
13981         * gst/gsttypefindfactory.h:
13982         * gst/registries/gstlibxmlregistry.c:
13983         * gst/registries/gstxmlregistry.c:
13984           splitted gsttypefind into gsttypefind, gsttypefindfactory
13985
13986 2005-09-07  Andy Wingo  <wingo@pobox.com>
13987
13988         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
13989         condition whereby the pad's task function is entered before the
13990         pad_mode variable was set.
13991
13992 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
13993
13994         * gst/gstpad.c: (gst_pad_alloc_buffer):
13995           Catch misbehaving pad_alloc functions that don't
13996           set up caps and do it for them.
13997
13998 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
13999
14000         * check/pipelines/simple_launch_lines.c: (run_pipeline):
14001           test for pipe!=NULL
14002         * docs/gst/tmpl/.cvsignore:
14003         * docs/gst/tmpl/gstmemchunk.sgml:
14004         * docs/gst/tmpl/gstparse.sgml:
14005         * docs/gst/tmpl/gsttaglist.sgml:
14006         * docs/gst/tmpl/gsttagsetter.sgml:
14007         * docs/gst/tmpl/gsttypefind.sgml:
14008         * docs/gst/tmpl/gsttypefindfactory.sgml:
14009         * gst/gstmemchunk.c:
14010         * gst/gstparse.c:
14011         * gst/gsttag.c:
14012         * gst/gsttaginterface.c:
14013         * gst/gsttypefind.c:
14014         * gst/gsttypefind.h:
14015           inlined more docs
14016
14017 === release 0.9.2 ===
14018
14019 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
14020
14021         * NEWS:
14022         * RELEASE:
14023         * configure.ac:
14024           releasing 0.9.2, "South"
14025
14026 2005-09-05  Andy Wingo  <wingo@pobox.com>
14027
14028         * gst/registries/gstxmlregistry.h:
14029         * gst/registries/gstxmlregistry.c: Um... resurrect...
14030         
14031         * gst/registries/gstxmlregistry.h:
14032         * gst/registries/gstxmlregistry.c: and update to newer API.
14033         Incidentally they should be a bit faster now that they don't have
14034         to parse the caps.
14035         
14036 2005-09-05  Andy Wingo  <wingo@pobox.com>
14037
14038         * gst/registries/gstxmlregistry.h:
14039         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
14040         replaced by the libxml registry a while back
14041
14042 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
14043
14044         * docs/gst/tmpl/gstplugin.sgml:
14045         * gst/elements/gstelements.c:
14046         * gst/gst.c:
14047         * gst/gstplugin.c: (gst_plugin_register_func),
14048         (gst_plugin_desc_copy), (gst_plugin_desc_free),
14049         (gst_plugin_get_source):
14050         * gst/gstplugin.h:
14051         * gst/registries/gstlibxmlregistry.c: (load_plugin),
14052         (gst_xml_registry_save_plugin):
14053         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
14054         (gst_xml_registry_save_plugin):
14055         * tools/gst-inspect.c: (print_plugin_info):
14056           add a "source" plugin description field, to represent the source
14057           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
14058           will set it to PACKAGE, which is automake's idea of the name of
14059           the source project.
14060
14061 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
14062
14063         * Makefile.am:
14064         * autogen.sh:
14065         * configure.ac:
14066         * docs/Makefile.am:
14067         * docs/faq/Makefile.am:
14068         * docs/gst/tmpl/gstelement.sgml:
14069         * docs/gst/tmpl/gsttypes.sgml:
14070         * docs/htmlinstall.mak:
14071         * docs/manual/Makefile.am:
14072         * docs/pwg/Makefile.am:
14073           reorganize doc build a little
14074           split out docbook and gtk-doc stuff
14075           have two separate --enable's and enable them through autogen
14076           but disable by default in configure (to be similar to other
14077           projects)
14078         * gstreamer.spec.in:
14079           clean up docs install
14080         * po/af.po:
14081         * po/az.po:
14082         * po/ca.po:
14083         * po/cs.po:
14084         * po/de.po:
14085         * po/en_GB.po:
14086         * po/fr.po:
14087         * po/it.po:
14088         * po/nb.po:
14089         * po/nl.po:
14090         * po/ru.po:
14091         * po/sq.po:
14092         * po/sr.po:
14093         * po/sv.po:
14094         * po/tr.po:
14095         * po/uk.po:
14096         * po/vi.po:
14097           translation updates
14098
14099 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
14100
14101         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
14102           Add comment.
14103           
14104         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
14105         (gst_fake_sink_change_state):
14106           Make state change function thread-safe.
14107           
14108         * gst/gstpad.c: (gst_pad_alloc_buffer):
14109           Set offset on generic buffer allocated by fallback.
14110
14111 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
14112
14113         * docs/gst/gstreamer-sections.txt:
14114         * docs/gst/tmpl/gstelement.sgml:
14115         * gst/gstpad.c:
14116         * libs/gst/controller/gst-controller.c:
14117         (gst_controlled_property_set_interpolation_mode),
14118         (gst_controlled_property_new),
14119         (gst_controller_find_controlled_property):
14120          run the wingo-magic script against the docs
14121
14122 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
14123
14124         * docs/gst/gstreamer-docs.sgml:
14125         * docs/gst/gstreamer-sections.txt:
14126         * docs/gst/tmpl/.cvsignore:
14127         * docs/gst/tmpl/gstelementdetails.sgml:
14128         * docs/gst/tmpl/gstelementfactory.sgml:
14129         * gst/gst.c:
14130         * gst/gstbus.c:
14131         * gst/gstelementfactory.c:
14132         * gst/gstelementfactory.h:
14133           merged elementdetails docs into elementfactory docs
14134           inlined both
14135
14136 2005-09-02  Andy Wingo  <wingo@pobox.com>
14137
14138         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
14139         consider this enum an enum and not a flags.
14140
14141 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
14142
14143         * docs/gst/gstreamer-docs.sgml:
14144         * docs/gst/tmpl/.cvsignore:
14145         * docs/gst/tmpl/gstghostpad.sgml:
14146         * docs/gst/tmpl/gstiterator.sgml:
14147         * docs/gst/tmpl/gstmacros.sgml:
14148         * docs/gst/tmpl/gstrealpad.sgml:
14149         * docs/gst/tmpl/gstregistry.sgml:
14150         * docs/gst/tmpl/gstregistrypool.sgml:
14151         * docs/gst/tmpl/gststructure.sgml:
14152         * docs/gst/tmpl/gstsystemclock.sgml:
14153         * docs/gst/tmpl/gsttrace.sgml:
14154         * gst/gstghostpad.c:
14155         * gst/gstmacros.h:
14156         * gst/gstmemchunk.c:
14157         * gst/gstmemchunk.h:
14158         * gst/gstqueue.c:
14159         * gst/gstregistry.c:
14160         * gst/gstregistrypool.c:
14161         * gst/gststructure.c:
14162         * gst/gstsystemclock.c:
14163           more docs inlined
14164
14165 2005-09-02  Andy Wingo  <wingo@pobox.com>
14166
14167         * gst/gstelement.h (GstState): Renamed from GstElementState,
14168         changed to be a normal enum instead of flags.
14169         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
14170         munged to be GST_STATE_CHANGE_*.
14171         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
14172         work with the new state representation.
14173         (GstStateChange): New enumeration of possible state transitions.
14174         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
14175         (GstElementClass::change_state): Pass the GstStateChange along as
14176         an argument. Helps language bindings, so they don't have to use
14177         tricky lock-needing macros like GST_STATE_CHANGE ().
14178
14179         * scripts/update-states (file): New script. Run it on a file to
14180         update it for state naming and API changes. Updates files in
14181         place.
14182
14183         * All files updated for the new API.
14184
14185 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14186
14187         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
14188         * gst/gstutils.c: (gst_util_set_value_from_string),
14189         (gst_util_set_object_arg):
14190           fix a bunch of unchecked return values
14191         * tools/gst-complete.c: (main):
14192         * gstreamer.spec.in:
14193           clean up a little
14194
14195 2005-09-01  Wim Taymans  <wim@fluendo.com>
14196
14197         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14198         (gst_base_sink_event), (gst_base_sink_do_sync),
14199         (gst_base_sink_handle_event):
14200         * gst/base/gstbasesink.h:
14201         Handle newsegments more correctly.
14202
14203         * gst/gstbus.c:
14204         Fix docs.
14205
14206         * gst/gstevent.c: (gst_event_new_newsegment):
14207         A newsegment cannot have a start_time of -1
14208
14209 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
14210
14211         * win32/gstenumtypes.c:
14212         * win32/gstenumtypes.h:
14213           Update
14214
14215 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
14216
14217         * libs/gst/controller/gst-controller.c:
14218         (gst_controlled_property_set_interpolation_mode),
14219         (gst_controlled_property_new):
14220          fixed boolean again
14221
14222 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
14223
14224         * docs/faq/gst-uninstalled:
14225           add -good
14226         * gst/gstevent.c:
14227         * gst/gstevent.h:
14228           remove wrong docs
14229         * gst/gstutils.c: (gst_element_link_filtered):
14230         * gst/gstutils.h:
14231           add gst_element_link_filtered
14232
14233 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
14234
14235         * docs/gst/gstreamer-docs.sgml:
14236         * docs/gst/gstreamer-sections.txt:
14237         * docs/gst/tmpl/.cvsignore:
14238         * docs/gst/tmpl/gsterror.sgml:
14239         * docs/gst/tmpl/gstfilter.sgml:
14240         * docs/gst/tmpl/gsturihandler.sgml:
14241         * docs/gst/tmpl/gsturitype.sgml:
14242         * docs/gst/tmpl/gstutils.sgml:
14243         * docs/gst/tmpl/gstxml.sgml:
14244         * gst/gsterror.c:
14245         * gst/gsterror.h:
14246         * gst/gstfilter.c:
14247         * gst/gsturi.c:
14248         * gst/gsturitype.c:
14249         * gst/gstutils.c:
14250         * gst/gstxml.c:
14251           inlined more docs, fixed double id-ref
14252
14253 2005-08-31  Wim Taymans  <wim@fluendo.com>
14254
14255         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
14256         (gst_base_transform_handle_buffer):
14257         Passthrough elements don't need the caps as they don't care.
14258
14259 2005-08-31  Wim Taymans  <wim@fluendo.com>
14260
14261         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
14262         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
14263         Don't leak refcounts on buffers.
14264
14265 2005-08-31  Wim Taymans  <wim@fluendo.com>
14266
14267         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
14268         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
14269         (gst_base_transform_chain), (gst_base_transform_change_state):
14270         * gst/base/gstbasetransform.h:
14271         Handle the case where we are not negotiated more gracefully.
14272
14273 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
14274
14275         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
14276         (gst_file_src_map_region):
14277           Set READONLY flag on mmap'ed buffers, otherwise
14278           gst_buffer_make_writable() won't work properly (#314708).
14279
14280 2005-08-31  Wim Taymans  <wim@fluendo.com>
14281
14282         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
14283         passthrough elements can even do inplace on non writable
14284         buffers (as they don't touch them).
14285
14286 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
14287
14288         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
14289         (gst_test_mono_source_set_property),
14290         (gst_test_mono_source_class_init), (GST_START_TEST),
14291         (gst_controller_suite):
14292           more tests (hehe I have the most)
14293         * gst/gstbus.c:
14294           describe popping messages whenusing mulltiple sources
14295         * libs/gst/controller/gst-controller.c:
14296         (gst_controlled_property_set_interpolation_mode),
14297         (gst_controlled_property_new):
14298         * libs/gst/controller/gst-controller.h:
14299         * libs/gst/controller/gst-interpolation.c:
14300           implement boolean properties
14301
14302 2005-08-31  Wim Taymans  <wim@fluendo.com>
14303
14304         * gst/gstminiobject.c: (gst_mini_object_ref):
14305         Cannot assert that the refcount has to be positive
14306         since a disposed object can be resurrected.
14307
14308 2005-08-31  Wim Taymans  <wim@fluendo.com>
14309
14310         * gst/gstpad.c: (gst_pad_init):
14311         Revert change, need to first fix badly behaving 
14312         apps.
14313
14314 2005-08-30  Wim Taymans  <wim@fluendo.com>
14315
14316         * check/elements/fakesrc.c: (setup_fakesrc):
14317         * check/elements/identity.c: (setup_identity):
14318         Activate pads before using them.
14319
14320 2005-08-30  Wim Taymans  <wim@fluendo.com>
14321
14322         * gst/base/gstadapter.c: (gst_adapter_flush):
14323         Flushing out 0 bytes is ok for this function.
14324
14325         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
14326         no newsegment gives a warning and sets the start/stop to 
14327         invalid.
14328
14329         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
14330         (gst_base_transform_set_passthrough):
14331         Some debug info.
14332
14333         * gst/gstminiobject.c: (gst_mini_object_ref):
14334         Check refcount here too.
14335
14336         * gst/gstpad.c: (gst_pad_init):
14337         Pads are initially flushing and refusing data.
14338
14339         * gst/gstutils.c: (gst_element_link_pads_filtered):
14340         When adding a capsfilter element make sure it has the
14341         same state as the parent bin.
14342
14343 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
14344
14345         * docs/gst/tmpl/.cvsignore:
14346         * docs/gst/tmpl/gstformat.sgml:
14347         * docs/gst/tmpl/gstversion.sgml:
14348         * gst/gstbus.h:
14349         * gst/gstformat.c:
14350         * gst/gstformat.h:
14351         * gst/gstversion.h.in:
14352           more docs and two more inlined
14353
14354 2005-08-30  Wim Taymans  <wim@fluendo.com>
14355
14356         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
14357         Don't sync to clock.
14358
14359 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
14360
14361         * docs/gst/gstreamer-sections.txt:
14362           ultral33t func10ns deserve to appear in the docs actually
14363         * docs/gst/tmpl/.cvsignore:
14364         * docs/gst/tmpl/gstcompat.sgml:
14365         * docs/gst/tmpl/gstconfig.sgml:
14366         * gst/check/gstcheck.c:
14367         * gst/gstcompat.h:
14368         * gst/gstconfig.h.in:
14369           inlined more docs
14370
14371 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
14372
14373         * docs/gst/tmpl/.cvsignore:
14374         * docs/gst/tmpl/gstquery.sgml:
14375         * docs/gst/tmpl/gstutils.sgml:
14376         * gst/gstquery.c:
14377         * gst/gstquery.h:
14378           inlined and extended docs
14379
14380 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
14381
14382         * check/gst-libs/controller.c: (GST_START_TEST),
14383         (gst_controller_suite):
14384           more tests
14385         * docs/gst/tmpl/gstutils.sgml:
14386         * docs/libs/gstreamer-libs-sections.txt:
14387         * docs/libs/tmpl/gstdataprotocol.sgml:
14388           include path fixes
14389         * examples/controller/audio-example.c: (main):
14390           controller example works now
14391         * gst/gstclock.h:
14392           doc fixes
14393         * tools/gst-inspect.c: (print_element_properties_info):
14394           show param spec flags
14395
14396 2005-08-29  Andy Wingo  <wingo@pobox.com>
14397
14398         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
14399
14400 2005-08-28  Andy Wingo  <wingo@pobox.com>
14401
14402         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
14403         as having two arguments instead of just one. Allows superclasses
14404         to access information on subclasses -- see the terrible for() loop
14405         in gtype.c:g_type_create_instance for the reason why. All callers
14406         changed.
14407
14408 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
14409
14410         * docs/design/part-messages.txt:
14411           update info
14412         * docs/gst/tmpl/.cvsignore:
14413         * docs/gst/tmpl/gstcaps.sgml:
14414         * docs/gst/tmpl/gstclock.sgml:
14415         * gst/gstbus.c:
14416         * gst/gstcaps.c:
14417         * gst/gstcaps.h:
14418         * gst/gstclock.c:
14419         * gst/gstclock.h:
14420         * gst/gstmessage.c:
14421           added descriptions for bus and message
14422           inline caps and clock docs
14423
14424 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
14425
14426         * gst/gstmessage.c:
14427         * gst/gstmessage.h:
14428           doc fixes
14429
14430 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
14431
14432         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
14433           fix div-by-zero
14434
14435 2005-08-26  Andy Wingo  <wingo@pobox.com>
14436
14437         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
14438         element_set_state's return val.
14439         (test_2_elements): Add test that's been disabled for months.
14440
14441         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
14442         can-activate-pull properties.
14443
14444         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
14445         can-activate-pull properties. Implement is_seekable so fakesrc can
14446         operate in pull mode.
14447
14448         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
14449         properties.
14450         (gst_base_sink_activate, gst_base_sink_activate_pull)
14451         (gst_base_sink_activate_push): Make activation mode choosing work.
14452         Cleanups.
14453         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
14454         is right. Make pull mode work. Post an eos before pausing in pull
14455         mode.
14456         (gst_base_sink_change_state): Pay attention to the core's
14457         change_state() return val.
14458         
14459         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
14460         has-getrange properties. Cleanups.
14461         
14462         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
14463         has_getrange and replace with can_activate_pull and
14464         can_activate_push.
14465
14466         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
14467         locking comments. Remove has_loop, has_chain and replace with
14468         can_activate_pull and can_activate_push.
14469
14470 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
14471
14472         * configure.ac:
14473         * examples/Makefile.am:
14474         * examples/metadata/Makefile.am:
14475         * examples/metadata/read-metadata.c: (message_loop),
14476         (have_pad_handler), (make_pipeline), (print_tag), (main):
14477           Add metadata reading example that loops over a list of filenames,
14478           dumping any tags found.
14479
14480         * gst/gstbus.c: (gst_bus_dispose):
14481         * gst/gstelement.c: (gst_element_dispose):
14482           Release a few potentially-held references in dispose.
14483
14484 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
14485
14486         * docs/gst/tmpl/gstminiobject.sgml:
14487           do *not* add tmpl/*.sgml files to CVS!
14488
14489 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
14490
14491         * libs/gst/bytestream/.cvsignore:
14492         * libs/gst/bytestream/Makefile.am:
14493         * libs/gst/bytestream/adapter.c:
14494         * libs/gst/bytestream/adapter.h:
14495         * libs/gst/bytestream/bytestream.c:
14496         * libs/gst/bytestream/bytestream.h:
14497         * libs/gst/bytestream/filepad.c:
14498         * libs/gst/bytestream/filepad.h:
14499           removing obsolete files
14500
14501 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
14502
14503         * docs/gst/gstreamer-docs.sgml:
14504         * docs/libs/gstreamer-libs-docs.sgml:
14505           disabed additional index entries again, as this makes docs-gen just
14506           slow and they aren't useful yet
14507         * docs/libs/gstreamer-libs-sections.txt:
14508           little -section.txt cleanup for libs
14509
14510 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
14511
14512         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
14513         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
14514           fix up some debugging
14515         (gst_base_transform_get_unit_size),
14516         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
14517         (gst_base_transform_handle_buffer):
14518         * gst/base/gstbasetransform.h:
14519           handle and store timed NEWSEGMENT events so that subclasses that
14520           calculate time by counting samples have a segment_start time they
14521           need to add to their timestamps - see audioresample
14522
14523 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
14524
14525         * gst/gstbin.h:
14526           removed ';' from the end of macro defs
14527         * docs/gst/gstreamer-docs.sgml:
14528         * docs/gst/gstreamer-sections.txt:
14529         * docs/gst/tmpl/.cvsignore:
14530         * gst/gstbus.h:
14531         * gst/gstelement.c: (gst_element_class_init),
14532         (gst_element_set_state), (activate_pads),
14533         (gst_element_save_thyself):
14534         * gst/gstevent.c: (gst_event_new_newsegment):
14535         * gst/gstevent.h:
14536         * gst/gstiterator.c:
14537         * gst/gstiterator.h:
14538         * gst/gstpad.c:
14539         * gst/gstprobe.h:
14540         * gst/gstutils.c: (gst_pad_query_convert):
14541         * gst/gstutils.h:
14542           fixed parameter name mismatches between source, header and docs
14543           added some more docs, resolved the last batch of unused elements in
14544           docs (now someone needs to doc them)
14545
14546 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
14547
14548         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
14549         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
14550           don't walk through the plugins backwards.  Where is all this
14551           reversed logic coming from ?
14552
14553 2005-08-25  Wim Taymans  <wim@fluendo.com>
14554
14555         * gst/base/gstbasetransform.c: (gst_base_transform_init),
14556         (gst_base_transform_transform_size),
14557         (gst_base_transform_configure_caps),
14558         (gst_base_transform_get_unit_size),
14559         (gst_base_transform_buffer_alloc),
14560         (gst_base_transform_change_state):
14561         * gst/base/gstbasetransform.h:
14562         Cache caps unit_size.
14563         Make sure we cannot negotiate up and downstream at the
14564         same time.
14565
14566 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
14567
14568         * gst/gst.c: (init_pre), (init_post):
14569           register the installed plugin path after the env var
14570         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
14571         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
14572           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
14573           directories, so the tests can prefer uninstalled over installed
14574
14575 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
14576
14577         * gst/base/gstbasetransform.h:
14578           comment
14579         * gst/gstpad.c:
14580           add to docs
14581
14582 2005-08-25  Wim Taymans  <wim@fluendo.com>
14583
14584         * gst/gstbin.c: (bin_bus_handler):
14585         Be a bit more conservative about the posted message.
14586         
14587         * gst/gstbus.c: (gst_bus_post):
14588         Some cleanups, warn wrong return values.
14589
14590 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
14591
14592         * check/gst/gstbin.c: (GST_START_TEST):
14593         * gst/gstbin.c: (bin_bus_handler):
14594         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
14595         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
14596         (gst_message_new_warning), (gst_message_new_tag),
14597         (gst_message_new_state_changed), (gst_message_new_segment_start),
14598         (gst_message_new_segment_done), (gst_message_new_custom):
14599         * gst/gstmessage.h:
14600         * tools/gst-launch.c: (event_loop):
14601         * tools/gst-md5sum.c: (event_loop):
14602           Revert unpopular change for GST_MESSAGE_SRC to GObject.
14603
14604 2005-08-25  Wim Taymans  <wim@fluendo.com>
14605
14606         * check/generic/states.c: (GST_START_TEST):
14607         Cleanup can be done at the end.
14608
14609         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
14610         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
14611         (gst_task_get_state), (gst_task_start), (gst_task_pause):
14612         Oh boy.. Thanks for finding this, Thomas. 
14613
14614 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
14615
14616         * docs/gst/gstreamer.types:
14617           added missing types
14618
14619 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
14620
14621         * docs/gst/gstreamer-docs.sgml:
14622         * docs/gst/gstreamer-sections.txt:
14623         * docs/gst/tmpl/.cvsignore:
14624         * gst/gstbin.c:
14625         * gst/gstiterator.c:
14626         * gst/gstutils.c:
14627         * gst/registries/gstxmlregistry.h:
14628           added missing classes and symbols (123 more to go)
14629           removed removed symbols from section file
14630           fixed many doc-comments
14631
14632 2005-08-24  Wim Taymans  <wim@fluendo.com>
14633
14634         * check/generic/states.c: (GST_START_TEST):
14635         Make sure all tasks are stopped.
14636
14637         * check/gst/gstbin.c: (GST_START_TEST):
14638         Unref after usage for proper valgrinding.
14639
14640         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
14641         Really wait for the task to stop before destroying the
14642         mutex.
14643
14644         * gst/gstqueue.c: (gst_queue_sink_activate_push),
14645         (gst_queue_src_activate_push):
14646         Small cleanups. Don't stop the task when we did not start
14647         it.
14648
14649         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
14650         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
14651         (gst_task_get_state), (gst_task_start), (gst_task_pause),
14652         (gst_task_join):
14653         * gst/gsttask.h:
14654         Protect the stream lock with the object lock.
14655         Disallow setting the stream lock when running.
14656         Add cleanup_all to wait for the threadpool to finish.
14657         Remove code to autoallocate a mutex if none was provided.
14658         Add _join() to wait for a task to stop.
14659         Protect the thread pool with a global lock.
14660
14661 2005-08-24  Wim Taymans  <wim@fluendo.com>
14662
14663         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14664         (gst_base_sink_get_times), (gst_base_sink_do_sync),
14665         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
14666         * gst/base/gstbasesink.h:
14667         Handle newsegment events correctly.
14668         Drop buffers out of the segment range.
14669
14670 2005-08-22  Andy Wingo  <wingo@pobox.com>
14671
14672         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
14673         macro, implements an interface and gstimplementsinterface for a
14674         new type.
14675
14676 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
14677
14678         * check/Makefile.am:
14679         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
14680           add a test that does a bunch of state changes on elements
14681           needs some fixing for valgrind
14682         * check/states/sinks.c: (gst_object_suite):
14683           whitespace
14684         * gst/gstcaps.h:
14685           add prototype for gst_caps_is_equal_fixed
14686         * gst/gstplugin.c:
14687         * gst/gstregistrypool.c:
14688           doc fixes
14689
14690 2005-08-24  Andy Wingo  <wingo@pobox.com>
14691
14692         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
14693         convert a negative value. Doesn't make much sense. Mostly this is
14694         here to force callers to ensure -1 maps to -1.
14695
14696 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
14697
14698         * docs/pwg/advanced-types.xml:
14699           Well done to Michael for catching my deliberate introduction
14700           of this spelling mistake. 
14701         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
14702         * gst/gstelement.h:
14703           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
14704           unlink pads before removing the element from the bin.
14705
14706 2005-08-24  Andy Wingo  <wingo@pobox.com>
14707
14708         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
14709         the same thing as GST_DEBUG=*:4.
14710         (parse_debug_level, parse_debug_category): New helper parsers.
14711
14712 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
14713
14714         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
14715         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
14716         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
14717         (gst_base_transform_buffer_alloc),
14718         (gst_base_transform_handle_buffer):
14719           use gboolean return values and pointers to size so we can use the
14720           full GST_BUFFER_SIZE range (guint) for buffer sizes
14721           use GstPadDirection for transform_caps
14722         * gst/base/gstbasetransform.h:
14723           rename get_size to get_unit_size since that's what it is
14724         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
14725           use GstPadDirection for transform_caps
14726         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
14727         * gst/gstutils.h:
14728           cleanup and debugging
14729
14730 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
14731
14732         * gst/gstelement.c: (gst_element_class_init),
14733         (gst_element_set_state), (activate_pads),
14734         (gst_element_save_thyself):
14735         * tools/gst-compprep.c: (main):
14736         * tools/gst-inspect.c: (print_element_properties_info):
14737         * tools/gst-xmlinspect.c: (print_element_properties):
14738           Fixed long standing mem-leak
14739
14740 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
14741
14742         * check/gst/gstbin.c: (GST_START_TEST):
14743         * gst/gstbin.c: (bin_bus_handler):
14744         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
14745         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
14746         (gst_message_new_warning), (gst_message_new_tag),
14747         (gst_message_new_state_changed), (gst_message_new_segment_start),
14748         (gst_message_new_segment_done), (gst_message_new_custom):
14749         * gst/gstmessage.h:
14750         * tools/gst-launch.c: (event_loop):
14751         * tools/gst-md5sum.c: (event_loop):
14752           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
14753           that applications can sensibly post custom messages with references
14754           to their own objects.
14755
14756 2005-08-24  Andy Wingo  <wingo@pobox.com>
14757
14758         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
14759         already.
14760
14761 2005-08-24  Wim Taymans  <wim@fluendo.com>
14762
14763         * gst/base/gstbasetransform.c: (gst_base_transform_init),
14764         (gst_base_transform_transform_caps),
14765         (gst_base_transform_transform_size),
14766         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
14767         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
14768         (gst_base_transform_handle_buffer):
14769         * gst/base/gstbasetransform.h:
14770         Many fixes and new features added by Thomas. Can now also do
14771         transforms with variable sizes and a custom fixate_caps function.
14772
14773 2005-08-24  Wim Taymans  <wim@fluendo.com>
14774
14775         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
14776         Some debugging.
14777
14778         * gst/gstclock.h:
14779         Cast to ClockTime before formatting to time.
14780
14781         * gst/gstutils.h:
14782         Cleanups.
14783
14784 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
14785
14786         * check/gst-libs/controller.c: (GST_START_TEST),
14787         (gst_controller_suite):
14788         * docs/gst/tmpl/gstcaps.sgml:
14789         * docs/gst/tmpl/gstghostpad.sgml:
14790         * docs/gst/tmpl/gstquery.sgml:
14791         * docs/gst/tmpl/gstutils.sgml:
14792         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
14793         (gst_object_sink_values), (gst_object_get_value_arrays),
14794         (gst_object_get_value_array):
14795           gracefully handle helper method calls to objects that are not beeing
14796           controlled, added test case for that          
14797
14798 2005-08-23  Wim Taymans  <wim@fluendo.com>
14799
14800         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
14801         (gst_event_new_newsegment), (gst_event_parse_newsegment),
14802         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
14803         (gst_event_parse_qos), (gst_event_new_seek),
14804         (gst_event_parse_seek):
14805         * gst/gstevent.h:
14806         Some more debugging output and doc cleanups.
14807
14808         * gst/gstqueue.c: (gst_queue_handle_sink_event):
14809         Fix possible deadlock.
14810
14811 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
14812
14813         * docs/gst/gstreamer-docs.sgml:
14814         * docs/gst/gstreamer-sections.txt:
14815         * docs/gst/gstreamer.types:
14816         * docs/gst/tmpl/.cvsignore:
14817         * gst/gstbin.h:
14818         * gst/gstbus.c:
14819         * gst/gstelement.c:
14820         * gst/gstevent.h:
14821           added 100 symbols from gstreamer-unused.txt to the right sections
14822           fixed more broken comments
14823           added GstBus to docs
14824
14825 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
14826
14827         * docs/gst/gstreamer-sections.txt:
14828         * docs/gst/tmpl/.cvsignore:
14829         * docs/gst/tmpl/gstbin.sgml:
14830         * docs/gst/tmpl/gstbuffer.sgml:
14831         * gst/base/gstbasesrc.c:
14832         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
14833         * gst/gstbuffer.c:
14834         * gst/gstbuffer.h:
14835         * tools/gst-launch.1.in:
14836           inlined more doc comments, added missing comments and fixed comments
14837           fixed typos
14838
14839 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
14840
14841         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
14842           some debugging
14843         * gst/gstcaps.h:
14844           whitespace fixes
14845         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
14846           more debugging
14847         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
14848         * gst/gststructure.h:
14849           add a fixate function for booleans; add a FIXME that these func
14850           names should probably be gst_structure_fixate_*
14851
14852 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
14853
14854         * docs/gst/gstreamer-docs.sgml:
14855         * docs/gst/gstreamer-sections.txt:
14856         * gst/Makefile.am:
14857         * gst/gstbin.c: (gst_bin_get_type),
14858         (gst_bin_child_proxy_get_child_by_index),
14859         (gst_bin_child_proxy_get_children_count),
14860         (gst_bin_child_proxy_init):
14861         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
14862         (gst_child_proxy_get_child_by_index),
14863         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
14864         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
14865         (gst_child_proxy_get), (gst_child_proxy_set_property),
14866         (gst_child_proxy_set_valist), (gst_child_proxy_set),
14867         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
14868         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
14869         * gst/gstchildproxy.h:
14870         * gst/parse/grammar.y:
14871         * tools/gst-inspect.c: (print_interfaces),
14872         (print_element_properties_info), (print_element_info):
14873           ported gstchildproxy over from 0.8
14874           ported gst-inspect fixes and enhancements over from 0.8
14875
14876 2005-08-22  Wim Taymans  <wim@fluendo.com>
14877
14878         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
14879         (gst_base_transform_handle_buffer):
14880         Also call the transform function if we have ANY caps.
14881
14882         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
14883         Fix debug info.
14884
14885 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
14886
14887         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
14888           Don't pretend to handle seek events if the source is not seekable
14889
14890 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
14891
14892         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
14893           Remove extra parameter to debug output
14894
14895         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
14896         (gst_base_src_do_seek), (gst_base_src_activate_push):
14897           Fix seek event handling.
14898
14899         * gst/gstpipeline.c: (gst_pipeline_change_state):
14900         * gst/gstqueue.c: (gst_queue_handle_sink_event),
14901         (gst_queue_src_activate_push):
14902           Don't start the src pad task on FLUSH_STOP if the pad
14903           isn't linked.
14904           Debug changes.
14905
14906 2005-08-22  Wim Taymans  <wim@fluendo.com>
14907
14908         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
14909         Added check for gst_static_caps_get() refcounting.
14910
14911 2005-08-22  Wim Taymans  <wim@fluendo.com>
14912
14913         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
14914         Make _static_caps_get() refcounting sane.
14915         
14916         * gst/gstelement.c: (gst_element_set_state):
14917         Add g_return_val_if_fail() to protect against segfaults.
14918
14919 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
14920
14921         * docs/gst/tmpl/gstevent.sgml:
14922         * gst/gstevent.c:
14923         * gst/gstevent.h:
14924           inlined remaining docs, added missing doc comments
14925
14926 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
14927
14928         * check/gst/gstbin.c: (GST_START_TEST):
14929           since we don't know when preroll is done, use refcount range
14930           check for the sink
14931         * gst/check/gstcheck.h:
14932           add macro for checking refcount range
14933
14934 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
14935
14936         * check/Makefile.am:
14937           clean up environment for when registry gets built versus
14938           when actual tests are run; valgrind seems to not report
14939           leaks if GST_PLUGIN_PATH is set to some specific values
14940         * check/gst/gstbin.c: (GST_START_TEST):
14941           add more refcounting checks; maybe this exposes a
14942           preroll lock bug ?
14943         * common/check.mak:
14944         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
14945         * gst/check/gstcheck.h:
14946         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
14947         (gst_bin_change_state):
14948         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
14949           add/fix debugging/whitespace
14950
14951 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
14952
14953         * check/gst/gstevent.c: (event_probe), (test_event),
14954         (GST_START_TEST):
14955          Er, don't call gst_bin_watch_for_state_change you idiot.
14956
14957 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
14958
14959         * check/Makefile.am:
14960           Use CHECK_CFLAGS and CHECK_LIBS
14961         * check/gst/gstevent.c: (event_probe), (test_event),
14962         (GST_START_TEST):
14963           Don't leak events.
14964         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
14965         (gst_base_src_start), (gst_base_src_stop),
14966         (gst_base_src_activate_push), (gst_base_src_activate_pull),
14967         (gst_base_src_change_state):
14968           Sprinkle gst_base_src_stop liberally around error paths to fix
14969           problems reusing a source after failed state changes.
14970         * gst/base/gsttypefindhelper.c: (helper_find_peek),
14971         (helper_find_suggest), (gst_type_find_helper):
14972           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
14973         * gst/gstevent.h:
14974         * docs/gst/tmpl/gstevent.sgml:
14975           Migrate part of the docs from the SGML file. Wait for ensonic to
14976           tell me how I did it wrong ;)
14977         * tools/gst-typefind.c: (main):
14978           Extra robustness to state changes between files.
14979
14980 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
14981
14982         * check/Makefile.am:
14983           don't valgrind the controller test - it's leaking - Stefan, HELP
14984         * gst/check/gstcheck.c: (gst_check_message_error),
14985         (gst_check_chain_func), (gst_check_setup_element),
14986         (gst_check_teardown_element), (gst_check_setup_src_pad),
14987         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
14988         (gst_check_teardown_sink_pad):
14989         * gst/check/gstcheck.h:
14990           add a bunch of methods to set up elements, and src and sink pads
14991         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
14992         * check/elements/identity.c: (setup_identity), (cleanup_identity),
14993         (GST_START_TEST):
14994           use them
14995         * gst/gstmessage.c:
14996         * gst/gsttag.h:
14997           whitespace/doc fixes
14998
14999 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
15000
15001         * gst/gstelement.h:
15002           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
15003           be handled by the application and not always printed as well
15004
15005 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
15006
15007         * check/Makefile.am:
15008           set GST_TOOLS_DIR
15009         * gst/check/gstcheck.c: (gst_check_message_error):
15010         * gst/check/gstcheck.h:
15011           add a fail_unless_equals_int
15012           add fail_unless for error messages
15013
15014 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
15015
15016         * check/Makefile.am:
15017         * check/gst.supp:
15018         * common/Makefile.am:
15019         * common/check.mak:
15020         * common/gst.supp:
15021           factor out some of the common stuff so we can use it
15022
15023 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
15024
15025         * check/Makefile.am:
15026         * check/gst/gstiterator.c: (GST_START_TEST):
15027         * check/gst/gstsystemclock.c: (GST_START_TEST),
15028         (gst_systemclock_suite):
15029         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
15030         * gst/gstclock.c:
15031           valgrind more tests
15032
15033 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
15034
15035         * check/elements/.cvsignore:
15036         * check/elements/gstfakesrc.c:
15037           rename to name of element
15038         * check/elements/identity.c: (chain_func), (event_func),
15039         (setup_identity), (cleanup_identity), (GST_START_TEST),
15040         (identity_suite), (main):
15041           add a test for identity
15042         * check/Makefile.am:
15043         * pkgconfig/Makefile.am:
15044         * pkgconfig/gstreamer-check.pc.in:
15045         * pkgconfig/gstreamer-check-uninstalled.pc.in:
15046         * gst/check:
15047         * gst/Makefile.am:
15048         * configure.ac:
15049           move the check stuff to a library that gets installed
15050         * check/gst-libs/controller.c: (GST_START_TEST):
15051         * check/gst-libs/gdp.c:
15052         * check/gst/gst.c: (GST_START_TEST):
15053         * check/gst/gstbin.c:
15054         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
15055         * check/gst/gstbus.c:
15056         * check/gst/gstcaps.c: (GST_START_TEST):
15057         * check/gst/gstelement.c:
15058         * check/gst/gstghostpad.c:
15059         * check/gst/gstiterator.c:
15060         * check/gst/gstmessage.c:
15061         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
15062         * check/gst/gstobject.c:
15063         * check/gst/gstpad.c: (GST_START_TEST):
15064         * check/gst/gststructure.c: (GST_START_TEST):
15065         * check/gst/gstsystemclock.c: (GST_START_TEST),
15066         (gst_systemclock_suite):
15067         * check/gst/gsttag.c: (gst_tag_suite):
15068         * check/gst/gstvalue.c:
15069         * check/pipelines/cleanup.c:
15070         * check/pipelines/simple_launch_lines.c:
15071         * check/states/sinks.c:
15072           change include statement
15073
15074         * docs/gst/gstreamer-sections.txt:
15075         * docs/gst/tmpl/gstpad.sgml:
15076           document more pad stuff
15077         * gst/gstminiobject.c: (gst_mini_object_ref),
15078         (gst_mini_object_unref):
15079           debug refcounting
15080
15081 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
15082
15083         * docs/gst/tmpl/gst.sgml:
15084         * gst/gst.c:
15085           eliminate another tmpl file, fix spelling in the long-description
15086
15087 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
15088
15089         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
15090         (test_event), (timediff), (gstevents_suite):
15091           Should fix build on 64-bit arch's
15092
15093 2005-08-18  Andy Wingo  <wingo@pobox.com>
15094
15095         Make sure that when a pipeline goes to PLAYING, that data has
15096         actually hit the sink.
15097
15098         * check/states/sinks.c (test_sink): A sink that doesn't get any
15099         data shouldn't return SUCCESS for going to either PLAYING or
15100         PAUSED. Test also the return values on the way back down.
15101
15102         * gst/gstelement.c (gst_element_set_state): When changing the
15103         state of an element currently changing state asynchronously, go to
15104         lost-state after commiting the pending state. Makes future calls
15105         to get_state continue to return ASYNC.
15106
15107         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
15108         ASYNC when going to PLAYING if we still don't have preroll, as can
15109         happen with live sources.
15110
15111 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
15112
15113         * docs/pwg/advanced-types.xml:
15114           Hack long paragraph into 2 chunks as a workaround for buggy
15115           jadetex version in sid and breezy that loops infinitely and
15116           eats all RAM.
15117
15118 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
15119
15120         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
15121         (test_event), (timediff), (gstevents_suite):
15122           Provide more error margin in clock measurements to allow for 
15123           g_get_current_time inaccuracies.
15124
15125 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
15126
15127         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
15128         (test_event), (timediff), (gstevents_suite):
15129            Fix error message output so I might be able to tell why the
15130            test works here but fails on the build farm.
15131
15132 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
15133
15134         * check/Makefile.am:
15135         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
15136         (test_event), (timediff), (gstevents_suite), (main):
15137           I wrote a test!
15138
15139         * docs/design/part-seeking.txt:
15140           Spelling correction
15141
15142         * docs/gst/tmpl/gstevent.sgml:
15143         * docs/gst/tmpl/gstfakesrc.sgml:
15144           Docs updates.
15145
15146         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
15147           Treat a buffer-without-newsegment the same as a receiving 
15148           a newsegment not in time format, and disable syncing to the clock
15149           with a warning.
15150
15151         * gst/gstbus.c: (gst_bus_set_sync_handler):
15152           Assert if anyone tries to replace the existing sync_handler for bus, 
15153           as only the owner should be setting it.
15154
15155         * gst/gstevent.h:
15156           Have a fixed set of custom event enums with events identified by
15157           their structure name (as in 0.8), rather than a free-for-all
15158           allowing collisions between enum values from different plugins.
15159
15160         * gst/gstpad.c: (gst_pad_class_init):
15161           Docs change.
15162           
15163         * gst/gstqueue.c: (gst_queue_handle_sink_event):
15164           Handle out-of-band downstream events from the sending thread.
15165
15166 2005-08-17  Andy Wingo  <wingo@pobox.com>
15167
15168         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
15169         play-timeout==0 to mean no timeout at all. In that case, don't
15170         bother with a get_state or a warning, just return directly, even
15171         if it's ASYNC.
15172
15173         * gst/base/gstbasetransform.c: Debug changes.
15174
15175         * gst/gstutils.h:
15176         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
15177         ensure bins post state change messages. A bit of a hack but I can't
15178         think of a way to avoid it.
15179
15180         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
15181
15182 2005-08-16  Andy Wingo  <wingo@pobox.com>
15183
15184         * gst/base/gstadapter.h:
15185         * gst/base/gstadapter.c (gst_adapter_take): New function, like
15186         peek() but you own the data. Not terribly efficient atm.
15187
15188 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15189
15190         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
15191         (gst_element_found_tags):
15192         * gst/gstutils.h:
15193           Add two utility functions for tag handling.
15194
15195 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15196
15197         * docs/manual/advanced-dataaccess.xml:
15198         * docs/manual/basics-helloworld.xml:
15199           Fix docs to use _bin_add() before _link(), which fixes the examples
15200           with recent core versions (reported by Madhan Raj M
15201           <raj_madan@rediffmail.com>, #313199).
15202
15203 2005-08-16  Wim Taymans  <wim@fluendo.com>
15204
15205         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
15206         Added subtract checks.
15207
15208         * docs/design/part-events.txt:
15209         Some more docs about newsegment
15210
15211         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
15212         Fix FIXME
15213
15214         * gst/gstcaps.c: (gst_caps_to_string):
15215         Add comments, cleanups.
15216         
15217         * gst/gstelement.c: (gst_element_save_thyself):
15218         cleanups
15219         
15220         * gst/gstvalue.c: (gst_value_collect_int_range),
15221         (gst_string_unwrap), (gst_value_union_int_int_range),
15222         (gst_value_union_int_range_int_range),
15223         (gst_value_intersect_int_int_range),
15224         (gst_value_intersect_int_range_int_range),
15225         (gst_value_intersect_double_double_range),
15226         (gst_value_intersect_double_range_double_range),
15227         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
15228         (gst_value_subtract_int_range_int),
15229         (gst_value_subtract_double_range_double),
15230         (gst_value_subtract_double_range_double_range),
15231         (gst_value_subtract_from_list), (gst_value_subtract_list),
15232         (gst_value_can_compare), (gst_value_compare_fraction):
15233         Cleanups, add comments, remove unneeded asserts.
15234
15235 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
15236
15237         * tools/gst-launch.c: (event_loop):
15238           don't convert NULL structures to strings
15239
15240 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
15241
15242         * docs/gst/gstreamer-sections.txt:
15243           made some defines private
15244         * docs/gst/tmpl/gstconfig.sgml:
15245         * docs/gst/tmpl/gstqueue.sgml:
15246         * docs/gst/tmpl/gsttaglist.sgml:
15247         * docs/gst/tmpl/gsttypes.sgml:
15248         * docs/gst/tmpl/gstutils.sgml:
15249         * docs/pwg/appendix-porting.xml:
15250         * gst/base/gstbasesink.h:
15251         * gst/base/gstbasesrc.c:
15252         * gst/base/gstbasesrc.h:
15253         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
15254         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
15255         * gst/gstelement.c: (gst_element_class_init):
15256         * gst/gstpad.c: (gst_pad_class_init):
15257         * gst/gstqueue.c: (gst_queue_class_init):
15258         * gst/gstxml.c: (gst_xml_class_init):
15259           documented all undocumented signal inline
15260         * libs/gst/controller/gst-controller.h:
15261           added padding
15262
15263 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15264
15265         * docs/pwg/appendix-porting.xml:
15266           Document _set_link_function -> _set_setcaps_function.
15267
15268 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
15269
15270         * check/Makefile.am:
15271           add a .check target for running the check
15272         * check/gst-libs/controller.c: (GST_START_TEST):
15273           cosmetic fixups
15274         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
15275           complete checks for gstbuffer; would be nice if I could get the
15276           gcov stuff to work so I can see if I actually completed gstbuffer.c
15277         * check/gstcheck.h:
15278           add ASSERT_BUFFER_REFCOUNT
15279
15280 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
15281
15282         * docs/gst/gstreamer-sections.txt:
15283         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
15284         * gst/gsttag.h:
15285           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
15286           spew out a warning if a tag that is already registered
15287           is re-registered, unless it is re-registered with a 
15288           different type (#308438).
15289
15290 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
15291
15292         * docs/pwg/appendix-porting.xml:
15293         * docs/pwg/building-state.xml:
15294           Add some paragraphs about state changes in 0.9 to the PWG
15295           and the porting guide, in particular about the new meaning
15296           of GST_STATE_PAUSED and how to write state change functions
15297           with concurrent access by multiple threads in mind.
15298
15299 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
15300
15301         * docs/gst/gstreamer-docs.sgml:
15302         * docs/libs/gstreamer-libs-docs.sgml:
15303           added deprecation and since indexes
15304         * libs/gst/controller/gst-controller.c:
15305         * libs/gst/controller/gst-helper.c:
15306           added since tags
15307
15308
15309 2005-08-11  Wim Taymans  <wim@fluendo.com>
15310
15311         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
15312         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
15313         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
15314         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
15315         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
15316         (gst_ghost_pad_set_target):
15317         Actually implement (re)setting the target on a ghostpad
15318         as described in the docs.
15319
15320 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
15321
15322         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
15323           Check whether GST_DEBUG_NO_COLOR environment variable is
15324           set and disable coloured debug output if that is the case.
15325
15326 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
15327
15328         * gst/base/gsttypefindhelper.c: (helper_find_peek),
15329         (gst_type_find_helper):
15330           The memory returned by gst_type_find_peek() needs to
15331           stay valid until the end of a typefind function, and
15332           typefind functions may keep results from different 
15333           offsets around, so we can't just unref the buffer from
15334           the previous _peek(), but have to save all buffers 
15335           returned by _peek() until typefinding is done and only
15336           free them then.
15337
15338 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
15339
15340         * docs/gst/gstreamer-sections.txt:
15341         * gst/gstutils.h:
15342           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
15343
15344 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15345
15346         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
15347           Fix a pretty good memleak.
15348
15349 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
15350
15351         * gst/gstiterator.h:
15352           Fix wrong include and 'make distcheck'.
15353
15354 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15355
15356         * gst/gstbin.c: (bin_bus_handler):
15357           Use gst_element_post_message() instead.
15358
15359 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
15360
15361         * gst/base/gstadapter.h:
15362         * gst/base/gstbasesink.h:
15363         * gst/base/gstbasesrc.h:
15364         * gst/base/gstbasetransform.h:
15365         * gst/base/gstcollectpads.h:
15366         * gst/base/gstpushsrc.h:
15367         * gst/gstiterator.h:
15368           Add padding to our base elements' class and instance structs and
15369           to GstIterator (you will need to rebuild all plugins and apps!)
15370
15371 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15372
15373         * gst/gstbin.c: (bin_bus_handler):
15374           Make default message forwarding from child->bus to bin->bus
15375           threadsafe and make it not emit warnings if the parent has no bus.
15376
15377 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15378
15379         * gst/gstelement.c: (activate_pads):
15380           On paused->ready, set pad->caps to NULL, as is the documented
15381           behaviour in this state change. Fixes playback of series of
15382           media files when visualization is enabled in Totem.
15383
15384 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15385
15386         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
15387           Allow NULL as filter-caps (which means "any").
15388
15389 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
15390
15391         * docs/libs/gstreamer-libs-sections.txt:
15392         * libs/gst/controller/gst-controller.c:
15393         * libs/gst/controller/gst-controller.h:
15394         * libs/gst/controller/gst-helper.c:
15395           adding more entries to the docs and fix small doc-bugs
15396
15397 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
15398
15399         * docs/gst/gstreamer-docs.sgml:
15400         * docs/gst/gstreamer-sections.txt:
15401         * docs/gst/gstreamer.types:
15402         * docs/gst/tmpl/gstbasesink.sgml:
15403         * docs/gst/tmpl/gstbasesrc.sgml:
15404         * docs/gst/tmpl/gstbasetransform.sgml:
15405         * docs/gst/tmpl/gstfakesrc.sgml:
15406         * gst/base/gstcollectpads.c:
15407         * gst/base/gstcollectpads.h:
15408         * libs/gst/controller/gst-controller.c:
15409         * libs/gst/controller/gst-controller.h:
15410         * libs/gst/controller/gst-helper.c:
15411         * libs/gst/controller/gst-interpolation.c:
15412         * libs/gst/controller/lib.c:
15413           added long/short desc for controller docs
15414           added collectpads base class docs
15415           added correct includes to base-class docs
15416
15417 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
15418
15419         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
15420         (gst_test_mono_source_set_property),
15421         (gst_test_mono_source_class_init), (GST_START_TEST),
15422         (gst_controller_suite):
15423         * docs/gst/gstreamer-docs.sgml:
15424         * docs/gst/gstreamer-sections.txt:
15425         * docs/gst/gstreamer.types:
15426         * docs/libs/gstreamer-libs-docs.sgml:
15427         * docs/libs/gstreamer-libs-sections.txt:
15428         * gst/base/gstadapter.c:
15429         * libs/gst/controller/gst-controller.c:
15430         (gst_controlled_property_new), (gst_controlled_property_free),
15431         (gst_controller_new_valist),
15432         (gst_controller_remove_properties_valist),
15433         (gst_controller_sink_values), (_gst_controller_finalize):
15434         * libs/gst/controller/gst-controller.h:
15435         * libs/gst/controller/gst-helper.c:
15436         (gst_object_control_properties), (gst_object_uncontrol_properties),
15437         (gst_object_get_controller), (gst_object_set_controller),
15438         (gst_object_sink_values), (gst_object_get_value_arrays),
15439         (gst_object_get_value_array):
15440           more tests (and fixes) for the controller
15441           more docs for the controller
15442           integrated companies docs for the adapter 
15443
15444 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
15445
15446         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
15447         (GST_START_TEST), (fakesrc_suite):
15448           add tests for sizetype
15449
15450 2005-08-04  Andy Wingo  <wingo@pobox.com>
15451
15452         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
15453         fixes buffer_alloc proxying among other things.
15454
15455         * gst/base/gstbasetransform.c:
15456         * gst/base/gstbasetransform.h:
15457         Revert patch to gstbasetransform from 7-28 removing
15458         delay_configure.
15459
15460         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
15461         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
15462         Semantics changed, should return not the size of the output buffer
15463         but the byte size of a buffer with a given caps.
15464
15465         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
15466         debug object.
15467         (gst_base_transform_configure_caps): Don't set out_size here: (in,
15468         out) are not the pad caps until setcaps finishes.
15469         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
15470         not-in-place case as well. Deal with changing from in-place to
15471         not-in-place within calling pad_alloc_buffer. Still a bit
15472         concerned about the overhead here...
15473
15474 2005-08-03  Andy Wingo  <wingo@pobox.com>
15475
15476         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
15477         fixating is an error.
15478
15479 2005-08-04  Edward Hervey  <edward@fluendo.com>
15480
15481         * gst/base/gstadapter.h: 
15482         Added gst_adapter_get_type() to the header
15483
15484 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
15485
15486         * check/Makefile.am:
15487         * check/gst-libs/controller.c:
15488         * libs/gst/controller/gst-controller.c:
15489         (gst_controller_new_valist):
15490           added check test suite for the controller
15491         * gst/base/gstpushsrc.c:
15492           fixed a doc typo
15493
15494 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
15495
15496         * docs/gst/Makefile.am:
15497         * docs/gst/gstreamer-docs.sgml:
15498         * docs/gst/gstreamer-sections.txt:
15499         * docs/gst/gstreamer.types:
15500         * docs/gst/tmpl/gstfakesrc.sgml:
15501         * gst/base/README:
15502         * gst/base/gstbasesink.c:
15503         * gst/base/gstbasesink.h:
15504         * gst/base/gstbasesrc.c:
15505         * gst/base/gstbasesrc.h:
15506         * gst/base/gstbasetransform.c:
15507         * gst/base/gstpushsrc.c:
15508         * gst/base/gstpushsrc.h:
15509           add short/long description docs to base classes
15510           add pushsrc to the docs
15511           remove consolidated doc fragments
15512
15513 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
15514
15515         * configure.ac:
15516         * docs/libs/Makefile.am:
15517         * docs/libs/gstreamer-libs-docs.sgml:
15518         * docs/libs/gstreamer-libs-sections.txt:
15519         * docs/libs/gstreamer-libs.types:
15520         * examples/Makefile.am:
15521         * examples/controller/.cvsignore:
15522         * examples/controller/Makefile.am:
15523         * examples/controller/audio-example.c: (main):
15524         * libs/gst/Makefile.am:
15525         * libs/gst/controller/.cvsignore:
15526         * libs/gst/controller/Makefile.am:
15527         * libs/gst/controller/gst-controller.c:
15528         (on_object_controlled_property_changed), (gst_timed_value_compare),
15529         (gst_timed_value_find),
15530         (gst_controlled_property_set_interpolation_mode),
15531         (gst_controlled_property_new), (gst_controlled_property_free),
15532         (gst_controller_find_controlled_property),
15533         (gst_controller_new_valist), (gst_controller_new),
15534         (gst_controller_remove_properties_valist),
15535         (gst_controller_remove_properties), (gst_controller_set),
15536         (gst_controller_set_from_list), (gst_controller_unset),
15537         (gst_controller_get), (gst_controller_get_all),
15538         (gst_controller_sink_values), (gst_controller_get_value_arrays),
15539         (gst_controller_get_value_array),
15540         (gst_controller_set_interpolation_mode),
15541         (_gst_controller_finalize), (_gst_controller_init),
15542         (_gst_controller_class_init), (gst_controller_get_type):
15543         * libs/gst/controller/gst-controller.h:
15544         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
15545         (g_object_uncontrol_properties), (g_object_get_controller),
15546         (g_object_set_controller), (g_object_sink_values),
15547         (g_object_get_value_arrays), (g_object_get_value_array):
15548         * libs/gst/controller/gst-interpolation.c:
15549         (gst_controlled_property_find_timed_value_node),
15550         (interpolate_none_get), (interpolate_trigger_get),
15551         (interpolate_trigger_get_value_array):
15552         * libs/gst/controller/lib.c: (gst_controller_init):
15553         * pkgconfig/Makefile.am:
15554         * pkgconfig/gstreamer-control-uninstalled.pc.in:
15555         * pkgconfig/gstreamer-control.pc.in:
15556         * testsuite/Makefile.am:
15557         * testsuite/controller/.cvsignore:
15558         * testsuite/controller/Makefile.am:
15559         * testsuite/controller/interpolator.c: (main):
15560           added controller code
15561           removed dparam pc files
15562
15563 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
15564         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
15565         (gst_collectpads_stop):
15566           Broadcast the condition when shutting down, to make sure we wake all
15567           threads up. Shut down pads on finalize, for safety.
15568
15569 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
15570         * gst/base/gstbasetransform.c: (gst_base_transform_init),
15571         (gst_base_transform_handle_buffer),
15572         (gst_base_transform_change_state):
15573           Handle PAUSED->READY->PAUSED transition after negotiation
15574           occurred already.
15575         * gst/gstmessage.c: (gst_message_init):
15576           Extra piece of debug for new messages.
15577
15578 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
15579
15580         * configure.ac:
15581         * docs/gst/tmpl/gstbasesrc.sgml:
15582         * docs/gst/tmpl/gstelement.sgml:
15583         * docs/gst/tmpl/gstevent.sgml:
15584         * docs/gst/tmpl/gstfakesrc.sgml:
15585         * docs/gst/tmpl/gstformat.sgml:
15586         * docs/gst/tmpl/gstghostpad.sgml:
15587         * docs/gst/tmpl/gstpad.sgml:
15588         * docs/gst/tmpl/gstquery.sgml:
15589         * docs/gst/tmpl/gststructure.sgml:
15590         * docs/gst/tmpl/gsttaglist.sgml:
15591         * docs/gst/tmpl/gstvalue.sgml:
15592         * docs/libs/gstreamer-libs-docs.sgml:
15593         * docs/libs/gstreamer-libs-sections.txt:
15594         * docs/libs/gstreamer-libs.types:
15595         * libs/gst/Makefile.am:
15596         * libs/gst/control/.cvsignore:
15597         * libs/gst/control/Makefile.am:
15598         * libs/gst/control/control.c:
15599         * libs/gst/control/control.h:
15600         * libs/gst/control/dparam.c:
15601         * libs/gst/control/dparam.h:
15602         * libs/gst/control/dparam_smooth.c:
15603         * libs/gst/control/dparam_smooth.h:
15604         * libs/gst/control/dparamcommon.h:
15605         * libs/gst/control/dparammanager.c:
15606         * libs/gst/control/dparammanager.h:
15607         * libs/gst/control/dplinearinterp.c:
15608         * libs/gst/control/dplinearinterp.h:
15609         * libs/gst/control/unitconvert.c:
15610         * libs/gst/control/unitconvert.h:
15611         * testsuite/Makefile.am:
15612         * testsuite/dynparams/.cvsignore:
15613         * testsuite/dynparams/Makefile.am:
15614         * testsuite/dynparams/dparamstest.c:
15615         * tools/Makefile.am:
15616         * tools/gst-inspect.c: (print_element_info), (main):
15617         * tools/gst-xmlinspect.c: (print_element_info), (main):
15618           deactivate and remove dparams (libgstcontrol)
15619
15620 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
15621
15622         * gst/elements/gsttypefindelement.c:
15623         (gst_type_find_element_have_type), (gst_type_find_element_init),
15624         (stop_typefinding), (gst_type_find_element_handle_event),
15625         (gst_type_find_element_chain), (gst_type_find_element_getrange):
15626         * gst/elements/gsttypefindelement.h:
15627           Set caps on all outgoing buffers, not just the first one.
15628
15629 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
15630
15631         * gst/elements/gsttypefindelement.c:
15632         (gst_type_find_element_have_type),
15633         (gst_type_find_element_check_set_buffer_caps),
15634         (gst_type_find_element_init), (stop_typefinding),
15635         (gst_type_find_element_handle_event),
15636         (gst_type_find_element_chain), (gst_type_find_element_getrange):
15637         * gst/elements/gsttypefindelement.h:
15638           Set caps on first outgoing buffer when we've found the type.
15639
15640 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
15641
15642         * docs/gst/gstreamer-docs.sgml:
15643         * docs/gst/gstreamer-sections.txt:
15644         * docs/gst/tmpl/gstscheduler.sgml:
15645         * docs/gst/tmpl/gstschedulerfactory.sgml:
15646           Remove some old cruft from docs.
15647
15648 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
15649
15650         * gst/gstpad.h:
15651           Fix inline docs for GstPadLinkReturn.
15652           
15653         * gst/gststructure.c: (gst_structure_has_name):
15654         * gst/gststructure.h:
15655         * docs/gst/gstreamer-sections.txt:
15656           New API: gst_structure_has_name().
15657
15658 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
15659
15660         * configure.ac:
15661           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
15662           and _LARGEFILE_SOURCE in config.h as required. Do not 
15663           export those flags in our .pc files any longer (#142209).
15664
15665           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
15666
15667         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
15668         (gst_file_sink_do_seek), (gst_file_sink_event),
15669         (gst_file_sink_get_current_offset), (gst_file_sink_render):
15670           Redo seek/tell calls with large file support in mind; add some
15671           debugging messages; add log message that tells us when large
15672           file support is unavailable or not enabled for some reason.
15673
15674         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
15675           Add log message that tells us when large file support 
15676           is unavailable or not enabled for some reason.
15677
15678 2005-07-29  Wim Taymans  <wim@fluendo.com>
15679
15680         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
15681         Added test for removing an element with ghostpad from a bin.
15682         Fixed test as current implementation does the right thing.
15683
15684         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
15685         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
15686         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
15687         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
15688         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
15689         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
15690         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
15691         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
15692         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
15693         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
15694         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
15695         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
15696         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
15697         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
15698         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
15699         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
15700         * gst/gstghostpad.h:
15701         Clean up ghostpads, remove properties for internal stuff.
15702         Make threadsafe.
15703         Fix refcounting.
15704         Prepare for switching targets, not all use cases work yet.
15705
15706 2005-07-29  Wim Taymans  <wim@fluendo.com>
15707
15708         * docs/design/part-gstghostpad.txt:
15709         Small update.
15710
15711         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
15712         (gst_bin_remove_func):
15713         Unlinking pads while holding the bin LOCK is not a good
15714         idea.
15715
15716         * gst/gstpad.c: (gst_pad_class_init),
15717         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
15718         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
15719         No prob setting template after creating the pad.
15720
15721 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
15722
15723         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
15724         (gst_bus_peek), (gst_bus_source_dispatch),
15725         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
15726         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
15727           gst_bus_poll may be called from other threads. Handle
15728           this nicely by not making poll_data disappear off the
15729           stack once gst_bus_poll returns.
15730           gst_bus_peek now increments the refcount on the returned
15731           message.
15732
15733 2005-07-29  Wim Taymans  <wim@fluendo.com>
15734
15735         * docs/design/part-gstghostpad.txt:
15736         Overview of current GhostPad datastructures and use
15737         cases for changing the target.
15738
15739 2005-07-28  Wim Taymans  <wim@fluendo.com>
15740
15741         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
15742         Added checks for hierarchy consistency whan adding linked
15743         elements to bins.
15744
15745         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
15746         Added check to test element scheduling without bin/pipeline.
15747
15748         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
15749         First add elements to bin, then link.
15750         
15751         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
15752         (gst_bin_remove_func):
15753         Unlink pads from elements added/removed from bin to maintain
15754         hierarchy consistency.
15755
15756 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15757
15758         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
15759         (gst_base_transform_handle_buffer):
15760         * gst/base/gstbasetransform.h:
15761           Remove broken delay_configure (fixes renegotiation of software
15762           scaling pipelines); remove some leftover printf()s.
15763
15764 2005-07-28  Wim Taymans  <wim@fluendo.com>
15765
15766         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
15767         Added some more tests for wrong hierarchy
15768
15769         * docs/design/part-overview.txt:
15770         Some updates.
15771
15772         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
15773         Cleanups.
15774
15775         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
15776         (gst_element_dispose):
15777         Some more cleanups.
15778
15779         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
15780         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
15781         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
15782         (gst_pad_set_caps), (gst_pad_send_event):
15783         Check for correct hierarchy when linking pads. Moving to
15784         strict requirement for ghostpads when linking elements in
15785         different bins.
15786
15787         * gst/gstpad.h:
15788         Clean ups. Added WRONG_HIERARCHY return value.
15789
15790 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15791
15792         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
15793           Better debug if no transform is possible.
15794
15795 2005-07-27  Wim Taymans  <wim@fluendo.com>
15796
15797         * docs/random/wtay/network-transp:
15798         Some old doc I had.
15799
15800 2005-07-27  Wim Taymans  <wim@fluendo.com>
15801
15802         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
15803         (gst_dp_event_from_packet):
15804         Fix serialization of seek events.
15805
15806 2005-07-27  Wim Taymans  <wim@fluendo.com>
15807
15808         * check/gst-libs/gdp.c: (GST_START_TEST):
15809         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
15810         Fix compilation and fix event serialization.
15811
15812 2005-07-27  Wim Taymans  <wim@fluendo.com>
15813
15814         * CHANGES-0.9:
15815         * docs/design/part-TODO.txt:
15816         * docs/design/part-events.txt:
15817         Some docs updates
15818
15819         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
15820         (gst_base_sink_event), (gst_base_sink_do_sync),
15821         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
15822         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
15823         (gst_base_src_do_seek), (gst_base_src_event_handler),
15824         (gst_base_src_loop):
15825         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
15826         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
15827         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
15828         (gst_base_transform_event), (gst_base_transform_handle_buffer),
15829         (gst_base_transform_set_passthrough),
15830         (gst_base_transform_is_passthrough):
15831         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
15832         * gst/elements/gstfilesink.c: (gst_file_sink_event):
15833         Event updates.
15834
15835         * gst/gstbuffer.h:
15836         Use faster casts.
15837
15838         * gst/gstelement.c: (gst_element_seek):
15839         * gst/gstelement.h:
15840         Update gst_element_seek.
15841
15842         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
15843         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
15844         (gst_event_new_flush_start), (gst_event_new_flush_stop),
15845         (gst_event_new_eos), (gst_event_new_newsegment),
15846         (gst_event_parse_newsegment), (gst_event_new_tag),
15847         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
15848         (gst_event_parse_qos), (gst_event_new_seek),
15849         (gst_event_parse_seek), (gst_event_new_navigation):
15850         * gst/gstevent.h:
15851         Make GstEvent use GstStructure. Add parsing code, make sure the
15852         API is sufficiently generic.
15853         Mark possible directions of events and serialization.
15854
15855         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
15856         (_gst_message_copy), (gst_message_new_segment_start),
15857         (gst_message_new_segment_done), (gst_message_new_custom),
15858         (gst_message_parse_segment_start),
15859         (gst_message_parse_segment_done):
15860         Small cleanups.
15861
15862         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
15863         (gst_pad_set_caps), (gst_pad_send_event):
15864         Update for new events. 
15865         Catch events sent in wrong directions.
15866
15867         * gst/gstqueue.c: (gst_queue_link_src),
15868         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
15869         (gst_queue_handle_src_query):
15870         Event updates.
15871
15872         * gst/gsttag.c:
15873         * gst/gsttag.h:
15874         Remove event code from this file.
15875
15876         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
15877         (gst_dp_event_from_packet):
15878         Event updates.
15879
15880 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15881
15882         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
15883         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
15884         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
15885           Make debugging actually useful.
15886
15887 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15888
15889         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
15890         (gst_pad_fixate_caps):
15891           Implement default fixation once again, so that gst_pad_fixate()
15892           actually does anything at all. This probably needs to be some
15893           sort of a last resort, and use profile-based fixation first, but
15894           since that doesn't exist yet, this is the best we have. Fixes
15895           visualization in Totem.
15896
15897 2005-07-22  Wim Taymans  <wim@fluendo.com>
15898
15899         * docs/design/part-events.txt:
15900         Small update.
15901
15902         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
15903         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
15904         (gst_base_sink_activate_pull):
15905         Some more comments.
15906
15907         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
15908         (gst_fake_src_create):
15909         Fix handoff marshall.
15910
15911         * gst/elements/gstidentity.c: (gst_identity_class_init),
15912         (gst_identity_transform_ip):
15913         We're a real inplace element.
15914
15915         * gst/gstbus.c: (gst_bus_post):
15916         Added some comments.
15917
15918         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
15919         * tests/muxing/case1.c: (main):
15920         * tests/sched/dynamic-pipeline.c: (main):
15921         * tests/sched/interrupt1.c: (main):
15922         * tests/sched/interrupt2.c: (main):
15923         * tests/sched/interrupt3.c: (main):
15924         * tests/sched/runxml.c: (main):
15925         * tests/sched/sched-stress.c: (main):
15926         * tests/seeking/seeking1.c: (event_received), (main):
15927         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
15928         (main):
15929         * tests/threadstate/threadstate3.c: (main):
15930         * tests/threadstate/threadstate4.c: (main):
15931         * tests/threadstate/threadstate5.c: (main):
15932         Fix the tests.
15933
15934 2005-07-21  Wim Taymans  <wim@fluendo.com>
15935
15936         * docs/design/part-seeking.txt:
15937         Some small additions.
15938
15939         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
15940         (gst_base_sink_get_times), (gst_base_sink_do_sync),
15941         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
15942         * gst/base/gstbasesink.h:
15943         discont values are gint64, handle the math correctly.
15944
15945         * gst/base/gstbasesrc.c: (gst_base_src_loop):
15946         Make the basesrc report error if the source pad is not linked.
15947
15948         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
15949         (gst_queue_loop), (gst_queue_handle_src_query),
15950         (gst_queue_src_activate_push):
15951         Make queue collect data even if the srcpad is not linked.
15952         Start pushing out data as soon as it is linked.
15953
15954         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
15955         * gst/gstutils.h:
15956         Added gst_flow_get_name() to ease error reporting.
15957
15958 2005-07-20  Wim Taymans  <wim@fluendo.com>
15959
15960         * gst/gstmessage.c: (gst_message_new_segment_start),
15961         (gst_message_new_segment_done), (gst_message_parse_segment_start),
15962         (gst_message_parse_segment_done):
15963         * gst/gstmessage.h:
15964         Added a bunch of messages for advanced seeking.
15965
15966         * gst/parse/grammar.y:
15967         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
15968         (gst_dpman_state_changed):
15969         Fix some new-pad -> pad-added signals
15970
15971 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15972
15973         * docs/manual/appendix-porting.xml:
15974         * docs/pwg/appendix-porting.xml:
15975           Document new-pad/state-change signal renames and the FixedList
15976           type rename.
15977
15978 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15979
15980         * docs/manual/advanced-autoplugging.xml:
15981         * docs/manual/basics-helloworld.xml:
15982         * docs/manual/basics-pads.xml:
15983         * docs/random/ds/0.9-suggested-changes:
15984         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
15985         * gst/gstelement.h:
15986         * gst/gstevent.h:
15987         * gst/gstformat.h:
15988         * gst/gstquery.h:
15989         * gst/gststructure.c: (gst_structure_value_get_generic_type),
15990         (gst_structure_parse_array), (gst_structure_parse_value):
15991         * gst/gstvalue.c: (gst_type_is_fixed),
15992         (gst_value_list_prepend_value), (gst_value_list_append_value),
15993         (gst_value_list_get_size), (gst_value_list_get_value),
15994         (gst_value_transform_array_string), (gst_value_serialize_array),
15995         (gst_value_deserialize_array), (gst_value_intersect_array),
15996         (gst_value_is_fixed), (_gst_value_initialize):
15997         * gst/gstvalue.h:
15998           GstElement::new-pad -> pad-added, GstElement::state-change ->
15999           state-changed, GstValueFixedList -> GstValueArray, add format and
16000           flags as their own arguments in gst_element_seek() (should improve
16001           "bindeability"), remove function generators since they don't work
16002           under a whole bunch of compilers (they were deprecated already
16003           anyway).
16004
16005 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16006
16007         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
16008         (_gst_debug_register_funcptr):
16009         * gst/gstinfo.h:
16010           Fix illegal cast on some platforms (#309253).
16011
16012 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16013
16014         * gst/gstmessage.c: (gst_message_new_custom):
16015         * gst/gstmessage.h:
16016           Add _new_custom, make _new_application a macro to _new_custom.
16017
16018 2005-07-20  Wim Taymans  <wim@fluendo.com>
16019
16020         * gst/base/gstbasesrc.c: (gst_base_src_init),
16021         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
16022         * gst/base/gstbasesrc.h:
16023         Add a gboolean to decide when to push out a discont.
16024
16025         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
16026         (gst_queue_loop), (gst_queue_handle_src_query),
16027         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
16028         (gst_queue_set_property), (gst_queue_get_property):
16029         Some cleanups.
16030
16031         * tests/threadstate/threadstate1.c: (main):
16032         Make a thread test compile and run... very silly..
16033
16034
16035 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16036
16037         * docs/manual/appendix-porting.xml:
16038           Mention removal of libgstgconf-0.9.la and existence of gconf
16039           elements.
16040
16041 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16042
16043         * docs/pwg/advanced-clock.xml:
16044         * docs/pwg/appendix-porting.xml:
16045         * docs/pwg/intro-preface.xml:
16046         * docs/pwg/other-base.xml:
16047         * docs/pwg/other-manager.xml:
16048         * docs/pwg/other-nton.xml:
16049         * docs/pwg/other-ntoone.xml:
16050         * docs/pwg/other-oneton.xml:
16051         * docs/pwg/pwg.xml:
16052           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
16053           demuxer), remove n-to-n (was never written), fix some code examples
16054           and links and update the porting section to include all this.
16055
16056 2005-07-19  Wim Taymans  <wim@fluendo.com>
16057
16058         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
16059         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
16060         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
16061         (gst_queue_src_activate_push), (gst_queue_change_state),
16062         (gst_queue_get_property):
16063         * gst/gstqueue.h:
16064         Propagate GstFlowReturn more intelligently upstream and output
16065         an ERROR/EOS when streaming stopped due to fatal error.
16066
16067 2005-07-19  Wim Taymans  <wim@fluendo.com>
16068
16069         * tools/gst-launch.c: (check_intr), (event_loop), (main):
16070         Don't block forever for the state change to complete, the
16071         pipeline already did with a sensible timeout.
16072
16073 2005-07-19  Wim Taymans  <wim@fluendo.com>
16074
16075         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
16076         Make sure we never call the create function is we
16077         got deactivated.
16078
16079 2005-07-19  Andy Wingo  <wingo@pobox.com>
16080
16081         * gst/parse/parse.l: Attempt to solve bug #172815.
16082
16083 2005-07-19  Wim Taymans  <wim@fluendo.com>
16084
16085         * docs/design/part-clocks.txt:
16086         * docs/design/part-events.txt:
16087         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
16088         Small docs updates.
16089         Only update the seeking values when we are not
16090         busy streaming.
16091
16092 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
16093
16094         * gst/base/gstbasesrc.c: (gst_base_src_loop):
16095           Oops, ignore the result of gst_pad_push_event here.
16096
16097 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
16098
16099         * gst/base/gstbasesrc.c: (gst_base_src_loop),
16100         (gst_base_src_activate_push):
16101           Send discont event from the loop function, as pads
16102           aren't activated yet in the activate_push handler.
16103
16104         * gst/gstbin.c: (bin_bus_handler):
16105           Don't leak element name.
16106
16107 2005-07-18  Andy Wingo  <wingo@pobox.com>
16108
16109         * configure.ac: Use AS_LIBTOOL_TAGS.
16110
16111 2005-07-18  Wim Taymans  <wim@fluendo.com>
16112
16113         * docs/gst/gstreamer.types:
16114         Remove deleted types.
16115
16116 2005-07-18  Wim Taymans  <wim@fluendo.com>
16117
16118         * check/elements/gstfakesrc.c: (GST_START_TEST):
16119         * configure.ac:
16120         * gst/Makefile.am:
16121         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
16122         (init_popt_callback):
16123         * gst/gst.h:
16124         * gst/gst_private.h:
16125         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
16126         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
16127         * gst/gstbin.h:
16128         * gst/gstbus.h:
16129         * gst/gstconfig.h.in:
16130         * gst/gstelement.c: (gst_element_class_init),
16131         (gst_element_set_base_time), (gst_element_get_base_time),
16132         (iterator_fold_with_resync), (gst_element_change_state),
16133         (gst_element_dispose), (gst_element_get_bus):
16134         * gst/gstelement.h:
16135         * gst/gstelementfactory.h:
16136         * gst/gsterror.c: (_gst_core_errors_init):
16137         * gst/gsterror.h:
16138         * gst/gstevent.h:
16139         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
16140         * gst/gstindex.c:
16141         * gst/gstinfo.c: (_gst_debug_init):
16142         * gst/gstmessage.c: (_gst_message_copy):
16143         * gst/gstmessage.h:
16144         * gst/gstminiobject.h:
16145         * gst/gstobject.c:
16146         * gst/gstobject.h:
16147         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
16148         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
16149         * gst/gstpad.h:
16150         * gst/gstparse.h:
16151         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
16152         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
16153         (gst_pipeline_get_last_stream_time):
16154         * gst/gstpipeline.h:
16155         * gst/gstpluginfeature.h:
16156         * gst/gstquery.h:
16157         * gst/gstscheduler.c:
16158         * gst/gstscheduler.h:
16159         * gst/gststructure.h:
16160         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
16161         (gst_task_finalize), (gst_task_func), (gst_task_create),
16162         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
16163         (gst_task_stop), (gst_task_pause):
16164         * gst/gsttask.h:
16165         * gst/gsttypefind.h:
16166         * gst/gsttypes.h:
16167         * gst/registries/gstlibxmlregistry.c: (load_feature),
16168         (gst_xml_registry_load), (gst_xml_registry_save_feature):
16169         * gst/registries/gstxmlregistry.c:
16170         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
16171         * gst/schedulers/threadscheduler.c:
16172         * libs/gst/control/dparammanager.h:
16173         * tools/gst-inspect.c: (print_element_list),
16174         (print_plugin_features), (print_element_features):
16175         * tools/gst-xmlinspect.c: (print_element_list),
16176         (print_plugin_info), (main):
16177         Removed plugable schedulers.
16178         Removed Scheduler/Manager from elements.
16179         Removed gsttypes.h, rearranged includes.
16180         Removed dependency pad<->element, element<>pipeline, and
16181         various others,  fix includes.
16182         implement gst_pad_get_parent() with gst_object_get_parent()
16183         Make GstTask sefcontained.
16184         Fix _get_state() on GstBin, it did not return ASYNC with a 0
16185         timeout.
16186         Fix endless loop in iterator_fold_with_resync.
16187
16188
16189 2005-07-18  Wim Taymans  <wim@fluendo.com>
16190
16191         * gst/Makefile.am:
16192         * gst/gstarch.h:
16193         Remove old file.
16194
16195 2005-07-18  Wim Taymans  <wim@fluendo.com>
16196
16197         * gst/Makefile.am:
16198         No more cothreads.h
16199
16200 2005-07-18  Wim Taymans  <wim@fluendo.com>
16201
16202         * gst/cothreads.c:
16203         * gst/cothreads.h:
16204         Let's remove these.
16205
16206 2005-07-18  Wim Taymans  <wim@fluendo.com>
16207
16208         * docs/design/part-dynamic.txt:
16209         * docs/design/part-events.txt:
16210         * docs/design/part-seeking.txt:
16211         Some more docs in the works.
16212
16213         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
16214         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
16215         (gst_base_transform_setcaps), (gst_base_transform_get_size),
16216         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
16217         (gst_base_transform_handle_buffer),
16218         (gst_base_transform_sink_activate_push),
16219         (gst_base_transform_src_activate_pull),
16220         (gst_base_transform_set_passthrough),
16221         (gst_base_transform_is_passthrough):
16222         Refcounting fixes.
16223
16224         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
16225         Cleanups.
16226
16227         * gst/gstevent.c: (gst_event_finalize):
16228         Set SRC to NULL.
16229
16230         * gst/gstutils.c: (gst_element_unlink),
16231         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
16232         (gst_pad_proxy_setcaps):
16233         * gst/gstutils.h:
16234         Add _get_parent_element() to get a pads parent as an element.
16235
16236 2005-07-18  Wim Taymans  <wim@fluendo.com>
16237
16238         * check/gst/gstbin.c: (GST_START_TEST):
16239         Remove bogus test.
16240
16241 2005-07-18  Wim Taymans  <wim@fluendo.com>
16242
16243         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
16244         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
16245         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
16246         (gst_base_sink_event), (gst_base_sink_do_sync),
16247         (gst_base_sink_chain), (gst_base_sink_loop),
16248         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
16249         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
16250         Refcounting fixes.
16251         Fix logic for returning ASYNC when not prerolled.
16252
16253 2005-07-18  Wim Taymans  <wim@fluendo.com>
16254
16255         * gst/gstqueue.c: (gst_queue_handle_sink_event):
16256         Fix nasty refcount bug.
16257
16258 2005-07-16 Philippe Khalaf <burger@speedy.org>
16259
16260         * gst/elements/gstfdsrc.c:
16261         * gst/elements/gstfdsrc.h:
16262         * gst/elements/gstelements.c:
16263         * gst/elements/Makefile.am:
16264         Ported fdsrc to 0.9.
16265
16266 2005-07-16  Wim Taymans  <wim@fluendo.com>
16267
16268         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
16269         (gst_base_sink_do_sync):
16270         Fix compile error.
16271
16272 2005-07-16  Wim Taymans  <wim@fluendo.com>
16273
16274         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
16275         (gst_base_sink_event), (gst_base_sink_get_times),
16276         (gst_base_sink_do_sync), (gst_base_sink_change_state):
16277         * gst/base/gstbasesink.h:
16278         Store and use discont values when syncing buffers as described
16279         in design docs.
16280         
16281         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
16282         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
16283         (gst_base_src_activate_push):
16284         Push discont event when starting.
16285
16286         * gst/elements/gstidentity.c: (gst_identity_transform):
16287         Small cleanups.
16288
16289         * gst/gstbin.c: (gst_bin_change_state):
16290         Small cleanups in base_time  distribution.
16291
16292         * gst/gstelement.c: (gst_element_set_base_time),
16293         (gst_element_get_base_time), (gst_element_change_state):
16294         * gst/gstelement.h:
16295         Added methods for the base_time of the element.
16296         Some MT fixes.
16297
16298         * gst/gstpipeline.c: (gst_pipeline_send_event),
16299         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
16300         (gst_pipeline_get_last_stream_time):
16301         * gst/gstpipeline.h:
16302         MT fixes.
16303         Handle seeking as described in design doc, remove stream_time
16304         hack.
16305         Cleanups clock and stream_time selection code. Added accessors
16306         for the stream_time.
16307         
16308
16309 2005-07-16  Andy Wingo  <wingo@pobox.com>
16310
16311         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
16312         (#305291).
16313
16314 2005-07-16  Wim Taymans  <wim@fluendo.com>
16315
16316         * check/gst/gstbin.c: (GST_START_TEST):
16317         Make elements silent as the deep_notify refs the
16318         parent, which might make the test fail.
16319
16320         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
16321         Don't hold the lock for too long.
16322
16323 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
16324
16325         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
16326           Don't unref the caps we passed to gst_caps_make_writable() after
16327           passing them. gst_caps_make_writable() will do that for us.
16328
16329 2005-07-15  Andy Wingo  <wingo@pobox.com>
16330
16331         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
16332         (#157311).
16333
16334         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
16335         own marshalling function for the handoff signal. Properly type the
16336         buffer as a buffer. Fixes some warnings. Should do a more general
16337         solution.
16338         (gst_identity_class_init): Plug into the right marshaller.
16339
16340 2005-07-15  Wim Taymans  <wim@fluendo.com>
16341
16342         * docs/design/part-TODO.txt:
16343         * docs/design/part-clocks.txt:
16344         * docs/design/part-element-sink.txt:
16345         * docs/design/part-events.txt:
16346         * docs/design/part-gstpipeline.txt:
16347         Updated docs, mostly DISCONT related.
16348
16349 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
16350
16351         * docs/pwg/building-pads.xml:
16352           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
16353
16354 2005-07-15  Andy Wingo  <wingo@pobox.com>
16355
16356         * tools/gst-typefind.c: Update, add copyright block.
16357
16358         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
16359         Normalize and truncate caps before fixation.
16360
16361         * gst/gstcaps.h:
16362         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
16363         discards all but the first structure from its argument.
16364
16365 2005-07-15  Wim Taymans  <wim@fluendo.com>
16366
16367         * gst/base/gstbasetransform.c: (gst_base_transform_init),
16368         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
16369         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
16370         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
16371         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
16372         (gst_base_transform_chain), (gst_base_transform_change_state),
16373         (gst_base_transform_set_passthrough),
16374         (gst_base_transform_is_passthrough):
16375         * gst/base/gstbasetransform.h:
16376         Make passthrough work using the bufferpools.
16377         Changed API a bit, subclasses have to write into a buffer
16378         provided by the base class.
16379         More debug info in nego functions.
16380         
16381         * gst/elements/gstidentity.c: (gst_identity_init),
16382         (gst_identity_transform):
16383         Port to new base class.
16384
16385 2005-07-15  Wim Taymans  <wim@fluendo.com>
16386
16387         * gst/gstmessage.c: (gst_message_new_state_changed):
16388         * tools/gst-launch.c: (event_loop), (main):
16389         Totally dump messages in -launch with the -m option.
16390         Fix message name for State messages,
16391
16392 2005-07-14  Wim Taymans  <wim@fluendo.com>
16393
16394         * gst/base/gstbasesrc.c: (gst_base_src_loop):
16395         Post error messages on errors.
16396
16397 2005-07-14  Wim Taymans  <wim@fluendo.com>
16398
16399         * gst/gstcaps.c: (gst_caps_do_simplify):
16400         Remove debug info.
16401
16402         * gst/gsterror.h:
16403         Define error for stream stopped.
16404
16405         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
16406         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
16407         Do proper return values.
16408
16409         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
16410         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
16411         (gst_pad_get_range):
16412         Better return values.
16413
16414         * gst/gstpad.h:
16415         Reorganise return values, add macro to check for fatal errors.
16416
16417         * gst/gstqueue.c: (gst_queue_chain):
16418         Return proper GstFlowReturn values,
16419
16420 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
16421
16422         * docs/gst/gstreamer-sections.txt:
16423         * docs/gst/gstreamer.types:
16424         * docs/gst/tmpl/gst.sgml:
16425         * docs/gst/tmpl/gstbasesink.sgml:
16426         * docs/gst/tmpl/gstbasesrc.sgml:
16427         * docs/gst/tmpl/gstbasetransform.sgml:
16428         * docs/gst/tmpl/gstbin.sgml:
16429         * docs/gst/tmpl/gstbuffer.sgml:
16430         * docs/gst/tmpl/gstcaps.sgml:
16431         * docs/gst/tmpl/gstclock.sgml:
16432         * docs/gst/tmpl/gstcompat.sgml:
16433         * docs/gst/tmpl/gstconfig.sgml:
16434         * docs/gst/tmpl/gstelement.sgml:
16435         * docs/gst/tmpl/gstelementdetails.sgml:
16436         * docs/gst/tmpl/gstelementfactory.sgml:
16437         * docs/gst/tmpl/gstenumtypes.sgml:
16438         * docs/gst/tmpl/gsterror.sgml:
16439         * docs/gst/tmpl/gstevent.sgml:
16440         * docs/gst/tmpl/gstfakesink.sgml:
16441         * docs/gst/tmpl/gstfakesrc.sgml:
16442         * docs/gst/tmpl/gstfilesink.sgml:
16443         * docs/gst/tmpl/gstfilesrc.sgml:
16444         * docs/gst/tmpl/gstfilter.sgml:
16445         * docs/gst/tmpl/gstformat.sgml:
16446         * docs/gst/tmpl/gstghostpad.sgml:
16447         * docs/gst/tmpl/gstimplementsinterface.sgml:
16448         * docs/gst/tmpl/gstindex.sgml:
16449         * docs/gst/tmpl/gstindexfactory.sgml:
16450         * docs/gst/tmpl/gstinfo.sgml:
16451         * docs/gst/tmpl/gstiterator.sgml:
16452         * docs/gst/tmpl/gstmacros.sgml:
16453         * docs/gst/tmpl/gstmemchunk.sgml:
16454         * docs/gst/tmpl/gstminiobject.sgml:
16455         * docs/gst/tmpl/gstobject.sgml:
16456         * docs/gst/tmpl/gstpad.sgml:
16457         * docs/gst/tmpl/gstpadtemplate.sgml:
16458         * docs/gst/tmpl/gstparse.sgml:
16459         * docs/gst/tmpl/gstpipeline.sgml:
16460         * docs/gst/tmpl/gstplugin.sgml:
16461         * docs/gst/tmpl/gstpluginfeature.sgml:
16462         * docs/gst/tmpl/gstquery.sgml:
16463         * docs/gst/tmpl/gstqueue.sgml:
16464         * docs/gst/tmpl/gstregistry.sgml:
16465         * docs/gst/tmpl/gstregistrypool.sgml:
16466         * docs/gst/tmpl/gstscheduler.sgml:
16467         * docs/gst/tmpl/gstschedulerfactory.sgml:
16468         * docs/gst/tmpl/gststructure.sgml:
16469         * docs/gst/tmpl/gstsystemclock.sgml:
16470         * docs/gst/tmpl/gsttaglist.sgml:
16471         * docs/gst/tmpl/gsttagsetter.sgml:
16472         * docs/gst/tmpl/gsttrace.sgml:
16473         * docs/gst/tmpl/gsttrashstack.sgml:
16474         * docs/gst/tmpl/gsttypefind.sgml:
16475         * docs/gst/tmpl/gsttypefindfactory.sgml:
16476         * docs/gst/tmpl/gsttypes.sgml:
16477         * docs/gst/tmpl/gsturihandler.sgml:
16478         * docs/gst/tmpl/gsturitype.sgml:
16479         * docs/gst/tmpl/gstutils.sgml:
16480         * docs/gst/tmpl/gstvalue.sgml:
16481         * docs/gst/tmpl/gstversion.sgml:
16482         * docs/gst/tmpl/gstxml.sgml:
16483         * docs/libs/tmpl/gstcontrol.sgml:
16484         * docs/libs/tmpl/gstdataprotocol.sgml:
16485         * docs/libs/tmpl/gstdparam.sgml:
16486         * docs/libs/tmpl/gstdplinint.sgml:
16487         * docs/libs/tmpl/gstdpman.sgml:
16488         * docs/libs/tmpl/gstdpsmooth.sgml:
16489         * docs/libs/tmpl/gstgetbits.sgml:
16490         * docs/libs/tmpl/gstunitconvert.sgml:
16491         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
16492         (gst_push_src_base_init), (gst_push_src_class_init),
16493         (gst_push_src_init), (gst_push_src_create):
16494         * gst/base/gstpushsrc.h:
16495         * gst/elements/gstelements.c:
16496         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
16497         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
16498         (gst_fake_sink_init), (gst_fake_sink_set_property),
16499         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
16500         (gst_fake_sink_event), (gst_fake_sink_preroll),
16501         (gst_fake_sink_render), (gst_fake_sink_change_state):
16502         * gst/elements/gstfakesink.h:
16503         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
16504         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
16505         (gst_fake_src_base_init), (gst_fake_src_class_init),
16506         (gst_fake_src_init), (gst_fake_src_event_handler),
16507         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
16508         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
16509         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
16510         (gst_fake_src_create_buffer), (gst_fake_src_create),
16511         (gst_fake_src_start), (gst_fake_src_stop):
16512         * gst/elements/gstfakesrc.h:
16513         * gst/elements/gstfilesink.c: (_do_init),
16514         (gst_file_sink_base_init), (gst_file_sink_class_init),
16515         (gst_file_sink_init), (gst_file_sink_dispose),
16516         (gst_file_sink_set_location), (gst_file_sink_set_property),
16517         (gst_file_sink_get_property), (gst_file_sink_open_file),
16518         (gst_file_sink_close_file), (gst_file_sink_query),
16519         (gst_file_sink_event), (gst_file_sink_render),
16520         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
16521         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
16522         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
16523         * gst/elements/gstfilesink.h:
16524         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
16525         (gst_file_src_class_init), (gst_file_src_init),
16526         (gst_file_src_finalize), (gst_file_src_set_location),
16527         (gst_file_src_set_property), (gst_file_src_get_property),
16528         (gst_file_src_map_region), (gst_file_src_map_small_region),
16529         (gst_file_src_create_mmap), (gst_file_src_create_read),
16530         (gst_file_src_create), (gst_file_src_is_seekable),
16531         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
16532         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
16533         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
16534         (gst_file_src_uri_handler_init):
16535         * gst/elements/gstfilesrc.h:
16536           more autistic cleanliness in functions/names/defines
16537
16538 2005-07-13  Andy Wingo  <wingo@pobox.com>
16539
16540         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
16541         source couldn't negotiate.
16542
16543         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
16544         connections again.
16545
16546         * gst/gstutils.h:
16547         * gst/gstutils.c (gst_element_link_pads_filtered): New old
16548         function. I am channeling Hades. Put your boots on suckers!!!
16549
16550 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
16551
16552         * testsuite/caps/Makefile.am:
16553         * testsuite/caps/value_compare.c:
16554         * testsuite/caps/value_intersect.c:
16555         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
16556           move two testsuite apps over to the check dir
16557
16558 2005-07-12  Wim Taymans  <wim@fluendo.com>
16559
16560         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
16561         Added more debug info in the negotiate process.
16562
16563         * gst/gstmessage.h:
16564         Prepare for segment playback.
16565
16566         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
16567         Better debugging.
16568
16569         * gst/gstutils.c:
16570         Some more docs.
16571
16572         * tools/gst-launch.c: (main):
16573         NULL pipeline on errors.
16574
16575 2005-07-12  Andy Wingo  <wingo@pobox.com>
16576
16577         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
16578         not it comes from a malloc region. Make sure our copy gets freed.
16579
16580 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
16581
16582         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
16583         * check/gst/gstmessage.c: (GST_START_TEST):
16584         * check/gst/gststructure.c: (GST_START_TEST),
16585         (gst_structure_suite), (main):
16586           more testing
16587         * gst/gstelement.c: (gst_element_message_full):
16588           clean up GError and debug string now that they get copied
16589         * gst/gstmessage.c: (gst_message_new_error),
16590         (gst_message_new_warning), (gst_message_parse_error),
16591         (gst_message_parse_warning):
16592           use GST_TYPE_G_ERROR for structure_new, and take copies of
16593           arguments, so that we don't mess up refcounting
16594
16595 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
16596
16597         * check/Makefile.am:
16598           add per-test valgrind targets
16599         * check/gst-libs/gdp.c: (GST_START_TEST),
16600         (gst_data_protocol_suite), (main):
16601           clean up
16602
16603 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
16604
16605         * check/Makefile.am:
16606           instate more valgrindable tests
16607         * check/elements/gstfakesrc.c: (chain_func), (event_func),
16608         (GST_START_TEST), (fakesrc_suite):
16609         * check/gst/gstpad.c: (GST_START_TEST):
16610         * check/gst/gststructure.c: (GST_START_TEST):
16611           fix test leaks
16612         * docs/gst/tmpl/gstminiobject.sgml:
16613         * gst/gstpad.c: (gst_pad_finalize):
16614           fix the static mutex leak
16615
16616 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
16617
16618         * check/Makefile.am:
16619           add two more tests for valgrinding
16620         * check/gst/gstvalue.c: (GST_START_TEST):
16621           test refcount of deserialized buffer, found a leak
16622         * docs/gst/gstreamer-docs.sgml:
16623         * docs/gst/gstreamer-sections.txt:
16624         * docs/gst/gstreamer.types:
16625         * docs/gst/tmpl/gstminiobject.sgml:
16626           add miniobject to docs
16627         * gst/gstminiobject.c:
16628           add some docs
16629         * gst/gstvalue.c: (gst_value_deserialize_buffer),
16630         (gst_string_unwrap):
16631           fix a hard-to-find invalid write for one of the tests
16632           fix a leak for deserialized buffers
16633
16634 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16635
16636         * docs/pwg/advanced-events.xml:
16637         * docs/pwg/advanced-request.xml:
16638         * docs/pwg/advanced-scheduling.xml:
16639         * docs/pwg/appendix-porting.xml:
16640         * docs/pwg/building-boiler.xml:
16641         * docs/pwg/intro-preface.xml:
16642         * docs/pwg/other-ntoone.xml:
16643           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
16644           of example code and explanation for pad activation, loop() and
16645           getrange() functions and a bit more. Remove old comments pointing
16646           to loop-functions.
16647         * examples/pwg/Makefile.am:
16648           Add loop/getrange examples.
16649
16650 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
16651
16652         * configure.ac:
16653           check for valgrind binary + some fixes
16654         * check/gst.supp:
16655           valgrind suppressions for the tests
16656         * check/Makefile.am:
16657           add a valgrind: target that valgrinds the unit tests
16658         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
16659         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
16660         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
16661         * check/gst/gstghostpad.c:
16662           added some cleanup
16663         * check/gst/gstdata.c:
16664           removed
16665         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
16666         (thread_unref), (gst_mini_object_suite), (main):
16667           added
16668         * gst/gst.c: (gst_deinit):
16669         * gst/gst.h:
16670           add a method to clean up.
16671         * gst/gstsystemclock.c: (gst_system_clock_dispose),
16672         (gst_system_clock_obtain):
16673           allow for disposing the system clock.
16674         * tools/gst-launch.c: (main):
16675           deinit
16676
16677 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
16678
16679         * docs/gst/tmpl/gstbasesrc.sgml:
16680         * docs/gst/tmpl/gstfakesrc.sgml:
16681         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
16682         (gst_base_src_init), (gst_base_src_set_property),
16683         (gst_base_src_get_property), (gst_base_src_get_range),
16684         (gst_base_src_start):
16685         * gst/base/gstbasesrc.h:
16686           add num-buffers property
16687         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
16688         (gst_fakesrc_init), (gst_fakesrc_set_property),
16689         (gst_fakesrc_get_property), (gst_fakesrc_create),
16690         (gst_fakesrc_start):
16691           remove num-buffers property
16692
16693 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
16694
16695         * docs/gst/gstreamer-sections.txt:
16696         * docs/gst/tmpl/gstbasesink.sgml:
16697         * docs/gst/tmpl/gstbasesrc.sgml:
16698         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
16699         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
16700         (gst_base_sink_finalize), (gst_base_sink_set_clock),
16701         (gst_base_sink_set_property), (gst_base_sink_get_property),
16702         (gst_base_sink_handle_object), (gst_base_sink_event),
16703         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
16704         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
16705         (gst_base_sink_loop), (gst_base_sink_deactivate),
16706         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
16707         (gst_base_sink_change_state):
16708         * gst/base/gstbasesink.h:
16709         * gst/base/gstbasesrc.h:
16710         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
16711         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
16712         (gst_filesink_init):
16713           more macro splitting
16714
16715 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
16716
16717         * gst/gstelement.c: (gst_element_get_bus):
16718           add debug
16719         * tools/gst-launch.c: (check_intr), (event_loop):
16720           fix bus leaks
16721
16722 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
16723
16724         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
16725           fix a caps leak
16726
16727 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
16728
16729         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
16730         (gst_base_src_finalize):
16731           add finalize method and clean up properly
16732         * gst/gstpipeline.c: (gst_pipeline_dispose):
16733           add debug
16734
16735 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
16736
16737         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
16738         (gst_bin_suite):
16739           add more things to check
16740         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
16741         * gst/gstelement.c:
16742           more debug
16743
16744 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
16745
16746         * check/elements/gstfakesrc.c: (chain_func), (event_func),
16747         (GST_START_TEST), (fakesrc_suite):
16748         * check/gst-libs/gdp.c: (GST_START_TEST):
16749         * check/gst/gst.c: (GST_START_TEST):
16750         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
16751         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
16752         * check/gst/gstbus.c: (GST_START_TEST):
16753         * check/gst/gstcaps.c: (GST_START_TEST):
16754         * check/gst/gstdata.c: (GST_START_TEST):
16755         * check/gst/gstelement.c: (GST_START_TEST):
16756         * check/gst/gstghostpad.c: (GST_START_TEST):
16757         * check/gst/gstiterator.c: (GST_START_TEST):
16758         * check/gst/gstmessage.c: (GST_START_TEST):
16759         * check/gst/gstobject.c: (GST_START_TEST):
16760         * check/gst/gstpad.c: (GST_START_TEST):
16761         * check/gst/gststructure.c: (GST_START_TEST):
16762         * check/gst/gstsystemclock.c: (GST_START_TEST),
16763         (gst_systemclock_suite):
16764         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
16765         * check/gst/gstvalue.c: (GST_START_TEST):
16766         * check/pipelines/cleanup.c: (GST_START_TEST):
16767         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
16768         * check/states/sinks.c: (GST_START_TEST):
16769         * check/gstcheck.c: (gst_check_init):
16770         * check/gstcheck.h:
16771           add debugging category
16772           use GST_START_TEST now, so we add a debug line
16773
16774 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
16775
16776         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
16777           add test for state change message on a bin
16778         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
16779           add another test
16780         * gst/gstbin.c: (gst_bin_init):
16781         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
16782         * gst/gstelement.c: (gst_element_post_message),
16783         (gst_element_set_state):
16784         * gst/gstelementfactory.c: (gst_element_factory_create):
16785         * gst/gstmessage.c: (gst_message_new):
16786         * gst/gstscheduler.c:
16787           various debugging additions and cleanups
16788
16789 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
16790
16791         * check/Makefile.am:
16792         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
16793         (main):
16794           adding tests for elements
16795         * gst/gstelement.c: (gst_element_dispose):
16796
16797 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
16798
16799         * gst/registries/gstlibxmlregistry.c: (load_feature):
16800           plug more leaks.  A simple gst_init() now is leakfree, yay.
16801
16802 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
16803
16804         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
16805         (gst_xml_registry_load):
16806           plug another memleak
16807
16808 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
16809
16810         * configure.ac:
16811           use GST_SET_ERROR_CFLAGS
16812         * docs/faq/cvs.xml:
16813           change to ERROR_CFLAGS
16814
16815 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
16816
16817         * configure.ac:
16818           make GST_ERROR_CFLAGS overridable and re-enable Werror
16819         * docs/faq/cvs.xml:
16820           add a note about error CFLAGS
16821         * docs/gst/tmpl/gstfakesrc.sgml:
16822         * gst/elements/gstfakesrc.c:
16823           comment out some unused code
16824         * gst/gst.c: (split_and_iterate):
16825         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
16826         (load_feature):
16827           plug some memleaks
16828
16829 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
16830
16831         * common/Makefile.am:
16832         * common/gtk-doc.mak:
16833         * docs/gst/Makefile.am:
16834           factor out gtk-doc.mak
16835
16836 2005-07-07  Wim Taymans  <wim@fluendo.com>
16837
16838         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
16839         (gst_thread_scheduler_dispose):
16840         Unlock the STREAM_LOCK completely.
16841
16842 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
16843
16844         * check/Makefile.am:
16845         * check/elements/.cvsignore:
16846         * check/elements/gstfakesrc.c: (chain_func), (event_func),
16847         (START_TEST), (fakesrc_suite), (main):
16848         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
16849         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
16850         (gst_fakesrc_create), (gst_fakesrc_start):
16851         * gst/elements/gstfakesrc.h:
16852           adding a first element test
16853
16854 2005-07-07  Andy Wingo  <wingo@pobox.com>
16855
16856         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
16857         debug message.
16858
16859 2005-07-07  Wim Taymans  <wim@fluendo.com>
16860
16861         * gst/gstquery.c:
16862         * gst/gstquery.h:
16863         Remove old types
16864
16865 2005-07-07  Wim Taymans  <wim@fluendo.com>
16866
16867         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
16868         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
16869         Allow subclasses to implement their own negotiation.
16870
16871 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
16872
16873         * docs/design/part-gstbin.txt:
16874         * docs/design/part-gstpipeline.txt:
16875           Update design notes to reflect the movement of
16876           responsibility for bus handling from GstPipeline to
16877           GstBin
16878
16879 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
16880
16881         * configure.ac:
16882           Remove unnecessary queue2/3/4 examples.
16883
16884 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
16885
16886         * examples/Makefile.am:
16887         * examples/helloworld/helloworld.c: (event_loop), (main):
16888         * examples/queue/queue.c: (event_loop), (main):
16889         * examples/queue2/queue2.c: (main):
16890           Update a couple of the examples to work again.
16891
16892         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
16893         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
16894          Spelling corrections and extra debug.
16895         
16896         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
16897         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
16898         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
16899         * gst/gstbin.h:
16900         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
16901         (gst_pipeline_change_state):
16902         * gst/gstpipeline.h:
16903           Move the bus handler for children to the GstBin, and create a
16904           separate bus for receiving messages from children to the one the
16905           bus sends 'upwards' on.
16906
16907 2005-07-06  Wim Taymans  <wim@fluendo.com>
16908
16909         * gst/base/README:
16910         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
16911         (gst_base_sink_handle_object), (gst_base_sink_loop),
16912         (gst_base_sink_change_state):
16913         * gst/base/gstbasesink.h:
16914         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
16915         (gst_base_src_init), (gst_base_src_setcaps),
16916         (gst_base_src_getcaps), (gst_base_src_loop),
16917         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
16918         (gst_base_src_start), (gst_base_src_change_state):
16919         * gst/base/gstbasesrc.h:
16920         Make basesrc negotiate.
16921         Handle the case where preroll fails in basesink.
16922         Update README.
16923
16924 2005-07-06  Wim Taymans  <wim@fluendo.com>
16925
16926         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
16927         Implement the fixate function.
16928         Clean up acceptcaps.
16929
16930 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16931
16932         * docs/pwg/building-filterfactory.xml:
16933         * docs/pwg/pwg.xml:
16934           Remove never-written filter-factory chapter; I'll add the various
16935           base classes to part 4 ("other element types") later on.
16936
16937 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16938
16939         * docs/pwg/advanced-negotiation.xml:
16940         * docs/pwg/building-boiler.xml:
16941         * docs/pwg/building-pads.xml:
16942         * docs/pwg/pwg.xml:
16943         * examples/pwg/Makefile.am:
16944           Add a chapter on caps negotiation, simplify the original code
16945           samples a bit w.r.t. caps negotiation, add link to the advanced
16946           section. Add a bunch of examples showing different use cases of
16947           different types of caps negotiation. Upstream renegotiation isn't
16948           fully documented yet since nobody knows how that works.
16949
16950 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
16951
16952         * check/gst/gstpad.c:
16953         * check/gstcheck.c:
16954         * gst/gstpad.c: (gst_pad_get_internal_links_default):
16955           if pad has no parent, return NULL as list of internal links
16956
16957 2005-07-05  Andy Wingo  <wingo@pobox.com>
16958
16959         * gst/elements/gstfilesrc.c:
16960         * gst/elements/gstfakesrc.c: 
16961         * gst/base/gstpushsrc.c:
16962         * gst/base/gstbasesrc.h: 
16963         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
16964         
16965 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
16966
16967         * Makefile.am:
16968           better report generation target (lcov needs a patch)
16969
16970 2005-07-05  Andy Wingo  <wingo@pobox.com>
16971
16972         * gst/elements, testsuite: Null if we got it...
16973
16974 2005-07-05  Wim Taymans  <wim@fluendo.com>
16975
16976         * configure.ac:
16977         * libs/gst/dataprotocol/Makefile.am:
16978         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
16979         * libs/gst/dataprotocol/dataprotocol.h:
16980         * pkgconfig/Makefile.am:
16981         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
16982         * pkgconfig/gstreamer-dataprotocol.pc.in:
16983         Ported dataprotol to 0.9. 
16984         Added pkgconfig files.
16985
16986 2005-07-05  Andy Wingo  <wingo@pobox.com>
16987
16988         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
16989         Default to returning TRUE for the case when tranform_caps returns
16990         a fixed caps, like for identity or volume.
16991
16992         * check/gst/gstbus.c (pound_bus_with_messages): 
16993         * check/gst/gstmessage.c (START_TEST): 
16994         * check/pipelines/simple_launch_lines.c (got_handoff): Application
16995         message API change.
16996
16997         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
16998         logic weaks here: always run transform_caps, trying passthrough
16999         operation only if the original caps intersects with the transform.
17000
17001         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
17002         source and sink caps.
17003
17004         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
17005         Intersect the peer caps with the pad template before going into
17006         transform_caps.
17007         (gst_base_transform_transform_caps): More debugging.
17008
17009         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
17010         src argument.
17011
17012 2005-07-04  Edward Hervey  <edward@fluendo.com>
17013
17014         * gst/gstutils.c:
17015         * gst/gstutils.h:
17016         (gst_pad_add_*_probe): now returns the signal id for better wrapping
17017         in bindings.
17018
17019 2005-07-04  Andy Wingo  <wingo@pobox.com>
17020
17021         * check/gst/gstpad.c: Only set explicit caps on pads.
17022
17023 2005-07-01  Andy Wingo  <wingo@pobox.com>
17024
17025         * tests/network-clock.scm: Commentary update.
17026
17027         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
17028         Didn't really make sense, not implementable with basetransform,
17029         etc.
17030         (gst_identity_transform): Unref inbuf via make_writable. Feeble
17031         attempt at implementing the sync property, needs an unlock method.
17032
17033         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
17034         New func, by default returns the same caps (the identity
17035         transformation).
17036         (gst_base_transform_getcaps): Uses transform_caps to return
17037         something sensible.
17038         (gst_base_transform_setcaps): Complicated logic to get caps on
17039         both pads, even if they are different, and to call set_caps once
17040         for every time both pads get their caps set.
17041         (gst_base_transform_handle_buffer): Give the ref to the transform
17042         function. Allows in-place modification of the buffer.
17043
17044         * gst/base/gstbasetransform.h (transform_caps): New class method.
17045         Given caps on one side, what can I do on the other.
17046         (set_caps): Take two caps, one for each side of the element.
17047
17048         * gst/gstpad.h:
17049         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
17050         caps in place. This is safe because we can check the mutability of
17051         the caps, and a good idea because fixate functions are just called
17052         as a matter of last resort. (Not actually implemented.)
17053         (gst_pad_set_caps): If the caps we're setting is actually the same
17054         as the existing pad caps, just update the pointer without calling
17055         setcaps. Assert that caps is either NULL or fixed, as per the
17056         docs.
17057
17058         * gst/gstghostpad.c: Update for fixate changes.
17059
17060 2005-07-02  Andy Wingo  <wingo@pobox.com>
17061
17062         * gst/gstcaps.c:
17063         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
17064         two refcounts makes it immutable, which is enough. Doc more.
17065
17066 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
17067
17068         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
17069           Put the mini_object into GValue as a mini_object,
17070           not a gpointer, since that's how we declared
17071           the signal.
17072
17073 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17074
17075         * examples/pwg/Makefile.am:
17076           Fix buildbot again.
17077
17078 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17079
17080         * docs/pwg/building-testapp.xml:
17081           Add extra check.
17082         * examples/pwg/Makefile.am:
17083           Fix buildbot.
17084
17085 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17086
17087         * configure.ac:
17088         * examples/Makefile.am:
17089         * examples/pwg/Makefile.am:
17090         * examples/pwg/extract.pl:
17091           Enable building the PWG examples.
17092         * docs/pwg/advanced-interfaces.xml:
17093           Add URI interface stub.
17094         * docs/pwg/advanced-types.xml:
17095         * docs/pwg/other-autoplugger.xml:
17096         * docs/pwg/appendix-porting.xml:
17097         * docs/pwg/pwg.xml:
17098           Add porting guide (mostly stubs), remove autoplugging (see ADM).
17099         * docs/pwg/building-boiler.xml:
17100         * docs/pwg/building-chainfn.xml:
17101         * docs/pwg/building-pads.xml:
17102         * docs/pwg/building-props.xml:
17103         * docs/pwg/building-state.xml:
17104         * docs/pwg/building-testapp.xml:
17105           Update the building-*.xml parts for 0.9 changes. All examples
17106           code blocks compile in examples/pwg/*.
17107
17108 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17109
17110         * docs/manual/advanced-autoplugging.xml:
17111         * docs/manual/appendix-checklist.xml:
17112         * docs/manual/appendix-integration.xml:
17113         * docs/manual/highlevel-components.xml:
17114           Fix playbin/decodebin examples, update docs a bit, mention bus
17115           instead of signals in various places, mention kmplayer and
17116           kaffeine since they have a working GStreamer backend in the KDE
17117           section.
17118
17119 2005-06-30  Wim Taymans  <wim@fluendo.com>
17120
17121         * CHANGES-0.9:
17122         * docs/design/draft-ghostpads.txt:
17123         * docs/design/draft-push-pull.txt:
17124         * docs/design/draft-query.txt:
17125         * docs/design/part-TODO.txt:
17126         * docs/design/part-query.txt:
17127         Added CHANGES-0.9 doc, updated status of other docs.
17128         
17129         * gst/gstquery.h:
17130         Remove "hmm" macro
17131
17132 2005-06-30  Wim Taymans  <wim@fluendo.com>
17133
17134         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
17135         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
17136         (gst_base_sink_change_state):
17137         * gst/base/gstbasesink.h:
17138         Some tweaks, only EOS and a buffer complete a preroll.
17139
17140 2005-06-30  Andy Wingo  <wingo@pobox.com>
17141
17142         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
17143         activate_push down to the internal pad as well.
17144
17145 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
17146
17147         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17148
17149         * gst/gsttaginterface.c:
17150           Some documentation fixes (#307394 and #307397).
17151
17152 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
17153
17154         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17155
17156         * gst/gstvalue.c: (gst_value_intersect_list):
17157           Fix memleak (#309125).
17158
17159 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17160
17161         * docs/manual/advanced-dataaccess.xml:
17162           Fix fakesrc example to compile; doesn't work, bug somewhere...?
17163         * docs/manual/basics-pads.xml:
17164           Add reference for filtered caps to above chapter.
17165
17166 2005-06-30  Wim Taymans  <wim@fluendo.com>
17167
17168         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
17169         (gst_bin_change_state):
17170         Probes are gone.
17171         Lame attempt at making the state change function a bit
17172         more readable.
17173
17174 2005-06-30  Wim Taymans  <wim@fluendo.com>
17175
17176         * docs/design/part-clocks.txt:
17177         * docs/design/part-element-sink.txt:
17178         * docs/design/part-events.txt:
17179         * docs/design/part-preroll.txt:
17180         * docs/design/part-states.txt:
17181         Some more tweeks and additions to the docs.
17182
17183 2005-06-30  Wim Taymans  <wim@fluendo.com>
17184
17185         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
17186         (default_have_data), (gst_pad_class_init), (gst_pad_init),
17187         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
17188         (gst_pad_check_pull_range), (gst_pad_get_range),
17189         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
17190         * gst/gstpad.h:
17191         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
17192         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
17193         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
17194         (gst_pad_remove_buffer_probe):
17195         Removed atomic operations, use existing LOCK.
17196         Move exception handling out of main code path.
17197
17198 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17199
17200         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
17201         (silly_return_true_function), (gst_pad_class_init),
17202         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
17203         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
17204         (gst_pad_send_event):
17205           Fix accumulator, add default value by using _emitv() instead
17206           of _emit() for signal emission.
17207
17208 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17209
17210         * docs/manual/advanced-dataaccess.xml:
17211         * examples/manual/Makefile.am:
17212           Add probe example.
17213         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
17214           Make work (??).
17215
17216 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
17217
17218         * gst/elements/gstfilesink.c: (gst_filesink_render):
17219           Simplify code so that we don't have to handle short
17220           writes and return GST_FLOW_ERROR if an error occured.
17221
17222 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17223
17224         * docs/gst/gstreamer-docs.sgml:
17225           Remove probes more.
17226
17227 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17228
17229         * docs/gst/gstreamer-sections.txt:
17230         * docs/gst/tmpl/gstpad.sgml:
17231         * docs/gst/tmpl/gstprobe.sgml:
17232         * gst/Makefile.am:
17233         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
17234         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
17235         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
17236         (gst_pad_push_event), (gst_pad_send_event):
17237         * gst/gstpad.h:
17238         * gst/gstutils.c: (gst_pad_add_data_probe),
17239         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
17240         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
17241         (gst_pad_remove_buffer_probe):
17242         * gst/gstutils.h:
17243           Remove old probes, add new g-signal-based probes and some utility
17244           functions.
17245
17246 2005-06-29  Edward Hervey  <edward@fluendo.com>
17247
17248         * gst/gstelementfactory.c:
17249         * gst/gstutils.h:
17250         * gst/gstutils.c:
17251         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
17252         the definition to the header file.
17253
17254 2005-06-29  Andy Wingo  <wingo@pobox.com>
17255
17256         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
17257         plugins from the source directory.
17258
17259 2005-06-29  Wim Taymans  <wim@fluendo.com>
17260
17261         * docs/gst/tmpl/gstbuffer.sgml:
17262         * docs/gst/tmpl/gstclock.sgml:
17263         Some fixings for blantently wrong text.
17264
17265 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
17266
17267         * check/Makefile.am:
17268         * gst/gst.c: (add_path_func), (init_pre):
17269         * gst/gstregistry.c: (gst_registry_add_path):
17270           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
17271           only scan the GST_PLUGIN_PATH locations, and not add
17272           system locations
17273
17274 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
17275
17276         * docs/gst/gstreamer-sections.txt:
17277         * docs/gst/tmpl/gstbasesrc.sgml:
17278         * gst/gstelement.c:
17279         * gst/gstelement.h:
17280         * gst/gstevent.c:
17281         * gst/gstutils.c:
17282           doc fixes
17283
17284 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17285
17286         * docs/manual/advanced-autoplugging.xml:
17287           Fix autoplugging example.
17288
17289 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17290
17291         * docs/manual/advanced-autoplugging.xml:
17292         * docs/manual/mime-world.fig:
17293           Try to get autoplugging working, fix type detection. Fix text
17294           in hello-world image.
17295
17296 2005-06-29  Wim Taymans  <wim@fluendo.com>
17297
17298         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
17299         (gst_base_sink_change_state):
17300         Small debug line.
17301
17302         * gst/gstclock.h:
17303         map SIGNAL and BROADCAST to the right function.
17304
17305         * gst/gstobject.h:
17306         Remove redundant braces.
17307
17308         * gst/gstpad.c: (gst_pad_set_caps):
17309         Don't call setcaps function when reseting caps to NULL.
17310
17311         * gst/gstsystemclock.c: (gst_system_clock_dispose),
17312         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
17313         (gst_system_clock_id_unschedule):
17314         Use BROADCAST as this is what we do.
17315
17316 2005-06-29  Wim Taymans  <wim@fluendo.com>
17317
17318         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
17319         We are actually prerolling before commiting the state
17320         change. 
17321
17322 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17323
17324         * docs/manual/advanced-clocks.xml:
17325         * docs/manual/advanced-interfaces.xml:
17326         * docs/manual/advanced-metadata.xml:
17327         * docs/manual/advanced-position.xml:
17328         * docs/manual/advanced-schedulers.xml:
17329         * docs/manual/advanced-threads.xml:
17330         * docs/manual/appendix-porting.xml:
17331         * docs/manual/basics-bins.xml:
17332         * docs/manual/basics-bus.xml:
17333         * docs/manual/basics-elements.xml:
17334         * docs/manual/basics-helloworld.xml:
17335         * docs/manual/basics-pads.xml:
17336         * docs/manual/highlevel-components.xml:
17337         * docs/manual/manual.xml:
17338         * docs/manual/thread.fig:
17339           Update (until threads/scheduling) Application Development Manual;
17340           remove GstThread, add GstBus, add simple porting checklist, add
17341           documentation for tag writing, clocks, make all examples until this
17342           part compile and run.
17343         * examples/manual/Makefile.am:
17344           Update from changes to Application Development Manual; add bus
17345           example, remove thread example.
17346
17347 2005-06-28  Wim Taymans  <wim@fluendo.com>
17348
17349         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
17350         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
17351         (gst_bus_source_dispatch):
17352         Add debugging messages.
17353         Make internal methods static.
17354         Handle the case where the bus is flushed in the handler.
17355         
17356         * gst/gstelement.c: (gst_element_get_bus):
17357         Fix refcount in _get_bus();
17358
17359         * gst/gstpipeline.c: (gst_pipeline_change_state),
17360         (gst_pipeline_get_clock_func):
17361         Clock refcounting fixes.
17362         Handle the case where preroll timed out more gracefully.
17363         
17364         * gst/gstsystemclock.c: (gst_system_clock_dispose):
17365         Clean up the internal thread in dispose. This is needed
17366         for subclasses that actually get disposed.
17367         
17368         * gst/schedulers/threadscheduler.c:
17369         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
17370         (gst_thread_scheduler_dispose):
17371         Free thread pool in dispose.
17372
17373 2005-06-28  Andy Wingo  <wingo@pobox.com>
17374
17375         * tests/network-clock-utils.scm (debug, print-event): New utils.
17376
17377         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
17378         (*packet-loss*): Unified loss probability.
17379         (network-time): Report out-of-band events.
17380
17381         * tests/plot-data: Add support for out-of-band events. Hack it
17382         into this script instead of passing it down the pipe; should fix
17383         this later.
17384
17385 2005-06-28  Wim Taymans  <wim@fluendo.com>
17386
17387         * docs/gst/gstreamer.types:
17388         * docs/gst/tmpl/gstbasesrc.sgml:
17389         * docs/gst/tmpl/gstpad.sgml:
17390         Docs fixes.
17391
17392 2005-06-28  Wim Taymans  <wim@fluendo.com>
17393
17394         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
17395         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
17396         (gst_proxy_pad_do_fixatecaps):
17397         Correctly proxy the check_pull_range function.
17398
17399 2005-06-28  Andy Wingo  <wingo@pobox.com>
17400
17401         * tests/network-clock.scm: Removed need for slib.
17402         
17403 2005-06-28  Wim Taymans  <wim@fluendo.com>
17404
17405         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
17406         (gst_basesink_preroll_queue_flush):
17407         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
17408         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
17409         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
17410         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
17411         (gst_proxy_pad_set_property):
17412         * gst/gstpad.c:
17413         * gst/gstpad.h:
17414         * gst/gstqueue.c: (gst_queue_init):
17415         The deprecated pad loop function is removed now.
17416
17417 2005-06-28  Andy Wingo  <wingo@pobox.com>
17418
17419         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
17420         New parameters, simulate network packet loss.
17421
17422         * tests/network-clock-utils.scm: Initialize the RNG.
17423
17424 2005-06-28  Wim Taymans  <wim@fluendo.com>
17425
17426         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
17427         (gst_basesink_event), (gst_basesink_deactivate):
17428         Flushing the preroll queue always needs to unlock the waiters.
17429
17430 2005-06-28  Edward Hervey  <edward@fluendo.com>
17431
17432         * gst/gstpipeline.c: (gst_pipeline_send_event): 
17433         Wheen a seek was successful on a pipeline, set the stream_time to the
17434         seek offset in order to have a synchronized stream_time.
17435
17436 2005-06-28  Wim Taymans  <wim@fluendo.com>
17437
17438         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
17439         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
17440         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
17441         (gst_proxy_pad_do_fixatecaps):
17442         Call wrapper function instead of just calling the function
17443         pointers. This takes care of any locking and whatmore.
17444
17445 2005-06-28  Wim Taymans  <wim@fluendo.com>
17446
17447         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
17448         (gst_pad_pull_range):
17449         * gst/gstpad.h:
17450         CONNECTED -> LINKED.
17451
17452 2005-06-28  Andy Wingo  <wingo@pobox.com>
17453
17454         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
17455         source-munging commit!!!
17456
17457         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
17458         (gst_object_sink): Take gpointer arguments, not GstObject --
17459         avoids casts. Like GLib.
17460
17461         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
17462         activate.
17463
17464 2005-06-27  Andy Wingo  <wingo@pobox.com>
17465
17466         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
17467         remaining buffer.
17468
17469         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
17470         returns a sorted copy of the trace list.
17471         (gst_alloc_trace_print_live): New API, only prints traces with
17472         live objects. Sort the list.
17473         (gst_alloc_trace_print_all): Sort the list.
17474         (gst_alloc_trace_print): Align columns.
17475
17476         * gst/elements/gstttypefindelement.c:
17477         * gst/elements/gsttee.c:
17478         * gst/base/gstbasesrc.c:
17479         * gst/base/gstbasesink.c:
17480         * gst/base/gstbasetransform.c:
17481         * gst/gstqueue.c: Adapt for pad activation changes.
17482
17483         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
17484         sched.
17485         (gst_pipeline_dispose): Drop ref on sched.
17486
17487         * gst/gstpad.c (gst_pad_init): Set the default activate func.
17488         (gst_pad_activate_default): Push mode by default.
17489         (pre_activate_switch, post_activate_switch): New stubs, things to
17490         do before and after switching activation modes on pads.
17491         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
17492         the pad's activate function to choose which mode to activate.
17493         Shortcut on deactivation and call the right function directly.
17494         (gst_pad_activate_pull): New API, (de)activates a pad in pull
17495         mode.
17496         (gst_pad_activate_push): New API, same for push mode.
17497         (gst_pad_set_activate_function) 
17498         (gst_pad_set_activatepull_function) 
17499         (gst_pad_set_activatepush_function): Setters for new API.
17500
17501         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
17502         Trace all miniobjects.
17503         (gst_mini_object_make_writable): Unref the arg if we copy, like
17504         gst_caps_make_writable.
17505
17506         * gst/gstmessage.c (_gst_message_initialize): No trace init.
17507
17508         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
17509         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
17510         Adapt for new pad API.
17511
17512         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
17513
17514         * gst/gstelement.h:
17515         * gst/gstelement.c (gst_element_iterate_src_pads) 
17516         (gst_element_iterate_sink_pads): New API functions.
17517         
17518         * gst/gstelement.c (iterator_fold_with_resync): New utility,
17519         should fold into gstiterator.c in some form.
17520         (gst_element_pads_activate): Simplified via use of fold and
17521         delegation of decisions to gstpad->activate.
17522
17523         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
17524         help in debugging.
17525
17526         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
17527         class once in init, like gstmessage. Didn't run into this issue
17528         but it seems correct. Don't initialize a trace, gstminiobject does
17529         that.
17530
17531         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
17532         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
17533         to the bus.
17534         (assert_live_count): New util function, uses alloc traces to check
17535         cleanup.
17536
17537         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
17538         To be modified when unlink drops the internal pad.
17539
17540 2005-06-27  Wim Taymans  <wim@fluendo.com>
17541
17542         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
17543         (gst_bin_change_state):
17544         Cleanup the get_state() function a little, make sure it
17545         iterates the same set of elements.
17546         Added stub iterate_state_order().
17547
17548 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
17549
17550         * docs/gst/gstreamer-docs.sgml:
17551         * docs/gst/gstreamer-sections.txt:
17552         * docs/gst/gstreamer.types:
17553         * docs/gst/tmpl/gstbasesink.sgml:
17554         * docs/gst/tmpl/gstbasesrc.sgml:
17555         * docs/gst/tmpl/gstbasetransform.sgml:
17556         * docs/gst/tmpl/gstelement.sgml:
17557         * docs/gst/tmpl/gstiterator.sgml:
17558         * gst/base/gstbasesrc.c:
17559         * gst/base/gstbasesrc.h:
17560         * gst/base/gstbasetransform.h:
17561         * gst/gstelement.c:
17562         * gst/gstiterator.h:
17563           adding basetransform and iterator docs
17564
17565 2005-06-27  Andy Wingo  <wingo@pobox.com>
17566
17567         * docs/design/part-activation.txt: Notes on how activation should
17568         work -- not quite implemented yet.
17569
17570 2005-06-25  Wim Taymans  <wim@fluendo.com>
17571
17572         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
17573         At least get the chain function correct, needs more
17574         fixing.
17575
17576 2005-06-25  Wim Taymans  <wim@fluendo.com>
17577
17578         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
17579         (gst_basesink_handle_object), (gst_basesink_event),
17580         (gst_basesink_do_sync), (gst_basesink_handle_event),
17581         (gst_basesink_change_state):
17582         * gst/gsttask.h:
17583         Right, two problems here: ghostpads don't take locks and
17584         glib _rec_mutex_lock_full() with depth==0 still locks.
17585         Catch illegal locking and g_warn them.
17586
17587 2005-06-25  Wim Taymans  <wim@fluendo.com>
17588
17589         * check/states/sinks.c: (START_TEST), (gst_object_suite):
17590         Have to check for completion now...
17591
17592 2005-06-25  Wim Taymans  <wim@fluendo.com>
17593
17594         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
17595         (gst_basesink_handle_object), (gst_basesink_event),
17596         (gst_basesink_do_sync), (gst_basesink_handle_event),
17597         (gst_basesink_change_state):
17598         * gst/gstpad.h:
17599         Unlock STREAM_LOCK whatever the recursion was.
17600
17601 2005-06-25  Wim Taymans  <wim@fluendo.com>
17602
17603         * gst/base/gstbasesink.c: (gst_basesink_set_property),
17604         (gst_basesink_preroll_queue_empty),
17605         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
17606         (gst_basesink_event), (gst_basesink_do_sync),
17607         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
17608         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
17609         (gst_basesink_change_state):
17610         Reworked the base sink, handle event and buffer serialisation
17611         correctly and removed possible deadlock.
17612         Handle EOS correctly.
17613
17614 2005-06-25  Wim Taymans  <wim@fluendo.com>
17615
17616         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
17617         (gst_pipeline_change_state):
17618         * tools/gst-launch.c: (check_intr), (event_loop), (main):
17619         Allow elements to post EOS in the state change function.
17620         Fix up -launch, make it exit the poll loop when the
17621         pipeline actually changed state.
17622         Fix up warning parsing in -launch.
17623
17624 2005-06-25  Wim Taymans  <wim@fluendo.com>
17625
17626         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
17627         (gst_tee_sink_activate):
17628         Core takes STREAM_LOCK for us now.
17629
17630 2005-06-25  Wim Taymans  <wim@fluendo.com>
17631
17632         * gst/gstelement.c: (gst_element_get_state_func),
17633         (gst_element_set_state):
17634         * gst/gstelement.h:
17635         * gst/gstmessage.c: (gst_message_parse_error),
17636         (gst_message_parse_warning):
17637         Keep track of current target state while performing a state
17638         change so that subclasses can do something interesting.
17639         Fix parsing of warning/error messages when GError is NULL.
17640
17641 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
17642
17643         * docs/gst/Makefile.am:
17644         * docs/gst/gstreamer-docs.sgml:
17645         * docs/gst/gstreamer-sections.txt:
17646         * docs/gst/gstreamer.types:
17647         * docs/gst/tmpl/gstbasesink.sgml:
17648         * docs/gst/tmpl/gstbasesrc.sgml:
17649         * docs/gst/tmpl/gstbin.sgml:
17650         * docs/gst/tmpl/gstcompat.sgml:
17651         * docs/gst/tmpl/gstfakesink.sgml:
17652         * docs/gst/tmpl/gstfakesrc.sgml:
17653         * docs/gst/tmpl/gstfilesink.sgml:
17654         * docs/gst/tmpl/gstfilesrc.sgml:
17655         * docs/gst/tmpl/gstindex.sgml:
17656         * docs/manual/appendix-quotes.xml:
17657         * gst/base/gstbasesrc.h:
17658         * gst/elements/gstfakesrc.h:
17659         * gst/gstmessage.h:
17660           start pulling in base classes and elements in our docs
17661
17662 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
17663
17664         * docs/gst/Makefile.am:
17665         * docs/libs/Makefile.am:
17666           fixed make distcheck with gtk-doc 1.3
17667
17668 2005-06-23  Wim Taymans  <wim@fluendo.com>
17669
17670         * gst/gstelement.c: (gst_element_get_state_func),
17671         (gst_element_set_state), (gst_element_change_state):
17672         When the state did not change, also report NO_PREROLL
17673         when it matters.
17674
17675 2005-06-23  Wim Taymans  <wim@fluendo.com>
17676
17677         * gst/gstpad.c: (gst_pad_event_default):
17678         * gst/gstqueue.c: (gst_queue_loop):
17679         No unsafe task pausing please.
17680
17681 2005-06-23  Wim Taymans  <wim@fluendo.com>
17682
17683         * gst/schedulers/threadscheduler.c:
17684         (gst_thread_scheduler_task_start),
17685         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
17686         Ref the task before pushing it on the threadpool. This
17687         makes sure that we have a ref when the threadfunction is
17688         actually called.
17689
17690 2005-06-23  Andy Wingo  <wingo@pobox.com>
17691
17692         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
17693         offset is greater than the file's size.
17694
17695         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
17696         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
17697         * gst/gstobject.c (gst_object_class_init): Make the class lock
17698         recursive. Wim won't let me drop deep_notify. Decodebin works
17699         again, whoopdy doo.
17700
17701         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
17702         internal pad, and hacks accordingly. Doesn't do it on the target
17703         pad because we change its caps. Probably catches all cases of
17704         interest tho.
17705         (gst_ghost_pad_set_property): Connect to notify::caps as
17706         appropritate.
17707
17708         * tests/network-clock.scm (plot-simulation): Pipe data to the
17709         elite python skript.
17710
17711         * tests/network-clock-utils.scm (define-parameter): New macro,
17712         defines a parameter that can be set via the command line.
17713         (set-parameter!, parse-parameter-arguments): Command line args
17714         parser.
17715
17716         * tests/plot-data: Simple matplotlib-based plotter, takes input on
17717         stdin.
17718
17719 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
17720
17721         * gst/elements/gsttypefindelement.c:
17722         (gst_type_find_element_handle_event):
17723           Don't restart typefinding on a discont.
17724         * gst/gstelement.c: (gst_element_set_state):
17725           Debug spelling fix.
17726         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
17727           Allow changing mode of an active pad.
17728           Debug output fixes.
17729         * gst/registries/gstlibxmlregistry.c: (load_feature):
17730           Don't cast a static pad template to a normal pad template.
17731
17732 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
17733
17734         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
17735         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
17736           remove gst_strtoll completely, since it didn't actually do
17737           anything more than what g_ascii_strtoull already does.
17738           check for range errors when deserializing
17739           do a cast for the unsigned cases; but further fixing needs
17740           a decision on what the interpretation of "(int)" and
17741           deserialization should be for values that fall outside the
17742           type's boundaries (ie, refuse, or interpret as casting)
17743
17744 2005-06-23  Wim Taymans  <wim@fluendo.com>
17745
17746         * check/Makefile.am:
17747         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
17748         * docs/design/part-live-source.txt:
17749         * docs/design/part-states.txt:
17750         * gst/base/gstbasesrc.c: (gst_basesrc_init),
17751         (gst_basesrc_set_live), (gst_basesrc_is_live),
17752         (gst_basesrc_get_range), (gst_basesrc_activate),
17753         (gst_basesrc_change_state):
17754         * gst/base/gstbasesrc.h:
17755         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
17756         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
17757         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
17758         * gst/gstelement.c: (gst_element_get_state_func),
17759         (gst_element_set_state):
17760         * gst/gstelement.h:
17761         * gst/gsttypes.h:
17762         * tools/gst-launch.c: (event_loop), (main):
17763         Added support for live sources and other elements that
17764         cannot do preroll.
17765         Updated design docs, added live-source design doc.
17766         Implemented live source functionality in basesrc
17767         Fix error condition in _bin_get_state()
17768         Implement live source handling in -launch.
17769         Added check for live sources.
17770         Fixed case in GstBin where elements were changed state
17771         multiple times.
17772
17773
17774 2005-06-23  Andy Wingo  <wingo@pobox.com>
17775
17776         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
17777         borken refcounting.
17778
17779         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
17780         gst_caps_replace takes care of this for us.
17781
17782         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
17783         gst_pad_set_caps on the target, not just its setcaps() function.
17784
17785         * tests/network-clock.scm: 
17786         * tests/network-clock-utils.scm: A network clock simulator.
17787         Something of an algorithmic testbed before doing something in C.
17788
17789 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
17790
17791         * check/Makefile.am:
17792         * check/gst/capslist.h:
17793           copy over from 0.8, and add two with bitmasks specified with
17794           (int) 0xFF...
17795         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
17796           add test to parse everything from capslist.h
17797         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
17798         (main):
17799           add test for structure deserialization
17800         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
17801           add tests for deserialization of strings to int types
17802         * gst/gststructure.c: (gst_structure_nth_field_name):
17803         * gst/gststructure.h:
17804           add a way to get the name of a field referenced by index
17805         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
17806           instead of checking if the resulting long long lies between
17807           min and max, we check if the long long would fit into
17808           a number of bytes for the final type.
17809           This fixes cases where a string represents 2^32 - 1, which
17810           when cast to int would be the (valid) -1, but is bigger than
17811           G_MAXINT
17812
17813 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
17814
17815         * gst/parse/grammar.y:
17816           add a log line for type deserialization
17817
17818 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
17819
17820         * check/gst/gstvalue.c: (START_TEST):
17821         * gst/gstvalue.c: (gst_value_deserialize):
17822           return long long, not int, so gint64 deserialization actually
17823           works.  Is there any flag that makes the compiler check this ?
17824           Fixes #308559
17825
17826 2005-06-22  Wim Taymans  <wim@fluendo.com>
17827
17828         * gst/gstbuffer.h:
17829         Added convenience macros for setting buffers in GValue.
17830
17831 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
17832
17833         * check/gst/.cvsignore:
17834         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
17835           add a test deserializing int64, and comment part out because
17836           it fails, yay !
17837
17838 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
17839
17840         * check/Makefile.am:
17841         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
17842         * testsuite/Makefile.am:
17843         * testsuite/caps/Makefile.am:
17844         * testsuite/caps/value_serialize.c:
17845         * testsuite/test_gst_init.c:
17846           move a value_serialize test over
17847
17848 2005-06-20  Wim Taymans  <wim@fluendo.com>
17849
17850         * gst/gstpad.c:
17851         Small doc updates.
17852         
17853         * gst/gstvalue.c: (gst_value_compare_buffer),
17854         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
17855         (gst_value_compare_flags), (gst_value_serialize_flags),
17856         (gst_value_deserialize_flags), (_gst_value_initialize):
17857         Fix serialisation of buffers, they are not boxed types anymore
17858
17859 2005-06-20  Wim Taymans  <wim@fluendo.com>
17860
17861         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
17862         Testcase to show error in buffer-on-caps serialisation.
17863
17864 2005-06-20  Andy Wingo  <wingo@pobox.com>
17865
17866         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
17867         will be adding to later.
17868
17869         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
17870         if its socks fill with rocks.
17871         (gst_system_clock_obtain): Set the name on object construction.
17872         Avoid double-checked locking.
17873
17874 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
17875
17876         * gst/gsturi.c: (gst_element_make_from_uri):
17877           Fix potential endless loop.
17878
17879 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
17880
17881         * check/Makefile.am:
17882           add gsttag
17883         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
17884         (main):
17885           move over from testsuite dir and clean up
17886         * configure.ac:
17887         * gst/gsttag.c:
17888         * testsuite/Makefile.am:
17889         * testsuite/tags/.cvsignore:
17890         * testsuite/tags/Makefile.am:
17891         * testsuite/tags/merge.c:
17892           remove testsuite/tags
17893
17894 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
17895
17896         * docs/gst/gstreamer-sections.txt:
17897         * docs/gst/tmpl/gstenumtypes.sgml:
17898         * win32/gstenumtypes.c:
17899           clean up documentation build a little
17900
17901 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
17902
17903         * check/gstcheck.h:
17904           add macros for checking refcounts on objects and caps
17905         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
17906           add some more unit tests
17907         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
17908         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
17909           fix leaked refcounts (I hope :)) so unittest works
17910         * gst/gstpad.h:
17911           whitespace removal
17912
17913 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
17914
17915         * configure.ac: back to HEAD
17916
17917 === release 0.9.1 ===
17918
17919 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
17920
17921         * NEWS:
17922         * RELEASE:
17923           updated
17924
17925 2005-06-17  Andy Wingo  <wingo@pobox.com>
17926
17927         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
17928         assert; it's always possible that the pad gets deactivated in
17929         between the checks in gstpad.c and the implementation. Rely on
17930         finish_preroll() to return a FLUSHING or similar instead of on the
17931         assert.
17932         
17933         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
17934         clock and post an EOS message if we come out of finish_preroll in
17935         the playing state.
17936
17937 2005-06-16  David Schleef  <ds@schleef.org>
17938
17939         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
17940         (gst_capsfilter_set_property): Allow NULL as possible value
17941         for filter_caps property, indicating GST_CAPS_ANY.
17942
17943 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
17944
17945         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
17946           fix debug output
17947         * gst/schedulers/Makefile.am:
17948           use libgst prefix
17949         * gstreamer.spec.in:
17950           fix spec for it
17951
17952 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
17953
17954         * gstreamer.spec.in:
17955           clean up
17956
17957 2005-06-08  Andy Wingo  <wingo@pobox.com>
17958
17959         * gst/gstutils.c: RPAD fixes all around.
17960         (gst_element_link_pads): Refcounting fixes.
17961
17962         * tools/gst-inspect.c:
17963         * tools/gst-xmlinspect.c:
17964         * parse/grammar.y:
17965         * gst/base/gsttypefindhelper.c:
17966         * gst/base/gstbasesink.c:
17967         * gst/gstqueue.c: RPAD fixes.
17968
17969         * gst/gstghostpad.h:
17970         * gst/gstghostpad.c: New ghost pad implementation as full proxy
17971         pads. The tricky thing is they provide both source and sink
17972         interfaces, since they proxy the internal pad for the external
17973         pad, and vice versa. Implement with lower-level ProxyPad objects,
17974         with the interior proxy pad as a child of the exterior ghost pad.
17975         Should write a doc on this.
17976         
17977         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
17978         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
17979         gst_object API.
17980         
17981         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
17982         pads are real pads. No ghost pads in this file. Not documenting
17983         the myriad s/RPAD/PAD/ and REALIZE fixes.
17984         (gst_pad_class_init): Add properties for "direction" and
17985         "template". Both are construct-only, so they can't change during
17986         the life of the pad. Fixes properly deriving from GstPad.
17987         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
17988         derived objects, just set properties when creating the objects via
17989         g_object_new.
17990         (gst_pad_get_parent): Implement as a function, return NULL if the
17991         parent is not an element.
17992         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
17993         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
17994         
17995         * gst/gstobject.c (gst_object_class_init): Make name a construct
17996         property. Don't set it in the object init.
17997
17998         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
17999         with UNKNOWN direction.
18000         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
18001         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
18002         (gst_element_remove_pad): Remove ghost-pad special cases.
18003         (gst_element_pads_activate): Remove rpad cruft.
18004
18005         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
18006         catch the pad's-parent-not-an-element case.
18007
18008         * gst/gst.h: Include gstghostpad.h.
18009
18010         * gst/gst.c (init_post): No more real, ghost pads.
18011
18012         * gst/Makefile.am: Add gstghostpad.[ch].
18013
18014         * check/Makefile.am:
18015         * check/gst/gstbin.c:
18016         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
18017         into a bin creates ghost pads, and that the refcounts are right.
18018         Partly moved from gstbin.c.
18019
18020 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
18021
18022         * check/gst-libs/.cvsignore:
18023         * check/gst/.cvsignore:
18024         * check/pipelines/.cvsignore:
18025           ignore more
18026         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
18027         (START_TEST), (cleanup_suite), (main):
18028           add some tests related to cleanup after running pipelines
18029
18030 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
18031
18032         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
18033           add a testsuite for GstBuffer
18034
18035 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
18036
18037         * gst/gstminiobject.h:
18038           add defines for accessing the refcount
18039
18040 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
18041
18042         * Makefile.am: added support for html unit test coverage reports
18043
18044 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
18045
18046         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
18047           Free existing caps if the capsfilter changes. Add a FIXME about
18048           setting those caps on the pads.
18049
18050         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
18051           Before adding a ghost pad to a parent bin, check that there isn't
18052           already one for the element on the bin. Prevents infinite recursion
18053           when using decodebin in parse pipelines. Andy says he'll rewrite the
18054           way this works anyway, so ignore the hack.
18055
18056 2005-06-02  Andy Wingo  <wingo@pobox.com>
18057
18058         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
18059         file size, pass it on to the type find helper.
18060
18061         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
18062         segment_start and segment_end properly according to the seek
18063         method. Segment_end is still a bit flaky because offset can be
18064         negative for CUR and END cases, but it takes -1 as an "unset"
18065         value.
18066
18067 2005-06-02  Wim Taymans  <wim@fluendo.com>
18068
18069         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
18070         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
18071         (gst_basesink_activate):
18072         * gst/base/gstbasesink.h:
18073         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
18074         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
18075         (gst_pad_query), (gst_pad_start_task):
18076         * gst/gstpad.h:
18077         * gst/gstqueue.c: (gst_queue_bufferalloc),
18078         (gst_queue_handle_sink_event), (gst_queue_chain):
18079         Bufferalloc: return GstFlowReturn to more accuratly report
18080         why allocation failed.
18081
18082 2005-06-02  Wim Taymans  <wim@fluendo.com>
18083
18084         * gst/gstpipeline.c: (gst_pipeline_send_event):
18085         Take snapshot of state without blocking.
18086
18087 2005-06-02  Wim Taymans  <wim@fluendo.com>
18088
18089         * docs/design/part-TODO.txt:
18090         * docs/design/part-caps.txt:
18091         * docs/design/part-clocks.txt:
18092         * docs/design/part-negotiation.txt:
18093         * docs/design/part-preroll.txt:
18094         Small doc updates 
18095
18096 2005-05-30  Wim Taymans  <wim@fluendo.com>
18097
18098         * gst/elements/gstidentity.c: (gst_identity_event),
18099         (gst_identity_transform), (gst_identity_get_property):
18100         Protect last_message property as it is accessed from
18101         multiple threads.
18102
18103 2005-05-30  Wim Taymans  <wim@fluendo.com>
18104
18105         * gst/gstelement.c: (gst_element_init),
18106         (gst_element_pads_activate), (gst_element_change_state):
18107         Slicker pad activation code.
18108
18109 2005-05-30  Wim Taymans  <wim@fluendo.com>
18110
18111         * gst/Makefile.am:
18112         * gst/gstelement.h:
18113         * gst/gstelementfactory.h:
18114         * gst/gsttypes.h:
18115         Move elementfactory methods to separate .h file.
18116
18117 2005-05-30  Wim Taymans  <wim@fluendo.com>
18118
18119         * docs/design/part-overview.txt:
18120         * gst/gstsystemclock.h:
18121         Small typo fixes, doc updates.
18122
18123 2005-05-30  Wim Taymans  <wim@fluendo.com>
18124
18125         * gst/gst.c: (gst_init_get_popt_table), (init_post),
18126         (init_popt_callback):
18127         Remove cpu-opt flag.
18128
18129 2005-05-30  Wim Taymans  <wim@fluendo.com>
18130
18131         * gst/gstbuffer.c: (gst_subbuffer_finalize),
18132         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
18133         * gst/gstbuffer.h:
18134         Avoid typechecking in places where not needed.
18135         Added accessor for malloc_data.
18136
18137 2005-05-30  Wim Taymans  <wim@fluendo.com>
18138
18139         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
18140         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
18141         (gst_pad_configure_sink), (gst_pad_configure_src),
18142         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
18143         (gst_pad_start_task):
18144         Propagate errors from _set_caps() in configure_src/sink
18145         functions instead of returning TRUE.
18146         FLUSH events can travel up and downstream
18147
18148
18149 2005-05-30  Wim Taymans  <wim@fluendo.com>
18150
18151         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
18152         (gst_basesink_activate):
18153         Handle EOS in preroll.
18154
18155 2005-05-30  Wim Taymans  <wim@fluendo.com>
18156
18157         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
18158         (gst_queue_loop), (gst_queue_handle_src_event):
18159         Remove old pieces of code
18160         Flushing the queue in an upstream event is a very bad idea.
18161
18162 2005-05-26  Andy Wingo  <wingo@pobox.com>
18163
18164         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
18165         gst_value_set_mini_object so as to add a ref on the object (which
18166         will be removed when the value is unset).
18167
18168         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
18169         arg type in ::handoff.
18170
18171         * gst/gstelement.c (gst_element_change_state): Also deactivate
18172         pads in READY->NULL, just in case the element didn't make it to
18173         PAUSED. Wingo tested, Wim approved.
18174
18175 2005-05-26  Wim Taymans  <wim@fluendo.com>
18176
18177         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
18178         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
18179         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
18180         A flushing pad cannot be used to alloc_buffer from.
18181
18182 2005-05-26  Wim Taymans  <wim@fluendo.com>
18183
18184         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
18185         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
18186         (gst_bus_source_dispatch), (gst_bus_source_finalize),
18187         (gst_bus_create_watch), (gst_bus_add_watch_full):
18188         * gst/gstbus.h:
18189         Implement a real GSource and use g_main_context_wakeup() to
18190         signal new messages instead of the socketpair.
18191
18192 2005-05-25  Wim Taymans  <wim@fluendo.com>
18193
18194         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
18195         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
18196         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
18197         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
18198         (gst_pad_send_event), (gst_pad_start_task):
18199         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
18200         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
18201         (gst_queue_sink_activate), (gst_queue_src_activate),
18202         (gst_queue_change_state):
18203         * gst/gstqueue.h:
18204         Fix state changes for non sinks. We now change sinks, then elements
18205         with unconnected srcpads, then the rest.
18206         More efficient queue unlocking in flush and state changes.
18207         Set the pad activate mode even if it does not have an activate
18208         function.
18209
18210 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18211
18212         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
18213           Don't go in pull mode for non-seekable sources.
18214         * gst/elements/gsttypefindelement.h:
18215         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
18216         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
18217         (free_entry), (stop_typefinding),
18218         (gst_type_find_element_handle_event), (find_peek),
18219         (gst_type_find_element_chain), (do_pull_typefind),
18220         (gst_type_find_element_change_state):
18221           Allow typefinding (w/o seeking) in push-mode, simplified version
18222           of what was in 0.8.
18223         * gst/gstutils.c: (gst_buffer_join):
18224         * gst/gstutils.h:
18225           gst_buffer_join() from 0.8.
18226
18227 2005-05-25  Wim Taymans  <wim@fluendo.com>
18228
18229         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
18230         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
18231         (gst_pad_send_event), (gst_pad_start_task):
18232         Disable attempt at mode switching until it is figured out.
18233
18234 2005-05-25  Wim Taymans  <wim@fluendo.com>
18235
18236         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
18237         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
18238         (gst_basesink_finish_preroll), (gst_basesink_chain),
18239         (gst_basesink_loop), (gst_basesink_activate),
18240         (gst_basesink_change_state):
18241         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
18242         (gst_basesrc_get_range), (gst_basesrc_loop),
18243         (gst_basesrc_activate):
18244         * gst/elements/gsttee.c: (gst_tee_sink_activate):
18245         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
18246         (gst_real_pad_init), (gst_real_pad_set_property),
18247         (gst_real_pad_get_property), (gst_pad_set_active),
18248         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
18249         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
18250         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
18251         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
18252         (gst_pad_event_default_dispatch), (gst_pad_event_default),
18253         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
18254         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
18255         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
18256         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
18257         (gst_pad_stop_task):
18258         * gst/gstpad.h:
18259         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
18260         (gst_queue_loop), (gst_queue_src_activate):
18261         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
18262         (gst_task_get_state):
18263         * gst/gsttask.h:
18264         * gst/schedulers/threadscheduler.c:
18265         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
18266         Implement gst_pad_pause/start/stop_task(), take STREAM lock
18267         in task function.
18268         Remove ACTIVE pad flag, use FLUSHING everywhere
18269         Added _pad_chain(), _pad_get_range() to call chain/getrange 
18270         functions.
18271         Add locks around IS_FLUSHING when reading.
18272         Take STREAM lock in chain(), get_range() functions so plugins
18273         don't need to take it anymore.
18274         
18275
18276
18277 2005-05-25  Wim Taymans  <wim@fluendo.com>
18278
18279         * tools/gst-launch.c: (event_loop):
18280         Unref message after using its contents instead of
18281         before.
18282
18283 2005-05-24  Wim Taymans  <wim@fluendo.com>
18284
18285         * docs/design/draft-ghostpads.txt:
18286         * docs/design/draft-push-pull.txt:
18287         * docs/design/draft-query.txt:
18288         * docs/design/part-overview.txt:
18289         Docs updates, added general overview doc.
18290
18291 2005-05-21  David Schleef  <ds@schleef.org>
18292
18293         * docs/gst/tmpl/old/GstBin.sgml:
18294         * docs/gst/tmpl/old/GstBuffer.sgml:
18295         * docs/gst/tmpl/old/GstCaps.sgml:
18296         * docs/gst/tmpl/old/GstClock.sgml:
18297         * docs/gst/tmpl/old/GstCompat.sgml:
18298         * docs/gst/tmpl/old/GstData.sgml:
18299         * docs/gst/tmpl/old/GstElement.sgml:
18300         * docs/gst/tmpl/old/GstEvent.sgml:
18301         * docs/gst/tmpl/old/GstIndex.sgml:
18302         * docs/gst/tmpl/old/GstStructure.sgml:
18303         * docs/gst/tmpl/old/GstTag.sgml:
18304         * docs/gst/tmpl/old/cothreads.sgml:
18305         * docs/gst/tmpl/old/cothreads_compat.sgml:
18306         * docs/gst/tmpl/old/gettext.sgml:
18307         * docs/gst/tmpl/old/gobject2gtk.sgml:
18308         * docs/gst/tmpl/old/grammar.tab.sgml:
18309         * docs/gst/tmpl/old/gst-i18n-app.sgml:
18310         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
18311         * docs/gst/tmpl/old/gst_private.sgml:
18312         * docs/gst/tmpl/old/gstaggregator.sgml:
18313         * docs/gst/tmpl/old/gstarch.sgml:
18314         * docs/gst/tmpl/old/gstatomic_impl.sgml:
18315         * docs/gst/tmpl/old/gstbufferstore.sgml:
18316         * docs/gst/tmpl/old/gstdata_private.sgml:
18317         * docs/gst/tmpl/old/gstdisksink.sgml:
18318         * docs/gst/tmpl/old/gstdisksrc.sgml:
18319         * docs/gst/tmpl/old/gstelementfactory.sgml:
18320         * docs/gst/tmpl/old/gstextratypes.sgml:
18321         * docs/gst/tmpl/old/gstfakesink.sgml:
18322         * docs/gst/tmpl/old/gstfakesrc.sgml:
18323         * docs/gst/tmpl/old/gstfdsink.sgml:
18324         * docs/gst/tmpl/old/gstfdsrc.sgml:
18325         * docs/gst/tmpl/old/gstfilesink.sgml:
18326         * docs/gst/tmpl/old/gstfilesrc.sgml:
18327         * docs/gst/tmpl/old/gsthttpsrc.sgml:
18328         * docs/gst/tmpl/old/gstidentity.sgml:
18329         * docs/gst/tmpl/old/gstindexfactory.sgml:
18330         * docs/gst/tmpl/old/gstmarshal.sgml:
18331         * docs/gst/tmpl/old/gstmd5sink.sgml:
18332         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
18333         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
18334         * docs/gst/tmpl/old/gstpadtemplate.sgml:
18335         * docs/gst/tmpl/old/gstpipefilter.sgml:
18336         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
18337         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
18338         * docs/gst/tmpl/old/gstshaper.sgml:
18339         * docs/gst/tmpl/old/gstspider.sgml:
18340         * docs/gst/tmpl/old/gstspideridentity.sgml:
18341         * docs/gst/tmpl/old/gststatistics.sgml:
18342         * docs/gst/tmpl/old/gsttee.sgml:
18343         * docs/gst/tmpl/old/gsttimecache.sgml:
18344         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
18345         * docs/gst/tmpl/old/gstxmlregistry.sgml:
18346         * docs/gst/tmpl/old/gthread-cothreads.sgml:
18347         * docs/gst/tmpl/old/types.sgml:
18348           I didn't intend to add these or check them in.
18349
18350 2005-05-19  David Schleef  <ds@schleef.org>
18351
18352         * configure.ac: Use -no-common everywhere.  In a sane world, it
18353           would be the default in libtool, because without it, you can't
18354           build DLLs on Windows.
18355         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
18356         * docs/gst/gstreamer-sections.txt:
18357         * docs/gst/tmpl/gstcpu.sgml:
18358         * docs/gst/tmpl/gstdata.sgml:
18359         * docs/gst/tmpl/gstthread.sgml:
18360
18361 2005-05-19  David Schleef  <ds@schleef.org>
18362
18363         * gst/gstminiobject.c: (gst_value_set_mini_object),
18364         (gst_value_take_mini_object), (gst_value_get_mini_object):
18365         * gst/gstminiobject.h: Add GValue set/get functions.
18366
18367 2005-05-19  Wim Taymans  <wim@fluendo.com>
18368
18369         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
18370         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
18371         (gst_subbuffer_init), (gst_buffer_is_span_fast):
18372         * gst/gstbuffer.h:
18373         * gst/gstbus.c: (gst_bus_post):
18374         * gst/gstelement.c: (gst_element_get_random_pad):
18375         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
18376         Make subbufer unref the parent in finalize.
18377         some more debugging info.
18378
18379
18380 2005-05-19  Wim Taymans  <wim@fluendo.com>
18381
18382         * gst/base/gstbasesink.c: (gst_basesink_class_init),
18383         (gst_basesink_init), (gst_basesink_finalize),
18384         (gst_basesink_activate), (gst_basesink_change_state):
18385         Don't free preroll queue too early.
18386
18387 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18388
18389         * gst/Makefile.am:
18390         * gst/ROADMAP:
18391           Hi, I'm outdated. Please shoot me.
18392
18393 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18394
18395         * gst/gstpipeline.c: (gst_pipeline_send_event):
18396           Do not access variables after they have been deleted.
18397
18398 2005-05-19  Wim Taymans  <wim@fluendo.com>
18399
18400         * tools/gst-inspect.c: (print_plugin_features):
18401         A plugin feature does unfortunatly not use the
18402         object name yet...
18403
18404 2005-05-18  Wim Taymans  <wim@fluendo.com>
18405
18406         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
18407         Port _span() functions to new subbuffers.
18408
18409 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18410
18411         * gst/gstbin.c: (gst_bin_add_func):
18412           Fix clock settery in bins when adding kids after the clock has
18413           been selected.
18414
18415 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18416
18417         * gst/elements/gstidentity.c: (gst_identity_class_init):
18418           Workaround until signals support GstMiniObject.
18419
18420 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
18421
18422         * gst/gstbuffer.c:
18423         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
18424
18425 2005-05-18  Wim Taymans  <wim@fluendo.com>
18426
18427         * gst/base/Makefile.am:
18428         * gst/base/gstadapter.c: (gst_adapter_base_init),
18429         (gst_adapter_class_init), (gst_adapter_init),
18430         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
18431         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
18432         (gst_adapter_flush), (gst_adapter_available),
18433         (gst_adapter_available_fast):
18434         * gst/base/gstadapter.h:
18435         Ported and added adapter to the base classes.
18436
18437 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
18438
18439         * gst/gst.c:
18440         * gst/gstmessage.c:
18441           Make sure the class is reffed/unreffed once before threads can be
18442           used.  Fixes #304551.
18443
18444 2005-05-17  Wim Taymans  <wim@fluendo.com>
18445
18446         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
18447         (gst_basesink_chain_unlocked), (gst_basesink_activate):
18448         * gst/gstminiobject.c: (gst_mini_object_get_type),
18449         (gst_mini_object_free):
18450         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
18451         (gst_pad_push), (gst_pad_push_event):
18452         * gst/gstqueue.c: (gst_queue_change_state):
18453         Don't queue buffers in basesink when we are flushing.
18454         Unref buffer when flushing in basesink.
18455         Flush queue when going to READY
18456         Unref buffer when _push() returns an error.
18457         Don't free MiniObject instance when refcount is incremented
18458         in _finalize() so that we can recover objects.
18459
18460 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
18461
18462         * docs/manual/advanced-schedulers.xml:
18463         * docs/manual/appendix-checklist.xml:
18464         * docs/pwg/advanced-clock.xml:
18465         * docs/pwg/advanced-interfaces.xml:
18466         * docs/pwg/advanced-request.xml:
18467         * docs/pwg/advanced-types.xml:
18468         * docs/pwg/intro-preface.xml:
18469         * examples/plugins/example.c: (gst_example_get_type),
18470         (gst_example_class_init), (gst_example_chain),
18471         (gst_example_set_property), (gst_example_get_property),
18472         (gst_example_change_state), (plugin_init):
18473         * examples/plugins/example.h:
18474           small doc fixes
18475
18476 2005-05-17  Wim Taymans  <wim@fluendo.com>
18477
18478         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
18479         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
18480         * gst/gstqueue.c: (gst_queue_change_state):
18481         Clear queue when going to READY.
18482         Remove IN_SETCAPS flag too.
18483
18484 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
18485
18486         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
18487           Remove implicit cast from gboolean to GstElementStateReturn;
18488           make sure we still return failure in paused => ready case if
18489           the parent class fails to change state and our own stop 
18490           vfunc succeeds.
18491
18492 2005-05-17  Wim Taymans  <wim@fluendo.com>
18493
18494         * tools/gst-launch.c: (event_loop):
18495         Message was unreffed too soon.
18496
18497 2005-05-16  Andy Wingo  <wingo@pobox.com>
18498
18499         * gst/gstbin.c (sink_iterator_filter): Err... um...
18500
18501         * check/gst/gstbin.c (test_ghost_pads): New test for the
18502         ghosting-if-elements-not-in-same-bin behavior.
18503
18504 2005-05-16  David Schleef  <ds@schleef.org>
18505
18506         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
18507         accessing refcount directly.
18508
18509 2005-05-15  David Schleef  <ds@schleef.org>
18510
18511         * check/Makefile.am: remove GstData checks
18512         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
18513         * gst/Makefile.am: add miniobject, remove data
18514         * gst/gst.h: add miniobject, remove data
18515         * gst/gstdata.c: remove
18516         * gst/gstdata.h: remove
18517         * gst/gstdata_private.h: remove
18518         * gst/gsttypes.h: remove GstEvent and GstMessage
18519         * gst/gstelement.c: (gst_element_post_message): fix for API changes
18520         * gst/gstmarshal.list: change BOXED -> OBJECT
18521
18522         Implement GstMiniObject.
18523         * gst/gstminiobject.c:
18524         * gst/gstminiobject.h:
18525
18526         Modify to be subclasses of GstMiniObject.
18527         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
18528         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
18529         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
18530         (gst_subbuffer_get_type), (gst_subbuffer_init),
18531         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
18532         (gst_buffer_span):
18533         * gst/gstbuffer.h:
18534         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
18535         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
18536         (_gst_event_copy), (gst_event_new):
18537         * gst/gstevent.h:
18538         * gst/gstmessage.c: (_gst_message_initialize),
18539         (gst_message_get_type), (gst_message_class_init),
18540         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
18541         (gst_message_new), (gst_message_new_error),
18542         (gst_message_new_warning), (gst_message_new_tag),
18543         (gst_message_new_state_changed), (gst_message_new_application):
18544         * gst/gstmessage.h:
18545         * gst/gstprobe.c: (gst_probe_perform),
18546         (gst_probe_dispatcher_dispatch):
18547         * gst/gstprobe.h:
18548         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
18549         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
18550         (_gst_query_copy), (gst_query_new):
18551
18552         Update elements for GstData -> GstMiniObject changes
18553         * gst/gstquery.h:
18554         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
18555         (gst_queue_chain), (gst_queue_loop):
18556         * gst/elements/gstbufferstore.c:
18557         (gst_buffer_store_add_buffer_func),
18558         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
18559         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
18560         (gst_fakesink_render):
18561         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
18562         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
18563         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
18564         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
18565         (gst_filesrc_create_read):
18566         * gst/elements/gstidentity.c: (gst_identity_class_init):
18567         * gst/elements/gsttypefindelement.c:
18568         (gst_type_find_element_src_event), (free_entry_buffers),
18569         (gst_type_find_element_handle_event):
18570         * libs/gst/dataprotocol/dataprotocol.c:
18571         (gst_dp_header_from_buffer):
18572         * libs/gst/dataprotocol/dataprotocol.h:
18573         * libs/gst/dataprotocol/dp-private.h:
18574
18575 2005-05-15  David Schleef  <ds@schleef.org>
18576
18577         * gst/elements/gstelements.c: Don't include headers that were
18578         just removed.
18579
18580 2005-05-15  David Schleef  <ds@schleef.org>
18581
18582         * gst/elements/Makefile.am: Remove some elements that don't
18583         need to be in the core (or even exist at all).
18584         * gst/elements/gstaggregator.c:
18585         * gst/elements/gstaggregator.h:
18586         * gst/elements/gstmd5sink.c:
18587         * gst/elements/gstmd5sink.h:
18588         * gst/elements/gstmultifilesrc.c:
18589         * gst/elements/gstmultifilesrc.h:
18590         * gst/elements/gstpipefilter.c:
18591         * gst/elements/gstpipefilter.h:
18592         * gst/elements/gstshaper.c:
18593         * gst/elements/gstshaper.h:
18594         * gst/elements/gststatistics.c:
18595         * gst/elements/gststatistics.h:
18596         * po/POTFILES.in: Remove above files.
18597
18598 2005-05-14  Andy Wingo  <wingo@pobox.com>
18599
18600         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
18601         so as to get the refs right.
18602         (sink_iterator_filter): New function, wraps bin_element_is_sink,
18603         unreffing objects that don't pass the filter.
18604
18605         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
18606         gst_element_set_bus.
18607         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
18608         normal cases, this will destroy the bus.
18609
18610         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
18611         object.
18612
18613         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
18614         has no sinks.
18615
18616 2005-05-13  Andy Wingo  <wingo@pobox.com>
18617
18618         * gst/gstutils.c (gst_element_link_pads): Instead of calling
18619         gst_pad_link, call pad_link_maybe_ghosting,
18620         (pad_link_maybe_ghosting): Links pads, making sure that the
18621         elements being linked are in the same bin.
18622         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
18623         Helpers for pad_link_maybe_ghosting.
18624
18625 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
18626
18627         * configure.ac:
18628           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
18629
18630 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
18631
18632         * docs/design/part-element-source.txt:
18633           Mention GstPushSrc
18634
18635 2005-05-12  Wim Taymans  <wim@fluendo.com>
18636
18637         * gst/base/gstbasesink.c: (gst_basesink_init),
18638         (gst_basesink_activate):
18639         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
18640         (gst_basesrc_is_seekable):
18641         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
18642         (bin_element_is_sink), (gst_bin_change_state):
18643         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
18644         * gst/gstelement.h:
18645         Identify sinks by their flag to avoid overly complicated
18646         checks (fow now).
18647         Do state changes even for elements not reachable from the
18648         sinks.
18649         BaseSink is a sink now :)
18650         Some more debugging info in the basesrc.
18651
18652
18653 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18654
18655         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
18656           Implement _query on a bin, similar to _send_event.
18657
18658 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
18659
18660         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
18661           Discont event offset format should be GST_FORMAT_BYTES,
18662           not GST_FORMAT_TIME.
18663
18664 2005-05-12  Wim Taymans  <wim@fluendo.com>
18665
18666         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
18667         Same fix as Ronald's but without the signal. 
18668
18669 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18670
18671         * gst/gstutils.c: (gst_element_query_position):
18672           No, an element is not a pad.
18673
18674 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18675
18676         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
18677         (gst_bin_get_state):
18678           If a child is removed from a bin while we remove the child from
18679           the bin and while we're retrieving its state, signal this to the
18680           get_state function so we abort the wait (instead of waiting for
18681           a timeout) and can immediately re-iterate over all other elements.
18682
18683 2005-05-12  Wim Taymans  <wim@fluendo.com>
18684
18685         * gst/base/Makefile.am:
18686         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
18687         (gst_basesrc_start):
18688         * gst/base/gstbasesrc.h:
18689         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
18690         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
18691         (gst_pushsrc_init), (gst_pushsrc_create):
18692         * gst/base/gstpushsrc.h:
18693         Added is_seekable to BaseSrc
18694         Added simple PushSrc.
18695
18696 2005-05-11  Wim Taymans  <wim@fluendo.com>
18697
18698         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
18699         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
18700         (gst_element_link_pads), (gst_element_query_position),
18701         (gst_element_query_convert), (intersect_caps_func),
18702         (gst_pad_query_position), (gst_pad_query_convert):
18703         Fix refcounting in utils function.
18704         No point in trying to activate a pad when it's added, it could
18705         be added from the state change function and then we deadlock, the
18706         element has to decide what to do.
18707
18708 2005-05-10  Andy Wingo  <wingo@pobox.com>
18709
18710         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
18711         *all* the arguments.
18712
18713         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
18714         stream lock if it's a FLUSH_DONE; normal flushes don't get the
18715         lock (according to the docs -- if this is wrong change the docs).
18716
18717         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
18718         flush messages in the NULL state.
18719
18720         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
18721         message immediately and return.
18722         (gst_bus_set_flushing): New function. If a bus is flushing, it
18723         flushes out any queued messages and immediately unrefs new
18724         messages. This is so when an element goes to NULL, all of the
18725         unhandled messages coming from it can be freed, and their
18726         references to the element dropped. In other words: message source
18727         ref considered harmful :P
18728
18729         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
18730         we're finished with it.
18731
18732         * gst/gstmessage.c (gst_message_new_state_changed): 
18733
18734 2005-05-10  Wim Taymans  <wim@fluendo.com>
18735
18736         * gst/gstvalue.c: (gst_value_compare_flags),
18737         (gst_value_serialize_flags), (gst_value_deserialize_flags),
18738         (_gst_value_initialize):
18739         Added flags serialize/deserialize/compare code.
18740
18741 2005-05-09  Andy Wingo  <wingo@pobox.com>
18742
18743         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
18744         Intersect the peer's caps with our caps.
18745
18746 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18747
18748         * gst/base/gsttypefindhelper.c: (helper_find_peek):
18749         * gst/elements/gsttypefindelement.c: (find_peek):
18750           Handle negative offsets better. Fixes decodebin.
18751
18752 2005-05-09  Wim Taymans  <wim@fluendo.com>
18753
18754         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
18755         (gst_base_transform_event):
18756         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
18757         Implement accept_caps.
18758         Fix silly lock/unlock mismatch in base class.
18759
18760 2005-05-09  Wim Taymans  <wim@fluendo.com>
18761
18762         * docs/design/draft-push-pull.txt:
18763         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
18764         * gst/elements/gstfilesink.c: (gst_filesink_init),
18765         (gst_filesink_query):
18766         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
18767         (gst_type_find_handle_src_query), (find_element_get_length):
18768         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
18769         * gst/gstelement.h:
18770         * gst/gstmessage.c:
18771         * gst/gstmessage.h:
18772         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
18773         (gst_real_pad_get_caps_unlocked),
18774         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
18775         (gst_pad_event_default_dispatch), (gst_pad_event_default),
18776         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
18777         (gst_real_pad_dispose), (gst_real_pad_finalize),
18778         (gst_pad_load_and_link), (gst_pad_save_thyself),
18779         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
18780         (gst_pad_check_pull_range), (gst_pad_pull_range),
18781         (gst_pad_template_get_type), (gst_pad_template_class_init),
18782         (gst_pad_template_init), (gst_pad_template_dispose),
18783         (name_is_valid), (gst_static_pad_template_get),
18784         (gst_pad_template_new), (gst_static_pad_template_get_caps),
18785         (gst_pad_template_get_caps), (gst_pad_set_element_private),
18786         (gst_pad_get_element_private), (gst_pad_start_task),
18787         (gst_pad_pause_task), (gst_pad_stop_task),
18788         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
18789         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
18790         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
18791         (gst_ghost_pad_new):
18792         * gst/gstpad.h:
18793         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
18794         (gst_query_new_position), (gst_query_set_position),
18795         (gst_query_parse_position), (gst_query_new_convert),
18796         (gst_query_set_convert), (gst_query_parse_convert):
18797         * gst/gstquery.h:
18798         * gst/gstqueryutils.c:
18799         * gst/gstqueryutils.h:
18800         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
18801         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
18802         (gst_queue_handle_src_query):
18803         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
18804         (gst_element_query_position), (gst_element_query_convert),
18805         (intersect_caps_func), (gst_pad_query_position),
18806         (gst_pad_query_convert):
18807         * gst/gstutils.h:
18808         * tools/gst-inspect.c: (print_pad_info):
18809         * tools/gst-xmlinspect.c: (print_element_info):
18810         Remove old query functions. Ported old code.
18811         Added position/convert helper functions to gstutils.
18812         Reordered gstpad.c code, grouping relevant things.
18813         Remove gst_message_new(), always need to speficy a specific
18814         message.
18815
18816
18817 2005-05-09  Andy Wingo  <wingo@pobox.com>
18818
18819         * gst/gstiterator.h: Add some includes.
18820
18821         * gst/gstqueryutils.h: Include more headers.
18822
18823         * gst/gstpad.h:
18824         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
18825         some uses of gst_pad_query.
18826
18827         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
18828         NULL out parameters.
18829         (gst_query_new_position): New proc, allocates a new position
18830         query.
18831
18832         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
18833         gstqueryutils.c to the build.
18834
18835         * gst/gststructure.c (gst_structure_set_valist): Implement with
18836         the generic G_VALUE_COLLECT.
18837         
18838 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
18839
18840         * gst/Makefile.am: (gst_headers):
18841         Added gstqueryutils.h to the list of headers to install, that was
18842         a 'nachty' move wingo :)
18843
18844 2005-05-06  Andy Wingo  <wingo@pobox.com>
18845
18846         * gst/gstquery.h
18847         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
18848         GstData, init a memchunk.
18849         (standard_definitions): Add a few query types, deprecate a few.
18850         (gst_query_get_type): New proc.
18851         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
18852         implementation.
18853         (gst_query_new_application, gst_query_get_structure): New public
18854         procs.
18855
18856         * docs/design/draft-query.txt: Removed LINKS from the query types,
18857         because all the rest can be dispatched to other pads -- seemed
18858         ugly to have a query that couldn't be dispatched. internal_links
18859         is fine as a pad method.
18860
18861         * gst/gstpad.h: Add query2 as a pad method, add the new functions
18862         in gstpad.c, but maintain binary compatibility for the moment.
18863         Will fix before 0.9 is out.
18864
18865         * gst/gstqueryutils.c: 
18866         * gst/gstqueryutils.h: New files, implement 3 methods for each
18867         query type: parse_query, parse_response, and set. Probably need an
18868         allocator as well.
18869
18870         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
18871
18872         * gst/elements/gstfilesink.c (gst_filesink_query2):
18873         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
18874         query_types, and formats methods.
18875
18876         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
18877         (gst_pad_set_query2_function): New functions.
18878         (gst_real_pad_init): Set query2_default as the default query2
18879         function. Basically just dispatches to internally linked pads.
18880
18881         Needs review!
18882         
18883         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
18884         without using the atomic operations. Only one thread can possibly
18885         be accessing the data at this point. Changed so as to avoid
18886         gst_atomic operations.
18887
18888 2005-05-06  Wim Taymans  <wim@fluendo.com>
18889
18890         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
18891         Also set caps if we use the fallback buffer alloc.
18892
18893 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
18894
18895         * docs/gst/Makefile.am:
18896         * docs/gst/gstreamer-docs.sgml:
18897         * docs/gst/gstreamer-sections.txt:
18898         * docs/gst/tmpl/gstatomic.sgml:
18899         * docs/gst/tmpl/gstmemchunk.sgml:
18900         * testsuite/elements/struct_i386.h:
18901         * win32/GStreamer.vcproj:
18902         * win32/Makefile:
18903           Purge GstAtomic stuff from docs and win32 makefiles as well
18904
18905 2005-05-06  Wim Taymans  <wim@fluendo.com>
18906
18907         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
18908         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
18909         * gst/gstpad.c: (gst_pad_peer_get_caps):
18910         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
18911         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
18912         (gst_queue_src_activate), (gst_queue_change_state):
18913         * gst/gstqueue.h:
18914         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
18915         (intersect_caps_func):
18916         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
18917         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
18918         Some fixes for the peer_get_caps() change.
18919
18920 2005-05-06  Wim Taymans  <wim@fluendo.com>
18921
18922         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
18923         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
18924         (gst_basesink_activate):
18925         Actually do something with error codes returned from the push
18926         functions.
18927
18928 2005-05-06  Wim Taymans  <wim@fluendo.com>
18929
18930         * docs/design/part-element-sink.txt:
18931         * docs/design/part-element-source.txt:
18932         * gst/base/gstbasesink.c: (gst_basesink_class_init),
18933         (gst_basesink_event), (gst_basesink_activate):
18934         * gst/base/gstbasesink.h:
18935         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
18936         (gst_basesrc_activate):
18937         * gst/base/gstbasesrc.h:
18938         * gst/gstelement.c: (gst_element_pads_activate):
18939         Some more documentation.
18940         Fixed scheduling decision in _pads_activate().
18941
18942 2005-05-05  Andy Wingo  <wingo@pobox.com>
18943
18944         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
18945         the test suite.
18946
18947 2005-05-05  Wim Taymans  <wim@fluendo.com>
18948
18949         * gst/base/Makefile.am:
18950         * gst/base/gstbasesink.h:
18951         * gst/base/gstbasesrc.c: (gst_basesrc_init),
18952         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
18953         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
18954         (gst_collectpads_class_init), (gst_collectpads_init),
18955         (gst_collectpads_finalize), (gst_collectpads_new),
18956         (gst_collectpads_set_function), (gst_collectpads_add_pad),
18957         (find_pad), (gst_collectpads_remove_pad),
18958         (gst_collectpads_is_active), (gst_collectpads_collect),
18959         (gst_collectpads_collect_range), (gst_collectpads_start),
18960         (gst_collectpads_stop), (gst_collectpads_peek),
18961         (gst_collectpads_pop), (gst_collectpads_available),
18962         (gst_collectpads_read), (gst_collectpads_flush),
18963         (gst_collectpads_chain):
18964         * gst/base/gstcollectpads.h:
18965         * gst/elements/Makefile.am:
18966         * gst/elements/gstelements.c:
18967         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
18968         (gst_fakesink_get_times), (gst_fakesink_event),
18969         (gst_fakesink_preroll), (gst_fakesink_render):
18970         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
18971         (gst_filesink_init), (gst_filesink_set_location),
18972         (gst_filesink_open_file), (gst_filesink_close_file),
18973         (gst_filesink_pad_query), (gst_filesink_event),
18974         (gst_filesink_render), (gst_filesink_change_state):
18975         * gst/elements/gstfilesink.h:
18976         Added object to help in making collect pad based elements.
18977         Ported filesink.
18978         Make event function in sink baseclass return gboolean.
18979
18980 2005-05-05  Wim Taymans  <wim@fluendo.com>
18981
18982         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
18983         (gst_bin_get_by_name):
18984         * gst/gstbuffer.h:
18985         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
18986         (gst_clock_finalize):
18987         * gst/gstdata.c: (gst_data_replace):
18988         * gst/gstdata.h:
18989         * gst/gstelement.c: (gst_element_request_pad),
18990         (gst_element_pads_activate):
18991         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
18992         (gst_object_unref):
18993         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
18994         (gst_pad_set_checkgetrange_function),
18995         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
18996         (gst_pad_check_pull_range), (gst_pad_pull_range),
18997         (gst_static_pad_template_get_caps), (gst_pad_start_task),
18998         (gst_pad_pause_task), (gst_pad_stop_task):
18999         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
19000         (gst_element_request_pad), (gst_pad_proxy_getcaps):
19001         Fix name lookup in GstBin.
19002         Added _data_replace() function and _buffer_replace()
19003         Use finalize method to clean up clock.
19004         Fix refcounting on request pads.
19005         Fix pad schedule mode error.
19006         Some more object refcounting debug info,
19007
19008
19009 2005-05-04  Andy Wingo <wingo@pobox.com>
19010
19011         * check/Makefile.am:
19012         * docs/gst/tmpl/gstatomic.sgml:
19013         * docs/gst/tmpl/gstplugin.sgml:
19014         * gst/base/gstbasesink.c: (gst_basesink_activate):
19015         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
19016         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
19017         (gst_basesrc_query), (gst_basesrc_set_property),
19018         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
19019         (gst_basesrc_activate):
19020         * gst/base/gstbasesrc.h:
19021         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
19022         (gst_base_transform_src_activate):
19023         * gst/elements/gstelements.c:
19024         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
19025         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
19026         * gst/elements/gsttee.c: (gst_tee_sink_activate):
19027         * gst/elements/gsttypefindelement.c: (find_element_get_length),
19028         (gst_type_find_element_checkgetrange),
19029         (gst_type_find_element_activate):
19030         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
19031         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
19032         (gst_caps_load_thyself):
19033         * gst/gstelement.c: (gst_element_pads_activate),
19034         (gst_element_save_thyself), (gst_element_restore_thyself):
19035         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
19036         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
19037         * gst/gstpad.h:
19038         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
19039         (gst_xml_parse_file), (gst_xml_parse_memory),
19040         (gst_xml_get_element), (gst_xml_make_element):
19041         * gst/indexers/gstfileindex.c: (gst_file_index_load),
19042         (_file_index_id_save_xml), (gst_file_index_commit):
19043         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
19044         (read_enum), (load_pad_template), (load_feature), (load_plugin),
19045         (load_paths):
19046         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
19047         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
19048         * tools/gst-complete.c: (main):
19049         * tools/gst-compprep.c: (main):
19050         * tools/gst-inspect.c: (print_element_properties_info):
19051         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
19052         * tools/gst-xmlinspect.c: (print_element_properties):
19053         GCC 4 fixen.
19054         
19055 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
19056
19057         * gst/gstplugin.c: (gst_plugin_check_module),
19058         (gst_plugin_check_file), (gst_plugin_load_file):
19059             apply patch from #172526 to make register work on MacOSX
19060
19061 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
19062
19063         * docs/gst/tmpl/gstconfig.sgml:
19064         * gst/gstconfig.h.in:
19065           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
19066         * testsuite/debug/printf_extension.c: (main):
19067           Do not use GST_PTR_FORMAT on pointers to types with
19068           sizeof < sizeof(gpointer).  Fixes test on 64-bit
19069         * testsuite/elements/property.h:
19070           use correct printf format
19071
19072 2005-05-02  Wim Taymans  <wim@fluendo.com>
19073
19074         * docs/design/draft-push-pull.txt:
19075         * docs/design/draft-query.txt:
19076         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
19077         (gst_basesrc_start):
19078         Added draft for new query API.
19079         Added draft for better selecting scheduling methods.
19080         Make basesrc ignore length if the subclass does not support
19081         it.
19082
19083 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
19084
19085         * gst/Makefile.am:
19086           possible fixes for automake-1.5 - _LIBADD is reserved
19087
19088 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
19089
19090         * docs/faq/Makefile.am:
19091         * docs/manual/Makefile.am:
19092         * docs/manuals.mak:
19093         * docs/pwg/Makefile.am:
19094         * gst/Makefile.am:
19095           possible fixes for automake-1.5
19096
19097 2005-04-28  Wim Taymans  <wim@fluendo.com>
19098
19099         * gst/base/gstbasesink.c: (gst_basesink_base_init),
19100         (gst_basesink_pad_getcaps), (gst_basesink_init),
19101         (gst_basesink_do_sync):
19102         * gst/gstclock.c: (gst_clock_entry_new):
19103         * gst/gstevent.c: (gst_event_discont_get_value):
19104         * gst/gstpipeline.c: (pipeline_bus_handler),
19105         (gst_pipeline_change_state):
19106         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
19107         Better debugging of clocking info.
19108         Allow NULL values when getting discont values.
19109
19110 2005-04-27  Wim Taymans  <wim@fluendo.com>
19111
19112         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
19113         * check/gst/gstpad.c: (gst_pad_suite):
19114         Increase timeout for checks.
19115
19116 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
19117
19118         * check/Makefile.am:
19119           fix the broken rule for cleanup.  Apparently this rule is
19120           only needed on FC2, so maybe this warrants further autotool
19121           inspection.
19122
19123 2005-04-26  Wim Taymans  <wim@fluendo.com>
19124
19125         * gst/gsttrashstack.h:
19126         Ooohh. a nasty one! After having a failed pop() from the stack,
19127         it's possible that the stack is empty. In that case, don't
19128         follow the NULL pointer.
19129
19130 2005-04-25  Wim Taymans  <wim@fluendo.com>
19131
19132         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
19133         (gst_pad_set_checkgetrange_function),
19134         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
19135         (gst_pad_check_pull_range), (gst_pad_pull_range),
19136         (gst_static_pad_template_get_caps), (gst_pad_start_task),
19137         (gst_pad_pause_task), (gst_pad_stop_task):
19138         * gst/gstplugin.c: (gst_plugin_load):
19139         * gst/gstplugin.h:
19140         Remove gst_library_load as it does more harm than good with
19141         the new g_module flags.
19142         Revert bogus caps template check in pad linking, pad caps
19143         are important when linking not the template, which is more
19144         general than the current caps.
19145
19146 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19147
19148         * gst/autoplug/.cvsignore:
19149         * gst/autoplug/Makefile.am:
19150         * gst/autoplug/gstsearchfuncs.c:
19151         * gst/autoplug/gstsearchfuncs.h:
19152         * gst/autoplug/gstspider.c:
19153         * gst/autoplug/gstspider.h:
19154         * gst/autoplug/gstspideridentity.c:
19155         * gst/autoplug/gstspideridentity.h:
19156         * gst/autoplug/spidertest.c:
19157           Die, spider, die.
19158
19159 2005-04-25  Wim Taymans  <wim@fluendo.com>
19160
19161         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
19162         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
19163         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
19164         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
19165         * gst/gstpad.h:
19166         Added stubs for unimplemented functions. 
19167
19168 2005-04-24  David Schleef  <ds@schleef.org>
19169
19170         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
19171         please fix.
19172
19173 2005-04-24  David Schleef  <ds@schleef.org>
19174
19175         Convert everything from GstAtomicInt to g_atomic_int_*, and
19176         remove gstatomic.
19177         * gst/Makefile.am:
19178         * gst/gstatomic.c:
19179         * gst/gstatomic.h:
19180         * gst/gstatomic_impl.h:
19181         * gst/gstbuffer.c:
19182         * gst/gstcaps.c:
19183         * gst/gstcaps.h:
19184         * gst/gstclock.c:
19185         * gst/gstclock.h:
19186         * gst/gstdata.c:
19187         * gst/gstdata.h:
19188         * gst/gstdata_private.h:
19189         * gst/gstevent.c:
19190         * gst/gstinfo.c:
19191         * gst/gstinfo.h:
19192         * gst/gstmessage.c:
19193         * gst/gstobject.c:
19194         * gst/gstobject.h:
19195         * gst/gststructure.c:
19196         * gst/gststructure.h:
19197         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
19198         * gst/gstutils.h:
19199
19200 2005-04-24  David Schleef  <ds@schleef.org>
19201
19202         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
19203         make the regressions tests work.  Remove some code that is no
19204         longer true.
19205         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
19206         Disable warning for pads without templates.
19207
19208 2005-04-24  David Schleef  <ds@schleef.org>
19209
19210         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
19211         functions that handle filtered links.
19212         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
19213         removed functions.
19214         * gst/gstutils.c: Fix/remove utility functions that handle
19215         filtered caps.
19216         * gst/gstutils.h:
19217         * gst/gstvalue.c: Add serialization/deserialization of caps
19218         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
19219         requires fixing so that the filter caps notation creates
19220         a capsfilter element and sets the filter_caps property.  I
19221         think everyone probably wants to keep the shorthand notation.
19222         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
19223         * docs/gst/tmpl/gstpad.sgml:
19224
19225         * gst/elements/gstelements.c: Register capsfilter element.
19226         * gst/Makefile.am: fix spacing
19227         * docs/random/ds/0.9-suggested-changes: random
19228
19229 2005-04-23  David Schleef  <ds@schleef.org>
19230
19231         * gst/elements/Makefile.am:
19232         * gst/elements/gstcapsfilter.c: New element that acts like an
19233         identity, but filters caps.  Will eventually replace filtered
19234         caps in pad linking.
19235         * gst/gstutils.c: (gst_element_create_all_pads): New function
19236         to create all the ALWAYS pads that are registered with an
19237         element class.  This functionality should eventually be
19238         merged in with GstElement initialization.
19239         * gst/gstutils.h:
19240         * testsuite/trigger/README: part of trigger test code that should
19241         have been checked in a long time ago.
19242
19243 2005-04-23  David Schleef  <ds@schleef.org>
19244
19245         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
19246         needed with new versions of libtool (nobody will confirm this),
19247         and hard to carry around.
19248         * gst/autoplug/Makefile.am:
19249         * gst/base/Makefile.am:
19250         * gst/elements/Makefile.am:
19251         * gst/indexers/Makefile.am:
19252         * gst/schedulers/Makefile.am:
19253         * libs/gst/bytestream/Makefile.am:
19254         * libs/gst/control/Makefile.am:
19255         * libs/gst/dataprotocol/Makefile.am:
19256         * libs/gst/getbits/Makefile.am:
19257
19258 2005-04-21  Wim Taymans  <wim@fluendo.com>
19259
19260         * docs/design/draft-push-pull.txt:
19261         * docs/design/part-MT-refcounting.txt:
19262         * docs/design/part-TODO.txt:
19263         * docs/design/part-caps.txt:
19264         * docs/design/part-events.txt:
19265         * docs/design/part-gstbus.txt:
19266         * docs/design/part-gstpipeline.txt:
19267         * docs/design/part-messages.txt:
19268         * docs/design/part-push-pull.txt:
19269         * docs/design/part-query.txt:
19270         Some more docs.
19271
19272 2005-04-21  Wim Taymans  <wim@fluendo.com>
19273
19274         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
19275         (gst_message_new), (gst_message_new_error),
19276         (gst_message_new_warning), (gst_message_new_tag),
19277         (gst_message_new_state_changed), (gst_message_new_application),
19278         (gst_message_get_structure):
19279         * gst/gstmessage.h:
19280         * gst/gststructure.c: (gst_structure_set_parent_refcount),
19281         (gst_structure_copy_conditional):
19282         Use parent refcount in GstMessage to ensure GstStructure
19283         consistency.
19284         Cleaned up headers a bit.
19285         
19286
19287 2005-04-20  Wim Taymans  <wim@fluendo.com>
19288
19289         * gst/base/gstbasesink.c: (gst_basesink_base_init),
19290         (gst_basesink_pad_getcaps), (gst_basesink_init),
19291         (gst_basesink_chain_unlocked):
19292         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
19293         (gst_type_find_helper):
19294         * gst/elements/gsttypefindelement.c:
19295         (gst_type_find_element_have_type), (gst_type_find_element_init),
19296         (stop_typefinding), (gst_type_find_element_handle_event),
19297         (find_suggest), (gst_type_find_element_chain),
19298         (gst_type_find_element_checkgetrange),
19299         (gst_type_find_element_getrange), (do_typefind),
19300         (gst_type_find_element_activate):
19301         * gst/gstbuffer.c: (_gst_buffer_sub_free),
19302         (gst_buffer_default_free), (gst_buffer_default_copy),
19303         (gst_buffer_set_caps):
19304         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
19305         (gst_caps_replace):
19306         * gst/gstmessage.c: (gst_message_new),
19307         (gst_message_new_state_changed):
19308         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
19309         (gst_pad_set_checkgetrange_function),
19310         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
19311         (gst_pad_set_caps), (gst_pad_check_pull_range),
19312         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
19313         * gst/gstpad.h:
19314         * gst/gsttypefind.c: (gst_type_find_register):
19315         Make gst_caps_replace() work like other _replace() functions.
19316         Use _caps_replace() where possible.
19317         Make sure _message_new() initialises its field.
19318         Add gst_static_pad_template_get_caps()
19319
19320
19321 2005-04-18  Andy Wingo  <wingo@pobox.com>
19322
19323         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
19324         on the peer, not the pad. I think that was a typo. Pass an extra
19325         arg to see if random access is possible. Activate the pads as
19326         PULL_RANGE if possible.
19327
19328         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
19329
19330         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
19331         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
19332         to PROP_....
19333
19334 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19335
19336         * docs/faq/using.xml:
19337           Add note on gstreamer-properties (#154996).
19338
19339 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19340
19341         * docs/random/bbb/optional-properties:
19342           Some analysis on optional properties.
19343
19344 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19345
19346         * docs/gst/tmpl/gstelementfactory.sgml:
19347         * gst/gstelement.h:
19348         * gst/gstelementfactory.c: (gst_element_factory_init),
19349         (gst_element_factory_cleanup), (gst_element_register),
19350         (__gst_element_factory_add_static_pad_template),
19351         (gst_element_factory_get_static_pad_templates),
19352         (gst_element_factory_can_src_caps),
19353         (gst_element_factory_can_sink_caps):
19354         * gst/registries/Makefile.am:
19355         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
19356         (gst_xml_registry_class_init), (gst_xml_registry_init),
19357         (gst_xml_registry_new), (gst_xml_registry_set_property),
19358         (gst_xml_registry_get_property), (get_time), (make_dir),
19359         (gst_xml_registry_get_perms_func),
19360         (plugin_times_older_than_recurse), (plugin_times_older_than),
19361         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
19362         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
19363         (add_to_char_array), (read_string), (read_uint), (read_enum),
19364         (load_pad_template), (load_feature), (load_plugin), (load_paths),
19365         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
19366         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
19367         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
19368         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
19369         (gst_xml_registry_rebuild):
19370         * gst/registries/gstlibxmlregistry.h:
19371         * tools/gst-compprep.c: (main):
19372         * tools/gst-inspect.c: (print_pad_templates_info):
19373         * tools/gst-xmlinspect.c: (print_element_info):
19374           Use libxml2 for registry parsing, use staticpadtemplates in
19375           elementfactories. Makes gst_init() +/- 10x faster.
19376
19377 2005-04-12  Wim Taymans  <wim@fluendo.com>
19378
19379         * gst/base/Makefile.am:
19380         * gst/base/gstbasesink.c: (gst_basesink_base_init),
19381         (gst_basesink_pad_getcaps), (gst_basesink_init),
19382         (gst_basesink_event), (gst_basesink_change_state):
19383         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
19384         (gst_basesrc_init), (gst_basesrc_query),
19385         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
19386         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
19387         (gst_basesrc_check_get_range), (gst_basesrc_loop),
19388         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
19389         (gst_basesrc_stop), (gst_basesrc_activate),
19390         (gst_basesrc_change_state):
19391         * gst/base/gsttypefindhelper.c: (helper_find_peek),
19392         (helper_find_suggest), (gst_type_find_helper):
19393         * gst/base/gsttypefindhelper.h:
19394         * gst/elements/Makefile.am:
19395         * gst/elements/gstelements.c:
19396         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
19397         (gst_fakesink_get_times), (gst_fakesink_event),
19398         (gst_fakesink_preroll), (gst_fakesink_render):
19399         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
19400         (gst_fakesrc_init), (gst_fakesrc_event_handler),
19401         (gst_fakesrc_get_property), (gst_fakesrc_create),
19402         (gst_fakesrc_start), (gst_fakesrc_stop):
19403         * gst/elements/gstfakesrc.h:
19404         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
19405         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
19406         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
19407         (gst_filesrc_create_read), (gst_filesrc_create),
19408         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
19409         (gst_filesrc_start):
19410         * gst/elements/gsttypefindelement.c:
19411         (gst_type_find_element_have_type), (gst_type_find_element_init),
19412         (start_typefinding), (stop_typefinding), (push_buffer_store),
19413         (gst_type_find_element_handle_event),
19414         (gst_type_find_element_chain),
19415         (gst_type_find_element_checkgetrange),
19416         (gst_type_find_element_getrange), (do_typefind),
19417         (gst_type_find_element_activate),
19418         (gst_type_find_element_change_state):
19419         * gst/elements/gsttypefindelement.h:
19420         * gst/gstpipeline.c: (pipeline_bus_handler):
19421         Added typefind helper.
19422         Small preroll fix in the base sink.
19423         Disable typefind code in basesrc.
19424         Crude port of typefindelement.
19425         Fakesrc cleanups.
19426
19427
19428 2005-04-11  Wim Taymans  <wim@fluendo.com>
19429
19430         * check/gst/gstbus.c: (gstbus_suite):
19431         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
19432         * check/gstcheck.h:
19433           Fix up the timeout so that the test does not fail.
19434
19435 2005-04-06  Wim Taymans  <wim@fluendo.com>
19436
19437         * gst/base/README:
19438         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
19439         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
19440         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
19441         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
19442         (gst_basesrc_check_get_range), (gst_basesrc_loop),
19443         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
19444         (gst_basesrc_stop), (gst_basesrc_activate),
19445         (gst_basesrc_change_state), (basesrc_find_peek),
19446         (basesrc_find_suggest), (gst_basesrc_type_find):
19447         * gst/base/gstbasesrc.h:
19448         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
19449         (gst_filesrc_class_init), (gst_filesrc_init),
19450         (gst_filesrc_finalize), (gst_filesrc_set_location),
19451         (gst_filesrc_set_property), (gst_filesrc_get_property),
19452         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
19453         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
19454         (gst_filesrc_create_read), (gst_filesrc_create),
19455         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
19456         * gst/elements/gstfilesrc.h:
19457         * gst/gstelement.c: (gst_element_get_state_func),
19458         (gst_element_lost_state), (gst_element_pads_activate):
19459         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
19460         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
19461         (gst_pad_pull_range):
19462         * gst/gstpad.h:
19463         More work on the generic source base class, implement seeking,
19464         query.
19465         Make filesrc extend the base source class.
19466         Added gst_pad_set_checkgetrange_function to GstPad.
19467
19468 2005-04-06  Andy Wingo  <wingo@pobox.com>
19469
19470         * pkgconfig/gstreamer-base.pc.in:
19471         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
19472
19473         * pkgconfig/Makefile.am:
19474         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
19475
19476 2005-04-04  Wim Taymans  <wim@fluendo.com>
19477
19478         * gst/base/Makefile.am:
19479         * gst/base/README:
19480         * gst/base/gstbasesink.c: (gst_basesink_base_init),
19481         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
19482         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
19483         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
19484         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
19485         (gst_basesrc_base_init), (gst_basesrc_class_init),
19486         (gst_basesrc_init), (gst_basesrc_get_formats),
19487         (gst_basesrc_get_query_types), (gst_basesrc_query),
19488         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
19489         (gst_basesrc_set_property), (gst_basesrc_get_property),
19490         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
19491         (gst_basesrc_loop), (gst_basesrc_activate),
19492         (gst_basesrc_change_state):
19493         * gst/base/gstbasesrc.h:
19494         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
19495         (gst_fakesrc_class_init), (gst_fakesrc_init),
19496         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
19497         (gst_fakesrc_get_property), (gst_fakesrc_create):
19498         * gst/elements/gstfakesrc.h:
19499         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
19500         (gst_filesrc_open_file), (gst_filesrc_loop),
19501         (gst_filesrc_activate), (filesrc_find_peek),
19502         (gst_filesrc_type_find):
19503         Made base source class, make fakesrc extend it.
19504         Add comments to basesink class.
19505         Some filesrc cleanup.
19506
19507 2005-03-31  David Schleef  <ds@schleef.org>
19508
19509         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
19510         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
19511         expected to link against libgstreamer.
19512         * gst/base/Makefile.am: link against libgstreamer
19513         * gst/elements/Makefile.am: same
19514
19515 2005-03-31  Andy Wingo  <wingo@pobox.com>
19516
19517         * tests/instantiate/Makefile.am:
19518         * tests/instantiate/caps.c: Add test to test speed of caps copy
19519         and free.
19520
19521         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
19522         GMemChunk to be fair.
19523
19524         * gst/gsttrashstack.h: Remove warning about using the fallback
19525         trash stack implementation, it's still faster than malloc.
19526
19527 2005-03-30  Andy Wingo  <wingo@pobox.com>
19528
19529         * tests/complexity.c: Add a copyright.
19530
19531 2005-03-31  Wim Taymans  <wim@fluendo.com>
19532
19533         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
19534         (gst_base_transform_class_init), (gst_base_transform_init),
19535         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
19536         (gst_base_transform_get_property),
19537         (gst_base_transform_sink_activate),
19538         (gst_base_transform_src_activate),
19539         (gst_base_transform_change_state):
19540         * gst/base/gstbasetransform.h:
19541         * gst/elements/gstidentity.c: (gst_identity_class_init),
19542         (gst_identity_event), (gst_identity_check_perfect),
19543         (gst_identity_transform), (gst_identity_start),
19544         (gst_identity_stop):
19545         Added start/stop methods to transform base class so subclasses 
19546         don't need to deal with state changes even.
19547
19548 2005-03-31  Wim Taymans  <wim@fluendo.com>
19549
19550         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
19551         (gst_event_new_discontinuous), (gst_event_discont_get_value):
19552         * gst/gstevent.h:
19553         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
19554         (gst_pad_pull_range):
19555         Added rate to the discont event to prepare for variable speed
19556         and reverse playback.
19557
19558 2005-03-29  David Schleef  <ds@schleef.org>
19559
19560         * configure.ac:
19561         * testsuite/trigger/Makefile.am:
19562         * testsuite/trigger/trigger.c: A little example program to show
19563         how trigger-based elements can work.
19564
19565 2005-03-29  Wim Taymans  <wim@fluendo.com>
19566
19567         * gst/base/Makefile.am:
19568         * gst/base/README:
19569         * gst/base/gstbasesink.c: (gst_basesink_get_type),
19570         (gst_basesink_base_init), (gst_basesink_class_init),
19571         (gst_basesink_pad_getcaps), (gst_basesink_init),
19572         (gst_basesink_activate), (gst_basesink_change_state):
19573         * gst/base/gstbasesink.h:
19574         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
19575         (gst_base_transform_base_init), (gst_base_transform_finalize),
19576         (gst_base_transform_class_init), (gst_base_transform_init),
19577         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
19578         (gst_base_transform_event), (gst_base_transform_getrange),
19579         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
19580         (gst_base_transform_set_property),
19581         (gst_base_transform_get_property),
19582         (gst_base_transform_sink_activate),
19583         (gst_base_transform_src_activate),
19584         (gst_base_transform_change_state):
19585         * gst/base/gstbasetransform.h:
19586         * gst/elements/gstidentity.c: (gst_identity_finalize),
19587         (gst_identity_class_init), (gst_identity_init),
19588         (gst_identity_event), (gst_identity_check_perfect),
19589         (gst_identity_transform), (gst_identity_set_property),
19590         (gst_identity_get_property), (gst_identity_change_state):
19591         * gst/elements/gstidentity.h:
19592         * gst/gstelement.c: (gst_element_get_state_func),
19593         (gst_element_lost_state), (gst_element_pads_activate):
19594         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
19595         (gst_pad_check_pull_range), (gst_pad_pull_range):
19596         * gst/gstpad.h:
19597         Simplify pad activation.
19598         Added function to check if pull_range can be performed.
19599         Error out when pulling inactive or flushing pads.
19600         Removed const from refcounted types as it does not make sense.
19601         Simplify pad templates in basesink
19602         Added base class for simple 1-to-1 transforms.
19603         Make identity subclass the base transform.
19604
19605 2005-03-29  Andy Wingo  <wingo@pobox.com>
19606
19607         * docs/libs/gstreamer-libs-overrides.txt: 
19608         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
19609         really don't understand what's going on, but like whatever. I want
19610         green buildbot!
19611
19612         * docs/gst/Makefile.am:
19613         * docs/libs/Makefile.am: Dist the overrides files.
19614
19615         * check/Makefile.am (clean-local): Remove .libs directories.
19616
19617         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
19618         elements to EXTRA_DIST, so po/ files are happy.
19619
19620         * po/POTFILES.in: Er, remove it here.
19621
19622         * po/POTFILES: Remove gstspider.c.
19623
19624         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
19625
19626         * docs/libs/gstreamer-libs-docs.sgml: 
19627         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
19628         bytestream.
19629
19630         * tests/complexity.c (main): Set the length of the preroll queue
19631         on the sinks to prevent a lockup.
19632
19633         * libs/gst/dataprotocol/Makefile.am: 
19634         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
19635         the same as the one in check/gst-libs/gdp.c.
19636
19637         * po/, docs/gst/: Commit automatic changes to docs and po files.
19638
19639         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
19640         the versioned libgstbase.
19641
19642         * check/Makefile.am: Depend on an unversioned gst-register, seems
19643         to make autoconf happier.
19644
19645         * gst/base/Makefile.am: Make libgstbase a versioned lib.
19646
19647 2005-03-28  Wim Taymans  <wim@fluendo.com>
19648
19649         * configure.ac:
19650         * docs/design/part-gstelement.txt:
19651         * docs/design/part-negotiation.txt:
19652         * docs/design/part-preroll.txt:
19653         * docs/design/part-scheduling.txt:
19654         * docs/design/part-states.txt:
19655         * gst/Makefile.am:
19656         * gst/base/Makefile.am:
19657         * gst/base/README:
19658         * gst/base/gstbasesink.c: (gst_basesink_get_template),
19659         (gst_basesink_base_init), (gst_basesink_class_init),
19660         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
19661         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
19662         (gst_basesink_set_pad_functions),
19663         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
19664         (gst_basesink_set_property), (gst_basesink_get_property),
19665         (gst_base_sink_get_template), (gst_base_sink_get_caps),
19666         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
19667         (gst_basesink_preroll_queue_push),
19668         (gst_basesink_preroll_queue_empty),
19669         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
19670         (gst_basesink_event), (gst_basesink_get_times),
19671         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
19672         (gst_basesink_chain_unlocked), (gst_basesink_chain),
19673         (gst_basesink_loop), (gst_basesink_activate),
19674         (gst_basesink_change_state):
19675         * gst/base/gstbasesink.h:
19676         * gst/elements/Makefile.am:
19677         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
19678         (gst_fakesink_class_init), (gst_fakesink_init),
19679         (gst_fakesink_set_property), (gst_fakesink_get_property),
19680         (gst_fakesink_get_times), (gst_fakesink_event),
19681         (gst_fakesink_preroll), (gst_fakesink_render),
19682         (gst_fakesink_change_state):
19683         * gst/elements/gstfakesink.h:
19684         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
19685         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
19686         * gst/gstelement.c: (gst_element_add_pad),
19687         (gst_element_get_state_func), (gst_element_abort_state),
19688         (gst_element_commit_state), (gst_element_lost_state),
19689         (gst_element_set_state), (gst_element_pads_activate):
19690         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
19691         * gst/gstpipeline.c: (gst_pipeline_send_event),
19692         (gst_pipeline_change_state):
19693         Added state change code.
19694         Added/updated docs.
19695         Added sink base class, make fakesink extend the base class.
19696         Small cleanups in GstPipeline.
19697
19698 2005-03-26  David Schleef  <ds@schleef.org>
19699
19700         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
19701         is broken and should be implemented in a different library.
19702         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
19703         * gst/gst.h: remove gstcpu.h
19704         * gst/gstcpu.c: remove
19705         * gst/gstcpu.h: remove
19706         * gst/Makefile.am.future: Remove this file.  It's ancient.
19707
19708 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19709
19710         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
19711         (gst_bin_send_event):
19712           Add default event/set_manager handlers. The set_manager handler
19713           takes care that the manager is distributed over kids that were
19714           already in the bin before the manager was set. The event handler
19715           is a utility virtual function that sends the event over all sinks,
19716           so that gst_element_send_event (bin, event); has the expected
19717           behaviour.
19718         * gst/gstpad.c: (gst_pad_event_default):
19719           Re-install default event handling for discontinuities, so that
19720           seeking works without requiring hacks in applications or extra
19721           code in sinks.
19722         * gst/gstpipeline.c: (gst_pipeline_class_init),
19723         (gst_pipeline_send_event):
19724           Half hack, half utility: set a pipeline to PAUSED for seek events,
19725           since that is the only way we can guarantee a/v sync. Means that
19726           you can do gst_element_seek (pipeline, method, pos); on a pipeline
19727           and it "just works".
19728
19729 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19730
19731         * gst/gstpipeline.c: (gst_pipeline_use_clock):
19732           Lock/unlock mismatch.
19733
19734 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
19735
19736         * docs/faq/gst-uninstalled:
19737           add gst-plugins-base
19738         * docs/gst/Makefile.am:
19739           don't error out until docs are fixed
19740         * docs/gst/gstreamer.types:
19741           remove thread
19742
19743 2005-03-22  Wim Taymans  <wim@fluendo.com>
19744
19745         * check/Makefile.am:
19746         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
19747         * gst/gststructure.c: (gst_structure_set_valist),
19748         (gst_structure_copy_conditional):
19749         Activated more tests.
19750         Added message test.
19751         Added G_TYPE_POINTER to GstStructure.
19752         
19753
19754 2005-03-22  Wim Taymans  <wim@fluendo.com>
19755
19756         * docs/design/part-TODO.txt:
19757         * docs/design/part-events.txt:
19758         * docs/design/part-gstbin.txt:
19759         * docs/design/part-gstbus.txt:
19760         * docs/design/part-gstpipeline.txt:
19761         * docs/design/part-messages.txt:
19762         * gst/gstbus.c:
19763         * gst/gstmessage.c:
19764         Docs updates
19765
19766 2005-03-21  Wim Taymans  <wim@fluendo.com>
19767
19768         * gst/gstbus.c: (gst_bus_post):
19769         Fix copy-and-paste error.
19770
19771 2005-03-21  Wim Taymans  <wim@fluendo.com>
19772
19773         * check/Makefile.am:
19774         * gst/Makefile.am:
19775         * gst/elements/Makefile.am:
19776         * gst/elements/gstelements.c:
19777         * gst/elements/gstfakesink.c: (gst_fakesink_init),
19778         (gst_fakesink_event), (gst_fakesink_chain):
19779         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
19780         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
19781         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
19782         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
19783         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
19784         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
19785         (gst_fakesrc_loop), (gst_fakesrc_activate),
19786         (gst_fakesrc_change_state):
19787         * gst/elements/gstfakesrc.h:
19788         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
19789         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
19790         (gst_filesrc_open_file), (gst_filesrc_loop),
19791         (gst_filesrc_activate), (gst_filesrc_change_state),
19792         (filesrc_find_peek), (filesrc_find_suggest),
19793         (gst_filesrc_type_find):
19794         * gst/elements/gstidentity.c: (gst_identity_finalize),
19795         (gst_identity_class_init), (gst_identity_init),
19796         (gst_identity_proxy_getcaps), (identity_queue_push),
19797         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
19798         (gst_identity_getrange), (gst_identity_chain),
19799         (gst_identity_sink_loop), (gst_identity_src_loop),
19800         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
19801         (gst_identity_set_property), (gst_identity_get_property),
19802         (gst_identity_change_state):
19803         * gst/elements/gstidentity.h:
19804         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
19805         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
19806         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
19807         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
19808         (gst_tee_sink_activate):
19809         * gst/elements/gsttee.h:
19810         * gst/gst.c: (gst_register_core_elements), (init_post):
19811         * gst/gst.h:
19812         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
19813         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
19814         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
19815         (gst_bin_change_state):
19816         * gst/gstbin.h:
19817         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
19818         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
19819         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
19820         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
19821         (gst_bus_set_sync_handler), (gst_bus_create_watch),
19822         (bus_watch_callback), (bus_watch_destroy),
19823         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
19824         (poll_timeout), (gst_bus_poll):
19825         * gst/gstbus.h:
19826         * gst/gstcaps.h:
19827         * gst/gstdata.h:
19828         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
19829         (gst_element_post_message), (gst_element_message_full),
19830         (gst_element_get_state_func), (gst_element_get_state),
19831         (gst_element_abort_state), (gst_element_commit_state),
19832         (gst_element_lost_state), (gst_element_set_state),
19833         (gst_element_pads_activate), (gst_element_change_state),
19834         (gst_element_dispose), (gst_element_set_manager_func),
19835         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
19836         (gst_element_set_manager), (gst_element_get_manager),
19837         (gst_element_set_bus), (gst_element_get_bus),
19838         (gst_element_set_scheduler), (gst_element_get_scheduler):
19839         * gst/gstelement.h:
19840         * gst/gstevent.c: (gst_event_new_segment_seek),
19841         (gst_event_new_flush):
19842         * gst/gstevent.h:
19843         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
19844         (_gst_message_free), (gst_message_get_type), (gst_message_new),
19845         (gst_message_new_eos), (gst_message_new_error),
19846         (gst_message_new_warning), (gst_message_new_tag),
19847         (gst_message_new_state_changed), (gst_message_new_application),
19848         (gst_message_get_structure), (gst_message_parse_tag),
19849         (gst_message_parse_state_changed), (gst_message_parse_error),
19850         (gst_message_parse_warning):
19851         * gst/gstmessage.h:
19852         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
19853         (gst_real_pad_set_property), (gst_pad_set_active),
19854         (gst_pad_is_active), (gst_pad_set_blocked_async),
19855         (gst_pad_set_blocked), (gst_pad_is_blocked),
19856         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
19857         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
19858         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
19859         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
19860         (gst_pad_link_filtered), (gst_pad_relink_filtered),
19861         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
19862         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
19863         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
19864         (gst_pad_set_caps), (gst_pad_configure_sink),
19865         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
19866         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
19867         (gst_real_pad_dispose), (gst_real_pad_finalize),
19868         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
19869         (gst_pad_event_default_dispatch), (gst_pad_event_default),
19870         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
19871         * gst/gstpad.h:
19872         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
19873         (pipeline_bus_handler), (gst_pipeline_change_state),
19874         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
19875         * gst/gstpipeline.h:
19876         * gst/gstprobe.h:
19877         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
19878         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
19879         (gst_queue_link_src), (gst_queue_bufferalloc),
19880         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
19881         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
19882         (gst_queue_loop), (gst_queue_handle_src_event),
19883         (gst_queue_handle_src_query), (gst_queue_src_activate),
19884         (gst_queue_change_state):
19885         * gst/gstqueue.h:
19886         * gst/gstscheduler.c: (gst_scheduler_init),
19887         (gst_scheduler_dispose), (gst_scheduler_create_task),
19888         (gst_scheduler_factory_create):
19889         * gst/gstscheduler.h:
19890         * gst/gststructure.c: (gst_structure_get_type),
19891         (gst_structure_copy_conditional):
19892         * gst/gststructure.h:
19893         * gst/gsttaginterface.h:
19894         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
19895         (gst_task_init), (gst_task_dispose), (gst_task_create),
19896         (gst_task_get_state), (gst_task_start), (gst_task_stop),
19897         (gst_task_pause):
19898         * gst/gsttask.h:
19899         * gst/gstthread.c:
19900         * gst/gstthread.h:
19901         * gst/gsttypes.h:
19902         * gst/schedulers/Makefile.am:
19903         * gst/schedulers/cothreads_compat.h:
19904         * gst/schedulers/entryscheduler.c:
19905         * gst/schedulers/faircothreads.c:
19906         * gst/schedulers/faircothreads.h:
19907         * gst/schedulers/fairscheduler.c:
19908         * gst/schedulers/gstbasicscheduler.c:
19909         * gst/schedulers/gstoptimalscheduler.c:
19910         * gst/schedulers/gthread-cothreads.h:
19911         * gst/schedulers/threadscheduler.c:
19912         (gst_thread_scheduler_task_get_type),
19913         (gst_thread_scheduler_task_class_init),
19914         (gst_thread_scheduler_task_init),
19915         (gst_thread_scheduler_task_start),
19916         (gst_thread_scheduler_task_stop),
19917         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
19918         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
19919         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
19920         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
19921         (plugin_init):
19922         * libs/gst/Makefile.am:
19923         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
19924         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
19925         (gst_file_pad_parent_set):
19926         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
19927         (gst_dp_event_from_packet):
19928         * tests/complexity.c: (main):
19929         * tests/mass_elements.c: (main):
19930         * testsuite/states/locked.c: (message_received), (main):
19931         * testsuite/states/parent.c: (main):
19932         * tools/gst-inspect.c: (print_element_flag_info),
19933         (print_implementation_info), (print_pad_info):
19934         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
19935         (main):
19936         * tools/gst-md5sum.c: (event_loop), (main):
19937         * tools/gst-typefind.c: (main):
19938         * tools/gst-xmlinspect.c: (print_element_info):
19939         Next big merge.
19940         Added GstBus for mainloop integration.
19941         Added GstMessage for sending notifications on the bus.
19942         Added GstTask as an abstraction for pipeline entry points.
19943         Removed GstThread.
19944         Removed Schedulers.
19945         Simplified GstQueue for multithreaded core.
19946         Made _link threadsafe, removed old capsnego.
19947         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
19948         Added pad blocking functions.
19949         Reworked scheduling functions in GstPad to prepare for
19950         scheduling updates soon.
19951         Moved events out of data stream.
19952         Simplified GstEvent types.
19953         Added return values to push/pull.
19954         Removed clocking from GstElement.
19955         Added prototypes for state change function for next merge.
19956         Removed iterate from bins and state change management.
19957         Fixed some elements, disabled others for now.
19958         Fixed -inspect and -launch.
19959         Added check for GstBus.
19960
19961 2005-03-10  Wim Taymans  <wim@fluendo.com>
19962
19963         * docs/design/part-MT-refcounting.txt:
19964         * docs/design/part-clocks.txt:
19965         * docs/design/part-gstelement.txt:
19966         * docs/design/part-gstobject.txt:
19967         * docs/design/part-standards.txt:
19968         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
19969         (gst_bin_remove_func), (gst_bin_remove):
19970         * gst/gstbin.h:
19971         * gst/gstbuffer.c:
19972         * gst/gstcaps.h:
19973         * testsuite/clock/clock1.c: (main):
19974         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
19975         (main):
19976         * testsuite/dlopen/loadgst.c: (do_test):
19977         * testsuite/refcounting/bin.c: (add_remove_test1),
19978         (add_remove_test2), (main):
19979         * testsuite/refcounting/element.c: (main):
19980         * testsuite/refcounting/element_pad.c: (main):
19981         * testsuite/refcounting/pad.c: (main):
19982         * tools/gst-launch.c: (sigint_handler_sighandler):
19983         * tools/gst-typefind.c: (main):
19984         Doc updates.
19985         Added doc about clock.
19986         removed gst_bin_iterate_recurse_up(), marked methods
19987         for removal.
19988         Fix more testsuites.
19989
19990 2005-03-09  Wim Taymans  <wim@fluendo.com>
19991
19992         * gst/gstpad.c: (gst_pad_get_direction),
19993         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
19994         (gst_pad_collect_valist):
19995         * testsuite/bins/interface.c: (main):
19996         * testsuite/caps/audioscale.c: (test_caps):
19997         * testsuite/caps/caps.c: (test1), (test2), (test3):
19998         * testsuite/caps/deserialize.c: (main):
19999         * testsuite/caps/enumcaps.c: (main):
20000         * testsuite/caps/filtercaps.c: (main):
20001         * testsuite/caps/intersect2.c: (main):
20002         * testsuite/caps/random.c: (main):
20003         * testsuite/caps/renegotiate.c: (my_fixate), (main):
20004         * testsuite/caps/sets.c: (check_caps):
20005         * testsuite/caps/simplify.c: (check_caps), (main):
20006         * testsuite/caps/subtract.c: (check_caps):
20007         Fix _pad_get_direction wrt ghostpads.
20008         Fix caps testsuite.
20009
20010 2005-03-09  Wim Taymans  <wim@fluendo.com>
20011
20012         * check/Makefile.am:
20013         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
20014         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
20015         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
20016         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
20017         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
20018         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
20019         (gst_bin_remove), (gst_bin_iterate_recurse_up),
20020         (bin_element_is_sink), (gst_bin_iterate_sinks),
20021         (gst_bin_iterate_all_by_interface):
20022         * gst/gstbin.h:
20023         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
20024         (gst_element_change_state), (gst_element_dispose),
20025         (gst_element_finalize), (gst_element_set_loop_function):
20026         * gst/gstelement.h:
20027         * gst/gstiterator.c: (find_custom_fold_func):
20028         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
20029         (gst_pad_collectv), (gst_pad_collect_valist),
20030         (gst_pad_template_new):
20031         * gst/gstpipeline.c: (gst_pipeline_class_init),
20032         (gst_pipeline_dispose), (gst_pipeline_set_property),
20033         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
20034         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
20035         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
20036         * gst/gstutils.h:
20037         * gst/schedulers/entryscheduler.c:
20038         * gst/schedulers/gstbasicscheduler.c:
20039         (gst_basic_scheduler_cothreaded_chain),
20040         (gst_basic_scheduler_chain_add_element):
20041         * testsuite/bins/interface.c: (main):
20042         Added GstBin test.
20043         Added GstSystemClock test.
20044         Implemented clock distribution code in GstBin.
20045         Implemented iterate sinks method for future use.
20046         Rearranged gstelement.h
20047         Fix GstIterator comparison bug.
20048         Moved some code to GstPipeline, mostly clocking related.
20049
20050 2005-03-09  Wim Taymans  <wim@fluendo.com>
20051
20052         * configure.ac:
20053         * gst/gst_private.h:
20054         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
20055         (gst_bin_remove_func), (gst_bin_remove),
20056         (gst_bin_get_by_name_recurse_up):
20057         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
20058         (gst_clock_id_compare_func), (gst_clock_id_wait),
20059         (gst_clock_id_wait_async), (gst_clock_init),
20060         (gst_clock_adjust_unlocked), (gst_clock_get_time):
20061         * gst/gstelement.h:
20062         * gst/gstinfo.c: (_gst_debug_init):
20063         * gst/gstobject.h:
20064         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
20065         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
20066         * gst/gstpad.h:
20067         Bump version number, we're now 0.9.0
20068         Add future debugging category.
20069         Fix NULL _unref() in _get_by_name_recurse_up
20070         Rearrange gstpad.h.
20071         Update some docs.
20072
20073 2005-03-08  Wim Taymans  <wim@fluendo.com>
20074
20075         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
20076         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
20077         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
20078         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
20079         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
20080         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
20081         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
20082         * gst/elements/gstidentity.c: (gst_identity_class_init):
20083         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
20084         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
20085         * gst/elements/gstshaper.c: (gst_shaper_class_init):
20086         * gst/elements/gststatistics.c: (gst_statistics_class_init):
20087         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
20088         (gst_tee_link):
20089         * gst/gstelement.c: (gst_element_class_init),
20090         (gst_element_base_class_init), (gst_element_init),
20091         (gst_element_get_random_pad), (gst_element_wait_state_change),
20092         (gst_element_change_state), (gst_element_dispose),
20093         (gst_element_finalize), (gst_element_set_loop_function):
20094         * gst/gstelement.h:
20095         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
20096         * gst/gstthread.c: (gst_thread_class_init),
20097         (gst_thread_release_children_locks), (gst_thread_change_state):
20098         * gst/schedulers/gstbasicscheduler.c:
20099         (gst_basic_scheduler_loopfunc_wrapper),
20100         (gst_basic_scheduler_chain_wrapper),
20101         (gst_basic_scheduler_src_wrapper),
20102         (gst_basic_scheduler_remove_element):
20103         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
20104         Remove threadsafe properties. Fix elements because GObject
20105         complains when installing a property before declaring a
20106         set/get_property handler.
20107         Rearrange gstelement.h file, use STATE macros for state locks.
20108         Free mutexes in the finalize method instead of dispose.
20109
20110 2005-03-08  Wim Taymans  <wim@fluendo.com>
20111
20112         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
20113         * gst/gstthread.c: (gst_thread_release_children_locks):
20114         Added parentage check.
20115         Fix build og GstThread again.
20116
20117 2005-03-08  Wim Taymans  <wim@fluendo.com>
20118
20119         * docs/design/part-MT-refcounting.txt:
20120         * docs/design/part-conventions.txt:
20121         * docs/design/part-gstobject.txt:
20122         * docs/design/part-relations.txt:
20123         * docs/design/part-standards.txt:
20124         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
20125         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
20126         (gst_bin_get_by_name), (gst_bin_get_by_interface),
20127         (gst_bin_iterate_all_by_interface):
20128         * gst/gstbuffer.h:
20129         * gst/gstclock.h:
20130         * gst/gstelement.c: (gst_element_class_init),
20131         (gst_element_change_state), (gst_element_set_loop_function):
20132         * gst/gstelement.h:
20133         * gst/gstiterator.c:
20134         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
20135         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
20136         (gst_object_dispatch_properties_changed), (gst_object_set_name),
20137         (gst_object_set_parent), (gst_object_unparent),
20138         (gst_object_check_uniqueness):
20139         * gst/gstobject.h:
20140         Docs updates, clean up some headers.
20141
20142 2005-03-07  Wim Taymans  <wim@fluendo.com>
20143
20144         * check/.cvsignore:
20145         * check/Makefile.am:
20146         * check/gst-libs/.cvsignore:
20147         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
20148         * check/gst/.cvsignore:
20149         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
20150         (START_TEST), (gstbus_suite), (main):
20151         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
20152         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
20153         (gst_data_suite), (main):
20154         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
20155         (add_fold_func), (gstiterator_suite), (main):
20156         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
20157         (thread_name_object), (thread_name_object_default),
20158         (gst_object_name_compare), (gst_object_suite), (main):
20159         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
20160         (gst_pad_suite), (main):
20161         * check/gstcheck.c: (gst_check_log_message_func),
20162         (gst_check_log_critical_func), (gst_check_init):
20163         * check/gstcheck.h:
20164         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
20165         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
20166         Added checks.
20167
20168 2005-03-07  Wim Taymans  <wim@fluendo.com>
20169
20170         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
20171         (gst_list_iterator_next), (gst_list_iterator_resync),
20172         (gst_list_iterator_free), (gst_iterator_new_list),
20173         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
20174         (gst_iterator_free), (gst_iterator_push), (filter_next),
20175         (filter_resync), (filter_uninit), (filter_free),
20176         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
20177         (gst_iterator_foreach), (find_custom_fold_func),
20178         (gst_iterator_find_custom):
20179         * gst/gstiterator.h:
20180         Added missing files.
20181
20182 2005-03-07  Wim Taymans  <wim@fluendo.com>
20183
20184         * Makefile.am:
20185         * configure.ac:
20186         * docs/design/part-MT-refcounting.txt:
20187         * docs/design/part-conventions.txt:
20188         * docs/design/part-gstobject.txt:
20189         * docs/design/part-relations.txt:
20190         * examples/mixer/mixer.c: (main):
20191         * examples/thread/thread.c: (eos), (main):
20192         * gst/Makefile.am:
20193         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
20194         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
20195         (gst_spider_plug_from_srcpad):
20196         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
20197         (gst_spider_identity_change_state),
20198         (gst_spider_identity_sink_loop_type_finding):
20199         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
20200         * gst/elements/gstidentity.c: (gst_identity_init):
20201         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
20202         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
20203         * gst/elements/gsttypefindelement.c: (free_entry):
20204         * gst/gst.c:
20205         * gst/gst.h:
20206         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
20207         (gst_bin_set_clock_func), (gst_bin_auto_clock),
20208         (gst_bin_set_index), (gst_bin_set_element_sched),
20209         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
20210         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
20211         (gst_bin_iterate_elements), (iterate_child_recurse),
20212         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
20213         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
20214         (compare_interface), (gst_bin_get_by_interface),
20215         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
20216         * gst/gstbin.h:
20217         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
20218         (gst_buffer_default_free), (gst_buffer_default_copy),
20219         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
20220         (gst_buffer_create_sub):
20221         * gst/gstbuffer.h:
20222         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
20223         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
20224         (gst_caps_unref), (gst_static_caps_get),
20225         (gst_caps_remove_and_get_structure), (gst_caps_append),
20226         (gst_caps_append_structure), (gst_caps_remove_structure),
20227         (gst_caps_copy_nth), (gst_caps_set_simple),
20228         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
20229         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
20230         (gst_caps_structure_intersect_field), (gst_caps_intersect),
20231         (gst_caps_structure_subtract_field), (gst_caps_subtract),
20232         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
20233         (gst_caps_structure_figure_out_union),
20234         (gst_caps_switch_structures), (gst_caps_do_simplify),
20235         (gst_caps_replace), (gst_caps_from_string),
20236         (gst_caps_copy_conditional):
20237         * gst/gstcaps.h:
20238         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
20239         (_gst_clock_id_free), (gst_clock_id_unref),
20240         (gst_clock_id_compare_func), (gst_clock_id_wait),
20241         (gst_clock_id_wait_async), (gst_clock_class_init),
20242         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
20243         (gst_clock_get_time), (gst_clock_set_time_adjust),
20244         (gst_clock_set_property), (gst_clock_get_property):
20245         * gst/gstclock.h:
20246         * gst/gstcompat.h:
20247         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
20248         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
20249         * gst/gstdata.h:
20250         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
20251         (gst_element_requires_clock), (gst_element_provides_clock),
20252         (gst_element_set_clock), (gst_element_clock_wait),
20253         (gst_element_wait), (gst_element_set_time_delay),
20254         (gst_element_is_indexable), (gst_element_add_pad),
20255         (gst_element_add_ghost_pad), (gst_element_remove_pad),
20256         (pad_compare_name), (gst_element_get_static_pad),
20257         (gst_element_request_pad), (gst_element_get_request_pad),
20258         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
20259         (gst_element_class_get_pad_template_list),
20260         (gst_element_class_get_pad_template), (gst_element_error_func),
20261         (gst_element_get_random_pad), (gst_element_get_event_masks),
20262         (gst_element_send_event), (gst_element_seek),
20263         (gst_element_get_query_types), (gst_element_query),
20264         (gst_element_get_formats), (gst_element_convert),
20265         (gst_element_is_locked_state), (gst_element_set_locked_state),
20266         (gst_element_sync_state_with_parent), (gst_element_change_state),
20267         (gst_element_finalize), (gst_element_yield),
20268         (gst_element_interrupt), (gst_element_set_scheduler),
20269         (gst_element_get_scheduler), (gst_element_set_loop_function):
20270         * gst/gstelement.h:
20271         * gst/gstevent.h:
20272         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
20273         (gst_format_get_by_nick), (gst_format_get_details),
20274         (gst_format_iterate_definitions):
20275         * gst/gstformat.h:
20276         * gst/gstindex.c: (gst_index_gtype_resolver):
20277         * gst/gstinfo.c:
20278         * gst/gstinfo.h:
20279         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
20280         (gst_mem_chunk_free):
20281         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
20282         (gst_object_ref), (gst_object_unref), (gst_object_sink),
20283         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
20284         (gst_object_dispatch_properties_changed),
20285         (gst_object_set_name_default), (gst_object_set_name),
20286         (gst_object_get_name), (gst_object_set_name_prefix),
20287         (gst_object_get_name_prefix), (gst_object_set_parent),
20288         (gst_object_get_parent), (gst_object_unparent),
20289         (gst_object_check_uniqueness), (gst_object_save_thyself),
20290         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
20291         (gst_object_set_property), (gst_object_get_property),
20292         (gst_object_get_path_string):
20293         * gst/gstobject.h:
20294         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
20295         (gst_real_pad_init), (gst_real_pad_get_property),
20296         (gst_pad_custom_new), (gst_pad_get_direction),
20297         (gst_pad_set_active), (gst_pad_is_active),
20298         (gst_pad_set_event_function), (gst_pad_is_linked),
20299         (gst_pad_link_free), (gst_pad_link_intersect),
20300         (gst_pad_link_fixate), (gst_pad_set_caps),
20301         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
20302         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
20303         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
20304         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
20305         (gst_pad_get_caps), (gst_pad_peer_get_caps),
20306         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
20307         (gst_pad_realize), (gst_pad_get_allowed_caps),
20308         (gst_real_pad_dispose), (gst_real_pad_finalize),
20309         (gst_pad_collectv), (gst_pad_collect_valist),
20310         (gst_pad_template_dispose), (gst_pad_template_new),
20311         (gst_pad_get_internal_links):
20312         * gst/gstpad.h:
20313         * gst/gstpipeline.c: (gst_pipeline_dispose),
20314         (gst_pipeline_change_state):
20315         * gst/gstpipeline.h:
20316         * gst/gstplugin.c:
20317         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
20318         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
20319         * gst/gstpluginfeature.h:
20320         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
20321         * gst/gstquery.c: (_gst_query_type_initialize),
20322         (gst_query_type_register), (gst_query_type_get_by_nick),
20323         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
20324         * gst/gstquery.h:
20325         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
20326         * gst/gstscheduler.c: (gst_scheduler_add_element),
20327         (gst_scheduler_factory_create):
20328         * gst/gststructure.c: (gst_structure_set_parent_refcount),
20329         (gst_structure_free), (gst_structure_set_name),
20330         (gst_structure_id_set_value), (gst_structure_set_value),
20331         (gst_structure_set_valist), (gst_structure_remove_field),
20332         (gst_structure_remove_fields),
20333         (gst_structure_remove_fields_valist),
20334         (gst_structure_remove_all_fields), (gst_structure_foreach),
20335         (gst_structure_map_in_place),
20336         (gst_caps_structure_fixate_field_nearest_int),
20337         (gst_caps_structure_fixate_field_nearest_double):
20338         * gst/gststructure.h:
20339         * gst/gstsystemclock.c: (gst_system_clock_class_init),
20340         (gst_system_clock_init), (gst_system_clock_dispose),
20341         (gst_system_clock_async_thread),
20342         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
20343         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
20344         * gst/gstsystemclock.h:
20345         * gst/gsttag.c: (gst_tag_list_add_value_internal),
20346         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
20347         * gst/gsttaginterface.c:
20348         * gst/gstthread.c: (gst_thread_dispose),
20349         (gst_thread_release_children_locks), (gst_thread_change_state),
20350         (gst_thread_main_loop):
20351         * gst/gsttrashstack.h:
20352         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
20353         * gst/gsttypes.h:
20354         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
20355         (gst_element_request_pad), (gst_element_get_pad_from_template),
20356         (gst_element_request_compatible_pad),
20357         (gst_element_get_compatible_pad_filtered),
20358         (gst_element_get_compatible_pad), (gst_element_state_get_name),
20359         (gst_element_link_pads_filtered), (gst_element_link_filtered),
20360         (gst_element_link_many), (gst_element_link),
20361         (gst_element_link_pads), (gst_element_unlink_pads),
20362         (gst_element_unlink_many), (gst_element_unlink),
20363         (gst_pad_can_link_filtered), (gst_pad_can_link),
20364         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
20365         (gst_object_default_error), (gst_bin_add_many),
20366         (gst_bin_remove_many), (gst_element_populate_std_props),
20367         (gst_element_class_install_std_props), (gst_buffer_merge),
20368         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
20369         (link_fold_func), (gst_pad_proxy_setcaps):
20370         * gst/gstutils.h:
20371         * gst/gstvalue.c: (gst_value_deserialize_string):
20372         * gst/parse/grammar.y:
20373         * gst/schedulers/gstbasicscheduler.c:
20374         (gst_basic_scheduler_cothreaded_chain),
20375         (gst_basic_scheduler_chain_recursive_add),
20376         (gst_basic_scheduler_pad_link):
20377         * gst/schedulers/gstoptimalscheduler.c:
20378         (get_group_schedule_function),
20379         (gst_opt_scheduler_state_transition),
20380         (gst_opt_scheduler_add_element), (element_get_reachables_func):
20381         * libs/gst/bytestream/bytestream.c:
20382         * libs/gst/dataprotocol/dataprotocol.c:
20383         (gst_dp_header_from_buffer):
20384         * po/nb.po:
20385         * po/ru.po:
20386         * tests/threadstate/threadstate2.c: (eos):
20387         * tools/gst-compprep.c: (main):
20388         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
20389         (print_pad_info), (print_children_info):
20390         * tools/gst-launch.c: (idle_func), (main):
20391         * tools/gst-md5sum.c: (idle_func), (main):
20392         * tools/gst-xmlinspect.c: (print_element_info):
20393         First THREADED backport attempt, focusing on adding locks and
20394         making sure the API is threadsafe. Needs more work. More docs
20395         follow this week.
20396
20397 2005-02-24  Andy Wingo  <wingo@pobox.com>
20398
20399         * tests/bench-complexity.scm:
20400         * tests/complexity.gnuplot: New files, good for running complexity
20401         benchmarks.
20402
20403         * tests/Makefile.am:
20404         * tests/complexity.c: New test, sets up N elements, at each level
20405         teeing into M streams per element. Eeeenteresting.
20406
20407         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
20408         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
20409         running bench-mass_elements.scm.
20410
20411         * tests/bench-mass_elements.scm: New script, runs mass_elements
20412         for various numbers of identities, outputting the results to a
20413         file. Requires guile 1.6. Just for testing.
20414
20415 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
20416
20417         * gst/schedulers/fairscheduler.c:
20418           compile with debug disabled
20419
20420 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
20421
20422         * configure.ac:
20423           hunting season on 0.9 is now OPEN