gst/gsturi.c: If there's no hostname, we want to return 'c:/foo/bar.txt' and not...
[platform/upstream/gstreamer.git] / ChangeLog
1 2007-09-12  Tim-Philipp Müller  <tim at centricular dot net>
2
3         * gst/gsturi.c: (gst_uri_get_location):
4           If there's no hostname, we want to return 'c:/foo/bar.txt'
5           and not '/c:/foo/bar.txt' on Windows. Fixes #469402.
6
7         * tests/check/gst/gsturi.c:
8           Unit test for the above and a few more things.
9
10 2007-09-11  Wim Taymans  <wim.taymans@gmail.com>
11
12         * docs/design/part-live-source.txt:
13         Add docs on how live sources should timestamp.
14
15         * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync):
16         Add some more debug info.
17         For subclasses that are live and like to sync, add aditional startup
18         latency to sync time and timestamps so that we timstamp according to the
19         design doc.
20
21 2007-09-11  Tim-Philipp Müller  <tim at centricular dot net>
22
23         * gst/gstbuffer.c:
24           Also do a g_type_class_ref() for the subbuffer type in
25           the init function.
26
27 2007-09-11  Wim Taymans  <wim.taymans@gmail.com>
28
29         * docs/gst/gstreamer-sections.txt:
30         * gst/gstpad.c: (gst_pad_peer_query):
31         * gst/gstpad.h:
32         Add function to perform a query on the peer of a pad.
33         API: gst_pad_peer_query()
34
35 2007-09-11  Stefan Kost  <ensonic@users.sf.net>
36
37         * tests/check/gst/gstsystemclock.c:
38           Cleanup the test a little (use gst-logging and not g_message). Improve
39           test to check if a wait reached the target.
40
41 2007-09-11  Tim-Philipp Müller  <tim at centricular dot net>
42
43         * docs/libs/gstreamer-libs-sections.txt:
44           Add new API to docs and fix the build.
45
46 2007-09-10  Wim Taymans  <wim.taymans@gmail.com>
47
48         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
49         (gst_base_src_init), (gst_base_src_set_do_timestamp),
50         (gst_base_src_get_do_timestamp), (gst_base_src_set_property),
51         (gst_base_src_get_property), (gst_base_src_do_sync):
52         * libs/gst/base/gstbasesrc.h:
53         Add property to make the basesrc timestamp buffers based on the current
54         running time.
55         API: GstBaseSrc::do-timestamp
56         API: gst_base_src_set_do_timestamp()
57         API: gst_base_src_get_do_timestamp()
58
59 2007-09-08  Tim-Philipp Müller  <tim at centricular dot net>
60
61         * docs/random/release:
62           Really make sure translations are up-to-date before
63           a release (#465010).
64
65 2007-09-07  Sebastian Dröge  <slomo@circular-chaos.org>
66
67         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
68         Always destroy the timer, also in error cases.
69
70 2007-09-05  Wim Taymans  <wim.taymans@gmail.com>
71
72         * docs/manual/highlevel-xml.xml:
73         Fix XML example code. Fixes #472714.
74
75 2007-09-05  Wim Taymans  <wim.taymans@gmail.com>
76
77         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
78         (gst_base_sink_wait_preroll), (gst_base_sink_needs_preroll),
79         (gst_base_sink_query):
80         Protect eos and have_preroll with the OBJECT lock so we don't need to
81         take the PREROLL lock when querying the latency. Fixes #473846.
82
83 2007-09-05  Stefan Kost  <ensonic@users.sf.net>
84
85         * gst/gstelement.c:
86           Give some log-messages a category.
87
88 2007-09-04  Wim Taymans  <wim.taymans@gmail.com>
89
90         * gst/gststructure.c:
91         (gst_structure_fixate_field_nearest_fraction):
92         Fix fraction list fixation code. Take the fraction with the smallest
93         difference with the target instead of the first one in the list.
94
95         * tests/check/gst/gststructure.c: (GST_START_TEST),
96         (gst_structure_suite):
97         Added test to verify correct fraction list fixation behaviour.
98
99 2007-09-02  Tim-Philipp Müller  <tim at centricular dot net>
100
101         * win32/common/libgstreamer.def:
102           Export gst_bus_add_signal_watch too.
103
104 2007-08-30  Wim Taymans  <wim.taymans@gmail.com>
105
106         * docs/libs/gstreamer-libs-sections.txt:
107         Add new methods to docs.
108
109         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
110         (gst_base_sink_init), (gst_base_sink_set_ts_offset),
111         (gst_base_sink_get_ts_offset), (gst_base_sink_set_property),
112         (gst_base_sink_get_property), (gst_base_sink_wait_clock):
113         * libs/gst/base/gstbasesink.h:
114         Add ts-offset property to fine-tune the synchronisation.
115         API: GstBaseSink::ts-offset property
116         API: gst_base_sink_set_ts_offset()
117         API: gst_base_sink_get_ts_offset()
118
119 2007-08-29  Wim Taymans  <wim.taymans@gmail.com>
120
121         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
122         (gst_base_sink_init), (gst_base_sink_set_sync),
123         (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
124         (gst_base_sink_get_max_lateness), (gst_base_sink_set_qos_enabled),
125         (gst_base_sink_is_qos_enabled), (gst_base_sink_set_async_enabled),
126         (gst_base_sink_is_async_enabled), (gst_base_sink_set_property),
127         (gst_base_sink_get_property), (gst_base_sink_change_state):
128         * libs/gst/base/gstbasesink.h:
129         Add async property to instruct the sink never to inform the parent about
130         ASYNC state changes, update docs.
131         Check argument with g_return_* for the public functions.
132         API: GstBaseSink::async property
133         API: gst_base_sink_set_async_enabled()
134         API: gst_base_sink_is_async_enabled()
135
136 2007-08-28  Wim Taymans  <wim.taymans@gmail.com>
137
138         * libs/gst/base/gstbasesink.c: (gst_base_sink_loop):
139         Improve debugging.
140
141         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
142         (gst_base_src_default_query), (gst_base_src_wait),
143         (gst_base_src_do_sync), (gst_base_src_change_state):
144         Rearrange some code so that we can add support for measuring the 
145         startup latency.
146
147 2007-08-27  Stefan Kost  <ensonic@users.sf.net>
148
149         * docs/random/ensonic/dynlink.txt:
150           More thoughs on this.
151
152         * plugins/elements/gstcapsfilter.c:
153           Add bugzilla ticket number to FIXME comment.
154
155 2007-08-24  Wim Taymans  <wim.taymans@gmail.com>
156
157         * docs/design/part-TODO.txt:
158         * docs/design/part-block.txt:
159         Update some docs.
160
161 2007-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
162
163         * gst/Makefile.am:
164           Revert patch which uses $(gst_headers) instead of $^ because it
165           breaks make dist.
166
167 2007-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
168
169         * tests/check/gst/gstbin.c: (GST_START_TEST):
170           Fix leaks in the new unit test.
171
172 2007-08-23  Tim-Philipp Müller  <tim at centricular dot net>
173
174         * gst/gst.c:
175           Don't use GST_INFO before the debug system is actually initialised
176           (shouldn't do any harm, but won't print anything either, so we can
177           just as well remove it).
178
179         * gst/gstinfo.h:
180           GST_CAT_LEVEL_LOG_valist(), which is our inline helper function for
181           compilers that don't support variadic macros (such as MSVC), should
182           check for debug_level <= __gst_debug_min as well, since that's the
183           function called from all the level-specific GST_CAT_*_LOG_OBJECT()
184           inline helper functions. Should improve performance a bit, but also
185           makes sure uses of GST_INFO et.al are ignored if the debugging
186           system isn't initialised yet (instead of printing an assertion
187           failure).
188
189 2007-08-23  Stefan Kost  <ensonic@users.sf.net>
190
191         patch by: David Nečas <yeti@physics.muni.cz>
192
193         * gst/Makefile.am:
194           Replace some non portable makefile constructs.
195
196 2007-08-21  Stefan Kost  <ensonic@users.sf.net>
197
198         * common/gtk-doc-plugins.mak:
199           Grrrrr. Don't remove the types file on make clean.
200
201 2007-08-20  Wim Taymans  <wim.taymans@gmail.com>
202
203         * tools/gst-launch.1.in:
204         Add colorspace to example pipeline. Fixes #458274.
205
206 2007-08-20  Tim-Philipp Müller  <tim at centricular dot net>
207
208         * docs/random/release:
209           The release manager should run 'make download-po' before making a
210           release to make sure translations are up-to-date.
211
212         * po/LINGUAS:
213         * po/be.po:
214         * po/pl.po:
215         * po/rw.po:
216           Add some new translations.
217
218 2007-08-17  Wim Taymans  <wim.taymans@gmail.com>
219
220         * tools/gst-launch.c: (event_loop), (main):
221         Don´t try to do any state management when a live pipeline posts
222         buffering messages.
223         Also make the buffering string translatable.
224
225 2007-08-16  Wim Taymans  <wim.taymans@gmail.com>
226
227         * gst/gstbin.c: (is_eos), (gst_bin_add_func),
228         (bin_handle_async_start), (gst_bin_handle_message_func):
229         Improve debugging.
230         When adding elements, insert messages into the bus of the newly added
231         element and make sure the element is the source of the message. This
232         allows the parent bin to intercept the message and do the
233         right thing. It also avoids us posting ASYNC_START and CLOCK_PROVIDE
234         messages to the app (which is not allowed).
235         Update some docs.
236
237         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
238         Fix testsuite so that is does not work around messages that should not
239         have been posted in the first place.
240
241 2007-08-16  Wim Taymans  <wim.taymans@gmail.com>
242
243         * gst/gstbin.c: (add_to_queue), (remove_from_queue), (clear_queue),
244         (update_degree), (gst_bin_sort_iterator_next):
245         Fix annoying bug in the sorted iterator where a sink that is not really
246         a sink (when it has downstream links) screwed up the iterator.
247
248         * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
249         Unit test to verify the fix.
250
251 2007-08-16  Wim Taymans  <wim.taymans@gmail.com>
252
253         * gst/gstmessage.h:
254         Add some more docs for the messages.
255
256         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
257         (gst_base_sink_query):
258         Add some more debugging.
259
260         * tools/gst-launch.c: (event_loop):
261         When interrupting, don't try to set pipeline to PAUSED twice.
262
263 2007-08-14  Wim Taymans  <wim.taymans@gmail.com>
264
265         
266         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_element_set_state),
267         (bin_handle_async_start), (gst_bin_handle_message_func):
268         Move ASYNC_START message posting to where it belongs, similar to
269         async_done. 
270         Don't post ASYNC_START when we are in error. 
271         Post ASYNC_START when we added an async element to a bin.
272
273 2007-08-14  Julien MOUTTE  <julien@moutte.net>
274
275         * gst/gstindex.c: (gst_index_add_association): Fix index entry
276         generation from vargs. Fixes #466595.
277
278 2007-08-14  Wim Taymans  <wim.taymans@gmail.com>
279
280         * gst/gstbin.c: (gst_bin_element_set_state):
281         Always change the state of a NO_PREROLL element even if it has ASYNC
282         elements inside (in case of a bin).
283
284         * tests/check/generic/sinks.c: (GST_START_TEST), (gst_sinks_suite):
285         Unit test for this case.
286
287 2007-08-13  Stefan Kost  <ensonic@users.sf.net>
288
289         * libs/gst/check/gstbufferstraw.c:
290         * libs/gst/check/gstcheck.h:
291         * libs/gst/controller/gstcontroller.c:
292         * libs/gst/controller/gstcontrolsource.h:
293         * libs/gst/controller/gstlfocontrolsource.h:
294         * plugins/elements/gstcapsfilter.h:
295         * plugins/elements/gstfdsink.h:
296         * plugins/elements/gstfdsrc.h:
297           Add more missing docs.
298
299 2007-08-12  Wim Taymans  <wim.taymans@gmail.com>
300
301         * gst/gststructure.c:
302         Add Since tag to docs.
303
304 2007-08-12  Wim Taymans  <wim.taymans@gmail.com>
305
306         * docs/gst/gstreamer-sections.txt:
307         * gst/gststructure.c: (gst_structure_get_uint):
308         * gst/gststructure.h:
309         Add function to get uint from a structure.
310         API: gst_structure_get_uint()
311
312 2007-08-12  Wim Taymans  <wim.taymans@gmail.com>
313
314         * gst/gstcaps.c: (gst_caps_set_simple_valist),
315         (gst_caps_intersect):
316         Fix proper check for simple caps.
317
318 2007-08-10  Stefan Kost  <ensonic@users.sf.net>
319
320         * docs/gst/Makefile.am:
321         * docs/libs/Makefile.am:
322           Remove cruft and do some cleanups.
323
324         * docs/gst/gstreamer-docs.sgml:
325         * docs/libs/gstreamer-libs-docs.sgml:
326           Prepare for comming gtkdoc features (rebase against online docs).
327
328 2007-08-10  Michael Smith <msmith@fluendo.com>
329
330         * docs/gst/gstreamer-sections.txt:
331           Add gst_registry_add_path to docs.
332
333 2007-08-10  Michael Smith <msmith@fluendo.com>
334
335         * gst/gstregistry.h:
336           Add gst_registry_add_path, which was missing from this header.
337
338 2007-08-10  Tim-Philipp Müller  <tim at centricular dot net>
339
340         * libs/gst/controller/gstlfocontrolsource.c:
341           Printf format fix.
342
343 2007-08-09  Philippe Kalaf <philippe.kalaf@collabora.co.uk>
344
345         * libs/gst/base/gstbasesink.c:
346           Don't send an async_start message during downwards state change if 
347           target state is less than READY
348
349 2007-08-09  Thomas Vander Stichele  <thomas at apestaart dot org>
350
351         translated by: Gabor Kelemen <kelemeng@gnome.hu>
352
353         * po/LINGUAS:
354         * po/hu.po:
355           Added Hungarian translation.
356
357 2007-08-09  Thomas Vander Stichele  <thomas at apestaart dot org>
358
359         * po/fi.po:
360         * po/it.po:
361         * po/nl.po:
362         * po/sv.po:
363         * po/uk.po:
364           Updated translations.
365
366 2007-08-07  Jan Schmidt  <thaytan@mad.scientist.com>
367
368         * libs/gst/controller/Makefile.am:
369         Dist gstlfocontrolsourceprivate.h
370
371 2007-08-07  Jan Schmidt  <thaytan@mad.scientist.com>
372
373         * docs/libs/gstreamer-libs.types:
374         Don't register the enum type gst_lfo_waveform_get_type() in the
375         .types file - only GObject derived types belong.
376
377 2007-08-07  Wim Taymans  <wim.taymans@gmail.com>
378
379         Patch by: <arenevier at fdn dot fr>
380
381         * gst/gstbuffer.h:
382         Remove comma from last element in enum to avoid compile errors when
383         using -pendantic. Fixes #464366.
384
385 2007-08-07  Wim Taymans  <wim.taymans@gmail.com>
386
387         * docs/design/part-TODO.txt:
388         Add some more TODO items
389
390         * gst/gstbin.c: (find_message), (gst_bin_change_state_func):
391         Improve debugging.
392
393         * gst/gstcaps.c: (gst_caps_intersect):
394         Optimize trivial intersection case between identical caps pointers.
395
396         * gst/gstelement.c: (gst_element_continue_state),
397         (gst_element_set_state_func):
398         * gst/gstpad.c:
399         Fix spelling and grammar mistakes.
400
401 2007-08-05  Stefan Kost  <ensonic@users.sf.net>
402
403         * po/POTFILES.in:
404         * po/POTFILES.skip:
405           Update POTFILES. Fixes #461599.
406
407 2007-08-03  Sebastian Dröge  <slomo@circular-chaos.org>
408
409         * gst/gst.c:
410         Fix confusing typo in debug output.
411
412 2007-08-03  Sebastian Dröge  <slomo@circular-chaos.org>
413
414         reviewed by: Stefan Kost <ensonic@users.sf.net>
415
416         * libs/gst/controller/Makefile.am:
417         * libs/gst/controller/gstlfocontrolsource.c: (_calculate_pos),
418         (gst_lfo_waveform_get_type), (gst_lfo_control_source_reset),
419         (gst_lfo_control_source_new),
420         (gst_lfo_control_source_set_waveform),
421         (gst_lfo_control_source_bind), (gst_lfo_control_source_init),
422         (gst_lfo_control_source_finalize),
423         (gst_lfo_control_source_dispose),
424         (gst_lfo_control_source_set_property),
425         (gst_lfo_control_source_get_property),
426         (gst_lfo_control_source_class_init):
427         * libs/gst/controller/gstlfocontrolsource.h:
428         * libs/gst/controller/gstlfocontrolsourceprivate.h:
429         API: Add GstLFOControlSource, a control source that gives values
430         for specific timestamps based on several periodic waveforms.
431         Fixes #459717.
432
433         * tests/check/libs/controller.c: (GST_START_TEST),
434         (gst_controller_suite):
435         * docs/libs/gstreamer-libs-docs.sgml:
436         * docs/libs/gstreamer-libs-sections.txt:
437         * docs/libs/gstreamer-libs.types:
438         Add documentation and unit tests for GstLFOControlSource.
439
440 2007-08-03  Jan Schmidt  <thaytan@mad.scientist.com>
441
442         * configure.ac:
443         Back to CVS
444
445 === release 0.10.14 ===
446
447 2007-08-03  Jan Schmidt <thaytan@mad.scientist.com>
448
449         * configure.ac:
450           releasing 0.10.14, "Breathing Vacuum"
451
452 2007-08-02  Tim-Philipp Müller  <tim at centricular dot net>
453
454         * gst/gstelement.c: (gst_element_class_set_details_simple):
455         * gst/gstelement.h:
456           Make strings passed to gst_element_class_set_details_simple()
457           constant, as they should be (#462752).
458
459 2007-08-02  Wim Taymans  <wim.taymans@gmail.com>
460
461         * gst/gstbin.c: (gst_bin_change_state_func),
462         (bin_handle_async_done), (gst_bin_handle_message_func):
463         Don't forget about the fact that some element went ASYNC even after a
464         resync. This makes us post the ASYNC_DONE message correctly.
465         Fixes #462558.
466
467 2007-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
468
469         * gst/gstregistry.c: (gst_registry_add_feature):
470         When replacing an existing feature in the registry, make sure to
471         continue holding a reference until we've replaced the name string
472         within our feature hash table. Make sure to use g_hash_table_replace
473         instead of g_hash_table_insert to ensure the new name string is used
474         as a key instead of the old one that we're about to free.
475         Fixes: #462085
476
477 2007-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
478
479         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
480         (gst_plugin_feature_set_name):
481         Revert patch from #459466 until after the release and we can work
482         out exactly what the problem is (if any).
483
484 2007-07-26  Tim-Philipp Müller  <tim at centricular dot net>
485
486         * docs/gst/gstreamer-sections.txt:
487         * gst/gsttaglist.c:
488         * gst/gsttaglist.h:
489           API: add GST_TAG_LICENSE_URI and GST_TAG_COPYRIGHT_URI (#451939).
490
491 2007-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
492
493         * docs/libs/Makefile.am:
494         Include our build-prefix libs and includes before the generic ones to
495         avoid linking against the installed libs when we want the build-tree
496         ones.
497
498 2007-07-26  Tim-Philipp Müller  <tim at centricular dot net>
499
500         Patch by: Steve Fink  <sphink gmail com>
501
502         * docs/pwg/building-testapp.xml:
503           Mention that GST_PLUGIN_PATH or --gst-plugin-path might be needed
504           if people try to build or install the example from the plugin
505           template against a GStreamer from package using the configure
506           defaults.
507
508 2007-07-25  Tim-Philipp Müller  <tim at centricular dot net>
509
510         Patch by: Steve Fink  <sphink gmail com>
511
512         * tools/gst-inspect.1.in:
513           Document --print-all and --print-plugin-auto-install-info command
514           line options in man page.
515
516 2007-07-25  Wim Taymans  <wim.taymans@gmail.com>
517
518         * docs/gst/gstreamer-sections.txt:
519         Add docs for new api function.
520
521 2007-07-25  Wim Taymans  <wim.taymans@gmail.com>
522
523         * gst/gstelementfactory.c: (gst_element_factory_has_interface):
524         * gst/gstelementfactory.h:
525         API: gst_element_factory_has_interface()
526         Added method to check if an element factory implements a named
527         interface.
528
529 2007-07-25  Stefan Kost  <ensonic@users.sf.net>
530
531         * configure.ac:
532         * docs/gst/gstreamer.types.in:
533           Another conditional doc check.
534
535         * gst/gstmessage.c:
536         * gst/gstparamspecs.h:
537         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
538         * gst/gstvalue.c:
539         * gst/gstxml.h:
540           API-doc fixes.
541
542 2007-07-24  Stefan Kost  <ensonic@users.sf.net>
543
544         * gst/gstregistrybinary.c: (gst_registry_binary_check_magic),
545         (gst_registry_binary_load_feature),
546         (gst_registry_binary_load_plugin),
547         (gst_registry_binary_read_cache):
548           Print error just once and with additional info.
549
550 2007-07-24  Stefan Kost  <ensonic@users.sf.net>
551
552         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
553         (helper_find_suggest), (helper_find_get_length),
554         (gst_type_find_helper_get_range), (buf_helper_find_suggest),
555         (gst_type_find_helper_for_buffer):
556           Cleanup the typefindhelper code and add private doc comments.
557
558 2007-07-24  Edward Hervey  <bilboed@bilboed.com>
559
560         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
561         (gst_capsfilter_transform_size), (gst_capsfilter_prepare_buf):
562         Fix capsfilter for cases where the caps set on capsfilter will provide
563         additional information.
564         Fixes #449197
565
566 2007-07-24  Stefan Kost  <ensonic@users.sf.net>
567
568         * gst/gsttypefindfactory.c:
569           Fix docs that recommened wrong function to use.
570
571 2007-07-23  Stefan Kost  <ensonic@users.sf.net>
572
573         * tools/gst-inspect.c: (print_plugin_features):
574           Also give media-type for typefinders in element output.
575
576 2007-07-23  Stefan Kost  <ensonic@users.sf.net>
577
578         * gst/gstregistry.c: (gst_registry_init), (gst_registry_finalize),
579         (gst_registry_remove_features_for_plugin_unlocked),
580         (gst_registry_add_feature), (gst_registry_remove_feature),
581         (gst_registry_lookup_feature_locked):
582         * gst/gstregistry.h:
583           Speed up gst_registry_lookup_feature_locked() by using a hashmap.
584           Fixes #459501.
585
586 2007-07-23  Stefan Kost  <ensonic@users.sf.net>
587
588         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
589         (gst_plugin_feature_set_name):
590           Avoid double memory usage for pluginfeature names. Fixes #459466.
591
592 2007-07-22  Tim-Philipp Müller  <tim at centricular dot net>
593
594         * gst/gstpad.h:
595           Small addition to GST_FLOW_IS_FATAL() docs: mention that elements
596           driving the pipeline may need to explicitly check for NOT_LINKED as
597           well, since IS_FATAL doesn't cover that.
598
599 2007-07-22  Tim-Philipp Müller  <tim at centricular dot net>
600
601         * docs/pwg/advanced-types.xml:
602           Fix typo and duplicate entry in video formats list.
603
604 2007-07-22  Sebastian Dröge  <slomo@circular-chaos.org>
605
606         * libs/gst/controller/gstinterpolation.c:
607         Also round to the nearest int when using cubic interpolation.
608
609 2007-07-19  Jan Schmidt  <thaytan@noraisin.net>
610
611         * libs/gst/controller/gstinterpolation.c:
612         When linearly interpolating integer types, round to the nearest int
613         by adding 0.5. Don't do it for float/double types.
614         Fixes the failing controller test on my machine, which is somehow
615         rounding differently than on the buildbots.
616
617 2007-07-20  Stefan Kost  <ensonic@users.sf.net>
618
619         * tools/gst-plot-timeline.py:
620           Better log parsing (categories can have -). Adjust text vs. lines, so
621           that they span the same y-range.        
622
623 2007-07-20  Stefan Kost  <ensonic@users.sf.net>
624
625         * docs/random/ensonic/audiobaseclasses.txt:
626         * docs/random/ensonic/dynlink.txt:
627         * docs/random/ensonic/profiling.txt:
628           Save my thoughts.
629
630         * docs/random/moving-plugins:
631           Add note to use g_assert type macros.
632
633 2007-07-20  Stefan Kost  <ensonic@users.sf.net>
634
635         * configure.ac:
636         * libs/gst/check/Makefile.am:
637           Add libm check as we use in for plugins.
638
639 2007-07-18  Jan Schmidt  <thaytan@noraisin.net>
640
641         * gst/gstbin.c: (gst_bin_continue_func):
642         Check that the state_cookie hasn't changed since the continue_func
643         was scheduled. Avoids problems where the state changes back to
644         something it shouldn't be because it was changed in the meantime.
645
646 2007-07-17  Stefan Kost  <ensonic@users.sf.net>
647
648         * gst/gstregistrybinary.c: (gst_registry_binary_save_const_string),
649         (gst_registry_binary_save_string),
650         (gst_registry_binary_save_pad_template),
651         (gst_registry_binary_save_feature),
652         (gst_registry_binary_save_plugin),
653         (gst_registry_binary_load_feature),
654         (gst_registry_binary_load_plugin),
655         (gst_registry_binary_read_cache):
656           Fix memory leak. Be less verbose in the log.
657
658 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
659
660         * tests/check/elements/.cvsignore:
661         Add file to cvsignore as commanded.
662
663 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
664
665         * tests/check/elements/multiqueue.c: (mq_dummypad_chain),
666         (mq_dummypad_event), (run_output_order_test):
667         Use a GStaticMutex to protect all cases where libcheck
668         fail_if/fail_unless macros might be called from multiple threads
669         simultaneously to avoid errors like:
670           "check_pack.c:107: :-1081725400:Bad message type arg"
671
672 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
673
674         * tests/check/pipelines/stress.c: (GST_START_TEST):
675         Make sure we set the pipeline back to the NULL state before
676         dropping our final reference.
677
678 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
679
680         * tests/check/elements/tee.c: (GST_START_TEST):
681         Make the tee stress-test a little less stressful so it doesn't just
682         time out on slow-machines, and remove a small race when it's starting 
683         up by adding a get_state() call.
684
685 2007-07-16  Stefan Kost  <ensonic@users.sf.net>
686
687         * gst/gst.c:
688           Avoid reading registry twice on startup. Fixes #457322.
689
690 2007-07-13  Jan Schmidt  <thaytan@mad.scientist.com>
691
692         * pkgconfig/gstreamer-check-uninstalled.pc.in:
693         * pkgconfig/gstreamer-check.pc.in:
694         Substitute the CFLAGS for libcheck into our .pc file too so that
695         dependent modules will pick it up properly if libcheck is installed
696         into some other prefix.
697
698 2007-07-13  Jan Schmidt  <thaytan@mad.scientist.com>
699
700         * configure.ac:
701         Revert the pkg-config check for libcheck, since it pulls in the
702         wrong non-PIC libcheck.a on Ubuntu and probably Fedora too. We need
703         a proper solution, either from the check project, or something else.
704
705 2007-07-12  Stefan Kost  <ensonic@users.sf.net>
706
707         * configure.ac:
708           Use pkg-config to locate check.
709
710 2007-07-10  Stefan Kost  <ensonic@users.sf.net>
711
712         * gst/gsttaglist.c:
713           Fix doc syntax.
714
715         * gst/gstutils.c:
716         * gst/gstutils.h:
717           Add deprecation guards.
718
719         * libs/gst/base/gstcollectpads.h:
720           Don't document object (this is implicitly private).
721
722 2007-07-08  Tim-Philipp Müller  <tim at centricular dot net>
723
724         * gst/gststructure.c: (gst_structure_parse_value):
725           When deserialising foo=bar without a type cast, check if it's a
726           boolean before falling back to a string type, otherwise things like
727           audiotestsrc ! audio/x-raw-int,signed=true ! fakesink won't work,
728           because the filtercaps end up having a signed=(string)true field,
729           which causes problems later when intersection caps.
730
731         * tests/check/gst/gststructure.c: (GST_START_TEST):
732           Add a unit test for this.
733
734 2007-07-06  Sebastian Dröge  <slomo@circular-chaos.org>
735
736         Reviewed by: Stefan Kost <ensonic@users.sf.net>
737
738         * libs/gst/controller/Makefile.am:
739         * libs/gst/controller/gstcontroller.c:
740         (gst_controlled_property_add_interpolation_control_source),
741         (gst_controlled_property_new), (gst_controlled_property_free),
742         (gst_controller_find_controlled_property),
743         (gst_controller_new_valist), (gst_controller_new_list),
744         (gst_controller_new), (gst_controller_remove_properties_valist),
745         (gst_controller_remove_properties_list),
746         (gst_controller_remove_properties),
747         (gst_controller_set_property_disabled),
748         (gst_controller_set_disabled), (gst_controller_set_control_source),
749         (gst_controller_get_control_source), (gst_controller_get),
750         (gst_controller_sync_values), (gst_controller_get_value_array),
751         (_gst_controller_dispose), (gst_controller_get_type),
752         (gst_controlled_property_set_interpolation_mode),
753         (gst_controller_set), (gst_controller_set_from_list),
754         (gst_controller_unset), (gst_controller_unset_all),
755         (gst_controller_get_all), (gst_controller_set_interpolation_mode):
756         * libs/gst/controller/gstcontroller.h:
757         * libs/gst/controller/gstcontrollerprivate.h:
758         * libs/gst/controller/gstcontrolsource.c:
759         (gst_control_source_class_init), (gst_control_source_init),
760         (gst_control_source_get_value),
761         (gst_control_source_get_value_array), (gst_control_source_bind):
762         * libs/gst/controller/gstcontrolsource.h:
763         * libs/gst/controller/gsthelper.c: (gst_object_set_control_source),
764         (gst_object_get_control_source):
765         * libs/gst/controller/gstinterpolation.c:
766         (gst_interpolation_control_source_find_control_point_node),
767         (gst_interpolation_control_source_get_first_value),
768         (_interpolate_none_get), (interpolate_none_get),
769         (interpolate_none_get_boolean_value_array),
770         (interpolate_none_get_enum_value_array),
771         (interpolate_none_get_string_value_array),
772         (_interpolate_trigger_get), (interpolate_trigger_get),
773         (interpolate_trigger_get_boolean_value_array),
774         (interpolate_trigger_get_enum_value_array),
775         (interpolate_trigger_get_string_value_array):
776         * libs/gst/controller/gstinterpolationcontrolsource.c:
777         (gst_control_point_free), (gst_interpolation_control_source_reset),
778         (gst_interpolation_control_source_new),
779         (gst_interpolation_control_source_set_interpolation_mode),
780         (gst_interpolation_control_source_bind),
781         (gst_control_point_compare), (gst_control_point_find),
782         (gst_interpolation_control_source_set_internal),
783         (gst_interpolation_control_source_set),
784         (gst_interpolation_control_source_set_from_list),
785         (gst_interpolation_control_source_unset),
786         (gst_interpolation_control_source_unset_all),
787         (gst_interpolation_control_source_get_all),
788         (gst_interpolation_control_source_get_count),
789         (gst_interpolation_control_source_init),
790         (gst_interpolation_control_source_finalize),
791         (gst_interpolation_control_source_dispose),
792         (gst_interpolation_control_source_class_init):
793         * libs/gst/controller/gstinterpolationcontrolsource.h:
794         * libs/gst/controller/gstinterpolationcontrolsourceprivate.h:
795         API: Refactor GstController into the core controller which can take
796         a GstControlSource for providing actual values for timestamps.
797         Implement a interpolation control source and use this for backward
798         compatibility, deprecate a bunch of functions that are now handled
799         by GstControlSource or GstInterpolationControlSource.
800         Make it possible to disable the controller completely or only for
801         specific properties. Fixes #450711.
802         * docs/libs/gstreamer-libs-docs.sgml:
803         * docs/libs/gstreamer-libs-sections.txt:
804         * docs/libs/gstreamer-libs.types:
805         Add new functions and classes to the docs.
806         * tests/check/libs/controller.c: (GST_START_TEST),
807         (gst_controller_suite):
808         * tests/examples/controller/audio-example.c: (main):
809         Port unit test and example to the new API and add some new
810         unit tests.
811
812 2007-07-05  Wim Taymans  <wim.taymans@gmail.com>
813
814         Patch by: Mark Nauwelaerts <manauw at skynet be>
815
816         * plugins/elements/gstmultiqueue.c:
817         (gst_multi_queue_get_internal_links), (apply_buffer),
818         (single_queue_overrun_cb), (gst_single_queue_new):
819         Implement non-default GstPadIntLinkFunction for multiqueue pads so that
820         the pipeline layout can be tracked correctly. Fixes #453732.
821
822 2007-07-05  Stefan Kost  <ensonic@users.sf.net>
823
824         * docs/gst/Makefile.am:
825         * docs/libs/Makefile.am:
826         * docs/plugins/Makefile.am:
827           Simplify --extra-dir as gtkdoc scans recursively.
828
829 2007-07-03  Wim Taymans  <wim.taymans@gmail.com>
830
831         * tools/gst-launch.c: (main):
832         When we got an error, there is no point in waiting for preroll when
833         shutting down.
834
835 2007-07-03  Wim Taymans  <wim.taymans@gmail.com>
836
837         * plugins/elements/gsttee.c: (gst_tee_base_init),
838         (gst_tee_request_new_pad), (gst_tee_release_pad),
839         (gst_tee_find_buffer_alloc), (gst_tee_buffer_alloc),
840         (gst_tee_do_push), (clear_pads), (gst_tee_handle_buffer),
841         (gst_tee_chain):
842         Be a lot smarter when deciding what srcpad to use for proxying
843         the buffer_alloc. Also handle pad added/removed when doing so.
844         Fixes #357959.
845         Keep track of what pads we already pushed on in case we have pads
846         added/removed while pushing. Fixes #374639 
847
848         * tests/check/Makefile.am:
849         * tests/check/elements/tee.c: (handoff), (GST_START_TEST),
850         (tee_suite):
851         Added unit test for pad resync.
852
853 2007-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
854
855         * po/nl.po:
856         * po/sv.po:
857           Updated translations.
858
859 2007-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
860
861         translation by: Tommi Vainikainen <Tommi.Vainikainen@iki.fi>
862
863         * po/LINGUAS:
864         * po/fi.po:
865           Added new Finnish translation.
866
867 2007-06-28  Wim Taymans  <wim@fluendo.com>
868
869         * plugins/elements/gstmultiqueue.c: (apply_buffer),
870         (single_queue_overrun_cb):
871         When figuring out when a queue is filled, use our internal time estimate
872         based on segments, just like check_full does.
873
874 2007-06-27  Stefan Kost  <ensonic@users.sf.net>
875
876         * gst/gstminiobject.c: (gst_mini_object_get_type):
877           Remove 3 do-nothing methods.
878
879 2007-06-27  Wim Taymans  <wim@fluendo.com>
880
881         Patch by: Tim Angus <tim at ngus dot net>
882
883         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
884         (gst_capsfilter_set_property):
885         Take a reference instead of a copy when setting "caps".
886         Fix documentation to clarify this behaviour. Fixes #449414.
887
888 2007-06-27  Stefan Kost  <ensonic@users.sf.net>
889
890         * gst/gstindexfactory.c: (gst_index_factory_get_type):
891         * gst/gstplugin.c: (gst_plugin_init):
892         * gst/gstpluginfeature.c: (gst_plugin_feature_init):
893         * gst/gstquery.c: (gst_query_get_type):
894         * gst/gstregistry.c: (gst_registry_init):
895         * gst/gsturi.c: (gst_uri_handler_base_init):
896           Remove empty instance_init() functions to save relocs and lessen the
897           noise. Remove some of the function prototypes that are doubled by
898           G_DEFINE_TYPE.
899           
900 2007-06-27  Wim Taymans  <wim@fluendo.com>
901
902         Patch by: Étienne Noreau-Hébert <etienne at deepunder dot org>
903
904         * gst/gstghostpad.c: (gst_proxy_pad_save_thyself):
905         Add peer and direction in the XML serialisation of ghostpads.
906         Fixes #449226.
907
908 2007-06-26  Stefan Kost  <ensonic@users.sf.net>
909
910         * configure.ac:
911           Preserve useful information, thanks Tim.
912
913 2007-06-26  Jan Schmidt  <thaytan@noraisin.net>
914
915         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_init),
916         (gst_single_queue_flush), (apply_segment), (apply_buffer),
917         (gst_single_queue_push_one), (gst_multi_queue_loop),
918         (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
919         (gst_multi_queue_src_activate_push), (wake_up_next_non_linked),
920         (compute_high_id), (gst_single_queue_new):
921         * plugins/elements/gstmultiqueue.h:
922         Take the multiqueue lock when updating the fill level so we don't get
923         confused. 
924
925         After applying a buffer or event on the src pad segment, make sure to
926         call gst_data_queue_limits_changed() to get the data queue to unblock
927         and check the filled state again.
928         
929         Rework the not-linked pad handling so the logic is that not-linked 
930         pads can push as fast as they like, but only so they never get 
931         ahead of any linked pads.
932
933         * tests/check/elements/multiqueue.c: (mq_sinkpad_to_srcpad),
934         (mq_dummypad_getcaps), (mq_dummypad_chain), (mq_dummypad_event),
935         (run_output_order_test), (GST_START_TEST), (multiqueue_suite):
936
937         Add a test to check that not-linked pads always stay behind
938         linked pads.
939
940         Fixes: #430682
941
942 2007-06-26  Jan Schmidt  <thaytan@mad.scientist.com>
943
944         * docs/random/release:
945           Some updates to the release procedure.
946
947 2007-06-26  Stefan Kost  <ensonic@users.sf.net>
948
949         * gst/gstelementfactory.c: (__gst_element_details_clear):
950           Microoptimization that saves stunning 80 bytes.
951
952 2007-06-25  Stefan Kost  <ensonic@users.sf.net>
953
954         * docs/plugins/gstreamer-plugins.args:
955         * docs/plugins/inspect/plugin-coreelements.xml:
956         * docs/plugins/inspect/plugin-coreindexers.xml:
957           Update docs with caps info.
958
959 2007-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
960
961         * po/it.po:
962           Updated Italian translation.
963
964 2007-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
965
966         * ChangeLog:
967         * po/vi.po:
968           Update Vietnamese translations.
969
970 2007-06-21  Tim-Philipp Müller  <tim at centricular dot net>
971
972         * libs/gst/base/gstbasesink.c:
973           Remove unused signal enum.
974
975 2007-06-21  Jan Schmidt  <thaytan@mad.scientist.com>
976
977         * docs/gst/gstreamer-sections.txt:
978         * gst/gstelement.c:
979         * gst/gstutils.c: (gst_type_register_static_full):
980         Beef up and include the docs for gst_type_register_static_full and
981         gst_element_class_set_details_simple and add the API keyword
982         in the ChangeLog.
983
984 2007-06-21  Jan Schmidt  <thaytan@mad.scientist.com>
985
986         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_set_property),
987         (update_time_level), (gst_single_queue_push_one),
988         (gst_multi_queue_chain), (gst_multi_queue_sink_event),
989         (single_queue_overrun_cb), (single_queue_underrun_cb),
990         (single_queue_check_full):
991         Fix setting max-* properties after adding queues.
992         Use IS_FILLED for checking visible items.
993         Signal overrun if multiple queues overrun.
994         Add extra debug output.
995         Patch by: Wim Taymans <wim@fluendo.com>
996
997 2007-06-21  Stefan Kost  <ensonic@users.sf.net>
998
999         * gst/gstelement.c: (gst_element_class_set_details_simple):
1000         * gst/gstelement.h:
1001         * gst/gstutils.c: (gst_type_register_static_full):
1002         * gst/gstutils.h:
1003         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init):
1004         * plugins/elements/gstfakesink.c: (gst_fake_sink_base_init):
1005         * plugins/elements/gstfakesrc.c: (gst_fake_src_base_init):
1006         * plugins/elements/gstfdsink.c: (gst_fd_sink_base_init):
1007         * plugins/elements/gstfdsrc.c: (gst_fd_src_base_init):
1008         * plugins/elements/gstfilesink.c: (gst_file_sink_base_init):
1009         * plugins/elements/gstfilesrc.c: (gst_file_src_base_init):
1010         * plugins/elements/gstidentity.c: (gst_identity_base_init):
1011         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init):
1012         * plugins/elements/gstqueue.c: (gst_queue_base_init),
1013         (apply_buffer), (gst_queue_chain):
1014         * plugins/elements/gsttee.c: (gst_tee_base_init):
1015         * plugins/elements/gsttypefindelement.c:
1016         (gst_type_find_element_base_init),
1017         (gst_type_find_element_class_init):
1018           Saving relocations for GTypeInfo and GstElementDetails. Fixes #437457.
1019           API: add gst_type_register_static_full
1020           API: add gst_element_class_set_details_simple
1021
1022 2007-06-21  Tim-Philipp Müller  <tim at centricular dot net>
1023
1024         * docs/pwg/advanced-types.xml:
1025           Fix typo in iana.org URI.
1026
1027 2007-06-19  Andy Wingo  <wingo@pobox.com>
1028
1029         * tests/check/pipelines/simple-launch-lines.c
1030         (test_state_change_returns): Enable pull-mode tests now that
1031         basesink has been fixed.
1032
1033         * libs/gst/base/gstbasesink.c (gst_base_sink_needs_preroll):
1034         Changed from gst_base_sink_is_prerolled, reversing the sense of
1035         the return value. Returns FALSE also if the sink is in pull mode,
1036         in which case it needs no preroll.
1037         (gst_base_sink_query, gst_base_sink_change_state): Update for
1038         needs_preroll change.
1039         (gst_base_sink_change_state): Add a case for READY_TO_PAUSED after
1040         chaining up, in which we return SUCCESS directly if we activated
1041         in pull mode instead of ASYNC. Involves countering an async_start
1042         message sent before chaining up; not sure if this is correct, in
1043         an ideal world we only send async-start when activating in push
1044         mode.
1045
1046         * tests/check/pipelines/simple-launch-lines.c
1047         (test_state_change_returns): New test, partially disabled until
1048         basesink is fixed.
1049
1050 2007-06-19  Wim Taymans  <wim@fluendo.com>
1051
1052         * plugins/elements/gstmultiqueue.c: (apply_buffer),
1053         (gst_multi_queue_sink_event):
1054         Fix event leak.
1055
1056 2007-06-19  Wim Taymans  <wim@fluendo.com>
1057
1058         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
1059         (gst_bin_change_state_func), (bin_push_state_continue),
1060         (bin_handle_async_start), (bin_handle_async_done),
1061         (gst_bin_handle_message_func):
1062         Move the common code for posting state-change messages into
1063         one function.
1064         Broadcast the state signal after we posted the messages.
1065         Mark the bin as busy when it's doing a state-change.
1066         Make sure async-start/done messages don't interfere with the bin's
1067         state when it's busy.
1068         After the state change, let the bin check which elements completed the
1069         state change while it was busy so that it can update its state.
1070
1071 2007-06-19  Jan Schmidt  <thaytan@mad.scientist.com>
1072
1073         * docs/random/release:
1074         Add a note about updating the doap file to the release checklist
1075
1076 2007-06-18  Wim Taymans  <wim@fluendo.com>
1077
1078         * plugins/elements/gstmultiqueue.c: (apply_buffer),
1079         (gst_single_queue_push_one), (gst_multi_queue_chain),
1080         (gst_multi_queue_sink_event):
1081         Make sure we don't reference the buffer/event after we have given away
1082         ownership in the queue.
1083
1084 2007-06-18  Wim Taymans  <wim@fluendo.com>
1085
1086         * plugins/elements/gstmultiqueue.c: (gst_single_queue_flush),
1087         (gst_multi_queue_chain), (gst_multi_queue_sink_event):
1088         Update queue state _after_ adding the item in the queue because else we
1089         could end up being full without the element added yet.
1090
1091 2007-06-18  Wim Taymans  <wim@fluendo.com>
1092
1093         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
1094         (gst_bin_remove_func), (gst_bin_get_state_func),
1095         (gst_bin_element_set_state), (gst_bin_continue_func),
1096         (bin_push_state_continue), (bin_handle_async_start),
1097         (bin_handle_async_done), (gst_bin_handle_message_func):
1098         * gst/gstbin.h:
1099         Immediatly commit the toplevel bin state when receiving an async-done
1100         message. This enables us to avoid spawning a thread to commit the state
1101         in some common cases and it also avoids some races.
1102         Avoid spawning a state thread when adding/removing async elements to a
1103         toplevel bin. Instead we immediatly update the bin state.
1104         Get rid of iterating all the children when getting the state in the bin
1105         because it is now always up-to-date.
1106         Fix bug where locked elements would always return _SUCCESS even it they
1107         returned NO_PREROLL before being locked.
1108         Fix the order of the state_change, async-start/done messages that was
1109         sometimes incorrect.
1110         Mark the state_dirty field as deprecated, we don't need it anymore as we
1111         are always up-to-date.
1112
1113         * gst/gstelement.c: (gst_element_get_state_func),
1114         (gst_element_continue_state):
1115         Small debug inprovements.
1116         Return the previous element state return when nothing is pending instead
1117         of blindly returning SUCCESS.
1118
1119         * tests/check/generic/sinks.c: (GST_START_TEST), (pad_blocked_cb),
1120         (gst_sinks_suite):
1121         Add a whole bunch of new testcases.
1122
1123 2007-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
1124
1125         * po/uk.po:
1126         * po/vi.po:
1127           Update translations.
1128
1129 2007-06-15  Jan Schmidt  <thaytan@mad.scientist.com>
1130
1131         * gst/gstpad.c:
1132         Fix typo in the docs.
1133
1134 2007-06-15  Wim Taymans  <wim@fluendo.com>
1135
1136         * docs/libs/gstreamer-libs-sections.txt:
1137         Add docs for new methods.
1138
1139 2007-06-15  Wim Taymans  <wim@fluendo.com>
1140
1141         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_item_destroy),
1142         (gst_multi_queue_item_new):
1143         Don't use GSlice because we don't depend on >= 2.10 yet.
1144
1145 2007-06-15  Wim Taymans  <wim@fluendo.com>
1146
1147         * plugins/elements/gstmultiqueue.c: (gst_single_queue_flush),
1148         (update_time_level), (apply_segment), (apply_buffer),
1149         (gst_single_queue_push_one), (gst_multi_queue_item_new),
1150         (gst_multi_queue_loop), (gst_multi_queue_sink_activate_push),
1151         (gst_multi_queue_sink_event), (single_queue_overrun_cb),
1152         (single_queue_underrun_cb), (single_queue_check_full):
1153         Remove debug printf.
1154
1155 2007-06-15  Wim Taymans  <wim@fluendo.com>
1156
1157         * libs/gst/base/gstdataqueue.c: (gst_data_queue_cleanup),
1158         (gst_data_queue_finalize), (gst_data_queue_locked_is_empty),
1159         (gst_data_queue_set_flushing), (gst_data_queue_push),
1160         (gst_data_queue_pop), (gst_data_queue_drop_head),
1161         (gst_data_queue_limits_changed), (gst_data_queue_get_level):
1162         * libs/gst/base/gstdataqueue.h:
1163         Various cleanups.
1164         Added methods to get the current levels and to inform the queue that the
1165         'full' limits changed.
1166
1167         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_init),
1168         (gst_multi_queue_finalize), (gst_multi_queue_set_property),
1169         (gst_single_queue_flush), (update_time_level), (apply_segment),
1170         (apply_buffer), (gst_single_queue_push_one),
1171         (gst_multi_queue_item_steal_object),
1172         (gst_multi_queue_item_destroy), (gst_multi_queue_item_new),
1173         (gst_multi_queue_loop), (gst_multi_queue_chain),
1174         (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
1175         (gst_multi_queue_getcaps), (gst_multi_queue_src_activate_push),
1176         (gst_multi_queue_src_query), (single_queue_overrun_cb),
1177         (single_queue_underrun_cb), (single_queue_check_full),
1178         (gst_single_queue_new):
1179         Keep track of time in the queue by measuring the difference between
1180         running_time on input and output. This gives more accurate results and
1181         can compensate for segments correctly.
1182         Make a queue by default only 5 buffers deep. We will now increase the
1183         buffer size depending on the filledness of the other queues.
1184         Factor out commong flush code.
1185         Make sure we don't add additional refcounts to buffers when we can avoid
1186         it.
1187         Propagate GstFlowReturn differently.
1188         Use GSlice for intermediate GstMultiQueueItems.
1189         Keep track of EOS.
1190         Resize queues on over and underruns based on filled level of other
1191         queues.
1192         When checking if the queue is filled, prefer to measure in time if we
1193         can and fall back to bytes when no time is known.
1194
1195         * plugins/elements/gstqueue.c:
1196         Fix return value.
1197
1198 2007-06-15  Wim Taymans  <wim@fluendo.com>
1199
1200         * libs/gst/base/gstbasetransform.c:
1201         (gst_base_transform_sink_event):
1202         Work around the brokenness of the event vmethod in basetransform. Prefer
1203         to return TRUE when the subclass returned FALSE (meaning don't forward
1204         the event). 
1205
1206         * libs/gst/base/gstbasetransform.h:
1207         Clarify the docs.
1208
1209 2007-06-15  Wim Taymans  <wim@fluendo.com>
1210
1211         * gst/gstpad.c: (gst_pad_push_event), (gst_pad_send_event):
1212         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
1213         (gst_base_src_default_query), (gst_base_src_get_range),
1214         (gst_base_src_start):
1215         * tests/check/pipelines/parse-launch.c: (setup_pipeline):
1216         Improve debugging.
1217
1218 2007-06-15  Stefan Kost  <ensonic@users.sf.net>
1219
1220         * docs/pwg/advanced-types.xml:
1221           Added more formats to caps table.
1222
1223 2007-06-15  Stefan Kost  <ensonic@users.sf.net>
1224
1225         * tools/gst-launch.c: (main):
1226           Remove crufy code. GOption does not need this workaround.
1227
1228 2007-06-14  Stefan Kost  <ensonic@users.sf.net>
1229
1230         * libs/gst/controller/gstcontroller.c:
1231         (gst_controlled_property_set_interpolation_mode):
1232           Fix wrong getter for enums in controller.
1233
1234 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
1235
1236         * libs/gst/check/gstcheck.c: (gst_check_init):
1237           Intercept criticals and warnings in the Gst-Phonon log domain, so
1238           ASSERT_CRITICAL() etc. can be used in gst-phonon's unit tests as
1239           well.
1240         
1241 2007-06-14  Edward Hervey  <edward@fluendo.com>
1242
1243         * gst/gstparamspecs.c: (_gst_param_fraction_validate):
1244         Since this file doesn't include "gst.h" it will not go through the
1245         macros that disable GST_LOG if debugging was disabled.
1246
1247 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
1248
1249         * libs/gst/check/Makefile.am:
1250         * libs/gst/check/gstcheck.h:
1251         * pkgconfig/gstreamer-check-uninstalled.pc.in:
1252         * pkgconfig/gstreamer-check.pc.in:
1253           Ugly 'fix' for the controller unit test on the p5 bot: in
1254           fail_unless_equals_float() check whether the values are 'almost
1255           equal' by allowing a small absolute error, which should be good
1256           enough for our use cases (normal numbers and values close to 0).
1257           Proper fixage left to floating point arithmetic aficionados.
1258
1259 2007-06-14  Stefan Kost  <ensonic@users.sf.net>
1260
1261         * libs/gst/base/gstbasesink.c: (gst_base_sink_reset_qos),
1262         (gst_base_sink_render_object), (gst_base_sink_get_position):
1263           Add two breaks thats where missing.
1264
1265 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
1266
1267         * docs/libs/gstreamer-libs-sections.txt:
1268         * libs/gst/check/gstcheck.h:
1269           API: add fail_unless_equals_float() and assert_equals_float().
1270           Add documentation for some of the macros.
1271
1272         * tests/check/libs/controller.c: (GST_START_TEST):
1273           Use newly-added asserts.
1274
1275 2007-06-14  Stefan Kost  <ensonic@users.sf.net>
1276
1277         * gst/gstpad.c: (gst_pad_alloc_buffer_full), (gst_pad_push):
1278           Show the caps change in the log to help spotting the case of not
1279           exactly matching caps.
1280
1281 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
1282
1283         * docs/pwg/building-boiler.xml:
1284           Fix typos, spotted by Thijs Vermeir (#447190).
1285
1286 2007-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
1287
1288         * docs/plugins/tmpl/.cvsignore:
1289         Ignore file to keep the buildbots happy
1290
1291 2007-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
1292
1293         * docs/plugins/Makefile.am:
1294         * docs/plugins/gstreamer-plugins-docs.sgml:
1295         * docs/plugins/gstreamer-plugins-sections.txt:
1296         Pull fdsink into the docs too.
1297
1298 2007-06-11  Sebastian Dröge  <slomo@circular-chaos.org>
1299
1300         * libs/gst/controller/gstinterpolation.c:
1301         Actually use the new functions with min/max checks for the trigger and
1302         none interpolation modes for get() and get_value_array() instead of
1303         just the latter.
1304
1305 2007-06-10  Sebastian Dröge  <slomo@circular-chaos.org>
1306
1307         * libs/gst/controller/gstcontroller.c:
1308         (gst_controlled_property_free):
1309         Unset the minimum and maximum GValues when freeing the corresponding
1310         GstControllerProperty struct.
1311
1312 2007-06-09  Sebastian Dröge  <slomo@circular-chaos.org>
1313
1314         * libs/gst/controller/gstcontroller.c:
1315         (gst_controlled_property_new):
1316         * libs/gst/controller/gstcontrollerprivate.h:
1317         * libs/gst/controller/gstinterpolation.c:
1318         (gst_controlled_property_find_control_point_node),
1319         (interpolate_none_get), (interpolate_none_get_enum_value_array),
1320         (interpolate_none_get_string_value_array),
1321         (interpolate_trigger_get),
1322         (interpolate_trigger_get_enum_value_array),
1323         (interpolate_trigger_get_string_value_array):
1324         Protect against values larger or smaller than the minimum or maximum
1325         allowed value for the property when using values that can be compared.
1326
1327         Optimize trigger interpolator a bit by taking the last requested value
1328         into account instead of always looping through the complete list.
1329
1330         Fix coding style a bit, everywhere else we use "return foo" instead
1331         of "return (foo)".
1332         
1333         * tests/check/libs/controller.c: (GST_START_TEST),
1334         (gst_controller_suite):
1335         Add unit test for the protection against too large or too small
1336         values.
1337
1338 2007-06-08  Sebastian Dröge  <slomo@circular-chaos.org>
1339
1340         * docs/random/slomo/controller.txt:
1341         Add some thoughts about the future of the controller.
1342
1343 2007-06-08  Wim Taymans  <wim@fluendo.com>
1344
1345         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
1346         Don't overflow in retimestamping code.
1347
1348 2007-06-07  Sebastien Moutte  <sebastien@moutte.net>
1349
1350         * libs/gst/controller/gstinterpolation.c: (DEFINE_CUBIC_GET):
1351         Use gst_util_guint64_to_gdouble for conversions.
1352         * win32/common/libgstreamer.def:
1353         Add new exported functions.
1354
1355 2007-06-07  Tim-Philipp Müller  <tim at centricular dot net>
1356
1357         * gst/gstutils.c:
1358           Small docs addition.
1359
1360 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
1361
1362         * README:
1363           Remove that test line again.
1364
1365 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
1366
1367         * README:
1368           Test commit mail sending.
1369
1370 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
1371
1372         * configure.ac:
1373           Fix typo and test commit mail sending.
1374
1375 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
1376
1377         * tests/examples/controller/audio-example.c:
1378           Improve comment and test commit mail sending.
1379
1380 2007-06-07  Wim Taymans  <wim@fluendo.com>
1381
1382         * gst/gstbin.c: (find_message), (bin_replace_message), (is_eos),
1383         (gst_bin_remove_func), (gst_bin_element_set_state),
1384         (bin_handle_async_start), (bin_handle_async_done),
1385         (gst_bin_handle_message_func):
1386         Add helper function to find messages.
1387         Generate the async-done messages together with the state change
1388         messages.
1389         Small cleanups in handling toplevel bins.
1390
1391 2007-06-06  Tim-Philipp Müller  <tim at centricular dot net>
1392
1393         * libs/gst/base/gstdataqueue.c:
1394         * libs/gst/base/gstdataqueue.h:
1395         * plugins/elements/gstmultiqueue.c: (gst_single_queue_push_one),
1396         (gst_multi_queue_item_new), (gst_multi_queue_chain),
1397         (gst_multi_queue_sink_event):
1398         * tests/check/elements/multiqueue.c: (multiqueue_suite):
1399           Fix multiqueue leaking buffers and events when downstream or the
1400           queue are flushing. Make refcounting assumptions explicit and
1401           document them (shouldn't break existing code that uses it other than
1402           maybe leak miniobjects, but that already happens anyway). Add unit
1403           test for the most common flushing case. Fixes #423700.
1404           
1405 2007-06-06  Sebastian Dröge  <slomo@circular-chaos.org>
1406
1407         * libs/gst/controller/gstcontroller.c:
1408         Clarify docs: The get_all, get_value_array(s) functions
1409         don't modify the GObject properties.
1410
1411 2007-06-06  Sebastian Dröge  <slomo@circular-chaos.org>
1412
1413         * libs/gst/controller/gstcontroller.c:
1414         (gst_controlled_property_set_interpolation_mode),
1415         (gst_controlled_property_prepend_default),
1416         (gst_controlled_property_new), (gst_controller_set_unlocked),
1417         (gst_controller_set), (gst_controller_set_from_list),
1418         (gst_controller_unset), (gst_controller_unset_all):
1419         * libs/gst/controller/gstcontrollerprivate.h:
1420         * libs/gst/controller/gstinterpolation.c:
1421         Factor out the 'set' logic into gst_controller_set_unlocked for the
1422         gst_controller_set and gst_controller_set_from_list functions.
1423
1424         To make life of the interpolators easier always add a control point
1425         at timestamp zero with the default value.
1426
1427         In the linear interpolator make things more obvious by better variable
1428         naming (slope).
1429
1430         Implement cubic interpolation mode (by using a natural cubic spline)
1431         and map the quadratic interpolation mode to this too (as quadratic
1432         doesn't make much sense, see discussion on the list).
1433
1434         * tests/check/libs/controller.c: (GST_START_TEST),
1435         (gst_controller_suite):
1436         Add unit test for the cubic interpolation mode and check everywhere
1437         if the interpolation mode could be set as expected.
1438
1439 2007-06-06  Tim-Philipp Müller  <tim at centricular dot net>
1440
1441         * gst/gstparamspecs.c: (gst_param_spec_fraction_get_type):
1442           Don't use GLib-2.10 functions, we still depend on
1443           GLib-how-old-is-it-again-2.8.
1444
1445 2007-06-06  Tim-Philipp Müller  <tim at centricular dot net>
1446
1447         * docs/gst/gstreamer-sections.txt:
1448         * gst/Makefile.am:
1449         * gst/gst.c:
1450         * gst/gst.h:
1451         * gst/gstparamspecs.c: (_gst_param_fraction_init),
1452         (_gst_param_fraction_set_default), (_gst_param_fraction_validate),
1453         (_gst_param_fraction_values_cmp),
1454         (gst_param_spec_fraction_get_type), (gst_param_spec_fraction):
1455         * gst/gstparamspecs.h:
1456         * gst/gstvalue.c:
1457         * tests/check/Makefile.am:
1458         * tests/check/gst/.cvsignore:
1459         * tests/check/gst/gstparamspecs.c: (gst_dummy_obj_base_init),
1460         (gst_dummy_obj_class_init), (gst_dummy_obj_init),
1461         (gst_dummy_obj_set_property), (gst_dummy_obj_get_property),
1462         (GST_START_TEST), (gst_param_spec_suite):
1463           API: add GstParamSpecFraction, so elements can have fraction
1464           properties without lots of painful string parsing (#444648).
1465
1466 2007-06-05  Wim Taymans  <wim@fluendo.com>
1467
1468         * gst/gstobject.c: (gst_object_class_init):
1469         Fix signal signature.
1470
1471         * gst/gstsegment.c:
1472         Add small clarification in the api docs.
1473
1474         * plugins/elements/gstfilesrc.c: (gst_file_src_set_location):
1475         States are protected with object lock.
1476
1477 2007-06-05  Jan Schmidt  <thaytan@mad.scientist.com>
1478
1479         * AUTHORS:
1480         I should probably be listed as an author by now.
1481
1482         * docs/random/release:
1483         Update the release doc
1484
1485 2007-06-05  Tim-Philipp Müller  <tim at centricular dot net>
1486
1487         * gst/gstvalue.c:
1488           Make docs for gst_value_compare() mention return enums that
1489           actually exist.
1490
1491 2007-06-05  Jan Schmidt  <thaytan@mad.scientist.com>
1492
1493         * configure.ac:
1494           Back to CVS
1495
1496 === release 0.10.13 ===
1497
1498 2007-06-05  Jan Schmidt <thaytan@mad.scientist.com>
1499
1500         * configure.ac:
1501           releasing 0.10.13, "With or without you"
1502
1503 2007-05-25  Wim Taymans  <wim@fluendo.com>
1504
1505         * gst/gstbin.c: (bin_handle_async_done):
1506         Make sure that the child bin stops after completing the async state
1507         change so that the parent can continue the state change to PLAYING.
1508         Fixes #441159.
1509
1510 2007-05-25  Wim Taymans  <wim@fluendo.com>
1511
1512         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
1513         (unref_data), (gst_collect_pads_remove_pad),
1514         (gst_collect_pads_check_pads):
1515         Use additional refcounting to avoid crashes when dynamically adding and
1516         removing pads. Fixes #420206.
1517
1518 2007-05-24  Wim Taymans  <wim@fluendo.com>
1519
1520         * tools/gst-launch.c: (event_loop):
1521         When buffering goes from a two digit to a single digit number, make sure
1522         to remove the old second digit by writing a blank over it.
1523
1524 2007-05-24  Tim-Philipp Müller  <tim at centricular dot net>
1525
1526         * libs/gst/base/gstdataqueue.c:
1527           Eliminate tabs and trailing comma in enum list; fix some typos.
1528
1529 2007-05-24  Wim Taymans  <wim@fluendo.com>
1530
1531         * tests/check/gst/gstbin.c: (GST_START_TEST):
1532         Allow refcount of 3 and 4 because some state thread might still be busy
1533         with it.
1534
1535 2007-05-24  Tim-Philipp Müller  <tim at centricular dot net>
1536
1537         * plugins/elements/Makefile.am:
1538         * plugins/elements/gstmultiqueue.h:
1539         * plugins/elements/gstqueue.h:
1540           These are not installed headers, no need for padding.
1541
1542 2007-05-24  Wim Taymans  <wim@fluendo.com>
1543
1544         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
1545         (gst_bin_continue_func):
1546         Enable latency for next release.
1547         Restore STATE_LOCK around recalc_state that was left out during the
1548         rewrite and could result in racy behaviour when _get_state and
1549         recalc_state are run concurrently. See #440463.
1550
1551 2007-05-23  Wim Taymans  <wim@fluendo.com>
1552
1553         * tests/check/gst/gstsystemclock.c: (store_callback),
1554         (GST_START_TEST):
1555         Improve test_async_order to also work when both timers are already
1556         expired when we get scheduled to check it.
1557
1558 2007-05-22  Tim-Philipp Müller  <tim at centricular dot net>
1559
1560         * gst/gstbin.c: (gst_bin_init), (gst_bin_dispose),
1561         (gst_bin_set_property), (gst_bin_get_property),
1562         (gst_bin_remove_func), (gst_bin_handle_message_func):
1563         * gst/gstbin.h:
1564           'private' is a c++ keyword, let's not use that in header files,
1565           otherwise c++ compilers will throw a tantrum.
1566
1567 2007-05-22  Tim-Philipp Müller  <tim at centricular dot net>
1568
1569         * plugins/elements/gstelements.c:
1570         * plugins/elements/gstfilesink.c: (gst_file_sink_do_seek),
1571         (gst_file_sink_get_current_offset):
1572         * plugins/indexers/gstindexers.c: (plugin_init):
1573           Use #ifdef for HAVE_XYZ for consistency.
1574
1575         * tests/check/Makefile.am:
1576         * tests/check/elements/.cvsignore:
1577         * tests/check/elements/filesink.c: (setup_filesink),
1578         (cleanup_filesink), (GST_START_TEST), (filesink_suite):
1579           Add some unit tests for filesink.
1580
1581 2007-05-22  Tim-Philipp Müller  <tim at centricular dot net>
1582
1583         Patch by: Mark Nauwelaerts <manauw at skynet be>
1584
1585         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
1586         (gst_file_sink_query), (gst_file_sink_do_seek),
1587         (gst_file_sink_get_current_offset), (gst_file_sink_render):
1588         * plugins/elements/gstfilesink.h:
1589           Fix position reporting; rename data_written member to current_pos to
1590           reflect its real meaning (fixes #412648).
1591
1592 2007-05-22  Edward Hervey  <edward@fluendo.com>
1593
1594         * docs/gst/gstreamer-sections.txt:
1595         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
1596         (gst_bin_dispose), (gst_bin_set_property), (gst_bin_get_property),
1597         (gst_bin_remove_func), (gst_bin_handle_message_func):
1598         * gst/gstbin.h:
1599         Add a property for bins that handle the state change of their childs.
1600         Fixes #435880
1601
1602 2007-05-22  Sebastian Dröge  <slomo@circular-chaos.org>
1603
1604         * libs/gst/controller/gstinterpolation.c:
1605         Use an array of the correct type when using _get_value_array with
1606         linear interpolation.
1607
1608 2007-05-22  Stefan Kost  <ensonic@users.sf.net>
1609
1610         * gst/gstelement.c (gst_element_requires_clock,
1611           gst_element_provides_clock, gst_element_request_pad,
1612           gst_element_class_set_details, gst_element_class_set_details_simple,
1613           gst_element_default_send_event, gst_element_abort_state,
1614           gst_element_continue_state, gst_element_set_state,
1615           gst_element_set_state_func, iterator_activate_fold_with_resync):
1616         * gst/gstpad.c (gst_pad_activate_pull, gst_pad_set_getcaps_function,
1617           gst_pad_fixate_caps, gst_pad_configure_sink, gst_pad_configure_src,
1618           gst_pad_query, gst_pad_save_thyself, handle_pad_block, gst_pad_push,
1619           gst_pad_get_range, gst_pad_pull_range):
1620         * gst/gstpad.h (GST_PAD_LINK_SUCCESSFUL, GST_FLOW_CUSTOM_SUCCESS,
1621           GST_FLOW_NOT_SUPPORTED, GST_FLOW_IS_FATAL, GstPadActivateFunction,
1622           GstPadActivateModeFunction, GstPadChainFunction,
1623           GstPadGetCapsFunction, GstPadAcceptCapsFunction,
1624           GstPadFixateCapsFunction, GstPadTemplate):
1625         * gst/gstpipeline.c (gst_pipeline_change_state,
1626           gst_pipeline_set_new_stream_time, gst_pipeline_use_clock,
1627           gst_pipeline_set_clock, gst_pipeline_auto_clock,
1628           gst_pipeline_get_delay):
1629           Whitespace and docs fixes.
1630
1631 2007-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
1632
1633         * libs/gst/controller/gstinterpolation.c:
1634         (interpolate_trigger_get_enum_value_array),
1635         (interpolate_trigger_get_string_value_array):
1636         Add support for retrieving value arrays when using the trigger
1637         interpolation mode. 
1638
1639 2007-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
1640
1641         * libs/gst/controller/gstcontroller.c:
1642         (gst_controller_get_value_array):
1643         * libs/gst/controller/gstcontroller.h:
1644         Clarify the docs of gst_controller_get_value_array(): The array where
1645         the values should be written to must be allocated as there seems to be
1646         no way to get the size of a random GType. This doesn't change any
1647         behaviour. Also fix some typos all over the place and remove an unused,
1648         commented function that is not necessary as g_object_set() could be
1649         used instead.
1650         * tests/check/libs/controller.c: (GST_START_TEST),
1651         (gst_controller_suite):
1652         Add unit test for gst_controller_get_value_array().
1653
1654 2007-05-21  Jan Schmidt  <thaytan@mad.scientist.com>
1655
1656         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
1657
1658         Disable part of the gst_buffer_try_new_and_alloc test, because
1659         it can happily succeed on 64-bit systems where there's more address
1660         space available.
1661
1662 2007-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
1663
1664         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
1665         Add unit test for the improved caps checking from bug #421543.
1666
1667 2007-05-21  Wim Taymans  <wim@fluendo.com>
1668
1669         * docs/design/part-synchronisation.txt:
1670         Small addition.
1671
1672         * gst/gstbin.c: (gst_bin_query):
1673         * plugins/elements/gstqueue.c: (apply_segment):
1674         Improve debugging.
1675
1676         * gst/gstmessage.h:
1677         Improve docs.
1678
1679 2007-05-21  Wim Taymans  <wim@fluendo.com>
1680
1681         * gst/gstpad.c: (gst_pad_get_caps_unlocked),
1682         (gst_pad_acceptcaps_default), (gst_pad_configure_sink),
1683         (gst_pad_configure_src):
1684         Added simple version of improved caps checking. It was previously
1685         assumed that a setcaps function would check the validity of the caps but
1686         people prefer us to check caps against the template automatically. 
1687         Fixes #421543.
1688
1689 2007-05-21  Wim Taymans  <wim@fluendo.com>
1690
1691         * libs/gst/base/gstbasetransform.h:
1692         Fix macro for locking/unlocking the transform lock.
1693
1694 2007-05-19  Tim-Philipp Müller  <tim at centricular dot net>
1695
1696         * docs/plugins/tmpl/.cvsignore:
1697           Ignore more.
1698
1699 2007-05-18  Edward Hervey  <edward@fluendo.com>
1700
1701         * plugins/elements/gstqueue.c: (gst_queue_loop):
1702         Hello, I am Mr Taymans' personal debugger. Today I will introduce a fix
1703         for the subtle art of warning a potentially blocking thread that it
1704         should check the source pad return value, and relay the information
1705         upstream.
1706
1707 2007-05-18  Edward Hervey  <edward@fluendo.com>
1708
1709         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
1710         Release the queue lock !
1711
1712 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
1713
1714         * docs/libs/gstreamer-libs-sections.txt:
1715         Add the two new controller functions to the appropiate places.
1716
1717 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
1718
1719         reviewed by: Stefan Kost <ensonic@users.sf.net>
1720
1721         * libs/gst/controller/gstcontroller.c:
1722         (gst_controller_suggest_next_sync), (gst_controller_sync_values),
1723         (_gst_controller_get_property), (_gst_controller_set_property),
1724         (_gst_controller_init), (_gst_controller_class_init):
1725         * libs/gst/controller/gstcontroller.h:
1726         * libs/gst/controller/gsthelper.c: (gst_object_suggest_next_sync),
1727         (gst_object_get_control_rate), (gst_object_set_control_rate):
1728         API: gst_controller_suggest_next_sync(), gst_object_suggest_next_sync()
1729         Add API that provides sync suggestion timestamps for elements that
1730         call gst_object_sync_values() from which those elements can subdivide
1731         their processing loop to get the best results for the controlled
1732         properties. For now it just suggests last_sync + control_rate as
1733         new timestamp but this will be improved in the future.
1734
1735         While doing that change the control-rate property to a GstClockTime
1736         from guint and change it's meaning from samples to nanoseconds as
1737         the GstController doesn't know anything about sampling rate. Strictly
1738         speaking this breaks ABI but as the control-rate property didn't do
1739         anything in the past and as such couldn't be used this should be no
1740         problem.        
1741
1742 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
1743
1744         reviewed by: Stefan Kost <ensonic@users.sf.net>
1745
1746         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
1747         (gst_controller_unset_all):
1748         * libs/gst/controller/gstcontrollerprivate.h:
1749         * libs/gst/controller/gstinterpolation.c:
1750         (gst_controlled_property_find_control_point_node):
1751         Save last synced value from the list to continue searching from there
1752         in future syncs. This speeds everything up a bit.
1753         
1754 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
1755
1756         reviewed by: Stefan Kost <ensonic@users.sf.net>
1757
1758         * libs/gst/controller/gstcontroller.c: (gst_control_point_compare),
1759         (gst_control_point_find), (gst_controlled_property_new),
1760         (gst_control_point_free), (gst_controlled_property_free),
1761         (gst_controller_set), (gst_controller_set_from_list),
1762         (gst_controller_unset), (gst_controller_unset_all),
1763         (gst_controller_sync_values):
1764         * libs/gst/controller/gstcontroller.h:
1765         * libs/gst/controller/gstcontrollerprivate.h:
1766         * libs/gst/controller/gstinterpolation.c:
1767         (gst_controlled_property_find_control_point_node),
1768         (interpolate_none_get), (interpolate_trigger_get):
1769         Add a new private GstControlPoint struct which "inherits" from
1770         GstTimedValue to allow different interpolators to store internal
1771         values next to each control point. From the outside everything is
1772         still a GstControlPoint so we don't loose binary compatibility.
1773         Also fixup all the GValue handling to not leak GValues or list nodes.
1774         * tests/check/libs/controller.c: (GST_START_TEST):
1775         Free the list nodes and GValues in the controller_misc test.
1776
1777 2007-05-17  Edward Hervey  <edward@fluendo.com>
1778
1779         * gst/gstsegment.c:
1780         Small doc fix.
1781
1782 2007-05-16  Tim-Philipp Müller  <tim at centricular dot net>
1783
1784         * gst/gstplugin.c: (gst_plugin_load_file):
1785           If we fail to load a plugin because of unresolved symbols or missing
1786           libraries and spew a warning to stderr, we may just as well mention
1787           which plugin it was that failed to load.
1788
1789 2007-05-13  David Schleef  <ds@schleef.org>
1790
1791         * docs/Makefile.am: the gtk-doc makefile snippet correctly
1792           handles the case when ENABLE_GTK_DOC is false, and installs
1793           the prebuilt documentation.  So gtk-doc subdirs are 
1794           unconditionally enabled.  Fixes: #349099.
1795
1796 2007-05-13  David Schleef  <ds@schleef.org>
1797
1798         * gst/gstutils.h: Reword some documentation.
1799
1800 2007-05-12  David Schleef  <ds@schleef.org>
1801
1802         * gst/gstplugin.c: gst_plugin_register_func() doesn't actually
1803           do anything with the passed "module" parameter, so remove it.
1804           Allows removal of additional vestigal code.
1805
1806 2007-05-12  David Schleef  <ds@schleef.org>
1807
1808         * gst/gstplugin.c:
1809           Using sigaction should depend on HAVE_SIGACTION, not HAVE_WIN32.
1810           Switch to using g_stat() because it's more portable.
1811
1812 2007-05-12  David Schleef  <ds@schleef.org>
1813
1814         * gst/gst.c:
1815           Add GST_DISABLE_OPTION_PARSING, in order to disable option
1816           parsing for embedded systems.
1817         * gst/gstelementfactory.c:
1818           Allow gst_element_register() to be called with plugin==NULL.
1819           Did nobody notice that static elements were broken?
1820
1821 2007-05-12  Wim Taymans  <wim@fluendo.com>
1822
1823         * tools/gst-launch.c: (event_loop):
1824         Give more interesting info when buffering starts and stops.
1825         Fix case where buffering starts but we fail to update the buffering flag
1826         because the target state is not PLAYING.
1827
1828 2007-05-12  Wim Taymans  <wim@fluendo.com>
1829
1830         * plugins/elements/gstqueue.c: (gst_queue_init),
1831         (gst_queue_finalize), (update_time_level), (apply_segment),
1832         (apply_buffer), (gst_queue_locked_flush),
1833         (gst_queue_locked_enqueue), (gst_queue_locked_dequeue),
1834         (gst_queue_handle_sink_event), (gst_queue_chain),
1835         (gst_queue_push_one), (gst_queue_loop):
1836         * plugins/elements/gstqueue.h:
1837         Refactor an cleanup queue a bit.
1838         Do better time level calculations that also work when the srcpad is not
1839         yet running.
1840         Remove some unneeded debug lines.
1841
1842         * tests/check/elements/queue.c: (GST_START_TEST), (queue_suite):
1843         Added testcase for time level measurement.
1844         Try to make some stuff more racefree.
1845
1846 2007-05-11  Tim-Philipp Müller  <tim at centricular dot net>
1847
1848         * gst/gsturi.c: (gst_element_make_from_uri):
1849           Don't leak plugin feature.
1850
1851         * tests/check/Makefile.am:
1852         * tests/check/gst/.cvsignore:
1853         * tests/check/gst/gsturi.c: (GST_START_TEST), (gst_uri_suite):
1854           Add brain-dead unit test.
1855
1856 2007-05-11  Tim-Philipp Müller  <tim at centricular dot net>
1857
1858         Patch by: Jeroen Wouters <woutersj at gmail com>
1859
1860         * gst/gsturi.c: (gst_uri_get_protocol), (search_by_entry):
1861           Treat protocol strings in a case-insensitive way (#437563).
1862
1863 2007-05-11  Michael Smith <msmith@fluendo.com>
1864
1865         * gst/gstplugin.c: (gst_plugin_load_file):
1866         * gst/gstregistry.c: (gst_registry_scan_path_level):
1867           Don't print a g_warning for any failure to load a shared object.
1868           Instead, push this down into gstplugin.c, and warn _only_ if we
1869           failed to open the module (i.e. failure to link).
1870           Avoids warnings on normal, working, non-plugin .so files.
1871
1872 2007-05-11  Stefan Kost  <ensonic@users.sf.net>
1873
1874         * gst/gstplugin.c (gst_plugin_load_file):
1875         * gst/gstregistry.c (GST_CAT_DEFAULT,
1876           gst_registry_lookup_feature_locked, gst_registry_scan_path_level):
1877           Print a g_warning if there was an error when loading a plugins during
1878           registry scan. The shuld help beginners starting with gst-plugin
1879           template.
1880
1881 2007-05-10  Wim Taymans  <wim@fluendo.com>
1882
1883         * plugins/elements/gstqueue.c: (gst_queue_class_init),
1884         (update_time_level), (gst_queue_locked_flush),
1885         (gst_queue_handle_sink_event), (gst_queue_chain),
1886         (gst_queue_push_one), (gst_queue_loop):
1887         * plugins/elements/gstqueue.h:
1888         Be smarter when calculating the current amount of data in the queue by
1889         measuring the difference between start and end timestamps (in running
1890         time) inside the queue. Fixes #432876.
1891         API: GstQueue::pushing to notify elements that we are pushing data again
1892         since the running signal is rather broken for this purpose.
1893
1894 2007-05-10  Stefan Kost  <ensonic@users.sf.net>
1895
1896         * plugins/elements/gstqueue.c (_do_init, gst_queue_signals,
1897           gst_queue_base_init, gst_queue_init):
1898           use GST_BOILERPLATE
1899
1900 2007-05-09  Sebastien Moutte  <sebastien@moutte.net>
1901
1902         * win32/common/libgstreamer.def:
1903         Add new exported functions.
1904         * win32/vs6/grammar.dsp:
1905         Use grammar pre-generated files.
1906
1907 2007-05-09  Tim-Philipp Müller  <tim at centricular dot net>
1908
1909         Based on patch by: Peter Kjellerstedt  <pkj at axis com>
1910
1911         * gst/Makefile.am:
1912         * gst/gstparse.c: (gst_parse_launchv), (gst_parse_launch):
1913         * gst/gstparse.h:
1914         * gst/gstutils.c: (gst_parse_bin_from_description):
1915         * gst/gstutils.h:
1916           Maintain API and ABI when --disable-parse is used. Now that
1917           we have an appropriate error code, we can just return NULL and the
1918           appropriate error when gst_parse_launch() is used despite it having
1919           been disabled (#342564).
1920
1921         * tests/check/Makefile.am:
1922         * tests/check/pipelines/.cvsignore:
1923         * tests/check/pipelines/parse-disabled.c:
1924           Make sure these functions exist and return NULL plus a GError when
1925           --disable-parse is used.
1926
1927 2007-05-09  Tim-Philipp Müller  <tim at centricular dot net>
1928
1929         * tests/benchmarks/complexity.c: (main):
1930         * tests/benchmarks/mass-elements.c: (main):
1931           Set a good example and don't leak messages.
1932
1933 2007-05-06  Stefan Kost  <ensonic@users.sf.net>
1934
1935         * docs/gst/Makefile.am:
1936         * docs/libs/Makefile.am:
1937           Correct fixxrefs options.
1938
1939         * docs/plugins/Makefile.am:
1940         * docs/plugins/gstreamer-plugins-docs.sgml:
1941         * docs/plugins/gstreamer-plugins-sections.txt:
1942         * plugins/elements/Makefile.am:
1943         * plugins/elements/gstcapsfilter.c (gst_capsfilter_details):
1944         * plugins/elements/gstcapsfilter.h (__GST_CAPSFILTER_H__,
1945           GST_TYPE_CAPSFILTER, GST_CAPSFILTER, GST_CAPSFILTER_CLASS,
1946           GST_IS_CAPSFILTER, GST_IS_CAPSFILTER_CLASS, GstCapsFilter,
1947           GstCapsFilterClass, _GstCapsFilter, trans, filter_caps,
1948           _GstCapsFilterClass, trans_class):
1949         * plugins/elements/gstelements.c (name, rank, type, _elements):
1950         * plugins/elements/gstidentity.c
1951           (gst_identity_check_imperfect_timestamp,
1952           gst_identity_check_imperfect_offset):
1953           Document capsfilter and add doc-blurb to identity.
1954
1955 2007-05-04  Tim-Philipp Müller  <tim at centricular dot net>
1956
1957         * libs/gst/controller/gstcontroller.c:
1958         (gst_controlled_property_set_interpolation_mode):
1959         * libs/gst/controller/gstinterpolation.c:
1960           Don't crash if someone tries to set an interpolation mode that
1961           is invalid or that isn't supported yet. Fixes #422295.
1962
1963         * tests/check/libs/controller.c: (GST_START_TEST),
1964         (gst_controller_suite):
1965           Add a test case for the above.
1966
1967 2007-05-03  Edward Hervey  <edward@fluendo.com>
1968
1969         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
1970         Properly set the last_stop position on GstSegment. This will only happen
1971         if there is a buffer to push out.
1972
1973 2007-05-03  Wim Taymans  <wim@fluendo.com>
1974
1975         * libs/gst/base/gstbasetransform.c:
1976         (gst_base_transform_buffer_alloc):
1977         always_in_place does not mean that the sink and source caps are the
1978         same! Make sure we don't blindly proxy the buffer_alloc in this case.
1979
1980 2007-05-03  Wim Taymans  <wim@fluendo.com>
1981
1982         * docs/libs/gstreamer-libs-sections.txt:
1983         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
1984         (gst_base_src_default_query), (gst_base_src_get_range):
1985         * libs/gst/base/gstbasesrc.h:
1986         API: gst_base_src_query_latency(). Added method so that subclasses can
1987         easily get the latency values of the base source class.
1988
1989 2007-05-02  Zaheer Abbas Merali  <<zaheerabbas at merali dot org>>
1990
1991         * tools/gst-inspect.c (print_implementation_info):
1992         Remove 0.8 cruft.
1993
1994 2007-05-02  Tim-Philipp Müller  <tim at centricular dot net>
1995
1996         * tools/Makefile.am:
1997         * tools/gst-launch.1.in:
1998           Don't create a customised man page based on the host architecture,
1999           describe the default registry path generically. That way the man
2000           page is the same for all architectures and packagers have one
2001           multilib issue less to deal with. Fixes #434926.
2002
2003 2007-05-02  Wim Taymans  <wim@fluendo.com>
2004
2005         * gst/gstpad.c:
2006         Fix documentation as spotted by rg on IRC. 
2007
2008 2007-04-29  Stefan Kost  <ensonic@users.sf.net>
2009
2010         * gst/gstutils.c:
2011           Improve docs for gst_element_{link,unlink}.
2012
2013 2007-04-28  Tim-Philipp Müller  <tim at centricular dot net>
2014
2015         * docs/design/part-events.txt:
2016         * docs/design/part-overview.txt:
2017         * gst/gstevent.c:
2018         * gst/gsturi.c:
2019         * gst/gsturi.h:
2020         * libs/gst/base/gstbasesink.c:
2021           Typo fixes; minor docs addition.
2022
2023 2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>
2024
2025         * docs/gst/gstreamer-sections.txt:
2026         * gst/gsturi.c: (get_element_factories_from_uri_protocol),
2027         (gst_uri_protocol_is_supported), (gst_element_make_from_uri):
2028         * gst/gsturi.h:
2029         API: Add gst_uri_protocol_is_supported(), which checks if a sink
2030         or src that supports a given URI protocol exists.
2031
2032 2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>
2033
2034         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
2035         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
2036         Set the location to NULL if "file://" is set as URI. Otherwise
2037         some random previous URI would still be set if "file://" is
2038         set on an already used filesink/filesrc.
2039
2040 2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>
2041
2042         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
2043         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
2044         Special case the "file://" URI as as this is used by some
2045         applications to test with gst_element_make_from_uri if there's
2046         an element that supports the URI protocol.
2047         Also move the g_path_is_absolute() check for the location part
2048         of the URI to also check this for "file://localhost/bla" URIs.
2049
2050 2007-04-26  Tim-Philipp Müller  <tim at centricular dot net>
2051
2052         * docs/gst/gstreamer-sections.txt:
2053         * gst/gstbuffer.c: (gst_buffer_try_new_and_alloc):
2054         * gst/gstbuffer.h:
2055         * tests/check/gst/gstbuffer.c: (GST_START_TEST),
2056         (gst_buffer_suite):
2057           API: add gst_buffer_try_new_and_alloc() plus unit test (#431940).
2058
2059 2007-04-26  Stefan Kost  <ensonic@users.sf.net>
2060
2061         * gst/gstregistrybinary.c: (gst_registry_binary_write_cache),
2062         (gst_registry_binary_load_pad_template),
2063         (gst_registry_binary_load_plugin),
2064         (gst_registry_binary_read_cache):
2065         * gst/gstregistrybinary.h:
2066           Implement no-mmap alternative for registry reading. Do code cleanups.
2067           Add more comments about avoiding strdups for all text data. Comments
2068           welcome.
2069
2070 2007-04-25  Stefan Kost  <ensonic@users.sf.net>
2071
2072         * gst/gstregistrybinary.h (GstBinaryPluginElement,
2073           GstBinaryPluginFeature, _GstBinaryElementFactory, plugin_feature,
2074           GstBinaryElementFactory, _GstBinaryTypeFindFactory, plugin_feature):
2075           Comment structs and reformat to fix the build (that stuff should go
2076           into a priv. header).
2077
2078 2007-04-25  Stefan Kost  <ensonic@users.sf.net>
2079
2080         * gst/gstregistrybinary.c: (gst_registry_binary_save_feature),
2081         (gst_registry_binary_load_feature):
2082         * gst/gstregistrybinary.h:
2083           Refactor so that we can implement multiple features. Add support for
2084           TypeFindFactory features.
2085
2086 2007-04-24  Stefan Kost  <ensonic@users.sf.net>
2087
2088         Patch by: Peter Kjellerstedt <Peter.Kjellerstedt@axis.com>
2089
2090         * configure.ac:
2091           Fix AM_CONDITIONAL(GST_DISABLE_GST_DEBUG,...) and update comment.
2092
2093 2007-04-23  Stefan Kost  <ensonic@users.sf.net>
2094
2095         * gst/gstbin.c: (gst_bin_element_set_state),
2096         (iterator_activate_fold_with_resync), (gst_bin_continue_func),
2097         (bin_handle_async_done), (gst_bin_handle_message_func):
2098           Fix build with --gst-disable-gst-debug
2099
2100 2007-04-21  Tim-Philipp Müller  <tim at centricular dot net>
2101
2102         * libs/gst/base/gstbasetransform.c: (gst_base_transform_activate):
2103           Make sure streaming has finished before calling the ::stop() vfunc,
2104           since that vfunc might clear state which is being used in the
2105           streaming thread. This fixes a race that caused crashes in
2106           audioresample when shutting down a pipeline (#420106).
2107
2108 2007-04-20  Stefan Kost  <ensonic@users.sf.net>
2109
2110         * docs/gst/gstreamer-sections.txt:
2111           That was one byte missing.
2112
2113 2007-04-20  Stefan Kost  <ensonic@users.sf.net>
2114
2115         * configure.ac:
2116         * docs/gst/gstreamer-sections.txt:
2117         * gst/Makefile.am:
2118         * gst/gstconfig.h.in:
2119         * gst/gstobject.c: (gst_object_class_init),
2120         (gst_signal_object_class_init):
2121         * gst/gstobject.h:
2122           2nd attempt to have a xml-less build as a joined effort of #413123
2123           and #421480.
2124
2125 2007-04-20  Stefan Kost  <ensonic@users.sf.net>
2126
2127         * docs/design/draft-tagreading.txt:
2128           Added open issues/thoughts to draft.
2129
2130 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
2131
2132         * gst/parse/grammar.tab.pre.c:
2133         * gst/parse/grammar.tab.pre.h:
2134         * gst/parse/lex._gst_parse_yy.pre.c:
2135         Update the prebuild parser sources.
2136
2137 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
2138
2139         * gst/parse/Makefile.am:
2140         And now fix the building of the flex sources. Now everything should
2141         work as expected.
2142
2143 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
2144
2145         * gst/parse/Makefile.am:
2146         Now hopefully fix the build failures by setting proper rule
2147         dependencies and moving instead of copying.
2148
2149 2007-04-19  Stefan Kost  <ensonic@users.sf.net>
2150
2151         * tests/benchmarks/complexity.gnuplot:
2152         * tests/benchmarks/complexity.scm:
2153         * tests/benchmarks/mass-elements.gnuplot:
2154         * tests/benchmarks/mass-elements.scm:
2155           Total licensification.
2156
2157 2007-04-19  Stefan Kost  <ensonic@users.sf.net>
2158
2159         * gst/parse/Makefile.am:
2160           Fix the build by correcting the rule that gave wrong files to flex.
2161
2162 2007-04-19  Stefan Kost  <ensonic@users.sf.net>
2163
2164         * tests/benchmarks/complexity.c:
2165         * tests/benchmarks/mass-elements.c:
2166           Change licence to LGPL as granted by Benjamin and Andy.
2167
2168 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
2169
2170         * gst/parse/Makefile.am:
2171         Add correct grammar.tab.h dependency if compiling without new enough
2172         flex. Fixes #431150.
2173
2174 2007-04-18  Sebastian Dröge  <slomo@circular-chaos.org>
2175
2176         * gst/parse/Makefile.am:
2177         Fix typo and use outdated sources if the flex/bison sources are newer
2178         than the pregenerated ones but flex is too old. Print a warning in
2179         that case. This should fix the build on the build bot.
2180
2181 2007-04-18  Sebastian Dröge  <slomo@circular-chaos.org>
2182
2183         Patch by: Marc-Andre Lureau <marcandre dot lureau at gmail dot com>
2184         * gst/parse/Makefile.am:
2185         * gst/parse/grammar.y:
2186         * gst/parse/parse.l:
2187         Make the parser reentrant and recursively callable. This requires flex
2188         >= 2.5.31, for older versions pregenerated sources are used as we
2189         can't bump the build dependency. Finally fixes #349180.
2190
2191         * gst/gstparse.c: (gst_parse_launch):
2192         Drop the HAVE_MT_SAVE_FLEX #ifdefs as we always use a new enough flex
2193         now anyway.
2194
2195         * docs/gst/Makefile.am:
2196         * docs/gst/Makefile.am:
2197         * gst/parse/grammar.tab.pre.c: (__gst_parse_strdup),
2198         (__gst_parse_strfree), (__gst_parse_link_new),
2199         (__gst_parse_link_free), (__gst_parse_chain_new),
2200         (__gst_parse_chain_free), (SET_ERROR), (YYPRINTF),
2201         (gst_parse_element_set), (gst_parse_free_link),
2202         (gst_parse_found_pad), (gst_parse_perform_delayed_link),
2203         (gst_parse_perform_link), (yytnamerr), (yysyntax_error), (yyerror),
2204         (_gst_parse_launch):
2205         * gst/parse/grammar.tab.pre.h:
2206         * gst/parse/lex._gst_parse_yy.pre.c: (PRINT), (yy_get_next_buffer),
2207         (yy_get_previous_state), (yy_try_NUL_trans), (input),
2208         (_gst_parse_yyrestart), (_gst_parse_yy_switch_to_buffer),
2209         (_gst_parse_yy_load_buffer_state), (_gst_parse_yy_create_buffer),
2210         (_gst_parse_yy_delete_buffer), (_gst_parse_yy_init_buffer),
2211         (_gst_parse_yy_flush_buffer), (_gst_parse_yypush_buffer_state),
2212         (_gst_parse_yypop_buffer_state),
2213         (_gst_parse_yyensure_buffer_stack), (_gst_parse_yy_scan_buffer),
2214         (_gst_parse_yy_scan_string), (_gst_parse_yy_scan_bytes),
2215         (yy_fatal_error), (_gst_parse_yyget_extra),
2216         (_gst_parse_yyget_lineno), (_gst_parse_yyget_column),
2217         (_gst_parse_yyget_in), (_gst_parse_yyget_out),
2218         (_gst_parse_yyget_leng), (_gst_parse_yyget_text),
2219         (_gst_parse_yyset_extra), (_gst_parse_yyset_lineno),
2220         (_gst_parse_yyset_column), (_gst_parse_yyset_in),
2221         (_gst_parse_yyset_out), (_gst_parse_yyget_debug),
2222         (_gst_parse_yyset_debug), (_gst_parse_yyget_lval),
2223         (_gst_parse_yyset_lval), (_gst_parse_yylex_init),
2224         (yy_init_globals), (_gst_parse_yylex_destroy), (yy_flex_strncpy),
2225         (yy_flex_strlen), (_gst_parse_yyalloc), (_gst_parse_yyrealloc),
2226         (_gst_parse_yyfree):
2227         If the installed flex version is too old use pre-generated parser
2228         sources. These pre-generated parser sources are always updated when
2229         the actual flex/bison sources change but require everybody who wants
2230         to change something in the parser to have flex >= 2.5.31 installed.
2231
2232 2007-04-18  Stefan Kost  <ensonic@users.sf.net>
2233
2234         * common/m4/gst-gettext.m4:
2235         * gst/gst-i18n-lib.h:
2236           Make --disable-nls to work
2237
2238 2007-04-17  Wim Taymans  <wim@fluendo.com>
2239
2240         * gst/gstconfig.h.in:
2241         Revert previous change that broke the build.
2242
2243 2007-04-17  Stefan Kost  <ensonic@users.sf.net>
2244
2245         * configure.ac:
2246         * gst/Makefile.am:
2247         * gst/gstconfig.h.in:
2248           Drop libxml2 dependency when building with 
2249           --enable-binary-registry --disable-loadsave
2250
2251 2007-04-16  Tim-Philipp Müller  <tim at centricular dot net>
2252
2253         * gst/gstregistrybinary.c: (gst_registry_binary_write_cache),
2254         (gst_registry_binary_read_cache):
2255         * gst/gstregistrybinary.h:
2256           Remove unnecessary <sys/mman.h> include which broke the win32 build
2257           with MingW; move includes from header file to .c file, even if the
2258           header file isn't installed; use g_strerror() where UTF-8 strings
2259           are expected, such as in GST_DEBUG messages.
2260
2261 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
2262
2263         * docs/libs/gstreamer-libs-sections.txt:
2264         Remove bogus addition for API I didn't end up keeping.
2265
2266         * libs/gst/base/gstbasesrc.h:
2267         Mention Since: 0.10.13 in the documentation.
2268
2269         Add the API keyword to the previous ChangeLog entry.
2270
2271 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
2272
2273         * docs/libs/gstreamer-libs-sections.txt:
2274         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
2275         (gst_base_src_default_prepare_seek_segment),
2276         (gst_base_src_prepare_seek_segment), (gst_base_src_perform_seek):
2277         * libs/gst/base/gstbasesrc.h:
2278         Allow basesrc derived classes to execute seeks in other formats
2279         by providing a prepare_seek_segment vmethod. Sub-classes can choose
2280         to prepare the GstSegment in any format that their perform_seek method
2281         will be able to understand. The default implementation provides the
2282         old behaviour of attempting to convert the seek offsets to the 
2283         configured native format.
2284
2285         API: basesrc::prepare_seek_segment vmethod.
2286
2287 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
2288
2289         * gst/gstelement.c: (gst_element_get_state_func):
2290         Don't output the same debug statement twice.
2291
2292         * libs/gst/base/gstadapter.c: (gst_adapter_try_to_merge_up),
2293         (gst_adapter_peek), (gst_adapter_take_buffer):
2294         Optimise the case where we have buffers at the head of the queue that
2295         can be joined quickly (because they're contiguous sub-buffers) by
2296         merging them together rather than copying data out into new memory.
2297
2298         * gst/parse/grammar.y:
2299         * tests/check/pipelines/parse-launch.c:
2300         Fix a leak in an error path for parse_launch, and add a check 
2301         for it to the testsuite.
2302
2303 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
2304
2305         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_release_pad):
2306           Don't deadlock when releasing a pad - gst_pad_set_active may try
2307           and take the multiqueue lock too.
2308
2309 2007-04-12  Tim-Philipp Müller  <tim at centricular dot net>
2310
2311         * gst/gsterror.c: (_gst_core_errors_init):
2312         * gst/gsterror.h:
2313           API: add GST_CORE_ERROR_DISABLED (#392804).
2314
2315 2007-04-12  Thomas Vander Stichele  <thomas at apestaart dot org>
2316
2317         * docs/faq/gst-uninstalled:
2318           don't get empty paths on the PATH variables
2319         * gst/gstpad.c (gst_pad_is_active, gst_pad_set_blocked_async):
2320           Don't format for the uncommon terminal width of 84 characters.
2321
2322 2007-04-06  Wim Taymans  <wim@fluendo.com>
2323
2324         * gst/gstpipeline.c: (reset_stream_time),
2325         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time):
2326         Only try to select a different pipeline clock when we went back to
2327         PAUSED and not when we merely got flushed.
2328
2329 2007-04-05  Michael Smith  <msmith@fluendo.com>
2330
2331         * tools/gst-launch.1.in:
2332           fractions are better supported in gstreamer than ractions, so
2333           suggest using those.
2334
2335 2007-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
2336
2337         Submitted by: Mogens Jaeger <mogens@jaeger.tf>
2338
2339         * po/LINGUAS:
2340         * po/da.po:
2341           Added Danish translation.
2342
2343 2007-04-05  Wim Taymans  <wim@fluendo.com>
2344
2345         * libs/gst/base/gstbasesink.c:
2346         (gst_base_sink_queue_object_unlocked), (gst_base_sink_event):
2347         Fix leak caused when refusing newsegment after EOS.
2348
2349         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
2350         (gst_fake_sink_init), (gst_fake_sink_set_property),
2351         (gst_fake_sink_get_property), (gst_fake_sink_preroll),
2352         (gst_fake_sink_render), (gst_fake_sink_change_state):
2353         * plugins/elements/gstfakesink.h:
2354         Add num-buffers property to make the element generate EOS after a
2355         configurable amount of buffers.
2356         API: fakesink::num-buffers property.
2357
2358         * tests/check/elements/fakesink.c: (GST_START_TEST),
2359         (fakesink_suite):
2360         Fix GstBus leak in test.
2361         Test for fakesink num-buffers.
2362
2363 2007-04-05  Wim Taymans  <wim@fluendo.com>
2364
2365         * libs/gst/base/gstbasesink.c:
2366         (gst_base_sink_queue_object_unlocked), (gst_base_sink_event),
2367         (gst_base_sink_change_state):
2368         Don't accept anything after an EOS, return UNEXPECTED instead.
2369
2370         * tests/check/elements/fakesink.c: (GST_START_TEST),
2371         (fakesink_suite):
2372         Unit test for new EOS behaviour.
2373
2374 2007-04-05  Wim Taymans  <wim@fluendo.com>
2375
2376         * gst/gstelement.c: (gst_element_get_request_pad):
2377         Make padtemplates also work when they don't contain %s or %d.
2378
2379 2007-04-05  Wim Taymans  <wim@fluendo.com>
2380
2381         * docs/gst/gstreamer-sections.txt:
2382         * gst/gstclock.c: (gst_clock_adjust_unlocked),
2383         (gst_clock_unadjust_unlocked), (gst_clock_set_calibration):
2384         * gst/gstclock.h:
2385         Improve _adjust_unlocked() so that it overflows less.
2386         Add gst_clock_unadjust_unlocked to convert from external time to
2387         internal time based on calibration.
2388         Add some more debug.
2389         API: GstClock::gst_clock_unadjust_unlocked()
2390
2391 2007-04-03  Wim Taymans  <wim@fluendo.com>
2392
2393         Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
2394
2395         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_release_pad):
2396         Deactivate pads and free GstSingleQueue with gst_single_queue_free()
2397         when releasing sink pad. Fixes #425400.
2398
2399 2007-04-02  Stefan Kost  <ensonic@users.sf.net>
2400
2401         * docs/random/ensonic/dynlink.txt:
2402           More work on proposal for new core api.
2403
2404         * docs/libs/gstreamer-libs-sections.txt:
2405         * libs/gst/base/gstbasetransform.h:
2406           API: GST_BASE_TRANSFORM_LOCK/UNLOCK added
2407           
2408         * libs/gst/controller/gstcontroller.c:
2409         (on_object_controlled_property_changed),
2410         (gst_controller_sync_values),
2411         (gst_controller_set_interpolation_mode):
2412         * libs/gst/controller/gstcontroller.h:
2413           Less verbose logging add docs for unimplemented parts and correctly
2414           return when using unavailable parts.
2415
2416 2007-03-29  Jan Schmidt  <thaytan@mad.scientist.com>
2417
2418         * gst/gstclock.c: (gst_clock_set_master), (do_linear_regression):
2419         Move all the debug to the CLOCK category, and associate it with
2420         the clock object.
2421
2422 2007-03-29  Jan Schmidt  <thaytan@mad.scientist.com>
2423
2424         * libs/gst/base/gstadapter.c: (gst_adapter_take_buffer):
2425         Make take_buffer a bit quicker by removing redundant checks
2426         caused by calling gst_adapter_take.
2427
2428 2007-03-28  Tim-Philipp Müller  <tim at centricular dot net>
2429
2430         * plugins/elements/gstmultiqueue.c: (gst_single_queue_free):
2431           Don't leak GCond.
2432
2433         * tests/check/Makefile.am:
2434         * tests/check/elements/.cvsignore:
2435         * tests/check/elements/multiqueue.c: (setup_multiqueue),
2436         (GST_START_TEST), (multiqueue_suite):
2437           Add some dead simple unit tests for the 'multiqueue' element
2438           (some bits don't work yet and are disabled for now).
2439
2440 2007-03-28  Tim-Philipp Müller  <tim at centricular dot net>
2441
2442         * gst/gstelement.c: (gst_element_get_request_pad),
2443         (gst_element_class_get_request_pad_template):
2444           Make gst_element_get_request_pad() create request pads only for
2445           request pad templates and not for, say, sometimes pad templates.
2446
2447 2007-03-28  Stefan Kost  <ensonic@users.sf.net>
2448
2449         * docs/design/draft-klass.txt:
2450           Add example that needs more thinking.
2451         
2452         * docs/design/draft-missing-plugins.txt:
2453           More thoughts about wrapper plugins.
2454         
2455         * docs/random/ensonic/embedded.txt:
2456         * docs/random/ensonic/profiling.txt:
2457           More design work.
2458
2459 2007-03-25  Wim Taymans  <wim@fluendo.com>
2460
2461         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range),
2462         (gst_base_src_loop):
2463         Only push the segment events in the PLAYING state for live sources.
2464
2465 2007-03-23  Jan Schmidt  <thaytan@mad.scientist.com>
2466
2467         * gst/gstpipeline.c: (gst_pipeline_change_state):
2468         Modify the clock distribution path in PAUSED->PLAYING so that we 
2469         never attempt to choose a new clock unless we're actually leaving
2470         the PAUSED state for the first time. This prevents choosing a
2471         different clock when the state_change gets called for a 2nd time due
2472         to some element doing an async state change.
2473
2474 2007-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
2475
2476         * gst/gstpad.c: (gst_pad_set_caps), (gst_pad_configure_sink),
2477         (gst_pad_configure_src), (gst_pad_alloc_buffer_full),
2478         (gst_pad_chain_unchecked), (gst_pad_push):
2479         Revert last commit. This needs some more thoughts.
2480
2481 2007-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
2482
2483         * gst/gstpad.c: (gst_pad_set_caps), (gst_pad_alloc_buffer_full),
2484         (gst_pad_chain_unchecked), (gst_pad_push):
2485         Check in set_caps if the caps are compatible with the pad and remove
2486         two functions that are redundant now. Fixes #421543.
2487
2488 2007-03-22  Wim Taymans  <wim@fluendo.com>
2489
2490         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
2491         (mixed_thread), (mixed_async_cb), (gst_systemclock_suite):
2492         Unref some more to make valgrind happy.
2493
2494 2007-03-22  Wim Taymans  <wim@fluendo.com>
2495
2496         * gst/gstsystemclock.c: (gst_system_clock_id_wait_jitter_unlocked),
2497         (gst_system_clock_id_wait_jitter),
2498         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
2499         Fix anoying regression that survived a few releases. When adding an
2500         async entry while blocking on a sync entry, the sync entry will unblock
2501         but still be busy, so it should continue to wait instead of returning
2502         _BUSY to the app.
2503         Add some comments here and there.
2504
2505         * tests/check/gst/gstsystemclock.c: (mixed_thread),
2506         (mixed_async_cb), (GST_START_TEST), (gst_systemclock_suite):
2507         Add testcase for this.
2508
2509 2007-03-22  Wim Taymans  <wim@fluendo.com>
2510
2511         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
2512         Handle errors from the clock sync better, only UNSCHEDULED indicates a
2513         WRONG_STATE and can silently pause the task. All other cases should
2514         error out.
2515
2516 2007-03-22  Wim Taymans  <wim@fluendo.com>
2517
2518         Patch by: Ville Syrjala <syrjala at sci dot fi>
2519
2520         * gst/gstpad.c: (gst_pad_alloc_buffer_full), (gst_pad_send_event):
2521         Fix possible deadlock if pad eventfunc is not specified.  Fixes #421177.
2522         Improve debugging.
2523
2524 2007-03-21  Michael Smith  <msmith@fluendo.com>
2525
2526         * docs/pwg/advanced-types.xml:
2527           Fix some errors in the typefinding docs pointed out on irc.
2528
2529 2007-03-21  Jan Schmidt  <thaytan@mad.scientist.com>
2530
2531         * libs/gst/base/gstbasesrc.c:
2532         Clarify FIXME comment in the face of having added unlock_stop()
2533
2534 2007-03-21  Wim Taymans  <wim@fluendo.com>
2535
2536         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_element_set_state):
2537         Prepare for release where we warn against possible app breakage in the
2538         case of live pipelines along with an env var to enable/disable live
2539         preroll mode (GST_COMPAT=[no-]live-preroll).
2540
2541 2007-03-20  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
2542
2543         * plugins/elements/gstidentity.c (gst_identity_check_imperfect_offset):
2544         So we should use correct constants for checking for None offset.
2545
2546 2007-03-20  Wim Taymans  <wim@fluendo.com>
2547
2548         * docs/design/part-block.txt:
2549         Mention the fact that the newly switched element should be set to at
2550         least PAUSED.
2551
2552 2007-03-20  Wim Taymans  <wim@fluendo.com>
2553
2554         * gst/gst.c:
2555         Fix compilation with registry disabled as spotted by Saur.
2556
2557 2007-03-20  Wim Taymans  <wim@fluendo.com>
2558
2559         Patch by: Olivier Crete <tester at tester dot ca>
2560
2561         * gst/gstelement.c: (gst_element_sync_state_with_parent):
2562         Look at the pending state too when syncing the element state to the
2563         parent. Fixes #420133.
2564
2565 2007-03-19  Jan Schmidt  <thaytan@mad.scientist.com>
2566
2567         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
2568         (gst_base_sink_change_state):
2569         * libs/gst/base/gstbasesink.h:
2570         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
2571         (gst_base_src_default_event), (gst_base_src_unlock_stop),
2572         (gst_base_src_deactivate):
2573         * libs/gst/base/gstbasesrc.h:
2574         Add ::unlock_stop to basesrc and basesink. This allows an opportunity
2575         for sub-classes to correctly clear any state they set trying to
2576         unlock, such as clearing out unlock commands from a command fd.
2577         API: basesrc::unlock_stop
2578         API: basesink::unlock_stop
2579
2580         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init),
2581         (gst_fd_sink_render), (gst_fd_sink_unlock),
2582         (gst_fd_sink_unlock_stop):
2583         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init),
2584         (gst_fd_src_init), (gst_fd_src_unlock), (gst_fd_src_unlock_stop),
2585         (gst_fd_src_create), (gst_fd_src_get_size), (gst_fd_src_do_seek):
2586
2587         Implement unlock_stop in fdsrc and fdsink.
2588         Implement seeking in fdsrc when a seekable fd is passed, as in
2589         gst-launch-0.10 fdsrc ! ... ! xvimagesink < /path/to/file
2590
2591 2007-03-19  Wim Taymans  <wim@fluendo.com>
2592
2593         Patch by: Evan Nemerson <evan at coeus dash group dot com>
2594
2595         * gst/gstelement.c: (gst_element_class_init):
2596         Fix pad-added and pad-removed signal signatures so that the pad type is
2597         stated as GST_TYPE_PAD instead of G_TYPE_OBJECT. Fixes #419851.
2598
2599 2007-03-19  Wim Taymans  <wim@fluendo.com>
2600
2601         * docs/gst/gstreamer-sections.txt:
2602         Add new element field and method.
2603
2604         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
2605         (bin_remove_messages), (gst_bin_add_func), (gst_bin_remove_func),
2606         (gst_bin_recalc_state), (gst_bin_get_state_func),
2607         (gst_bin_element_set_state), (gst_bin_change_state_func),
2608         (gst_bin_continue_func), (bin_bus_handler),
2609         (bin_push_state_continue), (bin_handle_async_start),
2610         (bin_handle_async_done), (gst_bin_handle_message_func):
2611         Make async state changes a bit smarter by using new ASYNC_START and
2612         ASYNC_DONE messages. This reduces the number of times we run the state
2613         recalculation thread.
2614         Don't change state of element with a pending ASYNC_START message.
2615         Deprecate STATE_DIRTY messages.
2616         
2617         * gst/gstelement.c: (gst_element_init), (gst_element_send_event),
2618         (gst_element_get_state_func), (gst_element_continue_state),
2619         (gst_element_lost_state), (gst_element_set_state_func),
2620         (gst_element_change_state):
2621         * gst/gstelement.h:
2622         Keep the state that was last set by the app in a new element field.
2623         Don't allow state changes when handling an element event.
2624         Post ASYNC_START and ASYNC_DONE messages.
2625         Change lost_state so that we go to PAUSED and wait for the parent to set
2626         us to PLAYING again (so latency calculation can be performed)
2627         Export gst_element_change_state() method so that subclasses can use it.
2628         API: gst_element_change_state()
2629         API: GST_STATE_TARGET
2630
2631         * gst/gstpipeline.c: (gst_pipeline_class_init),
2632         (reset_stream_time), (gst_pipeline_change_state),
2633         (gst_pipeline_handle_message), (gst_pipeline_set_new_stream_time):
2634         Using the new ASYNC_START message we can reset the base_time when
2635         needed. This can then be used to implement base_time redistribution in
2636         flushing seeks so that we can remove the explicit seek handling.
2637         Perform latency query and configuration when going to PLAYING.
2638
2639         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
2640         (gst_base_sink_query), (gst_base_sink_change_state):
2641         Post new ASYNC_START/ASYNC_DONE messages.
2642
2643         * tests/check/generic/sinks.c: (GST_START_TEST):
2644         Fix test because the bin will not set the async element to PLAYING right
2645         away.
2646
2647         * tests/check/gst/gstbin.c: (pop_async_done), (GST_START_TEST):
2648         Make the message check a little stronger.
2649         Handle ASYNC messages.
2650
2651         * tests/check/pipelines/cleanup.c: (GST_START_TEST):
2652         * tests/check/pipelines/simple-launch-lines.c: (GST_START_TEST):
2653         Expect ASYNC_DONE messages.
2654
2655 2007-03-19  Wim Taymans  <wim@fluendo.com>
2656
2657         * docs/gst/gstreamer-sections.txt:
2658         * gst/gstmessage.c: (gst_message_new_async_start),
2659         (gst_message_new_async_done), (gst_message_parse_info),
2660         (gst_message_parse_async_start):
2661         * gst/gstmessage.h:
2662         Add ASYNC_START and ASYNC_DONE messages to prepare for latency
2663         support.
2664
2665 2007-03-15  Tim-Philipp Müller  <tim at centricular dot net>
2666
2667         * tools/gst-inspect.c:
2668         (print_plugin_automatic_install_info_codecs):
2669           Now that we don't check for the 'Codec' keyword any longer in the
2670           klass, we shouldn't spew a warning if the klass isn't a decoder or
2671           encoder (since it might be a Source/Network, for example).
2672
2673 2007-03-14  Tim-Philipp Müller  <tim at centricular dot net>
2674
2675         * tools/gst-inspect.c:
2676         (print_plugin_automatic_install_info_codecs):
2677           Don't require decoder/demuxer/depayloader elements or
2678           encoder/muxer/paylader elements to have 'Codec' as part of their
2679           factory class string when introspecting a plugin's capabilities.
2680           draft-klass.txt mentions that it might be removed in future, and
2681           flump3dec doesn't have it as part of its class string, so chances
2682           are others might also not have it.
2683
2684 2007-03-14  Thomas Vander Stichele  <thomas at apestaart dot org>
2685
2686         * po/af.po:
2687         * po/az.po:
2688         * po/bg.po:
2689         * po/ca.po:
2690         * po/cs.po:
2691         * po/de.po:
2692         * po/en_GB.po:
2693         * po/fr.po:
2694         * po/it.po:
2695         * po/nb.po:
2696         * po/nl.po:
2697         * po/ru.po:
2698         * po/sq.po:
2699         * po/sr.po:
2700         * po/sv.po:
2701         * po/tr.po:
2702         * po/uk.po:
2703         * po/vi.po:
2704         * po/zh_CN.po:
2705         * po/zh_TW.po:
2706           Update translations from translation project
2707
2708 2007-03-14  Stefan Kost  <ensonic@users.sf.net>
2709
2710         * gst/gstchildproxy.c: (gst_child_proxy_get_property),
2711         (gst_child_proxy_set_property):
2712           Invert precondition check to be alike the ones in the mimiced gobject
2713           api.
2714
2715 2007-03-13  Stefan Kost  <ensonic@users.sf.net>
2716
2717         * docs/design/draft-tagreading.txt:
2718         * docs/random/ensonic/audiobaseclasses.txt:
2719           Do some Architect work.
2720
2721         * gst/gstobject.c: (gst_object_set_name):
2722           Add a WARNING.
2723
2724         * gst/gstpad.c:
2725           Add docs that point from gst_pad_get_range to gst_pad_pull_range
2726
2727 2007-03-12  Jan Schmidt  <thaytan@mad.scientist.com>
2728
2729         * gst/gstsystemclock.c: (gst_system_clock_init),
2730         (gst_system_clock_start_async), (gst_system_clock_id_wait_async):
2731         Defer starting the async system clock thread until the first async
2732         wait is scheduled. Fixes #414986.
2733
2734 2007-03-12  Tim-Philipp Müller  <tim at centricular dot net>
2735
2736         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_finalize),
2737         (gst_single_queue_free):
2738           Fix small leak (free GstSingleQueue structure too, not only contents).
2739
2740 2007-03-10  Sebastien Moutte  <sebastien@moutte.net>
2741
2742         * gst/gstbin.c:(gst_bin_add):
2743         Use GST_STR_NULL to prevent NULL pointer to be passed to GST_CAT_DEBUG.
2744         * win32/common/libgstbase.def:
2745         * win32/common/libgstreamer.def:
2746         Add new exported functions.
2747
2748 2007-03-09  Wim Taymans  <wim@fluendo.com>
2749
2750         * docs/plugins/gstreamer-plugins-sections.txt:
2751         Fix GstTee docs.
2752
2753 2007-03-09  Wim Taymans  <wim@fluendo.com>
2754
2755         * docs/gst/gstreamer-sections.txt:
2756         * gst/gstbuffer.c: (gst_buffer_copy_metadata), (_gst_buffer_copy):
2757         * gst/gstbuffer.h:
2758         Add metadata copy functions. Fixes #393099.
2759         API: gst_buffer_copy_metadata()
2760
2761         * gst/gstutils.c: (gst_buffer_stamp):
2762         * libs/gst/base/gstbasetransform.c:
2763         (gst_base_transform_prepare_output_buffer):
2764         Use new metadata copy functions.
2765
2766 2007-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
2767
2768         * plugins/elements/gstidentity.c: (gst_identity_class_init),
2769         (gst_identity_init), (gst_identity_check_perfect),
2770         (gst_identity_check_imperfect_timestamp),
2771         (gst_identity_check_imperfect_offset), (gst_identity_transform_ip),
2772         (gst_identity_set_property), (gst_identity_get_property):
2773         * plugins/elements/gstidentity.h:
2774         Separate out check-imperfect-timestamp and check-imperfect-offset.
2775         Put back check-perfect as it was to keep compatibility.
2776
2777 2007-03-09  Jan Schmidt  <thaytan@mad.scientist.com>
2778
2779         * gst/gstelement.c: (gst_element_dispose):
2780         There's no need to warn if VOID_PENDING is not NONE here, as
2781         long as the state is NULL it's ok, and that's checked immediately
2782         above.
2783
2784 2007-03-08  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
2785
2786         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
2787         Fix check for perfect stream to ignore buffers with -1 
2788         offsets/offset ends when checking data contiguity.
2789
2790 2007-03-08  Wim Taymans  <wim@fluendo.com>
2791
2792         * tools/gst-launch.c: (event_loop):
2793         Print INFO messages.
2794
2795 2007-03-08  Wim Taymans  <wim@fluendo.com>
2796
2797         * libs/gst/base/gstbasetransform.c:
2798         (gst_base_transform_sink_eventfunc),
2799         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
2800         (gst_base_transform_activate):
2801         * libs/gst/base/gstbasetransform.h:
2802         Add support for dropping buffers with custom GstFlowReturn.
2803         Set DISCONT flags on outgoing buffers based on QoS, incomming DISCONT
2804         buffers or dropped buffers.
2805
2806         * docs/libs/gstreamer-libs-sections.txt:
2807         docs for new custom return code.
2808
2809         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
2810         Use drop support in base class to implement drop-probability.
2811
2812 2007-03-07  Tim-Philipp Müller  <tim at centricular dot net>
2813
2814         * gst/gst.c: (load_plugin_func):
2815         * gst/gstplugin.c: (gst_plugin_load_by_name), (gst_plugin_load):
2816         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
2817         * gst/gsttrace.c: (gst_trace_new), (gst_alloc_trace_set_flags_all):
2818           Remove newlines at end of debug log strings.
2819
2820 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
2821
2822         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
2823         Only post bus message at max, once per buffer received.
2824
2825 2007-03-07  Wim Taymans  <wim@fluendo.com>
2826
2827         * docs/design/Makefile.am:
2828         * docs/design/part-synchronisation.txt:
2829         Add doc about synchronisation
2830
2831         * docs/design/draft-latency.txt:
2832         * docs/design/part-TODO.txt:
2833         * docs/design/part-clocks.txt:
2834         * docs/design/part-events.txt:
2835         * docs/design/part-gstbus.txt:
2836         * docs/design/part-gstpipeline.txt:
2837         * docs/design/part-live-source.txt:
2838         * docs/design/part-messages.txt:
2839         * docs/design/part-overview.txt:
2840         * docs/design/part-streams.txt:
2841         * docs/design/part-trickmodes.txt:
2842         Documentation updates.
2843
2844 2007-03-07  Jan Schmidt  <thaytan@mad.scientist.com>
2845
2846         * gstreamer.doap:
2847         Update the doap file.
2848
2849 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
2850
2851         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
2852         Rename non-perfect to imperfect for Mike and for the sanctity of the
2853         language.
2854         Also make sure bus message gets emitted for data-incontiguities.
2855
2856 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
2857
2858         * plugins/elements/gstidentity.c: (gst_identity_check_perfect),
2859         (gst_identity_start):
2860         * plugins/elements/gstidentity.h:
2861         Emit bus message if check-perfect is true and we encounter a
2862         non-perfect stream between 2 consecutive buffers.
2863         Fixes #415394.
2864
2865 2007-03-07  Jan Schmidt  <thaytan@mad.scientist.com>
2866
2867         * configure.ac:
2868         Back to CVS
2869
2870 === release 0.10.12 ===
2871
2872 2007-03-07  Jan Schmidt <thaytan@mad.scientist.com>
2873
2874         * configure.ac:
2875           releasing 0.10.12, "Inevitable Demise"
2876
2877 2007-03-01  Jan Schmidt  <thaytan@mad.scientist.com>
2878
2879         * configure.ac:
2880          Version 0.10.11.2 (0.10.12 pre-release)
2881          Bump libtool versioning.
2882
2883 2007-03-01  Stefan Kost  <ensonic@users.sf.net>
2884
2885         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
2886           Log flow-names and not numbers.
2887
2888 2007-02-28  Thomas Vander Stichele  <thomas at apestaart dot org>
2889
2890         * configure.ac:
2891           Convert to new AG_GST style.
2892
2893 2007-02-28  Wim Taymans  <wim@fluendo.com>
2894
2895         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency):
2896         Don't unref query twice.
2897
2898 2007-02-28  Wim Taymans  <wim@fluendo.com>
2899
2900         * gst/gstvalue.c: (gst_value_transform_object_string),
2901         (_gst_value_initialize):
2902         Implement GstObject -> string transform so we print object names
2903         when serializing GValues containing GstObjects.
2904
2905 2007-02-28  Wim Taymans  <wim@fluendo.com>
2906
2907         * docs/gst/gstreamer-sections.txt:
2908         Add new stuff to docs.
2909
2910 2007-02-28  Wim Taymans  <wim@fluendo.com>
2911
2912         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
2913         (gst_base_sink_queue_object_unlocked), (gst_base_sink_send_event),
2914         (gst_base_sink_change_state):
2915         Improve latency query code.
2916         Don't leak latency events.
2917
2918         * tests/check/gst/gstbin.c: (GST_START_TEST):
2919         Improve debugging.
2920
2921 2007-02-28  Wim Taymans  <wim@fluendo.com>
2922
2923         * gst/gstelement.c: (gst_element_message_full),
2924         (gst_element_get_state_func):
2925         * gst/gstelement.h:
2926         Improve docs a little. Added Since: for new macro.
2927
2928         * gst/gstobject.c: (gst_object_sink):
2929         * gst/gstpipeline.c: (gst_pipeline_change_state),
2930         (gst_pipeline_set_new_stream_time):
2931         * gst/gstpipeline.h:
2932         Improve debugging and docs.
2933
2934         * gst/gstutils.c: (gst_element_state_change_return_get_name):
2935         Improve debugging.
2936
2937 2007-02-28  Wim Taymans  <wim@fluendo.com>
2938
2939         * gst/gstelement.c: (gst_element_message_full),
2940         (gst_element_set_locked_state), (gst_element_get_state_func),
2941         (gst_element_change_state):
2942         Handle INFO messages from the GST_ELEMENT_INFO macro as well.
2943         Documentation updates.
2944         Small code cleanups.
2945
2946         * gst/gstmessage.c: (gst_message_new_info),
2947         (gst_message_parse_info):
2948         * gst/gstmessage.h:
2949         API: gst_message_new_info()
2950         API: gst_message_parse_info()
2951         Add INFO message create and parse code.
2952
2953 2007-02-28  Wim Taymans  <wim@fluendo.com>
2954
2955         * gst/gstbin.c: (bin_query_min_max_init), (bin_query_latency_fold),
2956         (bin_query_latency_done):
2957         Also report the live parameter of a latency query.
2958
2959 2007-02-28  Thomas Vander Stichele  <thomas at apestaart dot org>
2960
2961         * tests/check/generic/states.c: (GST_START_TEST), (states_suite):
2962           Copy the current generic/states example from -base and adapt so
2963           we can use the exact same code everywhere.
2964           Check a STATES_IGNORE_ELEMENTS env var which can be used
2965           to ignore certain element factories for this test, which is
2966           what is being done in -base
2967         * tests/check/Makefile.am:
2968           Mention this environment variable.
2969
2970 2007-02-27  Wim Taymans  <wim@fluendo.com>
2971
2972         * docs/gst/gstreamer-sections.txt:
2973         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
2974         (gst_bus_timed_pop), (gst_bus_pop):
2975         * gst/gstbus.h:
2976         API: gst_bus_timed_pop()
2977         Implement gst_bus_timed_pop() to do a blocking timed wait for a
2978         message to arrive on the bus.
2979
2980         * tests/check/gst/gstbus.c: (GST_START_TEST), (pop_thread),
2981         (gst_bus_suite):
2982         Two unit tests for new _timed_pop() function.
2983
2984 2007-02-23  Wim Taymans  <wim@fluendo.com>
2985
2986         * gst/gstpipeline.c: (gst_pipeline_change_state),
2987         (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay):
2988         Don't ref a NULL clock in _provide_clock_func().
2989         Don't allow an INVALID delay.
2990         Don't try to calculate base_time with an invalid start_time.
2991         Also distribute and notify a NULL clock when it was selected.
2992
2993         * tools/gst-launch.c: (event_loop):
2994         Don't crash when a NULL clock was selected in the pipeline.
2995
2996 2007-02-23  Tim-Philipp Müller  <tim at centricular dot net>
2997
2998         * docs/design/Makefile.am:
2999         * docs/design/draft-missing-plugins.txt:
3000         * docs/random/draft-missing-plugins.txt:
3001           Some small updates: update plugin system identifier prefix
3002           ('gstreamer.net' to 'gstreamer'), mention our new install
3003           API in libgstbaseutils rather than libgimme-codec, add
3004           reference to the online docs.
3005
3006 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
3007
3008         * win32/common/config.h:
3009           Pretty sure Bill never made a powerpc version.  Powerpc hackers,
3010           use moap cl ci to only check in what is mentioned in the ChangeLog.
3011
3012 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
3013
3014         * docs/gst/gstreamer-sections.txt:
3015         * gst/gstelement.h:
3016           Fix up documentation to link to the correct GstGError section.
3017           Add GST_ELEMENT_INFO macro since someone else added a Info message.
3018
3019 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
3020
3021         * tools/gst-launch.c: (event_loop):
3022           Make sure that we actually show the important message part of a
3023           warning message.
3024           No need to check if the gerror is not NULL to free; first of all
3025           g_free accepts NULL; and second the default error handler would
3026           segfault if gerror was NULL.
3027
3028 2007-02-21  Wim Taymans  <wim@fluendo.com>
3029
3030         * docs/gst/gstreamer-sections.txt:
3031         Removed docs as well.
3032
3033 2007-02-21  Wim Taymans  <wim@fluendo.com>
3034
3035         * gst/gstmessage.c: (gst_message_parse_duration):
3036         * gst/gstmessage.h:
3037         Remove new messages for release.
3038
3039 2007-02-20  Wim Taymans  <wim@fluendo.com>
3040
3041         * docs/design/part-gstghostpad.txt:
3042         * gst/gstghostpad.c: (gst_ghost_pad_dispose),
3043         (gst_ghost_pad_new_full):
3044         Make the ghostpad a parent of the internal pad again for better backward
3045         compatibility. Don't write code that relies on this however.
3046
3047         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
3048         (gst_pad_link_check_hierarchy):
3049         Require that parents should be GstElements in the hierarchy check.
3050
3051 2007-02-20  Wim Taymans  <wim@fluendo.com>
3052
3053         * gst/gstbin.c: (bin_replace_message), (gst_bin_add_func),
3054         (gst_bin_change_state_func), (bin_query_min_max_init),
3055         (bin_query_latency_fold), (bin_query_latency_done),
3056         (gst_bin_query):
3057         Improve debug info.
3058         Implement latency query.
3059
3060 2007-02-20  Wim Taymans  <wim@fluendo.com>
3061
3062         * docs/design/part-gstghostpad.txt:
3063         * gst/gstghostpad.c: (gst_ghost_pad_class_init),
3064         (gst_ghost_pad_internal_do_activate_push),
3065         (gst_ghost_pad_internal_do_activate_pull),
3066         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
3067         (gst_ghost_pad_do_link), (gst_ghost_pad_dispose),
3068         (gst_ghost_pad_new_full), (gst_ghost_pad_set_target):
3069         Do not set the internal pad as a parent anymore so we can avoid
3070         hierarchy linking errors when the ghostpad has no parent yet. This also
3071         fixes failed activation because of unlinked internal pads, which in
3072         turn fixes the impossible case where you have to activate a pad before
3073         you can add it to a running element.
3074         Also fix the docs.
3075
3076         * gst/gstpad.c: (pre_activate), (post_activate),
3077         (gst_pad_set_active), (gst_pad_activate_pull),
3078         (gst_pad_activate_push), (gst_pad_check_pull_range):
3079         Add some more debug info.
3080         Mark activation mode in pre_activate so that we don't try to activate in
3081         endless loops. Fixes #385084.
3082
3083 2007-02-19  Wim Taymans  <wim@fluendo.com>
3084
3085         * libs/gst/base/gstbasetransform.c: (gst_base_transform_init),
3086         (gst_base_transform_check_get_range):
3087         Implement a checkgetrange function instead of relying on the default
3088         core behaviour that assumes we can operate in pull mode if we have a
3089         getrange function. First step at fixing #385084.
3090
3091 2007-02-15  Stefan Kost  <ensonic@users.sf.net>
3092
3093         * gst/gstchildproxy.h:
3094         * libs/gst/base/gstbasesink.h:
3095         * libs/gst/base/gstbasesrc.h:
3096         * libs/gst/base/gstbasetransform.h:
3097         More docs coverage and some ChangeLog surgery (add missing names)
3098
3099 2007-02-15  Wim Taymans  <wim@fluendo.com>
3100
3101         * docs/design/part-TODO.txt:
3102         * docs/design/part-activation.txt:
3103         * docs/design/part-block.txt:
3104         * docs/design/part-buffering.txt:
3105         * docs/design/part-clocks.txt:
3106         * docs/design/part-element-source.txt:
3107         * docs/design/part-events.txt:
3108         * docs/design/part-gstbin.txt:
3109         * docs/design/part-gstbus.txt:
3110         * docs/design/part-gstpipeline.txt:
3111         * docs/design/part-live-source.txt:
3112         * docs/design/part-messages.txt:
3113         * docs/design/part-overview.txt:
3114         * docs/design/part-qos.txt:
3115         * docs/design/part-query.txt:
3116         * docs/design/part-states.txt:
3117         * docs/design/part-trickmodes.txt:
3118         Some doc updates. Start renaming from stream_time to running_time where
3119         it was used wrongly.
3120
3121 2007-02-15  Wim Taymans  <wim@fluendo.com>
3122
3123         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
3124         Answer LATENCY query.
3125
3126 2007-02-15  Wim Taymans  <wim@fluendo.com>
3127
3128         * tests/check/gst/gstevent.c: (event_probe), (test_event),
3129         (GST_START_TEST):
3130         Improve debugging.
3131
3132 2007-02-15  Wim Taymans  <wim@fluendo.com>
3133
3134         * gst/gstpad.c: (gst_pad_get_internal_links_default),
3135         (gst_pad_dispatcher):
3136         Improve debugging of default pad dispatcher and query functions.
3137
3138 2007-02-15  Wim Taymans  <wim@fluendo.com>
3139
3140         * docs/gst/gstreamer-sections.txt:
3141         Remove old unused method.
3142
3143 2007-02-13  Wim Taymans  <wim@fluendo.com>
3144
3145         * tests/check/gst/gstsegment.c: (GST_START_TEST):
3146         Fix check
3147
3148 2007-02-13  Wim Taymans  <wim@fluendo.com>
3149
3150         * docs/design/part-seeking.txt:
3151         Some small update.
3152
3153         * gst/gstsegment.c: (gst_segment_set_seek):
3154         Revert old bogus change that should make seeking work again.
3155
3156 2007-02-13  Stefan Kost  <ensonic@users.sf.net>
3157
3158         * docs/random/ensonic/dynlink.txt:
3159         * docs/random/ensonic/interfaces.txt:
3160         * docs/random/ensonic/receipies.txt:
3161           Possible dynamic reconnection api, plus some type fixes the other two
3162           docs.
3163
3164 2007-02-13  Sebastian Dröge  <slomo@circular-chaos.org>
3165
3166         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
3167         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
3168         Also check for an absolute path following file:// in the filesrc
3169         element. Remove redundant check and call g_path_is_absolute() on the
3170         unescaped location.
3171
3172 2007-02-13  Stefan Kost  <ensonic@users.sf.net>
3173
3174         * docs/design/draft-klass.txt:
3175           Add existing category analysis.
3176           
3177         * gst/gstcaps.c:
3178           Fix doc example, framerate is a fraction.
3179
3180 2007-02-12  Stefan Kost  <ensonic@users.sf.net>
3181
3182         * configure.ac:
3183         * docs/gst/Makefile.am:
3184         * docs/gst/gstreamer-sections.txt:
3185         * docs/libs/Makefile.am:
3186           Erm, forgot a bunch of --extra-dir.
3187
3188 2007-02-12  Stefan Kost  <ensonic@users.sf.net>
3189
3190         * configure.ac:
3191         * docs/gst/Makefile.am:
3192         * docs/libs/Makefile.am:
3193         * docs/plugins/Makefile.am:
3194           Add crossreferences to glib/gobject docs.
3195
3196 2007-02-12  Wim Taymans  <wim@fluendo.com>
3197
3198         * docs/design/draft-latency.txt:
3199         Small update.
3200
3201         * docs/libs/gstreamer-libs-sections.txt:
3202         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
3203         (gst_base_sink_get_latency), (gst_base_sink_query_latency),
3204         (gst_base_sink_wait_clock), (gst_base_sink_send_qos),
3205         (gst_base_sink_perform_qos), (gst_base_sink_queue_object_unlocked),
3206         (gst_base_sink_chain_unlocked), (gst_base_sink_send_event),
3207         (gst_base_sink_get_position), (gst_base_sink_query),
3208         (gst_base_sink_change_state):
3209         * libs/gst/base/gstbasesink.h:
3210         API: gst_base_sink_query_latency() to let subclasses query the upstream
3211         latency.
3212         API: gst_base_sink_get_latency() to let subclasses query the configured
3213         latency in the sink.
3214         Implement query and set latency.
3215         Update some docs.
3216         As spotted by Will Newton <will dot newton at gmail dot com>: Make sure we
3217         don't continue preroll when we are flushing. Fixes #405284.
3218
3219         * tests/check/pipelines/stress.c: (change_state_timeout),
3220         (quit_timeout), (GST_START_TEST), (stress_suite):
3221         Test for #405284.
3222
3223 2007-02-09  Tim-Philipp Müller  <tim at centricular dot net>
3224
3225         Patch by: René Stadler <mail at renestadler de>
3226
3227         * docs/gst/gstreamer-sections.txt:
3228         * gst/gsttaglist.c: (_gst_tag_initialize):
3229         * gst/gsttaglist.h:
3230           API: add GST_TAG_REFERENCE_LEVEL (#403597).
3231
3232 2007-02-11  Stefan Kost  <ensonic@users.sf.net>
3233
3234         * docs/libs/Makefile.am:
3235           Fix path to core docs.
3236
3237         * gst/gstbin.c: (gst_bin_get_by_interface),
3238         (gst_bin_iterate_all_by_interface):
3239           Refix docs by also renaming 'interface' to 'iface' in implementation.
3240
3241         * docs/gst/gstreamer-sections.txt:
3242         * gst/gstcaps.c:
3243         * gst/gstchildproxy.c: (gst_child_proxy_base_init):
3244         * gst/gstchildproxy.h:
3245         * gst/gstelementfactory.c:
3246         * gst/gstpadtemplate.h:
3247         * libs/gst/controller/gstcontroller.c:
3248         (gst_controlled_property_new):
3249           Document more.
3250
3251 2007-02-10  Sébastien Moutte  <sebastien@moutte.net>
3252
3253         * gst/gstbin.h:(gst_bin_get_by_interface),
3254         (gst_bin_iterate_all_by_interface):
3255         Replace interface parameter name by iface as interface is 
3256         a reserved keyword in Visual Studio for C++ projects so it removes
3257         a build error for application developpers using VS.
3258         * plugins/elements/gstfilesrc.c:(gst_file_src_uri_set_uri):
3259         Fix a bug on Windows in uri format check. Now the prefix checked
3260         is file:// and next we check if the path after file:// is absolute.
3261         * win32/common/libgstbase.def:
3262         * win32/common/libgstdataprotocol.def:
3263         * win32/common/libgstgstreamer.def:
3264         Add new exported functions.
3265
3266 2007-02-09  Andy Wingo  <wingo@pobox.com>
3267
3268         * tests/check/pipelines/simple-launch-lines.c
3269         (simple_launch_lines_suite, test_tee): Disable tee test until I
3270         have time to fix it :-(
3271
3272         * tests/check/Makefile.am (noinst_HEADERS): 
3273         * tests/check/libs/libsabi.c: 
3274         * tests/check/libs/struct_ppc32.h: Add ABI checks for PPC32.
3275         * tests/check/gst/gstabi.c: 
3276         * tests/check/gst/struct_ppc32.h: Add ABI checks for PPC32.
3277
3278         * tests/check/pipelines/simple-launch-lines.c (test_tee): Add
3279         tests for push and pull tee behavior.
3280
3281         * plugins/elements/gsttee.h: 
3282         * plugins/elements/gsttee.c: Describe has-sink-loop better, and
3283         mark as deprecated as well as unimplemented. It was a crack idea.
3284         Add support for tee operating in pull mode, off by default.
3285
3286         * gst/gstregistryxml.c (load_feature, load_plugin): Drop some
3287         normal-case logs down to LOG, raise errors to WARNING.
3288         (gst_registry_xml_read_cache): Don't log before calling a function
3289         that logs.
3290
3291         * gst/gstregistry.c (gst_registry_finalize): Less debug on program
3292         exit (registry finalize).
3293         (gst_registry_add_plugin, gst_registry_add_feature): No need for a
3294         DEBUG log when we emit signals that people don't even have the
3295         chance to connect to.
3296         (gst_registry_scan_path_level): Less logging in the normal case.
3297
3298 2007-02-05  Sebastian Dröge  <slomo@circular-chaos.org>
3299
3300         Patch by: Michal Benes <michal dot benes at itonis dot tv>
3301
3302         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
3303         Correctly generate EOS for non-seekable files. We don't have a total
3304         length for them and would get an unexpected end of file if we only
3305         special-cased for regular files. (Fixes: #404569)
3306
3307 2007-02-05  Sebastian Dröge  <slomo@circular-chaos.org>
3308
3309         * tests/check/elements/filesrc.c: (GST_START_TEST),
3310         (filesrc_suite):
3311         Add unit test for the GstURIHandler interface in filesrc. This also
3312         tests the newly added file://localhost/foo/bar support.
3313
3314 2007-02-04  Tim-Philipp Müller  <tim at centricular dot net>
3315
3316         * gst/gstelementfactory.h:
3317           The klass string is not a hierarchy. Add reference to the design doc
3318           for more information and common types.
3319
3320 2007-02-02  Wim Taymans  <wim@fluendo.com>
3321
3322         * gst/gstquery.c: (gst_query_new_latency):
3323         Remove old structure field.
3324
3325 2007-02-02  Stefan Kost  <ensonic@users.sf.net>
3326
3327         * tools/gst-launch.1.in:
3328           Give example for network streaming (#351998)
3329
3330 2007-02-02  Wim Taymans  <wim@fluendo.com>
3331
3332         * docs/gst/gstreamer-sections.txt:
3333         Add docs for new methods.
3334
3335         * gst/gstevent.c: (gst_event_new_latency),
3336         (gst_event_parse_latency):
3337         * gst/gstevent.h:
3338         Add new LATENCY event to configure latency in a pipeline.
3339         API: gst_event_new_latency
3340         API: gst_event_parse_latency
3341
3342         * gst/gstmessage.c: (gst_message_new_buffering),
3343         (gst_message_new_lost_preroll), (gst_message_new_prerolled),
3344         (gst_message_new_latency), (gst_message_parse_buffering),
3345         (gst_message_parse_lost_preroll):
3346         * gst/gstmessage.h:
3347         Added messages used in draft-latency.
3348         API: gst_message_new_lost_preroll
3349         API: gst_message_parse_lost_preroll
3350         API: gst_message_new_prerolled
3351         API: gst_message_new_latency
3352
3353         * gst/gstquery.c: (gst_query_new_latency), (gst_query_set_latency),
3354         (gst_query_parse_latency):
3355         * gst/gstquery.h:
3356         Implemented new latency query as in design doc.
3357         API: gst_query_new_latency
3358         API: gst_query_set_latency
3359         API: gst_query_parse_latency
3360
3361 2007-02-02  Wim Taymans  <wim@fluendo.com>
3362
3363         * docs/design/draft-latency.txt:
3364         Slight redesign to allow for dynamic latency adjustments.
3365
3366         * docs/design/part-negotiation.txt:
3367         Fix some typos.
3368
3369 2007-02-02  Sebastian Dröge  <slomo@circular-chaos.org>
3370
3371         reviewed by: Wim Taymans <wim@fluendo.com>
3372
3373         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
3374         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
3375         Allow file://localhost/foo/bar URLs and correctly fail for every other
3376         hostname that one sets. This was gnomevfssrc is linked for those if
3377         installed as it can handle it (#403172)
3378
3379 2007-02-01  Sebastian Dröge  <slomo@circular-chaos.org>
3380
3381         reviewed by: Tim-Philipp Müller <tim at centricular dot net>
3382
3383         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
3384         (unref_data), (gst_collect_pads_add_pad_full):
3385         * libs/gst/base/gstcollectpads.h:
3386         Don't put the previously added destroy notify in the GstCollectData
3387         struct as all it's padding is already used and we don't want to break
3388         ABI. Instead put in the pad's GObject data for now. This should be
3389         cleaned up for 0.11 (#402393).
3390
3391 2007-02-01  Sebastian Dröge  <slomo@circular-chaos.org>
3392
3393         reviewed by: Wim Taymans <wim@fluendo.com>
3394
3395         * docs/libs/gstreamer-libs-sections.txt:
3396         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
3397         (unref_data), (gst_collect_pads_add_pad),
3398         (gst_collect_pads_add_pad_full):
3399         * libs/gst/base/gstcollectpads.h:
3400         API: Add function to specify a destroy notification for custom
3401         GstCollectData when adding new pads in GstCollectPads (#402393).
3402
3403 2007-02-01  Tim-Philipp Müller  <tim at centricular dot net>
3404
3405         * po/sv.po:
3406           Update Swedish translation (#378255).
3407
3408 2007-01-31  Stefan Kost  <ensonic@users.sf.net>
3409
3410         * docs/design/draft-klass.txt:
3411           Fix the previous change, this is a list of categories and not a hierarchy.
3412
3413 2007-01-31  Stefan Kost  <ensonic@users.sf.net>
3414
3415         * docs/design/draft-klass.txt:
3416           Add info about how to get a list of used classes.
3417
3418 2007-01-30  Tim-Philipp Müller  <tim at centricular dot net>
3419
3420         * plugins/elements/gsttypefindelement.c:
3421         (gst_type_find_element_chain_do_typefinding),
3422         (gst_type_find_element_change_state):
3423           Don't leak found caps in chain function (no idea why that never
3424           showed up as a leak anywhere).
3425
3426 2007-01-30  Stefan Kost  <ensonic@users.sf.net>
3427
3428         * gst/gstplugin.h:
3429           Fix and expand GstPluginDesc API docs.
3430
3431 2007-01-29  Stefan Kost  <ensonic@users.sf.net>
3432
3433         * gst/gstcaps.c:
3434         * gst/gstelementfactory.c:
3435         * gst/gstpadtemplate.h:
3436           api doc fixes
3437
3438         * libs/gst/controller/gstcontroller.c:
3439         (gst_controlled_property_new):
3440         * tests/examples/controller/audio-example.c:
3441           comment fixes
3442
3443 2007-01-29  Stefan Kost  <ensonic@users.sf.net>
3444
3445         * configure.ac:
3446           comment about refining the xml deps
3447
3448         * docs/manuals.mak:
3449           comments about moving away from jade for docs
3450         
3451         * gst/gst.c:
3452           recommit the ifdefs to use the binary registry
3453         
3454         * gst/gstbin.c: (gst_bin_change_state_func):
3455           this break is obsolete
3456
3457         * gst/gstelementfactory.h:
3458           better GST_ELEMENT_DETAILS docs, add comment about translation
3459
3460         * gst/gstinfo.h:
3461           remove eol slash
3462
3463         * gst/gstobject.c: (gst_signal_object_get_type):
3464           add G_UNLIKELY as usual
3465
3466         * gst/gstpad.c: (gst_pad_event_default):
3467           add fall trhu comment
3468
3469         * gst/gstregistrybinary.c: (gst_registry_binary_write),
3470         (gst_registry_binary_initialize_magic),
3471         (gst_registry_binary_save_string),
3472         (gst_registry_binary_save_pad_template),
3473         (gst_registry_binary_save_feature),
3474         (gst_registry_binary_save_plugin),
3475         (gst_registry_binary_write_cache),
3476         (gst_registry_binary_check_magic),
3477         (gst_registry_binary_load_pad_template),
3478         (gst_registry_binary_load_feature),
3479         (gst_registry_binary_load_plugin),
3480         (gst_registry_binary_read_cache):
3481           comment typo and formatting
3482
3483         * gst/gstutils.c: (gst_element_state_get_name),
3484         (gst_element_state_change_return_get_name):
3485           remove obsolete breaks
3486
3487         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
3488           add FIXME 0.11 and remove cpp comment
3489
3490 2007-01-29  Edward Hervey  <edward@fluendo.com>
3491
3492         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
3493         Fix print statement in an even more portable way.
3494
3495 2007-01-29  Tim-Philipp Müller  <tim at centricular dot net>
3496
3497         * docs/gst/gstreamer-sections.txt:
3498         * gst/gstutils.h:
3499           API: add GST_ROUND_DOWN_* macros (#401781).
3500
3501 2007-01-27  Tim-Philipp Müller  <tim at centricular dot net>
3502
3503         * docs/gst/gstreamer.types.in:
3504         * gst/gstregistry.c: (gst_registry_class_init):
3505           Document registry signals and make gtk-doc pick them up (#401381).
3506
3507 2007-01-26  Tim-Philipp Müller  <tim at centricular dot net>
3508
3509         * docs/pwg/building-testapp.xml:
3510           Add some audioconverts and audioresample to the pipeline, and some
3511           more comments and error handling.
3512
3513 2007-01-26  Tim-Philipp Müller  <tim at centricular dot net>
3514
3515         * docs/manual/manual.xml:
3516         * docs/pwg/pwg.xml:
3517           Fix typo (#400987).
3518
3519 2007-01-26  Wim Taymans  <wim@fluendo.com>
3520
3521         * gst/gstcaps.c: (gst_static_caps_get):
3522         Init caps flags too.
3523
3524 2007-01-25  Sebastian Dröge  <slomo@circular-chaos.org>
3525
3526         Patch by: Jindrich Makovicka <jindrich.makovick at itonis dot tv>
3527
3528         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
3529         If not using mmap'ed files try to seek to the end instead of the
3530         start to determine whether we can seek at all. This fixes the case
3531         of 2GB+ files over NFS, where seeks in the first 2GB can succeed but
3532         seeks for everything afterwards fail. Fixes #400656
3533
3534 2007-01-25  Wim Taymans  <wim@fluendo.com>
3535
3536         * gst/gstcaps.c: (_gst_caps_free), (gst_static_caps_get):
3537         Add some refcount debugging.
3538         Make gst_static_caps_get threadsafe, which is needed when autoplugging
3539         in multiple streaming threads.
3540
3541 2007-01-25  Wim Taymans  <wim@fluendo.com>
3542
3543         Patch by: David Schleef <ds at schleef dot org>
3544
3545         * docs/libs/gstreamer-libs-sections.txt:
3546         * libs/gst/base/gstadapter.c: (gst_adapter_copy):
3547         * libs/gst/base/gstadapter.h:
3548         API: gst_adapter_copy() that can reduce the amount of memcpy when
3549         getting data from the adapter. Fixes #388201.
3550
3551 2007-01-25  Edward Hervey  <edward@fluendo.com>
3552
3553         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
3554         In print statements, "%x" is for guint. Fixes build on macosx.
3555
3556 2007-01-24  Edward Hervey  <edward@fluendo.com>
3557
3558         * plugins/elements/gstmultiqueue.c:
3559         (gst_multi_queue_loop):
3560         Small fix.
3561         (single_queue_overrun_cb), (single_queue_underrun_cb),
3562         (single_queue_check_full), (gst_single_queue_new):
3563         Implement single queue growth system.
3564         This uses the extra-size properties, and will grow single queues by
3565         that much if one goes full whereas there are others empty. This is
3566         called extra-mode in the code.
3567         When a single queue's levels go back below the initial max-size
3568         limits, it is no longer in extra-mode. This is to ensure we don't
3569         consume too much memory.
3570         Fixes #399875
3571
3572 2007-01-23  Tim-Philipp Müller  <tim at centricular dot net>
3573
3574         * gst/gst.c: (gst_init_get_option_group):
3575           Make warning about late g_thread_init() calls a bit more explicit,
3576           so that it's more obvious to application developers what they need
3577           to do if a user files a bug against their application.
3578
3579 2007-01-22  Edward Hervey  <edward@fluendo.com>
3580
3581         * plugins/elements/gstmultiqueue.c:
3582         (gst_multi_queue_src_activate_push), (gst_single_queue_new):
3583         Remove previous hack of unsetting the flushing flag for the source pad
3584         instead of activating it. Instead, fix the source pad activate function
3585         so that it no longer depends on having a parent set or not.
3586
3587 2007-01-22  Tim-Philipp Müller  <tim at centricular dot net>
3588
3589         Patch by: Carlos Sanmartin Dominguez <csanmartin@igalia.com>
3590
3591         * docs/manual/basics-bus.xml:
3592           Fix example code, gst_element_unref() doesn't exist any longer.
3593
3594 2007-01-21  Tim-Philipp Müller  <tim at centricular dot net>
3595
3596         Patch by: Mark Nauwelaerts <manauw at skynet be>
3597
3598         * gst/gstpad.c:
3599           Fix two docs typoes (#399094).
3600
3601 2007-01-19  Edward Hervey  <edward@fluendo.com>
3602
3603         * docs/faq/gst-uninstalled:
3604         Add gst-plugins-base/gst/utils/ to LD_LIBRARY_PATH so that plugins
3605         depending on libgstbaseutils can work in uninstalled environment.
3606
3607 2007-01-18  Stefan Kost  <ensonic@users.sf.net>
3608
3609         * gst/gsttaglist.h:
3610         * gst/gsttagsetter.c:
3611         Add more docs regarding tag merge-modes and when to send tags. Fix 'since'
3612         statement for new tag.
3613
3614 2007-01-17  Edward Hervey  <edward@fluendo.com>
3615
3616         * plugins/elements/gstmultiqueue.c: (gst_single_queue_new):
3617         When dynamically creating single queues, activate sinkpad before adding
3618         it.
3619         We should be doing the same thing for the source pad, but we can't
3620         since it would call a method which needs the parent to be set in order
3621         to work propertly. Instead of activating the source pad, we just unset
3622         the flushing flag, which is the minimal requirement for adding a pad
3623         to an element in a state greater than READY.
3624
3625 2007-01-17  Edward Hervey  <edward@fluendo.com>
3626
3627         * docs/faq/gst-uninstalled:
3628         Add DYLD_LIBRARY_PATH declarations so we can also use this script on
3629         Mac OS X.
3630
3631 2007-01-17  Tim-Philipp Müller  <tim at centricular dot net>
3632
3633         * tests/check/gst/gstabi.c:
3634         * tests/check/gst/struct_hppa.h:
3635         * tests/check/libs/libsabi.c:
3636         * tests/check/libs/struct_hppa.h:
3637           Add ABI structs for HPPA (see #393796).
3638
3639 2007-01-16  Tim-Philipp Müller  <tim at centricular dot net>
3640
3641         * libs/gst/check/gstcheck.c: (gst_check_abi_list):
3642           Actually write ABI structs to the file specified in the GST_ABI
3643           environment variable, as the message we print claims we would.
3644
3645 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
3646
3647         * tests/check/gst/gsttask.c:
3648           Fix header comment.
3649
3650 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
3651
3652         * gst/gsttaglist.c: (_gst_tag_initialize):
3653           Change tag type from STRING to DOUBLE. Apply ChangeLog surgery for my
3654           previous two entries.
3655
3656 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
3657
3658         * docs/gst/gstreamer-sections.txt:
3659         * gst/gsttaglist.c: (_gst_tag_initialize):
3660         * gst/gsttaglist.h:
3661           Add tag support for beat-per-minute.
3662
3663 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
3664
3665         * gst/gstregistrybinary.c: (gst_registry_binary_write),
3666         (gst_registry_binary_initialize_magic),
3667         (gst_registry_binary_save_string), (gst_registry_binary_make_data),
3668         (gst_registry_binary_save_pad_template),
3669         (gst_registry_binary_save_feature),
3670         (gst_registry_binary_save_plugin),
3671         (gst_registry_binary_write_cache),
3672         (gst_registry_binary_check_magic),
3673         (gst_registry_binary_load_pad_template),
3674         (gst_registry_binary_load_feature),
3675         (gst_registry_binary_load_plugin),
3676         (gst_registry_binary_read_cache):
3677         * gst/gstregistrybinary.h:
3678           Use glib types, cleanup comments, impement interfaces and uri-types.
3679
3680 2007-01-13  Andy Wingo  <wingo@pobox.com>
3681
3682         * gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Allow
3683         getrange() to return buffers with other caps, while we fix
3684         demuxers and typefind, or otherwise change part-negotiation.txt.
3685
3686 2007-01-12  Andy Wingo  <wingo@pobox.com>
3687
3688         * libs/gst/base/gstbasetransform.c (gst_base_transform_activate):
3689         Factor start/stop into this private function instead of partially
3690         in activate functions and partially in the change_state function.
3691         Fixes setup before the element has changed from READY->PAUSED, as
3692         is the case in pull-mode pipelines.
3693         (gst_base_transform_sink_activate_push)
3694         (gst_base_transform_src_activate_pull): Refactor to use
3695         gst_base_transform_activate().
3696         (gst_base_transform_change_state): Removed, not needed any more.
3697
3698         * libs/gst/base/gstbasesink.c (gst_base_sink_negotiate_pull):
3699         Truncate before fixating.
3700         
3701         * libs/gst/base/gstbasesink.c (gst_base_sink_negotiate_pull):
3702         Don't set_caps() if the result of fixating is ANY, as it's not
3703         supported, and not necessary in the case of a link with no
3704         template caps on either side. Fixes tests/check/libs/basesrc in
3705         some pull-mode tests.
3706
3707         * libs/gst/base/gstbasetransform.c (_GstBaseTransformPrivate):
3708         (gst_base_transform_init, gst_base_transform_sink_activate_push)
3709         (gst_base_transform_src_activate_pull): 
3710         Track the activation mode.
3711         (gst_base_transform_setcaps): In pull mode, when activating the
3712         src pad, after activating the sink pad, activate the sink pad's
3713         peer, as discussed in part-negotiation.txt.
3714
3715         * libs/gst/base/gstbasesrc.h: 
3716         * libs/gst/base/gstbasesrc.c (gst_base_src_fixate): Add fixate
3717         vmethod, as in basesink.
3718
3719         * libs/gst/base/gstbasesink.h: Reformat docs, add fixate vmethod.
3720
3721         * libs/gst/base/gstbasesink.c (gst_base_sink_pad_setcaps): In pull
3722         mode, first proxy the setcaps to the peer pad.
3723         (gst_base_sink_pad_fixate): Add a fixate function that calls the
3724         new fixate vmethod.
3725         (gst_base_sink_default_activate_pull): Rename from
3726         gst_base_sink_activate_pull.
3727         (gst_base_sink_negotiate_pull): New function, performs negotiation
3728         in pull mode before calling ::activate_pull().
3729         (gst_base_sink_pad_activate_pull): Actually call the activate_pull
3730         vmethod instead of the default implementation. I have no idea how
3731         this worked before. Negotiate before calling activate_pull.
3732
3733         * gst/gstpad.c (gst_pad_activate_pull): Refuse to activate unlinked
3734         sink pads in pull mode. In addition to being correct, fixes
3735         filesrc ! decodebin ! identity ! fakesink.
3736         (gst_pad_get_range, gst_pad_pull_range): Don't call
3737         gst_pad_set_caps() if the caps changes; instead error out with
3738         GST_FLOW_NOT_NEGOTIATED, as discussed in part-negotiation.txt.
3739
3740 2007-01-12  Andy Wingo  <wingo@pobox.com>
3741
3742         * docs/design/part-negotiation.txt: Update with more policy.
3743
3744 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
3745
3746         * libs/gst/check/gstbufferstraw.h:
3747         * libs/gst/check/gstcheck.h:
3748           Add G_BEGIN_DECLS and G_END_DECLS. Move GST_CHECK_MAIN where it
3749           belongs.
3750
3751 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
3752
3753         * tests/check/Makefile.am:
3754         * tests/check/gst/.cvsignore:
3755         * tests/check/gst/gsttagsetter.c: (gst_dummy_enc_add_interfaces),
3756         (gst_dummy_enc_base_init), (gst_dummy_enc_class_init),
3757         (gst_dummy_enc_init), (tag_list_foreach), (tag_setter_list_length),
3758         (GST_START_TEST), (gst_tag_setter_suite):
3759           Add minimal unit test for beforementioned GstTagSetter bug.
3760
3761 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
3762
3763         Patch by: René Stadler <mail at renestadler dot de>
3764
3765         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags):
3766           gst_tag_list_merge() returns a new list, so it's not the best idea
3767           to ingore its return value. Effectively meant that tags could only
3768           be merged on a GstTagSetter once using _merge_tags(). Fixes #395554.
3769           Also add function guard to require a non-NULL taglist as input (has
3770           always been so due to gst_tag_list_copy(), just making it explicit).
3771
3772 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
3773
3774         * docs/random/draft-missing-plugins.txt:
3775           Some additions: mention new API that is supposed to be used at the
3776           various stages; short blob about new gst-inspect introspection
3777           option; mention potential future problem with plugins that have
3778           a dynamic list of elements (such as ladspa, pitfdll, libvisual).
3779
3780 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
3781
3782         * tools/gst-inspect.c:
3783         (print_plugin_automatic_install_info_codecs),
3784         (print_plugin_automatic_install_info_protocols),
3785         (print_plugin_automatic_install_info), (main):
3786         Add --print-plugin-auto-install-info option to gst-inspect, so we can
3787         introspect plugin files and get machine-parsable output that corresponds
3788         to the last bit of the missing-plugin installer string (small gotcha:
3789         doesn't take into account ranks).
3790
3791 2007-01-11  Stefan Kost  <ensonic@users.sf.net>
3792
3793         * configure.ac:
3794         * docs/gst/gstreamer-sections.txt:
3795         * gst/Makefile.am:
3796         * gst/gstregistry.c: (gst_registry_lookup_feature_locked),
3797         (gst_registry_lookup_locked):
3798         * gst/gstregistry.h:
3799         * gst/gstregistrybinary.c: (gst_registry_binary_write),
3800         (gst_registry_binary_initialize_magic),
3801         (gst_registry_binary_save_string),
3802         (gst_registry_binary_save_pad_template),
3803         (gst_registry_binary_save_feature),
3804         (gst_registry_binary_save_plugin),
3805         (gst_registry_binary_write_cache),
3806         (gst_registry_binary_check_magic),
3807         (gst_registry_binary_load_pad_template),
3808         (gst_registry_binary_load_feature),
3809         (gst_registry_binary_load_plugin),
3810         (gst_registry_binary_read_cache):
3811         * gst/gstregistrybinary.h:
3812         * gst/gstregistryxml.c: (load_feature),
3813         (gst_registry_xml_read_cache):
3814           commit binary registry (disabled by default, see #359653)
3815
3816 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
3817
3818         * tests/check/gst/gstpad.c: (test_get_allowed_caps):
3819           Fix 'make check' too.
3820
3821 2007-01-10  Andy Wingo  <wingo@pobox.com>
3822
3823         * docs/design/part-negotiation.txt: Fix a typo, add a couple
3824         notes.
3825         
3826         * docs/design/part-negotiation.txt: Update with, um, one way that
3827         pull-mode negotiation might work?
3828
3829         * gst/gstpad.h: 
3830         * gst/gstpad.c (gst_pad_get_allowed_caps): Remove the restriction
3831         that the pad must be a src pad; makes sense to call it the other
3832         way in pull mode, and the logic is symmetric anyway.
3833
3834 2007-01-10  Tim-Philipp Müller  <tim at centricular dot net>
3835
3836         * plugins/elements/gstfilesink.c:
3837           Include <stdio.h> for fseeko().
3838
3839 2007-01-10  Wim Taymans  <wim@fluendo.com>
3840
3841         * gst/gstevent.c:
3842         * gst/gstevent.h:
3843         Reserve LATENCY event.
3844
3845 2007-01-09  Wim Taymans  <wim@fluendo.com>
3846
3847         * docs/design/draft-latency.txt:
3848         Updates.
3849
3850 2007-01-09  Wim Taymans  <wim@fluendo.com>
3851
3852         * docs/design/draft-latency.txt:
3853         Updates.
3854
3855         * gst/gstelement.h:
3856         * gst/gststructure.c:
3857         * gst/gsttrace.c:
3858         Small typo fixes.
3859
3860 2007-01-09  Tim-Philipp Müller  <tim at centricular dot net>
3861
3862         * tests/check/.cvsignore:
3863           Ignore test-registry.xml as well.
3864
3865 2007-01-09  Wim Taymans  <wim@fluendo.com>
3866
3867         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
3868         unref data at the end when we are done with the pad.
3869
3870 2007-01-08  Tim-Philipp Müller  <tim at centricular dot net>
3871
3872         * docs/gst/gstreamer-sections.txt:
3873         * gst/gst.c: (load_plugin_func), (scan_and_update_registry),
3874         (init_post), (gst_deinit), (gst_update_registry):
3875         * gst/gst.h:
3876           API: add gst_update_registry() (#391296).
3877
3878         * tests/check/Makefile.am:
3879         * tests/check/gst/gstregistry.c:
3880         * tests/check/gst/.cvsignore:
3881           Simple unit test for the above.
3882
3883 2007-01-08  Tim-Philipp Müller  <tim at centricular dot net>
3884
3885         * gst/gstregistry.c: (gst_registry_scan_path_level):
3886           Plugin extension on HP-UX is .sl, add that to the list of approved
3887           plugin extensions (see #393796).
3888
3889         * tests/check/gst/gstpad.c: (GST_START_TEST):
3890           ulong => gulong. Fixes compilation with HP-UX compiler.
3891
3892         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
3893           Fix compilation if valgrind headers are not available.
3894
3895 2007-01-07  Sébastien Moutte  <sebastien@moutte.net>
3896
3897         * win32/common/libgstreamer.def: 
3898           Add new exported function.
3899         * win32/vs6/libgstbase.dsp: 
3900           Add gstdataqueue.c to the build.
3901         * win32/vs6/libgstcoreelements.dsp:
3902           Add gstmultiqueue.c to the build.
3903         
3904 2007-01-06  Andy Wingo  <wingo@pobox.com>
3905
3906         * libs/gst/base/gstbasesink.h: New GstBaseSinkClass vmethod,
3907         activate_pull(), providing for a way to specialize the process of
3908         spawning a thread to pull on the sink pad. There is a default
3909         implementation.
3910
3911         * libs/gst/base/gstbasesink.c (gst_base_sink_pad_activate_pull)
3912         (gst_base_sink_pad_activate_push, gst_base_sink_pad_activate)
3913         (gst_base_sink_init): Renamed pad activation functions (inserting
3914         "_pad" in their names). Refactor to use the new activate_pull
3915         vmethod, as appropriate.
3916         (gst_base_sink_class_init, gst_base_sink_activate_pull): Set the
3917         default activate_pull function to start a task pulling from the
3918         sink pad, as before.
3919
3920         * gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Set caps
3921         on the pads if necessary, as in push()/chain(). Update docs.
3922         Shouldn't affect existing pull() usage as it is currently only
3923         being used on buffers without caps.
3924
3925 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
3926
3927         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
3928         (init_pre):
3929           Call g_thread_init() first thing in gst_init() / gst_check_init().
3930           When initialisation is done via gst_init_get_option_group() and
3931           GOption parsing, issue a warning if the GLib thread system has not
3932           been initialised yet by the time gst_init_get_option_group() is
3933           called, as it's quite likely other GLib functions such as
3934           g_option_context_new() have been called already then, and
3935           g_thread_init() must be called before any other GLib function. The
3936           application in question must be fixed in that case, since memory
3937           corruption might happen otherwise.
3938           We issue the warning because even if the GLib folks decide to work
3939           around the problem on their end in future, this is still an issue
3940           with all GLib versions >= 2.10.0, so we should warn until we depend
3941           on a GLib version we know to be safe.
3942           Update documentation as well.
3943           Closes bug #391278.
3944
3945 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
3946
3947         * tools/gst-inspect.c: (main):
3948         * tools/gst-launch.c: (main):
3949         * tools/gst-typefind.c: (main):
3950         * tools/gst-xmlinspect.c: (main):
3951           Call g_thread_init() really really early, before any other GLib
3952           function (see #342564 and recent discussion on gtk-devel-list).
3953
3954 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
3955
3956         Patch by: Vincent Torri  <vtorri at univ-evry dot fr>
3957
3958         * gst/gst_private.h:
3959         * gst/gstconfig.h.in:
3960         * gst/gstinfo.h:
3961           On win32, all the __declspec stuff for symbol exporting is
3962           apparently only needed with MSVC, but doesn't work with MingW.
3963           Fixes compilation with MingW and #391909.
3964
3965 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
3966
3967         * libs/gst/base/gstbasesrc.c: (gst_base_src_activate_push):
3968           Change some GST_ERROR_OBJECT that aren't really errors to
3969           GST_WARNING_OBJECT in order to reduce terminal spam.
3970
3971 2007-01-04  Stefan Kost  <ensonic@users.sf.net>
3972
3973         * tests/check/Makefile.am:
3974           disable test again, as there seem to be still race problems
3975
3976 2007-01-04  Stefan Kost  <ensonic@users.sf.net>
3977
3978         * tests/check/Makefile.am:
3979         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
3980         (GST_START_TEST), (queue_suite):
3981           enable queue test again, add tests for the leaky behaviour
3982
3983 2007-01-02  Tim-Philipp Müller  <tim at centricular dot net>
3984
3985         * configure.ac:
3986         * tests/examples/Makefile.am:
3987           Compile adapter test/example only if the required headers are
3988           available (fixes #391915).
3989
3990 2007-01-01  David Schleef  <ds@schleef.org>
3991
3992         * gst/gstplugin.c:
3993           Restore the previous signal handler for SIGSEGV instead of
3994           setting to default, since we may have stolen it away from
3995           someone.  (i.e., Mono)
3996
3997 2006-12-26  Tim-Philipp Müller  <tim at centricular dot net>
3998
3999         * docs/random/draft-missing-plugins.txt:
4000           Some small additions and clarifications.
4001
4002 2006-12-26  Tim-Philipp Müller  <tim at centricular dot net>
4003
4004         * gst/gstregistryxml.c: (gst_registry_save_escaped):
4005           Make sure we don't pass non-UTF-8 strings to g_markup_escape(),
4006           since that can lead to random memory corruptions and crashes
4007           (may or may not be related to #383244, #386711, and #386711).
4008
4009 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
4010
4011         * tests/check/.cvsignore:
4012         * tests/check/Makefile.am:
4013           sync .cvsignome and CLEANFILES
4014
4015 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
4016
4017         * tests/check/Makefile.am:
4018           fix distcheck
4019
4020 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
4021
4022         * docs/design/part-states.txt:
4023           two tiny additional comments
4024         
4025         * gst/gststructure.c:
4026           doc fixing
4027
4028         * tests/check/Makefile.am:
4029         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
4030         (GST_START_TEST):
4031           disable test for now, unless it gets fixed
4032
4033 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
4034
4035         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
4036         (GST_START_TEST):
4037           fix race in underrun test
4038
4039 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
4040
4041         * tests/check/elements/.cvsignore:
4042           ignore more
4043
4044         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
4045         (GST_START_TEST):
4046           try to narrow test failure
4047
4048 2006-12-21  David Schleef  <ds@schleef.org>
4049
4050         * plugins/elements/gstfakesrc.c:
4051           Use g_random_int_range(), since it produces better random
4052           numbers in a range than almost-correct floating point code.
4053
4054 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
4055
4056         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
4057         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
4058         (gst_check_teardown_sink_pad):
4059           do not automatically (de)activate pads
4060
4061         * tests/check/Makefile.am:
4062         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
4063         (setup_queue), (cleanup_queue), (GST_START_TEST), (queue_suite):
4064           add new, yet simple tests for queue
4065
4066         * tests/check/elements/fakesrc.c: (cleanup_fakesrc):
4067         * tests/check/elements/fdsrc.c: (cleanup_fdsrc):
4068         * tests/check/elements/filesrc.c: (cleanup_filesrc),
4069         (GST_START_TEST):
4070         * tests/check/elements/identity.c: (cleanup_identity):
4071           consistent pad (de)activation
4072
4073 2006-12-20  Tim-Philipp Müller  <tim at centricular dot net>
4074
4075         Patch by: Sebastian Dröge  <slomo ubuntu com>
4076
4077         * libs/gst/base/gstcollectpads.c:
4078           Fix two doc typos (#387866).
4079
4080 2006-12-19  Tim-Philipp Müller  <tim at centricular dot net>
4081
4082         * docs/manual/advanced-dparams.xml:
4083           Fix typo (g_object_control_properties() doesn't exist).
4084
4085 2006-12-19  Edward Hervey  <edward@fluendo.com>
4086
4087         * gst/gstsegment.c: (gst_segment_set_seek):
4088         Fine tune the cases where the segment start/stop values are really
4089         updated.
4090         * tests/check/gst/gstsegment.c: (GST_START_TEST):
4091         Add tests for the return values of gst_segment_set_seek().
4092
4093 2006-12-19  Tim-Philipp Müller  <tim at centricular dot net>
4094
4095         * gst/gst.c:
4096           Docs typo fix.
4097
4098         * plugins/elements/gstqueue.c: (gst_queue_class_init),
4099         (gst_queue_init):
4100           Fix incorrect documentation and flesh it out a bit more.
4101           Set default values for the max properties on the GParamSpec as well,
4102           so it shows up correctly in gst-inspect.
4103
4104 2006-12-18  Stefan Kost  <ensonic@users.sf.net>
4105
4106         * plugins/elements/gstqueue.c: (queue_leaky_get_type):
4107           Correct docs of queue, add more detail and crosslink it more.
4108
4109 2006-12-16  Tim-Philipp Müller  <tim at centricular dot net>
4110
4111         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
4112           Print additional debug info when the stream isn't perfectly
4113           timestamped; don't try to use invalid durations.
4114
4115 2006-12-16  Tim-Philipp Müller  <tim at centricular dot net>
4116
4117         * docs/design/Makefile.am:
4118           Dist new design docs.
4119
4120 2006-12-16  Wim Taymans  <wim@fluendo.com>
4121
4122         Patch by: Sjoerd Simons <sjoerd at luon dot net>
4123
4124         * libs/gst/base/gstcollectpads.c: (ref_data), (unref_data),
4125         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
4126         (gst_collect_pads_stop), (gst_collect_pads_event),
4127         (gst_collect_pads_chain):
4128         * libs/gst/base/gstcollectpads.h:
4129         Add refcounting to the collectpads data so we can track when it's safe
4130         to free the data. Fixes #383382.
4131
4132 2006-12-15  Wim Taymans  <wim@fluendo.com>
4133
4134         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
4135         (gst_collect_pads_remove_pad):
4136         Automatically activate/deactivate pads when they are added to a
4137         started/stoped collectpads.
4138
4139 2006-12-15  Wim Taymans  <wim@fluendo.com>
4140
4141         * gst/gstelement.c: (gst_element_add_pad):
4142         * gst/gstghostpad.c: (gst_ghost_pad_new_full):
4143         * gst/gstpad.c: (gst_pad_init):
4144         Set pads to FLUSHING when they are created. Check, warn and fix when a
4145         demuxer adds an inactive pad to itself when running. Fixes #339326.
4146
4147 2006-12-15  Wim Taymans  <wim@fluendo.com>
4148
4149         * gst/gstelement.c: (gst_element_class_init),
4150         (gst_element_default_send_event), (gst_element_send_event),
4151         (gst_element_default_query), (gst_element_query):
4152         Expose default element send_event and query handling as vmethods that
4153         subclasses can chain up to.
4154
4155 2006-12-15  Wim Taymans  <wim@fluendo.com>
4156
4157         * gst/gstelement.c: (gst_element_set_state_func):
4158         Small documentation fixes.
4159
4160 2006-12-15  Wim Taymans  <wim@fluendo.com>
4161
4162         * docs/design/draft-latency.txt:
4163         Checked in draft for handling latency in pipelines.
4164
4165 2006-12-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4166
4167         * Makefile.am:
4168         * gstreamer.doap:
4169         * gstreamer.spec.in:
4170           adding .doap file
4171
4172 2006-12-14  Tim-Philipp Müller  <tim at centricular dot net>
4173
4174         * gst/gst.c: (init_pre), (init_post):
4175           init_pre() and init_post() might be called via our GOptionGroup or
4176           from gst_init(), and we should skip both of them if we've already
4177           been initialised, otherwise we will init some things twice or add
4178           two default log functions.
4179
4180 2006-12-13  Edward Hervey  <edward@fluendo.com>
4181
4182         * docs/manual/basics-bus.xml:
4183         No, gst_main_loop does not exist. Its g_main_loop.
4184         Discovered by somebody who abused the copy-paste technique of coding :)
4185
4186 2006-12-13  Tim-Philipp Müller  <tim at centricular dot net>
4187
4188         * gst/gstghostpad.c:
4189           Log ghostpad debug stuff to the GST_PADS category as well rather
4190           than just to the default category.
4191
4192 2006-12-12  Tim-Philipp Müller  <tim at centricular dot net>
4193
4194         * configure.ac:
4195         * gst/gst.c: (init_pre):
4196           Add some basic system details such as OS and architecture
4197           to the debug output if possible, courtesy of uname().
4198
4199 2006-12-11  Tim-Philipp Müller  <tim at centricular dot net>
4200
4201         * docs/gst/running.xml:
4202           Document GST_REGISTRY_FORK and GST_DEBUG_NO_COLOR
4203           environment variables.
4204
4205 2006-12-09  Jan Schmidt  <thaytan@mad.scientist.com>
4206
4207         * tests/check/gst/gstbin.c: (GST_START_TEST):
4208         It is acceptable to have a refcount of 2 or 3 at this point in the
4209         test, because the pipeline might be just posting its state_change
4210         message. The next line then waits for that message to appear using
4211         bus_poll, so that should be fine too.
4212
4213 2006-12-09  Jan Schmidt  <thaytan@mad.scientist.com>
4214
4215         * gst/gst.c: (ensure_current_registry_forking):
4216         Ignore EINTR when reading from the child registry pipe.
4217         Explicitly ignore the return value from close, since it makes no
4218         difference.
4219
4220         * gst/gstminiobject.c: (gst_mini_object_ref),
4221         (gst_mini_object_unref):
4222         When debugging refcounts, check GST_IS_MINI_OBJECT and warn.
4223
4224         * gst/gstregistry.c: (_priv_gst_registry_remove_cache_plugins):
4225         When removing cached plugins, remove their features too, so they're
4226         not visible after they've disappeared.
4227
4228         * gst/gstutils.c: (prepare_link_maybe_ghosting):
4229         In the unlikely case that we are linking pads with no parents, don't
4230         crash trying to get the non-existent parent bin.
4231
4232         * gst/parse/grammar.y:
4233         Output debug in the PIPELINE category
4234
4235 2005-03-08  Wim Taymans  <wim@fluendo.com>
4236
4237         Patch by: René Stadler <mail at renestadler dot de>
4238
4239         * gst/gstclock.c: (gst_clock_new_periodic_id):
4240         Reject invalid clock times for interval of periodic ids.
4241         Fixes ##383506.
4242
4243 2006-12-07  Jan Schmidt  <thaytan@mad.scientist.com>
4244
4245         * gst/gstelementfactory.c: (gst_element_factory_create):
4246         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
4247         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
4248         * tools/gst-inspect.c: (print_element_info):
4249         Fix refcounting of gst_plugin_feature_load to match the docs. 
4250         Fixes: #380129
4251
4252 2006-12-07  Wim Taymans  <wim@fluendo.com>
4253
4254         * libs/gst/base/gstbasesink.c: (gst_base_sink_event),
4255         (gst_base_sink_get_position):
4256         Improve debugging of events.
4257
4258 2006-12-07  Wim Taymans  <wim@fluendo.com>
4259
4260         Patch by: René Stadler <mail at renestadler dot de>
4261
4262         * gst/gstclock.c: (gst_clock_id_wait):
4263         Make period ids add the interval to the origial requested time instead
4264         of the possibly updated time which can be wrong when there are multiple
4265         waiters for the same id. Fixes #382592.
4266
4267         * gst/gstsystemclock.c: (gst_system_clock_async_thread),
4268         (gst_system_clock_id_wait_jitter_unlocked),
4269         (gst_system_clock_id_wait_jitter):
4270         Fix restart in the async notify thread when an async entry is added to
4271         the front of the list. Fixes #381492. 
4272
4273         * tests/check/gst/gstsystemclock.c: (store_callback),
4274         (notify_callback), (GST_START_TEST), (gst_systemclock_suite):
4275         Added test for multiple async waits.
4276         Added test for async wait order.
4277
4278 2006-12-07  Wim Taymans  <wim@fluendo.com>
4279
4280         * gst/gstbin.c: (gst_bin_query):
4281         Add some more docs about the POSITION query.
4282
4283 2006-12-07  Jan Schmidt  <thaytan@mad.scientist.com>
4284
4285         * configure.ac:
4286         Bump version nano - back to CVS.
4287
4288 === release 0.10.11 ===
4289
4290 2006-12-06  Jan Schmidt <thaytan@mad.scientist.com>
4291
4292         * configure.ac:
4293           releasing 0.10.11, "Love never runs on time"
4294
4295 2006-12-01  Jan Schmidt  <thaytan@mad.scientist.com>
4296
4297         * win32/common/libgstbase.def:
4298         * win32/common/libgstreamer.def:
4299         * win32/vs8/libgstbase.vcproj:
4300         * win32/vs8/libgstcoreelements.vcproj:
4301         * win32/vs8/libgstreamer.vcproj:
4302         Fix compilation on win32 under VS8
4303         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
4304         Partially fixes #381175
4305
4306 2006-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
4307
4308         * gst/gstvalue.c: (gst_value_compare_fraction):
4309         If someone is foolish enough to compare 2 fractions with denominator =
4310         0, return UNORDERED rather than aborting.
4311
4312 2006-11-28  Edward Hervey  <edward@fluendo.com>
4313
4314         * libs/gst/base/Makefile.am:
4315         * libs/gst/base/gstdataqueue.c: (gst_data_queue_get_type),
4316         (gst_data_queue_base_init), (gst_data_queue_class_init),
4317         (gst_data_queue_init), (gst_data_queue_new),
4318         (gst_data_queue_cleanup), (gst_data_queue_finalize),
4319         (gst_data_queue_locked_flush), (gst_data_queue_locked_is_empty),
4320         (gst_data_queue_locked_is_full), (gst_data_queue_flush),
4321         (gst_data_queue_is_empty), (gst_data_queue_is_full),
4322         (gst_data_queue_set_flushing), (gst_data_queue_push),
4323         (gst_data_queue_pop), (gst_data_queue_drop_head),
4324         (gst_data_queue_set_property), (gst_data_queue_get_property):
4325         * libs/gst/base/gstdataqueue.h:
4326         New GstDataQueue object for threadsafe queueing. Most useful for
4327         elements that need some queueing functionnality.
4328         * docs/libs/gstreamer-libs-docs.sgml:
4329         * docs/libs/gstreamer-libs-sections.txt:
4330         Insert documentation for GstDataQueue
4331         * plugins/elements/Makefile.am:
4332         * plugins/elements/gstelements.c:
4333         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
4334         (gst_multi_queue_class_init), (gst_multi_queue_init),
4335         (gst_multi_queue_finalize), (gst_multi_queue_set_property),
4336         (gst_multi_queue_get_property), (gst_multi_queue_request_new_pad),
4337         (gst_multi_queue_release_pad), (gst_single_queue_push_one),
4338         (gst_multi_queue_item_destroy), (gst_multi_queue_item_new),
4339         (gst_multi_queue_loop), (gst_multi_queue_chain),
4340         (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
4341         (gst_multi_queue_getcaps), (gst_multi_queue_bufferalloc),
4342         (gst_multi_queue_src_activate_push), (gst_multi_queue_acceptcaps),
4343         (gst_multi_queue_src_event), (gst_multi_queue_src_query),
4344         (wake_up_next_non_linked), (compute_next_non_linked),
4345         (single_queue_overrun_cb), (single_queue_underrun_cb),
4346         (single_queue_check_full), (gst_single_queue_new):
4347         * plugins/elements/gstmultiqueue.h:
4348         New multiqueue element, using GstDataQueue. Used for queuing multiple
4349         streams.
4350         Closes #344639 and #347785
4351
4352 2006-11-22  Stefan Kost  <ensonic@users.sf.net>
4353
4354         * docs/pwg/advanced-types.xml:
4355           add more missing type details
4356
4357         * tools/gst-run.c: (main):
4358           remove unused variable
4359
4360 2006-11-21  Stefan Kost  <ensonic@users.sf.net>
4361
4362         * docs/libs/Makefile.am:
4363         * docs/libs/gstreamer-libs.types:
4364           add types of base classes to enable gobject specific stuff in the docs
4365
4366         * docs/random/ensonic/embedded.txt:
4367           more ideas about isolating platform specific things
4368
4369 2006-11-20  Wim Taymans  <wim@fluendo.com>
4370
4371         Patch by: Sebastian Dröge <slomo at ubuntu dot com>
4372
4373         * libs/gst/check/gstcheck.h:
4374         Fix compilation and running against 0.9.4. Fixes #377332.
4375
4376 2006-11-20  Wim Taymans  <wim@fluendo.com>
4377
4378         * gst/gstsegment.c: (gst_segment_set_seek),
4379         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
4380         (gst_segment_to_running_time):
4381         Fix boundary checking in to_running_time() and to_stream_time().
4382         Fixes #377183.
4383
4384         * tests/check/gst/gstsegment.c: (GST_START_TEST):
4385         stream and running time can now be calculated for the complete
4386         clipped segment.
4387
4388 2006-11-15  Tim-Philipp Müller  <tim at centricular dot net>
4389
4390         * gst/gstpad.c: (gst_pad_push_event):
4391           Can't access event structure after giving away ownership of
4392           the event.
4393
4394 2006-11-15  Stefan Kost  <ensonic@users.sf.net>
4395
4396         * docs/random/ensonic/embedded.txt:
4397         * docs/random/ensonic/profiling.txt:
4398         * docs/random/ensonic/receipies.txt:
4399           more thinking
4400
4401 2006-11-13  Wim Taymans  <wim@fluendo.com>
4402
4403         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
4404
4405         * gst/gstpad.c:
4406         Fix documentation for gst_pad_dispatcher. Fixes #374475.
4407
4408 2006-11-13  Wim Taymans  <wim@fluendo.com>
4409
4410         Patch by: Jonathan Matthew <jonathan at kaolin dot wh9 dot net>
4411
4412         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
4413         Store new length in segment duration so we don't keep on calling the
4414         potentially expensize get_size() call. Fixes #370865.
4415
4416 2006-11-10  Tim-Philipp Müller  <tim at centricular dot net>
4417
4418         Patch by: Sergey Scobich  <sergey.scobich at gmail com>
4419
4420         * win32/common/libgstreamer.def:
4421           Add two missing symbols (#366492).
4422
4423 2006-11-10  Jan Schmidt  <thaytan@mad.scientist.com>
4424
4425         * libs/gst/base/gstadapter.c: (gst_adapter_flush),
4426         (gst_adapter_take_buffer):
4427         Fix format string to use all its arguments.
4428         Remove useless >= check on a guint
4429
4430 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
4431
4432         * tests/examples/adapter/.cvsignore:
4433         Ignore build file as commanded by the build-bot
4434
4435 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
4436
4437         * tests/examples/adapter/Makefile.am:
4438         * tests/examples/adapter/adapter_test.c: (run_test_take),
4439         (run_test_take_buffer), (run_tests), (main):
4440
4441         Add new files from the previous commit
4442
4443 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
4444
4445         * Makefile.am:
4446         * configure.ac:
4447         * libs/gst/base/gstadapter.c: (gst_adapter_clear),
4448         (gst_adapter_push), (gst_adapter_peek_into), (gst_adapter_peek),
4449         (gst_adapter_flush), (gst_adapter_take), (gst_adapter_take_buffer):
4450         * libs/gst/base/gstadapter.h:
4451         * tests/check/libs/adapter.c: (create_and_fill_adapter),
4452         (GST_START_TEST), (gst_adapter_suite):
4453         * tests/examples/Makefile.am:
4454         Do some optimisation work in GstAdapter to avoid copies in more cases.
4455         It could still do slightly better by merging buffers when
4456         gst_buffer_is_span_fast is true, but is already faster. 
4457
4458         Also, avoid traversing a single-linked list to append each incoming 
4459         buffer inside the adapter.
4460
4461         Add simple test app that times the adapter behaviour in different
4462         situations, and extend the unit test to check that bytes enter and
4463         exit the adapter in their original order.
4464
4465 2006-11-08  Tim-Philipp Müller  <tim at centricular dot net>
4466
4467         * docs/random/draft-missing-plugins.txt:
4468           Update: use element message instead of adding a new message
4469           type to the core; don't provide GStreamer API to initiate the
4470           plugin download, just provide API to compose the strings needed
4471           and let an external libgimmestuff handle the rest.
4472
4473 2006-11-08  Jan Schmidt  <thaytan@mad.scientist.com>
4474
4475         * tools/gst-inspect.c: (print_element_properties_info):
4476         Print a string instead of 'unknown type' for GValueArray properties
4477
4478 2006-11-08  Christian F.K. Schaller  <christian@fluendo.com>
4479
4480         * docs/random/draft-missing-plugins.txt:
4481         More small fixes.
4482
4483 2006-11-07  Tim-Philipp Müller  <tim at centricular dot net>
4484
4485         * tests/examples/typefind/typefind.c: (type_found), (main):
4486           Make typefind element example work again (#371894); add a
4487           license header.
4488
4489 2006-11-07  Tim-Philipp Müller  <tim at centricular dot net>
4490
4491         * docs/random/draft-missing-plugins.txt:
4492           Commit initial draft about how to deal with missing plugins,
4493           needs work (API too).
4494
4495 2006-11-07  Stefan Kost  <ensonic@users.sf.net>
4496
4497         * docs/pwg/advanced-types.xml:
4498           documents the new caps elements (see #363118)
4499
4500 2006-11-06  Tim-Philipp Müller  <tim at centricular dot net>
4501
4502         * gst/gstplugin.c: (gst_plugin_load_file):
4503         * plugins/elements/gstfilesrc.c: (gst_mmap_buffer_finalize),
4504         (gst_file_src_map_region), (gst_file_src_start):
4505         * plugins/indexers/gstfileindex.c: (gst_file_index_load),
4506         (gst_file_index_commit):
4507           Use g_strerror() instead of strerror() - we want UTF-8.
4508
4509 2006-11-06  Tim-Philipp Müller  <tim at centricular dot net>
4510
4511         Patch by: Peter Kjellerstedt <pkj at axis com>
4512
4513         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
4514           Another printf fix (#371493).
4515
4516 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
4517
4518         * tests/check/gst/gsttag.c:
4519           relicence (okay with author=company)
4520
4521 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
4522
4523         * gst/gstpad.c: (gst_pad_event_default_dispatch),
4524         (gst_pad_push_event):
4525           Enhance debug and improve docs
4526         
4527         * gst/gsturi.c:
4528           Fix docs
4529
4530 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
4531
4532         * docs/random/ensonic/distributed.txt:
4533         * docs/random/ensonic/profiling.txt:
4534           more ideas
4535
4536 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
4537
4538         * docs/gst/gstreamer-sections.txt:
4539           add new API and fix the build
4540           
4541         * gst/gstbin.c: (gst_bin_recalc_state):
4542         * gst/gstelement.c: (gst_element_message_full),
4543         (gst_element_get_state_func), (gst_element_set_state_func):
4544           use new API and improve logging
4545         
4546         * gst/gstutils.c: (gst_element_state_change_return_get_name):
4547         * gst/gstutils.h:
4548           API: add function to get StateChangereturn names to improve logs 
4549
4550 2006-11-04  Thomas Vander Stichele  <thomas at apestaart dot org>
4551
4552         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
4553           I'm considering shooting the next person to put strerror stuff
4554           in the translateable part of the message.
4555
4556 2006-11-03  Wim Taymans  <wim@fluendo.com>
4557
4558         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
4559         Get the type and printf conversion specifiers right.
4560
4561 2006-11-03  Wim Taymans  <wim@fluendo.com>
4562
4563         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
4564
4565         * gst/gstpad.c: (gst_pad_init), (pre_activate),
4566         (gst_pad_set_blocked_async), (gst_pad_acceptcaps_default),
4567         (gst_pad_accept_caps), (handle_pad_block), (gst_pad_push_event):
4568         Some small cleanups. Improve debugging.
4569         * gst/gstpad.h:
4570         Signal all waiting threads with a broadcast instead of just one.
4571         Fixes #369942.
4572
4573 2006-11-03  Wim Taymans  <wim@fluendo.com>
4574
4575         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd),
4576         (gst_fd_src_create):
4577         Add some debugging. 
4578         Only update fd when it's different from the old.
4579
4580 2006-11-02  Tim-Philipp Müller  <tim at centricular dot net>
4581
4582         * plugins/elements/gstfilesrc.c: (gst_file_src_create_mmap):
4583           Printf fixes for PPC/OSX, take two (#369366).
4584
4585 2006-11-02  Tim-Philipp Müller  <tim at centricular dot net>
4586
4587         Based on patch by: Jan David Mol  <j.j.d.mol at tudelft nl>
4588
4589         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
4590         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
4591         (gst_file_src_map_small_region), (gst_file_src_create_mmap):
4592           Printf fixes for gsize parameters on PPC/OSX (#369366). Also,
4593           don't cast to long long for portability reasons, but use
4594           GLib's types instead.
4595
4596 2006-10-30  Michael Smith  <msmith@fluendo.com>
4597
4598         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
4599           Get the arguments to lseek() the right way around.
4600           Fixes 367677.
4601
4602 2006-10-30  Wim Taymans  <wim@fluendo.com>
4603
4604         Patch by: gorshkov <gorshkov at oghma dot on dot ca>
4605
4606         * gst/gstinfo.h:
4607         _declspec should be __declspec (two underscores, not one). Fixes 366572.
4608
4609 2006-10-28  Tim-Philipp Müller  <tim at centricular dot net>
4610
4611         Patch by: Kjartan Maraas  <kmaraas at gnome org>
4612
4613         * docs/design/part-MT-refcounting.txt:
4614         * docs/random/wtay/capsnego2-docs:
4615         * gst/gstclock.c:
4616         * gst/gstxml.c:
4617           Typo fixes (#366212).
4618
4619 2006-10-28  Wim Taymans  <wim@fluendo.com>
4620
4621         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
4622
4623         * gst/gst.c:
4624         * win32/common/libgstbase.def:
4625         * win32/common/libgstreamer.def:
4626         * win32/vs8/libgstbase.vcproj:
4627         * win32/vs8/libgstcontroller.vcproj:
4628         Add needed entries in .def files.
4629         Use HAVE_UNISTD_H.
4630         Rearrange def files in vs8 solutions. Fixes #366286.
4631
4632 2006-10-28  Tim-Philipp Müller  <tim at centricular dot net>
4633
4634         * win32/common/gstconfig.h:
4635           Add GST_SEGMENT_FORMAT and GST_USING_PRINTF_EXTENSION to the
4636           hand-made win32 gstconfig.h. Fixes #366321.
4637
4638 2006-10-27  Wim Taymans  <wim@fluendo.com>
4639
4640         * gst/gstghostpad.c: (gst_proxy_pad_do_acceptcaps),
4641         (gst_ghost_pad_new_full):
4642         Make acceptcaps return TRUE when we don't have a target, just like
4643         setcaps does.
4644
4645 2006-10-27  Wim Taymans  <wim@fluendo.com>
4646
4647         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
4648         Revert previous commit, 0 sized buffers are allowed. Reopens #363095.
4649
4650 2006-10-26  Tim-Philipp Müller  <tim at centricular dot net>
4651
4652         * gst/gststructure.c: (gst_structure_id_set_value):
4653           If someone tries to set a non-UTF8 string field on a structure,
4654           don't just print a warning, but also ignore the request and do
4655           not change/add that field to the structure.
4656
4657         * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
4658           Test for the above.
4659
4660 2006-10-25  David Schleef  <ds@schleef.org>
4661
4662         * gst/gstinfo.c:
4663           g_hash_table_insert() needs a cast to a non-const pointer duh.
4664
4665 2006-10-25  David Schleef  <ds@schleef.org>
4666
4667         * gst/gstinfo.c:
4668         * gst/gstinfo.h:
4669           Change name parameter of _gst_debug_register_funcptr to const
4670           to reflect the constness of its use in the function as well
4671           as to quiet a gcc warning.
4672
4673 2006-10-25  Edward Hervey  <edward@fluendo.com>
4674
4675         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
4676         Don't push the buffer if it's empty.
4677         Closes #363095
4678
4679 2006-10-24  Wim Taymans  <wim@fluendo.com>
4680
4681         * gst/gstevent.h:
4682         Add small comment.
4683
4684         * libs/gst/base/gstbasetransform.c:
4685         (gst_base_transform_sink_eventfunc):
4686         Debug segment values *after* updating them as this is more
4687         interesting.
4688
4689 2006-10-23  Wim Taymans  <wim@fluendo.com>
4690
4691         * docs/design/part-events.txt:
4692         Update some docs.
4693
4694         * docs/design/part-block.txt:
4695         * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
4696         (gst_pad_push_event):
4697         Revert BLOCKING patch, it tries to be smart without really having a
4698         clear idea what or how. So, now we discard all FLUSHING events again on
4699         a blocking pad. Should fix gnonlin again.
4700
4701 2006-10-23  Wim Taymans  <wim@fluendo.com>
4702
4703         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
4704
4705         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
4706         (gst_base_src_start), (gst_base_src_activate_push):
4707         Make sure size is always initialized. Fixes #364388.
4708
4709 2006-10-20  Stefan Kost  <ensonic@users.sf.net>
4710
4711         * docs/random/ensonic/distributed.txt:
4712           add some ideas about doing distributed processing
4713
4714         * docs/random/ensonic/profiling.txt:
4715           get_rusage look promising
4716
4717 2006-10-18  Stefan Kost  <ensonic@users.sf.net>
4718
4719         * docs/manual/basics-helloworld.xml:
4720           Add a cast in example to fix compile warning
4721
4722 2006-10-18  Wim Taymans  <wim@fluendo.com>
4723
4724         * gst/gstsegment.c: (gst_segment_set_last_stop),
4725         (gst_segment_set_seek), (gst_segment_set_newsegment_full):
4726         Relax arg checking again, -1 is allowed.
4727
4728 2006-10-18  Wim Taymans  <wim@fluendo.com>
4729
4730         * gst/gstsegment.c: (gst_segment_set_last_stop),
4731         (gst_segment_set_seek), (gst_segment_set_newsegment_full):
4732         _set_last_stop() must be with a value != -1
4733         A _TYPE_SET to -1 means seek to 0.
4734         Calc last_stop correctly for negative rates.
4735         Make sure we work with positive durations when updating a segment.
4736
4737 2006-10-18  Wim Taymans  <wim@fluendo.com>
4738
4739         * docs/design/part-live-source.txt:
4740         * gst/gstclock.h:
4741         Small docs fixes.
4742
4743 2006-10-18  Tim-Philipp Müller  <tim at centricular dot net>
4744
4745         * gst/gstbuffer.h:
4746           Add an explicit cast to GstBuffer** to keep old code that added an
4747           explicit cast to GstMiniObject** for gst_mini_object_replace()
4748           compiling without warning.
4749
4750 2006-10-18  Stefan Kost  <ensonic@users.sf.net>
4751
4752         * gst/gstvalue.c: (gst_value_set_date), (gst_date_copy):
4753           check for validity of dates
4754
4755 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
4756
4757         * docs/gst/gstreamer-sections.txt:
4758           Forgot this one, makes gtk-doc shut up.
4759
4760 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
4761
4762         Patch by: Peter Kjellerstedt <pkj at axis com>
4763
4764         * gst/gstobject.h:
4765           Don't define xmlNodePtr to gpointer if the core was built with
4766           --disable-loadsave and --disable-registry, this will break
4767           applications that want to use libxml2 but are buildling against a
4768           core that doesn't use libxml2. Use an intermediary type GstXmlNodePtr
4769           instead so we don't have to mess with the libxml2 namespace
4770           (#361675).
4771
4772 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
4773
4774         * gst/gstbuffer.h:
4775           Fix gst_buffer_replace() macro to avoid gst_mini_object_replace()-related
4776           type-punned pointer warnings.
4777
4778 2006-10-16  Tim-Philipp Müller  <tim at centricular dot net>
4779
4780         * gst/gstelement.h:
4781           Add casts to the correct return type to state <=> state transition
4782           macros.
4783
4784 2006-10-16  Stefan Kost  <ensonic@users.sf.net>
4785
4786         * docs/design/part-live-source.txt:
4787           describe howto handle latency
4788         
4789         * docs/random/ensonic/profiling.txt:
4790           more ideas
4791
4792         * tools/gst-plot-timeline.py:
4793           fix log parsing for solaris, remove unused function
4794
4795 2006-10-16  Wim Taymans  <wim@fluendo.com>
4796
4797         * docs/design/part-trickmodes.txt:
4798         * gst/gstevent.c:
4799         Update some docs regarding reverse playback.
4800
4801 2006-10-15  Tim-Philipp Müller  <tim at centricular dot net>
4802
4803         Patch by: Marcus Granado  <mrc dot gran at gmail com>
4804
4805         * win32/vs8/grammar.vcproj:
4806           Error out with a warning if glib-genmarshal.exe is not in path,
4807           instead of creating bogus gstmarshal.[ch] files. Fixes #361720.
4808
4809 2006-10-13  Wim Taymans  <wim@fluendo.com>
4810
4811         * gst/gstsegment.c: (gst_segment_set_seek):
4812         When seeking to stop -1, set last_stop (current position) to the
4813         duration of the segment.
4814
4815 2006-10-13  Wim Taymans  <wim@fluendo.com>
4816
4817         * gst/gstelement.h:
4818         Clarify _NO_PREROLL a bit more.
4819
4820         * gst/gstevent.c:
4821         Fix docs.
4822
4823         * gst/gstpad.c: (gst_pad_link_check_hierarchy),
4824         (gst_pad_get_caps_unlocked), (gst_pad_save_thyself),
4825         (handle_pad_block), (gst_pad_push_event), (gst_pad_send_event):
4826         Patch by: Yves Lefebvre <ivanohe at abacom dot com> Fix possible deadlock
4827         due to wrong locking order. Fixes #361769.
4828         Remove some redundant/misplaced checks in pad_block.
4829
4830         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
4831         For negative rates, count backwards from the duration.
4832
4833 2006-10-13  Tim-Philipp Müller  <tim at centricular dot net>
4834
4835         * gst/gsterror.c: (_gst_library_errors_init):
4836           Fix error message for GST_LIBRARY_ERROR_SETTINGS (feel free to come
4837           up with something better).
4838
4839 2006-10-12  Tim-Philipp Müller  <tim at centricular dot net>
4840
4841         * win32/vs6/libgstreamer.dsp:
4842         * win32/vs7/libgstreamer.vcproj:
4843         * win32/vs8/libgstreamer.vcproj:
4844           Don't reference glib-compat.c which is currently not used and not
4845           disted; add gstquark.c which was recently added. Fixes #361730.
4846
4847 2006-10-12  Tim-Philipp Müller  <tim at centricular dot net>
4848
4849         * win32/common/libgstbase.def:
4850         * win32/common/libgstcontroller.def:
4851         * win32/common/libgstreamer.def:
4852           Add gst_caps_merge() and a bunch of other recently-added functions.
4853           Fixes #361732.
4854
4855 2006-10-11  Wim Taymans  <wim@fluendo.com>
4856
4857         * docs/plugins/gstreamer-plugins.args:
4858         * docs/plugins/inspect/plugin-coreelements.xml:
4859         * docs/plugins/inspect/plugin-coreindexers.xml:
4860         Update element args.
4861
4862         * gst/gstsystemclock.c:
4863         Small comment update.
4864
4865         * plugins/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
4866         (gst_tee_request_new_pad), (gst_tee_release_pad),
4867         (gst_tee_buffer_alloc), (gst_tee_sink_activate_push),
4868         (gst_tee_sink_activate_pull):
4869         * plugins/elements/gsttee.h:
4870         Some tee loving:
4871         Add default property defines.
4872         Implement release pad function.
4873         Give properties better blubs etc.
4874         Activate pads before adding them to a running tee.
4875         Do simple buffer_alloc on the first requested pad.
4876         Post error when activation fails.
4877
4878 2006-10-11  Tim-Philipp Müller  <tim at centricular dot net>
4879
4880         * gst/gst.c: (ensure_current_registry_forking):
4881           Check return value of write() to make compiler happy.
4882
4883 2006-10-11  Wim Taymans  <wim@fluendo.com>
4884
4885         Patch by: Sjoerd Simons <sjoerd at luon dot net>
4886
4887         * plugins/elements/gstqueue.c: (gst_queue_chain):
4888         Recheck queue filledness after signalling the overrun when we're about
4889         to leak downstream because we released the lock when emitting the signal
4890         and the queue could be empty again. Fixes #352345.
4891
4892 2006-10-11  Tim-Philipp Müller  <tim at centricular dot net>
4893
4894         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list):
4895           Fix refcounting here too, just like we did for _new_valist() a few
4896           days ago (#357180) (thanks to René Stadler). Also remove all those
4897           'Since: 0.9' from the gtk-doc blobs.
4898
4899         * tests/check/libs/controller.c: (controller_refcount_new_list),
4900         (gst_controller_suite):
4901           Unit test for the above.
4902
4903 2006-10-10  Wim Taymans  <wim@fluendo.com>
4904
4905         Patch by: Sebastien Cote <sebas642 at yahoo dot ca>
4906
4907         * gst/gstpad.c: (gst_pad_get_caps_unlocked),
4908         (gst_pad_save_thyself):
4909         Update some docs.
4910         Write pad direction in XML output. Fixes #345496.
4911
4912 2006-10-10  Wim Taymans  <wim@fluendo.com>
4913
4914         Patch by: René Stadler <mail at renestadler dot de>
4915
4916         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
4917         (gst_controller_new_list), (_gst_controller_dispose),
4918         (_gst_controller_finalize), (_gst_controller_class_init):
4919         Take ref to controlled object so that it cannot disappear. 
4920         Fixes #357432.
4921
4922 2006-10-10  Wim Taymans  <wim@fluendo.com>
4923
4924         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
4925         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
4926         (gst_check_teardown_sink_pad):
4927         Activate/deactivate pads in setup/teardown respectively.
4928
4929 2006-10-10  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
4930
4931         Patch by: Josep Torre Valles <josep@fluendo.com>
4932
4933         * gst/Makefile.am:
4934         Cast values when making gstenumtypes.h.  This pacifies Forte
4935         so it doesn't warn about the ~0 as GST_MESSAGE_ANY not fitting
4936         in the enumeration.
4937
4938 2006-10-09  Wim Taymans  <wim@fluendo.com>
4939
4940         * gst/gstevent.c: (gst_event_new_seek), (gst_event_parse_seek):
4941         Rename some more @cur to @start to fix docs. 
4942
4943         * gst/gstsegment.c: (gst_segment_set_seek):
4944         Fix typo.
4945         time and start must always stay in sync as defined in design doc.
4946
4947         * gst/gsttaglist.c: (gst_tag_list_is_empty):
4948         Rename param to fix docs.
4949
4950         * tests/check/gst/gstsegment.c: (GST_START_TEST):
4951         Check that start and time are in sync.
4952
4953         * tests/check/pipelines/parse-launch.c:
4954         (gst_parse_test_element_change_state):
4955         Activate pad before adding to the element.
4956
4957 2006-10-09  Wim Taymans  <wim@fluendo.com>
4958
4959         * docs/design/part-qos.txt:
4960         Fix typo.
4961
4962         * gst/gstevent.c:
4963         * gst/gstevent.h:
4964         Update seek event docs regarding negative rates.
4965         Rename @cur to @start. 
4966
4967         * gst/gstsegment.c: (gst_segment_set_seek):
4968         * gst/gstsegment.h:
4969         Update set_seek docs regarding negative rates.
4970         Correctly update last_stop to @stop when dealing with negative
4971         rates.
4972         Rename @cur to @start. 
4973
4974         * tests/check/gst/gstpad.c: (GST_START_TEST):
4975         Activate pads before trying to use them.
4976
4977         * tests/check/gst/gstsegment.c: (GST_START_TEST),
4978         (gst_segment_suite):
4979         Add simple check for segments and negative rates.
4980
4981 2006-10-09  Tim-Philipp Müller  <tim at centricular dot net>
4982
4983         * gst/gsttaglist.c: (gst_tag_list_is_empty):
4984         * gst/gsttaglist.h:
4985         * docs/gst/gstreamer-sections.txt:
4986           API: add gst_tag_list_is_empty() (#360467).
4987
4988         * tests/check/gst/gsttag.c: (GST_START_TEST):
4989           And a test case.
4990
4991 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
4992
4993         * gst/gstmessage.h:
4994         Revert change from earlier wrt GST_MESSAGE_TYPE_ANY having
4995         a value that doesn't fit on enumeration.
4996
4997 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
4998
4999         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
5000         Remove local debugging system and use Gstreamer's instead.
5001
5002 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5003
5004         Patch by: Josep Torre Valles <josep@fluendo.com>
5005
5006         * common/m4/gst-error.m4:
5007         Disable warning of statement not reached on Forte.
5008         * gst/gstmessage.h:
5009         Fix warning on Forte (value doesn't fit on enumeration).
5010         * libs/gst/base/gstbasesink.c: (gst_base_sink_chain_unlocked):
5011         Fix warning on Forte (value doesn't fit on enumeration).
5012         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
5013         DEBUG macro says it takes minimum of 2 args and so Forte
5014         complains about the use with just 1 arg.
5015         * plugins/elements/gstfdsink.c:
5016         * plugins/elements/gstfdsrc.c:
5017         * plugins/elements/gstfilesink.c:
5018         * plugins/elements/gstfilesrc.c:
5019         Use correct return type for the uri handler implementations.
5020
5021         All these fix warnings in Forte.  Fixes bug #360860.
5022
5023 2006-10-08  Tim-Philipp Müller  <tim at centricular dot net>
5024
5025         * gst/gstelement.h:
5026           gcc versions prior to gcc 3.3 apparently complain about a NULL printf
5027           format string, so don't use G_GNUC_PRINTF for those versions.
5028
5029 2006-10-07  Tim-Philipp Müller  <tim at centricular dot net>
5030
5031         * gst/gsttaglist.c: (gst_is_tag_list):
5032         * gst/gsttaglist.h:
5033           Minor fixes to GST_IS_TAG_LIST and gst_is_tag_list().
5034
5035         * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
5036           Small test for the above.
5037
5038 2006-10-07  Tim-Philipp Müller  <tim at centricular dot net>
5039
5040         * gst/gsttaglist.h:
5041           Less tabs, more spaces.
5042
5043 2006-10-06  Tim-Philipp Müller  <tim at centricular dot net>
5044
5045         * gst/gstinfo.h:
5046           Those two function declarations do actually belong there, revert
5047           commit from yesterday that turned them intro macros.
5048
5049 2006-10-06  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5050
5051         Patch by: Josep Torre Valles <josep@fluendo.com>
5052
5053         * gst/gst.c: (gst_init_get_option_group):
5054         Fix empty declaration and type mismatch.
5055         * gst/gstbin.c: (gst_bin_change_state_func):
5056         Fix type mismatch.
5057         * gst/gstelement.c: (gst_element_continue_state),
5058         (gst_element_set_state_func), (gst_element_change_state),
5059         (gst_element_change_state_func):
5060         Fix type mismatches.
5061         * gst/gstinfo.c: (gst_debug_compare_log_function_by_func),
5062         (gst_debug_remove_log_function), (_gst_debug_nameof_funcptr):
5063         Cast as appropriate.
5064         * gst/gstobject.c: (gst_class_signal_connect):
5065         Cast as appropriate.  The function pointer parameter really
5066         has the wrong type but would break API if we change it.
5067         * gst/gstquery.c:
5068         Fix redefinition of _FILE_OFFSET_BITS caused on Solaris wrt
5069         order of including string.h.
5070         * gst/gstutils.c: (gst_element_state_get_name):
5071         Remove unreachable line.
5072         * gst/gstxml.c: (gst_xml_parse_doc):
5073         Fix type mismatch.
5074         All these caught by Forte.
5075
5076 2006-10-06  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5077
5078         Patch by: Josep Torre Valles <josep@fluendo.com>
5079
5080         * common/m4/gst-error.m4:
5081         Fixed bug #360151.
5082         We need to disable warnings on Forte for empty declarations
5083         due to gst-indent adding ;s to lines that just use macros
5084         where the macro actually doesn't need a ; at end to end
5085         statement.
5086
5087 2006-10-06  Wim Taymans  <wim@fluendo.com>
5088
5089         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
5090         (gst_file_sink_close_file), (gst_file_sink_event),
5091         (gst_file_sink_render):
5092         Add some FIXME for the NEWSEGMENT handling.
5093
5094 2006-10-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5095
5096         * gst/parse/grammar.y:
5097         Remove static function gst_parse_element_lock as all it does
5098         is return.  Looks like cruft from 0.8.
5099
5100 2006-10-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5101
5102         Patch by: Josep Torre Valles <josep@fluendo.com>
5103
5104         * common/m4/gst-error.m4:
5105         * configure.ac:
5106         * libs/gst/net/Makefile.am:
5107         Fix a compilation issue with Forte on Solaris.  inet_aton is in
5108         libresolv.
5109
5110 2006-10-05  Tim-Philipp Müller  <tim at centricular dot net>
5111
5112         * gst/gstpad.c: (pre_activate):
5113         * gst/gstregistry.c: (gst_registry_scan_path_level):
5114         * gst/gstregistryxml.c: (load_plugin):
5115         * libs/gst/controller/gstcontroller.c:
5116         (gst_controlled_property_set_interpolation_mode):
5117         * libs/gst/dataprotocol/dataprotocol.c:
5118         (gst_dp_packet_from_event_1_0):
5119         * libs/gst/net/gstnetclientclock.c:
5120         (gst_net_client_clock_observe_times):
5121         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
5122           Printf fixes.
5123
5124 2006-10-05  Tim-Philipp Müller  <tim at centricular dot net>
5125
5126         * configure.ac:
5127         * docs/gst/gstreamer-sections.txt:
5128         * gst/gstconfig.h.in:
5129         * gst/gstelement.h:
5130         * gst/gstinfo.h:
5131           Add GST_USING_PRINTF_EXTENSION to gstconfig.h so that we know
5132           whether we can use G_GNUC_PRINTF in other header files and at
5133           least check the printf format/arguments of debug messages and
5134           GST_ELEMENT_ERROR messages when the printf extension is not
5135           being used.
5136           Replace more tabs with spaces in gstinfo.h and remove two spurious
5137           function declarations in GST_DISABLE_DEBUG part with macros.
5138
5139 2006-10-03  Tim-Philipp Müller  <tim at centricular dot net>
5140
5141         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_post):
5142           More docs for the sync-message signal (mention that it is not
5143           emitted by default); log message structures of messages posted on
5144           the bus as well.
5145
5146 2006-10-03  Jan Schmidt  <thaytan@mad.scientist.com>
5147
5148         * gst/gst.c: (ensure_current_registry_forking):
5149         Use a pipe pair to receive status results from the forked child, and
5150         ignore the result from waitpid. Fixes #355499
5151
5152 2006-10-02  Wim Taymans  <wim@fluendo.com>
5153
5154         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
5155         (gst_ghost_pad_suite):
5156         Fix leak in check.
5157
5158 2006-10-02  Tim-Philipp Müller  <tim at centricular dot net>
5159
5160         * gst/gstpad.c:
5161           Add 'Since: 0.10.11' to gst_pad_is_blocking() gtk-doc blurb.
5162
5163 2006-10-02  Edward Hervey  <edward@fluendo.com>
5164
5165         * docs/design/part-block.txt:
5166         Further explain the use of flushing on blocked pads.
5167         * docs/gst/gstreamer-sections.txt:
5168         * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
5169         (gst_pad_push_event):
5170         * gst/gstpad.h:
5171         Added new GstPadFlag : GST_PAD_BLOCKING.
5172         Adds the notion of pads really blocking, which enables to properly
5173         handle FLUSH_START/FLUSH_STOP events on blocked pads.
5174         Fixes #358999
5175         API: gst_pad_is_blocking()
5176         API: GST_PAD_IS_BLOCKING() macro
5177         API: GST_PAD_BLOCKING GstPadFlag
5178         
5179 2006-10-02  Wim Taymans  <wim@fluendo.com>
5180
5181         Patch by: mrcgran <mrc.gran at gmail dot com>
5182
5183         * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps):
5184         Filter the proxied caps against the padtemplate if we have one.
5185
5186         * gst/gstquery.c: (gst_query_new_segment):
5187         Add include for gstinfo.h so that compilation with
5188         -DGST_DISABLE_GST_DEBUG works again. Fixes #358436.
5189
5190 2006-10-02  Wim Taymans  <wim@fluendo.com>
5191
5192         Patch by: Alessandro Decina  <alessandro at nnva org>
5193
5194         * plugins/elements/gstfilesink.c: (gst_file_sink_init),
5195         (gst_file_sink_set_location), (gst_file_sink_open_file),
5196         (gst_file_sink_close_file), (gst_file_sink_event),
5197         (gst_file_sink_render):
5198         Set file to NULL when closing filesink so that we can set a new filename
5199         in READY. Fixes #358613.
5200
5201 2006-10-02  Tim-Philipp Müller  <tim at centricular dot net>
5202
5203         Patch by: Alessandro Decina  <alessandro at nnva org>
5204
5205         * gst/gstevent.c: (_gst_event_copy):
5206           Fix gst_mini_object_make_writable() and gst_event_copy() for events
5207           with event structures by setting the parent refcount address of the
5208           copied structure to the address of the refcount member of the newly
5209           copied event rather than the address of the refcount member of the
5210           original event. Fixes #358737.
5211
5212         * tests/check/gst/gstevent.c: (GST_START_TEST):
5213           Unit test for the above.
5214
5215 2006-09-29  Stefan Kost  <ensonic@users.sf.net>
5216
5217         * docs/design/Makefile.am:
5218           Dist some more files.
5219
5220 2006-09-29  Tim-Philipp Müller  <tim at centricular dot net>
5221
5222         * tests/check/libs/controller.c: (GST_START_TEST),
5223         (gst_controller_suite):
5224           Add test for the previous fix; add some more tests
5225           for correct refcounting behaviour; fix a few leaks
5226           in test cases; call gst_controller_init() at start
5227           of all tests.
5228
5229 2006-09-29  Tim-Philipp Müller  <tim at centricular dot net>
5230
5231         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
5232         (gst_controller_set_from_list):
5233           Don't g_return_val_if_fail() on timed values with invalid timestamps
5234           inside a critical section without unlocking the mutex. Spotted by
5235           René Stadler. (#357617)
5236           Also, fix up refcounting properly: when returning an existing
5237           controller, we should increase the reference only once and not
5238           once per property and when trying to control a property again
5239           we should also increase the refcount.
5240
5241 2006-09-29  Wim Taymans  <wim@fluendo.com>
5242
5243         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
5244         * libs/gst/net/gstnettimeprovider.c:
5245         (gst_net_time_provider_thread):
5246         Stop reading commands when EOF as well.
5247
5248         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
5249         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
5250         * plugins/elements/gstidentity.c: (gst_identity_class_init):
5251         Unify description of the dump property.
5252
5253 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
5254
5255         * tests/examples/manual/.cvsignore:
5256         OK, so it's actually cvsignore that needs changing. Stop laughing.
5257
5258 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
5259
5260         * tests/examples/manual/Makefile.am:
5261         Gah, declare vars *before* using them
5262
5263 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
5264
5265         * gst/gst.c: (init_pre), (scan_and_update_registry),
5266         (ensure_current_registry_nonforking),
5267         (ensure_current_registry_forking), (ensure_current_registry),
5268         (init_post), (gst_debug_help), (gst_deinit):
5269         * gst/gst_private.h:
5270         * gst/gstregistry.c: (gst_registry_finalize),
5271         (gst_registry_remove_features_for_plugin_unlocked),
5272         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
5273         (gst_registry_scan_path),
5274         (_priv_gst_registry_remove_cache_plugins),
5275         (_priv_gst_registry_cleanup):
5276         * gst/gstregistry.h:
5277         Re-commit the registry changes, along with an extra fix:
5278           When a cached plugin is encountered at a different file path,
5279           update the stored path in the registry cache so that the parent
5280           process knows where it actually is now when it re-reads the registry
5281           cache. Fixes the thing that broke distcheck with the previous commit.
5282
5283         * tests/check/Makefile.am:
5284         Clean up files named 'core' too when running make clean.
5285
5286         * tests/examples/manual/Makefile.am:
5287         Set up a registry path for running these tests, and clean it properly
5288         for distcheck.
5289
5290 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
5291
5292         * configure.ac:
5293         Don't pull in gmodule-2.0.pc as a dependency in our .pc files - we
5294         want gmodule-no-export-2.0.pc instead so that we don't drag in
5295         --export-dynamic on every project that links to GStreamer.
5296
5297         Also, make our export regex only match the start of symbols, rather 
5298         than any symbol that contains '_gst' somewhere.
5299
5300         * libs/gst/check/Makefile.am:
5301         The libgstcheck we build does however need export-dynamic, as it
5302         produces some symbols that don't match our _gst... style regex.
5303         Fixes: #318031
5304
5305 2006-09-27  Jan Schmidt  <thaytan@mad.scientist.com>
5306
5307         * gst/gst.c: (init_pre), (scan_and_update_registry),
5308         (ensure_current_registry_nonforking),
5309         (ensure_current_registry_forking), (ensure_current_registry),
5310         (init_post), (gst_debug_help), (gst_deinit):
5311         * gst/gst_private.h:
5312         * gst/gstregistry.c: (gst_registry_finalize),
5313         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
5314         (gst_registry_scan_path), (_gst_registry_remove_cache_plugins),
5315         (_gst_registry_cleanup):
5316         * gst/gstregistry.h:
5317           Revert previous change until I figure out why it breaks distcheck.
5318
5319 2006-09-27  Jan Schmidt  <thaytan@mad.scientist.com>
5320
5321         * gst/gst.c: (init_pre), (scan_and_update_registry),
5322         (ensure_current_registry_nonforking),
5323         (ensure_current_registry_forking), (ensure_current_registry),
5324         (init_post), (gst_debug_help), (gst_deinit):
5325
5326           Make init_pre and init_post take the full complement of GOptionFunc
5327           args so they can return useful GErrors. Make the registry updating
5328           functions do so.
5329
5330           Call _priv_gst_registry_remove_cache_plugins after scanning files to
5331           ensure that the registry we're about to write out doesn't contain
5332           stale information about old-deleted plugin files.
5333
5334           Make _priv_gst_registry_remove_cache_plugins return a boolean so
5335           that deletion of plugin files is considered a registry change.
5336
5337         * gst/gst_private.h:
5338         * gst/gstregistry.c: (gst_registry_finalize),
5339         (gst_registry_remove_features_for_plugin_unlocked),
5340         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
5341         (gst_registry_scan_path),
5342         (_priv_gst_registry_remove_cache_plugins),
5343         (_priv_gst_registry_cleanup):
5344         * gst/gstregistry.h:
5345         Rename _gst_registry_remove_cache_plugins and _gst_registry_cleanup
5346         by adding _priv prefix, so that they won't appear in the global
5347         symbol table. They still do atm though because of #318031. Move the
5348         prototypes to gst_private.h
5349
5350         When removing a plugin, remove all features for that plugin too. 
5351         Fixes #340878.
5352
5353 2006-09-27  Wim Taymans  <wim@fluendo.com>
5354
5355         * docs/random/moving-plugins:
5356         Make it clear that the "compiled-in descriptions" really mean
5357         the element details.
5358
5359         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
5360         (gst_base_sink_wait_preroll):
5361         Update docs.
5362
5363         * docs/libs/gstreamer-libs-sections.txt:
5364         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
5365         (gst_base_src_get_range), (gst_base_src_activate_push):
5366         * libs/gst/base/gstbasesrc.h:
5367         Added function to block while waiting for PLAYING, this function
5368         is used by live sources that block on the clock.
5369         API: gst_base_src_wait_playing()
5370
5371 2006-09-27  Tim-Philipp Müller  <tim at centricular dot net>
5372
5373         Patch by: Peter Kjellerstedt <pkj at axis com>
5374
5375         * Makefile.am:
5376           gst-element-check.m4 is generated and should therefore be
5377           copied from the build dir rather than the source dir (#357593).
5378           'make distcheck' hasn't noticed this because we were disting
5379           the file as well, so stop doing that.
5380
5381 2006-09-27  Tim-Philipp Müller  <tim at centricular dot net>
5382
5383         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
5384           Add some tests for gst_caps_intersect().
5385
5386         * tools/gst-launch.c: (event_loop):
5387           Print all buffering percentages we get, even the 100% one.
5388
5389 2006-09-26  Wim Taymans  <wim@fluendo.com>
5390
5391         * tools/gst-inspect.c: (print_element_properties_info),
5392         (print_signal_info):
5393         Fix printing of flags to match the look of enums.
5394
5395 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
5396
5397         * gst/gstelementfactory.c:
5398           Fix typo in docs blurb.
5399
5400 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
5401
5402         * gst/gsturi.c: (search_by_entry):
5403           Don't assert/crash here if a uri handler doesn't return any
5404           supported protocols. The list of protocols could be generated
5405           dynamically at runtime or at plugin registration, and an error
5406           in the underlying library shouldn't be fatal (#353301).
5407
5408 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
5409
5410         * gst/gstinfo.c:
5411           Fix warning if HAVE_PRINTF_EXTENSION is undefined
5412           (spotted by Peter Kjellerstedt).
5413
5414 2006-09-23  Wim Taymans  <wim@fluendo.com>
5415
5416         Based on patch by: Antoine Tremblay <hexa00 at gmail dot com>
5417
5418         * libs/gst/base/gstbasesrc.c:
5419         (gst_base_src_default_check_get_range), (gst_base_src_start),
5420         (gst_base_src_activate_push), (gst_base_src_activate_pull),
5421         (gst_base_src_change_state):
5422         Match _start/_stop calls in the activate functions. Remove redundant
5423         _stop call from the state change function. Fixes #356910.
5424         Turn failure DEBUG into ERROR. 
5425
5426 2006-09-22  Wim Taymans  <wim@fluendo.com>
5427
5428         * docs/design/part-buffering.txt:
5429         * gst/gstmessage.c: (gst_message_new_buffering),
5430         (gst_message_parse_buffering):
5431         Update docs about buffering.
5432
5433         * docs/design/part-trickmodes.txt:
5434         Fix typo.
5435
5436 2006-09-22  Stefan Kost  <ensonic@users.sf.net>
5437
5438         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
5439         (gst_controller_new_list):
5440           Ref instances when returning them again (fixes #357180)
5441
5442 2006-09-22  Tim-Philipp Müller  <tim at centricular dot net>
5443
5444         * gst/gstghostpad.c: (gst_ghost_pad_set_target):
5445           Don't forget to release proxy lock when there's an error.
5446
5447 2006-09-20  Jan Schmidt  <thaytan@mad.scientist.com>
5448
5449         * gst/gstcaps.h:
5450           Add extra initialisers for Caps things, to fix some plugin warnings
5451           when using -Wextra
5452
5453 2006-09-18  Wim Taymans  <wim@fluendo.com>
5454
5455         * gst/gstghostpad.c: (gst_ghost_pad_new_full):
5456           Also set template on the internal pad so that a getcaps from the 
5457           target pad returns the template caps.
5458
5459 2006-09-18  Wim Taymans  <wim@fluendo.com>
5460
5461         * gst/gstelement.c: (gst_element_post_message),
5462         (gst_element_dispose):
5463         Use _DEBUG_OBJECT some more.
5464
5465         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
5466         Avoid typechecks.
5467
5468         * tools/gst-launch.c: (main):
5469         If the toplevel element is not a GstPipeline, it must be put in a
5470         pipeline so that a bus and clock is selected.
5471
5472 2006-09-17  Tim-Philipp Müller  <tim at centricular dot net>
5473
5474         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
5475           JITTER, RATE, and LATENCY query should be handled by the
5476           default case and not by the CONVERT query code.
5477
5478 2006-09-17  Tim-Philipp Müller  <tim at centricular dot net>
5479
5480         * gst/gstformat.c: (gst_format_register):
5481           Fix locking order (must take lock before using n_values).
5482
5483         * gst/gstvalue.c: (gst_value_serialize_enum),
5484         (gst_value_deserialize_enum_iter_cmp),
5485         (gst_value_deserialize_enum):
5486           Fix serialisation/deserialisation of custom registered GstFormats.
5487
5488         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
5489           Unit test for custom format serialisation/deserialisation.
5490
5491 2006-09-17  Stefan Kost  <ensonic@users.sf.net>
5492
5493         * docs/pwg/building-boiler.xml:
5494         * plugins/elements/gstcapsfilter.c:
5495         More G_OBJECT macro fixing. Also Fix some details on the plugin-stamp
5496         section.
5497
5498 2006-09-16  Edward Hervey  <edward@fluendo.com>
5499
5500         * libs/gst/base/gstbasetransform.c:
5501         (gst_base_transform_buffer_alloc):
5502         Check if requested caps are the same as the sinks caps IF
5503         ->have_same_caps is TRUE. If they are not, act as if have_same_caps
5504         is FALSE.
5505         This fixes the renegotiation issues stated in #352827.
5506
5507 2006-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
5508
5509         * configure.ac:
5510         * docs/manual/advanced-autoplugging.xml:
5511         * tests/examples/Makefile.am:
5512         * tests/examples/manual/.cvsignore:
5513         * tests/examples/manual/Makefile.am:
5514         * tests/examples/manual/extract.pl:
5515           Extract the manual examples again like we used to do.
5516           Fix one of them.
5517
5518 2006-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
5519
5520         * win32/common/config.h:
5521           update for version
5522
5523 2006-09-16  Stefan Kost  <ensonic@users.sf.net>
5524
5525         * gst/gsterror.c:
5526           Documents how to receive errors.
5527
5528 2006-09-15  Wim Taymans  <wim@fluendo.com>
5529
5530         * tools/gst-launch.c: (sigint_handler_sighandler), (check_intr),
5531         (event_loop), (main):
5532         Added some comments here and there.
5533         Post an application message when an interrupt is caught instead of doing
5534         an uncontrolled state change.
5535         Clean up the event loop.
5536         Handle buffering messages, pause/resume the pipeline.
5537         Make shutdown because of an interrupt more reliable.
5538
5539 2006-09-15  Wim Taymans  <wim@fluendo.com>
5540
5541         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
5542         (gst_base_sink_wait_preroll), (gst_base_sink_do_sync),
5543         (gst_base_sink_preroll_object):
5544         Make sure that our internal state is correct when we commit our state
5545         asynchronously. This solves a race where a state change to PLAYING
5546         could cause the sink to remain blocked in preroll in some situations.
5547
5548 2006-09-15  Wim Taymans  <wim@fluendo.com>
5549
5550         * tools/gst-inspect.c: (print_element_properties_info),
5551         (print_signal_info):
5552         List flags as hex so it's easier to deal with.
5553
5554 2006-09-15  Wim Taymans  <wim@fluendo.com>
5555
5556         * docs/libs/gstreamer-libs-sections.txt:
5557         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_preroll),
5558         (gst_base_sink_do_sync):
5559         * libs/gst/base/gstbasesink.h:
5560         Expose logic to wait for preroll so that subclasses such as audiosink
5561         can also use this method.
5562         API: gst_base_sink_wait_preroll()
5563
5564 2006-09-15  Wim Taymans  <wim@fluendo.com>
5565
5566         * gst/gstobject.c: (gst_object_set_parent):
5567         * gst/gstpipeline.c: (do_pipeline_seek):
5568         Small cleanups in docs and code.
5569
5570         * gst/gstsegment.c: (gst_segment_clip):
5571         * tests/check/gst/gstsegment.c: (GST_START_TEST):
5572         if stop == start and start is in the segment, no clipping should be
5573         done. Also add a test for this.
5574
5575 2006-09-15  Wim Taymans  <wim@fluendo.com>
5576
5577         * docs/design/part-buffering.txt:
5578         * docs/gst/gstreamer-sections.txt:
5579         * gst/gstmessage.c: (gst_message_new_buffering),
5580         (gst_message_parse_buffering):
5581         * gst/gstmessage.h:
5582         Added methods to create and parse BUFFERING messages.
5583         Added preliminary docs about buffering.
5584         API: gst_message_new_buffering
5585         API: gst_message_parse_buffering
5586
5587 2006-09-06  Wim Taymans  <wim@fluendo.com>
5588
5589         * gst/gstbin.c:
5590         Update documentation.
5591
5592         * gst/gstelement.c: (gst_element_class_init),
5593         (gst_element_release_request_pad), (gst_element_set_clock),
5594         (gst_element_get_index), (gst_element_add_pad),
5595         (gst_element_remove_pad), (gst_element_get_random_pad),
5596         (gst_element_send_event), (gst_element_get_query_types),
5597         (gst_element_query), (gst_element_post_message),
5598         (gst_element_message_full), (gst_element_continue_state),
5599         (gst_element_lost_state), (gst_element_save_thyself),
5600         (gst_element_restore_thyself):
5601         Documentation updates.
5602         Rename last bit of the new-pad -> pad-added signal rename.
5603         Fix the case where an element query would only work if the source
5604         pad was linked.
5605         Avoid some useless type checking in message handling.
5606
5607         * gst/gstevent.c:
5608         * gst/gstevent.h:
5609         * gst/gstutils.c:
5610         Documentation updates.
5611
5612 2006-09-14  Thomas Vander Stichele  <thomas at apestaart dot org>
5613
5614         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
5615           add an INFO line for when we actually update the fd
5616
5617 2006-09-14  Thomas Vander Stichele  <thomas at apestaart dot org>
5618
5619         * configure.ac:
5620           back to TRUNK
5621
5622 === release 0.10.10 ===
5623
5624 2006-09-14  Thomas Vander Stichele <thomas at apestaart dot org>
5625
5626         * configure.ac:
5627           releasing 0.10.10, "Pais"
5628
5629 2006-09-05  Tim-Philipp Müller  <tim at centricular dot net>
5630
5631         * docs/manual/advanced-position.xml:
5632           Fix typo in sample code.
5633
5634 2006-09-05  Wim Taymans  <wim@fluendo.com>
5635
5636         * libs/gst/net/gstnetclientclock.c: (inet_aton),
5637         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
5638         (gst_net_client_clock_do_select), (gst_net_client_clock_new):
5639         * libs/gst/net/gstnetclientclock.h:
5640         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
5641         * libs/gst/net/gstnettimepacket.h:
5642         * libs/gst/net/gstnettimeprovider.c: (inet_aton),
5643         (gst_net_time_provider_init), (gst_net_time_provider_finalize),
5644         (gst_net_time_provider_thread), (gst_net_time_provider_new):
5645         * libs/gst/net/gstnettimeprovider.h:
5646         Make stuff compile on windows. Fixes #345295.
5647
5648 2006-09-03  Tim-Philipp Müller  <tim at centricular dot net>
5649
5650         * gst/gst.c: (ensure_current_registry_forking):
5651           Print better details when child was terminated by signal.
5652
5653 2006-09-03  Tim-Philipp Müller  <tim at centricular dot net>
5654
5655         * gst/gstregistryxml.c: (gst_registry_xml_save_feature):
5656           Print a warning rather than g_assert() if a plugin feature
5657           is a URI handler but returns no protocols (#353976).
5658
5659 2006-09-02  Stefan Kost  <ensonic@users.sf.net>
5660
5661         * docs/random/moving-plugins:
5662         Fix two typos.         
5663
5664 2006-09-01  Tim-Philipp Müller  <tim at centricular dot net>
5665
5666         * gst/gstinfo.c: (_gst_debug_nameof_funcptr):
5667           Fix locking order, handle NULL function values properly.
5668
5669         * gst/gstinfo.h:
5670           Fix docs.
5671
5672         * gst/gstpad.c: (gst_pad_buffer_alloc_unchecked):
5673           Initialise variable before using it and fix debug statement to
5674           print the address of the function rather than the address of the
5675           variable on the stack holding the address of the function.
5676
5677 2006-09-01  Wim Taymans  <wim@fluendo.com>
5678
5679         * gst/gstghostpad.c: (gst_proxy_pad_do_event),
5680         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_chain),
5681         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
5682         (gst_proxy_pad_set_target_unlocked), (gst_ghost_pad_parent_set),
5683         (gst_ghost_pad_parent_unset),
5684         (gst_ghost_pad_internal_do_activate_push),
5685         (gst_ghost_pad_internal_do_activate_pull),
5686         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
5687         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
5688         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
5689         (gst_ghost_pad_new_full), (gst_ghost_pad_new_no_target),
5690         (gst_ghost_pad_new), (gst_ghost_pad_new_from_template),
5691         (gst_ghost_pad_new_no_target_from_template),
5692         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
5693         More cleanups.
5694         Avoid needless typechecking in macros.
5695         Since the internal pad is always present and never changes, there is
5696         no need to locking or ref when retrieving it.
5697         Improve debugging a bit.
5698         Handle link errors when setting the target. Fixes #341029.
5699
5700 2006-09-01  Wim Taymans  <wim@fluendo.com>
5701
5702         * docs/libs/gstreamer-libs-sections.txt:
5703         * docs/plugins/gstreamer-plugins-sections.txt:
5704         Fix docs some more.
5705
5706         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
5707         (gst_collect_pads_event):
5708         * libs/gst/base/gstcollectpads.h:
5709         Documentation updates.
5710         Free queued buffer when removing a pad.
5711
5712 2006-08-31  Michael Smith  <msmith@fluendo.com>
5713
5714         * gst/gstutils.c: (gst_element_link_pads),
5715         (gst_element_link_pads_filtered):
5716           Ensure that we set a capsfilter to NULL if we failed to link it
5717           when doing filtered linking, to avoid criticals.
5718
5719           No need to check for unreffing srcpad, which is explicly NULLed
5720           above (a trivial code cleanup).
5721
5722 2006-08-31  Wim Taymans  <wim@fluendo.com>
5723
5724         * docs/design/part-gstghostpad.txt:
5725         Update ascii art in documentation.
5726
5727         * gst/gstghostpad.c: (gst_proxy_pad_do_internal_link),
5728         (gst_proxy_pad_set_target_unlocked), (gst_proxy_pad_init),
5729         (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
5730         (gst_ghost_pad_internal_do_activate_push),
5731         (gst_ghost_pad_internal_do_activate_pull),
5732         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
5733         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
5734         (gst_ghost_pad_dispose), (gst_ghost_pad_new_full),
5735         (gst_ghost_pad_set_target):
5736         Small cleanups and leak fixes.
5737         Remove some checks now that the internal pad is never NULL.
5738         Fix the case where linking pads without a target would create nasty
5739         criticals. Fixes #341029.
5740         Don't assign a GstPadLinkReturn to a gboolean and mess up the return
5741         value of _set_target().
5742
5743         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
5744         (gst_ghost_pad_suite):
5745         Some more tests for creating and linking untargeted ghostpads.
5746
5747 2006-08-31  Edward Hervey  <edward@fluendo.com>
5748
5749         * docs/gst/gstreamer-sections.txt:
5750         * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps),
5751         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
5752         (gst_proxy_pad_dispose), (gst_ghost_pad_new_full),
5753         (gst_ghost_pad_new_no_target), (gst_ghost_pad_new),
5754         (gst_ghost_pad_new_from_template),
5755         (gst_ghost_pad_new_no_target_from_template):
5756         * gst/gstghostpad.h:
5757         Refactored *_new() functions.
5758         Templates are now used as a g_object_new() parameter.
5759         Use template in _do_getcaps() if we don't have a target.
5760         Small documentation cleanups.
5761         Added two new constructors:
5762         gst_ghost_pad_new_from_template()
5763         gst_ghost_pad_new_no_target_from_template()
5764         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
5765         (gst_ghost_pad_suite):
5766         Added tests for new ghostpad instanciation functions.
5767
5768         API additions: gst_ghost_pad_new_from_template,
5769         gst_ghost_pad_new_no_target_from_template
5770
5771 2006-08-30  Stefan Kost  <ensonic@users.sf.net>
5772
5773         * docs/random/ensonic/profiling.txt:
5774           Ideas about qos profiling.
5775
5776 2006-08-29  Wim Taymans  <wim@fluendo.com>
5777
5778         * gst/gstcaps.c: (gst_caps_structure_is_subset_field):
5779         Code cleanups.
5780         Fix memleak.
5781
5782 2006-08-29  Tim-Philipp Müller  <tim at centricular dot net>
5783
5784         * gst/gstxml.c:
5785           Improve and detypofy docs.
5786
5787         * tests/check/Makefile.am:
5788         * tests/check/gst/.cvsignore:
5789         * tests/check/gst/gstxml.c: (GST_START_TEST), (gst_xml_suite):
5790           Add a basic test suite for GstXML.
5791
5792 2006-08-29  Wim Taymans  <wim@fluendo.com>
5793
5794         * gst/gstelement.c: (activate_pads), (clear_caps),
5795         (iterator_activate_fold_with_resync), (gst_element_pads_activate):
5796         Clear the pad caps when the element shut down all of the pads and
5797         is not streaming data that could modify the caps. 
5798         Fixes #352958.
5799
5800 2006-08-28  Michael Smith  <msmith@fluendo.com>
5801
5802         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
5803           Revert previous change; I misunderstood single-segment mode.
5804
5805 2006-08-28  Michael Smith  <msmith@fluendo.com>
5806
5807         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
5808           Unset DISCONT on buffers when using single-segment mode.
5809
5810 2006-08-28  Wim Taymans  <wim@fluendo.com>
5811
5812         * gst/gstcaps.c: (gst_caps_merge_structure):
5813         * gst/gstcaps.h:
5814         Fix docs and indentation again.
5815
5816         * tests/check/gst/gstquery.c: (GST_START_TEST):
5817         Fix leak in tests and add some more tests.
5818
5819 2006-08-28  Edward Hervey  <edward@fluendo.com>
5820
5821         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
5822         Inform GstSegment of the last stop position in order for the current
5823         segment to have a proper duration if it doesn't have a specific stop
5824         position from which a duration could be calculated.
5825         This bug was noticeable when a non-flushing, non-update new segment was
5826         followed by another segment (all buffers from the new segment were being
5827         dropped).
5828
5829 2006-08-28  Wim Taymans  <wim@fluendo.com>
5830
5831         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
5832         Small comment update.
5833
5834         * plugins/elements/gstidentity.c: (gst_identity_class_init),
5835         (gst_identity_transform_ip):
5836         Drop-probability is broken, mention this in the code with a 
5837         FIXME and also in the property description.
5838         Make silent also be silent about the drop messages.
5839
5840 2006-08-28  Tim-Philipp Müller  <tim at centricular dot net>
5841
5842         * docs/manual/appendix-win32.xml:
5843           Remove mention of popt, we don't depend on that any
5844           longer (#353136). Add some comments pointing out that
5845           this section is slightly outdated.
5846
5847 2006-08-28  Wim Taymans  <wim@fluendo.com>
5848
5849         Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
5850
5851         * gst/gstquery.c: (gst_query_new_segment):
5852         * tests/check/gst/gstquery.c: (GST_START_TEST):
5853         Initialize variables when creating a new segment query.
5854         Fixes #353121.
5855
5856 2006-08-28  Wim Taymans  <wim@fluendo.com>
5857
5858         Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
5859
5860         * gst/gstelement.c: (gst_element_get_bus):
5861         * tests/check/gst/gstelement.c: (GST_START_TEST):
5862         Check for NULL before _reffing the bus. Fixes #353122.
5863
5864 2006-08-25  Tim-Philipp Müller  <tim at centricular dot net>
5865
5866         * docs/manual/basics-bus.xml:
5867           Docs update: fix wrong callback return value explanation; add
5868           some lines about the implicit relationship between main loop
5869           and main context; remove duplicate main loop variable declaration.
5870
5871 2006-08-24  Tim-Philipp Müller  <tim at centricular dot net>
5872
5873         * tests/check/gst/gstcaps.c: (GST_START_TEST):
5874           Don't leak caps in unit test; add a few more simple
5875           checks. 
5876
5877 2006-08-24  Stefan Kost  <ensonic@users.sf.net>
5878
5879         * docs/gst/gstreamer-sections.txt:
5880         * gst/gstcaps.c: (gst_caps_structure_is_subset_field),
5881         (gst_caps_structure_is_subset), (gst_caps_merge),
5882         (gst_caps_merge_structure):
5883         * gst/gstcaps.h:
5884         * libs/gst/base/gstbasetransform.c:
5885         (gst_base_transform_transform_caps):
5886         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
5887           implement caps merging (fixes #352580)
5888
5889 2006-08-23  Stefan Kost  <ensonic@users.sf.net>
5890
5891         * tools/Makefile.am:
5892         * tools/gst-plot-timeline.py:
5893           add debug-log plotting developer tool (#340674)
5894
5895 2006-08-23  Wim Taymans  <wim@fluendo.com>
5896
5897         * gst/gstpad.c: (gst_pad_start_task), (gst_pad_pause_task),
5898         (gst_pad_stop_task):
5899         Improve debugging for task functions.
5900
5901         * gst/gsttask.c: (gst_task_func), (gst_task_set_lock),
5902         (gst_task_start), (gst_task_pause), (gst_task_join):
5903         Make sure that the task function started and finished after a 
5904         join(). 
5905         Don't try to push the task function on the threadpool multiple
5906         times.
5907         Improve the g_warning message with some useful suggestions
5908         about how to fix the problem. 
5909
5910 2006-08-23  Wim Taymans  <wim@fluendo.com>
5911
5912         * gst/gstutils.c: (gst_pad_proxy_getcaps):
5913         Handle RESYNC correctly in _proxy_getcaps.
5914
5915 2006-08-21  Tim-Philipp Müller  <tim at centricular dot net>
5916
5917         * gst/gstxml.c: (gst_xml_dispose), (gst_xml_parse_file),
5918         (gst_xml_parse_memory), (gst_xml_get_element):
5919           Chain up to parent class in dispose function and also
5920           unref the elements in the toplevel_elements GList.
5921           Don't leak XmlDocPtr in _parse_file() and _parse_memory().
5922           Always return a reference in gst_xml_get_element() rather
5923           than only sometimes.
5924
5925         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
5926           Don't leak GstXml object.
5927
5928 2006-08-21  Stefan Kost  <ensonic@users.sf.net>
5929
5930         * docs/gst/gstreamer-sections.txt:
5931         * gst/gstcaps.c: (gst_structure_is_equal_foreach),
5932         (gst_caps_merge):
5933         * gst/gstcaps.h:
5934         * libs/gst/base/gstbasetransform.c:
5935         (gst_base_transform_transform_caps):
5936           API: Add gst_caps_merge() and use it in basetransform, fixes #345444
5937           in a better way
5938
5939 2006-08-21  Edward Hervey  <edward@fluendo.com>
5940
5941         * gst/gstxml.c: (gst_xml_class_init), (gst_xml_dispose):
5942         Implement GObject::dispose virtual method in GstXML so we can free the
5943         top_elements GList.
5944
5945 2006-08-21  Wim Taymans  <wim@fluendo.com>
5946
5947         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable),
5948         (gst_buffer_create_sub):
5949         Copy duration/offset_end/caps when creating a subbuffer of the
5950         complete parent.
5951         Make the subbuffer read-only when we make the metadata writable for
5952         now. Fixes #351768.
5953
5954         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
5955         Added check for metadata copy when creating subbuffers.
5956
5957 2006-08-21  Edward Hervey  <edward@fluendo.com>
5958
5959         * libs/gst/base/gstbasetransform.c:
5960         (gst_base_transform_buffer_alloc):
5961         Only call downstream buffer_alloc if transform element is passthrough
5962         or always_in_place. Closes #350449.
5963
5964 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
5965
5966         * ChangeLog:
5967           ChangeLog surgery to add comments to previous changes
5968
5969 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
5970
5971         * gst/gst.c:
5972           Add comments
5973
5974         * gst/gstpad.c: (gst_pad_set_active):
5975           Be more verbose in the log
5976
5977         * libs/gst/base/gstbasetransform.c:
5978         (gst_base_transform_transform_caps):
5979           Simplify caps to get rid of duplicates, fixes #345444
5980
5981 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
5982
5983         * gst/gstvalue.c:
5984         * gst/gstvalue.h:
5985           Use these optimizations only internally.
5986
5987 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
5988
5989         * gst/gstvalue.c: (gst_value_compare_list),
5990         (gst_value_compare_fraction_range),
5991         (gst_value_intersect_fraction_fraction_range),
5992         (gst_value_intersect_fraction_range_fraction_range),
5993         (gst_value_subtract_fraction_fraction_range),
5994         (gst_value_subtract_fraction_range_fraction_range),
5995         (gst_value_get_compare_func), (gst_value_compare),
5996         (gst_value_compare_with_func):
5997         * gst/gstvalue.h:
5998           Saves the expensive lookup of the compare function in many cases
5999          (#345444)
6000
6001 2006-08-18  Edward Hervey  <edward@fluendo.com>
6002
6003         * tests/check/gst/gstinfo.c: (gst_info_suite):
6004         Disable test that require gstdebug if it wasn't built in core.
6005
6006 2006-08-18  Stefan Kost  <ensonic@users.sf.net>
6007
6008         * docs/random/ensonic/logging.txt:
6009           update ideas
6010           
6011         * gst/gstinfo.c: (gst_debug_log_default):
6012           reorder fields, save some columns, add optional color codes for log
6013           levels
6014
6015 2006-08-18  Stefan Kost  <ensonic@users.sf.net>
6016
6017         * docs/random/ensonic/logging.txt:
6018           add ideas about making the logs a bit more useful
6019
6020 2006-08-17  Tim-Philipp Müller  <tim at centricular dot net>
6021
6022         * docs/pwg/advanced-events.xml:
6023         * docs/pwg/titlepage.xml:
6024           Update for 0.10 API (#340627). Add myself
6025           to authors list.
6026
6027 2006-08-17  Tim-Philipp Müller  <tim at centricular dot net>
6028
6029         * docs/libs/gstreamer-libs-docs.sgml:
6030         * docs/libs/gstreamer-libs-sections.txt:
6031         * libs/gst/check/gstbufferstraw.c:
6032           Make gstcheck stuff show up in docs (still needs to
6033           be documented properly though).
6034
6035 2006-08-16  Jan Schmidt  <thaytan@mad.scientist.com>
6036
6037         * docs/gst/gstreamer-sections.txt:
6038         * gst/Makefile.am:
6039         * gst/gst.c: (init_post):
6040         * gst/gst_private.h:
6041         * gst/gstquark.c: (_priv_gst_quarks_initialize):
6042         * gst/gstquark.h:
6043         * gst/gstquery.c: (gst_query_new_position),
6044         (gst_query_set_position), (gst_query_parse_position),
6045         (gst_query_new_duration), (gst_query_set_duration),
6046         (gst_query_parse_duration), (gst_query_new_convert),
6047         (gst_query_set_convert), (gst_query_parse_convert),
6048         (gst_query_new_segment), (gst_query_set_segment),
6049         (gst_query_parse_segment), (gst_query_new_seeking),
6050         (gst_query_set_seeking), (gst_query_parse_seeking):
6051         Add internal helpers for pre-registering quarks from static strings
6052         and using the quark values directly instead of looking them up when
6053         creating and parsing queries. Can be used for event construction too.
6054         Closes #350432.
6055
6056 2006-08-16  Wim Taymans  <wim@fluendo.com>
6057
6058         * gst/gstbin.c:
6059         Fix bogus docs.
6060
6061 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
6062
6063         * gst/gstutils.c: (gst_util_set_value_from_string):
6064           Fix memleak (#351502).
6065
6066         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
6067           Add unit test for most of gst_util_set_value_from_string()
6068           (not that one would want to encourage use of this function).
6069
6070 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
6071
6072         * libs/gst/check/gstcheck.h:
6073           Use const gchar * variables in fail_unless_equals_string
6074           macro to avoid compiler warnings (and don't use tabs for
6075           indenting).
6076
6077 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
6078
6079         * tools/gst-launch.c: (print_tag):
6080           More space on the left for the tag names, to cater
6081           for the 'extended comment' tag (not touching the
6082           string for the first line since it's translated).
6083
6084 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
6085
6086         * libs/gst/check/gstcheck.h:
6087           Fix ASSERT_CRITICAL and ASSERT_WARNING macros to actually
6088           print something when they fail.
6089
6090 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
6091
6092         * docs/gst/gstreamer-sections.txt:
6093         * gst/gsttaglist.c: (_gst_tag_initialize):
6094         * gst/gsttaglist.h:
6095           API: add GST_TAG_EXTENDED_COMMENT (#350935).
6096           Also change merge function for GST_TAG_COMMENT to
6097           use_first.
6098
6099 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
6100
6101         * gst/gstinfo.c: (gst_debug_print_object):
6102           Make GST_PTR_FORMAT print messages as well.
6103
6104         * tests/check/gst/gstinfo.c: (printf_extension_log_func),
6105         (GST_START_TEST), (gst_info_suite):
6106           More tests.
6107
6108 2006-08-14  Edward Hervey  <edward@fluendo.com>
6109
6110         * gst/gstelementfactory.c: (gst_element_register):
6111         If the GstElementClass doesn't have a GstElementDetails with all fields
6112         filled up correctly (longname, description AND author), then error out
6113         nicely instead of crashing.
6114
6115 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
6116
6117         * gst/gststructure.c:
6118           Fix typo in docs and re-wrap docs blurb to not exceed 80 chars/line.
6119
6120         * gst/gstvalue.h:
6121           Expand on the difference between arrays and lists as we use them.
6122           
6123 2006-08-14  Wim Taymans  <wim@fluendo.com>
6124
6125         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
6126         If the parent state change function failed, don't assume we can safely
6127         stop the source, this will be done when the pads are deactivated.
6128
6129 2006-08-14  Wim Taymans  <wim@fluendo.com>
6130
6131         * gst/gstbuffer.c:
6132         * gst/gsttask.c: (gst_task_join):
6133         Small doc updates.
6134
6135         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
6136         (gst_pad_stop_task):
6137         When pad (de)activation failed for some reason, restore the old
6138         activation mode and set the pad to flushing instead of assuming the
6139         pad is deactivated.
6140         If the _task_join() failed, reinstall the task on the pad so that it can
6141         be stopped later and return an error.
6142
6143 2006-08-11  Andy Wingo  <wingo@pobox.com>
6144
6145         * configure.ac:
6146         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
6147         * tests/check/libs/gdp.c: (gst_dp_suite): GST_DISABLE_DEPRECATED
6148         is only for users of API that don't want to see deprecated
6149         functions in the headers; people that want to compile out
6150         deprecated code should pass -DGST_REMOVE_DEPRECATED into the
6151         CFLAGS. Fixes the build of multifdsink, or will soon..
6152
6153 2006-08-11  Wim Taymans  <wim@fluendo.com>
6154
6155         * docs/gst/gstreamer-sections.txt:
6156         Add GstClockClass vmethod docs.
6157
6158         * gst/gstcaps.h:
6159         Mark #endif with comment for associated #if
6160
6161         * gst/gstclock.c: (gst_clock_id_wait):
6162         * gst/gstclock.h:
6163         Add vmethod wait_jitter to avoid an unneeded _get_time() for
6164         most clock implementations.
6165         Document vmethods.
6166         Flesh out docs about resolution methods.
6167         API: GstClockClass::wait_jitter
6168
6169         * gst/gstsystemclock.c: (gst_system_clock_class_init),
6170         (gst_system_clock_async_thread),
6171         (gst_system_clock_id_wait_jitter_unlocked),
6172         (gst_system_clock_id_wait_jitter):
6173         Use base class wait_jitter variant for improved performance
6174         due to less clock polling.
6175
6176 2006-08-11  Edward Hervey  <edward@fluendo.com>
6177
6178         * gst/gst.c: (gst_init_check), (init_post):
6179         Set gst as being initialized before scanning/updating the registry,
6180         since there might be my python plugin loader that calls gst_init() and
6181         we don't want to loop back in.
6182         Closes #350879
6183
6184 2006-08-11  Wim Taymans  <wim@fluendo.com>
6185
6186         * docs/design/part-qos.txt:
6187         Bring docs in line with the code. Mostly the sign of the jitter was
6188         wrong in the docs. Fixes #349943.
6189
6190         * gst/gstclock.c:
6191         Fix the docs for the jitter.
6192
6193         * gst/gstevent.c: (gst_event_new_custom), (gst_event_new_tag),
6194         (gst_event_parse_tag), (gst_event_new_buffer_size),
6195         (gst_event_parse_buffer_size), (gst_event_parse_qos),
6196         (gst_event_new_seek), (gst_event_parse_seek),
6197         (gst_event_new_navigation):
6198         Make sure the GstStructure has no parent when creating custom
6199         events.
6200         Add some more argument checking so that we avoid 0.0 rates.
6201         Flesh out the docs for the QoS event some more.
6202
6203 2006-08-11  Wim Taymans  <wim@fluendo.com>
6204
6205         * docs/gst/gstreamer-sections.txt:
6206         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
6207         (ensure_current_registry_forking), (ensure_current_registry),
6208         (parse_one_option), (parse_goption_arg), (gst_deinit),
6209         (gst_registry_fork_is_enabled), (gst_registry_fork_set_enabled):
6210         * gst/gst.h:
6211         Doc updates.
6212         Added API and command line option to disable registry forking in
6213         addition to the environment variable.
6214         Constify some static arrays.
6215         Added some more debug.
6216         Don't deinit twice.
6217         API: gst_registry_fork_is_enabled()
6218         API: gst_registry_fork_set_enabled()
6219         API: --gst-disable-registry-fork command line option
6220         Fixes #348918.
6221
6222 2006-08-11  Tim-Philipp Müller  <tim at centricular dot net>
6223
6224         * gst/gst.c: (gst_init):
6225           Fix typo in error message.
6226
6227 2006-08-10  Stefan Kost  <ensonic@users.sf.net>
6228
6229         * libs/gst/controller/gstcontroller.h:
6230           fix ABI size-correction
6231
6232         * tests/check/libs/gdp.c: (gst_dp_suite):
6233           make tests that use deprecated API conditional
6234
6235 2006-08-10  Stefan Kost  <ensonic@users.sf.net>
6236
6237         * docs/libs/gstreamer-libs-sections.txt:
6238         * libs/gst/controller/gstcontroller.c:
6239         (_gst_controller_get_property), (_gst_controller_set_property),
6240         (_gst_controller_init), (_gst_controller_class_init):
6241         * libs/gst/controller/gstcontroller.h:
6242         * libs/gst/controller/gsthelper.c: (gst_object_get_control_rate),
6243         (gst_object_set_control_rate):
6244           API: add gst_object_{s,g}et_control_rate(), add private data section,
6245           fix docs
6246
6247         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
6248         * libs/gst/dataprotocol/dataprotocol.h:
6249           add deprecation guards to make gtk-doc happy and allow disabling cruft
6250
6251 2006-08-09  Tim-Philipp Müller  <tim at centricular dot net>
6252
6253         * tests/check/Makefile.am:
6254         * tests/check/gst/.cvsignore:
6255           Let's enable the new unit test as well.
6256
6257 2006-08-08  Tim-Philipp Müller  <tim at centricular dot net>
6258
6259         * configure.ac:
6260         * docs/gst/gstreamer-sections.txt:
6261         * gst/gstconfig.h.in:
6262         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_print_segment),
6263         (_gst_info_printf_extension_ptr),
6264         (_gst_info_printf_extension_segment):
6265           API: add GST_SEGMENT_FORMAT, which is a printf extension we
6266           register that lets us easily dump GstSegments into debug
6267           logs (#350419).
6268
6269         * tests/check/gst/gstinfo.c: (segment_printf_extension_log_func),
6270         (info_segment_format_printf_extension), (gst_info_suite):
6271           Add simple unit test that logs a bunch of different segments (not
6272           valgrinded at the moment because of leaks in
6273           gst_debug_add_log_function).
6274
6275 2006-08-09  Edward Hervey  <edward@fluendo.com>
6276
6277         * libs/gst/base/gstbasetransform.c:
6278         (gst_base_transform_buffer_alloc):
6279         Even if we can't figure out the proper format to request downstream,
6280         call buffer_alloc() downstream with the input parameters without setting
6281         the caps on the srcpad. This will force negotiation in the chain
6282         function.
6283         Closes #350449
6284
6285 2006-08-08  Edward Hervey  <edward@fluendo.com>
6286
6287         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
6288         Unlinking from a pad without a target is now a perfectly valid case
6289         which should NOT raise an assertion.
6290         This case would happen if a linked ghostpad its target set to NULL after
6291         it was previously linked.
6292
6293 2006-08-08  Edward Hervey  <edward@fluendo.com>
6294
6295         * tests/check/libs/gdp.c:
6296         Also comment out the test (see below).
6297
6298 2006-08-08  Edward Hervey  <edward@fluendo.com>
6299
6300         * tests/check/libs/gdp.c: (gst_dp_suite):
6301         Use the architecture information from config.h and not gcc macros
6302         in order to properly disable a test that fails on PPC64.
6303
6304 2006-08-04  Tim-Philipp Müller  <tim at centricular dot net>
6305
6306         * gst/gstelement.c: (gst_element_remove_pad):
6307           Don't crash printing the warning if the pad has no parent.
6308
6309 2006-08-02  Wim Taymans  <wim@fluendo.com>
6310
6311         * libs/gst/dataprotocol/dataprotocol.c:
6312         (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
6313         (gst_dp_crc), (gst_dp_header_payload_length),
6314         (gst_dp_header_payload_type), (gst_dp_packet_from_event),
6315         (gst_dp_packet_from_event_1_0), (gst_dp_buffer_from_header),
6316         (gst_dp_caps_from_packet), (gst_dp_event_from_packet_0_2),
6317         (gst_dp_event_from_packet), (gst_dp_validate_header),
6318         (gst_dp_validate_payload):
6319         Make debug category static
6320         Constify the crc table.
6321         Do some more arg checking in public functions.
6322         Fix some docs and do some small cleanups.
6323
6324         * tests/check/libs/gdp.c: (GST_START_TEST), (gst_dp_suite):
6325         Add some more checks to see if GDP deals with bogus input.
6326
6327 2006-07-31  Wim Taymans  <wim@fluendo.com>
6328
6329         * gst/gstvalue.c: (gst_value_compare_list):
6330         Fix GstValueList comparison code. Fixes #347293.
6331
6332         * tests/check/gst/gstvalue.c: (GST_START_TEST):
6333         Check to test GstValueList comparison.
6334
6335 2006-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
6336
6337         * gst/gstelementfactory.c: (gst_element_factory_create):
6338         Remove unnecessary ref/unref pair
6339
6340         * gst/parse/grammar.y:
6341         Make sure to free the parse buffer on all code paths.
6342         Move a g_free up to the error handler where it's easier to see.
6343
6344         * tests/check/gst/gstevent.c: (test_event):
6345         Extending timeout for downstream travelling events to 10 seconds to
6346         hopefully avoid intermittent failure on the buildbots.
6347
6348         * tests/check/pipelines/parse-launch.c: (run_delayed_test):
6349         Don't manually set the state of the src element - it will happen as a
6350         natural consequence of the pipeline changing state, and that way it
6351         will do it in the right order too.
6352
6353 2006-07-31  Wim Taymans  <wim@fluendo.com>
6354
6355         * libs/gst/base/gstbasetransform.c:
6356         (gst_base_transform_buffer_alloc):
6357         Use OBJECT_LOCK and refcounting to get the pad caps in the
6358         buffer_alloc function because the caps could change while we are
6359         busy with them. Fixes #349105
6360
6361 2006-07-31  Wim Taymans  <wim@fluendo.com>
6362
6363         * gst/gstutils.c: (gst_pad_get_fixed_caps_func):
6364         Protect _PAD_CAPS with OBJECT_LOCK.
6365
6366 2006-07-31  Wim Taymans  <wim@fluendo.com>
6367
6368         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
6369         (gst_pad_get_property), (gst_pad_activate_pull),
6370         (gst_pad_activate_push), (gst_pad_set_blocked_async),
6371         (gst_pad_set_activate_function),
6372         (gst_pad_set_activatepull_function),
6373         (gst_pad_set_activatepush_function), (gst_pad_set_chain_function),
6374         (gst_pad_set_getrange_function),
6375         (gst_pad_set_checkgetrange_function), (gst_pad_set_event_function),
6376         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
6377         (gst_pad_set_internal_link_function), (gst_pad_set_link_function),
6378         (gst_pad_set_unlink_function), (gst_pad_set_getcaps_function),
6379         (gst_pad_set_acceptcaps_function),
6380         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
6381         (gst_pad_set_bufferalloc_function), (gst_pad_link_check_hierarchy),
6382         (gst_pad_get_caps_unlocked), (gst_pad_get_caps),
6383         (gst_pad_peer_get_caps), (gst_pad_accept_caps),
6384         (gst_pad_peer_accept_caps), (gst_pad_set_caps),
6385         (gst_pad_configure_sink), (gst_pad_configure_src),
6386         (gst_pad_get_allowed_caps), (gst_pad_get_negotiated_caps),
6387         (gst_pad_buffer_alloc_unchecked), (gst_pad_alloc_buffer_full),
6388         (gst_pad_query), (gst_pad_load_and_link), (handle_pad_block),
6389         (gst_pad_chain_unchecked), (gst_pad_push), (gst_pad_get_range),
6390         (gst_pad_send_event):
6391         Use _DEBUG_OBJECT when it makes sense.
6392         Protect GST_PAD_CAPS with the OBJECT_LOCK.
6393         Small cleanups and code reflows.
6394         Avoid caps refcounting in _accept_caps.
6395         Refactor alloc_buffer so that the code performed on the peer is in a
6396         separate function. Also if the pad does not implement a buffer alloc
6397         function, we should still check if the pad is flushing before falling
6398         back to the default allocator.
6399
6400 2006-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
6401
6402         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
6403         Make all uses of identity and fakesink have silent=true to avoid
6404         serialising every passing data structure, which is breaking tests
6405         on FC4 for some unknown reason.
6406
6407 2006-07-30  Stefan Kost  <ensonic@users.sf.net>
6408
6409         * gst/parse/Makefile.am:
6410         * gst/parse/grammar.y:
6411         * gst/parse/parse.l:
6412           Reverted previous patch as it required to bump the flex dependency to
6413           2.5.31, where fc4/5 seem to ship only the ancient 2.5.4a :(
6414
6415 2006-07-30  Stefan Kost  <ensonic@users.sf.net>
6416
6417         Patch by: Marc-Andre Lureau <marcandre.lureau@gmail.com>
6418
6419         * gst/parse/Makefile.am:
6420         * gst/parse/grammar.y:
6421         * gst/parse/parse.l:
6422           push & pop the state of the lexer for reentrant use case
6423           Fixes #349180
6424
6425 2006-07-29  Tim-Philipp Müller  <tim at centricular dot net>
6426
6427         * libs/gst/base/gstbasesrc.h:
6428           Note in the docs that the ::newsegment vfunc is not actually used by
6429           GstBaseSrc.
6430
6431 2006-07-28  Wim Taymans  <wim@fluendo.com>
6432
6433         * libs/gst/base/gstcollectpads.c:
6434         (gst_collect_pads_set_flushing_unlocked), (gst_collect_pads_pop),
6435         (gst_collect_pads_clear), (gst_collect_pads_flush),
6436         (gst_collect_pads_event), (gst_collect_pads_chain):
6437         When flushing a pad, also clear the queued buffer so that we don't
6438         accidentally use it when we shouldn't.
6439         Fix leaks by inreffing incomming buffer.
6440         Flush out queued buffers in case of errors.
6441         Fixes #347452.
6442
6443 2006-07-28  Wim Taymans  <wim@fluendo.com>
6444
6445         * docs/random/phonon-gst:
6446         Random notes about a Phonon backend.
6447
6448 2006-07-27  Jan Schmidt  <thaytan@mad.scientist.com>
6449
6450         * libs/gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
6451         Extra debug output
6452         * tests/check/libs/gdp.c: (gst_dp_suite):
6453         Take a whack at fixing the ppc compile using a different define to
6454         disable the broken test.
6455
6456         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
6457         Remove excess g_print()
6458
6459 2006-07-27  Jan Schmidt <thaytan@mad.scientist.com>
6460
6461         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
6462         Oops, meant to uncomment this line too to dampen the noise a bit.
6463
6464 2006-07-27  Jan Schmidt <thaytan@mad.scientist.com>
6465
6466         * gst/parse/grammar.y:
6467         * gst/parse/parse.l:
6468         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
6469         (GST_START_TEST), (parse_suite):
6470         Fix some of the leaks exposed by extending the parse-launch testsuite,
6471         and move the 3 I can't figure out into a separate test that won't run
6472         the pipelines unless the appropriate line is uncommented.
6473
6474 2006-07-27  Tim-Philipp Müller  <tim at centricular dot net>
6475
6476         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
6477           Requesting 0 bytes before the end of the file should result in
6478           FLOW_OK and an empty buffer, not FLOW_UNEXPECTED. Thank you
6479           unit test.
6480
6481 2006-07-27  Wim Taymans  <wim@fluendo.com>
6482
6483         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_get_structure):
6484         Fix useless assert, a uint is always positive.
6485
6486         * gst/gststructure.c: (gst_structure_nth_field_name),
6487         (gst_structure_foreach), (gst_structure_map_in_place):
6488         Check input arguments for public functions to avoid obvious crashes.
6489
6490         * plugins/elements/gstfakesink.c: (gst_fake_sink_render):
6491         * plugins/elements/gstfakesink.h:
6492         Do less useless typechecking.
6493
6494 2006-07-27  Tim-Philipp Müller  <tim at centricular dot net>
6495
6496         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
6497           Do not use mmap() by default since there are a number of error
6498           conditions that we would like to handle in a non-fatal way that
6499           will result in a SIGBUS if we use mmap(). Examples: external
6500           devices (USB harddrive, portable music player) being unplugged
6501           while in use; file on mounted CD/DVD that can't be read because
6502           the medium is partly damaged. Fixes #348455 and #348475.
6503
6504 2006-07-27  Jan Schmidt  <thaytan@mad.scientist.com>
6505
6506         * gst/gstquery.h:
6507         Delete unused and misleading define of GST_QUERY_TYPE_RATE_DEN -
6508         rates are a gdouble
6509
6510 2006-07-26  Stefan Kost  <ensonic@users.sf.net>
6511
6512         * gst/gstregistry.c:
6513           Move big documentation comment into class section header, so that it
6514           appears in the API docs.
6515
6516 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
6517
6518         * docs/gst/gstreamer-sections.txt:
6519         Oops. Commit the docs additions too for new API.
6520         Also, remove the mention of the non-existent GST_QUERY_TYPE_RATE_DEN
6521
6522 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
6523
6524         * gst/gststructure.c: (gst_structure_id_set),
6525         (gst_structure_id_set_valist):
6526         * gst/gststructure.h:
6527         Add API for setting values into structures without performing
6528         a quark lookup, if the appropriate quark is already known.
6529
6530         API: gst_structure_id_set
6531         API: gst_structure_id_set_valist
6532
6533         * gst/parse/grammar.y:
6534         * gst/parse/parse.l:
6535         Remove some dead code shown by the coverage information.
6536         Don't throw a critical g_warning when encountering a syntax error,
6537         just warn and let the normal error path handle it.
6538
6539         * plugins/elements/gstelements.c:
6540         Bump the rank of filesink up to PRIMARY so that it is preferred over
6541         gnomevfssink for file:// sink uri's
6542
6543         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
6544         (GST_START_TEST), (run_delayed_test),
6545         (gst_parse_test_element_base_init),
6546         (gst_parse_test_element_class_init), (gst_parse_test_element_init),
6547         (gst_parse_test_element_change_state),
6548         (gst_register_parse_element), (parse_suite):
6549         Beef up the tests for parse syntax to check that more error cases
6550         fail as they are supposed to. Increases the test coverage a bit.
6551
6552 2006-07-26  Tim-Philipp Müller  <tim at centricular dot net>
6553
6554         * docs/manual/basics-elements.xml:
6555           Fix gst_element_link() example.
6556
6557         * gst/gstutils.c:
6558           Mention in API docs that one should usually gst_bin_add()
6559           elements to a bin or pipeline before doing the linking.
6560           
6561 2006-07-26  Wim Taymans  <wim@fluendo.com>
6562
6563         * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_new),
6564         (gst_subbuffer_get_type), (gst_buffer_create_sub):
6565         Avoid function call for known types by keeping the buffer and
6566         subbuffer GType global.
6567
6568         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
6569         Random silly optimisations in read() path.
6570
6571 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
6572
6573         * tools/gst-launch.c: (main):
6574           If the top-level of the parse is a normal bin, it doesn't do the
6575           right logic to run as a top-level element, so place it inside a
6576           pipeline.
6577
6578 2006-07-25  Tim-Philipp Müller  <tim at centricular dot net>
6579
6580         * plugins/elements/gstfilesrc.c: (gst_file_src_set_property):
6581           Remove superfluous g_object_notify() calls, GObject does
6582           that for us automatically.
6583
6584 2006-07-25  Stefan Kost  <ensonic@users.sf.net>
6585
6586         * gst/gstinfo.h:
6587           on Win32, use dllspec to export the debug category symbols
6588
6589 2006-07-24  Tim-Philipp Müller  <tim at centricular dot net>
6590
6591         * gst/gsttaglist.c: (_gst_tag_initialize):
6592           Allow more than one GST_TAG_IMAGE per taglist.
6593
6594 2006-07-24  Thomas Vander Stichele  <thomas at apestaart dot org>
6595
6596         * gst/gstminiobject.c:
6597           update docs
6598         * plugins/elements/gstfdsrc.c: (gst_fd_src_set_property),
6599         (gst_fd_src_create):
6600           log recurring events at LOG level
6601           add more debug for when the fd gets set
6602
6603 2006-07-21  Stefan Kost  <ensonic@users.sf.net>
6604
6605         * gst/gstparse.c: (gst_parse_launch):
6606           Also remove reentrance checks if flex is MT safe (#348179)
6607          Fix my empty ChangeLog entry below
6608
6609 2006-07-21  Andy Wingo  <wingo@pobox.com>
6610
6611         * docs/libs/gstreamer-libs-sections.txt: Attempt to pacify buildbot.
6612
6613         * libs/gst/check/Makefile.am
6614         (libgstcheck_@GST_MAJORMINOR@include_HEADERS)
6615         (libgstcheck_@GST_MAJORMINOR@_la_SOURCES): 
6616         * libs/gst/check/gstbufferstraw.h:
6617         * libs/gst/check/gstbufferstraw.c: Add some new hype testing
6618         functions, thus proving I am still a GStreamer haxor. OK I wrote
6619         them a long time ago, but anyways.
6620
6621 2006-07-21  Stefan Kost  <ensonic@users.sf.net>
6622
6623         * configure.ac:
6624         * gst/gstparse.c: (gst_parse_launch):
6625           Check for flex version and omit mutex if we have a MT save flex
6626           (fixes #348179)
6627
6628 2006-07-21  Wim Taymans  <wim@fluendo.com>
6629
6630         * gst/gstparse.c: (gst_parse_launch):
6631         Protect recursive calls to _parse with a recursive mutex
6632         and busy flag.
6633
6634 2006-07-21  Wim Taymans  <wim@fluendo.com>
6635
6636         * tests/check/gst/gstpad.c: (GST_START_TEST):
6637         Fix leak in test.
6638
6639 2006-07-20  Stefan Kost  <ensonic@users.sf.net>
6640
6641         * gst/gstparse.c: (gst_parse_launch):
6642           Do not hang on recursive usage of gst_parse_launch()
6643
6644 2006-07-20  Tim-Philipp Müller  <tim at centricular dot net>
6645
6646         * gst/gsttaglist.c:
6647           Add some more docs, comments and FIXME 0.11s here and there
6648           and also fix some typos.
6649
6650 2006-07-20  Tim-Philipp Müller  <tim at centricular dot net>
6651
6652         * gst/gstsegment.h:
6653           Convert tabs to spaces for better readability. 
6654
6655 2006-07-20  Edward Hervey  <edward@fluendo.com>
6656
6657         * tests/check/libs/gdp.c: (gst_dp_suite):
6658         the test_buffer test fails at line 140 on ppc64 at the following
6659         check:
6660         fail_unless (GST_BUFFER_FLAG_IS_SET (newbuffer,
6661                 GST_BUFFER_FLAG_IN_CAPS),
6662                 "GST_BUFFER_IN_CAPS flag should have been copied !");
6663         See bug #348114 for more details.
6664
6665 2006-07-19  Tim-Philipp Müller  <tim at centricular dot net>
6666
6667         * docs/pwg/advanced-scheduling.xml:
6668         * gst/gstpad.c:
6669           Fix typos (#348000).
6670
6671 2006-07-18  Tim-Philipp Müller  <tim at centricular dot net>
6672
6673         * docs/pwg/intro-basics.xml:
6674           Fix wrong links (#347927).
6675
6676 2006-07-18  Stefan Kost  <ensonic@users.sf.net>
6677
6678         * gst/gstregistry.h:
6679         * gst/gstregistryxml.c: (load_feature),
6680         (gst_registry_xml_read_cache), (gst_registry_xml_save_feature):
6681         * win32/common/config.h:
6682           make --disable-index work (#342564)
6683
6684 2006-07-18  Wim Taymans  <wim@fluendo.com>
6685
6686         Patch by: Peter Kjellerstedt <pkj at axis dot com>
6687
6688         * gst/Makefile.am:
6689         * gst/gsttrace.h:
6690         The attached patch adds two missing defines to gsttrace.h when tracing
6691         is disabled.  It also corrects one existing define.
6692         Fixes #347756.
6693
6694 2006-07-17  Wim Taymans  <wim@fluendo.com>
6695
6696         * docs/gst/gstreamer-sections.txt:
6697         * gst/gst.c: (gst_segtrap_is_enabled), (gst_segtrap_set_enabled):
6698         * gst/gst.h:
6699         * gst/gstplugin.c: (_gst_plugin_fault_handler_restore):
6700         Add two functions to check and change the SIGSEGV behaviour
6701         when loading plugins.
6702         Don't mess with the SIGSEGV handler when we were told not to.
6703         Fixes #347794.
6704         API: gst_segtrap_is_enabled
6705         API: gst_segtrap_set_enabled
6706
6707 2006-07-14  Wim Taymans  <wim@fluendo.com>
6708
6709         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
6710         * tests/check/elements/filesrc.c: (GST_START_TEST):
6711         Revert fix for regression in #347408 after release.
6712
6713 2006-07-14  Tim-Philipp Müller  <tim at centricular dot net>
6714
6715         Patch by: Antoine Tremblay <hexa00 at gmail com>
6716
6717         * gst/gstutils.c: (gst_element_unlink):
6718           Free iterator when done (#347311).
6719
6720         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
6721           And add a test case for this.
6722
6723 2006-07-14  Jan Schmidt  <thaytan@mad.scientist.com>
6724
6725         * configure.ac:
6726         Bump nano back to CVS
6727
6728 === release 0.10.9 ===
6729
6730 2006-07-13  Jan Schmidt <thaytan@mad.scientist.com>
6731
6732         * configure.ac:
6733           releasing 0.10.9, "On the road again"
6734
6735 2006-07-13  Wim Taymans  <wim@fluendo.com>
6736
6737         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
6738         * tests/check/elements/filesrc.c: (GST_START_TEST):
6739         Revert pull-0 fix for release. Disable check. Fixes #347408.
6740
6741 2006-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
6742
6743         * libs/gst/dataprotocol/dataprotocol.c:
6744         (gst_dp_event_from_packet_1_0):
6745           Fixes #347337: failure to deserialize event packets with
6746           empty payload (only event type)
6747
6748 2006-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
6749
6750         * gst/Makefile.am:
6751           do not install a .c file in the header directory
6752
6753 2006-07-13  Edward Hervey  <edward@fluendo.com>
6754
6755         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
6756         GhostPad no longer implicitely use the padtemplates of the targets.
6757         Fixes #347384
6758
6759 2006-07-11  Jan Schmidt  <thaytan@mad.scientist.com>
6760
6761         * gst/gstvalue.c: (gst_value_compare_list),
6762         (gst_value_compare_array), (_gst_value_initialize):
6763         * tests/check/gst/gstvalue.c: (GST_START_TEST):
6764         Make GstValueArray comparison be order dependent as designed.
6765         Add checks for value lists and value array comparisons.
6766         Fixes #347221
6767
6768 2006-07-11  Edward Hervey  <edward@fluendo.com>
6769
6770         * gst/gstbin.c: (activate_pads),
6771         (iterator_activate_fold_with_resync), (gst_bin_src_pads_activate),
6772         (gst_bin_change_state_func):
6773         (de)activate src pads before calling state_change on the childs.
6774         This is to avoid the case where a src ghostpad is blocked (holding the
6775         stream lock), which would block the deactivation of the ghostpad's
6776         target pad.
6777         * gst/gstghostpad.c: (gst_proxy_pad_do_query_type),
6778         (gst_proxy_pad_do_event), (gst_proxy_pad_do_query),
6779         (gst_proxy_pad_do_internal_link), (gst_proxy_pad_do_bufferalloc),
6780         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
6781         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
6782         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
6783         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
6784         (gst_proxy_pad_set_target), (gst_proxy_pad_get_internal),
6785         (gst_proxy_pad_dispose), (gst_proxy_pad_init),
6786         (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
6787         (gst_ghost_pad_class_init),
6788         (gst_ghost_pad_internal_do_activate_push),
6789         (gst_ghost_pad_internal_do_activate_pull),
6790         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
6791         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
6792         (gst_ghost_pad_dispose), (gst_ghost_pad_new_no_target),
6793         (gst_ghost_pad_new), (gst_ghost_pad_set_target):
6794         GhostPads now create their internal GstProxyPad at creation (and not
6795         when they're linked, as it was being done previously).
6796         The internal and target pads are linked straight away.
6797         The data will also travel through the other pad in order to make
6798         pad blocking and probes non-hackish (the probe/block now really happens
6799         on the GhostPad and not on the target).
6800         * gst/gstpad.c: (gst_pad_set_blocked_async),
6801         (gst_pad_link_prepare), (gst_pad_push_event):
6802         Remove previous ghostpad cruft.
6803         * gst/gstutils.c: (gst_pad_add_data_probe),
6804         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
6805         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
6806         (gst_pad_remove_buffer_probe):
6807         Remove previous ghost pad cruft.
6808         Added more detailed debug statements.
6809         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
6810         Fix the testsuite for refcounting changes.
6811         The comments about who has references were correct, but the refcount
6812         being checked wasn't the same (!?!).
6813
6814         Fixes #341029
6815
6816 2006-07-10  Stefan Kost  <ensonic@users.sf.net>
6817
6818         * docs/gst/gstreamer-sections.txt:
6819         * gst/gstconfig.h.in:
6820         More docs for configuration options, add docs to gtk-doc.
6821
6822 2006-07-10  Stefan Kost  <ensonic@users.sf.net>
6823
6824         * gst/Makefile.am:
6825         * gst/gstconfig.h.in:
6826         * win32/common/config.h:
6827         Fix build when disabling tracing (fixes #344016). Also start to document
6828         the defines that disable the sub-systems.
6829
6830 2006-07-10  Edward Hervey  <edward@fluendo.com>
6831
6832         * gst/gst.c: (ensure_current_registry_forking):
6833         let's make valgrind happy...
6834
6835 2006-07-09  Wim Taymans  <wim@fluendo.com>
6836
6837         * gst/gstelement.c: (activate_pads),
6838         (iterator_activate_fold_with_resync), (gst_element_pads_activate):
6839         Better pad activation code: Reset the collect value too on resync.
6840         Add some comments.
6841
6842 2006-07-09  Wim Taymans  <wim@fluendo.com>
6843
6844         * gst/gstpad.c: (gst_pad_init), (gst_pad_activate_pull),
6845         (gst_pad_activate_push):
6846         Use some more macros where it makes sense.
6847         Allow pad mode switching instead of asserting. When a pad
6848         is activated in one mode and we activate it in another, 
6849         deactivate it first before activating it in a different mode.
6850         Fixes #329198.
6851
6852 2006-07-08  Andy Wingo  <wingo@pobox.com>
6853
6854         * tools/gst-launch.c (main): Handle err == NULL.
6855
6856         * gst/gst.c (init_post, ensure_current_registry)
6857         (ensure_current_registry_forking)
6858         (ensure_current_registry_nonforking): Reduce #ifdef ratnest by
6859         factoring out the registry scanning into separate functions. Don't
6860         fork for the rescan is GST_REGISTRY_FORK=no; useful in debugging.
6861         Better environment var name/interface suggestions accepted.
6862
6863 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
6864
6865         * gst/gstobject.c: (gst_object_set_name_default),
6866         (gst_object_set_name):
6867           Random micro-optimisation: don't use a hash table
6868           with strings as keys and the usual strdup/strcmp
6869           involved, but rather just use the GQuark of the
6870           type name as key, since it needs to be looked up
6871           anyway to get the type name string.
6872
6873         * tests/check/gst/gstobject.c: (GST_START_TEST):
6874           Fix various leaks.
6875
6876 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
6877
6878         * gst/gstbin.c: (compare_interface), (gst_bin_get_by_interface),
6879         (gst_bin_iterate_all_by_interface):
6880           Can't use GPOINTER_TO_INT and GINT_TO_POINTER with GTypes.
6881           GTypes are gulongs and thus the top 4 bytes might be cut
6882           off on some platforms when doing GPOINTER_TO_INT, leading
6883           to invalid GTypes and bad things happening (see RH bug #179654).
6884           Also add a check to make sure the type passed in is really
6885           an interface type.
6886
6887 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
6888
6889         * .cvsignore:
6890           Ignore more.
6891
6892 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
6893
6894         * Makefile.am:
6895         * configure.ac:
6896         * gst-element-check.m4:
6897         * gst-element-check.m4.in:
6898           Make gst-element-check-$VERSION.m4 call gst-inspect-$VERSION
6899           instead of the unversioned gst-inspect (#324176, #168659).
6900
6901 2006-07-06  Wim Taymans  <wim@fluendo.com>
6902
6903         * gst/gstmessage.h:
6904         Use a valid int for the _MESSAGE_ANY enum value to avoid compiler
6905         warnings.
6906
6907 2006-07-06  Wim Taymans  <wim@fluendo.com>
6908
6909         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
6910         (gst_base_src_wait), (gst_base_src_update_length),
6911         (gst_base_src_get_range), (gst_base_src_default_check_get_range),
6912         (gst_base_src_check_get_range), (gst_base_src_pad_check_get_range),
6913         (gst_base_src_loop), (gst_base_src_start),
6914         (gst_base_src_activate_pull):
6915         Update docs.
6916         blocksize == 0 now means the default blocksize when working in push
6917         based mode.
6918         Remove some pointless asserts in _wait function.
6919         Fix offset/length calculations and EOS handling. We can now pull 0
6920         bytes as well, which is allowed.
6921         use _check_get_range() to decide if we can operate in _pull based
6922         mode.
6923         Fix refcounting leak when check_get_range function was not 
6924         implemented.
6925         API GstBaseSrc::blocksize range can be 0 too now (default)
6926
6927         * tests/check/elements/filesrc.c: (GST_START_TEST),
6928         (filesrc_suite):
6929         Added check to test _get_range() behaviour.
6930
6931 2006-07-06  Wim Taymans  <wim@fluendo.com>
6932
6933         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
6934         (gst_pad_push), (gst_pad_check_pull_range), (gst_pad_get_range),
6935         (gst_pad_pull_range):
6936         * gst/gstpad.h:
6937         Lots of comments and docs added to the pad functions.
6938         Flesh out the expected behaviour of the get_range() functions.
6939
6940 2006-07-06  Wim Taymans  <wim@fluendo.com>
6941
6942         * gst/gstbus.h:
6943         * gst/gstclock.h:
6944         * gst/gstevent.h:
6945         * gst/gstiterator.h:
6946         * gst/gstpad.h:
6947         * gst/gstplugin.h:
6948         * gst/gsttask.h:
6949         Remove comma at end of enumerator list. 
6950
6951 2006-07-05  Sebastien Moutte  <sebastien@moutte.net>
6952
6953         * win32/common/libgstbase.def:
6954         * win32/common/libgstdataprotocol.def:
6955         * win32/common/libsgtreamer.def:
6956         Add new exported functions.
6957
6958 2006-07-05  Wim Taymans  <wim@fluendo.com>
6959
6960         * libs/gst/base/gstpushsrc.c: (gst_push_src_check_get_range):
6961         Add some more docs here and there.
6962
6963 2006-07-05  Wim Taymans  <wim@fluendo.com>
6964
6965         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_object),
6966         (gst_base_sink_loop), (gst_base_sink_get_position):
6967         When operating in pull mode update the offset so that we
6968         read sequentially.
6969
6970 2006-07-05  Wim Taymans  <wim@fluendo.com>
6971
6972         * gst/gstregistryxml.c: (read_string):
6973         Avoid strdup. (will happen in libxml, but hey!)
6974
6975         * gst/gsturi.c:
6976         Add some more docs.
6977
6978 2006-07-05  Wim Taymans  <wim@fluendo.com>
6979
6980         * gst/gstbuffer.c: (_gst_buffer_copy), (gst_buffer_create_sub):
6981         * tests/check/gst/gstbuffer.c: (GST_START_TEST),
6982         (gst_buffer_suite):
6983         No point in checking if the size of the subbuffer > 0, the
6984         code handles it correclty as demonstrated by unit test.
6985         Also add a unit test for the zero sized _new_and_alloc and
6986         _copy. Fixes #346663.
6987
6988 2006-07-05  Wim Taymans  <wim@fluendo.com>
6989
6990         * libs/gst/base/gstbasetransform.c:
6991         (gst_base_transform_prepare_output_buffer),
6992         (gst_base_transform_buffer_alloc),
6993         (gst_base_transform_handle_buffer):
6994         Make sure the buffer we pass to transform_ip has a refcount of
6995         1 and thus is writable. Fixes #343196
6996
6997 2006-07-04  Jan Schmidt  <thaytan@mad.scientist.com>
6998
6999         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
7000         (gst_file_src_init), (gst_file_src_set_property),
7001         (gst_file_src_get_property), (gst_file_src_map_region):
7002         * plugins/elements/gstfilesrc.h:
7003         Add "sequential" property, off by default, to use madvise and hint
7004         to the kernel that sequential access is desired.
7005         Touch all retrieved pages by default to ensure they are pulled
7006         into memory. (Closes #345720)
7007
7008 2006-07-03  Wim Taymans  <wim@fluendo.com>
7009
7010         * docs/design/part-block.txt:
7011         * docs/design/part-dynamic.txt:
7012         Small docs updates.
7013
7014 2006-07-03  Wim Taymans  <wim@fluendo.com>
7015
7016         * gst/gstcaps.c: (gst_caps_new_empty), (_gst_caps_free),
7017         (gst_caps_unref), (gst_static_caps_get),
7018         (gst_caps_append_structure):
7019         * gst/gstclock.c: (gst_clock_entry_new), (_gst_clock_id_free):
7020         Use GSlice when the glib we build against is >= 2.10
7021
7022 2006-07-03  Wim Taymans  <wim@fluendo.com>
7023
7024         * gst/gstelement.c: (gst_element_pads_activate):
7025         Small cleanup in pad activation code.
7026
7027 2006-07-03  Wim Taymans  <wim@fluendo.com>
7028
7029         Patch by: Peter Kjellerstedt <pkj at axis dot com>
7030
7031         * gst/gst-i18n-app.h:
7032         * gst/gst-i18n-lib.h:
7033         * tools/gst-inspect.c: (print_signal_info):
7034         The attached patch will make the inclusion of gettext.h unconditional in
7035         gst/gst-i18n-app.h and gst/gst-i18n-lib.h, and it will remove the inclusion of
7036         libintl.h in tools/gst-inspect.c.
7037         This allows use of --disable-nls again and fixes #344642.
7038
7039 2006-07-03  Edward Hervey  <edward@fluendo.com>
7040
7041         * gst/gstpad.c: (handle_pad_block), (gst_pad_push_event):
7042         Implement pad blocking on events according to part-block.txt.
7043         More comments on behaviour.
7044         * tests/check/gst/gstevent.c: (test_event):
7045         Send event to peer pad of blocked pad (else it will block).
7046
7047 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
7048
7049         * libs/gst/check/gstcheck.c: (gst_check_message_error),
7050         (gst_check_run_suite):
7051           if we get the wrong message, give us the types as string
7052         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
7053           Fix a translatable
7054         * tests/check/elements/filesrc.c: (GST_START_TEST):
7055           add a test for trying to open a non-existing file
7056
7057 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
7058
7059         * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
7060           add a test for adding self
7061
7062 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
7063
7064         * libs/gst/check/gstcheck.h:
7065           add some assert_ as alias for fail_unless_*
7066         * tests/check/gst/gst.c: (GST_START_TEST), (gst_suite):
7067           increase test coverage
7068
7069 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7070
7071         * Makefile.am:
7072           include lcov.mak for lcov coverage generation
7073         * tools/Makefile.am:
7074           add to CLEANFILES
7075
7076 2006-07-02  Edward Hervey  <edward@fluendo.com>
7077
7078         * tests/check/elements/.cvsignore:
7079         moaping
7080
7081 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7082
7083         * configure.ac:
7084           don't set CFLAGS and friends for gcov, done from GST_GCOV now
7085         * tests/check/Makefile.am:
7086           clean up gcov files
7087
7088 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7089
7090         * gst/gstcaps.c: (gst_caps_remove_and_get_structure):
7091           remove gst_caps_simplify; it was not declared and not used
7092           and deprecated in 0.8
7093
7094 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7095
7096         * docs/faq/gst-uninstalled:
7097           don't put empty paths on PYTHONPATH
7098         * docs/gst/gstreamer-sections.txt:
7099           remove some symbols that are not there
7100
7101 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7102
7103         * gst/gstcaps.c: (gst_caps_compare_structures):
7104           whitespace fixes
7105         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
7106         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
7107           add more tests
7108
7109 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7110
7111         * libs/gst/dataprotocol/Makefile.am:
7112           build dataprotocol test by linking to the lib, instead of
7113           compiling the source, so we get coverage
7114         * tests/check/Makefile.am:
7115         * tests/check/elements/filesrc.c: (event_func), (setup_filesrc),
7116         (cleanup_filesrc), (GST_START_TEST), (filesrc_suite):
7117           add a test for filesrc
7118
7119 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7120
7121         * tests/check/gst/gststructure.c: (GST_START_TEST),
7122         (gst_structure_suite):
7123           Push coverage from 59.04% to 70.00%
7124
7125 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7126
7127         * tests/check/Makefile.am:
7128           gst-inspect every element; this makes sure that we also get
7129           coverage on element's get/set functions
7130
7131 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7132
7133         * configure.ac:
7134           set CFLAGS and friends to -O0 if gcov is being used
7135           add GCOV LIBS
7136         * gst/Makefile.am:
7137         * libs/gst/base/Makefile.am:
7138         * libs/gst/check/Makefile.am:
7139         * libs/gst/controller/Makefile.am:
7140         * libs/gst/dataprotocol/Makefile.am:
7141         * libs/gst/net/Makefile.am:
7142         * plugins/elements/Makefile.am:
7143         * plugins/indexers/Makefile.am:
7144           add makefile rules to generate gcov data and clean up
7145         * tests/check/Makefile.am:
7146           add a coverage target that generates an html overview
7147           of coverage data
7148
7149 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
7150
7151         * tests/check/elements/fakesink.c:
7152         * tests/check/elements/fakesrc.c:
7153         * tests/check/elements/fdsrc.c:
7154         * tests/check/elements/identity.c:
7155         * tests/check/generic/sinks.c: (gst_sinks_suite):
7156         * tests/check/generic/states.c:
7157         * tests/check/gst/gst.c:
7158         * tests/check/gst/gstabi.c:
7159         * tests/check/gst/gstbin.c:
7160         * tests/check/gst/gstbuffer.c: (gst_buffer_suite):
7161         * tests/check/gst/gstbus.c: (gst_bus_suite):
7162         * tests/check/gst/gstcaps.c: (GST_START_TEST):
7163         * tests/check/gst/gstelement.c:
7164         * tests/check/gst/gstevent.c: (gst_event_suite):
7165         * tests/check/gst/gstghostpad.c:
7166         * tests/check/gst/gstiterator.c: (gst_iterator_suite):
7167         * tests/check/gst/gstmessage.c: (gst_message_suite):
7168         * tests/check/gst/gstminiobject.c:
7169         * tests/check/gst/gstobject.c:
7170         * tests/check/gst/gstpad.c:
7171         * tests/check/gst/gstpipeline.c:
7172         * tests/check/gst/gstplugin.c:
7173         * tests/check/gst/gstquery.c: (gst_query_suite):
7174         * tests/check/gst/gstsegment.c: (gst_segment_suite):
7175         * tests/check/gst/gststructure.c:
7176         * tests/check/gst/gstsystemclock.c:
7177         * tests/check/gst/gsttag.c:
7178         * tests/check/gst/gsttask.c: (gst_task_suite):
7179         * tests/check/gst/gstutils.c:
7180         * tests/check/gst/gstvalue.c:
7181         * tests/check/libs/adapter.c:
7182         * tests/check/libs/basesrc.c:
7183         * tests/check/libs/collectpads.c:
7184         * tests/check/libs/controller.c:
7185         * tests/check/libs/gdp.c: (gst_dp_suite):
7186         * tests/check/libs/gstnetclientclock.c:
7187         * tests/check/libs/gstnettimeprovider.c:
7188         * tests/check/libs/libsabi.c: (libsabi_suite):
7189         * tests/check/libs/typefindhelper.c:
7190         * tests/check/pipelines/cleanup.c:
7191         * tests/check/pipelines/parse-launch.c:
7192         * tests/check/pipelines/simple-launch-lines.c:
7193         * tests/check/pipelines/stress.c: (stress_suite):
7194           use the new macro
7195
7196 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
7197
7198         * libs/gst/check/gstcheck.c: (gst_check_run_suite):
7199         * libs/gst/check/gstcheck.h:
7200           create a macro and function so that the simple unit test
7201           case can be just one macro to create main()
7202
7203 2006-06-30  Tim-Philipp Müller  <tim at centricular dot net>
7204
7205         * gst/gstbin.c: (gst_bin_restore_thyself):
7206         * gst/gstxml.c: (gst_xml_make_element):
7207           Fix deserialisation from XML. Set parent manually
7208           instead of using gst_bin_add(), since gst_bin_add()
7209           will unlink all pads of the element being added.
7210           Fixes #341667.
7211
7212 2006-06-28  Tim-Philipp Müller  <tim at centricular dot net>
7213
7214         Patch by: Peter Kjellerstedt <pkj at axis com>
7215
7216         * gst/gst.c: (prepare_for_load_plugin_func), (split_and_iterate):
7217           Fix missing g_strdup() and double free when using the
7218           --gst-plugin-load command line option (#346097).
7219
7220 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
7221
7222         * gst/gstinfo.c:
7223           Promote GST_DEBUG_CATEGORY_STATIC in example in docs.
7224
7225         * libs/gst/net/gstnetclientclock.c:
7226         * libs/gst/net/gstnettimeprovider.c:
7227           Use GST_DEBUG_CATEGORY_STATIC here too (#342503).
7228
7229 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
7230
7231         * docs/manual/advanced-dataaccess.xml:
7232           Fix buffer probe example compilation in
7233           ADM (#345708).
7234         
7235 2006-06-22  Edward Hervey  <edward@fluendo.com>
7236
7237         * gst/gstelement.c: (gst_element_pads_activate):
7238         We need to deactivate src pads first and then sink pads.
7239         The reason is the src pads might be blocking while holding the streaming
7240         lock, so we need to deactivate them first so that deactivating the sink
7241         pads doesn't block (since it will require the streaming lock).
7242
7243 2006-06-22  Wim Taymans  <wim@fluendo.com>
7244
7245         * libs/gst/base/gstbasetransform.c:
7246         (gst_base_transform_buffer_alloc):
7247         Forgot to remove two unneeded unrefs.
7248         Simplify a check _is_equal allready checks the obvious case.
7249
7250 2006-06-22  Wim Taymans  <wim@fluendo.com>
7251
7252         * docs/design/part-block.txt:
7253         Some docs about what pad_block should do.
7254
7255 2006-06-22  Wim Taymans  <wim@fluendo.com>
7256
7257         * gst/gstcaps.c: (gst_caps_replace):
7258         Fix crasher when passed NULL. Doc clarification.
7259         Optimize for the trivial case.
7260
7261         * gst/gstpipeline.c: (gst_pipeline_change_state):
7262         Small cleanups.
7263
7264         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
7265         Small documentation cleanup.
7266
7267         * libs/gst/base/gstbasetransform.c:
7268         (gst_base_transform_buffer_alloc):
7269         Don't use silly gst_pad_get_negotiated_caps, GST_PAD_CAPS
7270         is what we need and it avoids a whole lot of redundant 
7271         refcount operations.
7272
7273 2006-06-22  Tim-Philipp Müller  <tim at centricular dot net>
7274
7275         Patch by: Philip Jägenstedt  <philip at lysator liu se>
7276
7277         * docs/manual/advanced-dataaccess.xml:
7278           Fix 'Embedding static elements' section to use
7279           GST_PLUGIN_DEFINE_STATIC (#345607).
7280
7281 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
7282
7283         * tests/check/pipelines/simple-launch-lines.c: (test_stop_from_app):
7284           Attempt to 'fix' spuriously failing test case: it seems like the
7285           timeout of half a second is simply too small when the system is under
7286           load otherwise, and the timeout doesn't really seem to serve any
7287           particular purpose here. Give the pipeline a few seconds to preroll
7288           first, and then give it another half a second to go from PAUSED to
7289           PLAYING and marshal the message into the main thread.
7290
7291 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
7292
7293         * tools/gst-feedback-m.m:
7294           Don't only use unversioned tools, try versioned tools as well
7295           (#345086).
7296
7297 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
7298
7299         * gst/gstbus.c: (gst_bus_class_init):
7300           Fix some typos, make docs more explicit.
7301
7302 2006-06-20  Wim Taymans  <wim@fluendo.com>
7303
7304         * tests/check/gst/gstghostpad.c: (block_callback),
7305         (GST_START_TEST), (gst_ghost_pad_suite):
7306         Added some more ghostpad tests, mainly blocking
7307         and probes.
7308
7309 2006-06-16  Wim Taymans  <wim@fluendo.com>
7310
7311         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
7312         (gst_file_sink_close_file), (gst_file_sink_do_seek),
7313         (gst_file_sink_event), (gst_file_sink_render):
7314         * plugins/elements/gstfilesink.h:
7315         Check if we can seek in the file instead of assuming
7316         we always can. Post an error when we are asked to seek in a
7317         non-seekable file (like a fifo). Fixes #343312.
7318         Some cleanups.
7319
7320 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
7321
7322         * tools/gst-launch.1.in:
7323           Un-garble (fourcc) bit in filtered caps section.
7324
7325 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
7326
7327         * docs/manual/advanced-autoplugging.xml:
7328         * docs/manual/basics-helloworld.xml:
7329         * docs/manual/highlevel-components.xml:
7330           Don't leak bus reference in sample code.
7331
7332 2006-06-15  Tim-Philipp Müller  <tim at centricular dot net>
7333
7334         * autogen.sh:
7335           Add default for new --enable-plugin-docs switch.
7336
7337         * configure.ac:
7338           Use new GST_PLUGIN_DOCS macro to check for pyxml etc.
7339           Fixes #344039.
7340
7341         * docs/Makefile.am:
7342           Use new ENABLE_PLUGIN_DOCS conditional.
7343
7344 2006-06-14  Wim Taymans  <wim@fluendo.com>
7345
7346         * gst/gstbin.c: (bin_query_duration_done), (gst_bin_query):
7347         Make it clear with a FIXME and a real define what the #if 0
7348         previously disabled.
7349
7350 2006-06-14  Wim Taymans  <wim@fluendo.com>
7351
7352         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
7353         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
7354         * libs/gst/base/gstbasetransform.c:
7355         (gst_base_transform_sink_eventfunc):
7356         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
7357         Don't randomly and silently reset a segment when the format 
7358         changes as this is a bug somewhere upstream. Fixes #330379.
7359
7360 2006-06-14  Tim-Philipp Müller  <tim at centricular dot net>
7361
7362         Patch by: Wouter Paesen  <wouter at kangaroot net>
7363
7364         * libs/gst/controller/gstcontroller.c:
7365         (gst_controlled_property_new):
7366           Fix controlling of float properties (#344849).
7367
7368         * tests/check/libs/controller.c:
7369         (gst_test_mono_source_get_property),
7370         (gst_test_mono_source_set_property),
7371         (gst_test_mono_source_class_init), (GST_START_TEST):
7372           While we're at it, add some float stuff to unit test.
7373
7374 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
7375
7376         * docs/README:
7377         * docs/images/gdp-header.svg:
7378           add a gdp image
7379         * docs/libs/Makefile.am:
7380         * docs/libs/gdp-header.png:
7381         * libs/gst/dataprotocol/dataprotocol.c:
7382           add it to the API docs
7383         * docs/manual/intro-motivation.xml:
7384           fix typo
7385
7386 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
7387
7388         * gst/gst.c: (scan_and_update_registry), (init_post):
7389           If the fork()'ed child process can't write the updated registry cache
7390           file to disk for some reason, make it exit with a failure exit code,
7391           so that the parent can then re-scan the plugins itself and update the
7392           registry structures in memory and work with that (rather than failing
7393           when creating elements because seemingly no plugins are available).
7394           Refactor registry scanning code into separate function for this and
7395           also separate fork() and non-fork() code paths. Fixes #344748.
7396
7397 2006-06-13  Wim Taymans  <wim@fluendo.com>
7398
7399         * docs/manual/advanced-dataaccess.xml:
7400         Fix wrong PluginDesc. Fixes #344755.
7401
7402 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
7403
7404         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
7405           Fix silly bug that prevented us from creating
7406           ~/.gstreamer-0.10 and writing the registry in one
7407           go (the first call to g_mkstemp() would overwrite the
7408           placeholder in the template string, so the second call
7409           to g_mkstemp() after creating the missing directory
7410           would then error out with 'invalid argument').
7411
7412 2006-06-13  Edward Hervey  <edward@fluendo.com>
7413
7414         * gst/gst.c: (init_post):
7415         Free string.
7416
7417 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
7418
7419         * gst/glib-compat-private.h:
7420         * gst/glib-compat.c:
7421         * gst/glib-compat.h:
7422         * gst/gstvalue.c: (gst_value_serialize_flags):
7423           remove GLib 2.6 compatibility code
7424
7425 2006-06-12  Tim-Philipp Müller  <tim at centricular dot net>
7426
7427         * gst/parse/Makefile.am:
7428           Fix build with 'make -j N' even more (#340016).
7429
7430 2006-06-12  Wim Taymans  <wim@fluendo.com>
7431
7432         * docs/gst/gstreamer-sections.txt:
7433         Fix docs.
7434
7435 2006-06-12  Wim Taymans  <wim@fluendo.com>
7436
7437         * gst/gstsegment.c: (gst_segment_set_duration),
7438         (gst_segment_set_last_stop), (gst_segment_set_seek),
7439         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
7440         (gst_segment_to_running_time), (gst_segment_clip):
7441         Use G_UNLIKELY to help the compiler a bit.
7442
7443 2006-06-12  Wim Taymans  <wim@fluendo.com>
7444
7445         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
7446
7447         * gst/gstevent.c: (gst_event_get_type):
7448         * gst/gstmessage.c:
7449         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
7450         (gst_pad_push):
7451         constify quark registration strings. Fixes #344115
7452         Avoid unneeded type checking is _pad_push() by internally
7453         calling gst_pad_chain_unchecked().
7454
7455 2006-06-12  Wim Taymans  <wim@fluendo.com>
7456
7457         * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_finalize),
7458         (_gst_buffer_copy), (gst_buffer_is_metadata_writable),
7459         (gst_subbuffer_finalize), (gst_buffer_create_sub),
7460         (gst_buffer_is_span_fast), (gst_buffer_span):
7461         Init _type for consistency.
7462         Use _FLAGS macro to avoid type check.
7463         Avoid unneeded type checks in subbufer code.
7464
7465 2006-06-12  Wim Taymans  <wim@fluendo.com>
7466
7467         * gst/gst.c: (gst_debug_help):
7468         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_list_free):
7469         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
7470         (gst_plugin_feature_list_free):
7471         * gst/gstregistry.c: (gst_registry_add_plugin),
7472         (gst_registry_add_feature), (gst_registry_plugin_filter),
7473         (gst_registry_feature_filter), (gst_registry_find_plugin),
7474         (gst_registry_find_feature), (gst_registry_get_plugin_list),
7475         (gst_registry_lookup_feature_locked), (gst_registry_lookup_locked):
7476         * gst/gstregistryxml.c: (load_feature),
7477         (gst_registry_xml_read_cache), (gst_registry_xml_write_cache):
7478         * gst/gstminiobject.c: (gst_mini_object_unref),
7479         (gst_mini_object_replace), (gst_value_mini_object_free),
7480         (gst_value_mini_object_copy):
7481         Use _CAST macros to avoid unneeded type checking.
7482         Added some more G_UNLIKELY.
7483
7484 2006-06-12  Wim Taymans  <wim@fluendo.com>
7485
7486         * gst/gstbuffer.h:
7487         Avoid unneeded type checking.
7488         API: GST_BUFFER_IS_DISCONT
7489
7490         * gst/gstminiobject.h:
7491         Avoid type check in flag accessor.
7492
7493         * gst/gstelementfactory.h:
7494         * gst/gstplugin.h:
7495         * gst/gstpluginfeature.h:
7496         Add _CAST macros.
7497         API: GST_ELEMENT_FACTORY_CAST
7498         API: GST_PLUGIN_CAST
7499         API: GST_PLUGIN_FEATURE_CAST
7500
7501 2006-06-12  Wim Taymans  <wim@fluendo.com>
7502
7503         * gst/gstobject.c: (gst_object_get_type), (gst_object_ref),
7504         (gst_object_unref):
7505         Add G_UNLIKELY in type registration.
7506         Avoid type check in _ref/_unref since that is also
7507         done in glib.
7508
7509 2006-06-12  Wim Taymans  <wim@fluendo.com>
7510
7511         * gst/gsterror.c: (gst_g_error_get_type):
7512         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
7513         (gst_static_pad_template_get_type):
7514         * gst/gsttaglist.c: (gst_tag_list_get_type):
7515         * gst/gsttagsetter.c: (gst_tag_setter_get_type):
7516         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type):
7517         * gst/gsturi.c: (gst_uri_handler_get_type):
7518         * gst/gstvalue.c: (gst_date_get_type):
7519         * gst/gstxml.c: (gst_xml_get_type):
7520         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
7521         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
7522         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type):
7523         Add G_UNLIKELY in type registration.
7524
7525 2006-06-12  Wim Taymans  <wim@fluendo.com>
7526
7527         * tools/gst-inspect.c: (print_signal_info):
7528         Properly print enum values.
7529
7530 2006-06-12  Wim Taymans  <wim@fluendo.com>
7531
7532         * gst/gstinfo.c: (gst_debug_set_active),
7533         (gst_debug_category_set_threshold), (_gst_debug_nameof_funcptr):
7534         * gst/gstinfo.h:
7535         Add some G_[UN]LIKELY.
7536         Maintain __gst_debug_min to avoid formatting the arguments of
7537         debug messages that will be dropped anyway to avoid a lot of 
7538         overhead from the debugging system.
7539
7540 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
7541
7542         * po/POTFILES.in:
7543         * po/POTFILES.skip:
7544           add missing files containing translatable strings, tell intltool about
7545           one exception
7546
7547 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
7548
7549         * tests/check/libs/.cvsignore:
7550         add test-binary to ignore list
7551
7552 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
7553
7554         * docs/libs/gstreamer-libs-docs.sgml:
7555         reorder (put dp into a chapter) and indent
7556
7557 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
7558
7559         * configure.ac:
7560           back to HEAD
7561
7562 === release 0.10.8 ===
7563
7564 2006-06-10  Thomas Vander Stichele <thomas at apestaart dot org>
7565
7566         * configure.ac:
7567           releasing 0.10.8, "Soepeke, ik zie ou nog altijd nie"
7568
7569 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
7570
7571         * gst/gst.c: (init_post):
7572           move pid declaration to declaration block
7573
7574 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
7575
7576         * gst/gst.c: (init_post):
7577           use _exit() instead of exit() in our forked child; this ensures
7578           that none of the registered exit handlers from whatever is using
7579           GStreamer get executed.  This fixes gnome-mixer-applet failing
7580           to load, because ORBit would shut down.
7581           Spotted by: Edward Hervey  <edward@fluendo.com>
7582           Fix suggested by: Tim-Philipp Müller  <tim at centricular dot net>
7583           Fixes #344474
7584
7585 2006-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
7586
7587         * configure.ac:
7588           back to TRUNK
7589
7590 === release 0.10.7 ===
7591
7592 2006-06-09  Thomas Vander Stichele <thomas at apestaart dot org>
7593
7594         * configure.ac:
7595           releasing 0.10.7, "Soepeke, ik zie ou"
7596
7597 2006-06-07  Thomas Vander Stichele  <thomas at apestaart dot org>
7598
7599         * configure.ac:
7600         * po/af.po:
7601         * po/az.po:
7602         * po/bg.po:
7603         * po/ca.po:
7604         * po/cs.po:
7605         * po/de.po:
7606         * po/en_GB.po:
7607         * po/fr.po:
7608         * po/it.po:
7609         * po/nb.po:
7610         * po/nl.po:
7611         * po/ru.po:
7612         * po/sq.po:
7613         * po/sr.po:
7614         * po/sv.po:
7615         * po/tr.po:
7616         * po/uk.po:
7617         * po/vi.po:
7618         * po/zh_CN.po:
7619         * po/zh_TW.po:
7620         * win32/common/config.h:
7621           0.10.6.2 prerelease
7622
7623 2006-06-07  Wim Taymans  <wim@fluendo.com>
7624
7625         * gst/gstindex.c: (gst_index_gtype_resolver):
7626         * tools/gst-xmlinspect.c: (print_plugin_info):
7627         Fix leak spotted by coverity checker. Fixes #343827
7628         Fix another other leak found by paolo borelli.
7629
7630 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7631
7632         * libs/gst/dataprotocol/dataprotocol.c:
7633         (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
7634         (gst_dp_version_get_type), (gst_dp_init),
7635         (gst_dp_header_from_buffer), (gst_dp_header_from_buffer_1_0),
7636         (gst_dp_packet_from_caps), (gst_dp_packet_from_caps_1_0),
7637         (gst_dp_packet_from_event), (gst_dp_packet_from_event_1_0),
7638         (gst_dp_event_from_packet_0_2), (gst_dp_event_from_packet_1_0),
7639         (gst_dp_event_from_packet), (gst_dp_packetizer_new),
7640         (gst_dp_packetizer_free):
7641         * libs/gst/dataprotocol/dataprotocol.h:
7642           API: add a GstDPPacketizer object, and create/free functions
7643           API: add GstDPVersion enum
7644           Add 1.0 event function that uses the string serialization
7645           Serialize more useful buffer flags
7646           Fixes #343988
7647
7648 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7649
7650         * tests/check/Makefile.am:
7651         * tests/check/gst/gstabi.c:
7652         * tests/check/gst/struct_ppc64.h:
7653         * tests/check/libs/libsabi.c:
7654         * tests/check/libs/struct_ppc64.h:
7655           add ppc64 structure sizes
7656
7657 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7658
7659         * tests/check/Makefile.am:
7660         * tests/check/gst/gstabi.c:
7661         * tests/check/gst/struct_x86_64.h:
7662         * tests/check/libs/libsabi.c:
7663         * tests/check/libs/struct_x86_64.h:
7664           generate and add structure size lists for x86_64
7665
7666 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7667
7668         * libs/gst/check/gstcheck.c: (gst_check_abi_list):
7669         * libs/gst/check/gstcheck.h:
7670           factor out the method from tests that checks size of structures,
7671           and add code to generate the header containing these sizes
7672         * tests/check/gst/gstabi.c: (GST_START_TEST):
7673         * tests/check/gst/struct_i386.h:
7674         * tests/check/libs/libsabi.c: (GST_START_TEST):
7675         * tests/check/libs/struct_i386.h:
7676           use it
7677
7678 2006-06-06  Michael Smith  <msmith@fluendo.com>
7679
7680         * gst/gstsegment.h:
7681           Don't use c++-style comments, fixes #343929
7682
7683 2006-06-05  Edward Hervey  <edward@fluendo.com>
7684
7685         * gst/gst.c:
7686         plugin_paths is not used if we build without registry support.
7687
7688         * gst/gstsegment.c: (gst_segment_copy): 
7689         _copy() was always returning NULL...
7690
7691 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7692
7693         * libs/gst/dataprotocol/dataprotocol.c:
7694         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
7695         (gst_dp_packet_from_event):
7696           factor out CRC code
7697
7698 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7699
7700         * libs/gst/check/gstcheck.c: (gst_check_teardown_src_pad):
7701           make sure we unset caps
7702
7703 2006-06-02  Michael Smith  <msmith@fluendo.com>
7704
7705         * libs/gst/check/gstcheck.c: (gst_check_init),
7706         (gst_check_chain_func):
7707         * libs/gst/check/gstcheck.h:
7708           Add a cond/mutex to the check support lib, signal this whenever we
7709           add to the buffers list. This will allow tests to not busy-wait on
7710           the buffer-list.
7711
7712 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7713
7714         * libs/gst/dataprotocol/dataprotocol.c:
7715         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
7716         (gst_dp_packet_from_event):
7717           factor out some common header init code
7718
7719 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7720
7721         * docs/libs/gstreamer-libs-sections.txt:
7722         * docs/libs/tmpl/gstdataprotocol.sgml:
7723         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
7724         * libs/gst/dataprotocol/dataprotocol.h:
7725           API: make gst_dp_crc() public
7726
7727 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
7728
7729         * plugins/indexers/gstindexers.c: (plugin_init):
7730         conditionally register fileindexer (fixes #343598)
7731
7732 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
7733
7734         * gst/gsttagsetter.h:
7735         Can't cast ifaces to a class
7736
7737         * libs/gst/net/gstnetclientclock.h:
7738         * libs/gst/net/gstnettimeprovider.h:
7739         * plugins/elements/gstfakesink.h:
7740         * plugins/elements/gstfakesrc.h:
7741         * plugins/elements/gstfdsink.h:
7742         * plugins/elements/gstfdsrc.h:
7743         * plugins/elements/gstfilesink.h:
7744         * plugins/elements/gstfilesrc.h:
7745         * plugins/elements/gstidentity.h:
7746         * plugins/elements/gstqueue.h:
7747         * plugins/elements/gsttee.h:
7748         * plugins/indexers/gstfileindex.c:
7749         * plugins/indexers/gstmemindex.c:
7750         * tests/old/examples/plugins/example.h:
7751         Fix more gobject macros: obj<->klass, GstXXX<->GstXXXClass
7752
7753 2006-06-01  Thomas Vander Stichele  <thomas at apestaart dot org>
7754
7755         * libs/gst/dataprotocol/dataprotocol.c:
7756         (gst_dp_header_from_buffer):
7757           make sure we zero the whole ABI-compatible area
7758
7759 2006-06-01  Wim Taymans  <wim@fluendo.com>
7760
7761         Patch by: Alessandro Decina <alessandro at nnva dot org>
7762
7763         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop):
7764         Make sure the EOS flag is cleared from pads after a flush
7765         or stop. Fixes #343538.
7766
7767         * tests/check/libs/collectpads.c: (GST_START_TEST),
7768         (gst_collect_pads_suite):
7769         Added test for collectpads reusage after EOS.
7770
7771 2006-05-30  Sebastien Moutte  <sebastien@moutte.net>
7772
7773         * gst/gst.c:
7774          set #include <sys/wait.h> in a #ifdef #ifdef HAVE_FORK
7775         * win32/common/libgstbase.def:
7776          export gst_collect_pads_set_flushing
7777         * win32/common/libgstreamer.def:
7778          export gst_pad_set_acceptcaps_function, gst_structure_empty_new,
7779          gst_value_fraction_multiply
7780         * win32/vs6/gst_inspect.dsp:
7781          add a link to intl.lib
7782
7783 2006-05-30  Wim Taymans  <wim@fluendo.com>
7784
7785         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
7786         (gst_collect_pads_chain):
7787         Handle the case where a pad is removed from the collection
7788         that could cause the other pads to become collectable.
7789
7790 2006-05-30  Wim Taymans  <wim@fluendo.com>
7791
7792         * gst/gstelement.c:
7793         Clarify the use of _release_request_pad() and
7794         _get_request_pad() a bit better.
7795
7796         * libs/gst/base/gstadapter.c: (gst_adapter_peek),
7797         (gst_adapter_take_buffer):
7798         Fix some doc and comment typos.
7799
7800 2006-05-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7801
7802         * docs/gst/gstreamer-sections.txt:
7803         * docs/libs/gstreamer-libs-sections.txt:
7804           add declared symbols
7805
7806 2006-05-30  Jan Schmidt  <thaytan@mad.scientist.com>
7807
7808         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
7809         Add debug that can be enabled using a #define at the top of the file,
7810         for dumping stats about how late/early we were when waking up from
7811         waiting on the clock.
7812
7813 2006-05-30  Wim Taymans  <wim@fluendo.com>
7814
7815         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_check_pads):
7816         When rebuilding the pad list, don't leak the previous list.
7817
7818 2006-05-30  Wim Taymans  <wim@fluendo.com>
7819
7820         Patch by: Lutz Mueller <lutz at topfrose dot de>
7821
7822         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
7823         (gst_base_src_get_query_types), (gst_base_src_update_length):
7824         Publish supported query types.
7825         Update last_stop field in get_range mode so the position
7826         query works. Fixes #342321.
7827
7828 2006-05-30  Tim-Philipp Müller  <tim at centricular dot net>
7829
7830         * docs/gst/gstreamer-sections.txt:
7831         * gst/gsttaglist.c: (_gst_tag_initialize):
7832         * gst/gsttaglist.h:
7833           API: add GST_TAG_PREVIEW_IMAGE (#343341).
7834
7835 2006-05-30  Wim Taymans  <wim@fluendo.com>
7836
7837         Patch by: Alessandro Decina <alessandro at nnva dot org>
7838
7839         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
7840         Unlock mutex when removing an unknown pad.
7841         Fixes #343334.
7842
7843         * tests/check/Makefile.am:
7844         * tests/check/libs/collectpads.c: (collected_cb), (push_buffer),
7845         (push_event), (setup), (teardown), (GST_START_TEST),
7846         (gst_collect_pads_suite), (main):
7847         Added collecpads check, disabled for now as check crashes for
7848         some reason.
7849
7850 2006-05-29  Wim Taymans  <wim@fluendo.com>
7851
7852         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize):
7853         Don't leak pads lists.
7854
7855 2006-05-29  Wim Taymans  <wim@fluendo.com>
7856
7857         * docs/libs/gstreamer-libs-sections.txt:
7858         * libs/gst/base/gstcollectpads.c:
7859         (gst_collect_pads_set_flushing_unlocked),
7860         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
7861         (gst_collect_pads_stop):
7862         * libs/gst/base/gstcollectpads.h:
7863         API: gst_collect_pads_set_flushing()
7864         Added api to set the pads to flushing, useful for seeking
7865         code in elements using collectpads.
7866         Clear segment when receiving a flush.
7867
7868 2006-05-29  Tim-Philipp Müller  <tim at centricular dot net>
7869
7870         * gst/gst.c: (add_path_func), (init_post):
7871           Don't scan registry paths passed via --gst-plugin-path immediately
7872           (will crash, because absolutely nothing is set up and no types are
7873           registered etc.); do this later in init_post(). Fixes #343057.
7874
7875 2006-05-28  Thomas Vander Stichele  <thomas at apestaart dot org>
7876
7877         * gst/gst.c: (init_post):
7878           if we have fork, fork while reading/rebuilding the registry
7879           so the parent doesn't take the hit of having all plugins loaded
7880           in memory.  Fixes #342777.
7881         * configure.ac:
7882           Check if we have fork()
7883         * win32/common/config.h.in:
7884           no fork() on win32
7885
7886 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
7887
7888         * plugins/elements/gstelements.c:
7889         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
7890         (gst_file_src_init), (gst_file_src_set_property),
7891         (gst_file_src_get_property), (gst_file_src_start):
7892         * plugins/elements/gstfilesrc.h:
7893           API: GstFileSrc::use-mmap
7894
7895         Add a use-mmap property to enable easier testing of all code paths.
7896         Bump rank to PRIMARY, so filesrc is the preferred file reader and used
7897         in the absence of gnomevfssrc. (Closes #340501)
7898
7899 2006-05-26  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7900
7901         * tools/gst-inspect.c:
7902         Add missing include, removes warning of ngettext not being defined on
7903         some arches.
7904
7905 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
7906
7907         * gst/gstvalue.c: (gst_value_deserialize_fraction):
7908         Handle NULL input and output pointers silently as a failed conversion,
7909         rather than g_warnings.
7910
7911 2006-05-25  Wim Taymans  <wim@fluendo.com>
7912
7913         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_start):
7914         Initialize variable before using. Fixes #342820.
7915
7916 2006-05-24  Tim-Philipp Müller  <tim at centricular dot net>
7917
7918         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek):
7919           Fix off-by-one bug that would only allow peeks of N-1 bytes
7920           from the start even if the buffer to typefind on contains
7921           in fact N bytes of data (makes vorbis typefinding from a
7922           vorbis identification header buffer work).
7923
7924         * tests/check/Makefile.am:
7925         * tests/check/libs/.cvsignore:
7926         * tests/check/libs/typefindhelper.c: (GST_START_TEST),
7927         (gst_typefindhelper_suite), (main), (foobar_typefind),
7928         (plugin_init):
7929           Add very basic unit test for gst_type_find_helper_for_buffer()
7930           that checks for the problem fixed above.
7931
7932 2006-05-24  Thomas Vander Stichele  <thomas at apestaart dot org>
7933
7934         * tools/gst-inspect.c: (print_interfaces),
7935         (print_element_properties_info), (print_element_list), (main):
7936           add more translatable strings
7937
7938 2006-05-23  Tim-Philipp Müller  <tim at centricular dot net>
7939
7940         Patch by: Julien Moutte  <julien at moutte net>
7941
7942         * docs/gst/gstreamer-sections.txt:
7943           Make new GST_FLOW_IS_SUCCESS macro visible in docs.
7944           
7945         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
7946         (gst_fake_sink_preroll):
7947         * plugins/elements/gstfakesink.h:
7948           API: Add new GstFakeSink::preroll-handoff signal (#337100).
7949
7950 2006-05-23  Wim Taymans  <wim@fluendo.com>
7951
7952         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark):
7953         * gst/gstpad.h:
7954         Added _CUSTOM error and success GstFlowReturn that can be
7955         used be elements internally. 
7956         Added macro to check for SUCCESS flowreturns.
7957         API: GST_FLOW_CUSTOM_SUCCESS
7958         API: GST_FLOW_CUSTOM_ERROR
7959         API: GST_FLOW_IS_SUCCESS
7960
7961         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
7962         Added check for GstFlowReturn sanity.
7963
7964 2006-05-23  Wim Taymans  <wim@fluendo.com>
7965
7966         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
7967
7968         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
7969         (gst_collect_pads_event):
7970         clear/reset segment info in FLUSH_STOP.
7971         Fixes #336929.
7972
7973 2006-05-22  Stefan Kost  <ensonic@users.sf.net>
7974
7975         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop),
7976         (gst_collect_pads_check_collected):
7977         Flush queued buffer on _stop(), fixes playing again (#342454)
7978
7979 2006-05-22  Thomas Vander Stichele  <thomas at apestaart dot org>
7980
7981         * tests/check/gst/gststructure.c: (GST_START_TEST),
7982         (gst_structure_suite):
7983           add a test for a complete structure
7984
7985 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
7986
7987         * docs/faq/developing.xml:
7988         * docs/faq/faq.xml:
7989         * docs/faq/troubleshooting.xml:
7990         * docs/faq/using.xml:
7991           Some minor FAQ updates that won't change the fact that
7992           our FAQ is badly structured, full of information hardly
7993           anyone new to GStreamer needs to know and lacking lots
7994           of information people constantly ask for.
7995           
7996 2006-05-19  Jan Schmidt  <thaytan@mad.scientist.com>
7997
7998         * gst/gstpad.c: (gst_pad_set_caps):
7999           Short-circuit gst_pad_set_caps if setting the existing
8000           caps pointer again, and avoid printing debug and 
8001           reffing/unreffing the caps.
8002
8003         * plugins/elements/gstqueue.c: (gst_queue_push_one):
8004           There's actually no need to set the caps before pushing -
8005           the acceptcaps method will handle it anyway.
8006
8007 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
8008
8009         * docs/gst/gstreamer-sections.txt:
8010         * win32/common/libgstreamer.def:
8011         * gst/gstutils.c: (gst_element_seek_simple):
8012         * gst/gstutils.h:
8013           API: add gst_element_seek_simple() (#342238).
8014
8015 2006-05-18  Edward Hervey  <edward@fluendo.com>
8016
8017         * gst/gsttypefind.c: (gst_type_find_get_type):
8018         * gst/gsttypefind.h:
8019         Added GST_TYPE_TYPE_FIND and gst_type_find_get_type() so a GType gets
8020         registered for GstTypeFind pointers. This allows wrapping the structure
8021         in bindings (i.e. gst-python).
8022
8023 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
8024
8025         * gst/gsttagsetter.c:
8026           Docs additions and fixes (see #339918).
8027
8028 2006-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
8029
8030         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
8031         The caps intersection algorithm can produce multiple copies of the
8032         caps. Until that is fixed, we need to simplify the result to be
8033         sure whether the allowed caps are fixed or not.
8034
8035         * plugins/elements/gstqueue.c: (gst_queue_init),
8036         (gst_queue_bufferalloc), (gst_queue_acceptcaps),
8037         (gst_queue_push_one):
8038         Proxied buffer alloc should not set the caps on the source pad.
8039         When pushing buffers, we always accept the caps change that triggers.
8040         This prevents negotiation errors caused by caps changing mid-stream 
8041         and then being refused on our source pad (because upstream is now
8042         refusing those caps).
8043
8044 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
8045
8046         * tests/examples/helloworld/helloworld.c: (main):
8047           Must plug audioconvert and audioresample between decoder
8048           and audio sink.
8049
8050 2006-05-17  Jan Schmidt  <thaytan@mad.scientist.com>
8051
8052         * gst/gstregistryxml.c: (read_string), (load_pad_template),
8053         (load_feature), (load_plugin):
8054         Allow empty strings for some of the plugin fields so we don't 
8055         drop valid plugin entries that were written out correctly
8056         (Fixes #341479)
8057
8058 2006-05-17  Sebastien Moutte  <sebastien@moutte.net>
8059         
8060         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
8061           Use g_remove and g_rename instead of remove and rename that don't 
8062           handle utf8 characters. rename was failing for users who had specific
8063           characters in their name then the registry was built at each 
8064           gstreamer init.
8065         * win32/vs6/gst_inspect.dsp:
8066         * win32/vs6/gst_launch.dsp:
8067         * win32/vs6/libgstbase.dsp:
8068         * win32/vs6/libgstcoreelements.dsp:
8069         * win32/vs6/libgstreamer.dsp:
8070           Use a debug version of libxml2 (libxml2D.lib,libxml2D.dll) for DEBUG 
8071           build of libgstreamer and clean unused libraries in projects link 
8072           settings.
8073
8074 2006-05-17  Edward Hervey  <edward@fluendo.com>
8075
8076         * plugins/elements/gstqueue.c: (gst_queue_push_one):
8077         The queue is not responsible for pushing an EOS when receiving a fatal
8078         flow error. It's up to the real element driving the pipeline to do that.
8079
8080 2006-05-16  Edward Hervey  <edward@fluendo.com>
8081
8082         * plugins/elements/gstqueue.c: (gst_queue_push_one):
8083         The queue was posting a non-needed GST_MESSAGE_ERROR when pushing a
8084         buffer returned a fatal error. It should just send an EOS and stop
8085         its task.
8086         Upstream elements will then properly receive the GST_FLOW_UNEXPECTED
8087         when pushing buffers on the queue and will be able to handle the event.
8088
8089 2006-05-16  Tim-Philipp Müller  <tim at centricular dot net>
8090
8091         * docs/manual/basics-bins.xml:
8092         * docs/manual/basics-init.xml:
8093           Fix typos and minor errors in sample code (#341856).
8094
8095 2006-05-16  Wim Taymans  <wim@fluendo.com>
8096
8097         * docs/design/part-qos.txt:
8098         Fix indexes in formulas to make more sense.
8099
8100 2006-05-15  Wim Taymans  <wim@fluendo.com>
8101
8102         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
8103         Don't report POSITION based on clock time if sync is
8104         disabled in a sink.
8105
8106 2006-05-15  Tim-Philipp Müller  <tim at centricular dot net>
8107
8108         * gst/gstobject.h:
8109           Add cast to make compiler happy - refcount variable was a gint
8110           in GstObject but is a guint in GObject and g_atomic_int_get()
8111           wants a gint *.
8112
8113 2006-05-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8114
8115         * gst/parse/Makefile.am:
8116           chain commands using &&, which also makes parallel make work
8117
8118 2006-05-14  Tim-Philipp Müller  <tim at centricular dot net>
8119
8120         * docs/gst/gstreamer-sections.txt:
8121         * gst/gstevent.c:
8122         * gst/gstevent.h:
8123         * gst/gstmessage.h:
8124           Minor docs fixes.
8125
8126 === release 0.10.6 ===
8127
8128 2006-05-14  Jan Schmidt <thaytan@mad.scientist.com>
8129
8130         * configure.ac:
8131           releasing 0.10.6, "Take the cannoli"
8132
8133 2006-05-13  Tim-Philipp Müller  <tim at centricular dot net>
8134
8135         * tools/gst-launch.c: (print_tag):
8136           Fix use of uninitialized variable in the hypothetical
8137           case that some broken plugin creates a GST_TAG_IMAGE
8138           tag containing a NULL buffer (#341667).
8139
8140 2006-05-12  Tim-Philipp Müller  <tim at centricular dot net>
8141
8142         * tools/gst-launch.c: (print_tag):
8143           Print something more intelligible for image tags when
8144           using the -t switch (#341556).
8145
8146 2006-05-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8147
8148         * Makefile.am:
8149           updates for win32
8150         * configure.ac:
8151           define GST_MAJORMINOR so we have it available in win32/common/config.h
8152           Possibly remove it from our Makefile.am files later
8153         * win32/common/config.h:
8154         * win32/common/config.h.in:
8155           added GST_MAJORMINOR
8156         * win32/common/gstenumtypes.c: (register_gst_resource_error):
8157         * win32/common/gstversion.h:
8158           updated
8159
8160 2006-05-12  Sebastien Moutte  <sebastien@moutte.net>
8161
8162         * win32/MANIFEST:
8163           Update win32 files listing.
8164         * win32/common/gstversion.h:
8165           Add GST_MAJORMINOR definition.
8166         * win32/common/libgstreamer.def:
8167           Add new exported functions.
8168           
8169 2006-05-12  Michael Smith  <msmith@fluendo.com>
8170
8171         * gst/gstplugin.c: (gst_plugin_load_file):
8172           If an so file has no plugin entry point, unload the module.
8173
8174 2006-05-11  Wim Taymans  <wim@fluendo.com>
8175
8176         * plugins/elements/gstqueue.c: (gst_queue_chain), (gst_queue_loop),
8177         (gst_queue_set_property):
8178         Don't forget to signal the _chain or _loop function 
8179         when the queue size or thresholds change since that might
8180         cause them to make progres again.
8181
8182 2006-05-11  Stefan Kost  <ensonic@users.sf.net>
8183
8184         * gst/gstclock.c: (gst_clock_class_init):
8185         * gst/gstindex.c: (gst_index_class_init):
8186         * gst/gstobject.c: (gst_object_class_init):
8187         * gst/gstpad.c: (gst_pad_class_init):
8188         * gst/gstpipeline.c: (gst_pipeline_class_init):
8189         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
8190         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
8191         * libs/gst/base/gstbasetransform.c:
8192         (gst_base_transform_class_init):
8193         * libs/gst/net/gstnetclientclock.c:
8194         (gst_net_client_clock_class_init):
8195         * libs/gst/net/gstnettimeprovider.c:
8196         (gst_net_time_provider_class_init):
8197         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
8198         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
8199         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
8200         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
8201         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
8202         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
8203         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
8204         * plugins/elements/gstidentity.c: (gst_identity_class_init):
8205         * plugins/elements/gsttee.c: (gst_tee_class_init):
8206         * tests/old/examples/plugins/example.c: (gst_example_class_init):
8207         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
8208           G_OBJECT_CLASS macro usage batch cleanup, fixes #337747 for core
8209
8210 2006-05-11  Wim Taymans  <wim@fluendo.com>
8211
8212         * gst/gstbuffer.c: (_gst_buffer_initialize):
8213         Register subbufer along with the buffer type so that
8214         it does not accidentally gets registered from N
8215         different streaming threads in a non threadsafe way.
8216
8217 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
8218
8219         * gst/gstbuffer.h:
8220         * gst/gstevent.h:
8221         * gst/gstmessage.h:
8222           Make gtk-doc generate docs for our inlined gst_buffer_ref(),
8223           gst_event_ref() and gst_message_ref() functions again
8224           (ugly hack, please do fix if there's a better way besides
8225           overrides.txt, which doesn't seem to work).
8226
8227 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8228
8229         * libs/gst/check/gstcheck.h:
8230           add an assert for setting state to avoid lots of repetitive code
8231           in the future
8232
8233 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8234
8235         * gst/gstvalue.c: (gst_value_serialize_flags):
8236           fix a leak if no flags are set
8237         * tests/check/gst/gstvalue.c: (GST_START_TEST):
8238           fix leak in tests
8239
8240 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
8241
8242         * docs/manual/basics-pads.xml:
8243           Expand a bit on caps and filtered links and update
8244           examples that were still using the no longer existing
8245           gst_pad_link_filtered() (#338206).
8246
8247 2006-05-10  Wim Taymans  <wim@fluendo.com>
8248
8249         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
8250         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
8251         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
8252         (gst_collect_pads_stop):
8253         * libs/gst/base/gstcollectpads.h:
8254         No need to call _stop in _finalize.
8255         Iterate the main pad list in _finalize.
8256         Added some more debug.
8257         Free lists and data in the right order.
8258         Also free data whem doing _remove_pad when stopped for
8259         backward compatibility protect ::started with PAD_LOCK as
8260         well.
8261
8262 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8263
8264         * gst/gststructure.c: (gst_structure_gtype_from_abbr),
8265         (gst_structure_parse_value):
8266           add some comments
8267           rename a method so that it actually says what it does better
8268
8269 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8270
8271         * gst/gstevent.c: (_gst_event_initialize):
8272         * gst/gstformat.c: (_gst_format_initialize):
8273           make sure some essential types used by events are registered
8274           as part of gst_init()
8275         * gst/gstvalue.c: (gst_value_serialize_flags):
8276           if no flags are set, serialize them to a value that represents NONE
8277           so that deserializing them works
8278         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
8279           add tests for serialization and deserialization of flags
8280
8281 2006-05-10  Wim Taymans  <wim@fluendo.com>
8282
8283         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_collect),
8284         (gst_collect_pads_collect_range), (gst_collect_pads_available),
8285         (gst_collect_pads_check_pads), (gst_collect_pads_check_collected),
8286         (gst_collect_pads_event), (gst_collect_pads_chain):
8287         Update docs.
8288         Better debug info.
8289         Catch and return errors from the collect function
8290         Refuse data on eos pads.
8291
8292 2006-05-10  Edward Hervey  <edward@fluendo.com>
8293
8294         * gst/gstinterface.h:
8295         GST_IMPLEMENTS_INTERFACE and GST_IS_IMPLEMENTS_INTERFACE use the normal
8296         GInterface type checking.
8297         They were previously using non-defined macros.
8298
8299 2006-05-09  Wim Taymans  <wim@fluendo.com>
8300
8301         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_init),
8302         (gst_collect_pads_finalize), (gst_collect_pads_add_pad),
8303         (gst_collect_pads_remove_pad), (gst_collect_pads_set_flushing),
8304         (gst_collect_pads_start), (gst_collect_pads_stop),
8305         (gst_collect_pads_peek), (gst_collect_pads_pop),
8306         (gst_collect_pads_available), (gst_collect_pads_read),
8307         (gst_collect_pads_flush), (gst_collect_pads_check_pads),
8308         (gst_collect_pads_is_collected), (gst_collect_pads_event),
8309         (gst_collect_pads_chain):
8310         * libs/gst/base/gstcollectpads.h:
8311         Clean up the mess that is collectpads, add comments and
8312         FIXMEs where needed.
8313         Maintain a separate pad list so we can add pads while
8314         collecting the other ones. For this we need a new separate 
8315         lock (see comics).
8316         Fix memory leak in finalize.
8317         Refactor some weird code to set/unset pad flushing flags, mark
8318         with comments.
8319         Don't crash in _available, _read, _flush when we're EOS.
8320
8321         * tests/check/libs/.cvsignore:
8322         Ignore adapter check binary.
8323
8324 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
8325
8326         * gst/gstindex.c: (gst_index_resolver_get_type):
8327         * plugins/elements/gstfakesink.c:
8328         (gst_fake_sink_state_error_get_type):
8329         * plugins/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
8330         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type):
8331         * plugins/elements/gstqueue.c: (queue_leaky_get_type):
8332           Const-ify GEnumValue arrays.
8333
8334 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
8335
8336         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
8337           Add test case for flags + gst_buffer_make_metadata_writable().
8338
8339 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
8340
8341         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable):
8342           gst_buffer_make_metadata_writable() should maintain the
8343           buffer flags (those that make sense at least) (see #340859).
8344
8345 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
8346
8347         * tools/gst-inspect.c:
8348         * tools/gst-launch.c:
8349         * tools/gst-typefind.c:
8350         * tools/gst-xmlinspect.c:
8351         * tools/tools.h:
8352           Fix up includes: need to include stdlib.h in tools.h for exit().
8353
8354 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
8355
8356         * gst/gsttaglist.c: (_gst_tag_initialize):
8357         * gst/gsttaglist.h:
8358           API: add GST_TAG_IMAGE tag (#340721).
8359
8360 2006-05-08  Wim Taymans  <wim@fluendo.com>
8361
8362         * gst/gstquery.c:
8363         Added some docs for the segment query.
8364
8365 2006-05-08  Wim Taymans  <wim@fluendo.com>
8366
8367         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
8368         (gst_base_src_loop), (gst_base_src_change_state):
8369         Always push non-flushing serialized events in the streaming 
8370         thread.
8371
8372 2006-05-08  Thomas Vander Stichele  <thomas at apestaart dot org>
8373
8374         * gst/gsterror.c: (_gst_stream_errors_init):
8375           Add a missing error string.
8376
8377 2006-05-08  Jan Schmidt  <thaytan@mad.scientist.com>
8378
8379         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment):
8380         Add applied_rate to the debug
8381
8382         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
8383         Copy applied_rate into the outgoing NEWSEGMENT event
8384
8385 2006-05-08  Wim Taymans  <wim@fluendo.com>
8386
8387         Patch by: Philippe Rouquier <philippero at libertysurf dot fr>
8388
8389         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
8390         (gst_base_sink_change_state):
8391         call ::unlock before taking the PREROLL_LOCK so we can safely
8392         handle elements that lock in ::render.
8393         Fixes #340174.
8394
8395 2006-05-08  Edward Hervey  <edward@fluendo.com>
8396
8397         * autogen.sh: (CONFIGURE_DEF_OPT): 
8398         Darwin's libtoolize is in fact called glibtoolize.
8399         Adding glibtoolize to the list of accepted names for libtoolize.
8400
8401 2006-05-08  Wim Taymans  <wim@fluendo.com>
8402
8403         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
8404         Unify error handling, don't post an error message
8405         when a push() returns EOS but perform our normal EOS
8406         handling code. Fixes #340772.
8407
8408 2006-05-08  Wim Taymans  <wim@fluendo.com>
8409
8410         * docs/design/part-overview.txt:
8411         Make upsteam/downstream concepts more clear.
8412         Give an example of serialized/non-serialized events.
8413
8414         * docs/design/part-events.txt:
8415         * docs/design/part-streams.txt:
8416         Mention applied_rate.
8417
8418         * docs/design/part-trickmodes.txt:
8419         Mention applied rate, flesh out some more use cases.
8420
8421         * gst/gstevent.c: (gst_event_new_new_segment),
8422         (gst_event_parse_new_segment), (gst_event_new_new_segment_full),
8423         (gst_event_parse_new_segment_full), (gst_event_new_tag),
8424         (gst_event_parse_tag), (gst_event_new_buffer_size),
8425         (gst_event_parse_buffer_size), (gst_event_new_qos),
8426         (gst_event_parse_qos), (gst_event_parse_seek),
8427         (gst_event_new_navigation):
8428         * gst/gstevent.h:
8429         Add applied_rate field to NEWSEGMENT event.
8430         API: gst_event_new_new_segment_full()
8431         API: gst_event_parse_new_segment_full()
8432
8433         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_seek),
8434         (gst_segment_set_newsegment), (gst_segment_set_newsegment_full),
8435         (gst_segment_to_stream_time), (gst_segment_to_running_time):
8436         * gst/gstsegment.h:
8437         Add applied_rate to GstSegment structure.
8438         Make calculation of stream_time and running_time more correct
8439         wrt rate/applied_rate.
8440         Add some more docs.
8441         API: GstSegment::applied_rate field
8442         API: gst_segment_set_newsegment_full();
8443
8444         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
8445         (gst_base_sink_get_sync_times), (gst_base_sink_get_position):
8446         * libs/gst/base/gstbasetransform.c:
8447         (gst_base_transform_sink_eventfunc),
8448         (gst_base_transform_handle_buffer):
8449         Parse and use applied_rate in the GstSegment field.
8450
8451         * tests/check/gst/gstevent.c: (GST_START_TEST):
8452         Add check for applied_rate field.
8453
8454         * tests/check/gst/gstsegment.c: (GST_START_TEST),
8455         (gstsegments_suite):
8456         Add more checks for various GstSegment operations.
8457
8458 2006-05-08  Wim Taymans  <wim@fluendo.com>
8459
8460         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
8461         (gst_base_sink_do_sync), (gst_base_sink_chain_unlocked),
8462         (gst_base_sink_get_position), (gst_base_sink_change_state):
8463         Store the sync time of the buffer end position separatly in a
8464         new variable eos_rtime so we can properly sync the EOS event.
8465         Fixes #340697.
8466         Fix the docs for gst_base_sink_set_qos_enabled().
8467         Don't set segment start to invalid value when we receive a 
8468         non TIME newsegment.
8469         get closer to handling position reporting for negative rates 
8470         correctly.
8471
8472 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
8473
8474         * gst/gstcaps.c:
8475         Docs about how to print caps for debug purposes.
8476
8477         * gst/gstpadtemplate.c: (gst_static_pad_template_get):
8478         use gst_caps_make_writable instead of gst_caps_copy, Fixes #340608
8479
8480 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
8481
8482         * gst/gstelement.c:
8483           use full enum names and preprend a '%' in docs strings to make recent 
8484           gtk-doc turn that into a link
8485
8486 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
8487
8488         * docs/manual/basics-bins.xml:
8489         * docs/manual/basics-bus.xml:
8490         * docs/manual/basics-pads.xml:
8491           Some typo fixes, some additions, some clarifications. 
8492
8493 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
8494
8495         * tools/gst-inspect.c: (main):
8496         * tools/gst-launch.c: (main):
8497         * tools/gst-run.c: (main):
8498         * tools/gst-typefind.c: (main):
8499         * tools/gst-xmlinspect.c: (main):
8500           Use the string passed to g_option_context_new() for
8501           what it's intended for - the program name is already
8502           printed elsewhere.
8503
8504 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
8505
8506         * tools/Makefile.am:
8507         * tools/gst-inspect.c: (main):
8508         * tools/gst-launch.c: (main):
8509         * tools/gst-xmlinspect.c: (main):
8510         * tools/tools.h:
8511           Add back --version command line option (#340460).
8512
8513         * tools/gst-typefind.c: (have_type_handler), (typefind_file), (main):
8514           Add --version option and use GOption for argument parsing; refactor a
8515           bit; accept directories as arguments and recurse into them; lastly,
8516           print a decent error message when things go wrong.
8517
8518 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
8519
8520         * docs/manual/basics-bins.xml:
8521         Don't mention GstThread (#340611)
8522         * docs/manual/basics-elements.xml:
8523         Update link to GObject tutorial (#340607)
8524         
8525 2006-05-05  Wim Taymans  <wim@fluendo.com>
8526
8527         * gst/gstbuffer.h:
8528         * gst/gstminiobject.c:
8529         Add note about refcounting and miniobject/buffer writeability
8530         to docs. Fixes #340604
8531
8532         * gst/gstelementfactory.h:
8533         Added some explanation about @klass.
8534
8535 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
8536
8537         * docs/manual/intro-motivation.xml:
8538         * docs/manual/manual.xml:
8539         Avoid CORBA & Bonobo references (#340598)
8540
8541 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
8542
8543         * docs/manual/basics-bus.xml:
8544         * docs/manual/basics-pads.xml:
8545         Fix up some inaccuracies and omissions (#340609)
8546         
8547 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
8548
8549         * gst/gstghostpad.c:
8550           Small typo in docs (#340625)
8551
8552 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
8553
8554         * gst/parse/Makefile.am:
8555           Make 'make -j' proof (see #340698).
8556
8557 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
8558
8559         * configure.ac:
8560           Require GLib-2.8 here as well.
8561
8562 2006-05-05  Wim Taymans  <wim@fluendo.com>
8563
8564         * gst/glib-compat.c:
8565         * gst/gst.c: (init_pre):
8566         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
8567         (gst_object_unref), (gst_object_replace), (gst_object_dispose),
8568         (gst_object_dispatch_properties_changed):
8569         * gst/gstobject.h:
8570         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
8571         * gst/gststructure.c: (gst_structure_set_valist):
8572         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
8573         Remove pre glib2.8 compatibility, fixes #340508
8574
8575 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
8576
8577         * gst/gsttaglist.h:
8578           Mention type of tags in doc blurbs.
8579
8580 2006-05-04  Jan Schmidt  <thaytan@mad.scientist.com>
8581
8582         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
8583         (gst_pad_configure_src), (gst_pad_push):
8584         Restore acceptcaps checking behaviour now that good plugins have
8585         been released.
8586
8587 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
8588
8589         Patch by: James Andrewartha <trs80 at tartarus uwa edu au>
8590
8591         * gst/gst.c:
8592         * gst/gstbus.c:
8593         * gst/gstclock.c:
8594         * gst/gstevent.c:
8595         * gst/gstformat.c:
8596         * gst/gstmessage.c:
8597         * gst/gstparse.c:
8598         * gst/gstquery.c:
8599         * gst/gstutils.c:
8600         * gst/parse/Makefile.am:
8601         * libs/gst/base/gstadapter.c:
8602         * libs/gst/base/gstbasesrc.c:
8603         * libs/gst/base/gstpushsrc.c:
8604         * libs/gst/base/gsttypefindhelper.c:
8605         * plugins/elements/gstfakesrc.c:
8606         * plugins/elements/gstidentity.c:
8607           Make sure gstprivate.h and/or config.h are
8608           always included first, otherwise some of our
8609           defines (like _FILE_OFFSET_BITS) might be
8610           redefined in the system headers. Fixes build
8611           on opensolaris (#340016).
8612
8613 2006-05-04  Wim Taymans  <wim@fluendo.com>
8614
8615         * docs/libs/gstreamer-libs-sections.txt:
8616         API: addition: gst_adapter_take_buffer()
8617         
8618         * libs/gst/base/gstadapter.c: (gst_adapter_push),
8619         (gst_adapter_peek), (gst_adapter_take), (gst_adapter_take_buffer),
8620         (gst_adapter_available_fast):
8621         * libs/gst/base/gstadapter.h:
8622         Prepare for optimizing the hell out of this hugely inefficient
8623         piece of code. 
8624         Added gst_adapter_take_buffer() so we can at least start thinking
8625         about subbuffering and merging.
8626         Added some comments.
8627
8628         * tests/check/Makefile.am:
8629         * tests/check/libs/adapter.c: (GST_START_TEST),
8630         (gst_adapter_suite), (main):
8631         Added GstAdapter check.
8632
8633 2006-05-04  Wim Taymans  <wim@fluendo.com>
8634
8635         * docs/design/part-overview.txt:
8636         Fix some typos, add blurb about buffer flags.
8637
8638 2006-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
8639
8640         * docs/libs/gstreamer-libs-sections.txt:
8641           make sure GstBaseTransformClass shows up in the docs
8642         * libs/gst/base/gstbasetransform.c:
8643         * libs/gst/base/gstbasetransform.h:
8644           move docs so gtk-doc picks it up now
8645
8646 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
8647
8648         * docs/libs/gstreamer-libs-sections.txt:
8649           add missing symbols to docs
8650
8651 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
8652
8653         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
8654           back out the newsegment handling change, see #340060 for ongoing
8655           discussion
8656
8657 2006-04-30  Tim-Philipp Müller  <tim at centricular dot net>
8658
8659         * tools/gst-run.c: (get_candidates), (main):
8660           Fix wrong g_file_test() usage (see glib docs for why it doesn't
8661           work); fix typo in error message. Fixes #340079.
8662
8663 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
8664
8665         * common/Makefile.am:
8666         * docs/Makefile.am:
8667         * docs/faq/Makefile.am:
8668         * docs/gst/Makefile.am:
8669         * docs/libs/Makefile.am:
8670         * docs/manual/Makefile.am:
8671         * docs/plugins/Makefile.am:
8672         * docs/pwg/Makefile.am:
8673         * docs/slides/Makefile.am:
8674         * docs/upload.mak:
8675         * common/upload.mak:
8676           move upload.mak to common
8677
8678 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
8679
8680         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
8681           add more asserts on refcounts
8682           do more cleanup at end of tests
8683           fix test leaks showing in FC5
8684
8685 2006-04-29  Stefan Kost  <ensonic@users.sf.net>
8686
8687         * plugins/elements/gsttypefindelement.c:
8688         (gst_type_find_element_handle_event):
8689         reverted wrong change and reflowed code to avoid others falling into
8690         this trap
8691
8692 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
8693
8694         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
8695           fix changelog entry about last collectpads change,
8696           add notes about proper fix
8697
8698 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
8699
8700         * gst/gst.c:
8701         * gst/gstregistry.c: (gst_registry_scan_path_level),
8702         (gst_registry_scan_path):
8703         * gst/gstregistry.h:
8704           only write out registry if it has changed, fixes #338339
8705
8706 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
8707
8708         * gst/gstbin.c:
8709         * gst/gstpipeline.c:
8710         * plugins/elements/gstcapsfilter.c:
8711         * plugins/elements/gstfakesink.c:
8712         * plugins/elements/gstfakesrc.c:
8713         * plugins/elements/gstfdsink.c:
8714         * plugins/elements/gstfdsrc.c:
8715         * plugins/elements/gstfilesink.c:
8716         * plugins/elements/gstfilesrc.c:
8717         * plugins/elements/gstidentity.c:
8718         * plugins/elements/gstqueue.c:
8719         * plugins/elements/gsttee.c:
8720         * plugins/elements/gsttypefindelement.c:
8721         (gst_type_find_element_handle_event):
8722           make GstElementDetails const
8723
8724 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
8725
8726         * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
8727         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
8728         (gst_collect_pads_is_collected), (gst_collect_pads_event):
8729           more detailed debug and formatting cleanup,
8730           forward newsegments to src-pad (so that e.g. adder not eats them)
8731
8732 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
8733
8734         * gst/gstutils.c: (gst_element_link_pads):
8735           cleanup double code
8736
8737 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
8738
8739         * libs/gst/controller/gstcontroller.c:
8740         (gst_controller_sync_values):
8741           some little tuning
8742         * tests/check/libs/controller.c: (GST_START_TEST),
8743         (gst_controller_suite):
8744           a new test for live value handling
8745
8746 2006-04-28  Wim Taymans  <wim@fluendo.com>
8747
8748         * gst/gstutils.c: (push_and_ref):
8749         Added some more docs.
8750         Fix refcount issue whith gst_element_found_tags() helper 
8751         function. Fixes #338335
8752
8753         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
8754         Added testsuite for gst_element_found_tags().
8755
8756 2006-04-28  Michael Smith  <msmith@fluendo.com>
8757
8758         * gst/gstvalue.c: (gst_value_serialize_flags):
8759           Avoid NULL dereference when trying to serialize flags containing
8760           invalid values.
8761
8762 2006-04-28  Michael Smith  <msmith@fluendo.com>
8763
8764         * plugins/elements/gsttypefindelement.c:
8765         (gst_type_find_element_handle_event):
8766           If we get EOS before any data is accumulated, don't use
8767           uninitialised local variables.
8768
8769 2006-04-28  Michael Smith  <msmith@fluendo.com>
8770
8771         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
8772         (gst_dp_event_from_packet):
8773           Fixes in reading/writing events over GDP (not currently used?) - 
8774           dereferencing NULL events for unknown/invalid event types, memory
8775           leak, and change g_warning to GST_WARNING.
8776
8777 2006-04-28  Wim Taymans  <wim@fluendo.com>
8778
8779         * libs/gst/base/gstbasesink.c: (gst_base_sink_is_too_late),
8780         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
8781         (gst_base_sink_get_position), (gst_base_sink_change_state):
8782         When frame dropping is enabled, we should not ignore frames
8783         without a duration.
8784         Update some documentation.
8785
8786 2006-04-28  Wim Taymans  <wim@fluendo.com>
8787
8788         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
8789         (gst_base_src_send_event), (gst_base_src_change_state):
8790         Documentation updates.
8791
8792 2006-04-28  Wim Taymans  <wim@fluendo.com>
8793
8794         * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
8795         (gst_fd_sink_check_fd), (gst_fd_sink_update_fd):
8796         handle EAGAIN, EINTR and short writes correctly. Also clean
8797         up some error cases, avoid a deadlock on bad file descriptors and
8798         use GST_DEBUG_OBJECT.
8799         Fixes #339843
8800
8801 2006-04-28  Wim Taymans  <wim@fluendo.com>
8802
8803         * gst/gstvalue.c: (gst_value_serialize_buffer),
8804         (gst_value_deserialize_buffer):
8805         Don't try to serialize a GValue with a NULL buffer. 
8806         Fixes #339821.
8807
8808         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
8809         Added check for serialisation of NULL buffers.
8810
8811 2006-04-28  Wim Taymans  <wim@fluendo.com>
8812
8813         * gst/gstminiobject.c: (gst_value_take_mini_object):
8814         Taking a NULL miniobject is valid, fix the case where
8815         we try to unref the NULL miniobject.
8816
8817 2006-04-28  Wim Taymans  <wim@fluendo.com>
8818
8819         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
8820
8821         * gst/gstbin.c: (gst_bin_handle_message_func):
8822         Update docs.
8823         Don't leak bin refcount when a state recalc is
8824         in progress and we delay another one #339808.
8825
8826 2006-04-28  Wim Taymans  <wim@fluendo.com>
8827
8828         * docs/design/part-TODO.txt:
8829         Mention QoS as an ongoing work item.
8830
8831         * docs/design/part-buffering.txt:
8832         New doc about buffering that needs to be fleshed out
8833         at some point.
8834
8835         * docs/design/part-qos.txt:
8836         More QoS policy for decoders/demuxers/transforms
8837
8838         * docs/design/part-trickmodes.txt:
8839         Small update.
8840
8841 2006-04-28  Thomas Vander Stichele  <thomas at apestaart dot org>
8842
8843         * configure.ac:
8844           back to HEAD
8845
8846 === release 0.10.5 ===
8847
8848 2006-04-28  Thomas Vander Stichele <thomas at apestaart dot org>
8849
8850         * configure.ac:
8851           releasing 0.10.5, "Fogo"
8852
8853 2006-04-22  Thomas Vander Stichele  <thomas at apestaart dot org>
8854
8855         patch by: Wim Taymans
8856
8857         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
8858         (gst_pad_configure_src), (gst_pad_push):
8859         * gst/gstpipeline.c: (gst_pipeline_init):
8860           Fix internal data flow errors.  Fixes #338711.
8861
8862 2006-04-12  Wim Taymans  <wim@fluendo.com>
8863
8864         * tests/check/gst/gstelement.c: (GST_START_TEST):
8865         Don't leak the factory.
8866
8867 2006-04-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8868
8869         * configure.ac:
8870         * win32/common/config.h:
8871           prerelease
8872
8873 2006-04-12  Tim-Philipp Müller  <tim at centricular dot net>
8874
8875         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
8876         (gst_controller_unset_all):
8877           Free allocated GstTimedValues when freeing list nodes.
8878           Should fix leaks 'make check-valgrind' complains about.
8879
8880         * win32/common/libgstcontroller.def:
8881           Add gst_controller_unset_all.
8882
8883 2006-04-11  Stefan Kost  <ensonic@users.sf.net>
8884
8885         * docs/libs/gstreamer-libs-sections.txt:
8886         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
8887         (gst_controller_unset_all):
8888         * libs/gst/controller/gstcontroller.h:
8889         API: Added new method gst_controller_unset_all()
8890         fixed gst_controller_unset()
8891         * tests/check/libs/controller.c: (GST_START_TEST),
8892         (gst_controller_suite):
8893         Added two testcases for new and fixed method
8894
8895 2006-04-11  Tim-Philipp Müller  <tim at centricular dot net>
8896
8897         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
8898           MSG_DONTWAIT is not defined on Cygwin, so work
8899           around that (fixes #317048).
8900           
8901 2006-04-11  Wim Taymans  <wim@fluendo.com>
8902
8903         * gst/gstelementfactory.c: (gst_element_register),
8904         (gst_element_factory_create), (gst_element_factory_make):
8905         Some cleanups.
8906         Fixed a FIXME.
8907         Updated docs (Fixes #131079)
8908
8909         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
8910         Small cleanups.
8911
8912         * tests/check/gst/gstelement.c: (GST_START_TEST),
8913         (gst_element_suite):
8914         Added testcase for elementfactory class field.
8915
8916 2006-04-10  Wim Taymans  <wim@fluendo.com>
8917
8918         * gst/gstsegment.c:
8919         Added some more docs.
8920
8921         * libs/gst/base/gstbasesink.c: (gst_base_sink_perform_qos),
8922         (gst_base_sink_reset_qos):
8923         Calculate more accurate rate values.
8924
8925 2006-04-09  Sebastien Moutte  <sebastien@moutte.net>
8926
8927         * gst/gst_private.h:
8928           add a new #ifdef to use __declspec(dllimport) only for
8929           other modules and not for gstreamer core
8930         * gst/gstbasesink.c: (gst_base_sink_perform_qos):
8931           use gst_guint64_to_gdouble for conversion
8932         * win32/common/libgstreamer.def:
8933           add new exported functions
8934         * win32/vs6/gst_inspect.dsp:
8935         * win32/vs6/gst_launch.dsp:
8936         * win32/vs6/libgstbase.dsp:
8937         * win32/vs6/libgstcontroller.dsp:
8938         * win32/vs6/libgstcoreelements.dsp:
8939         * win32/vs6/libgstdataprotocol.dsp:
8940         * win32/vs6/libgstnet.dsp:
8941           update project files
8942
8943 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
8944
8945         * gst/gstbuffer.c: (gst_subbuffer_class_init):
8946         * gst/gstclock.c: (gst_clock_class_init):
8947         * gst/gstelement.c: (gst_element_class_init):
8948         * gst/gstindex.c: (gst_index_class_init):
8949         * gst/gstindexfactory.c: (gst_index_factory_class_init):
8950         * gst/gstobject.c: (gst_object_class_init),
8951         (gst_signal_object_class_init):
8952         * gst/gstpad.c: (gst_pad_class_init):
8953         * gst/gstpadtemplate.c: (gst_pad_template_class_init):
8954         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init):
8955         * gst/gstregistry.c: (gst_registry_class_init):
8956         * gst/gstsystemclock.c: (gst_system_clock_class_init):
8957         * gst/gsttask.c: (gst_task_class_init):
8958         * gst/gstxml.c: (gst_xml_class_init):
8959         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
8960         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
8961         (gst_base_src_loop):
8962         * libs/gst/controller/gstcontroller.c:/
8963         (_gst_controller_class_init):
8964         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
8965         * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
8966         * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init):
8967         * tests/old/examples/plugins/example.c: (gst_example_class_init):
8968         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
8969         Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent)
8970
8971 2006-04-08  Tim-Philipp Müller  <tim at centricular dot net>
8972
8973         * gst/gstpad.c: (gst_pad_link):
8974           Must set peer pads before calling the link function, otherwise
8975           a task started from a link function might get a flow-not-linked
8976           result when trying to push because the other thread where the
8977           linking happens hasn't had a chance to set the peers yet. This
8978           might happen for example when a queue gets linked to a downstream
8979           element, as queue starts a streaming task when its source pad
8980           gets linked. Happens in real life when playing back flac/musepack
8981           files in playbin (#332390).
8982           
8983 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
8984
8985         * gst/gstindex.h:
8986         * gst/gstxml.h:
8987         * libs/gst/base/gstadapter.h:
8988         * libs/gst/base/gstbasesink.h:
8989         * libs/gst/base/gstbasesrc.h:
8990         * libs/gst/base/gstbasetransform.h:
8991         * libs/gst/base/gstcollectpads.h:
8992         * libs/gst/base/gstpushsrc.h:
8993         Fix broken GObject macros
8994
8995 2006-04-07  Wim Taymans  <wim@fluendo.com>
8996
8997         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
8998         Initialize start and stop times, thanks valgrind.
8999
9000 2006-04-07  Wim Taymans  <wim@fluendo.com>
9001
9002         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
9003         Be a bit nicer to badly behaving upstream elements that expect
9004         us to deal with non TIME segments and timestamps (such as fakesrc
9005         in the testsuite).
9006
9007 2006-04-07  Wim Taymans  <wim@fluendo.com>
9008
9009         * gst/gstbus.c:
9010         Small documentation clarification about the signal watch.
9011
9012         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
9013         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
9014         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
9015         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
9016         (gst_base_sink_get_position_last),
9017         (gst_base_sink_get_position_paused), (gst_base_sink_change_state):
9018         Convert and store timestamps in stream time and running time, the
9019         raw timestamps are not useful, also document this better.
9020         Use different window sizes for good and bad QoS observations so
9021         we react to badness a little quicker.
9022         Keep track of the amount of rendered and dropped buffers.
9023         Send QoS timestamps in running time.
9024
9025         * libs/gst/base/gstbasetransform.c:
9026         (gst_base_transform_sink_eventfunc),
9027         (gst_base_transform_handle_buffer):
9028         Compare QoS timestamps against running time.
9029
9030 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
9031
9032         * gst/gstpad.c:
9033           Typo fixes in docs.
9034
9035 2006-04-06  Michael Smith  <msmith@fluendo.com>
9036
9037         * gst/gstpad.c: (gst_pad_set_property):
9038           Use g_value_get_object() instead of g_value_dup_gst_object(),
9039           to avoid double-reffing the pad template (which we then sink,
9040           so this worked previously if (and only if) the pad template
9041           was floating.
9042
9043         * gst/gstpadtemplate.c: (gst_pad_template_init),
9044         (gst_pad_template_pad_created):
9045           Never return floating references to pad templates, create
9046           them as initially-sunken.
9047
9048           Document an extra function (and make this stop sinking our
9049           pad template, since that is now guaranteed to do nothing,
9050           since we created it sunken).
9051
9052         * gst/gstghostpad.c:
9053           Fix docs typo.
9054
9055 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
9056
9057         * gst/gstinfo.c: (__gst_in_valgrind):
9058           Add some newlines.
9059
9060         * plugins/elements/gsttypefindelement.c:
9061         (gst_type_find_element_chain):
9062           Don't leak buffer caps.
9063
9064 2006-04-06  Michael Smith  <msmith@fluendo.com>
9065
9066         * gst/parse/grammar.y:
9067           Fix a leak in parse-launch for any source-or-sink named element 
9068           references used.
9069
9070         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
9071           Unref the pipeline if it exists after we've failed parsing.
9072
9073 2006-04-05  Michael Smith  <msmith@fluendo.com>
9074
9075         * gst/gstpipeline.c: (gst_pipeline_init):
9076           When we create a pipeline bus, initially create it in flushing mode.
9077           Fixes leaks in at least one test, and makes a new pipeline work the
9078           same as one that has gone to READY and then back to NULL.
9079
9080         * gst/gstelement.c:
9081           Typo fix in docs.
9082
9083 2006-04-05  Michael Smith  <msmith@fluendo.com>
9084
9085         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
9086           Unref a pad we reffed.
9087         * tests/check/gst/gstutils.c: (GST_START_TEST):
9088           Unref bins
9089
9090 2006-04-05  Michael Smith  <msmith@fluendo.com>
9091
9092         * gst/gstquery.c: (gst_query_set_formats),
9093         (gst_query_set_formatsv):
9094           Fix leaking GValues in queries, as shown by valgrind/testsuite.
9095
9096 2006-04-05  Michael Smith  <msmith@fluendo.com>
9097
9098         * tests/check/generic/sinks.c: (GST_START_TEST):
9099           Fix a variety of memleaks in sinks check, which are only sometimes 
9100           shown by running the tests under valgrind (weird?).
9101
9102 2006-04-05  Jan Schmidt  <thaytan@mad.scientist.com>
9103
9104         * docs/version.entities.in:
9105           Fix the substituted entity name after thomas' changes on the
9106           weekend.
9107
9108 2006-04-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
9109
9110         * gst/gstinfo.c: (__gst_in_valgrind): Use printf instead of
9111         VALGRIND_PRINTF
9112         
9113 2006-04-05  Andy Wingo  <wingo@pobox.com>
9114
9115         * gst/gstpad.c (gst_pad_set_blocked_async): More debug.
9116
9117         * libs/gst/base/gstbasetransform.c
9118         (gst_base_transform_sink_eventfunc): When resetting our segment on
9119         FLUSH_STOP, also update the flag saying we haven't seen a
9120         newsegment.
9121
9122 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
9123
9124         Patch by: Paolo Borelli  <pborelli at katamail dot com>
9125
9126         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
9127         (gst_plugin_check_license):
9128           minor clean-ups: G_DEFINE_TYPE already takes care of the
9129           parent_class stuff, no need to do it twice. Mark array of
9130           license strings as constant. (#337103)
9131           
9132 2006-04-04  Michael Smith  <msmith@fluendo.com>
9133
9134         * tools/gst-inspect.c: (print_element_list):
9135           Free the right plugin list; fixes a memory leak.
9136
9137 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
9138
9139         Patch by: Mark Nauwelaerts  <manauw at skynet dot be>
9140
9141         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
9142           Don't error out on empty buffers (#336945).
9143           
9144 2006-04-04  Jan Schmidt  <thaytan@mad.scientist.com>
9145
9146         * docs/libs/gstreamer-libs-sections.txt:
9147         * gst/gsttaglist.c:
9148         * libs/gst/base/gstbasesink.c:
9149         * libs/gst/base/gstbasesink.h:
9150         * libs/gst/base/gstbasesrc.c:
9151         * libs/gst/base/gstbasesrc.h:
9152           Documentation updates. Make BaseSink and BaseSrc docs contain the
9153           class structure so that people can actually see the prototypes for
9154           virtual functions they're supposed to be overriding.
9155
9156 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
9157
9158         * plugins/elements/gsttypefindelement.c:
9159         (gst_type_find_element_chain):
9160           More debug info; when skipping typefinding, send cached
9161           events in all cases.
9162
9163 2006-04-01  Thomas Vander Stichele  <thomas at apestaart dot org>
9164
9165         * configure.ac:
9166           use new AS_VERSION and AS_NANO macros
9167         * gst/gst-i18n-lib.h:
9168         * gst/gst.c:
9169         * gst/gsterror.c:
9170         * gst/gstversion.h.in:
9171         * win32/common/config.h:
9172         * win32/common/config.h.in:
9173           update accordingly
9174
9175 2006-03-31  Michael Smith  <msmith@fluendo.com>
9176
9177         * plugins/elements/gsttypefindelement.c:
9178         (gst_type_find_element_chain):
9179           Do not typefind content if the buffers already have caps.
9180           Neccesary for icydemux (#333657), and the right thing to do anyway.
9181
9182 2006-03-30  Wim Taymans  <wim@fluendo.com>
9183
9184         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
9185         (gst_base_sink_finalize), (gst_base_sink_set_qos_enabled),
9186         (gst_base_sink_is_qos_enabled), (gst_base_sink_do_sync),
9187         (gst_base_sink_record_qos_observation),
9188         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
9189         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
9190         (gst_base_sink_change_state):
9191         More QoS measurements as described in the design doc.
9192         Get rid of ringbuffer with observations, running average is
9193         more simple and equally good.
9194         Calculates valid proportion now.
9195         Added beginning of flood measurement.
9196
9197 2006-03-29  Wim Taymans  <wim@fluendo.com>
9198
9199         * docs/design/part-qos.txt:
9200         * gst/gstclock.c:
9201         Small documentation updates and additions.
9202
9203 2006-03-29  Wim Taymans  <wim@fluendo.com>
9204
9205         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
9206         (gst_base_src_send_event), (gst_base_src_loop),
9207         (gst_base_src_change_state):
9208         Perform the EOS logic when we reach the segment stop position.
9209         Fix compilation on gcc4.1
9210
9211 2006-03-29  Wim Taymans  <wim@fluendo.com>
9212
9213         Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
9214
9215         * plugins/elements/gstqueue.c: (gst_queue_init),
9216         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
9217         (gst_queue_set_property):
9218         * plugins/elements/gstqueue.h:
9219         In queue, when EOS is received, if minimum threshold > max_size -
9220         current_level, there is chance that queue blocks forever in conditional
9221         item del wait. This is because the queue is not emptied completely due
9222         to minimum threshold.  Here is another approach. Instead of setting
9223         cur_levels to max in EOS, just zero all minimum threshold levels. This
9224         should make sure that queue gives out all data. When going to READY
9225         (stop) state, just reset the original minimum threshold levels.
9226         Fixes #336336.
9227
9228 2006-03-29  Tim-Philipp Müller  <tim at centricular dot net>
9229
9230         * plugins/elements/gsttypefindelement.c: (stop_typefinding),
9231         (gst_type_find_element_handle_event),
9232         (gst_type_find_element_send_cached_events),
9233         (gst_type_find_element_change_state):
9234         * plugins/elements/gsttypefindelement.h:
9235           When typefinding is done in push mode, we should cache
9236           events we receive during typefinding instead of just
9237           dropping them (e.g. newsegment, custom events from
9238           dvdreadsrc etc.) and then send them out once we've
9239           determined the type of the stream (and decodebin
9240           has had a chance to plug in a decoder/demuxer).
9241           
9242 2006-03-27  Wim Taymans  <wim@fluendo.com>
9243
9244         * docs/design/part-qos.txt:
9245         First QoS ideas.
9246
9247 2006-03-27  Wim Taymans  <wim@fluendo.com>
9248
9249         Inspired by a patch of: Lutz Mueller <lutz at topfrose dot de>
9250
9251         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
9252         (gst_base_src_send_event), (gst_base_src_change_state):
9253         Handle element seek correctly when we are streaming.
9254         Fixes #326998.
9255
9256 2006-03-24  Michael Smith  <msmith@fluendo.com>
9257
9258         * docs/faq/gst-uninstalled:
9259           Set up LD_LIBRARY_PATH to point at all the gstreamer libs. This will
9260           allow you to correctly run intalled applications built against old 
9261           core, using plugins that require updated core (e.g. running
9262           installed totem against a full uninstalled gstreamer stack)
9263
9264 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
9265
9266         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
9267         more debug details
9268
9269 2006-03-24  Wim Taymans  <wim@fluendo.com>
9270
9271         * docs/gst/gstreamer-sections.txt:
9272         Rearrange the order of the methods so that related methods
9273         are grouped together in sections.
9274
9275 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
9276
9277         * gst/gstelement.c:
9278           Little clarification in the docs
9279
9280 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
9281
9282         * docs/README:
9283         formatting fix
9284         * plugins/elements/gstidentity.c:
9285         * plugins/elements/gstqueue.c:
9286         * plugins/elements/gsttee.c:
9287         * plugins/elements/gsttypefindelement.c:
9288         GST_ELEMENT_DETAILS formatting
9289
9290 2006-03-24  Wim Taymans  <wim@fluendo.com>
9291
9292         * libs/gst/base/gstbasesink.h:
9293         Only add fields, not insert or we break ABI.
9294
9295 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
9296
9297         * win32/common/libgstbase.def:
9298         * win32/common/libgstreamer.def:
9299           Update, add recently added functions.
9300
9301 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
9302
9303         * docs/gst/gstreamer-sections.txt:
9304         * gst/gstutils.c: (gst_pad_query_peer_position),
9305         (gst_pad_query_peer_duration), (gst_pad_query_peer_convert):
9306         * gst/gstutils.h:
9307           API: add some new utility functions:
9308            - gst_pad_query_peer_position()
9309            - gst_pad_query_peer_duration()
9310            - gst_pad_query_peer_convert()
9311           
9312 2006-03-23  Wim Taymans  <wim@fluendo.com>
9313
9314         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
9315         (gst_base_sink_init), (gst_base_sink_finalize),
9316         (gst_base_sink_set_qos_enabled), (gst_base_sink_is_qos_enabled),
9317         (gst_base_sink_set_property), (gst_base_sink_get_property),
9318         (gst_base_sink_commit_state), (gst_base_sink_get_sync_times),
9319         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
9320         (gst_base_sink_add_qos_observation), (gst_base_sink_send_qos),
9321         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
9322         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
9323         (gst_base_sink_preroll_object), (gst_base_sink_event),
9324         (gst_base_sink_chain_unlocked), (gst_base_sink_get_position_last),
9325         (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
9326         (gst_base_sink_query), (gst_base_sink_change_state):
9327         Decouple max-lateness and the fact that QoS messages are generated
9328         with a new property (qos).
9329         added API: GstBaseSink::async_play()
9330         Add vmethod so subclasses can be notified of ASYNC playing
9331         state changes.
9332         Collect timestamp start and stop to report better current
9333         position in EOS/PLAYING/PAUSED/READY/NULL.
9334         Refactor QoS/frame dropping and other measurements.
9335         API: GstBaseSrc::qos
9336         Fixes #326311
9337
9338         * libs/gst/base/gstbasesink.h:
9339         Added Private struct.
9340         API: gst_base_sink_set_qos_enabled()
9341         API: gst_base_sink_is_qos_enabled()
9342
9343 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
9344
9345         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
9346           If compiling against GLib-2.8 or newer, try to read the
9347           registry file using GMappedFile first before falling back
9348           to fopen() + fread() (#332151).
9349
9350 2006-03-22  Wim Taymans  <wim@fluendo.com>
9351
9352         * gst/gstinfo.c: (gst_debug_set_active),
9353         (gst_debug_category_set_threshold):
9354         Disable debugging unless explicitly activated.
9355         Fixes #335480.
9356
9357 2006-03-22  Wim Taymans  <wim@fluendo.com>
9358
9359         * gst/gstelement.c: (gst_element_set_locked_state),
9360         (gst_element_dispose):
9361         Cleanup the error case.
9362
9363         * gst/gstobject.c: (gst_object_dispose):
9364         print a critical when some object was disposed with
9365         a parent, also revive the object since it might
9366         crash the parent.
9367
9368 2006-03-22  Tim-Philipp Müller  <tim at centricular dot net>
9369
9370         * tools/gst-launch.1.in:
9371           Fix another typo.
9372
9373 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
9374
9375         * configure.ac:
9376         * tests/check/Makefile.am:
9377           disable some tests when we don't have a registry
9378         * tests/check/gst/gstutils.c: (gst_utils_suite):
9379           don't build the part that needs parsing
9380
9381 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
9382
9383         * gst/Makefile.am
9384         * tests/examples/Makefile.am:
9385           fix --disable-parse build
9386
9387 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
9388
9389         * tools/gst-feedback.1.in:
9390           Fix typo: s/feeback/feedback/ (#133494).
9391
9392 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
9393
9394         * tools/Makefile.am:
9395         * tools/gst-launch.1.in:
9396           Add FILES section and correct entry about GST_REGISTRY_PATH
9397           environment variable (#133495; #133494).
9398
9399 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
9400
9401         * tools/Makefile.am:
9402         * tools/gst-md5sum.1.in:
9403         * tools/gst-md5sum.c:
9404           Remove gst-md5sum and man page (the md5sink element
9405           required was removed ages ago)
9406
9407 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
9408
9409         * gst/gststructure.c: (gst_structure_id_set_value):
9410           Make sure that string fields in structures/taglists
9411           contain valid UTF-8 - we don't want to pass rubbish to
9412           applications because of a buggy plugin (cp. #334167).
9413
9414 2006-03-21  Edward Hervey  <edward@fluendo.com>
9415
9416         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
9417         (gst_bin_handle_message_func):
9418         * gst/gstclock.c: (gst_clock_dispose), (gst_clock_set_master):
9419         * gst/gstelement.c: (gst_element_set_clock), (gst_element_dispose),
9420         (gst_element_set_bus_func):
9421         * gst/gstghostpad.c: (gst_proxy_pad_dispose):
9422         * gst/gstminiobject.c: (gst_value_set_mini_object),
9423         (gst_value_take_mini_object):
9424         * gst/gstpad.c: (gst_pad_set_pad_template):
9425         * gst/gstpipeline.c: (gst_pipeline_dispose),
9426         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
9427         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop),
9428         (gst_collect_pads_chain):
9429         * libs/gst/net/gstnettimeprovider.c:
9430         (gst_net_time_provider_set_property):
9431         Series of fixes for dereferenced pointers that gcc 4.1 complains about.
9432         It's in fact all issues with gst_*object_replace().
9433
9434 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
9435
9436         Patch by: Loïc Minier  <lool + gnome at via dot ecp dot fr>
9437         
9438         * pkgconfig/gstreamer-check-uninstalled.pc.in:
9439         * pkgconfig/gstreamer-check.pc.in:
9440           Use @CHECK_LIBS@ here instead of hard-coding -lcheck (#334109).
9441
9442 2006-03-21  Edward Hervey  <edward@fluendo.com>
9443
9444         * gst/gstbuffer.h:
9445         * gst/gstevent.h:
9446         * gst/gstmessage.h:
9447         gst_[buffer|event|message]_ref() macros are replaced by a static
9448         inline functions because gcc-4.1 will about if the return value
9449         isn't used.
9450         * tests/check/gst/gstevent.c: (event_probe):
9451         gst_event_ref now has to be given a GstEvent* , fix check accordingly.
9452
9453 2006-03-20  Jan Schmidt  <thaytan@mad.scientist.com>
9454
9455         * gst/gstutils.h:
9456         Add G_UNLIKELY to our boilerplate to optimise the 'already registered
9457         the type' case. (Closes: #335195 for now). In the future, when we
9458         depend on GLib 2.10, we could also intern the type name using
9459         g_intern_static_string()
9460
9461 2006-03-20  Wim Taymans  <wim@fluendo.com>
9462
9463         * gst/gstbin.c: (gst_bin_handle_message_func),
9464         (bin_query_max_init), (bin_query_position_fold),
9465         (bin_query_position_done), (gst_bin_query):
9466         Position query should also take max of all streams.
9467
9468 2006-03-20  Wim Taymans  <wim@fluendo.com>
9469
9470         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
9471         (gst_fake_src_finalize):
9472         Fix leaks in fakesrc.
9473
9474         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
9475         Fix leaks in the testcase.
9476
9477 2006-03-19  Sebastien Moutte  <sebastien@moutte.net>
9478
9479         * gst/gst_private.h:
9480           add win32 specific import decoration(__declspec(dllimport)) 
9481           for all extern GstDebugCategory * variables
9482         * win32/common/libgstbase.def:
9483         * win32/common/libgstcontroller.def:
9484         * win32/common/libgstreamer.def:
9485           Add some exports, remove empty lines
9486         * win32/common/libgstdataprotocol.def:
9487         * win32/common/libgstdataprotocol.dsp:
9488         * win32/common/libgstnet.def:
9489         * win32/common/libgstnet.dsp:
9490           new project files and exportation files added
9491         
9492 2006-03-19  Wim Taymans  <wim@fluendo.com>
9493
9494         * tests/check/libs/basesrc.c: (eos_event_counter):
9495         Use proper return value for probe.
9496
9497 2006-03-17  Wim Taymans  <wim@fluendo.com>
9498
9499         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
9500         (gst_pad_push):
9501         Don't leak buffers, caps and pads on negotiation errors.
9502
9503 2006-03-16  Stefan Kost  <ensonic@users.sf.net>
9504
9505         * docs/faq/cvs.xml:
9506         * docs/faq/dependencies.xml:
9507         * docs/faq/developing.xml:
9508         * docs/faq/faq.xml:
9509         * docs/faq/general.xml:
9510         * docs/faq/getting.xml:
9511         * docs/faq/legal.xml:
9512         * docs/faq/troubleshooting.xml:
9513         * docs/faq/using.xml:
9514         Faq review and update.
9515
9516 2006-03-16  Jan Schmidt  <thaytan@mad.scientist.com>
9517
9518         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
9519         (gst_pad_push):
9520         Don't pound the cpu to pieces by checking get_caps when accept_caps
9521         is called with the same caps as the pad already has.
9522         Use GST_DEBUG_OBJECT when outputting caps change information.
9523
9524 2006-03-15  Wim Taymans  <wim@fluendo.com>
9525
9526         * gst/gstclock.c: (gst_clock_class_init):
9527         Fix docs.
9528
9529 2006-03-15  Jan Schmidt  <thaytan@mad.scientist.com>
9530
9531         * gst/gstbuffer.h:
9532         Documentation fix.
9533
9534         * gst/gstpad.c: (gst_pad_init), (gst_pad_acceptcaps_default),
9535         (gst_pad_accept_caps), (gst_pad_configure_sink),
9536         (gst_pad_configure_src), (gst_pad_chain), (gst_pad_push):
9537         Make the default acceptcaps behaviour be to check the requested 
9538         caps against the gst_pad_get_caps output. 
9539
9540         Ensure that gst_pad_accept_caps is used to check caps when a pad
9541         doesn't have a setcaps function, so that pads automatically refuse 
9542         caps that they don't allow in their pad template. (Fixes #332986)
9543
9544         When a buffer with attached caps is pushed, ensure that the source 
9545         pad receives those caps even if the element didn't call
9546         gst_pad_set_caps first.
9547
9548 2006-03-15  Wim Taymans  <wim@fluendo.com>
9549
9550         * libs/gst/base/gstadapter.c:
9551         Add some docs.
9552
9553 2006-03-15  Tim-Philipp Müller  <tim at centricular dot net>
9554
9555         * win32/common/libgstbase.def:
9556         * win32/common/libgstcontroller.def:
9557         * win32/common/libgstreamer.def:
9558           Add a whole bunch of missing functions (#334434).
9559
9560 2006-03-14  Wim Taymans  <wim@fluendo.com>
9561
9562         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
9563         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
9564         (gst_base_sink_do_sync), (gst_base_sink_do_qos):
9565         Better debug info when we receive a segment event.
9566         Reorganize a bit so we can pass the get_times() results around.
9567         Use the segment format when calculating the running time.
9568         Don't do QoS is sync is disabled or we have no clock or the
9569         element does not want us to sync to the clock.
9570         Don't drop buffers if QoS is disabled for now.
9571
9572 2006-03-14  Wim Taymans  <wim@fluendo.com>
9573
9574         * gst/gstclock.c: (gst_clock_class_init), (do_linear_regression):
9575         Marked the stats property as unimplemented so people don't get
9576         wild ideas.
9577         Add debug message when regression goes wrong.
9578         Added some more docs.
9579
9580 2006-03-14  Wim Taymans  <wim@fluendo.com>
9581
9582         * gst/gstsegment.c: (gst_segment_to_stream_time):
9583         Return correct return type in case of errors.
9584
9585 2006-03-14  Wim Taymans  <wim@fluendo.com>
9586
9587         * gst/gstformat.c: (gst_format_get_name), (gst_format_to_quark):
9588           Don't segfault on invalid formats.
9589
9590 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
9591
9592         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
9593           Can't use gst_segment_to_running_time() when the segment
9594           is not in GST_TIME_FORMAT (like with filesink, for example).
9595           Stops flac encoding pipelines from spewing critical warnings
9596           at EOS (#331248).
9597           
9598 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
9599
9600         * gst/gstpipeline.c: (gst_pipeline_class_init):
9601           Add 'Since: 0.10.5' to gtk-doc blurb for added property.
9602
9603         * plugins/elements/gsttypefindelement.c:
9604         (gst_type_find_element_handle_event):
9605           Don't try to typefind empty streams.
9606
9607 2006-03-14  Wim Taymans  <wim@fluendo.com>
9608
9609         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
9610         (gst_base_sink_do_qos):
9611         Separate QoS calculation.
9612         Only drop buffers when lateness is bigger than the 
9613         duration of the buffer.
9614
9615 2006-03-13  Wim Taymans  <wim@fluendo.com>
9616
9617         * gst/gstpipeline.c: (gst_pipeline_set_property),
9618         (gst_pipeline_get_property), (do_pipeline_seek),
9619         (gst_pipeline_change_state), (gst_pipeline_set_delay),
9620         (gst_pipeline_get_delay):
9621         Don't deadlock when reading properties.
9622
9623 2006-03-13  Wim Taymans  <wim@fluendo.com>
9624
9625         * libs/gst/base/gstbasetransform.c:
9626         (gst_base_transform_class_init), (gst_base_transform_init),
9627         (gst_base_transform_sink_event),
9628         (gst_base_transform_sink_eventfunc),
9629         (gst_base_transform_src_event), (gst_base_transform_src_eventfunc),
9630         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
9631         (gst_base_transform_set_property),
9632         (gst_base_transform_get_property),
9633         (gst_base_transform_change_state), (gst_base_transform_update_qos),
9634         (gst_base_transform_set_qos_enabled),
9635         (gst_base_transform_is_qos_enabled):
9636         * libs/gst/base/gstbasetransform.h:
9637         Make basetransform virtual method for src events too.
9638         Handle QOS in basetransform.
9639         API: gst_base_transform_update_qos()
9640         API: gst_base_transform_set_qos_enabled()
9641         API: gst_base_transform_is_qos_enabled()
9642
9643 2006-03-13  Wim Taymans  <wim@fluendo.com>
9644
9645         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
9646         (gst_base_sink_do_sync):
9647         Small cleanups.
9648         Use QOS debug category.
9649
9650 2006-03-13  Wim Taymans  <wim@fluendo.com>
9651
9652         * plugins/elements/gstqueue.c:
9653         Very small doc update.
9654
9655 2006-03-13  Wim Taymans  <wim@fluendo.com>
9656
9657         * gst/gst_private.h:
9658         * gst/gstinfo.c: (_gst_debug_init):
9659         Added QOS debug category
9660
9661 2006-03-13  Wim Taymans  <wim@fluendo.com>
9662
9663         * docs/gst/gstreamer-sections.txt:
9664         * gst/gstbin.c: (bin_bus_handler), (gst_bin_handle_message_func):
9665         * gst/gstbin.h:
9666         * gst/gstbus.c: (gst_bus_class_init):
9667         * gst/gstbus.h:
9668         * gst/gstclock.c:
9669         * gst/gstelement.c: (gst_element_set_locked_state):
9670         * gst/gstsegment.c:
9671         Documentation updates.
9672
9673         * gst/gstpipeline.c: (gst_pipeline_get_type),
9674         (gst_pipeline_class_init), (gst_pipeline_init),
9675         (gst_pipeline_dispose), (gst_pipeline_set_property),
9676         (gst_pipeline_get_property), (do_pipeline_seek),
9677         (gst_pipeline_send_event), (gst_pipeline_change_state),
9678         (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay),
9679         (gst_pipeline_get_delay):
9680         * gst/gstpipeline.h:
9681         Added methods for setting the delay.
9682         API: gst_pipeline_set_delay()
9683         API: gst_pipeline_get_delay()
9684         Add pipeline debug category
9685         Various cleanups.
9686         Updated docs.
9687         Don't reset stream time when seek failed.
9688
9689 2006-03-13  Wim Taymans  <wim@fluendo.com>
9690
9691         * docs/design/draft-klass.txt:
9692         * docs/design/part-clocks.txt:
9693         * docs/design/part-events.txt:
9694         * docs/design/part-gstbin.txt:
9695         * docs/design/part-gstpipeline.txt:
9696         * docs/design/part-messages.txt:
9697         * docs/design/part-negotiation.txt:
9698         * docs/design/part-overview.txt:
9699         * docs/design/part-preroll.txt:
9700         * docs/design/part-seeking.txt:
9701         * docs/design/part-states.txt:
9702         * docs/design/part-streams.txt:
9703         Documentation updates.
9704
9705 2006-03-12  Julien MOUTTE  <julien@moutte.net>
9706
9707         * gst/gsttaglist.c: Fix rubbish docs that are encouraging
9708         us to leak strings...
9709
9710 2006-03-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9711
9712         * libs/gst/net/gstnettimeprovider.c:
9713           fix docs
9714         * win32/common/config.h:
9715           update
9716
9717 2006-03-12  Tim-Philipp Müller  <tim at centricular dot net>
9718
9719         Patch by: Julio M. Merino Vidal <jmmv at netbsd org>
9720
9721         * configure.ac:
9722           Don't check for libgnomeui (leftover from old examples
9723           that aren't built or disted any longer) (#334303).
9724           
9725 2006-03-11  Tim-Philipp Müller  <tim at centricular dot net>
9726
9727         * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
9728         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
9729           Emit RESOURCE_NO_SPACE_LEFT error here as well when
9730           there's no space left on the device.
9731
9732 2006-03-10  Tim-Philipp Müller  <tim at centricular dot net>
9733
9734         * gst/gstclock.h:
9735           Fix GST_CLOCK_TIME_IS_VALID signedness issues - we need
9736           to cast the input to GstClockTime before comparing with
9737           another GstClockTime value.
9738
9739 2006-03-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9740
9741         * configure.ac:
9742           back to trunk
9743
9744 === release 0.10.4 ===
9745
9746 2006-03-10  Thomas Vander Stichele <thomas at apestaart dot org>
9747
9748         * configure.ac:
9749           releasing 0.10.4, "Light"
9750
9751 2006-03-10  Michael Smith  <msmith@fluendo.com>
9752
9753         * libs/gst/dataprotocol/dataprotocol.c:
9754           Fix docs for dataprocotol to not get the return types completely
9755           wrong for a few functions.
9756
9757 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
9758
9759         * docs/gst/gstreamer-sections.txt:
9760         * gst/gstpipeline.c: (gst_pipeline_class_init),
9761         (gst_pipeline_init), (gst_pipeline_set_property),
9762         (gst_pipeline_get_property), (gst_pipeline_change_state),
9763         (gst_pipeline_set_auto_flush_bus),
9764         (gst_pipeline_get_auto_flush_bus):
9765         * gst/gstpipeline.h:
9766           Add new API: gst_pipeline_set_auto_flush_bus() and
9767           gst_pipeline_get_auto_flush_bus() to disable automatic
9768           flushing of the pipeline's GstBus when going from READY
9769           to NULL state (#332045).
9770
9771 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
9772
9773         * docs/gst/gstreamer-sections.txt:
9774         * gst/gsturi.c: (gst_uri_has_protocol):
9775         * gst/gsturi.h:
9776            Add new API: gst_uri_has_protocol() (#333779).
9777
9778 2006-03-09  Wim Taymans  <wim@fluendo.com>
9779
9780         * gst/gstclock.c: (gst_clock_entry_new),
9781         (gst_clock_id_compare_func), (gst_clock_id_wait),
9782         (gst_clock_id_wait_async), (gst_clock_id_unschedule),
9783         (gst_clock_init), (gst_clock_get_internal_time),
9784         (gst_clock_set_master), (do_linear_regression),
9785         (gst_clock_add_observation), (gst_clock_set_property):
9786         * gst/gstclock.h:
9787         Review docs.
9788         Small cleanups.
9789         Fix a possible segfault when the window-size is made smaller.
9790         Calculate jitter before performing the clock wait. Ideally
9791         the clock implementation should calculate jitter but we need
9792         API breakage for that.
9793
9794         * gst/gstsystemclock.c: (gst_system_clock_init):
9795         Docs review.
9796         
9797         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
9798         Remove leftover else
9799
9800         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
9801         (gst_systemclock_suite):
9802         Added check to test GST_CLOCK_DIFF.
9803
9804 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
9805
9806         * libs/gst/base/gsttypefindhelper.c: (helper_find_get_length),
9807         (gst_type_find_helper_get_range):
9808           If we are provided with the size, we should implement
9809           GstTypeFind::get_length, so that typefind functions who
9810           want to can actually peek at the middle of a file.
9811
9812 2006-03-08  Tim-Philipp Müller  <tim at centricular dot net>
9813
9814         * docs/manual/advanced-dataaccess.xml:
9815           Add some very very basic error checking.
9816
9817         * docs/pwg/appendix-checklist.xml:
9818           Some updates to the list of things to check when writing an element.
9819
9820 2006-03-08  Wim Taymans  <wim@fluendo.com>
9821
9822         * docs/design/part-element-transform.txt:
9823         Added some docs about the design of tranform elements.
9824
9825         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
9826         (gst_base_src_loop), (gst_base_src_change_state):
9827         Mark buffers with the DISCONT flag.
9828
9829 2006-03-08  Michael Smith  <msmith@fluendo.com>
9830
9831         * gst/gstregistry.h:
9832         * gst/gstregistryxml.c: (gst_registry_save),
9833         (gst_registry_save_escaped), (gst_registry_xml_save_caps),
9834         (gst_registry_xml_save_pad_template),
9835         (gst_registry_xml_save_feature), (gst_registry_xml_save_plugin),
9836         (gst_registry_xml_write_cache):
9837           Rewrite registry-saving to avoid race conditions and check for
9838           failed writes.
9839
9840 2006-03-08  Wim Taymans  <wim@fluendo.com>
9841
9842         * libs/gst/base/gstbasetransform.c:
9843         (gst_base_transform_transform_caps),
9844         (gst_base_transform_transform_size),
9845         (gst_base_transform_prepare_output_buffer),
9846         (gst_base_transform_get_unit_size),
9847         (gst_base_transform_buffer_alloc),
9848         (gst_base_transform_handle_buffer),
9849         (gst_base_transform_change_state):
9850         Cleanups, separate normal flow from errors, add sensible
9851         DEBUG lines.
9852         Don't try to renegotiate when allocating an output buffer.
9853         Also copy DISCONT buffer flag when copying a buffer.
9854         Reset the transform after we finish streaming, not during.
9855
9856 2006-03-08  Wim Taymans  <wim@fluendo.com>
9857
9858         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
9859         Use last buffer timestamp in qos message.
9860
9861 2006-03-07  Wim Taymans  <wim@fluendo.com>
9862
9863         Patch by: Christophe Fergeau
9864
9865         * docs/pwg/advanced-tagging.xml:
9866         * docs/pwg/building-pads.xml:
9867           fixes #333416
9868
9869 2006-03-07  Wim Taymans  <wim@fluendo.com>
9870
9871         * docs/libs/gstreamer-libs-sections.txt:
9872         Added basesink new methods.
9873
9874         * gst/gstevent.c:
9875         * gst/gstevent.h:
9876         Docs updates. Flesh out the QoS docs.
9877
9878         * libs/gst/base/gstadapter.c:
9879         Small doc clarification about ownership and flushing.
9880
9881         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_sync),
9882         (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
9883         (gst_base_sink_get_max_lateness), (gst_base_sink_set_property),
9884         (gst_base_sink_get_property), (gst_base_sink_do_sync):
9885         * libs/gst/base/gstbasesink.h:
9886         API additions: 
9887         Added new methods to allow subclass to control max-lateness 
9888         and sync.
9889         Generate very basic QoS events based on last sync observation.
9890         Updated docs, fix typo, added some QoS blurb.
9891
9892         * libs/gst/base/gstbasesrc.c:
9893         Remove obsolete _get_state() calls from docs.
9894
9895 2006-03-07  Wim Taymans  <wim@fluendo.com>
9896
9897         * docs/libs/gstreamer-libs-sections.txt:
9898         * libs/gst/base/gstbasetransform.h:
9899         API addition: Fix #333669, Add pad accessor defines for GstBaseTransform
9900         Fix docs for GstBaseSrc.
9901
9902 2006-03-07  Wim Taymans  <wim@fluendo.com>
9903
9904         * docs/gst/gstreamer-sections.txt:
9905         * gst/gstbuffer.h:
9906         * gst/gstvalue.c:
9907         * libs/gst/base/gstbasetransform.h:
9908         Small documentation fixes.
9909
9910 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
9911
9912         * gst/gstvalue.c:
9913           Document thread-unsafety of gst_value_register_foo_func()
9914           when used at the same time as gst_value_foo() (#322628).
9915
9916 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
9917
9918         * libs/gst/base/gstpushsrc.c: (gst_push_src_class_init),
9919         (gst_push_src_check_get_range):
9920           Push sources don't support pull mode by default.
9921
9922 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
9923
9924         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
9925         (gst_base_src_init), (gst_base_src_pad_check_get_range),
9926         (gst_base_src_default_check_get_range):
9927         * libs/gst/base/gstbasesrc.h:
9928           API addition:  Add ::check_get_range() vfunc to GstBaseSrc (#332611),
9929           provide default implementation, and rename
9930           gst_base_src_check_get_range() to
9931           gst_base_src_pad_check_get_range() for clarity.
9932
9933 2006-03-06  Wim Taymans  <wim@fluendo.com>
9934
9935         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
9936         Make property overridable.
9937
9938 2006-03-06  Wim Taymans  <wim@fluendo.com>
9939
9940         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
9941         (gst_base_sink_init), (gst_base_sink_set_property),
9942         (gst_base_sink_get_property), (gst_base_sink_do_sync):
9943         * libs/gst/base/gstbasesink.h:
9944         API addition: Make max-lateness a property.
9945
9946 2006-03-06  Wim Taymans  <wim@fluendo.com>
9947
9948         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock),
9949         (gst_base_sink_do_sync), (gst_base_sink_render_object):
9950         Don't ever draw a frame that is >10ms late.
9951
9952 2006-03-06  Michael Smith  <msmith@fluendo.com>
9953
9954         * gst/gstmessage.c: (_gst_message_copy):
9955           When copying a message, set the parent_refcount of the enclosed
9956           structure to point at the copy, not the original message.
9957
9958 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
9959
9960         Patch by: Christophe Fergeau
9961
9962         * gst/gstutils.h:
9963           Do proper cast here to make GST_BOILERPLATE_WITH_INTERFACE
9964           usable in c++ code (#333417)
9965
9966 2006-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
9967
9968         * gst/gstclock.h:
9969           Show GST_CLOCK_TIME_NONE as 99:99:99.999999999
9970
9971 2006-03-05  Tim-Philipp Müller  <tim at centricular dot net>
9972
9973         * libs/gst/base/gstbasetransform.c:
9974         (gst_base_transform_transform_caps):
9975           Make sure caps are writable before passing them to
9976           gst_caps_append().
9977
9978 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
9979
9980         * gst/gsterror.h:
9981           Fix some minor docs errors.
9982
9983 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
9984
9985           Patch by: Ross Burton <ross at burtonini dot com>
9986
9987         * gst/gsterror.c: (_gst_resource_errors_init):
9988         * gst/gsterror.h:
9989           Add GST_RESOURCE_ERROR_NO_SPACE_LEFT (for #333352;
9990
9991 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
9992
9993         * gst/gst.c:
9994         Add a check and output a g_warning when GStreamer is built
9995         against GLib 2.6 but running against 2.8 or higher, and vice 
9996         versa. (Closes: #323542)
9997
9998 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
9999
10000         * gst/parse/parse.l:
10001           Commit patch for parse_launch syntax from #331255. Removes 
10002           support for quoted strings and mimetypes when writing filtered 
10003           caps. See the bug report for more details - I'm pretty sure this
10004           obscure feature is not in use by _anyone_ anywhere.
10005
10006           With this simple change, the size of the gstreamer.so here 
10007           drops from 2193KB to 1565KB.
10008
10009 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
10010
10011         * plugins/elements/gsttypefindelement.h:
10012         * plugins/elements/gsttypefindelement.c:
10013         (gst_type_find_element_src_event), (start_typefinding),
10014         (stop_typefinding), (gst_type_find_element_handle_event),
10015         (gst_type_find_element_chain),
10016         (gst_type_find_element_chain_do_typefinding):
10017           Use gst_type_find_helper_for_buffer() for chain-based
10018           typefinding.
10019
10020 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
10021
10022         * plugins/elements/gsttypefindelement.c:
10023         (gst_type_find_element_class_init),
10024         (gst_type_find_element_set_property),
10025         (gst_type_find_element_get_property):
10026           Deprecate "maximum" property (not only was it only taken into
10027           account for typefinding in push-mode anyway, it also was never
10028           actually possible to set it in the first place because the
10029           property was registered with the numeric property ID for the
10030           "minimum" property). Register "maximum" property correctly,
10031           for the sake of future copy'n'pasters. Remove some cruft
10032           from property get/set functions.
10033
10034 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
10035
10036         * plugins/elements/gsttypefindelement.c:
10037         (gst_type_find_element_activate):
10038           Use gst_type_find_helper_get_range() here, so we
10039           can honour the "minimum" property and also emit
10040           the signal with the correct probability of the found caps.
10041
10042 2006-03-02  Tim-Philipp Müller  <tim at centricular dot net>
10043
10044         * docs/libs/gstreamer-libs-sections.txt:
10045         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
10046         (helper_find_suggest), (gst_type_find_helper_get_range),
10047         (gst_type_find_helper):
10048         * libs/gst/base/gsttypefindhelper.h:
10049           New API: gst_type_find_helper_get_range() (#333042).
10050
10051 2006-03-02  Michael Smith  <msmith@fluendo.com>
10052
10053         * gst/gstregistryxml.c: (load_feature):
10054           Asserting on a failure to read part of the registry is Not Cool.
10055           Just log a warning and return NULL (which is already handled)
10056
10057 2006-02-28  Sebastien Moutte  <sebastien@moutte.net>
10058
10059         * win32/common/libgstbase.def:
10060           added export of gst_type_find_helper_for_buffer
10061         * win32/common/libgstbase.def:
10062           added some exports : gst_bin_iterate_elements, gst_iterator_resync,
10063           gst_ghost_pad_get_target
10064
10065 2006-02-28  Wim Taymans  <wim@fluendo.com>
10066
10067         * docs/design/draft-klass.txt:
10068         We use Filter now.
10069         Added Connector to mark elements that are only used to
10070         allow pipeline connections.
10071         Moved Debug to extra feature since most of them are 
10072         functionally something else.
10073
10074 2006-02-28  Wim Taymans  <wim@fluendo.com>
10075
10076         * docs/design/draft-klass.txt:
10077         Some updates and clarifications.
10078
10079 2006-02-28  Wim Taymans  <wim@fluendo.com>
10080
10081         * docs/design/draft-klass.txt:
10082         Proposal for klass field values.
10083
10084         * docs/design/part-streams.txt:
10085         Start of a doc describing stream anatomy.
10086
10087 2006-02-28  Wim Taymans  <wim@fluendo.com>
10088
10089         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_handle_message_func):
10090         Help the compiler a bit with type registration.
10091         Use existing forward cod path instead of duplicating it when 
10092         handling a message.
10093         
10094         * gst/gstbus.c: (gst_bus_get_type):
10095         * gst/gstcaps.c: (gst_caps_get_type), (gst_static_caps_get_type):
10096         * gst/gstchildproxy.c: (gst_child_proxy_get_type):
10097         * gst/gstclock.c: (gst_clock_get_type):
10098         * gst/gstelement.c: (gst_element_get_type),
10099         * gst/gstelementfactory.c: (gst_element_factory_get_type):
10100         * gst/gstindexfactory.c: (gst_index_factory_get_type):
10101         * gst/gstminiobject.c: (gst_mini_object_get_type):
10102         * gst/gstpad.c: (gst_pad_get_type):
10103         * gst/gstsegment.c: (gst_segment_get_type):
10104         * gst/gststructure.c: (gst_structure_get_type):
10105         * gst/gstsystemclock.c: (gst_system_clock_get_type):
10106         * gst/gsttask.c: (gst_task_get_type), (gst_task_join):
10107         * gst/gstvalue.c:
10108         Help compiler with type registration.
10109
10110         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
10111         Small doc update.
10112
10113 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
10114
10115         * plugins/elements/gsttypefindelement.c:
10116         (gst_type_find_element_handle_event):
10117           When we get an EOS event and have not found a type yet
10118           (most likely because we had not yet accumulated
10119           TYPE_FIND_MIN_SIZE of data yet), try to determine the
10120           type given the data we have so far. Fixes typefinding
10121           for very short streams again, most notably quicktime
10122           redirections as used on Apple's trailer site (#331701).
10123
10124 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
10125
10126         * libs/gst/base/gsttypefindhelper.c: (type_find_factory_rank_cmp),
10127         (gst_type_find_helper):
10128           Try typefinding factories with the highest rank first.
10129
10130 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
10131
10132         * docs/libs/gstreamer-libs-docs.sgml:
10133         * docs/libs/gstreamer-libs-sections.txt:
10134         * libs/gst/base/gsttypefindhelper.c:
10135           Add section for typefind helper and add documentation
10136           for the old and the new function.
10137
10138 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
10139
10140         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek),
10141         (buf_helper_find_suggest), (type_find_factory_rank_cmp),
10142         (gst_type_find_helper_for_buffer):
10143         * libs/gst/base/gsttypefindhelper.h:
10144           New API: gst_type_find_helper_for_buffer() (#332723).
10145           
10146 2006-02-27  Michael Smith  <msmith@fluendo.com>
10147
10148         Patch by: Loïc Minier
10149
10150         * configure.ac:
10151         * docs/Makefile.am:
10152         * docs/slides/Makefile.am:
10153           prevent CVS directories getting disted.
10154
10155 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
10156
10157         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref):
10158           Use the REFCOUNTING category for caps refcounting.
10159           
10160 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
10161
10162         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
10163           This should be 0 not GST_CLOCK_TIME_NONE (see #331701).
10164
10165 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
10166
10167         * plugins/elements/gsttypefindelement.c:
10168         (gst_type_find_element_activate):
10169           Use gst_pad_check_pull_range() before _activate_pull()
10170           to avoid unnecessary open/close (see #331690).
10171
10172 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
10173
10174         * gst/gstutils.c:
10175           Docs enhancement: make it crystal clear what the
10176           gst_pad_add_*_probe() callbacks should look like.
10177
10178 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
10179
10180         * libs/gst/base/gstbasesrc.c:
10181           Document how applications can stop recording from
10182           live sources (see #330996).
10183
10184 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
10185
10186         * tests/check/Makefile.am:
10187         * tests/check/libs/basesrc.c: (eos_event_counter),
10188         (basesrc_eos_events_pull), (basesrc_eos_events_push),
10189         (basesrc_eos_events_push_live_op), (basesrc_eos_events_pull_live_op),
10190         (gst_basesrc_suite), (main):
10191           ... and add some tests for the base source EOS stuff.
10192
10193 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
10194
10195         * tests/check/gst/gstutils.c: (test_buffer_probe_n_times):
10196           Test case originally showed the problem fixed below,
10197           but was then amended. Add checks back at the place
10198           where they used to be.
10199
10200 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
10201
10202         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
10203         (gst_base_src_init), (gst_base_src_loop),
10204         (gst_base_src_activate_push), (gst_base_src_activate_pull),
10205         (gst_base_src_change_state):
10206         * libs/gst/base/gstbasesrc.h:
10207           Don't unconditionally send EOS when going from PAUSED to
10208           READY state, esp. make sure we don't send two EOS events
10209           in some cases (e.g. one when reaching EOS and one when
10210           going from PAUSED to READY). Also, we don't want to send
10211           EOS events when operating in pull mode. However, we do
10212           want to send an EOS event when shutting down a live
10213           source explicitly, for example (fixes #330996).
10214           
10215 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
10216
10217         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
10218           Update src->read_position after a seek when not using mmap.
10219           Fixes #332277, patch by: Renchi Raju <renchi gmail com>
10220
10221 2006-02-21  Jan Schmidt  <thaytan@mad.scientist.com>
10222
10223         * gst/Makefile.am:
10224         * gst/gstparse.h:
10225         * gst/gstutils.c:
10226         * gst/gstutils.h:
10227         Make things work with --disable-parse as they do with 
10228         --disable-load-save - the symbols involved disappear, but the
10229         header is still installed and GST_DISABLE_PARSE is included via
10230         gstconfig.h
10231
10232 2006-02-20  Julien MOUTTE  <julien@moutte.net>
10233
10234         * libs/gst/base/gstbasetransform.c:
10235         (gst_base_transform_change_state): Fix a stupid bug. I was 
10236         sure I compiled that.
10237
10238 2006-02-20  Julien MOUTTE  <julien@moutte.net>
10239
10240         * gst/gstpad.c: (gst_pad_set_blocked_async):
10241         * gst/gstutils.c: (gst_pad_add_data_probe),
10242         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
10243         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
10244         (gst_pad_remove_buffer_probe): Make those function act on the
10245         ghostpad target when it's a ghostpad. (Closes #331727)
10246
10247 2006-02-20  Julien MOUTTE  <julien@moutte.net>
10248
10249         * libs/gst/base/gstbasetransform.c:
10250         (gst_base_transform_change_state): Make basetransform reusable.
10251         (Closes #331898)
10252
10253 2006-02-20  Jan Schmidt  <thaytan@mad.scientist.com>
10254
10255         * docs/random/release:
10256         Move the current documentation of how to do a release to the top
10257         of the file.
10258
10259         * gst/gstbin.c: (gst_bin_class_init),
10260         (gst_bin_handle_message_func):
10261         Allow multiple state-recalculation threads. (Closes #328873)
10262
10263 2006-02-19  Julien MOUTTE  <julien@moutte.net>
10264
10265         * gst/gstinfo.h: Add GST_STR_NULL to the second string.
10266         * gst/gstpad.c: (gst_pad_set_event_function),
10267         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
10268         (gst_pad_set_getcaps_function): GST_DEBUG_PAD_NAME evaluates to
10269         2 strings. You can't use the STR_NULL macro on that.
10270
10271 2006-02-19  Sebastien Moutte <sebastien@moutte.net>
10272
10273         * gst/gstpad.c: (gst_pad_set_event_function),
10274         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
10275         (gst_pad_set_getcaps_function)
10276         * gst/parse/grammar.y: (gst_parse_found_pad), (gst_parse_perform_delayed_link)
10277           Fixed NULL pointer used in GST_CAT_DEBUG using GST_STR_NULL macro
10278           So now, we can use --gst-debug-level=5 on Windows
10279         * win32/common/libgstcontroller.def:
10280           Added export of gst_controller_init
10281         * win32/vs6/libgstcontroller.dsp:
10282           Fixed Release post build configuration
10283
10284 2006-02-17  Wim Taymans  <wim@fluendo.com>
10285
10286         * tests/check/gst/gstquery.c: (GST_START_TEST):
10287         Added another check.
10288
10289 2006-02-15  Tim-Philipp Müller  <tim at centricular dot net>
10290
10291         * plugins/elements/gsttypefindelement.c: (find_peek):
10292           We can do peeks at non-zero offsets, as long as they
10293           fall within the buffer we have.
10294
10295 2006-02-15  Jan Schmidt  <thaytan@mad.scientist.com>
10296
10297         * tests/check/Makefile.am:
10298         * tests/check/pipelines/parse-launch.c: (setup_pipeline),
10299         (expected_fail_pipe), (check_pipeline_runs), (GST_START_TEST),
10300         (parse_suite), (main):
10301           Add testsuite for parse launch syntax
10302
10303 2006-02-14  Tim-Philipp Müller  <tim at centricular dot net>
10304
10305         * plugins/elements/gsttypefindelement.c:
10306         (gst_type_find_element_chain):
10307           When typefinding is unsuccessful in the chain function, don't
10308           error out immediately. Only error out with NO_CAPS_FOUND if
10309           the amount of data is at least MAX_TYPEFIND_SIZE bytes,
10310           otherwise simply wait for more data so we can try typefinding
10311           again with more data later. Also, don't attempt to typefind
10312           if we have less than MIN_TYPEFIND_SIZE data available. Overall,
10313           this should improve typefinding from network sources where the
10314           size of the first buffer can be somewhat random.
10315
10316 2006-02-14  Wim Taymans  <wim@fluendo.com>
10317
10318         * docs/gst/gstreamer-sections.txt:
10319         * gst/gstpadtemplate.c:
10320         * gst/gstpadtemplate.h:
10321         Fix padtemplate docs, fixes #328805.
10322
10323 2006-02-14  Wim Taymans  <wim@fluendo.com>
10324
10325         * tools/gst-launch.c: (main):
10326         NO_PREROLL is not an ERROR so don't send confusing messages
10327         to the user.
10328
10329 2006-02-14  Wim Taymans  <wim@fluendo.com>
10330
10331         Patch by: Torsten Schoenfeld
10332
10333         * gst/gstregistry.c: (gst_registry_get_default),
10334         (_gst_registry_cleanup):
10335         Protect default registry with lock and ref/sink it.
10336         Fixes #324818
10337
10338 2006-02-14  Wim Taymans  <wim@fluendo.com>
10339
10340         * gst/gstbuffer.c:
10341         * gst/gstquery.c: (gst_query_list_add_format),
10342         (gst_query_set_formatsv), (gst_query_parse_formats_length),
10343         (gst_query_parse_formats_nth):
10344         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
10345         Docs fixes.
10346
10347 2006-02-14  Wim Taymans  <wim@fluendo.com>
10348
10349         * docs/gst/gstreamer-sections.txt:
10350         Reworked query docs.
10351
10352         * gst/gstquery.c: (gst_query_new_formats),
10353         (gst_query_list_add_format), (gst_query_set_formats),
10354         (gst_query_set_formatsv), (gst_query_parse_formats_length),
10355         (gst_query_parse_formats_nth):
10356         * gst/gstquery.h:
10357         Flesh out formats query, added some new methods.
10358         Fix part of #324398.
10359
10360         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite):
10361         Added query creation tests.
10362
10363 2006-02-14  Jan Schmidt  <thaytan@mad.scientist.com>
10364
10365         * gst/gstpad.c: (fixate_value):
10366         Add a default fixation for fraction lists.
10367
10368 2006-02-13  Wim Taymans  <wim@fluendo.com>
10369
10370         * gst/gsttask.c: (gst_task_init), (gst_task_func),
10371         (gst_task_set_lock), (gst_task_start), (gst_task_pause),
10372         (gst_task_join):
10373         * gst/gsttask.h:
10374         Detect and warn for obvious deadlocks. fixes #320340
10375         Fix error case where lock was not released.
10376
10377         * tests/check/Makefile.am:
10378         * tests/check/gst/gsttask.c: (task_func2), (GST_START_TEST),
10379         (task_func), (gst_element_suite), (main):
10380         Add task check.
10381
10382 2006-02-13  Wim Taymans  <wim@fluendo.com>
10383
10384         * docs/gst/gstreamer-sections.txt:
10385         * gst/gstbus.c:
10386         Add new functions to docs.
10387
10388 2006-02-13  Wim Taymans  <wim@fluendo.com>
10389
10390         * docs/design/part-TODO.txt:
10391         Updated TODO list, basesrc supports seeking to non-bytes
10392         formats.
10393
10394         * docs/design/part-element-sink.txt:
10395         Update docs.
10396
10397         * gst/gstbin.c: (bin_replace_message),
10398         (gst_bin_handle_message_func):
10399         * gst/gstbus.c: (gst_bus_post), (gst_bus_pop):
10400         * gst/gstevent.c: (gst_event_finalize):
10401         * gst/gstpad.c: (gst_pad_event_default_dispatch),
10402         (gst_pad_send_event):
10403         Use shiny new _TYPE_NAME macros.
10404
10405         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
10406         Move debug statement up.
10407
10408         * gst/gstelement.c: (gst_element_set_locked_state):
10409         Add some debugging.
10410
10411 2006-02-13  Tim-Philipp Müller  <tim at centricular dot net>
10412
10413         * docs/gst/gstreamer-sections.txt:
10414         * gst/gstmessage.h:
10415         * gst/gstquery.h:
10416           New API: add GST_MESSAGE_TYPE_NAME and GST_QUERY_TYPE_NAME
10417           macros (#330906). Also, document the already existing
10418           GST_QUERY_TYPE macro.
10419
10420 2006-02-13  Wim Taymans  <wim@fluendo.com>
10421
10422         * tests/check/gst/gstutils.c: (data_probe), (buffer_probe),
10423         (event_probe), (GST_START_TEST):
10424         Only events up to the pipeline EOS are counted, there are
10425         some more when going to NULL currently which we don't care
10426         about for now.
10427
10428 2006-02-13  Wim Taymans  <wim@fluendo.com>
10429
10430         * gst/gstpad.c: (gst_pad_send_event):
10431         Correctly check flushing and emit probes. fixes #330125
10432
10433 2006-02-10  Andy Wingo  <wingo@pobox.com>
10434
10435         * gst/gstbus.c (gst_bus_class_init): Declare our private data
10436         structure.
10437         (gst_bus_init): Cache the location of the private data in the
10438         instance structure.
10439         (gst_bus_enable_sync_message_emission) 
10440         (gst_bus_disable_sync_message_emission): Implement new public
10441         functions.
10442         (gst_bus_post): Emit the sync-message signal if the user asked for
10443         it. Fixes #330684.
10444
10445         * gst/gstbus.h (GstBus): Use a padding pointer to cache the
10446         location of the bus-private structure.
10447         (gst_bus_enable_sync_message_emission)
10448         (gst_bus_disable_sync_message_emission): API addition
10449
10450 2006-02-10  Jan Schmidt  <thaytan@mad.scientist.com>
10451
10452         Patch by: Vincent Torri
10453
10454         * docs/pwg/building-boiler.xml:
10455         PWG patch from #326800
10456
10457 2006-02-09  Tim-Philipp Müller  <tim at centricular dot net>
10458
10459         * configure.ac:
10460         * docs/Makefile.am:
10461         * docs/design/Makefile.am:
10462           Dist design docs.
10463
10464 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
10465
10466         * configure.ac:
10467           back to CVS
10468
10469 === release 0.10.3 ===
10470
10471 2006-02-08  Jan Schmidt <thaytan@mad.scientist.com>
10472
10473         * configure.ac:
10474           releasing 0.10.3, "Like a virgin"
10475
10476 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
10477
10478         * configure.ac:
10479           2nd prerelease of 0.10.3
10480           Bump libtool versioning.
10481
10482 2006-02-07  Andy Wingo  <wingo@pobox.com>
10483
10484         * libs/gst/base/gstcollectpads.c (gst_collect_pads_chain): Only
10485         update last_stop if we're in TIME format and the timestamp is
10486         valid.
10487
10488         * libs/gst/base/gstcollectpads.c (gst_collect_pads_event) 
10489         * libs/gst/base/gstbasetransform.c (gst_base_transform_eventfunc): 
10490         * libs/gst/base/gstbasesink.c (gst_base_sink_configure_segment):
10491         If we get a new newsegment with a different format, adapt
10492         accordingly.
10493
10494         * gst/gstclock.c (gst_clock_set_calibration): Accept a numerator
10495         of 0. Not a problem, really.
10496
10497         * libs/gst/base/gstbasesink.c (gst_base_sink_chain_unlocked): Only
10498         warn if sync=true.
10499
10500 2006-02-06  Jan Schmidt  <thaytan@mad.scientist.com>
10501
10502         * configure.ac:
10503           Prelease of 0.10.3
10504
10505 2006-02-06  Sebastien Moutte  <sebastien@moutte.net>
10506
10507         * win32/vs7:
10508           project files updated to the default vs7 configuration
10509         * win32/common/libgstbase.def:
10510         * win32/common/libgstreamer.def:
10511           added new symbols,
10512           removed empty lines,
10513           sorted all exported symbols alphabetically
10514         * win32/common/dirent.c:
10515         * win32/common/dirent.h:
10516         * win32/common/gchar.h:
10517           use windows line end.
10518           
10519 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
10520
10521         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
10522           Send EOS event when stopping.
10523
10524 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
10525
10526         * docs/README:
10527           Tell folks what to do if the plugin-foobar.xml file
10528           hasn't been generated for a newly-added plugin.
10529
10530 2006-02-05  Julien MOUTTE  <julien@moutte.net>
10531
10532         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
10533         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
10534         (gst_collect_pads_start), (gst_collect_pads_stop),
10535         (gst_collect_pads_event): Collectpads now holds a reference
10536         to the GstPad that was added. Indeed we don't want to look
10537         at pads that might just go away with no warning...
10538
10539 2006-02-05  Julien MOUTTE  <julien@moutte.net>
10540
10541         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
10542         (gst_collect_pads_start), (gst_collect_pads_stop),
10543         (gst_collect_pads_event), (gst_collect_pads_chain):
10544         * libs/gst/base/gstcollectpads.h: Handle flush. Adapted from
10545         Mark Nauwelaerts's patch on bug #328491.
10546
10547 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
10548
10549         * tests/check/gst/gstutils.c: (test_parse_bin_from_description),
10550         (gst_utils_suite):
10551           Add some simple tests for gst_parse_bin_from_description() and
10552           gst_bin_find_unconnected_pad() (#329069).
10553
10554 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
10555
10556         * tools/gst-launch.c: (event_loop), (main):
10557           Catch errors during preroll (#320084).
10558
10559 2006-02-03  Tim-Philipp Müller  <tim at centricular dot net>
10560
10561         * plugins/elements/gsttypefindelement.c:
10562         (gst_type_find_element_activate):
10563           Post TYPE_NOT_FOUND error message when typefinding
10564           is unsuccessful in the activate function as well.
10565
10566 2006-02-02  Wim Taymans  <wim@fluendo.com>
10567
10568         * docs/design/part-element-sink.txt:
10569         Updated doc.
10570
10571 2006-02-02  Wim Taymans  <wim@fluendo.com>
10572
10573         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
10574         (gst_base_sink_render_object),
10575         (gst_base_sink_queue_object_unlocked):
10576         Only keep track of prerollable items when we are 
10577         prerolling.
10578         Before rendering after preroll, always check if we
10579         have queued items.
10580         Added some more debugging.
10581
10582 2006-02-02  Wim Taymans  <wim@fluendo.com>
10583
10584         * gst/gstelement.c: (gst_element_continue_state),
10585         (gst_element_set_state_func), (gst_element_change_state):
10586         Fixed #326576, been running this for quite some time with
10587         no regressions at all.
10588
10589 2006-02-02  Wim Taymans  <wim@fluendo.com>
10590
10591         * common/gst.supp:
10592         Added more suppressions
10593
10594 2006-02-02  Wim Taymans  <wim@fluendo.com>
10595
10596         * docs/design/part-element-sink.txt:
10597         Updated document.
10598
10599         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
10600         (gst_base_sink_finalize), (gst_base_sink_preroll_queue_flush),
10601         (gst_base_sink_configure_segment), (gst_base_sink_commit_state),
10602         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
10603         (gst_base_sink_do_sync), (gst_base_sink_render_object),
10604         (gst_base_sink_preroll_object),
10605         (gst_base_sink_queue_object_unlocked),
10606         (gst_base_sink_queue_object), (gst_base_sink_event),
10607         (gst_base_sink_chain_unlocked), (gst_base_sink_chain),
10608         (gst_base_sink_loop), (gst_base_sink_activate_pull),
10609         (gst_base_sink_get_position), (gst_base_sink_change_state):
10610         * libs/gst/base/gstbasesink.h:
10611         Totally refactored matching the design doc.
10612         Use two segments, one to clip incomming buffers and another to
10613         perform sync.
10614         Handle queueing correctly, bypass the queue when playing.
10615         Make EOS cancelable.
10616         Handle errors correctly when operating in pull based mode.
10617
10618         * tests/check/elements/fakesink.c: (GST_START_TEST),
10619         (fakesink_suite):
10620         Added new check for sinks.
10621
10622 2006-02-02  Wim Taymans  <wim@fluendo.com>
10623
10624         * gst/gstsegment.c: (gst_segment_clip):
10625         No reason to refuse to clip when start == -1
10626
10627 2006-02-02  Stefan Kost  <ensonic@users.sf.net>
10628
10629         * docs/README:
10630         * docs/manual/intro-basics.xml:
10631         * docs/manual/intro-preface.xml:
10632         * docs/manual/manual.xml:
10633         * docs/pwg/advanced-dparams.xml:
10634         * docs/pwg/intro-basics.xml:
10635         * docs/pwg/intro-preface.xml:
10636         * docs/pwg/pwg.xml:
10637           describe dparams (controller) for plugins
10638           unify docs a little more
10639
10640 2006-02-02  Tim-Philipp Müller  <tim at centricular dot net>
10641
10642         * docs/gst/gstreamer-sections.txt:
10643         * gst/gstutils.c: (element_find_unconnected_pad),
10644         (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description):
10645         * gst/gstutils.h:
10646           Add new API: gst_parse_bin_from_description() and
10647           gst_bin_find_unconnected_pad() (#329069).
10648
10649 2006-02-01  Stefan Kost  <ensonic@users.sf.net>
10650
10651         * docs/manual/README:
10652           uncover a nasty detail of the docs build
10653
10654 2006-01-31  Wim Taymans  <wim@fluendo.com>
10655
10656         * gst/gstbin.c: (bin_remove_messages), (bin_query_duration_done):
10657         Don't cache duration messages if we're not going to use or
10658         free them.
10659
10660 2006-01-31  Stefan Kost  <ensonic@users.sf.net>
10661
10662         * docs/manual/advanced-dparams.xml:
10663         * docs/pwg/advanced-dparams.xml:
10664           more dparam docs
10665         * gst/gstindex.c:
10666           fix docs
10667         * libs/gst/controller/lib.c: (gst_controller_init):
10668           init just once
10669
10670 2006-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
10671
10672         * gst/gstelement.c: (gst_element_message_full):
10673           also show file/line/func if no additional debug was given
10674
10675 2006-01-31  Sebastien Moutte  <sebastien@moutte.net>
10676         
10677         * win32/vs7/grammar.vcproj:
10678           activate copy of autogenerated files for Release mode
10679
10680 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
10681         
10682         * win32/common/libgstreamer.def:
10683           export gst_value_compare
10684
10685 2006-01-30  Jan Schmidt  <thaytan@mad.scientist.com>
10686
10687         * plugins/elements/Makefile.am:
10688         * plugins/elements/gstelements.c:
10689         * plugins/elements/gstfdsink.c: (_do_init),
10690         (gst_fd_sink_base_init), (gst_fd_sink_class_init),
10691         (gst_fd_sink_init), (gst_fd_sink_dispose), (gst_fd_sink_query),
10692         (gst_fd_sink_render), (gst_fd_sink_check_fd), (gst_fd_sink_start),
10693         (gst_fd_sink_stop), (gst_fd_sink_unlock), (gst_fd_sink_update_fd),
10694         (gst_fd_sink_set_property), (gst_fd_sink_uri_get_type),
10695         (gst_fd_sink_uri_get_protocols), (gst_fd_sink_uri_get_uri),
10696         (gst_fd_sink_uri_set_uri), (gst_fd_sink_uri_handler_init):
10697         * plugins/elements/gstfdsink.h:
10698         Port fdsink to 0.10 (patch by Philippe Rouquier) (Fixes #325490)
10699
10700 2006-01-30  Stefan Kost  <ensonic@users.sf.net>
10701
10702         * docs/manual/advanced-dparams.xml:
10703           describe controller
10704         * docs/manual/advanced-position.xml:
10705         * docs/manual/basics-init.xml:
10706         * docs/manual/manual.xml:
10707         * docs/manual/titlepage.xml:
10708         * docs/pwg/pwg.xml:
10709         * docs/pwg/titlepage.xml:
10710           cleanup xml (more to come)
10711         * libs/gst/controller/gstcontroller.c:
10712           fix typo
10713
10714 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
10715         
10716         * win32/vs6/grammar.dsp:
10717           add autogen of gstmarshal.c,h for Release mode
10718                 
10719 2006-01-30  Wim Taymans  <wim@fluendo.com>
10720
10721         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
10722         (gst_base_sink_preroll_queue_empty), (gst_base_sink_commit_state),
10723         (gst_base_sink_handle_object), (gst_base_sink_event),
10724         (gst_base_sink_is_prerolled), (gst_base_sink_wait),
10725         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
10726         (gst_base_sink_handle_buffer), (gst_base_sink_set_flushing),
10727         (gst_base_sink_deactivate), (gst_base_sink_activate),
10728         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
10729         (gst_base_sink_query), (gst_base_sink_change_state):
10730         Basesink cleanups, remove some old code.
10731         Handle the case where a subclass can preroll in the render
10732         method (mostly audiosinks).
10733         Handle more events.
10734         Remove some locks around variables that are now protected
10735         with the PREROLL_LOCK (clock_id, flushing, ..).
10736         Optimize position query some more, do correct locking.
10737         Remove old code to push queue in state change, this is not
10738         needed anymore since preroll blocks on all prerollable items 
10739         now.
10740         Almost implemented as described in design doc.
10741
10742 2006-01-30  Wim Taymans  <wim@fluendo.com>
10743
10744         * tests/check/gst/gstbin.c: (GST_START_TEST):
10745         Wait for refcount to settle down before checking.
10746
10747 2006-01-30  Wim Taymans  <wim@fluendo.com>
10748
10749         * docs/design/part-element-sink.txt:
10750         Pseudo code overview of desired sink behaviour regarding
10751         preroll.
10752
10753 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
10754         * win32/vs6/grammar.dsp:
10755           fix some bugs in Release mode for autogenerated files
10756                 
10757 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
10758         * win32/common/libgstbase.def:
10759         * win32/common/libgstreamer.def:
10760           export some new symbols: gst_base_src_set_format,
10761           gst_iterator_next, gst_structure_set_valist
10762
10763 2006-01-29  Julien MOUTTE  <julien@moutte.net>
10764
10765         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
10766         Set pad functions unconditionally. Fixes #329105.
10767
10768 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
10769         * win32/vs8:
10770           add vs8 project files created by Sergey Scobich
10771
10772 2006-01-28  Jan Schmidt  <thaytan@mad.scientist.com>
10773
10774         * gst/gstutils.c: (gst_element_unlink_pads):
10775         Don't leak pad references.
10776
10777         * tests/check/elements/fakesink.c: (GST_START_TEST):
10778         * tests/check/generic/sinks.c: (GST_START_TEST):
10779         * tests/check/generic/states.c: (GST_START_TEST):
10780         * tests/check/gst/gstbin.c: (GST_START_TEST):
10781         * tests/check/gst/gstcaps.c: (GST_START_TEST):
10782         * tests/check/gst/gstelement.c: (GST_START_TEST):
10783         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
10784         * tests/check/gst/gstiterator.c: (GST_START_TEST):
10785         * tests/check/gst/gstvalue.c: (GST_START_TEST):
10786         Fix a bunch of leaks. Make generic/sinks.c
10787         use a bit less cpu by slowing the buffer rate
10788         between fakesrc and fakesink.
10789         
10790 2006-01-27  Stefan Kost  <ensonic@users.sf.net>
10791         * gst/gstcaps.c:
10792         * gst/gstelement.c: (gst_element_send_event):
10793         * gst/gstevent.c:
10794         * gst/gstinfo.c:
10795         * gst/gstiterator.c:
10796         * gst/gstiterator.h:
10797         * gst/gstpad.c: (gst_pad_send_event):
10798         * gst/gststructure.c:
10799         * gst/gsturi.c:
10800         * gst/gstutils.c:
10801         * gst/gstvalue.c:
10802         * libs/gst/base/gstadapter.c:
10803           doc fixes, to link to function, just write gst_cool_function(), don't
10804           prefix with '#'
10805
10806 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
10807
10808         * plugins/elements/gsttee.c: (gst_tee_do_push),
10809         (gst_tee_handle_buffer):
10810         Always prefer an actual return value from a src
10811         pad in place of NOT_LINKED. This means we return
10812         WRONG_STATE when all src pads are WRONG_STATE
10813         instead of NOT_LINKED.
10814
10815         Lock when replacing the last message to prevent
10816         racing with the get_property method.
10817
10818         Add debug output
10819
10820 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
10821
10822         * tests/check/Makefile.am:
10823         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite),
10824         (main):
10825         Add a very simple check that should have caught the memleak I fixed
10826         last night (if not for the slice allocator hiding it)
10827
10828 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
10829
10830         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
10831         (gst_bin_remove_func), (gst_bin_handle_message_func),
10832         (bin_query_duration_fold), (bin_query_generic_fold):
10833         Clean up references to the clock provider when disposed or when
10834         handling a clock-lost message from it.
10835
10836         Unref sinks when performing a query via gst_iterator_fold, as the
10837         gst_bin_iterate_sinks iterator refs each item. (Fixes #323874)
10838
10839         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_dispose),
10840         (gst_clock_set_master):
10841         Drop our reference to the master clock, if any, when we are disposed.
10842
10843         * gst/gsttypefindfactory.c: (gst_type_find_factory_dispose):
10844         Chain up in dispose. 
10845
10846 2006-01-26  Wim Taymans  <wim@fluendo.com>
10847
10848         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
10849         Add some debugging.
10850
10851 2006-01-26  Julien MOUTTE  <julien@moutte.net>
10852
10853         * plugins/elements/gsttee.c: (gst_tee_do_push),
10854         (gst_tee_handle_buffer): Apply patch from #328715. Tee now
10855         handles pad being NOT_LINKED or in WRONG_STATE.
10856
10857 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
10858
10859         * win32/MANIFEST:
10860           more updating
10861
10862 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
10863
10864         * win32/MANIFEST:
10865           remove obsolete entry
10866
10867 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
10868
10869         * docs/gst/gstreamer-sections.txt:
10870         * gst/gstbin.c: (bin_element_is_src), (src_iterator_filter),
10871         (gst_bin_iterate_sources), (gst_bin_send_event):
10872         * gst/gstbin.h:
10873         * gst/gstelement.c: (gst_element_send_event):
10874         * gst/gstevent.c:
10875         * gst/gstpad.c: (gst_pad_send_event):
10876           added code for downstream events, reviewed docs in gstevent.c
10877
10878 2006-01-25  Julien MOUTTE  <julien@moutte.net>
10879
10880         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
10881         We only query position using the clock in the playing state.
10882         Query peer in the other cases.
10883         * win32/common/config.h: Updates.
10884
10885 2006-01-24  Wim Taymans  <wim@fluendo.com>
10886
10887         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
10888         A clock entry that is scheduled for the exact time of the
10889         clock is still in time.
10890
10891         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10892         (gst_base_sink_do_sync):
10893         Add some more debug info.
10894
10895 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
10896
10897         * win32/vs7:
10898           Add new vs7 project files and solution.
10899
10900 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
10901
10902         * win32/vs7:
10903           all files removed as they were out-dated.
10904
10905 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10906
10907         * docs/random/release:
10908           update notes
10909         * gst/gstbin.c: (gst_bin_init):
10910         * gst/gstbus.c: (gst_bus_new):
10911         * gst/gstbus.h:
10912         * gst/gstpipeline.c: (gst_pipeline_init):
10913           use gst_bus_new(), improve logging, fix docs
10914         * win32/common/config.h:
10915           update for cvs build
10916
10917 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10918
10919         * autogen.sh:
10920           up required version of automake to 1.7
10921
10922 2006-01-20  Sebastien Moutte  <sebastien@moutte.net>
10923
10924         * win32/common/libgstreamer.def:
10925           export gst_buffer_is_metadata_writable
10926
10927 2006-01-20  Tim-Philipp Müller  <tim at centricular dot net>
10928
10929         * docs/gst/gstreamer-sections.txt:
10930         * gst/gstevent.h:
10931           Add gst_event_replace() (#327001)
10932
10933 2006-01-20  Wim Taymans  <wim@fluendo.com>
10934
10935         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
10936         Make it actually compile too..
10937
10938 2006-01-20  Wim Taymans  <wim@fluendo.com>
10939
10940         * gst/gstcaps.c:
10941         Clarify behaviour of _is_equal() when passing NULL parameters.
10942
10943         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
10944         (gst_pad_set_caps):
10945         Cleanups. Don't unref NULL caps.
10946         When setting the same caps, protect caps of the pad with
10947         proper lock.
10948         Use full functionality of _is_equal() when comparing caps.
10949
10950 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
10951
10952         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
10953         Don't loop infinitely if there are no buffers to present. Partially
10954         fixes #327197, but collectpads is just broken for reusing elements
10955         to do multiple encodes atm.
10956
10957 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
10958
10959         * tools/gst-inspect.c: (print_element_features):
10960         * tools/gst-xmlinspect.c: (main):
10961         URL_HANDLER is not a plugin feature we can search for in
10962         the registry.
10963
10964 2006-01-19  Edward Hervey  <edward@fluendo.com>
10965
10966         * gst/gstelement.c: (gst_element_pads_activate): 
10967         When activating, do src pads first, then sink pads.
10968         When de-activating, do sink pads first, then src pads.
10969
10970 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
10971
10972         * docs/gst/gstreamer-sections.txt:
10973         Add gst_index_add_associationv to the docs
10974
10975 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
10976
10977         * gst/gstevent.c:
10978           Fix docs typo
10979
10980         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event),
10981         (gst_queue_chain), (gst_queue_push_one), (gst_queue_loop):
10982           Do some refactoring. Doesn't actually change functionality,
10983           but makes landing the DRAIN event easier later.
10984
10985 2006-01-19  Tim-Philipp Müller  <tim at centricular dot net>
10986
10987         * docs/pwg/advanced-scheduling.xml:
10988           Update from 0.9.x to 0.10 API and make example a bit
10989           clearer.
10990
10991 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
10992
10993         * docs/gst/gstreamer-sections.txt:
10994         Add gst_buffer_(is|make)_metadata_writable methods.
10995
10996 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
10997
10998         * docs/design/part-sparsestreams.txt:
10999         Update sparse streams doc, hopefully for greater clarity
11000
11001 2006-01-18  Jan Schmidt  <thaytan@mad.scientist.com>
11002
11003         * docs/design/part-events.txt:
11004         Remove mention of FILLER events.
11005         Add DRAIN event.
11006
11007         * docs/design/part-sparsestreams.txt:
11008         Write some things about using NEWSEGMENT to keep sparse streams
11009         flowing.
11010
11011 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
11012
11013         * gst/gstbin.c: (gst_bin_dispose):
11014           Guard gst_object_unref call against a NULL object (dispose
11015           can theoretically be called multiple times).
11016           
11017 2006-01-18  Wim Taymans  <wim@fluendo.com>
11018
11019         * gst/gstbin.c: (gst_bin_element_set_state):
11020         * gst/gstclock.c: (gst_clock_id_wait):
11021         Added some more debug info.
11022
11023         * libs/gst/base/gstadapter.c:
11024         Added more docs.
11025
11026         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
11027         (gst_base_sink_do_sync), (gst_base_sink_chain):
11028         Added some comments.
11029
11030 2006-01-18  Wim Taymans  <wim@fluendo.com>
11031
11032         * tests/check/Makefile.am:
11033         * tests/check/elements/fakesink.c: (chain_async_buffer),
11034         (chain_async), (chain_async_return), (GST_START_TEST),
11035         (fakesink_suite), (main):
11036         Added fakesink test that checks prerolling and clipping
11037         behaviour.
11038
11039         * tests/check/gst/gstutils.c: (GST_START_TEST):
11040         Make check run faster so that buildbots don't timeout.
11041
11042 2006-01-18  Wim Taymans  <wim@fluendo.com>
11043
11044         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
11045         (gst_base_sink_do_sync):
11046         Some cleanups.
11047         When the sink finishes blocking on the preroll buffer, it can
11048         immediatly render it instead of rendering when the next buffer
11049         arrives.
11050
11051 2006-01-18  Wim Taymans  <wim@fluendo.com>
11052
11053         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_property),
11054         (gst_base_sink_get_property), (gst_base_sink_do_sync),
11055         (gst_base_sink_chain):
11056         Small cleanups.
11057         GST_ELEMENT_CLOCK and sync are protected with LOCK.
11058         Don't store _last_stop if the buffer is dropped.
11059
11060 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
11061
11062         * plugins/elements/gsttypefindelement.c:
11063         (gst_type_find_element_class_init):
11064           'have-type' signal needs to be G_SIGNAL_RUN_FIRST, as it is the
11065           object method handler that sets the caps on the pad and we want
11066           that to happen before we emit the signal (fixes e.g. feeding a
11067           plain text file to decodebin).
11068
11069 2006-01-18  Christian Schaller  <Christian@fluendo.com>
11070
11071         * gst/gstplugin.c: Add MPL and Proprietary as license options
11072
11073 2006-01-18  Andy Wingo  <wingo@pobox.com>
11074
11075         * gst/gstindex.h (gst_index_add_associationv): Add to header. The
11076         symbol was exported before, it appears this was just an oversight.
11077         Fixes #168703.
11078         Patch by: Torsten Schoenfeld <kaffeetisch at gmx.de>
11079
11080         * gst/gstindex.c (gst_index_add_associationv): Changed int in
11081         prototype to gint. OK since this prototype was not in the header.
11082
11083 2006-01-17  Andy Wingo  <wingo@pobox.com>
11084
11085         * gst/gstregistry.c (_gst_registry_remove_cache_plugins): Lock the
11086         registry while we remove plugins.
11087
11088         * tools/gst-inspect.c (print_element_info): Don't unref the
11089         factory arg, that should be the responsibility of whatever code
11090         received the ref. Fixes a double-free when called from
11091         print_element_list via gst-inspect-0.10 -a. Fixes #327324.
11092         (main): Unref the factory if we have one.
11093         (print_element_list): No change -- relies on the
11094         plugin_feature_list_free to free the list of features.
11095
11096 2006-01-17  Jan Schmidt  <thaytan@mad.scientist.com>
11097
11098         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
11099         (gst_buffer_make_metadata_writable):
11100         * gst/gstbuffer.h:
11101         * libs/gst/base/gstbasetransform.c:
11102         (gst_base_transform_prepare_output_buf):
11103         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
11104         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
11105           Replace gst_buffer_(make|is)_metadata_writable patch now
11106           that the release is out.
11107
11108 2006-01-17  Andy Wingo  <wingo@pobox.com>
11109
11110         * gst/gstregistry.c: Reflow design comment. Update so as to speak
11111         in the present tense without reference to versions.
11112
11113         * gst/gstregistry.c (gst_registry_add_plugin)
11114         (gst_registry_remove_plugin, gst_registry_remove_feature)
11115         (gst_registry_find_feature, gst_registry_get_feature_list)
11116         (gst_registry_get_plugin_list, gst_registry_lookup_feature)
11117         (gst_registry_lookup, gst_registry_scan_path)
11118         (_gst_registry_remove_cache_plugins)
11119         (gst_registry_get_feature_list_by_plugin): Add argument
11120         validation.
11121
11122 === release 0.10.2 ===
11123
11124 2006-01-16  Thomas Vander Stichele <thomas at apestaart dot org>
11125
11126         * configure.ac:
11127           releasing 0.10.2, "If man is five"
11128
11129 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
11130
11131         * gst/gstbuffer.c:
11132         * gst/gstbuffer.h:
11133         * libs/gst/base/gstbasetransform.c:
11134         (gst_base_transform_prepare_output_buf):
11135         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
11136         * tests/check/gst/gstbuffer.c: (gst_test_suite):
11137           Back out patch until after the release.
11138
11139 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
11140
11141         * gst/gstminiobject.c:
11142           Spelling fix in docs.
11143         * ChangeLog - remove conflict indicator
11144
11145 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
11146
11147         Reviewed By: Andy Wingo
11148
11149         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
11150         (gst_buffer_make_metadata_writable):
11151         * gst/gstbuffer.h:
11152           Add gst_buffer_(is|make)_metadata_writable as analogues of
11153           gst_buffer_(is|make)_writable.
11154
11155         * libs/gst/base/gstbasetransform.c:
11156         (gst_base_transform_prepare_output_buf):
11157         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
11158           Use name gst_buffer_(is|make)_metadata_writable functions.
11159
11160         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
11161           Test gst_buffer_(is|make)_metadata_writable
11162         
11163           (Closes: #324162)
11164
11165 2006-01-14  Thomas Vander Stichele  <thomas at apestaart dot org>
11166
11167         * docs/manual/Makefile.am:
11168           don't do parallel make
11169         * configure.ac:
11170           AC_SUBST HOST_CPU
11171         * win32/common/config.h.in:
11172           add generations for HOST_CPU and GST_MAJORMINOR
11173         * win32/common/config.h:
11174           commit generated result
11175
11176 2006-01-13  Tim-Philipp Müller  <tim at centricular dot net>
11177
11178         * docs/manual/appendix-integration.xml:
11179           Update GNOME integration section to use gst_init_get_option_group()
11180           instead of the old popt stuff (#322911). Also, GNOME applications
11181           should  now use gconf*sink and gconf*src instead of the old gconf
11182           helper lib we had.
11183
11184 2006-01-13  Stefan Kost  <ensonic@users.sf.net>
11185
11186
11187         * docs/gst/gstreamer-docs.sgml:
11188         * docs/gst/gstreamer-sections.txt:
11189         * docs/libs/gstreamer-libs-sections.txt:
11190           add new API entries to the docs
11191         * libs/gst/controller/Makefile.am:
11192         * libs/gst/controller/gstcontroller.c:
11193         * libs/gst/controller/gstcontroller.h:
11194         * libs/gst/controller/gstcontrollerprivate.h:
11195         * libs/gst/controller/gsthelper.c:
11196         * libs/gst/controller/gstinterpolation.c:
11197           move private structs to private header
11198         * po/README:
11199           gstreamer-0.7 -> gstreamer-0.10
11200         * tests/check/libs/struct_i386.h:
11201           remove private structs
11202
11203 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11204
11205         * plugins/indexers/Makefile.am:
11206           Fixes as part of #317048
11207
11208 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11209
11210         * plugins/indexers/Makefile.am:
11211           fix #316086 - compilation when mmap is missing
11212
11213 2006-01-12  Sebastien Moutte  <sebastien@moutte.net>
11214
11215         * libs/gst/base/gstbasesink.c:
11216           *cur = (now - base) * basesink->segment.abs_rate + time; replaced by 
11217           *cur = gst_guint64_to_gdouble(now - base) * basesink->segment.abs_rate + time; for vs6
11218         * win32/common/config.h:
11219           added some defines GST_MAJORMINOR and HOST_CPU
11220         * win32/common/libgstbase.def:
11221         * win32/common/libgstreamer.def:
11222           added some exported functions.
11223
11224 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
11225
11226         * libs/gst/controller/gstcontroller.c:
11227         (gst_controlled_property_set_interpolation_mode),
11228         (gst_controlled_property_new):
11229         * libs/gst/controller/gstcontroller.h:
11230         * libs/gst/controller/gstinterpolation.c:
11231         (interpolate_none_get_string_value_array):
11232           make G_TYPE_STRING controlable
11233
11234 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
11235
11236         * tools/README:
11237         * tools/gst-feedback.1.in:
11238         * tools/gst-inspect.1.in:
11239         * tools/gst-launch.1.in:
11240         * tools/gst-md5sum.1.in:
11241         * tools/gst-typefind.1.in:
11242         * tools/gst-xmlinspect.1.in:
11243         * tools/gst-xmllaunch.1.in:
11244           cleanup man-pages, remove reference to gst-register, document env-vars
11245
11246 2006-01-12  Jan Schmidt  <thaytan@mad.scientist.com>
11247
11248         * gst/gstbuffer.c: (gst_buffer_span):
11249           gst_buffer_span should copy the timestamp of the first buffer
11250           if they were both originally overlapping subbuffers of the 
11251           same parent, using the same logic as the 'slow copy' case.
11252
11253 2006-01-11  Jan Schmidt  <thaytan@mad.scientist.com>
11254
11255         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop):
11256           Need to awaken ALL the pads when we pop a buffer, otherwise
11257           collectpads only works when there is 2 input streams.
11258
11259 2006-01-11  Stefan Kost  <ensonic@users.sf.net>
11260
11261         * docs/random/ensonic/media-device-daemon.txt:
11262           more ideas (dbus)
11263         * gst/gstbuffer.c:
11264           fix doc example, add clarification
11265         * tools/gst-launch.1.in:
11266           add initial info about GST_PLUGIN_PATH, needs more work
11267
11268 2006-01-11  Tim-Philipp Müller  <tim at centricular dot net>
11269
11270         * docs/manual/basics-bins.xml:
11271         * docs/manual/basics-elements.xml:
11272         * docs/manual/intro-basics.xml:
11273           Some more minor docs additions and updates.
11274
11275 2006-01-11  Wim Taymans  <wim@fluendo.com>
11276
11277         * docs/manual/basics-bins.xml:
11278         * docs/manual/basics-elements.xml:
11279         Some small fixes as pointed out by Ser-ver on IRC.
11280
11281 2006-01-10  Edward Hervey  <edward@fluendo.com>
11282
11283         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
11284         Set the buffer offset/offset_end to GST_CLOCK_TIME_NONE when using
11285         the single-segment mode.
11286
11287 2006-01-10  Brian Cameron  <brian dot cameron at sun dot com>
11288
11289         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
11290
11291         * libs/gst/base/gstbasesrc.c: (gst_base_src_init),
11292         (gst_base_src_perform_seek), (gst_base_src_send_event),
11293         (gst_base_src_set_property), (gst_base_src_get_property),
11294         (gst_base_src_loop), (gst_base_src_start),
11295         (gst_base_src_activate_push):
11296         * libs/gst/base/gstbasesrc.h:
11297           Name (private) union; makes Sun's Forte compiler happy (#324900).
11298
11299 2006-01-09  Tim-Philipp Müller  <tim at centricular dot net>
11300
11301         * README:
11302           gst-register is gone.
11303
11304 2006-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
11305
11306         * gst/gstvalue.c: (_gst_value_initialize):
11307           make the G_TYPE_DATE instantiation work if debug is disabled
11308
11309 2006-01-06  Tim-Philipp Müller  <tim at centricular dot net>
11310
11311         * gst/gstmessage.c: (gst_message_parse_tag),
11312         (gst_message_parse_error), (gst_message_parse_warning):
11313           Don't crash when return location for error/warning debug
11314           string is NULL; add fact that return locations can be
11315           NULL to docs where appropriate.
11316
11317 2006-01-05  Wim Taymans  <wim@fluendo.com>
11318
11319         * gst/gstplugin.c: (gst_plugin_load_file):
11320         Replace strdup by g_strdup.
11321
11322 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
11323
11324         * docs/pwg/advanced-types.xml:
11325           fix doc borkage
11326
11327 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
11328
11329         submitted by: Abel Cheung
11330
11331         * po/LINGUAS:
11332         * po/zh_TW.po:
11333           Added Chinese (traditional) translation
11334
11335 2006-01-04  Wim Taymans  <wim@fluendo.com>
11336
11337         * docs/manual/basics-pads.xml:
11338         * docs/plugins/Makefile.am:
11339         * docs/plugins/gstreamer-plugins-docs.sgml:
11340         * docs/plugins/gstreamer-plugins-sections.txt:
11341         * docs/pwg/advanced-clock.xml:
11342         * docs/pwg/advanced-scheduling.xml:
11343         * docs/pwg/advanced-types.xml:
11344         * plugins/elements/gstfdsink.c:
11345         * plugins/elements/gstfdsrc.c:
11346         * plugins/elements/gstfdsrc.h:
11347         * plugins/elements/gstidentity.c: (gst_identity_class_init):
11348         * plugins/elements/gstidentity.h:
11349         * plugins/elements/gstqueue.h:
11350         * plugins/elements/gsttee.c:
11351         * plugins/elements/gsttee.h:
11352         * plugins/elements/gsttypefindelement.c:
11353         (gst_type_find_element_class_init):
11354         * plugins/elements/gsttypefindelement.h:
11355         Small updates to various docs.
11356         Added core plugins to docs.
11357
11358 2006-01-03  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
11359
11360         * common/gst.supp:
11361           add a suppression for liboil's uninitialized variable
11362
11363 2006-01-02  James Livingston  <jrl at ids dot org dot au>
11364
11365         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
11366
11367         * gst/gstutils.h:
11368           Add prototype for _get_type() function to GST_BOILERPLATE_FULL
11369           macro, so that gcc doesn't complain if the -Wmissing-prototypes
11370           compiler switch is being used (#325429).
11371
11372 2005-12-29  Tim-Philipp Müller  <tim at centricular dot net>
11373
11374         * gst/gstbin.c: (gst_bin_query):
11375           Disable duration query caching in bins until it gets
11376           fixed (see #324807).
11377
11378 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
11379
11380         * tools/gst-inspect.c: (print_element_properties_info):
11381           Handle properties of POINTER and BOXED type.
11382
11383 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
11384
11385         * gst/gst.c: (init_post):
11386           Init tags stuff and some other things before loading
11387           any static plugins (there may be other static plugins
11388           than just the GStreamer ones, and they may want to
11389           register their own tags or formats or whatever, and
11390           preferably without segfaulting).
11391
11392         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
11393           Print at least a warning in the debug logs if we drop a
11394           query just because we don't know how to adjust the value
11395           in the particular format.
11396
11397 2005-12-24  David Schleef  <ds@schleef.org>
11398
11399         * tools/gstreamer-completion:
11400           Replacement for gst-complete written in sh and sed.  Only
11401           completes names of features, but that's 90% of what I want
11402           it for.  Properties are not available in registry.xml.  (Maybe
11403           they should be...)
11404
11405 === release 0.10.1 ===
11406
11407 2005-12-23  Thomas Vander Stichele <thomas at apestaart dot org>
11408
11409         * configure.ac:
11410           releasing 0.10.1, "Nollaig chridheil"
11411
11412 2005-12-22  Tim-Philipp Müller  <tim at centricular dot net>
11413
11414         * docs/faq/cvs.xml:
11415           Add missing quote, should be make ERROR_CFLAGS="".
11416
11417 2005-12-20  Wim Taymans  <wim@fluendo.com>
11418
11419         * docs/design/part-trickmodes.txt:
11420         More documentation on trickmodes.
11421
11422 2005-12-20  Edward Hervey  <edward@fluendo.com>
11423
11424         * gst/gstcaps.c: (gst_static_caps_get_type):
11425         * gst/gstcaps.h:
11426           API addition: GST_TYPE_STATIC_CAPS
11427         Added gpointer GType for GstStaticCaps so we can wrap them in bindings.
11428         * gst/gstpadtemplate.c: (gst_static_pad_template_get_type):
11429         * gst/gstpadtemplate.h:
11430           API addition: GST_TYPE_STATIC_PAD_TEMPLATE
11431         Added gpointer GType for GstStaticPadTemplate so we can wrap them in
11432         bindings.
11433
11434 2005-12-18  Wim Taymans  <wim@fluendo.com>
11435
11436         * libs/gst/base/gstadapter.c:
11437         * libs/gst/base/gstadapter.h:
11438         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
11439         (gst_base_sink_get_position):
11440         * libs/gst/base/gstbasesink.h:
11441         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
11442         (gst_base_src_default_query), (gst_base_src_default_do_seek),
11443         (gst_base_src_do_seek), (gst_base_src_perform_seek),
11444         (gst_base_src_send_event), (gst_base_src_update_length),
11445         (gst_base_src_get_range), (gst_base_src_loop),
11446         (gst_base_src_start):
11447         * libs/gst/base/gstbasesrc.h:
11448         * libs/gst/base/gstbasetransform.h:
11449         * libs/gst/base/gstcollectpads.h:
11450         * libs/gst/base/gstpushsrc.c:
11451         * libs/gst/base/gstpushsrc.h:
11452         * libs/gst/dataprotocol/dataprotocol.c:
11453         * libs/gst/dataprotocol/dataprotocol.h:
11454         * libs/gst/net/gstnetclientclock.h:
11455         * libs/gst/net/gstnettimeprovider.h:
11456         Documentation updates.
11457
11458 2005-12-18  Tim-Philipp Müller  <tim at centricular dot net>
11459
11460         * docs/manual/basics-helloworld.xml:
11461           Remove superfluous closing bracket in helloworld example.
11462
11463 2005-12-17  Tim-Philipp Müller  <tim at centricular dot net>
11464
11465         * tools/gst-launch.1.in:
11466           Update gst-launch man page; add a section with useful
11467           environment variables. Fixes #323882.
11468
11469 2005-12-16  Stefan Kost  <ensonic@users.sf.net>
11470
11471         * gst/gst.c:
11472         * gst/gst_private.h:
11473           change some char* into char[]
11474
11475 2005-12-16  Wim Taymans  <wim@fluendo.com>
11476
11477         * gst/gstregistryxml.c: (load_feature):
11478         Cleanups.
11479         Don't use g_object_unref on GstObjects so that we avoid
11480         leaks on unsafe glibs.
11481
11482 2005-12-16  Wim Taymans  <wim@fluendo.com>
11483
11484         * gst/gstbin.c: (gst_bin_recalc_state):
11485         Small doc updates.
11486
11487 2005-12-16  Wim Taymans  <wim@fluendo.com>
11488
11489         * common/check.mak:
11490         Added make forever target for check.
11491
11492 2005-12-16  Thomas Vander Stichele  <thomas at apestaart dot org>
11493
11494         * gst/gst.c: (init_post):
11495           make the registry cache file HOST_CPU-dependent
11496
11497 2005-12-16  Andy Wingo  <wingo@pobox.com>
11498
11499         * plugins/elements/gstbufferstore.c
11500         (gst_buffer_store_cleared_func): Pay attention to g_list_append
11501         return value.
11502
11503         * tests/check/gst/gstobject.c
11504         (test_fake_object_name_threaded_unique): Pay attention to
11505         g_list_sort return value.
11506
11507 2005-12-16  Tim-Philipp Müller  <tim at centricular dot net>
11508
11509         * tools/gst-feedback-m.m:
11510           Update for 0.9/0.10 (fixes #323870).
11511
11512 2005-12-15  Tim-Philipp Müller  <tim at centricular dot net>
11513
11514         * gst/gstminiobject.c: (gst_value_mini_object_lcopy):
11515           Fix lcopy for mini objects, the mini object needs to be ref'ed.
11516           
11517         * tests/check/gst/gstminiobject.c: (my_foo_init),
11518         (my_foo_get_property), (my_foo_set_property), (my_foo_class_init),
11519         (test_value_collection), (gst_mini_object_suite):
11520           Add test to ensure refcounts end up as expected when passing
11521           GstMiniObjects through g_object_get() and g_object_set().
11522
11523 2005-12-14  Julien MOUTTE  <julien@moutte.net>
11524
11525         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
11526         (gst_collect_pads_remove_pad), (gst_collect_pads_is_collected),
11527         (gst_collect_pads_event), (gst_collect_pads_chain): Refactoring
11528         of collectpads. This version removes a lot of races without
11529         touching API/ABI. Yay !
11530
11531 2005-12-14  Jan Schmidt  <thaytan@mad.scientist.com>
11532
11533         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_link_prepare):
11534           Don't allow activation of a srcpad in pull_range if it has no
11535           getrange function.
11536           Change some debug statements to be a little clearer
11537
11538         * plugins/elements/gsttypefindelement.c:
11539         (gst_type_find_handle_src_query):
11540           Check that we have a peer before executing queries thereupon.
11541
11542         * tests/examples/metadata/read-metadata.c: (message_loop):
11543           Use gst_bus_pop instead of gst_bus_poll when we just want it to
11544           immediately return us any available message with 0 timeout.
11545
11546 2005-12-12  Michael Smith  <msmith@fluendo.com>
11547
11548         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
11549           Don't unref factories after calling them.
11550         * libs/gst/base/gsttypefindhelper.c: (gst_type_find_helper):
11551         * plugins/elements/gsttypefindelement.c:
11552         (gst_type_find_element_chain):
11553           Free lists of factories after using them. Fixing typefinding memory
11554           leaks.
11555
11556 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
11557
11558         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
11559         (gst_plugin_feature_load):
11560           more meaningful debug output
11561         * configure.ac:
11562         * tests/Makefile.am:
11563         * tests/old/examples/Makefile.am:
11564           make make distcheck happy again
11565
11566 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
11567
11568         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
11569           Catch the special case where we are operating chain-based,
11570           but the downstream peer pad has no chain function. Emit a
11571           custom error message in this case instead of letting the
11572           core generate one implying that this is some sort of core
11573           bug. It's not, it just means that whatever got plugged
11574           into the pipeline downstream when we announced the type
11575           can only operate pull-based, while our source can only
11576           operate push-based (e.g. http://foo/bar.mov ! qtdemux ! ...)
11577           Error string has not been marked for translation yet, as
11578           it probably needs some more work first.
11579
11580         (gst_type_find_element_get_best_possibility):
11581           Add helper function to find the best of all available
11582           found possibilities that qualify given the min. threshold.
11583
11584         (gst_type_find_element_handle_event):
11585           Fix the case where we get an EOS while still in TYPEFIND
11586           mode (we want to chose the best of all possible types,
11587           not just the first type that happens to be in our unsorted
11588           list of possible types).
11589
11590         (gst_type_find_element_chain):
11591           Make sure we return GST_FLOW_ERROR when we errored out
11592           in stop_typefinding(); also, don't just find the best of
11593           all found type entries and then use the last examined
11594           type entry, but actually use the best entry.
11595
11596 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
11597
11598         * tests/examples/typefind/typefind.c: (type_found):
11599         * tests/examples/xml/runxml.c: (xml_loaded):
11600           More gcc4 fixes and a mem leak fix.
11601
11602 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
11603
11604         * tests/examples/xml/createxml.c: (object_saved):
11605           gcc 4 fixes
11606
11607 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
11608
11609         * tests/Makefile.am:
11610           enable the examples even more
11611
11612 2005-12-12  Andy Wingo  <wingo@pobox.com>
11613
11614         * libs/gst/net/gstnettimeprovider.c
11615         (gst_net_time_provider_class_init, gst_net_time_provider_init)
11616         (gst_net_time_provider_set_property)
11617         (gst_net_time_provider_get_property):
11618         API addition: Export "active" as a GObject property.
11619         (gst_net_time_provider_thread): Only respond to time queries if
11620         the time provider is active.
11621
11622         * libs/gst/net/gstnettimeprovider.h: Add an "active" boolean to
11623         NetTimeProvider, preserving binary compat.
11624
11625 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
11626
11627         * tests/examples/controller/audio-example.c: (main):
11628         * tests/examples/launch/Makefile.am:
11629           convert comments again
11630
11631 2005-12-12  Wim Taymans  <wim@fluendo.com>
11632
11633         * libs/gst/base/gstpushsrc.c:
11634         Fix typo.
11635
11636 2005-12-12  Wim Taymans  <wim@fluendo.com>
11637
11638         * docs/libs/gstreamer-libs-sections.txt:
11639         Added new symbol to docs.
11640
11641         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
11642         (gst_base_src_init), (gst_base_src_set_format),
11643         (gst_base_src_default_query), (gst_base_src_query),
11644         (gst_base_src_default_do_seek), (gst_base_src_do_seek),
11645         (gst_base_src_perform_seek), (gst_base_src_send_event),
11646         (gst_base_src_default_event), (gst_base_src_event_handler),
11647         (gst_base_src_set_property), (gst_base_src_get_property),
11648         (gst_base_src_wait), (gst_base_src_do_sync),
11649         (gst_base_src_update_length), (gst_base_src_get_range),
11650         (gst_base_src_check_get_range), (gst_base_src_loop),
11651         (gst_base_src_default_negotiate), (gst_base_src_start),
11652         (gst_base_src_activate_push), (gst_base_src_activate_pull),
11653         (gst_base_src_change_state):
11654         * libs/gst/base/gstbasesrc.h:
11655         Implement seeking to other formats than _BYTES.
11656         Implement more seeking methods correctly.
11657         Doc updates.
11658         Added query vmethod.
11659         Added do_seek vmethod to make life easier for subclasses
11660         when seeking.
11661         API addition: gst_base_src_set_format()
11662
11663 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
11664
11665         * tests/examples/Makefile.am:
11666           added that too
11667
11668 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
11669
11670         * configure.ac:
11671         * docs/random/ensonic/media-device-daemon.txt:
11672         * tests/examples/controller/.cvsignore:
11673         * tests/examples/controller/Makefile.am:
11674         * tests/examples/controller/audio-example.c: (main):
11675         * tests/examples/helloworld/.cvsignore:
11676         * tests/examples/helloworld/Makefile.am:
11677         * tests/examples/helloworld/helloworld.c: (event_loop), (main):
11678         * tests/examples/launch/.cvsignore:
11679         * tests/examples/launch/Makefile.am:
11680         * tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
11681         * tests/examples/metadata/.cvsignore:
11682         * tests/examples/metadata/Makefile.am:
11683         * tests/examples/metadata/read-metadata.c: (message_loop),
11684         (make_pipeline), (print_tag), (main):
11685         * tests/examples/queue/.cvsignore:
11686         * tests/examples/queue/Makefile.am:
11687         * tests/examples/queue/queue.c: (event_loop), (main):
11688         * tests/examples/typefind/.cvsignore:
11689         * tests/examples/typefind/Makefile.am:
11690         * tests/examples/typefind/typefind.c: (type_found), (event_loop),
11691         (main):
11692         * tests/examples/xml/.cvsignore:
11693         * tests/examples/xml/Makefile.am:
11694         * tests/examples/xml/createxml.c: (object_saved), (main):
11695         * tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
11696         * tests/old/examples/Makefile.am:
11697         * tests/old/examples/TODO:
11698         * tests/old/examples/controller/.cvsignore:
11699         * tests/old/examples/controller/Makefile.am:
11700         * tests/old/examples/controller/audio-example.c:
11701         * tests/old/examples/helloworld/.cvsignore:
11702         * tests/old/examples/helloworld/Makefile.am:
11703         * tests/old/examples/helloworld/helloworld.c:
11704         * tests/old/examples/launch/.cvsignore:
11705         * tests/old/examples/launch/Makefile.am:
11706         * tests/old/examples/launch/mp3parselaunch.c:
11707         * tests/old/examples/launch/mp3play:
11708         * tests/old/examples/manual/Makefile.am:
11709         * tests/old/examples/metadata/Makefile.am:
11710         * tests/old/examples/metadata/read-metadata.c:
11711         * tests/old/examples/queue/.cvsignore:
11712         * tests/old/examples/queue/Makefile.am:
11713         * tests/old/examples/queue/queue.c:
11714         * tests/old/examples/typefind/.cvsignore:
11715         * tests/old/examples/typefind/Makefile.am:
11716         * tests/old/examples/typefind/typefind.c:
11717         * tests/old/examples/xml/.cvsignore:
11718         * tests/old/examples/xml/Makefile.am:
11719         * tests/old/examples/xml/createxml.c:
11720         * tests/old/examples/xml/runxml.c:
11721           applied some simple fixing to some examples
11722           re-enabled the working examples
11723
11724 2005-12-12  Wim Taymans  <wim@fluendo.com>
11725
11726         * gst/gstsegment.c: (gst_segment_init),
11727         (gst_segment_set_last_stop), (gst_segment_set_seek),
11728         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
11729         (gst_segment_to_running_time):
11730         Added more documentation.
11731         Make sure the last_pos value is updated properly.
11732         Make sure to_stream_time and to_running_time don't
11733         operate on wrong values.
11734
11735         * tests/check/gst/gstsegment.c: (GST_START_TEST):
11736         Update check.
11737
11738 2005-12-12  Michael Smith  <msmith@fluendo.com>
11739
11740         * plugins/elements/gsttypefindelement.c: (free_entry),
11741         (gst_type_find_element_chain):
11742           Now that we're not leaking factories, make sure we keep references
11743           to them while we need them.
11744
11745 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11746
11747         * tests/check/gst/struct_i386.h:
11748           ifdef out the XML structs
11749
11750 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11751
11752         * gst/gstvalue.c: (gst_value_transform_double_fraction):
11753           floor is not needed, F is always positive; this obviates the
11754           need for adding -lm when building without libxml
11755
11756 2005-12-12  Wim Taymans  <wim@fluendo.com>
11757
11758         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
11759         Take current playback rate into account when reporting
11760         the position.
11761
11762 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
11763
11764         * docs/manual/mime-world.fig:
11765           Let's try this again, this time with a file that is
11766           actually in XFig format.
11767
11768 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
11769
11770         * docs/manual/mime-world.fig:
11771           Add audioconvert element to diagram so that it
11772           matches the text and the code (fixes #319526).
11773
11774 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
11775
11776         * docs/pwg/building-chainfn.xml:
11777         * docs/pwg/building-pads.xml:
11778         * docs/pwg/building-state.xml:
11779         * docs/pwg/other-source.xml:
11780           Update state change stuff for 0.10 (fixes #322969).
11781
11782 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
11783
11784         * docs/manual/advanced-dataaccess.xml:
11785         * docs/manual/appendix-checklist.xml:
11786         * docs/manual/appendix-programs.xml:
11787         * docs/manual/basics-pads.xml:
11788         * docs/manual/highlevel-components.xml:
11789         * docs/manual/manual.xml:
11790           Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
11791           add converters in front of pipelines; remove curly
11792           brackets for threads stuff, they no longer exist; use
11793           GST_TYPE_FRACTION for framerates; update some pieces of
11794           code to 0.10, but there's plenty more to do.
11795
11796         * docs/manual/appendix-porting.xml:
11797           Expand on asynchroneous state changes; s/0.9/0.10/;
11798           mention disappearance of gst_init_get_popt_table()
11799           (fixes #322916).
11800
11801 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
11802
11803         * docs/faq/using.xml:
11804           Spider no longer exists, and neither does gst-launch-ext.
11805           Update examples to use decodebin and playbin and put
11806           converters in front of sinks (fixes #323726).
11807
11808 2005-12-09  Michael Smith  <msmith@fluendo.com>
11809
11810         * plugins/elements/gsttypefindelement.c: (find_peek),
11811         (gst_type_find_element_chain):
11812           Fix leaking element factories in typefinding.
11813           Fix problem where we forgot about a probable type on non-seekable
11814           files, and thus later mis-typefound it.
11815
11816 2005-12-09  Michael Smith  <msmith@fluendo.com>
11817
11818         * common/m4/gst-makecontext.m4:
11819         * common/m4/gst-mcsc.m4:
11820         * configure.ac:
11821         * win32/common/config.h:
11822         * win32/common/config.h.in:
11823           Remove makecontext stuff; not used in 0.10 and causes problems on
11824           HPUX according to bug #322441
11825
11826 2005-12-07  Wim Taymans  <wim@fluendo.com>
11827
11828         * tests/check/Makefile.am:
11829         * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
11830         (main):
11831         * tests/check/libs/struct_i386.h:
11832         Added ABI check for libs
11833
11834 2005-12-07  Wim Taymans  <wim@fluendo.com>
11835
11836         * tests/check/Makefile.am:
11837         And add the struct_i386.h to dist.
11838
11839 2005-12-07  Wim Taymans  <wim@fluendo.com>
11840
11841         * tests/check/Makefile.am:
11842         * tests/check/gst/.cvsignore:
11843         * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
11844         (main):
11845         * tests/check/gst/struct_i386.h:
11846         Added check for ABI compatibility.
11847
11848 2005-12-07  Wim Taymans  <wim@fluendo.com>
11849
11850         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
11851         (gst_fake_src_get_times), (gst_fake_src_create):
11852         Fix broken sync option, fixes #323259
11853
11854 2005-12-07  Wim Taymans  <wim@fluendo.com>
11855
11856         * gst/gstbuffer.c:
11857         Small docs update.
11858
11859         * gst/gstcaps.c: (gst_caps_is_equal):
11860         Don't assert on NULL <--> X. Fixes #323260
11861
11862         * gst/gstminiobject.c: (gst_mini_object_replace):
11863         If we're doing atomic operations, we might just as well use
11864         the proper way to get an atomic pointer.
11865
11866         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
11867         Clean up debugging.
11868
11869 2005-12-07  Michael Smith  <msmith@fluendo.com>
11870
11871         * gst/parse/grammar.y:
11872           Remove handling of { } for threads.
11873
11874 2005-12-06  David Schleef  <ds@schleef.org>
11875
11876         * libs/gst/base/gstbasetransform.c: speling fix.
11877
11878 2005-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
11879
11880         * docs/libs/tmpl/gstdataprotocol.sgml:
11881         * docs/random/omega/testing/gstobject.c:
11882         * gst/gst.c:
11883         * gst/gstclock.c:
11884         * gst/gstelement.c:
11885         * gst/gstelementfactory.c:
11886         * gst/gsterror.c:
11887         * gst/gstevent.c:
11888         * gst/gstghostpad.c:
11889         * gst/gstinfo.c:
11890         * gst/gstpadtemplate.c:
11891         * gst/gstregistryxml.c:
11892         * gst/gsttaglist.c:
11893         * gst/gsttagsetter.c:
11894         * gst/gsttypefind.c:
11895         * gst/gstvalue.c:
11896         * libs/gst/base/gstbasesrc.c:
11897         * libs/gst/net/gstnetclientclock.c:
11898         * libs/gst/net/gstnettimeprovider.c:
11899         * plugins/elements/gstfakesrc.c:
11900         * plugins/elements/gstfdsrc.c:
11901         * plugins/elements/gstfilesrc.c:
11902         * plugins/elements/gstidentity.c:
11903         * plugins/elements/gstqueue.c:
11904         * plugins/elements/gsttypefindelement.c:
11905         * plugins/indexers/gstfileindex.c:
11906         * plugins/indexers/gstmemindex.c:
11907         * tests/check/gst/gsttag.c:
11908         * tests/old/examples/cutter/cutter.c:
11909         * tests/old/examples/mixer/mixer.c:
11910         * tests/old/examples/xml/runxml.c: (main):
11911         * tests/old/testsuite/caps/normalisation.c:
11912         * tests/old/testsuite/debug/global.c:
11913         * tests/old/testsuite/parse/parse1.c:
11914         * tools/gst-xmlinspect.c:
11915         * win32/common/dirent.c:
11916           expand tabs
11917
11918 === release 0.10.0 ===
11919
11920 2005-12-05  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
11921
11922         * configure.ac:
11923           releasing 0.10.0, "Maroilles"
11924
11925 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
11926
11927         submitted by: Funda Wang <fundawang@linux.net.cn>
11928
11929         * po/LINGUAS:
11930         * po/zh_CN.po:
11931           added Chinese (Traditional) translation
11932
11933 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
11934
11935         * docs/gst/gstreamer-sections.txt:
11936         * docs/libs/tmpl/gstdataprotocol.sgml:
11937         * docs/random/thomasvs/TODO:
11938         * gst/gstutils.c:
11939         * gst/gstutils.h:
11940           fix docs
11941
11942 2005-12-05  Andy Wingo  <wingo@pobox.com>
11943
11944         patch by: Wim Taymans <wim@fluendo.com>
11945
11946         * libs/gst/base/gstbasetransform.c
11947         (gst_base_transform_prepare_output_buf)
11948         (gst_base_transform_buffer_alloc):
11949         * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
11950         alloc_buffer_and_set_caps.
11951
11952         * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
11953         set_caps on the source pad.
11954         (gst_pad_alloc_buffer_and_set_caps): New function, does what
11955         alloc_buffer used to do. Fixes #322874.
11956
11957         * docs/gst/gstreamer-sections.txt: 
11958         * docs/design/part-negotiation.txt: 
11959         * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
11960         changes.
11961
11962 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
11963
11964         patch by: Sebastien Moutte
11965
11966         * win32/MANIFEST:
11967         * win32/common/config.h.in:
11968         * win32/vs6/libgstcontroller.dsp:
11969           win32 build fixes
11970
11971 2005-12-05  Wim Taymans  <wim@fluendo.com>
11972
11973         * gst/gstcaps.c: (gst_caps_is_equal):
11974         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
11975         (gst_fake_src_create):
11976         Back out previous code changes, leave doc updates, file bugs 
11977         instead. 
11978
11979 2005-12-05  Wim Taymans  <wim@fluendo.com>
11980
11981         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
11982         (gst_fake_src_get_times), (gst_fake_src_create):
11983         * plugins/elements/gstfakesrc.h:
11984         Fix broken sync code.
11985
11986 2005-12-05  Wim Taymans  <wim@fluendo.com>
11987
11988         * gst/gstcaps.c: (gst_caps_is_equal):
11989         Comparing NULL against !NULL yields different caps, not a
11990         failure.
11991
11992 2005-12-05  Wim Taymans  <wim@fluendo.com>
11993
11994         * gst/gstpipeline.c:
11995         Fix small typo in docs.
11996
11997 2005-12-05  Andy Wingo  <wingo@pobox.com>
11998
11999         patch by: Thomas Vander Stichele  <thomas at apestaart dot org>
12000
12001         * gst/gst.c (init_post): remove hard-coded 0.9 location for
12002         registries/plugins with a MAJORMINOR one.
12003         (plugin_desc): Rename library from gstcoreleements to
12004         staticelements. Fixes #323222.
12005
12006 2005-12-05  Tim-Philipp Müller  <tim at centricular dot net>
12007
12008         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
12009           Change debug category to 'collectpads' from 'collect_pads'
12010           (fixes #323250).
12011
12012 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
12013
12014         patch by: Sebastien Moutte
12015
12016         * libs/gst/controller/gstinterpolation.c:
12017           use convert function for uint64/double
12018         * win32/vs6/libgstcontroller.dsp:
12019           link to GLib
12020
12021 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
12022
12023         * gst/gstutils.c: (gst_util_guint64_to_gdouble),
12024         (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
12025         * gst/gstutils.h:
12026         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
12027           add tests that seem to show that the guint64/gdouble conversions
12028           are correct.
12029
12030 2005-12-02  Wim Taymans  <wim@fluendo.com>
12031
12032         * gst/gstregistry.c: (gst_registry_add_path):
12033         * gst/gstregistry.h:
12034         * gst/gstregistryxml.c:
12035         Fix docs again.
12036
12037 2005-12-02  Wim Taymans  <wim@fluendo.com>
12038
12039         * gst/gstutils.c: (gst_util_uint64_scale_int64),
12040         (gst_util_uint64_scale_int):
12041         Small cleanup.
12042
12043         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
12044         Add debug log line.
12045
12046         * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
12047         Add FIXME.
12048
12049 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12050
12051         * win32/MANIFEST:
12052         * win32/common/config.h:
12053         * win32/vs6/gstreamer.dsw:
12054         * win32/vs6/libgstcoreelements.dsp:
12055         * win32/vs6/libgstelements.dsp:
12056           renamed core elements plugin
12057
12058 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12059
12060         * tools/gst-run.c: (compare_major_minor), (find_highest_version),
12061         (get_candidates):
12062           do piece-wise major/minor comparison so 0.9 < 0.10
12063           also allow .exe extensions for tools
12064
12065 2005-12-02  Michael Smith  <msmith@fluendo.com>
12066
12067         * gst/gst.c:
12068           Escape a % to make gtkdoc happier; bug 322958.
12069
12070 === release 0.9.7 ===
12071
12072 2005-12-01  Thomas Vander Stichele <thomas (at) apestaart (dot) org>
12073
12074         * configure.ac:
12075           releasing 0.9.7, "My Dog Has No Nose"
12076
12077 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
12078
12079         * common/gst-xmlinspect.py:
12080         * configure.ac:
12081         * docs/libs/tmpl/gstdataprotocol.sgml:
12082         * docs/random/release:
12083         * po/af.po:
12084         * po/az.po:
12085         * po/bg.po:
12086         * po/ca.po:
12087         * po/cs.po:
12088         * po/de.po:
12089         * po/en_GB.po:
12090         * po/fr.po:
12091         * po/it.po:
12092         * po/nb.po:
12093         * po/nl.po:
12094         * po/ru.po:
12095         * po/sq.po:
12096         * po/sr.po:
12097         * po/sv.po:
12098         * po/tr.po:
12099         * po/uk.po:
12100         * po/vi.po:
12101         * win32/common/config.h:
12102         * win32/common/config.h.in:
12103         * win32/vs6/gst_inspect.dsp:
12104         * win32/vs6/gst_launch.dsp:
12105         * win32/vs6/libgstbase.dsp:
12106         * win32/vs6/libgstelements.dsp:
12107         * win32/vs6/libgstreamer.dsp:
12108         * win32/vs7/GStreamer.vcproj:
12109         * win32/vs7/gst-inspect.vcproj:
12110         * win32/vs7/gst-launch.vcproj:
12111         * win32/vs7/libgstbase.vcproj:
12112           bump GST_MAJORMINOR to 0.10
12113           reset libtool version
12114
12115 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
12116
12117         * po/LINGUAS:
12118         * po/bg.po:
12119           Added Bulgarian translation by (Alexander Shopov)
12120
12121 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
12122
12123         * tests/check/gst/gstplugin.c:
12124           fix test
12125
12126 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
12127
12128         * common/gst-xmlinspect.py:
12129         * common/gtk-doc-plugins.mak:
12130         * configure.ac:
12131         * docs/Makefile.am:
12132         * docs/gst/Makefile.am:
12133         * docs/gst/gstreamer-docs.sgml:
12134         * docs/gst/gstreamer-sections.txt:
12135         * docs/gst/gstreamer.types:
12136         * docs/gst/gstreamer.types.in:
12137         * docs/plugins/Makefile.am:
12138         * docs/plugins/gstreamer-plugins-docs.sgml:
12139         * docs/plugins/gstreamer-plugins-sections.txt:
12140         * docs/plugins/gstreamer-plugins.types:
12141         * docs/plugins/inspect.stamp:
12142         * docs/plugins/inspect/plugin-coreelements.xml:
12143         * docs/plugins/inspect/plugin-coreindexers.xml:
12144         * docs/plugins/scanobj-build.stamp:
12145         * gstreamer.spec.in:
12146         * plugins/elements/Makefile.am:
12147         * plugins/elements/gstelements.c:
12148         * plugins/elements/gstfakesink.c:
12149         * plugins/elements/gstfakesrc.c:
12150         * plugins/elements/gstfilesink.c:
12151         * plugins/elements/gstfilesrc.c:
12152         * plugins/elements/gstqueue.c:
12153         * plugins/indexers/Makefile.am:
12154         * plugins/indexers/gstindexers.c:
12155           document core plugins in a separate document just like all the
12156           others
12157           rename these plugins to something starting with core
12158
12159 2005-12-01  Andy Wingo  <wingo@pobox.com>
12160
12161         * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
12162         padding here before, but it missed the commit.
12163
12164 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
12165
12166         * libs/gst/controller/gstinterpolation.c:
12167           whitespace prices have crashed, we should feel free to use some now
12168           use gst_guint64_to_gdouble
12169
12170 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
12171
12172         * libs/gst/controller/gstcontroller.c:
12173         * libs/gst/controller/gsthelper.c:
12174         * libs/gst/controller/gstinterpolation.c:
12175         * libs/gst/controller/lib.c:
12176           wrap config.h include
12177
12178 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
12179
12180         * docs/gst/gstreamer-sections.txt:
12181           update docs
12182
12183 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
12184
12185         * plugins/elements/gstelements.c:
12186         * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
12187         (gst_fd_sink__class_init), (gst_fd_sink__init),
12188         (gst_fd_sink__chain), (gst_fd_sink__set_property),
12189         (gst_fd_sink__get_property):
12190         * plugins/elements/gstfdsink.h:
12191         * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
12192         (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
12193         (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
12194         (gst_fd_src_unlock), (gst_fd_src_set_property),
12195         (gst_fd_src_get_property), (gst_fd_src_create),
12196         (gst_fd_src_is_seekable), (gst_fd_src_get_size),
12197         (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
12198         (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
12199         (gst_fd_src_uri_handler_init):
12200         * plugins/elements/gstfdsrc.h:
12201         * plugins/elements/gstqueue.c: (gst_queue_get_type):
12202           more anal cleanup
12203
12204 2005-11-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
12205
12206         * docs/gst/Makefile.am:
12207         * docs/gst/gstreamer.types.in:
12208         * gst/Makefile.am:
12209           fix the docs build
12210
12211 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
12212
12213         * configure.ac:
12214         * gst/Makefile.am:
12215         * gst/gst.c:
12216         * gst/gstplugin.h:
12217         * gst/gstregistry.h:
12218         * tests/benchmarks/complexity.c:
12219         * tests/benchmarks/mass-elements.c:
12220         * tests/check/Makefile.am:
12221         * tools/Makefile.am:
12222         * tools/gst-inspect.c:
12223         * tools/gst-xmlinspect.c:
12224           various fixes to make
12225           --disable-nls --disable-registry --disable-loadsave
12226           --disable-parse --disable-gst-debug
12227           work and get the core .so down to 360444 bytes after stripping
12228
12229 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
12230
12231         * Makefile.am:
12232         * configure.ac:
12233           descend into tests
12234         * docs/random/thomasvs/TODO:
12235         * tests/Makefile.am:
12236         * tests/README:
12237           add a README
12238
12239 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
12240
12241         * win32/GStreamer.vcproj:
12242         * win32/MANIFEST:
12243         * win32/Makefile:
12244         * win32/Makefile.inspect:
12245         * win32/Makefile.launch:
12246         * win32/Makefile.register:
12247         * win32/README.txt:
12248         * win32/gst-inspect.vcproj:
12249         * win32/gst-launch.vcproj:
12250         * win32/gst-register.vcproj:
12251         * win32/gstelements.vcproj:
12252         * win32/gstgetbits.def:
12253         * win32/gstgetbits.vcproj:
12254         * win32/gstreamer-dbg.def:
12255         * win32/gstreamer.def:
12256         * win32/libgstbase.def:
12257         * win32/libgstbase.vcproj:
12258         * win32/link_oldruntime.c:
12259         * win32/mman.c:
12260         * win32/mman.h:
12261         * win32/mman.inl:
12262         * win32/msvc71.sln:
12263           move even more stuff, win32/ is nice and clean now
12264
12265 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
12266
12267         * libs/gst/control/.cvsignore:
12268         * win32/MANIFEST:
12269         * win32/config.h:
12270         * win32/dirent.c:
12271         * win32/dirent.h:
12272         * win32/gstbytestream.def:
12273         * win32/gstbytestream.vcproj:
12274         * win32/gstconfig.h:
12275         * win32/gstenumtypes.c:
12276         * win32/gstenumtypes.h:
12277         * win32/gstoptimalscheduler.vcproj:
12278         * win32/gstversion.h:
12279         * win32/gtchar.h:
12280         * win32/testsuite/bins.vcproj:
12281         * win32/testsuite/bytestream.vcproj:
12282         * win32/testsuite/caps.vcproj:
12283         * win32/testsuite/cleanup.vcproj:
12284         * win32/testsuite/clock.vcproj:
12285         * win32/testsuite/debug.vcproj:
12286         * win32/testsuite/dlopen.vcproj:
12287         * win32/testsuite/dynparams.vcproj:
12288         * win32/testsuite/elements.vcproj:
12289         * win32/testsuite/ghostpads.vcproj:
12290         * win32/testsuite/indexers.vcproj:
12291         * win32/testsuite/negotiation.vcproj:
12292         * win32/testsuite/parse.vcproj:
12293         * win32/testsuite/plugin.vcproj:
12294         * win32/testsuite/refcounting.vcproj:
12295         * win32/testsuite/schedulers.vcproj:
12296         * win32/testsuite/states.vcproj:
12297         * win32/testsuite/tags.vcproj:
12298         * win32/testsuite/threads.vcproj:
12299           remove old win32 stuff that isn't maintained and should be
12300           reorganized
12301
12302 2005-11-30  Andy Wingo  <wingo@pobox.com>
12303
12304         * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
12305         loading the gst.interfaces python module bork.
12306
12307         * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
12308         available since GLib 2.2. Fixes #318031.
12309
12310 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
12311
12312         * Makefile.am:
12313         * check/.cvsignore:
12314         * check/Makefile.am:
12315         * check/elements/.cvsignore:
12316         * check/elements/fakesrc.c:
12317         * check/elements/fdsrc.c:
12318         * check/elements/identity.c:
12319         * check/generic/.cvsignore:
12320         * check/generic/states.c:
12321         * check/gst-libs/.cvsignore:
12322         * check/gst-libs/controller.c:
12323         * check/gst-libs/gdp.c:
12324         * check/gst/.cvsignore:
12325         * check/gst/capslist.h:
12326         * check/gst/gst.c:
12327         * check/gst/gstbin.c:
12328         * check/gst/gstbuffer.c:
12329         * check/gst/gstbus.c:
12330         * check/gst/gstcaps.c:
12331         * check/gst/gstelement.c:
12332         * check/gst/gstevent.c:
12333         * check/gst/gstghostpad.c:
12334         * check/gst/gstiterator.c:
12335         * check/gst/gstmessage.c:
12336         * check/gst/gstminiobject.c:
12337         * check/gst/gstobject.c:
12338         * check/gst/gstpad.c:
12339         * check/gst/gstpipeline.c:
12340         * check/gst/gstplugin.c:
12341         * check/gst/gstsegment.c:
12342         * check/gst/gststructure.c:
12343         * check/gst/gstsystemclock.c:
12344         * check/gst/gsttag.c:
12345         * check/gst/gstutils.c:
12346         * check/gst/gstvalue.c:
12347         * check/net/.cvsignore:
12348         * check/net/gstnetclientclock.c:
12349         * check/net/gstnettimeprovider.c:
12350         * check/pipelines/.cvsignore:
12351         * check/pipelines/cleanup.c:
12352         * check/pipelines/simple_launch_lines.c:
12353         * check/pipelines/stress.c:
12354         * check/states/.cvsignore:
12355         * check/states/sinks.c:
12356         * configure.ac:
12357         * examples/Makefile.am:
12358         * examples/appreader/.cvsignore:
12359         * examples/appreader/Makefile.am:
12360         * examples/appreader/appreader.c:
12361         * examples/controller/.cvsignore:
12362         * examples/controller/Makefile.am:
12363         * examples/controller/audio-example.c:
12364         * examples/cutter/.cvsignore:
12365         * examples/cutter/Makefile.am:
12366         * examples/cutter/cutter.c:
12367         * examples/cutter/cutter.h:
12368         * examples/events/Makefile.am:
12369         * examples/events/seek.c:
12370         * examples/helloworld/.cvsignore:
12371         * examples/helloworld/Makefile.am:
12372         * examples/helloworld/helloworld.c:
12373         * examples/helloworld2/.cvsignore:
12374         * examples/helloworld2/Makefile.am:
12375         * examples/helloworld2/helloworld2.c:
12376         * examples/launch/.cvsignore:
12377         * examples/launch/Makefile.am:
12378         * examples/launch/mp3parselaunch.c:
12379         * examples/launch/mp3play:
12380         * examples/manual/.cvsignore:
12381         * examples/manual/Makefile.am:
12382         * examples/manual/extract.pl:
12383         * examples/metadata/Makefile.am:
12384         * examples/metadata/read-metadata.c:
12385         * examples/mixer/.cvsignore:
12386         * examples/mixer/Makefile.am:
12387         * examples/mixer/mixer.c:
12388         * examples/mixer/mixer.h:
12389         * examples/pingpong/.cvsignore:
12390         * examples/pingpong/Makefile.am:
12391         * examples/pingpong/pingpong.c:
12392         * examples/plugins/.cvsignore:
12393         * examples/plugins/Makefile.am:
12394         * examples/plugins/example.c:
12395         * examples/plugins/example.h:
12396         * examples/pwg/.cvsignore:
12397         * examples/pwg/Makefile.am:
12398         * examples/pwg/extract.pl:
12399         * examples/queue/.cvsignore:
12400         * examples/queue/Makefile.am:
12401         * examples/queue/queue.c:
12402         * examples/queue2/.cvsignore:
12403         * examples/queue2/Makefile.am:
12404         * examples/queue2/queue2.c:
12405         * examples/queue3/.cvsignore:
12406         * examples/queue3/Makefile.am:
12407         * examples/queue3/queue3.c:
12408         * examples/queue4/.cvsignore:
12409         * examples/queue4/Makefile.am:
12410         * examples/queue4/queue4.c:
12411         * examples/retag/.cvsignore:
12412         * examples/retag/Makefile.am:
12413         * examples/retag/retag.c:
12414         * examples/retag/transcode.c:
12415         * examples/thread/.cvsignore:
12416         * examples/thread/Makefile.am:
12417         * examples/thread/thread.c:
12418         * examples/typefind/.cvsignore:
12419         * examples/typefind/Makefile.am:
12420         * examples/typefind/typefind.c:
12421         * examples/xml/.cvsignore:
12422         * examples/xml/Makefile.am:
12423         * examples/xml/createxml.c:
12424         * examples/xml/runxml.c:
12425         * tests/Makefile.am:
12426         * tests/check/Makefile.am:
12427         * testsuite/.cvsignore:
12428         * testsuite/Makefile.am:
12429         * testsuite/Rules:
12430         * testsuite/caps/.cvsignore:
12431         * testsuite/caps/Makefile.am:
12432         * testsuite/caps/app_fixate.c:
12433         * testsuite/caps/audioscale.c:
12434         * testsuite/caps/caps.c:
12435         * testsuite/caps/caps.h:
12436         * testsuite/caps/caps_strings:
12437         * testsuite/caps/compatibility.c:
12438         * testsuite/caps/deserialize.c:
12439         * testsuite/caps/enumcaps.c:
12440         * testsuite/caps/eratosthenes.c:
12441         * testsuite/caps/filtercaps.c:
12442         * testsuite/caps/fixed.c:
12443         * testsuite/caps/fraction-convert.c:
12444         * testsuite/caps/fraction-multiply-and-zero.c:
12445         * testsuite/caps/intersect2.c:
12446         * testsuite/caps/intersection.c:
12447         * testsuite/caps/normalisation.c:
12448         * testsuite/caps/random.c:
12449         * testsuite/caps/renegotiate.c:
12450         * testsuite/caps/sets.c:
12451         * testsuite/caps/simplify.c:
12452         * testsuite/caps/string-conversions.c:
12453         * testsuite/caps/structure.c:
12454         * testsuite/caps/subtract.c:
12455         * testsuite/caps/union.c:
12456         * testsuite/debug/.cvsignore:
12457         * testsuite/debug/Makefile.am:
12458         * testsuite/debug/category.c:
12459         * testsuite/debug/commandline.c:
12460         * testsuite/debug/global.c:
12461         * testsuite/debug/output.c:
12462         * testsuite/debug/printf_extension.c:
12463         * testsuite/dlopen/.cvsignore:
12464         * testsuite/dlopen/Makefile.am:
12465         * testsuite/dlopen/dlopen_gst.c:
12466         * testsuite/dlopen/loadgst.c:
12467         * testsuite/elements/.cvsignore:
12468         * testsuite/elements/Makefile.am:
12469         * testsuite/elements/gst-inspect-check.in:
12470         * testsuite/elements/struct_i386.h:
12471         * testsuite/elements/struct_size.c:
12472         * testsuite/indexers/.cvsignore:
12473         * testsuite/indexers/Makefile.am:
12474         * testsuite/indexers/cache1.c:
12475         * testsuite/indexers/indexdump.c:
12476         * testsuite/parse/.cvsignore:
12477         * testsuite/parse/Makefile.am:
12478         * testsuite/parse/parse1.c:
12479         * testsuite/parse/parse2.c:
12480         * testsuite/plugin/.cvsignore:
12481         * testsuite/plugin/Makefile.am:
12482         * testsuite/plugin/README:
12483         * testsuite/plugin/dynamic.c:
12484         * testsuite/plugin/linked.c:
12485         * testsuite/plugin/loading.c:
12486         * testsuite/plugin/registry.c:
12487         * testsuite/plugin/static.c:
12488         * testsuite/plugin/static2.c:
12489         * testsuite/plugin/testplugin.c:
12490         * testsuite/plugin/testplugin2.c:
12491         * testsuite/plugin/testplugin2_s.c:
12492         * testsuite/plugin/testplugin_s.c:
12493         * testsuite/refcounting/.cvsignore:
12494         * testsuite/refcounting/Makefile.am:
12495         * testsuite/refcounting/bin.c:
12496         * testsuite/refcounting/element.c:
12497         * testsuite/refcounting/element_pad.c:
12498         * testsuite/refcounting/mainloop.c:
12499         * testsuite/refcounting/mem.c:
12500         * testsuite/refcounting/mem.h:
12501         * testsuite/refcounting/object.c:
12502         * testsuite/refcounting/pad.c:
12503         * testsuite/refcounting/sched.c:
12504         * testsuite/refcounting/thread.c:
12505         * testsuite/states/.cvsignore:
12506         * testsuite/states/Makefile.am:
12507         * testsuite/states/bin.c:
12508         * testsuite/states/locked.c:
12509         * testsuite/states/parent.c:
12510         * testsuite/threads/.cvsignore:
12511         * testsuite/threads/159566.c:
12512         * testsuite/threads/159852.c:
12513         * testsuite/threads/Makefile.am:
12514         * testsuite/threads/queue.c:
12515         * testsuite/threads/signals.c:
12516         * testsuite/threads/staticrec.c:
12517         * testsuite/threads/thread.c:
12518         * testsuite/threads/threadb.c:
12519         * testsuite/threads/threadc.c:
12520         * testsuite/threads/threadd.c:
12521         * testsuite/threads/threade.c:
12522         * testsuite/threads/threadf.c:
12523         * testsuite/threads/threadg.c:
12524         * testsuite/threads/threadh.c:
12525         * testsuite/threads/threadi.c:
12526           move all of these under tests
12527
12528 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
12529
12530         * configure.ac:
12531         * tests/Makefile.am:
12532           fix distcheck
12533
12534 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
12535
12536         * docs/gst/gstreamer-sections.txt:
12537         * tests/sched/.cvsignore:
12538         * tests/sched/Makefile.am:
12539         * tests/sched/cases/(fs-fs).xml:
12540         * tests/sched/cases/(fs-i-fs).xml:
12541         * tests/sched/cases/(fs-i-i-fs).xml:
12542         * tests/sched/cases/(fs-i-q[i-fs]).xml:
12543         * tests/sched/dynamic-pipeline.c:
12544         * tests/sched/interrupt1.c:
12545         * tests/sched/interrupt2.c:
12546         * tests/sched/interrupt3.c:
12547         * tests/sched/runtestcases:
12548         * tests/sched/runxml.c:
12549         * tests/sched/sched-stress.c:
12550         * tests/sched/sort.c:
12551         * tests/sched/testcases:
12552         * tests/sched/testcases1.tc:
12553         * tests/seeking/.cvsignore:
12554         * tests/seeking/Makefile.am:
12555         * tests/seeking/seeking1.c:
12556         * tests/threadstate/.cvsignore:
12557         * tests/threadstate/Makefile.am:
12558         * tests/threadstate/test1.c:
12559         * tests/threadstate/test2.c:
12560         * tests/threadstate/threadstate1.c:
12561         * tests/threadstate/threadstate2.c:
12562         * tests/threadstate/threadstate3.c:
12563         * tests/threadstate/threadstate4.c:
12564         * tests/threadstate/threadstate5.c:
12565           remove obsolete tests
12566         * configure.ac:
12567         * tests/bench-complexity.scm:
12568         * tests/bench-mass_elements.scm:
12569         * tests/complexity.c:
12570         * tests/complexity.gnuplot:
12571         * tests/instantiate/.cvsignore:
12572         * tests/instantiate/Makefile.am:
12573         * tests/instantiate/caps.c:
12574         * tests/mass_elements.c:
12575         * tests/network-clock-utils.scm:
12576         * tests/network-clock.scm:
12577         * tests/plot-data:
12578         First pass at cleaning up tests/ dir before moving the rest
12579         Combined with CVS surgery
12580
12581 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
12582
12583         * po/POTFILES.in:
12584           queue has moved, update
12585
12586 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
12587
12588         * docs/gst/gstreamer-sections.txt:
12589           remove double entries from the docs
12590         * gst/gst_private.h:
12591         * gst/gstinfo.c: (_gst_debug_init):
12592           remove the THREAD debug category
12593         * gst/Makefile.am:
12594         * gst/gstqueue.c:
12595         * gst/gstqueue.h:
12596         * docs/gst/gstreamer.types:
12597         * plugins/elements/gstqueue.c: (gst_queue_get_type),
12598         (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
12599           completely move queue and fix up debugging categories
12600
12601 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
12602
12603         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
12604           make initialization portable, using LL is not
12605
12606 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
12607
12608         * win32/common/gstconfig.h:
12609           add large padding
12610
12611 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
12612
12613         * win32/common/libgstreamer.def:
12614           rename symbols; sort base section
12615
12616 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
12617
12618         * gst/gstclock.c: (do_linear_regression):
12619           remove crack non-portable handrolled DEBUG macro
12620
12621 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
12622
12623         * docs/random/release:
12624           update notes
12625         * win32/common/gstenumtypes.c: (register_gst_object_flags),
12626         (gst_object_flags_get_type), (register_gst_bin_flags),
12627         (gst_bin_flags_get_type), (register_gst_buffer_flag),
12628         (gst_buffer_flag_get_type), (register_gst_bus_flags),
12629         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
12630         (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
12631         (gst_caps_flags_get_type), (register_gst_clock_return),
12632         (gst_clock_return_get_type), (register_gst_clock_entry_type),
12633         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
12634         (gst_clock_flags_get_type), (register_gst_state),
12635         (gst_state_get_type), (register_gst_state_change_return),
12636         (gst_state_change_return_get_type), (register_gst_state_change),
12637         (gst_state_change_get_type), (register_gst_element_flags),
12638         (gst_element_flags_get_type), (register_gst_core_error),
12639         (gst_core_error_get_type), (register_gst_library_error),
12640         (gst_library_error_get_type), (register_gst_resource_error),
12641         (gst_resource_error_get_type), (register_gst_stream_error),
12642         (gst_stream_error_get_type), (register_gst_event_type_flags),
12643         (gst_event_type_flags_get_type), (register_gst_event_type),
12644         (gst_event_type_get_type), (register_gst_seek_type),
12645         (gst_seek_type_get_type), (register_gst_seek_flags),
12646         (gst_seek_flags_get_type), (register_gst_format),
12647         (gst_format_get_type), (register_gst_index_certainty),
12648         (gst_index_certainty_get_type), (register_gst_index_entry_type),
12649         (gst_index_entry_type_get_type),
12650         (register_gst_index_lookup_method),
12651         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
12652         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
12653         (gst_index_resolver_method_get_type), (register_gst_index_flags),
12654         (gst_index_flags_get_type), (register_gst_debug_level),
12655         (gst_debug_level_get_type), (register_gst_debug_color_flags),
12656         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
12657         (gst_iterator_result_get_type), (register_gst_iterator_item),
12658         (gst_iterator_item_get_type), (register_gst_message_type),
12659         (gst_message_type_get_type), (register_gst_mini_object_flags),
12660         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
12661         (gst_pad_link_return_get_type), (register_gst_flow_return),
12662         (gst_flow_return_get_type), (register_gst_activate_mode),
12663         (gst_activate_mode_get_type), (register_gst_pad_direction),
12664         (gst_pad_direction_get_type), (register_gst_pad_flags),
12665         (gst_pad_flags_get_type), (register_gst_pad_presence),
12666         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
12667         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
12668         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
12669         (gst_plugin_error_get_type), (register_gst_plugin_flags),
12670         (gst_plugin_flags_get_type), (register_gst_rank),
12671         (gst_rank_get_type), (register_gst_query_type),
12672         (gst_query_type_get_type), (register_gst_tag_merge_mode),
12673         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
12674         (gst_tag_flag_get_type), (register_gst_task_state),
12675         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
12676         (gst_alloc_trace_flags_get_type),
12677         (register_gst_type_find_probability),
12678         (gst_type_find_probability_get_type), (register_gst_uri_type),
12679         (gst_uri_type_get_type), (register_gst_parse_error),
12680         (gst_parse_error_get_type):
12681         * win32/common/gstenumtypes.h:
12682         * win32/common/gstversion.h:
12683           update visual studio generated files
12684
12685 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
12686
12687         * win32/vs6/libgstbase.dsp:
12688         * win32/vs6/libgstelements.dsp:
12689           update project files for new locations
12690
12691 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
12692
12693         * Makefile.am:
12694           remove some files
12695         * README:
12696           reinstate and update
12697         * DEVEL:
12698         * REQUIREMENTS:
12699           removed
12700         * LICENSE:
12701         * docs/random/LICENSE:
12702           moved to random
12703
12704 2005-11-30  Edward Hervey  <edward@fluendo.com>
12705
12706         * gst/gsttypefind.c: (gst_type_find_register):
12707         * gst/gsttypefind.h:
12708         * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
12709         (gst_type_find_factory_dispose):
12710         * gst/gsttypefindfactory.h:
12711         Fix memory leak in GstTypeFindFactory.
12712
12713 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
12714
12715         * gst/gst.c:
12716         * plugins/elements/Makefile.am:
12717         * plugins/elements/gstelements.c:
12718         * plugins/elements/gstqueue.c:
12719           move queue from core to the elements plugin
12720
12721 2005-11-29  Andy Wingo  <wingo@pobox.com>
12722
12723         * libs/gst/base/gstbasetransform.h: 
12724         * libs/gst/base/gstbasesrc.h: 
12725         * libs/gst/base/gstbasesink.h: en-LARGE the padding.
12726
12727         * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
12728         of pointers by which to pad very extensible base classes (like the
12729         ones in libs/gst/base).
12730
12731 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
12732
12733         * docs/gst/gstreamer-docs.sgml:
12734         * docs/gst/gstreamer-sections.txt:
12735         * docs/libs/gstreamer-libs-docs.sgml:
12736         * docs/libs/gstreamer-libs-sections.txt:
12737           moving documentation from core to lib
12738
12739 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
12740
12741         * check/Makefile.am:
12742         * configure.ac:
12743         * docs/gst/Makefile.am:
12744         * gst/Makefile.am:
12745         * gst/base/.cvsignore:
12746         * gst/base/Makefile.am:
12747         * gst/base/README:
12748         * gst/base/gstadapter.c:
12749         * gst/base/gstadapter.h:
12750         * gst/base/gstbasesink.c:
12751         * gst/base/gstbasesink.h:
12752         * gst/base/gstbasesrc.c:
12753         * gst/base/gstbasesrc.h:
12754         * gst/base/gstbasetransform.c:
12755         * gst/base/gstbasetransform.h:
12756         * gst/base/gstcollectpads.c:
12757         * gst/base/gstcollectpads.h:
12758         * gst/base/gstpushsrc.c:
12759         * gst/base/gstpushsrc.h:
12760         * gst/base/gsttypefindhelper.c:
12761         * gst/base/gsttypefindhelper.h:
12762         * gst/check/Makefile.am:
12763         * gst/check/gstcheck.c:
12764         * gst/check/gstcheck.h:
12765         * gst/net/Makefile.am:
12766         * gst/net/gstnet.h:
12767         * gst/net/gstnetclientclock.c:
12768         * gst/net/gstnetclientclock.h:
12769         * gst/net/gstnettimepacket.c:
12770         * gst/net/gstnettimepacket.h:
12771         * gst/net/gstnettimeprovider.c:
12772         * gst/net/gstnettimeprovider.h:
12773         * libs/gst/Makefile.am:
12774         * libs/gst/base/Makefile.am:
12775         * libs/gst/base/gstbasetransform.c:
12776         * libs/gst/check/Makefile.am:
12777         * plugins/elements/Makefile.am:
12778         * po/POTFILES.in:
12779           CVS surgery + support to move base, check, and net out of gst
12780           and into libs/gst
12781
12782 2005-11-29  Andy Wingo  <wingo@pobox.com>
12783
12784         * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
12785
12786         * gst/gststructure.h (struct _GstStructure): Only one pointer of
12787         padding.
12788
12789         * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
12790
12791         * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
12792
12793         * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
12794
12795         * gst/gstobject.h: (struct _GstObject): Only one pointer of
12796         padding; reduces object size by about 30%. We don't expect
12797         anything else to go into gstobject.
12798
12799         * gst/gstminiobject.h (struct _GstMiniObject)
12800         (struct _GstMiniObjectClass): Only one pointer of padding; the
12801         payload is only a pointer and two ints anyway. For the class there
12802         are only two methods as well.
12803         
12804         * gst/gstelement.h (struct _GstElementClass): Removed
12805         the state_changed signal callback, it is not used.
12806
12807 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
12808
12809         * docs/gst/gstreamer.types:
12810           fix includes, though they are a little dinky
12811
12812 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
12813
12814         * check/Makefile.am:
12815           look in the right place for elements, a lot more chance of
12816           success
12817         * gst/Makefile.am:
12818           remove indexers and elements subdirs
12819         * plugins/Makefile.am:
12820           make indexers conditional
12821
12822 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
12823
12824         * Makefile.am:
12825         * configure.ac:
12826         * plugins/elements/Makefile.am:
12827         * plugins/elements/gstcapsfilter.c:
12828         * plugins/elements/gstfilesink.c:
12829         * plugins/elements/gstfilesrc.c:
12830         * plugins/elements/gstidentity.c:
12831         * plugins/indexers/Makefile.am:
12832           do CVS surgery and related build fixery to move elements
12833           and indexers in a new gstreamer/plugins directory, out of the
12834           gst/ directory
12835
12836 2005-11-29  Andy Wingo  <wingo@pobox.com>
12837
12838         * check/Makefile.am:
12839         * pkgconfig/gstreamer-net-uninstalled.pc.in:
12840         * pkgconfig/gstreamer-net.pc.in:
12841         * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
12842         #322257.
12843
12844 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
12845
12846         * tools/Makefile.am:
12847         * tools/gst-complete.1.in:
12848         * tools/gst-complete.c:
12849         * tools/gst-compprep.1.in:
12850         * tools/gst-compprep.c:
12851           removing -compprep and -complete
12852
12853 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
12854
12855         * gst/gstevent.c: (gst_event_new_new_segment),
12856         (gst_event_parse_new_segment):
12857         * gst/gstevent.h:
12858           fix #320529 - clean up new_segment API and structure.
12859           Let's hope everyone was using the methods, and not the structure.
12860
12861 2005-11-29  Edward Hervey  <edward@fluendo.com>
12862
12863         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
12864         (gst_base_sink_event), (gst_base_sink_do_sync),
12865         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
12866         Properly handle non GST_FORMAT_TIME segment
12867         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
12868         Properly handle non GST_FORMAT_TIME segment
12869         * gst/gstsegment.c:
12870         This function is valid if the accumulator is 0 and the format
12871         is different from the requested format.
12872         
12873 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
12874
12875         * docs/gst/gstreamer-sections.txt:
12876         Add gst_query_new_seeking and gst_query_parse_seeking to the
12877         docs.
12878
12879 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
12880
12881         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
12882           Treat a pad alloc with new caps the same as if we were not
12883           negotiated, in order to allow a changing upstream output
12884           to produce a new format of data.
12885
12886 2005-11-29  Edward Hervey  <edward@fluendo.com>
12887
12888         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
12889         (gst_base_transform_event), (gst_base_transform_eventfunc):
12890         The event virtual method is now properly implemented, with a default
12891         handler
12892         Sub classes should call the parent_class event method. They should
12893         return FALSE if they had a problem handling the given event, or don't
12894         want GstBaseTransform to send that even downstream
12895         * gst/elements/gstidentity.c: (gst_identity_class_init),
12896         (gst_identity_init), (gst_identity_event),
12897         (gst_identity_transform_ip), (gst_identity_set_property),
12898         (gst_identity_get_property):
12899         * gst/elements/gstidentity.h:
12900         Added the single-segment boolean property.
12901         If set to TRUE, it will output a single segment of data, starting from
12902         0, will eat up all incoming newsegment, and modify the timestamp of the
12903         buffers accordingly
12904
12905 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
12906
12907         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
12908           Don't ref NULL target pad (#322751). Improve docs.
12909
12910 2005-11-29  Michael Smith  <msmith@fluendo.com>
12911
12912         * gst/gstregistryxml.c: (load_plugin):
12913           Don't crash if we failed to load a feature from a plugin. 
12914
12915 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
12916
12917         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
12918         (GST_START_TEST):
12919           use more check API and less GLib API
12920
12921 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
12922
12923         * Makefile.am:
12924           don't run checks if we don't have check
12925         * common/check.mak:
12926           remove the registry when running make torture
12927         * docs/gst/gstreamer-sections.txt:
12928           remove second multiply
12929         * gst/gstqueue.c: (gst_queue_loop):
12930           fix a compile warning when disabling debug
12931
12932 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
12933
12934         * gst/gstinfo.h:
12935         Hey! Let's print the pad name if the pointer != NULL instead
12936         of when it == NULL :-)
12937
12938 2005-11-28  Wim Taymans  <wim@fluendo.com>
12939
12940         * check/gst/gstutils.c: (GST_START_TEST):
12941         Updated check, add some scaling accuracy checking code.
12942
12943         * gst/gstutils.c: (gst_util_div128_64),
12944         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
12945         (gst_util_uint64_scale_int):
12946         Fix 6 times faster division code. Optimize for common 
12947         1/1 and less common X/1 cases.
12948
12949 2005-11-28  Wim Taymans  <wim@fluendo.com>
12950
12951         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
12952         More checks.
12953
12954         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
12955         (do_linear_regression), (gst_clock_add_observation):
12956         Cleanups.
12957         Release lock when the clock cannot be slaved.
12958         Catch the case where the regression returned an invalid denominator.
12959
12960         * gst/gstutils.c: (gst_util_div128_64_iterate),
12961         (gst_util_div128_64), (gst_util_uint64_scale_int64),
12962         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
12963         Add protentially more performant non-iterative 128/64 divide function
12964         that unfortunatly does not work yet.
12965         Shortcut the trivial 0/X = 0 case.
12966         Remove the warnings on overflow.
12967
12968 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
12969
12970         * gst/gstplugin.c: (gst_plugin_register_func):
12971           everything causing a plugin not to load should be at least a WARNING
12972
12973 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
12974
12975         * docs/random/ensonic/dparams.txt:
12976           some TODOs for the next dev cycle
12977         * libs/gst/controller/gstcontroller.c:
12978         (gst_controlled_property_set_interpolation_mode),
12979         (gst_controlled_property_new):
12980         * libs/gst/controller/gstcontroller.h:
12981           use base type to assign acccessor functions
12982
12983 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
12984
12985         * check/Makefile.am:
12986         Oops, that should have been top_srcdir
12987
12988 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
12989
12990         * check/Makefile.am:
12991         * check/elements/fdsrc.c: (GST_START_TEST):
12992         Use a cmdline define to specify the location of a file to use for
12993         testing, to avoid breaking distcheck.
12994
12995 2005-11-28  Andy Wingo  <wingo@pobox.com>
12996
12997         * gst/gstpad.c (fixate_value): Use array functions for arrays.
12998
12999 2005-11-28  Edward Hervey  <edward@fluendo.com>
13000
13001         * tools/gst-launch.c: (main):
13002         Clarify the output strings, makes it easier to translate.
13003         Fixes #322626
13004
13005 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
13006
13007         * gst/Makefile.am:
13008           don't try and build net if we don't even have <sys/socket.h>
13009
13010 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
13011
13012         * check/Makefile.am:
13013         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
13014         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
13015           Add tests for fdsrc seekability
13016
13017         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
13018         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
13019         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
13020         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
13021         * gst/elements/gstfdsrc.h:
13022           fdsrc should not be a 'live' source.
13023           Implement seeking on seekable fd's.
13024
13025         * gst/gstquery.c: (gst_query_new_seeking),
13026         (gst_query_parse_seeking):
13027         * gst/gstquery.h:
13028           Implement SEEKING query functions: 
13029             *_new_seeking and *_parse_seeking
13030
13031 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
13032
13033         * gst/gstelement.c: (gst_element_dispose):
13034           don't loop forever
13035
13036         * gst/gstiterator.c:
13037         * gst/gststructure.c:
13038           doc fixes
13039
13040         * libs/gst/controller/gstcontroller.c:
13041         (gst_controlled_property_set_interpolation_mode):
13042         * libs/gst/controller/gstcontroller.h:
13043         * libs/gst/controller/gstinterpolation.c:
13044         (interpolate_none_get_enum_value_array):
13045           support controlling enums
13046
13047 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
13048
13049         * gst/gstvalue.c:
13050           Improve documentation for gst_value_union().
13051
13052         * gst/gstvalue.h:
13053           Change return value for union, intersect and subtract functions
13054           from gint to gboolean.
13055
13056 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
13057
13058         * gst/gstvalue.c: (gst_value_serialize_any_list),
13059         (gst_value_transform_any_list_string),
13060         (gst_value_deserialize_list), (gst_value_deserialize_array),
13061         (gst_value_set_int_range), (gst_value_deserialize_int_range),
13062         (gst_value_set_double_range), (gst_value_deserialize_double_range),
13063         (gst_value_set_fraction_range_full),
13064         (gst_value_deserialize_fraction_range),
13065         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
13066         (gst_value_deserialize_boolean),
13067         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
13068         (gst_value_serialize_float), (gst_value_deserialize_float),
13069         (gst_string_wrap), (gst_value_deserialize_string),
13070         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
13071         (gst_value_union_int_range_int_range),
13072         (gst_value_intersect_int_range_int_range),
13073         (gst_value_intersect_double_range_double_range),
13074         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
13075         (gst_value_subtract_int_range_int_range),
13076         (gst_value_subtract_double_double_range),
13077         (gst_value_subtract_double_range_double_range),
13078         (gst_value_deserialize_fraction):
13079         * gst/gstvalue.h:
13080           Use gint, gdouble and gchar in our API instead of int, double and
13081           char (and make usage in gstvalue.c more consistent).
13082
13083 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
13084
13085         * check/Makefile.am:
13086         * libs/gst/controller/Makefile.am:
13087         * libs/gst/dataprotocol/Makefile.am:
13088           fix up Makefile.am and remove GST_ENABLE_NEW
13089
13090 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
13091
13092         * configure.ac:
13093         * gst/Makefile.am:
13094         * gst/base/Makefile.am:
13095         * gst/check/Makefile.am:
13096         * gst/elements/Makefile.am:
13097         * gst/net/Makefile.am:
13098           update LDFLAGS use some more
13099
13100 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
13101
13102         * common/m4/gst-doc.m4:
13103           Fixes #312589
13104
13105 2005-11-26  Edward Hervey  <edward@fluendo.com>
13106
13107         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
13108         This shouldn't issue a g_warning since it returns NULL if it
13109         couldn't find the plugin, and all functions using this behave
13110         properly on a NULL return. Switching to a GST_WARNING.
13111
13112 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
13113
13114         * gst/gstbin.c: (gst_bin_handle_message_func):
13115         Don't leak clock messages.
13116
13117 2005-11-25  Wim Taymans  <wim@fluendo.com>
13118
13119         * gst/gstutils.c: (gst_util_uint64_scale_int64),
13120         (gst_util_uint64_scale_int):
13121         Optimisations, remove unneeded vars.
13122
13123 2005-11-25  Wim Taymans  <wim@fluendo.com>
13124
13125         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
13126         Added more checks for the high precision uint64 cases.
13127
13128         * gst/gstutils.c: (gst_util_uint64_scale_int64),
13129         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
13130         Implement high precision (guint64 * guint64) / guint64.
13131
13132 2005-11-24  Wim Taymans  <wim@fluendo.com>
13133
13134         * gst/base/gstbasesrc.c: (gst_base_src_query):
13135         Fix wrong percentage query.
13136
13137         * gst/gstutils.c: (gst_util_uint64_scale),
13138         (gst_util_uint64_scale_int):
13139         Add some more common cases that can be handled 
13140         efficiently to _scale.
13141
13142 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
13143
13144         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
13145         (gst_mini_object_suite):
13146           don't use check calls from threads; check probably isn't
13147           threadsafe and using a lock to make it threadsafe would
13148           defeat the purpose of this check
13149         * gst/check/gstcheck.c:
13150         * gst/check/gstcheck.h:
13151           use GST_DEBUG some more
13152
13153 2005-11-24  Wim Taymans  <wim@fluendo.com>
13154
13155         * gst/gstutils.c: (gst_util_uint64_scale),
13156         (gst_util_uint64_scale_int):
13157         Chain trivial case to _scale_int.
13158
13159 2005-11-24  Wim Taymans  <wim@fluendo.com>
13160
13161         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
13162         Added test for scaling.
13163
13164         * gst/gstclock.h:
13165         Small doc fix.
13166
13167         * gst/gstutils.c: (gst_util_uint64_scale_int):
13168         Implemented high precision scaling code.
13169
13170 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
13171
13172         * gst/gstinfo.h:
13173           do not crash on pad==NULL
13174
13175 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
13176
13177         Patch by: Stefan Kost
13178
13179         * common/gtk-doc.mak:
13180         * docs/gst/Makefile.am:
13181         * docs/libs/Makefile.am:
13182           Fix distcheck issues for the libraries docs build
13183           Closes #319599.
13184
13185 2005-11-24  Michael Smith <msmith@fluendo.com>
13186
13187         * docs/manual/basics-helloworld.xml:
13188           Fix bug #315027: memory leak in example code in docs.
13189
13190 2005-11-24  Michael Smith <msmith@fluendo.com>
13191
13192         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
13193           Unlock the PREROLL_LOCK in a failure case.
13194
13195 2005-11-24  Wim Taymans  <wim@fluendo.com>
13196
13197         * docs/gst/gstreamer-sections.txt:
13198         * gst/base/gstadapter.h:
13199         * gst/base/gstbasesink.h:
13200         * gst/base/gstbasesrc.h:
13201         * gst/base/gstbasetransform.h:
13202         * gst/base/gstpushsrc.h:
13203         * gst/elements/gstfakesink.h:
13204         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
13205         * gst/elements/gstfakesrc.h:
13206         * gst/elements/gstfilesink.h:
13207         * gst/elements/gstfilesrc.h:
13208         * gst/gst.c:
13209         * gst/gstbin.c:
13210         * gst/gstbuffer.c: (_gst_buffer_copy):
13211         * gst/gstbus.h:
13212         * gst/gstcaps.c:
13213         * gst/gstchildproxy.c:
13214         * gst/gstclock.c:
13215         * gst/gstelement.c:
13216         * gst/gstelementfactory.c:
13217         * gst/gstelementfactory.h:
13218         * gst/gstevent.c:
13219         * gst/gstghostpad.h:
13220         * gst/gstindex.h:
13221         * gst/gstinterface.h:
13222         * gst/gstminiobject.c:
13223         * gst/gstminiobject.h:
13224         * gst/gstpad.c:
13225         * gst/gstpad.h:
13226         * gst/gstpadtemplate.h:
13227         * gst/gstpipeline.h:
13228         * gst/gstpluginfeature.h:
13229         * gst/gstquery.h:
13230         * gst/gstqueue.h:
13231         * gst/gsttaglist.c:
13232         * gst/gsttaglist.h:
13233         * gst/gsttagsetter.c:
13234         * gst/gsttagsetter.h:
13235         * gst/gsttrace.c:
13236         * gst/gsttrace.h:
13237         * gst/gsttypefind.h:
13238         * gst/gsturi.h:
13239         * gst/gstvalue.c:
13240         * gst/net/gstnetclientclock.c:
13241         * gst/net/gstnetclientclock.h:
13242         * gst/net/gstnettimepacket.c:
13243         * gst/net/gstnettimeprovider.c:
13244         * gst/net/gstnettimeprovider.h:
13245         Doc fixes.
13246
13247 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
13248
13249         * configure.ac: back to HEAD
13250
13251 === release 0.9.6 ===
13252
13253 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
13254
13255         * configure.ac:
13256           releasing 0.9.6, "Always On Time"
13257
13258 2005-11-23  Wim Taymans  <wim@fluendo.com>
13259
13260         * docs/gst/gstreamer-sections.txt:
13261         * gst/glib-compat.c:
13262         * gst/gsttagsetter.c:
13263         * gst/gstvalue.c:
13264         * gst/net/gstnetclientclock.c:
13265         * gst/net/gstnettimepacket.h:
13266         Doc updates.
13267
13268 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
13269
13270         * docs/faq/using.xml:
13271         * docs/libs/tmpl/gstcontrol.sgml:
13272         * docs/manual/advanced-dparams.xml:
13273         * docs/manual/appendix-checklist.xml:
13274         * docs/manual/basics-elements.xml:
13275         * docs/pwg/other-source.xml:
13276         * docs/random/moving-plugins:
13277         * gst/gstpad.c:
13278         * tools/gst-launch.1.in:
13279           remove mentions of sinesrc
13280
13281 2005-11-23  Michael Smith <msmith@fluendo.com>
13282
13283         * docs/gst/gstreamer-sections.txt:
13284           Update for new API and API changes.
13285         * gst/gstobject.h:
13286           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
13287         * gst/gstvalue.c:
13288           Documentation typo fix.
13289         * gst/net/gstnettimepacket.c:
13290           Documentation fixes for arguments.
13291
13292 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
13293
13294         * gst/gststructure.c: (gst_structure_get_fraction),
13295         (gst_structure_parse_value),
13296         (gst_structure_fixate_field_nearest_fraction):
13297         * gst/gststructure.h:
13298         * gst/gstutils.c: (gst_util_uint64_scale_int):
13299         * gst/gstutils.h:
13300         * scripts/update-funcnames:
13301         API Changes. 
13302         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
13303         Make gst_structure_fixate_field_nearest_fraction take a numerator
13304         and denominator argument instead of a GValue
13305         add gst_structure_get_fraction helper function.
13306
13307 2005-11-23  Wim Taymans  <wim@fluendo.com>
13308
13309         * docs/design/part-TODO.txt:
13310         Update TODO.
13311
13312         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
13313         * gst/net/gstnetclientclock.h:
13314         Use parent fields for timeout and window_size.
13315
13316 2005-11-23  Andy Wingo  <wingo@pobox.com>
13317
13318         * check/net/gstnetclientclock.c (test_functioning): Adjust to
13319         rate_num/rate_denom change.
13320
13321         * gst/net/gstnetclientclock.c
13322         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
13323         OBJECT_LOCK. Don't call add_observation with the lock.
13324
13325         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
13326         fraction.
13327         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
13328         rate fraction.
13329         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
13330         deal with rate as a fraction whose numerator and denominator are
13331         GstClockTime values.
13332         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
13333         master; the other fields are protected by the SLAVE_LOCK.
13334         (do_linear_regression): Note that this must be called with the
13335         SLAVE_LOCK.
13336         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
13337         OBJECT_LOCK. Call set_calibration instead of touching the
13338         variables directly.
13339         (gst_clock_set_property, gst_clock_get_property): Protect
13340         master/slave parameters with the SLAVE_LOCK.
13341
13342         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
13343         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
13344         note that all of the instance variables that add_observation and
13345         the set_master functions use are protected by that lock and not
13346         the OBJECT_LOCK.
13347         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
13348
13349         * gst/gstclock.c (gst_clock_add_observation): No longer requires
13350         the caller to take the object lock.
13351
13352 2005-11-23  Wim Taymans  <wim@fluendo.com>
13353
13354         * gst/gsterror.c: (_gst_core_errors_init):
13355         * gst/gsterror.h:
13356         Add error for clock stuff.
13357
13358         * gst/gstpipeline.c: (gst_pipeline_change_state),
13359         (gst_pipeline_set_clock):
13360         Post clock error when clock cannot be used in a pipeline.
13361
13362 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
13363
13364         * docs/gst/gstreamer-sections.txt:
13365           make two symbols from gstinfo private for the docs
13366         * gst/base/gstcollectpads.h:
13367         * gst/gstutils.c:
13368           fix doc typos, update docs
13369
13370 2005-11-22  Wim Taymans  <wim@fluendo.com>
13371
13372         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
13373         (gst_base_sink_wait), (gst_base_sink_do_sync),
13374         (gst_base_sink_handle_event):
13375         * gst/base/gstbasesink.h:
13376         No need to store the clock, the parent element class already
13377         has it.
13378
13379         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
13380         Updates for clock_set returning a gboolean
13381
13382         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
13383         (gst_clock_id_wait_async), (gst_clock_class_init),
13384         (gst_clock_init), (gst_clock_finalize),
13385         (gst_clock_get_internal_time), (gst_clock_get_time),
13386         (gst_clock_slave_callback), (gst_clock_set_master),
13387         (gst_clock_get_master), (do_linear_regression),
13388         (gst_clock_add_observation), (gst_clock_set_property),
13389         (gst_clock_get_property):
13390         * gst/gstclock.h:
13391         Implement master/slave. When setting a clock as a slave, a
13392         periodic timeout is scheduled to sample master and slave times.
13393         Then the slave clock is recalibrated to match offset and rate
13394         of the master clock.
13395         Update logging a bit.
13396         Add flag so that a clock can state that is cannot be slaved to
13397         another clock.
13398
13399         * gst/gstelement.c: (gst_element_set_clock):
13400         * gst/gstelement.h:
13401         The set clock returns a gboolean for when an element cannot
13402         deal with the selected clock in the pipeline. 
13403
13404         * gst/gstpipeline.c: (gst_pipeline_change_state),
13405         (gst_pipeline_set_clock):
13406         * gst/gstpipeline.h:
13407         Handle the case where the selected clock cannot be set on
13408         the pipeline.
13409
13410         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
13411         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
13412         (gst_net_client_clock_set_property),
13413         (gst_net_client_clock_get_property),
13414         (gst_net_client_clock_observe_times):
13415         * gst/net/gstnetclientclock.h:
13416         Use regression code in GstClock parent, remove duplicated
13417         functionality.
13418
13419 2005-11-22  Michael Smith <msmith@fluendo.com>
13420
13421         * gst/gstutils.c: (gst_util_clock_time_scale):
13422         * gst/gstutils.h:
13423         * docs/gst/gstreamer-sections.txt:
13424           Rename method to have extra underscore.
13425
13426 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
13427
13428         * gst/elements/Makefile.am:
13429         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
13430         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
13431         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
13432         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
13433         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
13434         * gst/elements/gstfakesrc.h:
13435         * gst/gstqueue.c: (queue_leaky_get_type):
13436           correctly fix GEnumValues so that nick is the short lowercase
13437           dashed tag
13438         * tools/gst-inspect.c: (print_element_properties_info):
13439           also show the nick, since it's useful to use from parse_launch
13440           syntax
13441           Fixes #322139
13442
13443 2005-11-22  Michael Smith <msmith@fluendo.com>
13444
13445         * gst/gstutils.c: (gst_util_clocktime_scale):
13446         * gst/gstutils.h:
13447         * docs/gst/gstreamer-sections.txt:
13448           Add util method for scaling a clocktime by a fraction. Useful 
13449           implementation is left as an exercise for the reader.
13450
13451 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
13452
13453         * gst/gstvalue.c: (gst_value_collect_fraction_range):
13454         If needed, allocate storage in the destination value during
13455         collection.
13456
13457 2005-11-22  Edward Hervey  <edward@fluendo.com>
13458
13459         * docs/gst/gstreamer-sections.txt:
13460         * gst/Makefile.am:
13461         * gst/gst.h:
13462         * gst/gsturitype.c:
13463         * gst/gsturitype.h:
13464         * gst/gstutils.c: (gst_util_set_object_arg):
13465         * tools/gst-compprep.c: (main):
13466         * tools/gst-inspect.c: (print_element_properties_info):
13467         Removed GstURI, closes bug #321061
13468
13469 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
13470
13471         * check/gst/gststructure.c: (GST_START_TEST):
13472         * gst/gststructure.c: (gst_structure_parse_value):
13473           Oops, broke automatic string type parsing.
13474           Add a test to catch it in future.
13475
13476 2005-11-22  Andy Wingo  <wingo@pobox.com>
13477
13478         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
13479         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
13480         Actually rename the function implementations. Grr.
13481
13482 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
13483
13484         * check/gst/capslist.h:
13485           Comment test cases
13486         * check/gst/gststructure.c: (GST_START_TEST),
13487         (gst_structure_suite):
13488           Test automatic value type detection in gst_structure_from_string.
13489         * gst/gststructure.c: (gst_structure_parse_value):
13490           Add fraction as a type we try and guess automatically in
13491           caps/structure strings.
13492
13493 2005-11-22  Andy Wingo  <wingo@pobox.com>
13494
13495         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
13496
13497         * gst/gsttagsetter.h:
13498         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
13499         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
13500         (gst_tag_setter_add_tag_valist)
13501         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
13502         _add_values, _add_valist, and _add_valist_values. Since this is an
13503         interface the function suffixes should be more explicit so
13504         language binding don't end up with element.add_valist ->
13505         gst_tag_setter_add_valist, for example. Fixes #322069.
13506
13507 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
13508
13509         * check/gst/gstcaps.c: (GST_START_TEST):
13510           Extend caps string tests to check that a caps to string
13511           conversion is reversible and produces the same caps.
13512
13513         * gst/gststructure.c: (gst_structure_value_get_generic_type):
13514           Output "fraction" as the generic type fraction range, so caps
13515           serialisation and deserialisation works.
13516         * check/gst/capslist.h:
13517         * gst/gstvalue.c: (gst_value_deserialize_fraction):
13518           Support 'MIN' and 'MAX' for deserialising fractions.
13519
13520 2005-11-22  Andy Wingo  <wingo@pobox.com>
13521
13522         * gst/gstevent.h (gst_event_new_new_segment)
13523         (gst_event_parse_new_segment, gst_event_new_buffer_size)
13524         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
13525         Renamed from *_newsegment, *_buffersize, *_notarget.
13526
13527         * scripts/update-funcnames: New script, performs the changes
13528         listed above.
13529
13530 2005-11-22  Wim Taymans  <wim@fluendo.com>
13531
13532         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
13533         Make sure the GstFlowReturn is returned.
13534
13535         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
13536         (gst_bus_add_signal_watch):
13537         * gst/gstbus.h:
13538         add gst_bus_add_signal_watch_full.
13539
13540         * gst/gstplugin.c: (gst_plugin_load_file):
13541         Small style cleanup.
13542
13543 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
13544
13545         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
13546           Block the fakesrc srcpad when we send an event, to avoid
13547           contention on the stream_lock causing random test failures.
13548
13549 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
13550
13551         * check/gst/gstvalue.c: (GST_START_TEST):
13552         * gst/gstvalue.c: (gst_value_fraction_subtract):
13553           Fix subtraction.
13554
13555 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
13556
13557         * gst/gst.h:
13558           include "gstchildproxy.h"
13559         * gst/gstchildproxy.h:
13560         * libs/gst/controller/gstcontroller.h:
13561           use G_GNUC_NULL_TERMINATED
13562
13563 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
13564
13565         * check/gst/capslist.h:
13566         * check/gst/gstcaps.c: (GST_START_TEST):
13567         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
13568         * gst/gststructure.c: (gst_structure_parse_range),
13569         (gst_structure_fixate_field_nearest_fraction):
13570         * gst/gststructure.h:
13571         * gst/gstvalue.c: (gst_value_init_fraction_range),
13572         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
13573         (gst_value_collect_fraction_range),
13574         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
13575         (gst_value_set_fraction_range_full),
13576         (gst_value_get_fraction_range_min),
13577         (gst_value_get_fraction_range_max),
13578         (gst_value_serialize_fraction_range),
13579         (gst_value_transform_fraction_range_string),
13580         (gst_value_compare_fraction_range),
13581         (gst_value_deserialize_fraction_range),
13582         (gst_value_intersect_fraction_fraction_range),
13583         (gst_value_intersect_fraction_range_fraction_range),
13584         (gst_value_subtract_fraction_fraction_range),
13585         (gst_value_subtract_fraction_range_fraction),
13586         (gst_value_subtract_fraction_range_fraction_range),
13587         (gst_value_collect_fraction), (gst_value_fraction_multiply),
13588         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
13589         (gst_value_transform_string_fraction), (_gst_value_initialize):
13590         * gst/gstvalue.h:
13591           Implement fraction ranges and extend GstFraction to support
13592           arithmetic subtraction, as well as deserialization from integer
13593           strings such as "100"
13594           Add a testsuite as for int and double range set operations
13595
13596 2005-11-21  Andy Wingo  <wingo@pobox.com>
13597
13598         * gst/gsttaglist.h: 
13599         * gst/gstcaps.h: 
13600         * gst/gststructure.h: Add glib-compat.h.
13601
13602 2005-11-21  Wim Taymans  <wim@fluendo.com>
13603
13604         * gst/gstbin.c: (gst_bin_change_state_func):
13605         Fix for #321595
13606
13607 2005-11-21  Wim Taymans  <wim@fluendo.com>
13608
13609         * gst/gstsegment.h:
13610         And add a nice define too.
13611
13612 2005-11-21  Wim Taymans  <wim@fluendo.com>
13613
13614         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
13615         (gst_segment_new), (gst_segment_free), (gst_segment_init),
13616         (gst_segment_set_duration), (gst_segment_set_last_stop),
13617         (gst_segment_set_seek), (gst_segment_set_newsegment),
13618         (gst_segment_to_stream_time), (gst_segment_to_running_time),
13619         (gst_segment_clip):
13620         * gst/gstsegment.h:
13621         Make binding friendly.
13622
13623 2005-11-21  Andy Wingo  <wingo@pobox.com>
13624
13625         * gst/gsttagsetter.h: 
13626         * gst/gsttaglist.h: 
13627         * gst/gststructure.h: 
13628         * gst/gstcaps.h: 
13629         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
13630         #319940.
13631
13632         * gst/gsterror.c (_gst_core_errors_init):
13633         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
13634         category.
13635
13636         * gst/Makefile.am (gst_headers): Add glib-compat.h.
13637         (noinst_HEADERS): noinst the -private.
13638
13639 2005-11-21  Michael Smith <msmith@fluendo.com>
13640
13641         * gst/gstplugin.h:
13642         * gst/gstregistry.h:
13643           Remove unimplemented declarations for which we can see no sensible
13644           use.
13645
13646 2005-11-21  Andy Wingo  <wingo@pobox.com>
13647
13648         * gst/gst.h: Include glib-compat.h.
13649
13650         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
13651
13652         * gst/glib-compat.c: Include the public and the private header.
13653
13654         * gst/glib-compat-private.h: Copied here from glib-compat.h.
13655
13656         * gst/gstvalue.c: 
13657         * gst/gstpad.c: 
13658         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
13659
13660         * check/gst/gstevent.c (create_custom_events): Check that
13661         FLUSH_STOP is serialized.
13662
13663         * check/elements/identity.c (event_func): 
13664         * check/elements/fakesrc.c (event_func): No stream lock, the core
13665         takes it.
13666
13667         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
13668         stream lock taking, yay.
13669
13670         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
13671         ensure that core takes the stream lock.
13672
13673         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
13674         lock name change.
13675
13676         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
13677         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
13678         it already. For the flush start we do take it though so we get the
13679         right preroll state change messages.
13680
13681         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
13682         the stream lock here, the core does it for us.
13683
13684         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
13685         GST_STREAM_GET_LOCK.
13686         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
13687         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
13688         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
13689         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
13690         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
13691         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
13692
13693         * gst/gstpad.c: Update for stream lock name change.
13694
13695         * gst/base/gstbasesink.c: Update for preroll lock name change.
13696
13697 2005-11-21  Wim Taymans  <wim@fluendo.com>
13698
13699         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
13700         (gst_clock_get_master):
13701         * gst/gstclock.h:
13702         * gst/gstsystemclock.c: (gst_system_clock_init):
13703         Convert Clock flags to object flags.
13704         Added methods to manage master/slave clocks.
13705
13706 2005-11-21  Wim Taymans  <wim@fluendo.com>
13707
13708         * check/gst/gstsegment.c: (GST_START_TEST):
13709         * docs/design/part-TODO.txt:
13710         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13711         (gst_base_sink_event), (gst_base_sink_do_sync),
13712         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
13713         (gst_base_sink_query), (gst_base_sink_change_state):
13714         * gst/base/gstbasesink.h:
13715         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
13716         (gst_base_src_default_newsegment),
13717         (gst_base_src_configure_segment), (gst_base_src_do_seek),
13718         (gst_base_src_get_range), (gst_base_src_loop),
13719         (gst_base_src_change_state):
13720         * gst/base/gstbasesrc.h:
13721         * gst/base/gstbasetransform.c:
13722         (gst_base_transform_prepare_output_buf),
13723         (gst_base_transform_event), (gst_base_transform_change_state):
13724         * gst/base/gstbasetransform.h:
13725         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
13726         (gst_collect_pads_event):
13727         * gst/base/gstcollectpads.h:
13728         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
13729         (gst_fake_src_create):
13730         * gst/elements/gstfakesrc.h:
13731         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
13732         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
13733         (gst_segment_set_last_stop), (gst_segment_set_seek),
13734         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
13735         (gst_segment_to_running_time), (gst_segment_clip):
13736         * gst/gstsegment.h:
13737         More segment updates, replace code in plugins with segment
13738         helper functions.
13739
13740 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
13741
13742         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
13743         Don't ignore sscanf results
13744
13745 2005-11-21  Andy Wingo  <wingo@pobox.com>
13746
13747         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
13748
13749         * *.h:
13750         * *.c: Ran scripts/update-macros. Oh yes.
13751
13752         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
13753         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
13754         GST_GET_LOCK, etc.
13755
13756         * scripts/update-macros: New script. Run it on your files to
13757         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
13758         well.
13759
13760 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
13761
13762         * docs/gst/Makefile.am:
13763         * docs/gst/gstreamer-docs.sgml:
13764         * docs/gst/gstreamer-sections.txt:
13765         * docs/gst/gstreamer.types:
13766         * gst/gstinfo.h:
13767           more docs fixes, add new api to the docs
13768
13769 2005-11-21  Andy Wingo  <wingo@pobox.com>
13770
13771         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
13772         state_broadcast call.
13773
13774         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
13775
13776 2005-11-21  Julien MOUTTE  <julien@moutte.net>
13777
13778         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
13779         function calls for arrays.
13780
13781 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
13782
13783         * docs/random/ensonic/media-device-daemon.txt:
13784           wild idea, can this be done?
13785         * docs/gst/gstreamer-sections.txt:
13786         * gst/gsterror.h:
13787         * gst/gstfilter.c:
13788         * gst/gstfilter.h:
13789         * gst/gstplugin.h:
13790         * gst/gstpluginfeature.c:
13791         * gst/gsttrace.c:
13792         * gst/gstvalue.c:
13793         * gst/gstvalue.h:
13794           doc fixes and additions
13795
13796 2005-11-21  Andy Wingo  <wingo@pobox.com>
13797
13798         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
13799         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
13800         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
13801         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
13802         private to the basesrc implementation.
13803
13804         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
13805         behalf of event function if necessary. It should no longer be
13806         necessary to take the stream lock in pad's event functions. Fixes
13807         #320299.
13808
13809 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
13810         * docs/gst/gstreamer-sections.txt:
13811         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
13812         (gst_structure_fixate_field_nearest_double),
13813         (gst_structure_fixate_field_boolean):
13814         * gst/gststructure.h:
13815         * win32/common/libgstreamer.def:
13816         * win32/gstreamer.def:
13817
13818         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
13819         (#322027)
13820
13821 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
13822
13823         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
13824         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
13825         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
13826         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
13827         (gst_fdsrc_uri_handler_init):
13828         * gst/elements/gstfdsrc.h:
13829           Port fd:// URI handler from 0.8 to fdsrc
13830
13831 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
13832
13833         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
13834         (gst_value_serialize_fourcc):
13835         * gst/gstvalue.h:
13836           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
13837           consistent with our other format defines (#320324).
13838
13839 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
13840
13841         * gst/gstvalue.c: (gst_value_is_fixed):
13842           Revert previous commit. Value lists are by definition
13843           not fixed, as they are a list of possible values.
13844
13845 2005-11-21  Andy Wingo  <wingo@pobox.com>
13846
13847         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
13848         during the stable series if we need it. Fixes #319178.
13849
13850         * gst/gstevent.c (gst_event_new_filler): Removed.
13851
13852         * check/gst/gstevent.c: Update comment about filler events.
13853
13854 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
13855
13856         * gst/gstvalue.c: (gst_value_is_fixed):
13857           Should handle both value arrays and value lists.
13858
13859 2005-11-21  Andy Wingo  <wingo@pobox.com>
13860
13861         patch by: Alessandro Dessina <alessandro nnva org>
13862
13863         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
13864         functions to access arrays. Fixes #321962.
13865
13866 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
13867
13868         * docs/gst/gstreamer.types:
13869           gst_collectpads_get_type => gst_collect_pads_get_type.
13870           
13871         * gst/base/gstbasetransform.c:
13872           Remove unused SIGNAL_HANDOFF enum.
13873
13874 2005-11-21  Andy Wingo  <wingo@pobox.com>
13875
13876         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
13877         the event type (upstream, downstream, serialized). Renamed
13878         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
13879         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
13880         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
13881
13882         * gst/gstevent.c: Update for new CUSTOM event names.
13883
13884         * check/gst/gstevent.c: Update check for new CUSTOM event names.
13885
13886         * gst/gstevent.h:
13887         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
13888         bug #319392.
13889
13890 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
13891
13892         * docs/gst/gstreamer-sections.txt:
13893         * win32/common/libgstbase.def:
13894         * win32/libgstbase.def:
13895         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
13896         (gst_collect_pads_class_init), (gst_collect_pads_init),
13897         (gst_collect_pads_finalize), (gst_collect_pads_new),
13898         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
13899         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
13900         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
13901         (gst_collect_pads_start), (gst_collect_pads_stop),
13902         (gst_collect_pads_peek), (gst_collect_pads_pop),
13903         (gst_collect_pads_available), (gst_collect_pads_read),
13904         (gst_collect_pads_flush), (gst_collect_pads_event),
13905         (gst_collect_pads_chain):
13906         * gst/base/gstcollectpads.h:
13907           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
13908           unimplemented functions as unimplemented. Add padding to
13909           GstCollectData. (#320766, #320423)
13910
13911 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
13912
13913         * gst/gstmessage.c:
13914           Improve docs for DURATION message (usage of duration parameter)
13915           (#320113)
13916
13917 2005-11-20  Wim Taymans  <wim@fluendo.com>
13918
13919         * check/Makefile.am:
13920         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
13921         (main):
13922         * gst/Makefile.am:
13923         * gst/gst.h:
13924         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
13925         (gst_segment_set_seek), (gst_segment_set_newsegment),
13926         (gst_segment_to_stream_time), (gst_segment_to_running_time),
13927         (gst_segment_clip):
13928         * gst/gstsegment.h:
13929         Added segment helper structure and methods. Not fully implemented
13930         yet.
13931         Added segment check.
13932
13933 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
13934
13935         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
13936           Add a deserialisation test for fractions
13937         * examples/metadata/read-metadata.c: (message_loop),
13938         (make_pipeline), (main):
13939           Fix up metadata reading sample.
13940         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
13941           Debug format fix
13942         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
13943           Don't try and fixate empty caps
13944         * gst/gst_private.h:
13945           Wrap in G_BEGIN_DECLS/G_END_DECLS
13946         * gst/gstvalue.c: (gst_value_collect_fraction),
13947         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
13948         (gst_value_transform_string_fraction),
13949         (gst_value_compare_fraction):
13950           Add some extra guards to ensure that we don't end up 
13951           with an invalid denominator of 0 in a gstfraction and
13952           that fractions always get reduced.
13953
13954 2005-11-20  Wim Taymans  <wim@fluendo.com>
13955
13956         * docs/gst/gstreamer-sections.txt:
13957         * gst/gstbuffer.h:
13958         * gst/gstelement.c:
13959         * gst/gstformat.c:
13960         * gst/gstformat.h:
13961         * gst/gstindex.h:
13962         * gst/gstquery.c:
13963         * gst/gstquery.h:
13964         * gst/gstvalue.c:
13965         Doc fixes.
13966
13967 2005-11-20  Wim Taymans  <wim@fluendo.com>
13968
13969         * docs/design/part-TODO.txt:
13970         * gst/gstcaps.h:
13971         Make a proper enum of the flag.
13972
13973 2005-11-19  Wim Taymans  <wim@fluendo.com>
13974
13975         * docs/design/part-TODO.txt:
13976         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
13977         (gst_format_to_quark), (gst_format_register):
13978         * gst/gstformat.h:
13979         * gst/gstquery.c: (_gst_query_initialize),
13980         (gst_query_type_get_name), (gst_query_type_to_quark),
13981         (gst_query_type_register):
13982         * gst/gstquery.h:
13983         Add type to quark and type to string conversions.
13984
13985 2005-11-19  Andy Wingo  <wingo@pobox.com>
13986
13987         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
13988         #320097.
13989
13990 2005-11-19  Wim Taymans  <wim@fluendo.com>
13991
13992         * docs/design/part-TODO.txt:
13993         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
13994         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
13995         (gst_bin_handle_message_func):
13996         * gst/gstbin.h:
13997         Make message handling overridable.
13998
13999 2005-11-19  Andy Wingo  <wingo@pobox.com>
14000
14001         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
14002
14003         * gst/gstclock.h:
14004         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
14005         be a GstClockTime.
14006         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
14007         is a GstClockTime. Fixes #321710.
14008
14009         * gst/gstclock.h (GstClock): Remove offset property. Add
14010         internal_calibration and external_calibration. Fix padding. Pad
14011         also by GstClockTime so we don't run into problems.
14012
14013         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
14014         (gst_clock_get_rate_offset): Remove.
14015         (gst_clock_set_time_adjust): Remove. Fixes #321712.
14016
14017         * gst/gstutils.h:
14018         * gst/gstutils.c (g_static_rec_cond_wait)
14019         (g_static_rec_cond_timed_wait): Removed, no longer needed.
14020
14021         * gst/gstbin.c: Remove terrible continue_state prototype.
14022
14023         * gst/gstelement.h (gst_element_continue_state): Make public.
14024
14025         * gst/gstelement.h:
14026         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
14027         by continue_state. Fixes #319389.
14028
14029         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
14030         Really fixes #168438. However I don't see anywhere where the
14031         filter function is called... stupid GStreamer...
14032         
14033         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
14034         don't have a dispose function, so it won't get called when the
14035         object is unreffed, but oh well!
14036
14037         * gst/gstindex.c (gst_index_set_filter_full): New API function,
14038         allows a destroy function to be set so user_data can be freed.
14039         Fixes #168438.
14040         (gst_index_set_filter): Call gst_index_set_filter_full.
14041
14042         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
14043
14044         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
14045         string should produce an error, given the lack of a way to
14046         represent NULL strings. Fixes #165650.
14047         
14048         * gst/gstvalue.h: 
14049         * gst/gstvalue.c (gst_value_array_append_value) 
14050         (gst_value_array_prepend_value, gst_value_array_get_size) 
14051         (gst_value_array_get_value): New API, copied from
14052         gst_value_list_*, only operates on arrays.
14053         (gst_value_list_append_value, gst_value_list_prepend_value) 
14054         (gst_value_list_concat, gst_value_list_get_size) 
14055         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
14056
14057         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
14058         init_list, because it works on both.
14059         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
14060         (gst_value_copy_list_or_array): Renamed from copy_list.
14061         (gst_value_free_list_or_array): Renamed from free_list.
14062         (gst_value_collect_list_or_array): Renamed from collect_list.
14063         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
14064         (gst_value_list_or_array_peek_pointer): Renamed from
14065         list_peek_pointer.
14066         (_gst_value_array_value_table, _gst_value_list_value_table):
14067         Update value table functions.
14068         (gst_value_compare_list_or_array): Renamed from compare_list.
14069
14070         * gsttaglist.h: Whoops, foreach function returns void. Also fix
14071         some constness.
14072
14073         * gst/gsttaglist.c:
14074         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
14075         GstTagList*. Fixes #143472.
14076
14077         * gst/gststructure.h: Clarify what the foreach/map functions can
14078         or can't do to their arguments.
14079
14080 2005-11-18  Wim Taymans  <wim@fluendo.com>
14081
14082         * gst/gstclock.c: (gst_clock_set_calibration),
14083         (gst_clock_get_calibration):
14084         Doc and API fixes.
14085         Calibration can be set with internal time equal to current
14086         internal time too.
14087
14088 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
14089
14090         * gst/gsterror.c:
14091         * gst/gsterror.h:
14092           document
14093
14094 2005-11-18  Andy Wingo  <wingo@pobox.com>
14095
14096         * configure.ac: 
14097         * pkgconfig/gstreamer-net.pc.in:
14098         * pkgconfig/gstreamer-net-uninstalled.pc.in:
14099         * pkgconfig/Makefile.am: Add net pkgconfig files.
14100
14101 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
14102
14103         * gst/gstcaps.c:
14104         * gst/gstghostpad.c:
14105         * gst/gsttrace.c:
14106         * gst/gstvalue.c:
14107         * gst/gstvalue.h:
14108           docs fixes
14109
14110 2005-11-18  Andy Wingo  <wingo@pobox.com>
14111
14112         * gst/net/gstnetclientclock.c: Turn off debugging.
14113
14114         * check/net/gstnetclientclock.c (test_functioning): Assert that the
14115         times connverge somewhat. Can't make a real test.
14116
14117         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
14118         integer arithmetic. Return the minimum of the domain, which can be
14119         set as "internal" for gst_clock_set_calibration.
14120         (gst_net_client_clock_observe_times): Call _set_calibration.
14121         (gst_net_client_clock_new): Call _set_calibration instead of
14122         rate_offset.
14123
14124         * check/net/gstnetclientclock.c (test_functioning): Use the right
14125         adjustment api.
14126
14127         * gst/gstclock.h:
14128         * gst/gstclock.c (gst_clock_get_calibration) 
14129         (gst_clock_set_calibration): New functions, obsolete the ones I
14130         added yesterday. Doh. Precision issues mean we have to extrapolate
14131         from a point in the more recent past than 1970.
14132         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
14133         obsolete.
14134         (gst_clock_adjust_unlocked): Use the right calibration data.
14135
14136 2005-11-18  Edward Hervey  <edward@fluendo.com>
14137
14138         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
14139         Also reset the ->current_* values in READY->PAUSED
14140
14141 2005-11-18  Andy Wingo  <wingo@pobox.com>
14142
14143         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
14144         Whoops, check the right fd. Also add some debugging.
14145         (gst_net_client_clock_observe_times): Adjust for int64 offset.
14146         (do_linear_regression): Add a crapload of debugging. Subtract off
14147         the minimum values from the input series to discard unneeded bits.
14148         Use only int arithmetic. There is still double arithmetic when
14149         calculating the intercept that needs fixing. Return boolean to
14150         indicate success; FALSE would mean the domain or range is too
14151         great. Still needs fixes.
14152
14153 2005-11-18  Wim Taymans  <wim@fluendo.com>
14154
14155         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
14156         For the current position in stream time, we need to subtract
14157         accumulated time.
14158         
14159         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
14160         Release lock before calling the callback function of async
14161         entries.
14162
14163 2005-11-18  Andy Wingo  <wingo@pobox.com>
14164
14165         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
14166         Port goes all the way to MAXUINT16.
14167
14168         * gst/net/gstnettimeprovider.c: Make the port range the same as
14169         for the kernel: 0 assigns, otherwise ports are less than
14170         MAXUINT16.
14171
14172         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
14173         port change.
14174
14175         * check/net/gstnetclientclock.c (test_functioning): Add the start
14176         of another test. 
14177
14178 2005-11-18  Wim Taymans  <wim@fluendo.com>
14179
14180         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
14181         (gst_bin_remove_func), (bin_bus_handler):
14182         * gst/gstbin.h:
14183         Removing a clock provider from a bin, triggers a clock lost message
14184         so that a new clock will be selected.
14185         Adding a clock to a bin triggers a clock provider message.
14186         Make sure we reselect a clock when we received a clock lost message.
14187         Keep a reference to the element that provided the clock.
14188
14189 2005-11-18  Andy Wingo  <wingo@pobox.com>
14190
14191         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
14192         the clock initially so it produces values around the base time.
14193         (gst_net_client_clock_class_init): Typo fix.
14194         (gst_net_client_clock_thread): Add note on when the socket gets
14195         closed.
14196
14197 2005-11-17  Wim Taymans  <wim@fluendo.com>
14198
14199         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
14200         Free remote and local time arrays.
14201
14202 2005-11-17  Wim Taymans  <wim@fluendo.com>
14203
14204         * gst/net/gstnetclientclock.c: (do_linear_regression),
14205         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
14206         Fix compilation, uninitialized vars and a forgotten continue.
14207
14208 2005-11-17  Andy Wingo  <wingo@pobox.com>
14209
14210         * check/Makefile.am (check_PROGRAMS): 
14211         * check/net/gstnetclientclock.c: Add a most minimal test for the
14212         net client clock. More to come later.
14213
14214         * gst/net/gstnet.h: 
14215         * gst/net/Makefile.am: Add netclientclock.
14216
14217         * gst/net/gstnetclientclock.h:
14218         * gst/net/gstnetclientclock.c: New files, implement an untested
14219         GstClock that takes its time from a network time provider.
14220         Implements the algorithm in network-clock.scm.
14221
14222         * tests/network-clock.scm (*window-size*): Rename from
14223         *queue-length*.
14224         * tests/network-clock.scm (network-time): 
14225         * tests/network-clock-utils.scm (q-push): Update callers.
14226
14227 2005-11-17  Wim Taymans  <wim@fluendo.com>
14228
14229         * gst/gstbin.c: (gst_bin_provide_clock_func),
14230         (gst_bin_sort_iterator_new):
14231         And unref the child too..
14232
14233 2005-11-17  Wim Taymans  <wim@fluendo.com>
14234
14235         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
14236         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
14237         Refactor the sort iterator so it can be used while holding the
14238         LOCK too.
14239         Make clock selection select a clock closest to the source.
14240
14241 2005-11-17  Michael Smith <msmith@fluendo.com>
14242
14243         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
14244         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
14245         * gst/gstclock.h:
14246           Anonymous structs are a gcc (and some other compilers) extension, so
14247           don't use them. Since this is only for ABI-compatibility, and our
14248           API/ABI freeze is over in a few days, this whole thing will only
14249           last a few days, so don't bother trying to think up a meaningful
14250           name for the struct.
14251
14252 2005-11-17  Andy Wingo  <wingo@pobox.com>
14253
14254         * gst/gstclock.h (GstClock): Add rate and offset properties,
14255         preserving ABI stability. Add rate/offset accessors. Will file bug
14256         for the freeze break.
14257
14258         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
14259         and offset, trying to keep precision and avoiding
14260         underflow/overflow.
14261         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
14262         functions. Make gst_clock_set_time_adjust obsolete.
14263         (gst_clock_set_time_adjust): Note that this function is obsolete.
14264         Will file bug soon.
14265
14266         * gst/base/gstbasetransform.h: Make the ABI-stability hack
14267         greppable by using GST_PADDING-1+1.
14268
14269 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
14270
14271         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
14272
14273         * gst/gstmessage.c: (gst_message_parse_clock_lost):
14274           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
14275
14276         * gst/gstpadtemplate.h:
14277         * gst/gstpluginfeature.h:
14278           Don't use c++ style comments in headers (#321638).
14279
14280 2005-11-16  Andy Wingo  <wingo@pobox.com>
14281
14282         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
14283         buffer.
14284
14285         * check/net/gstnettimeprovider.c: Check to see that the time
14286         provider actually provides times. Works, yo!
14287
14288 2005-11-16  Wim Taymans  <wim@fluendo.com>
14289
14290         * check/Makefile.am:
14291         Enable more tests.
14292
14293         * check/elements/fakesrc.c: (GST_START_TEST):
14294         Set element to NULL before disposing it.
14295
14296 2005-11-16  Andy Wingo  <wingo@pobox.com>
14297
14298         * gst/net/Makefile.am:
14299         * gst/net/gstnet.h:
14300         * gst/net/gstnettimeprovider.c: 
14301         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
14302         provider, include it from gstnet.h, and add it to the build.
14303
14304         * gst/net/gstnettimepacket.h: 
14305         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
14306         sending and receiving.
14307
14308 2005-11-16  Wim Taymans  <wim@fluendo.com>
14309
14310         * check/Makefile.am:
14311         Enable valgrind check.
14312
14313         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
14314         (gst_fake_src_alloc_buffer):
14315         Fix memleak.
14316
14317 2005-11-16  Wim Taymans  <wim@fluendo.com>
14318
14319         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
14320         Call parent finalize too.
14321
14322 2005-11-16  Wim Taymans  <wim@fluendo.com>
14323
14324         * check/Makefile.am:
14325         Enable valgrind check that should work fine now.
14326
14327         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
14328         * gst/gstqueue.c: (gst_queue_init):
14329         Fix memleaks in pad allocation.
14330
14331 2005-11-16  Andy Wingo  <wingo@pobox.com>
14332
14333         * gst/net/Makefile.am:
14334         * gst/net/gstnet.h: New part of core to hold network elements and
14335         objects. Put in core because it exposes API that applications want
14336         to use. The library is named libgstnet-tempname right now because
14337         of the existing libgstnet in gst-plugins-base. Solution is
14338         probably to rename the one in plugins-base; will file a bug for
14339         the freeze break.
14340
14341         * gst/net/gstnettimeprovider.c: 
14342         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
14343         get_time call over the network.
14344
14345         * configure.ac: 
14346         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
14347
14348         * check/Makefile.am:
14349         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
14350         get additions shortly.
14351
14352 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
14353
14354         * gst/gstpad.c: (gst_pad_new_from_static_template):
14355         * gst/gstpad.h:
14356           add gst_pad_new_from_static_template functions
14357         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
14358         (gst_check_setup_sink_pad):
14359         * gst/elements/gsttee.c: (gst_tee_init):
14360           and use them
14361
14362 2005-11-16  Wim Taymans  <wim@fluendo.com>
14363
14364         * gst/gstpad.c: (gst_pad_pause_task):
14365         Removed warning, it's not really an error either.
14366
14367 2005-11-16  Wim Taymans  <wim@fluendo.com>
14368
14369         * gst/base/gstbasetransform.c:
14370         (gst_base_transform_prepare_output_buf),
14371         (gst_base_transform_event):
14372         Check if the caps are NULL, this can happen if the element
14373         is shutting down and the pad caps are set to NULL.
14374
14375 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
14376
14377         * gst/elements/gsttee.c: (gst_tee_init):
14378           fix pad template leak in tee
14379
14380 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
14381
14382         * gst/glib-compat.c: (g_value_dup_gst_object):
14383         * gst/glib-compat.h:
14384         * gst/gstpad.c: (gst_pad_set_property):
14385           use gst_object_ref when setting the pad template; this will
14386           trigger the pad template leaks on GLib 2.6 and the slaves
14387
14388 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
14389
14390         * gst/glib-compat.c: (gst_flags_get_first_value):
14391         * gst/glib-compat.h:
14392         * gst/gstregistryxml.c:
14393           remove functions copied from GLib 2.6
14394
14395 2005-11-16  Michael Smith <msmith@fluendo.com>
14396
14397         * gst/Makefile.am:
14398           Don't link against VALGRIND_LIBS. That was always the wrong thing to
14399           do, but only breaks with newer valgrind versions. We're not a
14400           valgrind tool, we have no link-time dependencies on libcoregrind.
14401
14402 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
14403
14404         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
14405           some debug changes
14406         * gst/gstmessage.h:
14407           typo fixes
14408
14409 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
14410
14411         * gst/base/gstbasesrc.c: (gst_base_src_init):
14412         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
14413         * gst/gstqueue.c: (gst_queue_init):
14414         * gst/gstregistryxml.c: (load_feature):
14415           Revert all these unrefs, they don't even pass make check !
14416
14417 2005-11-15  Johan Dahlin  <johan@gnome.org>
14418
14419         * gst/base/gstbasesrc.c: (gst_base_src_init):
14420         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
14421         * gst/gstqueue.c: (gst_queue_init): 
14422         Free pad templates, fixes a couple of leaks.
14423
14424 2005-11-15  Daniel Fischer  <dan at f3c dot com>
14425
14426         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
14427
14428         * gst/gstpad.c: (gst_pad_get_property):
14429           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
14430           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
14431           (#321452)
14432
14433 2005-11-15  Wim Taymans  <wim@fluendo.com>
14434
14435         * gst/gstevent.c:
14436         Small doc update.
14437
14438 2005-11-15  Andy Wingo  <wingo@pobox.com>
14439
14440         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
14441
14442         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
14443         using GST_CLOCK_TIME_NONE to disable base time management.
14444         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
14445         time if it was NONE before.
14446         (gst_pipeline_change_state): Only munge the base time if
14447         stream_time != GST_CLOCK_TIME_NONE.
14448
14449         * check/gst/gstpipeline.c (test_base_time): Punt around the
14450         problem of the probe not being called, because that's not the
14451         issue I'm looking at. Add a check that setting stream_time to NONE
14452         disables base time management.
14453         
14454 2005-11-15  Wim Taymans  <wim@fluendo.com>
14455
14456         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
14457         segment_stop == -1 at startup.
14458
14459         * gst/base/gstbasetransform.c: (gst_base_transform_event),
14460         (gst_base_transform_change_state):
14461         Init segment values at start.
14462
14463 2005-11-15  Wim Taymans  <wim@fluendo.com>
14464
14465         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
14466         0 segment values are 0 in any format.
14467
14468         * gst/base/gstbasetransform.c: (gst_base_transform_event):
14469         * gst/base/gstbasetransform.h:
14470         Parse newsegment correctly in basetransform
14471
14472         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
14473         Sync to clock using updated segment values.
14474
14475 2005-11-15  Andy Wingo  <wingo@pobox.com>
14476
14477         * check/gst/gstpipeline.c (test_base_time): Add check that the
14478         base time and stream time are reset correctly.
14479
14480 2005-11-15  Wim Taymans  <wim@fluendo.com>
14481
14482         * docs/design/part-TODO.txt:
14483         Some more TODO items.
14484
14485 2005-11-15  Andy Wingo  <wingo@pobox.com>
14486
14487         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
14488         error if the user selected "no clock" as the clocking method.
14489
14490         * check/gst/gstpipeline.c (test_base_time): New test for buffer
14491         timestamps with live capture.
14492
14493         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
14494         is 0 but we are a live source, timestamp the buffers using the
14495         element's clock.
14496
14497 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
14498
14499         * docs/gst/gstreamer-sections.txt:
14500         * gst/gsterror.c:
14501         * gst/gstghostpad.c:
14502         * gst/gstobject.h:
14503         * gst/gstxml.c:
14504           more section docs
14505
14506 2005-11-14  Wim Taymans  <wim@fluendo.com>
14507
14508         * common/gst.supp:
14509           add suppressions from Wim's Debian machine
14510
14511 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
14512
14513         * common/gst.supp:
14514           add suppressions from Andy's AMD64 Ubuntu machine
14515
14516 2005-11-14  Andy Wingo  <wingo@pobox.com>
14517
14518         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
14519         STATE_LOCK not necessary. Fixes #311489.
14520
14521         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
14522         #305291.
14523
14524         * gst/gstindex.c (gst_index_add_object): Note in the docs that
14525         this function is not implemented.
14526
14527 2005-11-14  Julien MOUTTE  <julien@moutte.net>
14528
14529         * gst/base/gstbasetransform.c:
14530         (gst_base_transform_prepare_output_buf):
14531         Ref the source pad caps while we need them.
14532         Fixes (#321386)
14533
14534 2005-11-11  Wim Taymans  <wim@fluendo.com>
14535
14536         * docs/gst/gstreamer-sections.txt:
14537         Added some docs for GstCollectData.
14538
14539         * gst/base/gstadapter.c:
14540         Some small code example fix.
14541
14542         * gst/base/gstcollectpads.c:
14543         * gst/base/gstcollectpads.h:
14544         Document some more.
14545
14546 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
14547
14548         * configure.ac: back to HEAD
14549
14550 === release 0.9.5 ===
14551
14552 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
14553
14554         * configure.ac:
14555           releasing 0.9.5, "Bike Lunch Day"
14556
14557 2005-11-11  Wim Taymans  <wim@fluendo.com>
14558
14559         * gst/gstbuffer.c: (_gst_buffer_copy):
14560         Copy more flags.
14561
14562         * gst/gstcaps.c: (gst_caps_is_equal):
14563         Fix some docs.
14564         Make _is_equal fast in the trivial cases.
14565
14566         * gst/gstminiobject.c:
14567         * gst/gstminiobject.h:
14568         More docs. Spifify .h file.
14569
14570         * gst/gstutils.c:
14571         Small doc update.
14572
14573 2005-11-11  Wim Taymans  <wim@fluendo.com>
14574
14575         * gst/base/gstbasetransform.c:
14576         (gst_base_transform_prepare_output_buf),
14577         (gst_base_transform_handle_buffer):
14578         Small cleanups.
14579         If we're processing a buffer and need to allocate an output
14580         buffer, we cannot accept a format change. If we did get a 
14581         format change, we have to alloc a buffer ourselves of the 
14582         right size.
14583
14584 2005-11-11  Wim Taymans  <wim@fluendo.com>
14585
14586         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
14587         While checking the flag for reentrancy in the gstcaps function
14588         is nice to detect recursive invocations, it also makes it 
14589         impossible to call getcaps from multiple threads, which must be
14590         possible. So, checking for recursive calls has to go.
14591
14592 2005-11-11  Michael Smith <msmith@fluendo.com>
14593
14594         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
14595           Don't sync on buffers that fall partially outside our current
14596           segment. Prevents an assertion failure/abort playing some files.
14597
14598 2005-11-10  Andy Wingo  <wingo@pobox.com>
14599
14600         * check/gst/gstbin.c (test_message_state_changed_children): Style
14601         fix..
14602
14603         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
14604         gst_bus_poll with the signal watch. Ensures that poll and a signal
14605         watch see the same messages.
14606
14607         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
14608         a poll and a watch at the same time get the same messages.
14609
14610 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14611
14612         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
14613         * gst/gstcaps.c: (gst_caps_intersect):
14614           Don't call gst_caps_do_simplify - it doesn't respect order of caps
14615           and it's not needed.
14616
14617 2005-11-10  Wim Taymans  <wim@fluendo.com>
14618
14619         * docs/design/part-TODO.txt:
14620         Updated todo.
14621
14622 2005-11-10  Wim Taymans  <wim@fluendo.com>
14623
14624         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
14625         * gst/base/gstbasesrc.c: (gst_base_src_wait),
14626         (gst_base_src_do_sync), (gst_base_src_get_range):
14627         Implement clock sync in base class.
14628
14629 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14630
14631         patch by: Tim-Philipp Müller <tim at centricular dot net>
14632
14633         * gst/gststructure.c: (gst_structure_parse_field),
14634         (gst_structure_from_string):
14635           Forward-port a 0.8 patch to handle escaped spaces in structure string,
14636           so that gst_parse_launch() can deal with spaces in filtered link
14637           caps (fixes #164479)
14638         * check/gst/capslist.h:
14639         * check/gst/gststructure.c: (GST_START_TEST):
14640           add unit tests for this change
14641
14642 2005-11-10  Wim Taymans  <wim@fluendo.com>
14643
14644         * docs/gst/gstreamer-sections.txt:
14645         * gst/gstelement.c:
14646         * gst/gstelement.h:
14647         Fix docs, move some STATE macros to private.
14648
14649 2005-11-10  Wim Taymans  <wim@fluendo.com>
14650
14651         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
14652         Added check for bug #317341
14653
14654         * gst/gstbuffer.c:
14655         * gst/gstbuffer.h:
14656         Some more spiffifying.
14657
14658         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
14659         Call peer linkfunction if we are a source pad. Totally fixes
14660         #317341
14661
14662         * gst/gstpad.c:
14663         Update docs, source pads should call the peer linkfunction
14664         so they can atomically perform the pad link.
14665
14666 2005-11-09  Wim Taymans  <wim@fluendo.com>
14667
14668         * gst/gstbuffer.c:
14669         * gst/gstbuffer.h:
14670         Uber-spiffy-spiffify some more.
14671
14672 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
14673
14674         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
14675         * gst/elements/gstfilesink.c: (gst_file_sink_init):
14676         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
14677         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
14678         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
14679         * gst/gstpad.c: (gst_pad_init):
14680           Use GST_DEBUG_FUNCPTR() more extensively.
14681
14682 2005-11-09  Wim Taymans  <wim@fluendo.com>
14683
14684         * gst/gstobject.c: (gst_object_class_init):
14685         * gst/gstobject.h:
14686         Documentation fixes.
14687
14688 2005-11-09  Edward Hervey  <edward@fluendo.com>
14689
14690         * gst/gsttypefindfactory.c:
14691         Fix docs.
14692         
14693 2005-11-09  Edward Hervey  <edward@fluendo.com>
14694
14695         * gst/base/gsttypefindhelper.c:
14696         * gst/gsttypefind.c:
14697         * gst/gsttypefind.h:
14698         Fix docs.
14699
14700 2005-11-09  Wim Taymans  <wim@fluendo.com>
14701
14702         * gst/gstiterator.c:
14703         Fix revision data.
14704
14705         * gst/gsttask.c:
14706         * gst/gsttask.h:
14707         Fix docs.
14708
14709 2005-11-09  Wim Taymans  <wim@fluendo.com>
14710
14711         * gst/gstevent.h:
14712         * gst/gsturi.h:
14713         Fix docs.
14714
14715 2005-11-09  Wim Taymans  <wim@fluendo.com>
14716
14717         * docs/gst/gstreamer-sections.txt:
14718         Moved the message async delivery private lock and cond
14719         to the private section.
14720
14721         * gst/gstmessage.c:
14722         * gst/gstmessage.h:
14723         Fixed docs.
14724
14725 2005-11-09  Edward Hervey  <edward@fluendo.com>
14726
14727         * docs/gst/gstreamer-sections.txt:
14728         * gst/gsturi.c:
14729         * gst/gsturi.h:
14730         Document GstURIHandler
14731
14732 2005-11-09  Wim Taymans  <wim@fluendo.com>
14733
14734         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
14735         (gst_iterator_find_custom):
14736         * gst/gstiterator.h:
14737         Fix iterator docs.
14738
14739 2005-11-09  Wim Taymans  <wim@fluendo.com>
14740
14741         * gst/gstbin.h:
14742         Document another field.
14743
14744         * gst/gststructure.c:
14745         * gst/gststructure.h:
14746         Document.
14747
14748 2005-11-09  Wim Taymans  <wim@fluendo.com>
14749
14750         * gst/gstbin.h:
14751         Documented structs.
14752
14753 2005-11-09  Wim Taymans  <wim@fluendo.com>
14754
14755         * docs/gst/gstreamer-sections.txt:
14756         Added some new macros.
14757
14758         * gst/gstclock.c:
14759         * gst/gstclock.h:
14760         * gst/gstobject.h:
14761         Docs updates.
14762
14763 2005-11-09  Wim Taymans  <wim@fluendo.com>
14764
14765         * docs/design/part-TODO.txt:
14766         Some more items for the TODO
14767
14768         * gst/gstcaps.c:
14769         * gst/gstcaps.h:
14770         Document GstCaps.
14771
14772 2005-11-09  Andy Wingo  <wingo@pobox.com>
14773
14774         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
14775         to work on something else now tho...
14776
14777         * gst/base/gstadapter.c: More adapter docs.
14778
14779         * gst/elements/gstfilesink.c (gst_file_sink_start) 
14780         (gst_file_sink_stop): New functions, replace the state change
14781         handler.
14782         (gst_file_sink_class_init): Hook up the start and stop functions.
14783         (gst_file_sink_base_init): Don't set the state change handler any
14784         more. It was a bit ugly too, being set from here...
14785         (gst_file_sink_get_property, gst_file_sink_set_property):
14786         Cleanups...
14787         (gst_file_sink_set_location): More robust check that doesn't call
14788         GST_STATE. Ugggggg.
14789
14790 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
14791
14792         * gst/base/gstbasetransform.c: (gst_base_transform_event):
14793           Hold STREAM_LOCK while pushing newsegment or tag events as well.
14794
14795 2005-11-08  Wim Taymans  <wim@fluendo.com>
14796
14797         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
14798         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
14799         (gst_base_sink_chain), (gst_base_sink_change_state):
14800         * gst/base/gstbasesink.h:
14801         * gst/base/gstbasesrc.h:
14802         * gst/gstelement.h:
14803         * gst/gstevent.h:
14804         Avoid excessive typechecking in macros.
14805
14806         * gst/gstminiobject.c: (gst_mini_object_get_type),
14807         (gst_mini_object_init), (gst_mini_object_new),
14808         (gst_mini_object_free):
14809         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
14810         (gst_object_finalize):
14811         Remove cruft code, optimize alloc_trace.
14812
14813 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
14814
14815         * docs/faq/gst-uninstalled:
14816           fix up PS1 for systems that try to reset it
14817
14818 2005-11-07  Wim Taymans  <wim@fluendo.com>
14819
14820         * gst/base/gstbasesrc.c: (gst_base_src_init),
14821         (gst_base_src_get_range):
14822         Set the segment_end to -1 initially. Fixed typefind.
14823
14824 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
14825
14826         * gst/base/gstadapter.c:
14827           Debug category should be 'adapter', not 'GstAdapter'.
14828           
14829         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
14830         (gst_collectpads_class_init), (gst_collectpads_init),
14831         (gst_collectpads_peek), (gst_collectpads_pop),
14832         (gst_collectpads_event), (gst_collectpads_chain):
14833           Add debug category and some debugging output. Use boilerplate
14834           macros. Remove some extraneous words from docs.
14835
14836 2005-11-05  Andy Wingo  <wingo@pobox.com>
14837
14838         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
14839         macro.
14840
14841 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
14842
14843         * docs/gst/gstreamer-sections.txt:
14844         * gst/gstcaps.h:
14845         * gst/gstinfo.c:
14846         * gst/gstminiobject.h:
14847         * gst/gstobject.h:
14848         * gst/gstutils.h:
14849           more docs added
14850
14851 2005-11-04  Wim Taymans  <wim@fluendo.com>
14852
14853         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
14854         Small update to stop at the configured segment_end
14855         position.
14856
14857 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
14858
14859         * gst/gstregistry.c:
14860         * gst/gstregistry.h:
14861           added missing docs
14862
14863 2005-11-04  Edward Hervey  <edward@fluendo.com>
14864
14865         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
14866         Check if we are doing a segment seek and have arrived at the
14867         end of that segment.
14868
14869 2005-11-04  Wim Taymans  <wim@fluendo.com>
14870
14871         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
14872         Don't leak a mutex unlock in case of an error.
14873
14874         * gst/gstbus.h:
14875         Doc fixes.
14876
14877 2005-11-04  Wim Taymans  <wim@fluendo.com>
14878
14879         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
14880         (gst_bus_post):
14881         Get the context to wake up only once.
14882
14883 2005-11-03  Wim Taymans  <wim@fluendo.com>
14884
14885         * check/states/sinks.c: (GST_START_TEST):
14886         Uncomment fixed check.
14887
14888         * docs/design/part-TODO.txt:
14889         Updated TODO.
14890
14891         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
14892         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
14893         (gst_base_sink_get_position):
14894         If we are going to PLAYING, post the right pending state
14895         when we post the intermediate paused message.
14896
14897         * gst/gstelement.c: (gst_element_continue_state),
14898         (gst_element_set_state_func), (gst_element_change_state):
14899         Don't post state changes that were between the same state
14900         and were not ASYNC.
14901
14902 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
14903
14904         * docs/gst/gstreamer-sections.txt:
14905         * gst/gstcaps.h:
14906         * gst/gstinfo.c:
14907         * gst/gstminiobject.h:
14908         * gst/gstobject.h:
14909         * gst/gstutils.h:
14910           more docs and doc style fixes
14911
14912 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
14913
14914         * docs/gst/gstreamer-sections.txt:
14915         * gst/gstelement.c:
14916         * gst/gstminiobject.c:
14917         doc fixes
14918
14919 2005-11-03  Andy Wingo  <wingo@pobox.com>
14920
14921         * check/states/sinks.c (test_livesrc_sink): Add checks that the
14922         state-changed messages actually have the right order and the right
14923         values.
14924
14925 2005-11-03  Wim Taymans  <wim@fluendo.com>
14926
14927         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
14928         Added some more checks. Specifically the case where NO_PREROLL
14929         elements are in the pipeline.
14930
14931         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
14932         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
14933         (gst_base_sink_get_position):
14934         Post READY->PAUSED state change messages too.
14935         Fix bug where VOID was posted as pending state...
14936
14937         * gst/gstbin.c: (gst_bin_recalc_state):
14938         use _element_continue_state() to continue the state change.
14939
14940         * gst/gstelement.c: (gst_element_continue_state),
14941         (gst_element_commit_state), (gst_element_set_state_func),
14942         (gst_element_change_state), (gst_element_change_state_func):
14943         Lots of state change cleanups, assign the STATE_RETURN in
14944         a new continue_state() function that also propagates the
14945         last return value from a state change to the app.
14946         Update some debug statements with proper category.
14947
14948 2005-11-03  Wim Taymans  <wim@fluendo.com>
14949
14950         * docs/design/part-events.txt:
14951         * docs/design/part-gstpipeline.txt:
14952         * docs/design/part-messages.txt:
14953         * docs/design/part-overview.txt:
14954         * docs/design/part-seeking.txt:
14955         * docs/design/part-states.txt:
14956         * docs/design/part-trickmodes.txt:
14957         * docs/manual/advanced-position.xml:
14958         Small docs updates.
14959
14960         * gst/gstobject.h:
14961         People think !! is ugly, this looks better.
14962
14963         * gst/gstpad.c: (gst_pad_set_blocked_async):
14964         Remove !! since it's fixed elsewhere now.
14965
14966 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
14967
14968         * gst/gstminiobject.h:
14969         * gst/gstobject.h:
14970           Add !! to _FLAG_IS_SET macros to make the result boolean.
14971
14972 2005-11-03  Edward Hervey  <edward@fluendo.com>
14973
14974         * gst/gstpad.c: (gst_pad_set_blocked_async):
14975         comparing a flag and a gboolean rarely returns coherent results...
14976         Added two characters (!!) to make that work correctly.
14977         
14978 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
14979
14980         * gst/gstbus.c: (gst_bus_class_init):
14981           Fix some typos.
14982           
14983         * gst/gstqueue.c: (gst_queue_loop):
14984           Don't assume a miniobject that isn't a buffer is an
14985           event (it could be that there is a refcounting
14986           problem somewhere and the pointer is stale and
14987           refers to an already destroyed miniobject).
14988
14989 2005-11-03  Julien MOUTTE  <julien@moutte.net>
14990
14991         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
14992
14993 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
14994
14995         * docs/manual/advanced-position.xml:
14996           Update seek example and explanations to current 0.9 API.
14997
14998         * gst/elements/gsttypefindelement.c:
14999         (gst_type_find_element_activate):
15000           Remove FIXME comment now that the found caps
15001           are unreffed.
15002
15003 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
15004
15005         * gst/gstregistryxml.c: (load_feature):
15006           Add another GST_STR_NULL instance
15007
15008 2005-11-02  Edward Hervey  <edward@fluendo.com>
15009
15010         * gst/gstpad.c: (handle_pad_block):
15011         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
15012         
15013 2005-11-02  Wim Taymans  <wim@fluendo.com>
15014
15015         * gst/gstbin.c:
15016         Fix typo in docs.
15017
15018         * gst/gstelement.c: (gst_element_commit_state):
15019         Remove unused value.
15020
15021         * gst/gstiterator.c:
15022         Mention that the returned element is reffed in the docs.
15023
15024 2005-11-02  Wim Taymans  <wim@fluendo.com>
15025
15026         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
15027         (gst_pad_push), (gst_pad_push_event):
15028         Unlock blocked pads when they are flushed.
15029
15030 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
15031
15032         * docs/README:
15033         * docs/gst/gstreamer-sections.txt:
15034         * gst/gstbin.c:
15035           doc updates
15036         * gst/gstregistry.c: (gst_registry_scan_path_level):
15037           fix for a nasty little missed situation where an installed plug-in
15038           which was in the cache did not get overridden by an uninstalled one
15039           which was earlier in the plugin path because the newly created plugin
15040           for the uninstalled one (not in the registry) didn't get its
15041           ->registered set to TRUE
15042
15043 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
15044
15045         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
15046         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
15047         (gst_collectpads_is_active), (gst_collectpads_collect),
15048         (gst_collectpads_collect_range), (gst_collectpads_start),
15049         (gst_collectpads_stop), (gst_collectpads_peek),
15050         (gst_collectpads_pop), (gst_collectpads_available),
15051         (gst_collectpads_read), (gst_collectpads_flush):
15052           Guard public API with assertions.
15053         
15054         * gst/gstpad.c:
15055           Fix docs for gst_pad_set_link_function().
15056
15057 2005-11-02  Johan Dahlin  <johan@gnome.org>
15058
15059         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
15060         Unref found_caps after we used it.
15061
15062 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
15063
15064         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
15065           Don't try to ref NULL.
15066
15067 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
15068
15069         * win32/common/config.h.in:
15070           provide a GST_FUNCTION that just gives a string for now
15071
15072 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
15073
15074         * win32/common/gstenumtypes.c: (register_gst_object_flags),
15075         (gst_object_flags_get_type), (register_gst_bin_flags),
15076         (gst_bin_flags_get_type), (register_gst_buffer_flag),
15077         (gst_buffer_flag_get_type), (register_gst_bus_flags),
15078         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
15079         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
15080         (gst_clock_return_get_type), (register_gst_clock_entry_type),
15081         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
15082         (gst_clock_flags_get_type), (register_gst_state),
15083         (gst_state_get_type), (register_gst_state_change_return),
15084         (gst_state_change_return_get_type), (register_gst_state_change),
15085         (gst_state_change_get_type), (register_gst_element_flags),
15086         (gst_element_flags_get_type), (register_gst_core_error),
15087         (gst_core_error_get_type), (register_gst_library_error),
15088         (gst_library_error_get_type), (register_gst_resource_error),
15089         (gst_resource_error_get_type), (register_gst_stream_error),
15090         (gst_stream_error_get_type), (register_gst_event_type),
15091         (gst_event_type_get_type), (register_gst_seek_type),
15092         (gst_seek_type_get_type), (register_gst_seek_flags),
15093         (gst_seek_flags_get_type), (register_gst_format),
15094         (gst_format_get_type), (register_gst_index_certainty),
15095         (gst_index_certainty_get_type), (register_gst_index_entry_type),
15096         (gst_index_entry_type_get_type),
15097         (register_gst_index_lookup_method),
15098         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
15099         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
15100         (gst_index_resolver_method_get_type), (register_gst_index_flags),
15101         (gst_index_flags_get_type), (register_gst_debug_level),
15102         (gst_debug_level_get_type), (register_gst_debug_color_flags),
15103         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
15104         (gst_iterator_result_get_type), (register_gst_iterator_item),
15105         (gst_iterator_item_get_type), (register_gst_message_type),
15106         (gst_message_type_get_type), (register_gst_mini_object_flags),
15107         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
15108         (gst_pad_link_return_get_type), (register_gst_flow_return),
15109         (gst_flow_return_get_type), (register_gst_activate_mode),
15110         (gst_activate_mode_get_type), (register_gst_pad_direction),
15111         (gst_pad_direction_get_type), (register_gst_pad_flags),
15112         (gst_pad_flags_get_type), (register_gst_pad_presence),
15113         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
15114         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
15115         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
15116         (gst_plugin_error_get_type), (register_gst_plugin_flags),
15117         (gst_plugin_flags_get_type), (register_gst_rank),
15118         (gst_rank_get_type), (register_gst_query_type),
15119         (gst_query_type_get_type), (register_gst_tag_merge_mode),
15120         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
15121         (gst_tag_flag_get_type), (register_gst_task_state),
15122         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
15123         (gst_alloc_trace_flags_get_type),
15124         (register_gst_type_find_probability),
15125         (gst_type_find_probability_get_type), (register_gst_uri_type),
15126         (gst_uri_type_get_type), (register_gst_parse_error),
15127         (gst_parse_error_get_type):
15128         * win32/common/gstversion.h:
15129           update win32 copies
15130
15131 2005-11-01  Luca Ognibene  <luogni@tin.it>
15132
15133         * gst/gst.c:
15134           fix docs. popt is dead, long live GOption.
15135
15136 2005-10-31  Wim Taymans  <wim@fluendo.com>
15137
15138         * gst/gstbuffer.h:
15139         Small doc fix.
15140
15141 2005-10-31  Andy Wingo  <wingo@pobox.com>
15142
15143         * Boo!
15144
15145         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
15146
15147         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
15148         need to serialize property notifications on GLib 2.8. GLib 2.6 has
15149         the possibility of deadlocks here if code calling notify() or
15150         set() has a lock that can be taken in another notify handler (ABBA
15151         with class lock and e.g. python GIL state lock).
15152
15153 2005-10-28  Julien MOUTTE  <julien@moutte.net>
15154
15155         * gst/gstbus.c: Doc updates.
15156
15157 2005-10-28  Wim Taymans  <wim@fluendo.com>
15158
15159         * docs/design/part-TODO.txt:
15160         * gst/gstiterator.c:
15161         * gst/gstsystemclock.c:
15162         * gst/gstsystemclock.h:
15163         Doc updates.
15164
15165 2005-10-28  Edward Hervey  <edward@fluendo.com>
15166
15167         * docs/gst/gstreamer-docs.sgml:
15168         * docs/gst/gstreamer-sections.txt:
15169         the GstURIType documentation page is private, it only defines GstURIType
15170         which should be defined in the GstURIHandler page
15171         
15172 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
15173
15174         * gst/gstbin.c: (gst_bin_class_init):
15175         * gst/gstbin.h:
15176         * gst/gstutils.c:
15177         Documentation updates.
15178
15179 2005-10-28  Wim Taymans  <wim@fluendo.com>
15180
15181         * docs/gst/gstreamer-sections.txt:
15182         * gst/gstclock.c:
15183         * gst/gstclock.h:
15184         Documented the clocks.
15185
15186 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
15187
15188         * docs/gst/gstreamer-sections.txt:
15189           move some macros to private sections
15190         * gst/gstminiobject.c:
15191         * gst/gstminiobject.h:
15192           add descriptions provided by ds and some more
15193         * gst/gstpad.h:
15194           mark macro as to be removed
15195
15196 2005-10-28  Wim Taymans  <wim@fluendo.com>
15197
15198         * docs/design/part-TODO.txt:
15199         Add an item to TODO.
15200
15201         * gst/gstiterator.c: (gst_iterator_fold),
15202         (gst_iterator_find_custom):
15203         * gst/gstiterator.h:
15204         Add iterator docs.
15205
15206 2005-10-28  Wim Taymans  <wim@fluendo.com>
15207
15208         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
15209         (gst_base_transform_init):
15210         Don't leak class.
15211
15212         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
15213         An EOS event marks the queue as completely filled.
15214
15215 2005-10-27  Wim Taymans  <wim@fluendo.com>
15216
15217         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
15218         (gst_base_sink_do_sync), (gst_base_sink_get_position):
15219         Some more debugging.
15220
15221         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
15222         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
15223         (gst_base_transform_event), (gst_base_transform_getrange),
15224         (gst_base_transform_chain):
15225         * gst/base/gstbasetransform.h:
15226         Fix debugging,
15227         Protect transform and concurrent buffer alloc with a new lock.
15228         Try not to break ABI/API.
15229
15230 2005-10-27  Wim Taymans  <wim@fluendo.com>
15231
15232         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
15233         (gst_base_src_init), (gst_base_src_query),
15234         (gst_base_src_default_newsegment),
15235         (gst_base_src_configure_segment), (gst_base_src_do_seek),
15236         (gst_base_src_send_event), (gst_base_src_event_handler),
15237         (gst_base_src_pad_get_range), (gst_base_src_loop),
15238         (gst_base_src_unlock), (gst_base_src_default_negotiate),
15239         (gst_base_src_start), (gst_base_src_deactivate),
15240         (gst_base_src_activate_push), (gst_base_src_change_state):
15241         Move some stuff around and cleanup things.
15242
15243 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
15244
15245         * gst/base/gstbasesrc.c: (gst_base_src_query):
15246           Add missing break statements.
15247
15248 2005-10-27  Wim Taymans  <wim@fluendo.com>
15249
15250         * check/gst/gstbin.c: (GST_START_TEST):
15251         An extra refcount is taken in basesrc.
15252
15253         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
15254         (gst_base_src_get_range), (gst_base_src_pad_get_range),
15255         (gst_base_src_loop):
15256         Small cleanups, check for flushing after being unlocked from the 
15257         LIVE_LOCK. take refcounts correctly (not yet everywhere).
15258         Don't send out EOS when going to READY.
15259
15260 2005-10-27  Wim Taymans  <wim@fluendo.com>
15261
15262         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
15263         (gst_base_sink_get_position):
15264         Some more debug.
15265
15266         * gst/gstbin.c: (message_check), (bin_replace_message),
15267         (bin_remove_messages), (is_eos), (gst_bin_add_func),
15268         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
15269         (bin_query_duration_init), (bin_query_duration_fold),
15270         (bin_query_duration_done), (bin_query_generic_fold),
15271         (gst_bin_query):
15272         * tools/gst-launch.c: (main):
15273         Remove old option.
15274
15275 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
15276
15277         * examples/controller/audio-example.c: (main):
15278         * examples/queue/queue.c: (event_loop):
15279         * gst/base/gstbasetransform.h:
15280         * gst/gstelement.c: (gst_element_send_event):
15281         * gst/gstevent.h:
15282         * gst/gstpad.c: (gst_pad_send_event):
15283           fixing examples
15284           fixing docs typos
15285           changing log priority in error situations
15286
15287 2005-10-25  Wim Taymans  <wim@fluendo.com>
15288
15289         * gst/gstbin.c: (message_check), (bin_replace_message),
15290         (bin_remove_messages), (is_eos), (gst_bin_add_func),
15291         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
15292         (bin_query_duration_init), (bin_query_duration_fold),
15293         (bin_query_duration_done), (bin_query_generic_fold),
15294         (gst_bin_query):
15295         Some doc and debug updates.
15296         Cache previously requested query DURATION for speed. invalidate
15297         cached duration if element posts a DURATION message.
15298
15299 2005-10-25  Wim Taymans  <wim@fluendo.com>
15300
15301         * docs/design/part-TODO.txt:
15302         Update TODO.
15303
15304         * gst/gstbin.c: (message_check), (bin_replace_message),
15305         (bin_remove_messages), (is_eos), (gst_bin_add_func),
15306         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
15307         (bin_query_duration_init), (bin_query_duration_fold),
15308         (bin_query_duration_done), (bin_query_generic_fold),
15309         (gst_bin_query):
15310         Handle SEGMENT_START/DONE messages correctly.
15311         More evolved query algorithm that handles duration queries
15312         correctly.
15313
15314         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
15315         (gst_element_get_state_func), (gst_element_abort_state),
15316         (gst_element_commit_state), (gst_element_lost_state):
15317         Some more debugging.
15318
15319         * gst/gstmessage.h:
15320         Added doc.
15321
15322 2005-10-25  Wim Taymans  <wim@fluendo.com>
15323
15324         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
15325         Don't use invalid stream_time.
15326
15327         * gst/gstevent.c: (gst_event_new_newsegment):
15328         stream_time in newsegment cannot be undefined.
15329
15330 2005-10-24  Wim Taymans  <wim@fluendo.com>
15331
15332         * gst/gstbus.c:
15333         Doc fix.
15334
15335         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
15336         (gst_queue_loop):
15337         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
15338
15339 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
15340
15341         * docs/libs/tmpl/gstdparam.sgml:
15342         * docs/libs/tmpl/gstdplinint.sgml:
15343         * docs/libs/tmpl/gstdpman.sgml:
15344         * docs/libs/tmpl/gstdpsmooth.sgml:
15345         * docs/libs/tmpl/gstunitconvert.sgml:
15346           these are obsolete
15347
15348 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
15349
15350         * configure.ac:
15351           back to HEAD
15352
15353 === release 0.9.4 ===
15354
15355 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
15356
15357         * configure.ac:
15358           releasing 0.9.4, "Tyrannosaurus Rex"
15359
15360 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
15361
15362         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
15363         (gst_file_sink_get_current_offset):
15364           Use fseeko() and ftello() if available. When falling back on
15365           lseek() to get the current offset, fflush() first to make sure
15366           everything is up-to-date and we get the right offset.
15367
15368 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
15369
15370         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
15371         * gst/base/gstbasesrc.c: (gst_base_src_loop):
15372         * gst/gsterror.c: (_gst_stream_errors_init):
15373         * gst/gsterror.h:
15374         * gst/gstqueue.c: (gst_queue_loop):
15375         * po/POTFILES.in:
15376           remove prematurely added error category and clean up the instances
15377
15378 2005-10-21  Wim Taymans  <wim@fluendo.com>
15379
15380         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
15381         (gst_base_sink_get_position), (gst_base_sink_query),
15382         (gst_base_sink_change_state):
15383         Simply set the right flag when going to playing, that's all
15384         we need to do instead of calling a function inside the object
15385         lock (that could take the lock as well and deadlock)
15386
15387 2005-10-21  Wim Taymans  <wim@fluendo.com>
15388
15389         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
15390         (gst_base_src_loop):
15391         Don't warn, the peer element knows what to do best when
15392         the seek failed, it might try something else.
15393
15394 2005-10-21  Wim Taymans  <wim@fluendo.com>
15395
15396         * gst/base/gstbasesrc.c: (gst_base_src_init),
15397         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
15398         Fix seeking.
15399
15400 2005-10-21  Wim Taymans  <wim@fluendo.com>
15401
15402         * docs/design/part-segments.txt:
15403         More docs.
15404
15405         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
15406         Correctly set caps, even on the subbufer.
15407
15408 2005-10-21  Wim Taymans  <wim@fluendo.com>
15409
15410         * docs/gst/gstreamer-docs.sgml:
15411         * docs/gst/gstreamer-sections.txt:
15412         * gst/gstelement.h:
15413         * gst/gstevent.c:
15414         * gst/gstevent.h:
15415         * gst/gstmessage.h:
15416         * gst/gstpad.h:
15417         * gst/gstparse.h:
15418         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
15419         * gst/gsttask.h:
15420         * gst/gstutils.c:
15421         * gst/gstutils.h:
15422         And 2% more doc coverage.
15423
15424 2005-10-21  Andy Wingo  <wingo@pobox.com>
15425
15426         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
15427         position reporting.
15428
15429 2005-10-20  Wim Taymans  <wim@fluendo.com>
15430
15431         * gst/gsterror.c: (gst_error_get_message):
15432         * gst/gstparse.h:
15433         * gst/gstquery.h:
15434         * gst/gststructure.c:
15435         * gst/gsttrace.c:
15436         * gst/gstutils.c:
15437         More docs.
15438
15439 2005-10-20  Wim Taymans  <wim@fluendo.com>
15440
15441         * gst/gstbuffer.h:
15442         * gst/gstpad.c:
15443         * gst/gstparse.c:
15444         Another 1% more coverage.
15445
15446 2005-10-20  Wim Taymans  <wim@fluendo.com>
15447
15448         * docs/gst/gstreamer-sections.txt:
15449         * gst/gstelement.c: (gst_element_get_state_func),
15450         (gst_element_abort_state), (gst_element_commit_state),
15451         (gst_element_lost_state):
15452         * gst/gstevent.h:
15453         * gst/gstquery.c: (gst_query_set_position),
15454         (gst_query_parse_position), (gst_query_set_duration),
15455         (gst_query_parse_duration), (gst_query_new_convert):
15456         * gst/gstutils.c:
15457         Yay! 1% more docs coverage.
15458
15459 2005-10-20  Wim Taymans  <wim@fluendo.com>
15460
15461         * gst/gstpad.h:
15462         * gst/gstquery.c: (gst_query_set_position),
15463         (gst_query_parse_position), (gst_query_set_duration),
15464         (gst_query_parse_duration), (gst_query_new_convert):
15465         * gst/gstquery.h:
15466         * gst/gstutils.c: (gst_element_query_convert):
15467         * gst/gstutils.h:
15468         Docs and consistency fixes.
15469
15470 2005-10-20  Wim Taymans  <wim@fluendo.com>
15471
15472         * gst/gsttask.c:
15473         * gst/gsttask.h:
15474         More docs.
15475
15476 2005-10-20  Wim Taymans  <wim@fluendo.com>
15477
15478         * gst/gstbin.c: (message_check), (bin_replace_message),
15479         (bin_remove_messages), (is_eos), (gst_bin_add_func),
15480         (update_degree), (gst_bin_sort_iterator_next),
15481         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
15482         Reworked the message handling a bit, cache the messages instead of
15483         only the senders. alows us to do more in the future.
15484
15485 2005-10-20  Wim Taymans  <wim@fluendo.com>
15486
15487         * docs/design/part-TODO.txt:
15488         Update TODO
15489
15490         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
15491         (gst_base_sink_query):
15492         Don't use clock time to report position when in EOS.
15493
15494 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
15495
15496         * tools/gst-inspect.c: (print_interfaces),
15497         (print_element_properties_info), (print_element_info):
15498           Fix interface output with gst-inspect -a; don't print
15499           newlines after double/float properties.
15500
15501 2005-10-20  Wim Taymans  <wim@fluendo.com>
15502
15503         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
15504         (gst_base_sink_query):
15505         Speed up current position calculation.
15506
15507         * gst/base/gstbasesrc.c: (gst_base_src_query),
15508         (gst_base_src_default_newsegment):
15509         Correctly set stream position in newsegment.
15510
15511         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
15512         (update_degree), (gst_bin_sort_iterator_next),
15513         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
15514         * gst/gstmessage.c: (gst_message_new_custom):
15515         Clean up debugging info
15516
15517         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
15518         (gst_queue_loop), (gst_queue_handle_src_query):
15519         Pause task faster.
15520
15521 2005-10-19  Wim Taymans  <wim@fluendo.com>
15522
15523         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
15524         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
15525         Fix query handling again.
15526
15527 2005-10-19  Wim Taymans  <wim@fluendo.com>
15528
15529         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
15530         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
15531         * gst/base/gstbasesrc.c: (gst_base_src_query):
15532         * gst/elements/gstfilesink.c: (gst_file_sink_query):
15533         * gst/elements/gsttypefindelement.c:
15534         (gst_type_find_handle_src_query), (find_element_get_length),
15535         (gst_type_find_element_activate):
15536         API change fix.
15537
15538         * gst/gstquery.c: (gst_query_new_position),
15539         (gst_query_set_position), (gst_query_parse_position),
15540         (gst_query_new_duration), (gst_query_set_duration),
15541         (gst_query_parse_duration), (gst_query_set_segment),
15542         (gst_query_parse_segment):
15543         * gst/gstquery.h:
15544         Bundling query position/duration is not a good idea since duration
15545         does not change much and we don't want to recalculate it for every
15546         position query, so they are separated again..
15547         Base value in segment query is not needed.
15548
15549         * gst/gstqueue.c: (gst_queue_handle_src_query):
15550         * gst/gstutils.c: (gst_element_query_position),
15551         (gst_element_query_duration), (gst_pad_query_position),
15552         (gst_pad_query_duration):
15553         * gst/gstutils.h:
15554         Updates for query API change.
15555         Added some docs here and there.
15556
15557 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
15558
15559         * check/gst/gstbin.c: (GST_START_TEST):
15560         * check/gst/gstghostpad.c: (GST_START_TEST):
15561         * check/pipelines/cleanup.c: (GST_START_TEST):
15562           wait on thread to die so we can check refcount correctly
15563
15564 2005-10-18  Wim Taymans  <wim@fluendo.com>
15565
15566         * check/pipelines/stress.c: (GST_START_TEST):
15567         Make check a little more time consuming.
15568
15569 2005-10-18  Wim Taymans  <wim@fluendo.com>
15570
15571         * check/Makefile.am:
15572         * check/pipelines/stress.c: (GST_START_TEST),
15573         (simple_launch_lines_suite), (main):
15574         Small state change torture test.
15575
15576         * docs/design/part-states.txt:
15577         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
15578         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
15579         (gst_base_sink_change_state):
15580         Never take state lock from streaming thread, clean up ugly
15581         hacks. Unfortunatly core does not yet support nice ways to
15582         async commit state.
15583         
15584         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
15585         (bin_bus_handler):
15586         Start state recalc if a STATE_DIRTY message is posted, but only
15587         on the toplevel bin.
15588
15589         * gst/gstelement.c: (gst_element_sync_state_with_parent),
15590         (gst_element_get_state_func), (gst_element_abort_state),
15591         (gst_element_commit_state), (gst_element_lost_state),
15592         (gst_element_set_state_func), (gst_element_change_state):
15593         * gst/gstelement.h:
15594         State variables are now protected with the LOCK, the state
15595         lock is only used to serialize _set_state().
15596
15597 2005-10-18  Wim Taymans  <wim@fluendo.com>
15598
15599         * check/gst/gstbin.c: (GST_START_TEST):
15600         * check/gst/gstmessage.c: (GST_START_TEST):
15601         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
15602         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
15603         (bin_bus_handler):
15604         * gst/gstelement.c: (gst_element_abort_state),
15605         (gst_element_commit_state), (gst_element_lost_state):
15606         * gst/gstmessage.c: (gst_message_new_state_changed),
15607         (gst_message_new_state_dirty), (gst_message_new_segment_start),
15608         (gst_message_new_segment_done), (gst_message_new_duration),
15609         (gst_message_parse_state_changed),
15610         (gst_message_parse_segment_start),
15611         (gst_message_parse_segment_done), (gst_message_parse_duration):
15612         * gst/gstmessage.h:
15613         * tools/gst-launch.c: (event_loop):
15614         Seriously, this is better than a previous commit as we only need
15615         to notify the fact that an element changed state in a streaming
15616         thread, marking the state of the parents dirty, hence the 
15617         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
15618         message.
15619
15620 2005-10-18  Wim Taymans  <wim@fluendo.com>
15621
15622         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
15623         (gst_bin_recalc_func):
15624         * gst/gstelement.c: (gst_element_set_clock),
15625         (gst_element_abort_state), (gst_element_lost_state):
15626         Cleanups, prepare for state change fixes.
15627
15628 2005-10-18  Wim Taymans  <wim@fluendo.com>
15629
15630         * gst/gstbin.h:
15631         * gst/gstelement.c: (gst_element_class_init),
15632         (gst_element_set_state), (gst_element_set_state_func):
15633         * gst/gstelement.h:
15634         Pending ABI changes.
15635         GThreadPool in GstBinClass to monitor async state changes.
15636         state_cookie in GstElement to detect concurrent gst/set state.
15637         set_state is now virtual too in case a very complicated element
15638         has to be constructed.
15639
15640 2005-10-18  Wim Taymans  <wim@fluendo.com>
15641
15642         * check/gst/gstbin.c: (GST_START_TEST):
15643         * check/gst/gstmessage.c: (GST_START_TEST):
15644         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
15645         * gst/gstbin.c: (bin_bus_handler):
15646         * gst/gstelement.c: (gst_element_commit_state),
15647         (gst_element_lost_state):
15648         * gst/gstmessage.c: (gst_message_new_state_changed),
15649         (gst_message_new_segment_start), (gst_message_new_segment_done),
15650         (gst_message_new_duration), (gst_message_parse_state_changed),
15651         (gst_message_parse_segment_start),
15652         (gst_message_parse_segment_done), (gst_message_parse_duration):
15653         * gst/gstmessage.h:
15654         * tools/gst-launch.c: (event_loop):
15655         Make messages future proof.
15656         state-change gets a flag if it was a message comming from the
15657         streaming thread.
15658         segment-start/stop can also be specified in other formats.
15659         A message to notify an app that a pipeline changed playback 
15660         duration.
15661         Also fix a GstMessage leak in -launch
15662
15663 2005-10-18  Andy Wingo  <wingo@pobox.com>
15664
15665         * gst/gstelement.c (gst_element_dispose): More helpful message.
15666
15667 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
15668
15669         reviewed by: <delete if not using a buddy>
15670
15671         * common/gtk-doc.mak:
15672
15673 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
15674
15675         * gst/gstregistry.c: (gst_registry_scan_path_level):
15676           unref a plug-in we get that was already initialized
15677
15678 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
15679
15680         * docs/gst/gstreamer-sections.txt:
15681         * docs/libs/gstreamer-libs-sections.txt:
15682         * gst/gstelement.h:
15683           add new api entries
15684           hide internal macro
15685
15686 2005-10-17  Andy Wingo  <wingo@pobox.com>
15687
15688         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
15689         cleanup.
15690
15691         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
15692
15693         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
15694
15695         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
15696         (gst_element_get_state_func): Better debug message.
15697         (gst_element_commit_state): s/INFO/DEBUG/.
15698         (gst_element_lost_state, gst_element_change_state): 
15699
15700         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
15701         (gst_message_new_custom): s/INFO/LOG/.
15702
15703 2005-10-17  Michael Smith <msmith@fluendo.com>
15704
15705         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
15706           Check if end time is valid using end time, not start time.
15707
15708 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
15709
15710         * check/gst-libs/controller.c: (GST_START_TEST),
15711         (gst_controller_suite):
15712         * libs/gst/controller/gstcontroller.c:
15713         (gst_controlled_property_set_interpolation_mode):
15714         * libs/gst/controller/gstcontroller.h:
15715         * libs/gst/controller/gstinterpolation.c:
15716         * testsuite/controller/.cvsignore:
15717         * testsuite/controller/Makefile.am:
15718         * testsuite/controller/interpolator.c:
15719           merge controller testsuites
15720           fix broken tests
15721           remove mem-chunk from docs
15722
15723 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
15724
15725         * gst/gstmemchunk.c:
15726         * gst/gstmemchunk.h:
15727         * gst/gsttrashstack.c:
15728         * gst/gsttrashstack.h:
15729           out.  get out.  you're fired.  to the Attic !
15730
15731 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
15732
15733         * gst/gstcaps.c: (gst_caps_intersect):
15734           fix signedness issues in a (hopefully) correct way
15735         * gst/gstelement.c: (gst_element_pads_activate):
15736           some debugging
15737         * gst/gstobject.c: (gst_object_set_parent):
15738           some debugging
15739
15740 2005-10-17  Julien MOUTTE  <julien@moutte.net>
15741
15742         * gst/gstvalue.h: Fix prototypes.
15743
15744 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
15745
15746         * docs/gst/gstreamer-sections.txt:
15747         * gst/gst.c: (gst_version_string):
15748         * gst/gst.h:
15749         * gst/gstversion.h.in:
15750         * win32/common/libgstreamer.def:
15751           add gst_version_string ()
15752
15753 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
15754
15755         * configure.ac:
15756           clean up further
15757         * gst/gst.c: (init_post):
15758         * win32/common/config.h.in:
15759           it's PLUGINDIR now
15760         * gst/gstcaps.c: (gst_caps_intersect):
15761           use gint64, the range could be bigger than a guint
15762
15763 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
15764
15765         * gst/gstclock.h:
15766           document potential problem in 2038
15767
15768 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
15769
15770         * gst/gstcaps.c: (gst_caps_intersect):
15771           Fix guint j diving under 0
15772
15773 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
15774
15775         * configure.ac:
15776         * win32/common/config.h:
15777         * win32/common/config.h.in:
15778           check for process.h, declares getpid() on Windows
15779         * gst/gstinfo.c:
15780           include process.h if we have it
15781         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
15782         * gst/gstmemchunk.h:
15783           fix signedness issues
15784         * win32/common/libgstreamer.def:
15785           fix get_type's
15786
15787 2005-10-16  Julien MOUTTE  <julien@moutte.net>
15788
15789         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
15790         fix. Because of unsigned ints, caps intersection was going nuts and
15791         trying to access structures with G_MAXUINT index. That fixes
15792         videotestsrc ! ffmpegcolorspace ! fakesink
15793         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
15794         consistency.
15795
15796 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
15797
15798         * configure.ac:
15799           use the gettext macro
15800         * gst/elements/gstelements.c:
15801         * gst/gst.c:
15802         * gst/indexers/gstindexers.c:
15803           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
15804         * win32/common/config.h:
15805           updated config.h
15806         * win32/common/config.h.in:
15807           add the template to generate config.h
15808         * win32/common/gstenumtypes.c:
15809         * win32/common/gstversion.h:
15810           updated copies
15811
15812 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
15813
15814         * gst/gst.c: (gst_version):
15815         * gst/gstversion.h.in:
15816           add the nano
15817
15818 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
15819
15820         * gst/gstevent.h:
15821           Oops, add missing closing bracket.
15822
15823 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
15824
15825         * configure.ac:
15826           use common m4's for argument checking
15827
15828 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
15829
15830         * docs/gst/gstreamer-sections.txt:
15831         * gst/gstevent.h:
15832           Add GST_EVENT_TYPE_NAME() macro.
15833
15834 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
15835
15836         * gst/gstinfo.c:
15837         * gst/gstpluginfeature.c:
15838         * gst/gsttask.c:
15839           privatize more symbols
15840
15841 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
15842
15843         * configure.ac:
15844           add srcdir, builddir includes to GST_ALL_CFLAGS, since
15845           everything that uses GStreamer API should have the includes
15846
15847 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
15848
15849         * docs/gst/gstreamer-sections.txt:
15850         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
15851         * gst/gstvalue.h:
15852           give each value a _get_type, removes the DATA exports
15853
15854 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
15855
15856         * gst/gst.c:
15857         * gst/gst.h:
15858           remove _gst_registry_auto_load, not used anymore
15859         * gst/gstbin.c: (gst_bin_get_type):
15860         * gst/gstbin.h:
15861         * gst/gstelement.c: (gst_element_get_type):
15862         * gst/gstelement.h:
15863         * gst/gstobject.c: (gst_object_get_type):
15864         * gst/gstobject.h:
15865         * gst/gstpad.c: (gst_pad_get_type):
15866         * gst/gstpad.h:
15867           make _get_type functions similar, fixes data export from library
15868
15869 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
15870
15871         * configure.ac:
15872           correctly make conditionals
15873         * gst/elements/Makefile.am:
15874         * gst/elements/gstelements.c:
15875           fix typo causing fdsrc not to build
15876
15877 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
15878
15879         * testsuite/Makefile.am:
15880         * testsuite/bytestream/.cvsignore:
15881         * testsuite/bytestream/Makefile.am:
15882         * testsuite/bytestream/filepadsink.c:
15883         * testsuite/bytestream/gstbstest.c:
15884         * testsuite/bytestream/test1.c:
15885         * testsuite/bytestream/testfile1:
15886         * testsuite/caps/normalisation.c:
15887         * testsuite/caps/random.c: (main):
15888         * testsuite/cleanup/.cvsignore:
15889         * testsuite/cleanup/Makefile.am:
15890         * testsuite/cleanup/cleanup1.c:
15891         * testsuite/cleanup/cleanup2.c:
15892         * testsuite/cleanup/cleanup3.c:
15893         * testsuite/cleanup/cleanup4.c:
15894         * testsuite/cleanup/cleanup5.c:
15895         * testsuite/controller/interpolator.c:
15896         * testsuite/debug/printf_extension.c: (main):
15897         * testsuite/elements/tee.c:
15898         * testsuite/negotiation/.cvsignore:
15899         * testsuite/negotiation/Makefile.am:
15900         * testsuite/negotiation/pad_link.c:
15901         * testsuite/pad/Makefile.am:
15902         * testsuite/pad/chainnopull.c:
15903         * testsuite/pad/getnopush.c:
15904         * testsuite/pad/link.c:
15905         * testsuite/refcounting/sched.c: (create_pipeline):
15906         * testsuite/registry/Makefile.am:
15907         * testsuite/registry/gst-print-formats.c:
15908         * testsuite/schedulers/.cvsignore:
15909         * testsuite/schedulers/142183-2.c:
15910         * testsuite/schedulers/142183.c:
15911         * testsuite/schedulers/143777-2.c:
15912         * testsuite/schedulers/143777.c:
15913         * testsuite/schedulers/147713.c:
15914         * testsuite/schedulers/147819.c:
15915         * testsuite/schedulers/147894-2.c:
15916         * testsuite/schedulers/147894.c:
15917         * testsuite/schedulers/Makefile.am:
15918         * testsuite/schedulers/group_link.c:
15919         * testsuite/schedulers/queue_link.c:
15920         * testsuite/schedulers/relink.c:
15921         * testsuite/schedulers/unlink.c:
15922         * testsuite/schedulers/unref.c:
15923         * testsuite/schedulers/useless_iteration.c:
15924         * testsuite/states/bin.c:
15925           clean out/remove some stuff from the testsuite directories
15926
15927 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
15928
15929         * configure.ac:
15930           check for some headers
15931         * gst/elements/Makefile.am:
15932         * gst/elements/gstelements.c:
15933           don't compile fdsrc without sys/socket.h
15934         * gst/indexers/Makefile.am:
15935         * gst/indexers/gstindexers.c: (plugin_init):
15936           don't compile fileindex without mmap
15937
15938 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
15939
15940         * configure.ac:
15941           reorganize
15942           clean up
15943           document more
15944           remove cruft
15945         * check/Makefile.am:
15946         * docs/gst/Makefile.am:
15947         * examples/helloworld/Makefile.am:
15948         * gst/Makefile.am:
15949         * gst/base/Makefile.am:
15950         * gst/check/Makefile.am:
15951         * gst/elements/Makefile.am:
15952         * gst/indexers/Makefile.am:
15953         * gst/parse/Makefile.am:
15954         * libs/gst/controller/Makefile.am:
15955         * libs/gst/dataprotocol/Makefile.am:
15956         * examples/helloworld/helloworld.c: (event_loop):
15957           compile fixes, though it's not being compiled currently
15958
15959 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
15960
15961         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
15962           Add some simple tests for the new taglist date API.
15963
15964 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
15965
15966         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
15967         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
15968           Beautify 'last-message' output: print 'none' for buffer timestamps
15969           and durations if none is set; improve alignment with next messages.
15970
15971 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
15972
15973         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
15974         * gst/gstpluginfeature.h:
15975         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
15976         * gst/gstregistry.h:
15977         * docs/gst/gstreamer-sections.txt:
15978           Add new API to check plugin feature version requirements.
15979
15980         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
15981           Some basic tests for the above.         
15982
15983 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
15984
15985         * gst/gststructure.c: (gst_structure_to_string):
15986           guard against NULL printf - happens when for example
15987           a message structure with GstClock gets serialized
15988
15989 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
15990
15991         * gst/base/gstcollectpads.c: (gst_collectpads_event):
15992           Fix presumable copy'n'pasto.
15993
15994 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
15995
15996         * gst/elements/gstfakesrc.h:
15997         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
15998         * gst/elements/gsttypefindelement.c:
15999           fix some signedness
16000         * gst/elements/gstfilesink.c: (gst_file_sink_render):
16001           I wonder if this could actually write +2GB files before
16002
16003 2005-10-13  Andy Wingo  <wingo@pobox.com>
16004
16005         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
16006         Fix Timmeke Waymans bug.
16007         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
16008         string of the proper length to gst_caps_from_string. There's a
16009         potential for, before this fix, that this could cause someone
16010         connecting over the network to cause a segfault if the payload is
16011         not NUL-terminated.
16012
16013 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
16014
16015         * docs/design/draft-push-pull.txt:
16016         * docs/design/part-overview.txt:
16017         * docs/random/TODO-pre-0.9:
16018         * docs/random/old/ChangeLog.gstreamer:
16019         * gst/base/gstpushsrc.c:
16020         * gst/gstclock.c:
16021           fixed typos
16022
16023 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
16024
16025         * gst/glib-compat.c: (gst_flags_get_first_value):
16026         * gst/glib-compat.h:
16027         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
16028         (gst_value_compare_double), (gst_value_serialize_flags):
16029           GLib 2.6 g_flags_get_first_value has a bug that triggers an
16030           infinite loop
16031
16032 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
16033
16034         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
16035         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
16036           fix up debugging
16037         * tools/gst-launch.c: (event_loop):
16038           print out clock nicely
16039
16040 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
16041
16042         * docs/gst/gstreamer-sections.txt:
16043         * gst/gsttaglist.h:
16044         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
16045         (gst_tag_list_get_date_index):
16046           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
16047           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
16048
16049 2005-10-13  Julien MOUTTE  <julien@moutte.net>
16050
16051         * gst/base/gstcollectpads.c: (gst_collectpads_event),
16052         (gst_collectpads_chain):
16053         * gst/base/gstcollectpads.h: Handle newsegment and store informations
16054         in CollectData.
16055
16056 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
16057
16058         * docs/gst/gstreamer-sections.txt:
16059         * gst/gst.c:
16060         * gst/gsterror.h:
16061         * tools/gst-inspect.c: (main):
16062         * tools/gst-launch.c: (main):
16063         * tools/gst-run.c: (main):
16064         * tools/gst-xmlinspect.c: (main):
16065           fix GOption context leaks
16066           doc fixes
16067
16068 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
16069
16070         * gst/gstbus.c:
16071           use HAVE_UNISTD_H
16072         * win32/common/config.h:
16073           update config
16074         * win32/vs6/grammar.dsp:
16075         * win32/vs6/libgstelements.dsp:
16076         * win32/vs6/libgstreamer.dsp:
16077           update vs6 files
16078
16079 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
16080
16081         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
16082         * gst/base/gstbasesrc.c: (gst_base_src_query):
16083           fix more guint64<->gdouble conversions
16084
16085 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
16086
16087         * Makefile.am:
16088           add win32-update target
16089         * win32/common/gstconfig.h:
16090         * win32/common/gstenumtypes.c:
16091         * win32/common/gstenumtypes.h:
16092         * win32/common/gstversion.h:
16093           add files that visual studio can't generate
16094
16095 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
16096
16097         * Makefile.am:
16098           add a win32-update target
16099         * configure.ac:
16100
16101 2005-10-12  Wim Taymans  <wim@fluendo.com>
16102
16103         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
16104         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
16105         * gst/gstelement.c: (gst_element_commit_state),
16106         (gst_element_set_state):
16107         Protect flags with proper lock.
16108         unref provided cached clock in dispose.
16109
16110 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
16111
16112         * gst/gst.c:
16113         * gst/gstminiobject.h:
16114         * gst/gstpad.h:
16115         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
16116           removed unused flags from miniobject
16117           doc fixes
16118
16119 2005-10-12  Wim Taymans  <wim@fluendo.com>
16120
16121         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
16122         (gst_file_sink_event), (gst_file_sink_render):
16123         Flush before seeking.
16124
16125 2005-10-12  Andy Wingo  <wingo@pobox.com>
16126
16127         * gst/gst.c (gst_init_check): Ignore unknown options, as has
16128         always been the case.
16129
16130 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
16131
16132         * check/gst/gstbin.c: (GST_START_TEST):
16133         * docs/gst/gstreamer-sections.txt:
16134         * gst/base/gstbasesink.c: (gst_base_sink_init):
16135         * gst/base/gstbasesrc.c: (gst_base_src_init),
16136         (gst_base_src_get_range), (gst_base_src_check_get_range),
16137         (gst_base_src_start), (gst_base_src_stop):
16138         * gst/base/gstbasesrc.h:
16139         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
16140         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
16141         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
16142         (bin_bus_handler):
16143         * gst/gstbin.h:
16144         * gst/gstbuffer.h:
16145         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
16146         * gst/gstbus.h:
16147         * gst/gstelement.c: (gst_element_is_locked_state),
16148         (gst_element_set_locked_state), (gst_element_commit_state),
16149         (gst_element_set_state):
16150         * gst/gstelement.h:
16151         * gst/gstindex.c: (gst_index_init):
16152         * gst/gstindex.h:
16153         * gst/gstminiobject.h:
16154         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
16155         (gst_object_set_parent):
16156         * gst/gstobject.h:
16157         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
16158         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
16159         * gst/gstpad.h:
16160         * gst/gstpadtemplate.h:
16161         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
16162         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
16163         * gst/gstpipeline.h:
16164         * gst/indexers/gstfileindex.c: (gst_file_index_load),
16165         (gst_file_index_commit):
16166         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
16167         * testsuite/pad/link.c: (gst_test_src_init),
16168         (gst_test_filter_init), (gst_test_sink_init):
16169         * testsuite/states/locked.c: (main):
16170           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
16171           moved bitshift from macro to enum definition
16172
16173 2005-10-12  Wim Taymans  <wim@fluendo.com>
16174
16175         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
16176         * gst/elements/gstfilesink.c: (gst_file_sink_event),
16177         (gst_file_sink_render):
16178         Some more debugging info.
16179
16180 2005-10-12  Wim Taymans  <wim@fluendo.com>
16181
16182         * docs/design/part-states.txt:
16183         * tools/gst-launch.c: (main):
16184         Some doc updates.
16185         Revert non-intentional change.
16186
16187 2005-10-12  Wim Taymans  <wim@fluendo.com>
16188
16189         * check/gst/gstbin.c: (GST_START_TEST):
16190         * check/gst/gstelement.c: (GST_START_TEST):
16191         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
16192         * check/gst/gstghostpad.c: (GST_START_TEST):
16193         * check/gst/gstpipeline.c: (GST_START_TEST):
16194         * check/pipelines/simple_launch_lines.c: (run_pipeline):
16195         * check/states/sinks.c: (GST_START_TEST):
16196         * gst/elements/gsttypefindelement.c: (stop_typefinding):
16197         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
16198         (gst_bin_remove_func), (gst_bin_get_state_func),
16199         (gst_bin_recalc_state), (gst_bin_change_state_func),
16200         (bin_bus_handler):
16201         * gst/gstelement.c: (gst_element_get_state_func),
16202         (gst_element_get_state), (gst_element_abort_state),
16203         (gst_element_commit_state), (gst_element_set_state),
16204         (gst_element_change_state), (gst_element_change_state_func):
16205         * gst/gstelement.h:
16206         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
16207         (gst_pipeline_provide_clock_func):
16208         * gst/gstutils.c: (gst_element_link_pads_filtered):
16209         * tools/gst-launch.c: (main):
16210         * tools/gst-typefind.c: (main):
16211         Use GstClockTime in _get_state() instead of GTimeVal.
16212         Remove old code in gstutils.c
16213
16214 2005-10-12  Andy Wingo  <wingo@pobox.com>
16215
16216         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
16217         removed.
16218
16219         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
16220         there is no task. Shouldn't affect any code, as nothing in our
16221         plugins checks this return value.
16222         (gst_pad_stop_task): Also take the stream lock if the pad has no
16223         task. Docs updated.
16224
16225 2005-10-12  Wim Taymans  <wim@fluendo.com>
16226
16227         * gst/gstpad.c: (pre_activate), (post_activate),
16228         (gst_pad_activate_pull), (gst_pad_activate_push):
16229         Cleanup activation code. Reset old state if
16230         activation failed.
16231
16232 2005-10-12  Wim Taymans  <wim@fluendo.com>
16233
16234         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
16235         (gst_base_sink_change_state):
16236         No need to prerol after receiving EOS.
16237
16238         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
16239         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
16240         * gst/elements/gstidentity.c: (gst_identity_event):
16241         Print events more verbosely.
16242
16243 2005-10-12  Wim Taymans  <wim@fluendo.com>
16244
16245         * check/Makefile.am:
16246         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
16247         * check/states/sinks2.c:
16248         Moved sinks2 testcode in sinks check.
16249
16250         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
16251         (gst_bin_remove_func), (gst_bin_recalc_state),
16252         (gst_bin_change_state_func), (bin_bus_handler):
16253         Fix potential race condition when _get_state() iterated over an
16254         ASYNC element right before it posted a state completion.
16255
16256         * gst/gstclock.h:
16257         Do proper cast here.
16258
16259         * gst/gstevent.c: (gst_event_new_newsegment),
16260         (gst_event_parse_newsegment):
16261         A playback rate of 0.0 is not allowed.
16262
16263 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
16264
16265         * win32/common/config.h:
16266         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
16267         (_trewinddir), (_ttelldir), (_tseekdir):
16268         * win32/common/dirent.h:
16269         * win32/common/gtchar.h:
16270         * win32/common/libgstbase.def:
16271         * win32/common/libgstreamer.def:
16272         * win32/vs6/grammar.dsp:
16273         * win32/vs6/gst_inspect.dsp:
16274         * win32/vs6/gst_launch.dsp:
16275         * win32/vs6/gstreamer.dsw:
16276         * win32/vs6/libgstbase.dsp:
16277         * win32/vs6/libgstelements.dsp:
16278         * win32/vs6/libgstreamer.dsp:
16279           Visual Studio 6 project files, and a new common directory.
16280           Phear.
16281
16282 2005-10-11  Wim Taymans  <wim@fluendo.com>
16283
16284         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
16285         (gst_base_sink_do_sync), (gst_base_sink_query),
16286         (gst_base_sink_change_state):
16287         * gst/base/gstbasesink.h:
16288         Correctly parse newsegment info.
16289
16290 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
16291
16292         * gst/gst.c: (init_post):
16293           split plugin paths correctly
16294
16295 2005-10-11  Wim Taymans  <wim@fluendo.com>
16296
16297         * check/gst/gstevent.c: (GST_START_TEST):
16298         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
16299         (gst_base_sink_change_state):
16300         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
16301         * gst/base/gstbasetransform.c: (gst_base_transform_event):
16302         * gst/elements/gstfilesink.c: (gst_file_sink_event):
16303         * gst/gstevent.c: (gst_event_new_newsegment),
16304         (gst_event_parse_newsegment):
16305         * gst/gstevent.h:
16306         Added extra flag to newsegment for future API freeze.
16307         Updated check and base elements.
16308
16309 2005-10-11  Julien MOUTTE  <julien@moutte.net>
16310
16311         * gst/base/gstcollectpads.c: (gst_collectpads_init),
16312         (gst_collectpads_add_pad), (gst_collectpads_pop),
16313         (gst_collectpads_event), (gst_collectpads_chain):
16314         * gst/base/gstcollectpads.h: Handle EOS correctly.
16315
16316 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
16317
16318         * tools/gst-launch.c: (main):
16319           more null protecting
16320
16321 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
16322
16323         * gst/gst-i18n-lib.h:
16324           check for ENABLE_NLS, not GETTEXT_PACKAGE
16325         * gst/gstregistry.c: (gst_registry_add_plugin),
16326         (gst_registry_scan_path_level),
16327         (_gst_registry_remove_cache_plugins):
16328           protect possibly NULL strings
16329         * gst/parse/types.h:
16330           config.h already included before
16331         * tools/gst-inspect.c: (main):
16332           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
16333           check for ENABLE_NLS, not GETTEXT_PACKAGE
16334         * tools/gst-launch.c: (main):
16335           check for ENABLE_NLS, not GETTEXT_PACKAGE
16336
16337 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
16338
16339         * configure.ac:
16340           if we don't have glib, fail before testing 2.8
16341         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
16342           fix a leak, should fix plugins-base testsuite
16343
16344 2005-10-11  Andy Wingo  <wingo@pobox.com>
16345
16346         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
16347         take the mode we're going to as an arg. Go head and set the mode
16348         and flushing flags now, so that if the activate function starts a
16349         thread all the flags will be in the right state.
16350         (post_activate): Renamed also. Just handle making sure streaming
16351         finishes for the deactivation case, and setting the deactivated
16352         mode.
16353         (gst_pad_set_active): Complain loudly if deactivation fails.
16354         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
16355         (gst_pad_activate_push): Adapt to pre/post_activate changes,
16356         remove the terrible hack.
16357
16358 2005-10-11  Wim Taymans  <wim@fluendo.com>
16359
16360         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
16361         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
16362         (gst_bin_recalc_state), (gst_bin_change_state_func),
16363         (gst_bin_dispose), (bin_bus_handler):
16364         * gst/gstbin.h:
16365         Prepare to make current EOS message queue more generic.
16366         Fix some typos.
16367
16368         * gst/gstevent.c: (gst_event_new_newsegment),
16369         (gst_event_parse_newsegment):
16370         * gst/gstevent.h:
16371         Rename base to stream_time.
16372
16373         * gst/gstmessage.h:
16374         Fix typo in docs.
16375
16376 2005-10-11  Wim Taymans  <wim@fluendo.com>
16377
16378         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
16379         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
16380         (gst_bin_change_state_func), (bin_bus_handler):
16381         * gst/gstbin.h:
16382         Work on proper clock selection.
16383
16384 2005-10-11  Edward Hervey  <edward@fluendo.com>
16385
16386         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
16387         * libs/gst/controller/gstcontroller.h:
16388         Added GList* version of _remove_properties() in order to be able to wrap
16389         it in bindings.
16390
16391 2005-10-11  Wim Taymans  <wim@fluendo.com>
16392
16393         * docs/design/part-states.txt:
16394         Some more docs.
16395
16396         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
16397         (gst_bin_change_state_func), (bin_bus_handler):
16398         Doc updates. Don't distribute the same clock over and over again.
16399
16400         * gst/gstclock.c:
16401         * gst/gstclock.h:
16402         Doc updates.
16403
16404         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
16405         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
16406         (gst_pad_send_event):
16407         * gst/gstpad.h:
16408         Make probe emission threadsafe again.
16409         Register quarks and move _get_name() from utils.
16410         Doc updates.
16411
16412         * gst/gstpipeline.c: (gst_pipeline_class_init),
16413         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
16414         Only redistribute the clock of it changed.
16415
16416         * gst/gstsystemclock.h:
16417         Doc updates. 
16418
16419         * gst/gstutils.c:
16420         * gst/gstutils.h:
16421         Moved the _flow_get_name() to GstPad.
16422
16423 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
16424
16425         * check/gst-libs/gdp.c: (GST_START_TEST):
16426         * check/gst/gstcaps.c: (GST_START_TEST):
16427         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
16428         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
16429         (gst_dp_packet_from_caps):
16430           fix more valgrind warnings before turning up the heat
16431
16432 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
16433
16434         * gst/parse/grammar.y:
16435           some cleanup before the hacking
16436
16437 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
16438
16439         * gst/base/gstbasesrc.c: (gst_base_src_query):
16440           use conversions
16441         * gst/gstutils.c: (gst_guint64_to_gdouble),
16442         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
16443         * gst/gstutils.h:
16444           externalize, basesrc uses it
16445           obviously the implementation needs testing
16446
16447 2005-10-10  Wim Taymans  <wim@fluendo.com>
16448
16449         * tests/sched/Makefile.am:
16450         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
16451         (make_pipeline3), (make_pipeline4), (print_elem), (main):
16452
16453 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
16454
16455         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
16456           apparently converting from guint64 to double is not implemented
16457           on MSVC
16458
16459 2005-10-10  Wim Taymans  <wim@fluendo.com>
16460
16461         * check/Makefile.am:
16462         * check/generic/states.c: (GST_START_TEST):
16463         * check/gst/gstbin.c: (GST_START_TEST):
16464         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
16465         * check/states/sinks.c: (GST_START_TEST):
16466         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
16467         (main):
16468         Check fixes, use API as stated in design docs, remove hacks.
16469
16470         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
16471         (gst_base_sink_change_state):
16472         Catch stopping our task while we're shutting down.
16473
16474         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
16475         (gst_bin_remove_func), (gst_bin_get_state_func),
16476         (gst_bin_recalc_state), (gst_bin_change_state_func),
16477         (bin_bus_handler):
16478         * gst/gstbin.h:
16479         * gst/gstelement.c: (gst_element_init),
16480         (gst_element_get_state_func), (gst_element_abort_state),
16481         (gst_element_commit_state), (gst_element_lost_state),
16482         (gst_element_set_state), (gst_element_change_state),
16483         (gst_element_change_state_func):
16484         * gst/gstelement.h:
16485         New state change algorithm (see #318116)
16486
16487         * gst/gstpipeline.c: (gst_pipeline_class_init),
16488         (gst_pipeline_init), (gst_pipeline_set_property),
16489         (gst_pipeline_get_property), (do_pipeline_seek),
16490         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
16491         * gst/gstpipeline.h:
16492         Remove crude state change hacks.
16493
16494         * gst/gstutils.h:
16495         Remove crude hacks.
16496
16497         * tools/gst-launch.c: (main):
16498         Fixes for state change. Needs some more work to fully use the
16499         new stuff.
16500
16501 2005-10-10  Andy Wingo  <wingo@pobox.com>
16502
16503         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
16504
16505         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
16506         this flag, but it's not even in GLib 2.6. Odd. Hack around the
16507         issue.
16508
16509 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
16510
16511         * gst/gstiterator.c: (gst_iterator_new):
16512           Fix my previous commit: GTypes passed to gst_iterator_new()
16513           can be fundamental types.
16514
16515 2005-10-10  Wim Taymans  <wim@fluendo.com>
16516
16517         * gst/gstelement.c: (gst_element_iterate_pad_list),
16518         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
16519         (gst_element_iterate_sink_pads):
16520         Use src/sink pads lists for the respective iterators instead
16521         of filtering.
16522
16523 2005-10-10  Andy Wingo  <wingo@pobox.com>
16524
16525         Merged in popt removal + GOption addition patch from Ronald, bug
16526         #169772.
16527
16528         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
16529         GstElement macros around, remove popt-related symbols, add goption
16530         stuff.
16531
16532         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
16533         
16534         * docs/gst/Makefile.am:
16535         * docs/libs/Makefile.am: No POPT_CFLAGS.
16536         
16537         * examples/manual/Makefile.am:
16538         * docs/manual/basics-init.xml: Doc updates with an example.
16539         
16540         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
16541         (gst_init), (parse_one_option), (parse_goption_arg):
16542         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
16543         bit of hand merging and debugging to get the GOption stuff working
16544         tho.
16545         
16546         * tests/Makefile.am:
16547         * tools/Makefile.am:
16548         * tools/gst-inspect.c: (main):
16549         * tools/gst-launch.c: (main):
16550         * tools/gst-run.c: (main):
16551         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
16552
16553 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
16554
16555         * gst/gstiterator.c: (gst_iterator_new):
16556           Add assertions to make sure passed GType is likely to really
16557           be a GType (as the compiler won't catch it if the size and
16558           GType arguments get mixed up, see #318447).
16559
16560 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
16561
16562         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
16563
16564         * gst/gstbin.c: (gst_bin_iterate_sorted):
16565           Pass GType and size arguments to gst_iterator_new() in the right
16566           order (maybe we should make _new() take the GType as first argument
16567           just like _new_list()?) (#318447).
16568           
16569
16570 2005-10-10  Wim Taymans  <wim@fluendo.com>
16571
16572         * gst/gstelement.c: (gst_element_finalize):
16573         And free the GStaticRecMutex too
16574
16575 2005-10-10  Andy Wingo  <wingo@pobox.com>
16576
16577         * gst/gstelement.c (gst_element_init, gst_element_finalize):
16578         Allocate and free the mutex properly.
16579
16580         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
16581         New macros.
16582         (GstElement): The state_lock is now recursive. Rebuild your
16583         plugins, suckers. Old macros adapted.
16584
16585         * docs/gst/gstreamer-sections.txt: Doc updates.
16586
16587         * gst/gstutils.h:
16588         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
16589         (g_static_rec_cond_wait): Ported from state changes patch, while
16590         we wait on bug #317802 to be solved in a well-distributed GLib.
16591
16592         * gst/gstelement.c (gst_element_change_state_func): Renamed from
16593         gst_element_change_state, variable name changes.
16594         (gst_element_change_state): Split out of gst_element_set_state in
16595         preparation for the state change merge. Doesn't pay attention to
16596         the 'transition' argument.
16597         (gst_element_set_state): Updates, hopefully purely cosmetic.
16598         (gst_element_sync_state_with_parent): MT-safety. Ported from the
16599         state change patch.
16600         (gst_element_get_state_func): Renamed from get_state, cosmetic
16601         changes.
16602
16603 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
16604
16605         * gst/elements/gstelements.c:
16606         * win32/GStreamer.vcproj:
16607         * win32/config.h:
16608         * win32/dirent.c: (_tseekdir):
16609         * win32/gst-inspect.vcproj:
16610         * win32/gst-launch.vcproj:
16611         * win32/gstconfig.h:
16612         * win32/gstelements.vcproj:
16613         * win32/gstenumtypes.c: (gst_object_flags_get_type):
16614         * win32/gstreamer.def:
16615         * win32/msvc71.sln:
16616           updates for the win32 build (patch from Sebastien Moutte)
16617
16618 2005-10-10  Andy Wingo  <wingo@pobox.com>
16619
16620         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
16621         gst_bin_get_state, cleaned up (but no logic changes).
16622         (bin_element_is_sink): Comment updates.
16623         (sink_iterator_filter): Remove needless cast.
16624         (gst_bin_iterate_sinks): Doc update.
16625         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
16626         cleaned up (but no logic changes).
16627
16628         * check/states/sinks.c (test_src_sink): Cleanups from the state
16629         change patch.
16630         (test_livesrc_sink): Sync on the state.
16631
16632         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
16633         the state change patch.
16634
16635         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
16636         change patch.
16637
16638         * check/gst/gstbin.c: Merge in some style fixes and additional
16639         checks from Wim's state change patch.
16640
16641 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
16642
16643         * gst/base/gsttypefindhelper.c: (helper_find_peek),
16644         (gst_type_find_helper):
16645           Check whether we have the requested data already in our list of
16646           cached buffers before pulling a new buffer; also make the buffer
16647           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
16648
16649 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
16650
16651         * gst/gstcaps.c:
16652         * gst/gstevent.c:
16653           doc updates
16654         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
16655           don't use long long, it's not portable.  Replacing with
16656           gint64 seems to work; let's hope no skeletons fall out of the closet.
16657
16658 2005-10-10  Andy Wingo  <wingo@pobox.com>
16659
16660         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
16661
16662 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
16663
16664         * docs/gst/gstreamer-sections.txt:
16665         * gst/gstevent.c:
16666         * gst/gstevent.h:
16667         * gst/gstinfo.c:
16668         * gst/gstinfo.h:
16669         * gst/gstmessage.c: (gst_message_parse_state_changed):
16670         * gst/gstpad.c:
16671         * gst/gstpad.h:
16672           more docs, fix compilation
16673
16674 2005-10-09  Philippe Khalaf <burger@speedy.org>
16675         * gst/gstmessage.c:
16676           Fixed a few forgotten variables on previous commit
16677
16678 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
16679
16680         * gst/base/gsttypefindhelper.c: (helper_find_peek):
16681           Fix evil typefind crasher: getrange() might return a short
16682           buffer at the end of a file, but gst_type_find_peek() must
16683           either return the full data as requested or NULL, but
16684           never a short buffer.
16685
16686 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
16687
16688         * gst/gstmessage.c: (gst_message_new_state_changed),
16689         (gst_message_parse_state_changed):
16690         * gst/gstmessage.h:
16691           don't use "new", it's a C++ keyword
16692
16693 2005-10-08  Wim Taymans  <wim@fluendo.com>
16694
16695         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
16696         * gst/gstelement.c: (gst_element_post_message):
16697         * gst/gstpipeline.c: (gst_pipeline_change_state):
16698         Small docs and debug updates.
16699
16700 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
16701
16702         * docs/gst/gstreamer-sections.txt:
16703         * gst/gstelementfactory.c:
16704         * gst/gstevent.c:
16705         * gst/gsttaglist.c:
16706           more docs
16707
16708 2005-10-08  Wim Taymans  <wim@fluendo.com>
16709
16710         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
16711         (gst_bin_dispose), (bin_bus_handler):
16712         Fix typos, add comments.
16713         Clear EOS list when going to PAUSED from any direction and do it
16714         in a threadsafe way.
16715         Get base time in a threadsafe way too.
16716         Fix confusing debug in the change_state function.
16717         Various other small cleanups.
16718         
16719         * gst/gstelement.c: (gst_element_post_message):
16720         Fix very verbose bus posting code.
16721
16722         * gst/gstpipeline.c: (gst_pipeline_class_init),
16723         (gst_pipeline_set_property), (gst_pipeline_get_property),
16724         (gst_pipeline_change_state):
16725         Small ARG_ -> PROP_ cleanup
16726
16727 2005-10-08  Wim Taymans  <wim@fluendo.com>
16728
16729         * gst/gstbin.c: (is_eos), (bin_bus_handler):
16730         Do a less CPU demanding EOS check because we can.
16731
16732 2005-10-08  Wim Taymans  <wim@fluendo.com>
16733
16734         * libs/gst/dataprotocol/dataprotocol.c:
16735         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
16736         (gst_dp_packet_from_event):
16737         * libs/gst/dataprotocol/dataprotocol.h:
16738         * libs/gst/dataprotocol/dp-private.h:
16739         It's about time we bump the version number.
16740         Since event types don't fit in the guint8 anymore describing
16741         the payload type, make payload type 16 bits wide.
16742
16743 2005-10-08  Wim Taymans  <wim@fluendo.com>
16744
16745         * docs/design/part-TODO.txt:
16746         * docs/design/part-clocks.txt:
16747         * docs/design/part-events.txt:
16748         * docs/design/part-gstbin.txt:
16749         * docs/design/part-gstelement.txt:
16750         * docs/design/part-gstpipeline.txt:
16751         * docs/design/part-live-source.txt:
16752         * docs/design/part-messages.txt:
16753         * docs/design/part-overview.txt:
16754         * docs/design/part-states.txt:
16755         Many doc updates.
16756
16757 2005-10-08  Wim Taymans  <wim@fluendo.com>
16758
16759         * gst/gstevent.c:
16760         * gst/gstevent.h:
16761         Fix event quark registration.
16762         Add some space between events so we can insert them in the
16763         right groups.
16764
16765 2005-10-08  Wim Taymans  <wim@fluendo.com>
16766
16767         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
16768         (gst_base_sink_handle_buffer):
16769         Better log message.
16770
16771         * gst/gstbus.h:
16772         * gst/gstelement.h:
16773         More docs.
16774
16775         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
16776         (gst_queue_set_property), (gst_queue_get_property):
16777         * gst/gstqueue.h:
16778         Remove old unused properties.
16779
16780 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
16781         * docs/gst/gstreamer-sections.txt:
16782         * gst/gstmessage.c:
16783         * gst/gstmessage.h:
16784         * gst/gstminiobject.c:
16785         * gst/gstminiobject.h:
16786         * gst/gstobject.h:
16787         * gst/gstpad.h:
16788         * gst/gstutils.h:
16789           lots of new docs and doc fixes
16790
16791 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
16792
16793         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
16794         * gst/gstplugin.h:
16795         * gst/gstregistry.c: (gst_registry_lookup_locked),
16796         (gst_registry_scan_path_level):
16797         * gst/gstregistryxml.c: (load_plugin):
16798           Only ever load one plugin for a given plugin basename.
16799           This ensures correct overriding of GST_PLUGIN_PATH over
16800           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
16801           system installed plugins.
16802
16803 2005-10-08  Wim Taymans  <wim@fluendo.com>
16804
16805         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
16806         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
16807         Prepare for doing QOS.
16808
16809 2005-10-08  Wim Taymans  <wim@fluendo.com>
16810
16811         * check/gst/gstbin.c: (GST_START_TEST):
16812         * check/pipelines/cleanup.c: (GST_START_TEST):
16813         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
16814         Allow new clock message too.
16815
16816 2005-10-08  Wim Taymans  <wim@fluendo.com>
16817
16818         * gst/gstmessage.c: (gst_message_new_error),
16819         (gst_message_new_warning), (gst_message_new_tag),
16820         (gst_message_new_state_changed), (gst_message_new_clock_provide),
16821         (gst_message_new_clock_lost), (gst_message_new_new_clock),
16822         (gst_message_new_segment_start), (gst_message_new_segment_done),
16823         (gst_message_parse_state_changed),
16824         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
16825         (gst_message_parse_new_clock):
16826         * gst/gstmessage.h:
16827         Also carry the clock in question.
16828
16829 2005-10-08  Wim Taymans  <wim@fluendo.com>
16830
16831         * gst/gstmessage.c: (gst_message_new_custom),
16832         (gst_message_new_eos), (gst_message_new_error),
16833         (gst_message_new_warning), (gst_message_new_tag),
16834         (gst_message_new_state_changed), (gst_message_new_clock_provide),
16835         (gst_message_new_new_clock), (gst_message_new_segment_start),
16836         (gst_message_new_segment_done), (gst_message_parse_state_changed),
16837         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
16838         * gst/gstmessage.h:
16839         Clean up.
16840         Added clock related messages.
16841
16842         * gst/gstpipeline.c: (gst_pipeline_change_state):
16843         Post message when the clock changed.
16844
16845         * tools/gst-launch.c: (event_loop):
16846         Print new clock.
16847
16848 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
16849
16850         * tools/gst-inspect.c: (print_element_properties_info):
16851           Can't pass NULL strings to g_print() on windows.
16852
16853 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
16854
16855         * docs/Makefile.am:
16856         * docs/gst/Makefile.am:
16857         * docs/gst/gstreamer-docs.sgml:
16858         * docs/gst/running.xml:
16859         * docs/version.entities.in:
16860           add a chapter on running GStreamer.
16861           document GST_DEBUG and GST_PLUGIN* env vars
16862
16863 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
16864
16865         * Makefile.am:
16866           remove include dir
16867         * configure.ac:
16868           remove PLUGINS_BUILDDIR stuff
16869         * gst/gst.c: (init_post):
16870           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
16871         * idiottest.mak:
16872           remove, it was condescending and not needed
16873
16874 2005-10-08  Wim Taymans  <wim@fluendo.com>
16875
16876         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
16877         (gst_base_sink_handle_object), (gst_base_sink_event),
16878         (gst_base_sink_wait), (gst_base_sink_handle_event),
16879         (gst_base_sink_change_state):
16880         * gst/base/gstbasesink.h:
16881         Repost EOS message while going to PLAYING if still EOS.
16882         Make sure that when receiving a FLUSH_START we don't attempt
16883         to sync on the clock anymore.
16884
16885 2005-10-08  Wim Taymans  <wim@fluendo.com>
16886
16887         * tools/gst-launch.c: (event_loop):
16888         Better message printout.
16889
16890 2005-10-08  Wim Taymans  <wim@fluendo.com>
16891
16892         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
16893         (gst_bin_child_proxy_get_children_count):
16894         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
16895         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
16896         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
16897         (gst_child_proxy_set_valist):
16898         * gst/parse/grammar.y:
16899         Make ChildProxy threadsafe and fix mem leaks.
16900
16901 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
16902
16903         * gst/gst.c: (init_post):
16904           debug the GST_PLUGIN_ env vars
16905
16906 2005-10-08  Wim Taymans  <wim@fluendo.com>
16907
16908         * check/gst/gstbin.c: (GST_START_TEST):
16909         * check/gst/gstmessage.c: (GST_START_TEST):
16910         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
16911         * gst/gstelement.c: (gst_element_commit_state),
16912         (gst_element_lost_state):
16913         * gst/gstmessage.c: (gst_message_new_state_changed),
16914         (gst_message_parse_state_changed):
16915         * gst/gstmessage.h:
16916         * tools/gst-launch.c: (event_loop):
16917         Added extra field to STATE_CHANGE message with the pending
16918         state, which will be different from the new state soon.
16919
16920 2005-10-08  Wim Taymans  <wim@fluendo.com>
16921
16922         * gst/gstbus.c: (gst_bus_pop):
16923         * gst/gstclock.c:
16924         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
16925         Small cleanups and doc updates.
16926
16927 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
16928
16929         * gst/gst.c: (init_pre):
16930         * gst/gstbin.c: (gst_bin_add_func):
16931           log distributing clocks and base time
16932         * gst/gstregistry.c: (gst_registry_add_plugin),
16933         (gst_registry_scan_path_level), (gst_registry_scan_path):
16934           clean up the debugging output a little
16935         * gst/gstutils.c: (gst_element_state_get_name):
16936           warn about a memleak (I've actually seen this be used, though
16937           it was probably a bug)
16938
16939 2005-10-07  Wim Taymans  <wim@fluendo.com>
16940
16941         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
16942         (gst_base_src_init), (gst_base_src_default_newsegment),
16943         (gst_base_src_newsegment), (gst_base_src_do_seek),
16944         (gst_base_src_loop), (gst_base_src_start):
16945         * gst/base/gstbasesrc.h:
16946         Make the newsegment event customizable by subclasses.
16947
16948 2005-10-07  Wim Taymans  <wim@fluendo.com>
16949
16950         * gst/gstevent.c: (gst_event_new_buffersize),
16951         (gst_event_parse_buffersize):
16952         * gst/gstevent.h:
16953         New event for future idea.
16954
16955 2005-10-07  Andy Wingo  <wingo@pobox.com>
16956
16957         * gst/gstelement.c (gst_element_post_message): Doc update.
16958
16959         * docs/gst/gstreamer-sections.txt: Update.
16960
16961         * gst/gstmessage.c (gst_message_new_application): Made into a
16962         function like honest API calls.
16963         (gst_message_new_element): New message type.
16964
16965         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
16966
16967         * check/elements/fakesrc.c (test_no_preroll): New check, checks
16968         that setting a live fakesrc to PAUSED returns NO_PREROLL both
16969         times.
16970
16971         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
16972         NO_PREROLL from gst_element_change_state to fall through.
16973
16974 2005-10-07  Wim Taymans  <wim@fluendo.com>
16975
16976         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
16977         (gst_ghost_pad_do_activate_push):
16978         Activating a ghostpad with no internal pad in push mode
16979         is ok.
16980
16981 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
16982
16983         * gst/gstobject.h:
16984           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
16985           Fixes compilation on Windows.
16986
16987 2005-10-07  Michael Smith <msmith@fluendo.com>
16988
16989         * tools/gst-inspect.c:
16990           Print out feature and plugin count at the end when printing out
16991           all features.
16992
16993 2005-10-04  Michael Smith <msmith@fluendo.com>
16994
16995         * gst/gsterror.c: (_gst_stream_errors_init):
16996           Add another error string used in a few existing plugins.
16997
16998         * gst/gstplugin.c:
16999         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
17000         * tools/gst-inspect.c: (print_element_info):
17001           When a feature disappears from a plugin (and the feature exists in
17002           the cached registry file), things went horribly wrong. This isn't a
17003           complete fix, we should actually be removing the 'missing' features
17004           from the features list when we load the actual plugin. That's not
17005           yet implemented. 
17006
17007 2005-10-04  Johan Dahlin  <johan@gnome.org>
17008
17009         * check/gst/gstiterator.c: (GST_START_TEST):
17010         * gst/gstbin.c: (gst_bin_iterate_elements),
17011         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
17012         * gst/gstelement.c: (gst_element_iterate_pads):
17013         * gst/gstformat.c: (gst_format_iterate_definitions):
17014         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
17015         (gst_iterator_new_list), (gst_iterator_filter):
17016         * gst/gstiterator.h:
17017         * gst/gstquery.c: (gst_query_type_iterate_definitions):
17018         Add a GType to GstIterator, update callsites and tests.
17019
17020 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
17021
17022         * gst/gstpad.c: (gst_pad_event_default_dispatch):
17023           give events a chance to be handled by event probes when the pad
17024           is not linked
17025
17026 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
17027
17028         * gst/gstevent.c: (gst_event_type_get_name),
17029         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
17030         * gst/gstevent.h:
17031           add string representations for event types
17032
17033 2005-10-06  Wim Taymans  <wim@fluendo.com>
17034
17035         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
17036         Don't use NULL pointers.
17037
17038 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
17039
17040         * gst/gst_private.h:
17041         * gst/gstbus.c:
17042         * gst/gstelement.c:
17043         * gst/gstinfo.c:
17044         * gst/gstpluginfeature.c:
17045           widen the debug category in output to fit the biggest one we have
17046           add a bus category and use it
17047           play with the colors
17048           fix up some categories
17049
17050 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
17051
17052         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
17053           add push activation of sink ghost pads.
17054           Andye, please verify
17055
17056 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
17057
17058         * gst/gstutils.c: (gst_element_link_pads):
17059           fix a bug in the case where neither element has a pad
17060         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
17061           add a test for that case
17062
17063 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
17064
17065         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
17066           emit have-data before checking for peers.  This allows
17067           for probe handlers to connect elements.  This helps autopluggers.
17068         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
17069         (gst_pad_suite):
17070           add six checks, linked/unlinked with no/true/false probe
17071
17072 2005-10-04  Wim Taymans  <wim@fluendo.com>
17073
17074         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
17075         (gst_fake_sink_event), (gst_fake_sink_preroll),
17076         (gst_fake_sink_render), (gst_fake_sink_change_state):
17077         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
17078         (gst_fake_src_get_property), (gst_fake_src_create),
17079         (gst_fake_src_stop):
17080         * gst/elements/gstidentity.c: (gst_identity_stop):
17081         Protect last_message with lock.
17082
17083 2005-10-04  Edward Hervey  <edward@fluendo.com>
17084
17085         * gst/gstformat.h: 
17086         Added precision in the comments for GST_FORMAT_DEFAULT
17087
17088 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
17089
17090         * tools/gst-launch.c: (main):
17091           Don't try to run erroneous pipelines.
17092
17093 2005-10-04  Julien MOUTTE  <julien@moutte.net>
17094
17095         * gst/gstbus.c: We don't need this header.
17096
17097 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
17098
17099         * configure.ac:
17100           back to development
17101
17102 === release 0.9.3 ===
17103
17104 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
17105
17106         * README:
17107         * configure.ac:
17108           Releasing 0.9.3, "Unregistered"
17109
17110 2005-10-03  Andy Wingo  <wingo@pobox.com>
17111
17112         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
17113         whereby calling a pad's activatepush() function can start a thread
17114         that starts to push or pull before the pad gets the FLUSHING flag
17115         unset. Hack around it by holding the stream lock until the flag is
17116         set. Need to replace this with a proper solution. Together with
17117         the ghost pad fixes, this fixes mp3 playing/tagreading.
17118
17119         * docs/design/part-gstghostpad.txt: Add a note about activation of
17120         proxy pads outside of ghost pads.
17121
17122         * gst/gstghostpad.c: Implement the ghost pad activation design.
17123
17124 2005-10-02  Andy Wingo  <wingo@pobox.com>
17125
17126         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
17127         It is volatile, after all.
17128
17129         * docs/design/part-gstghostpad.txt: Flesh out activation with
17130         ghost pads.
17131
17132         * gst/base/gstbasesrc.c (gst_base_src_init): Use
17133         GST_DEBUG_FUNCPTR.
17134
17135 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
17136
17137         * configure.ac:
17138           Fix (unused) AM_CONDITIONAL tests.
17139
17140 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
17141
17142         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
17143
17144         * gst/gstutils.c: (gst_pad_query_convert):
17145           Add assertion that makes sure src_val is >=0, just like
17146           gst_query_new_convert() has. (#315895)
17147
17148 2005-09-30  Edward Hervey  <edward@fluendo.com>
17149
17150         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
17151         Let's not iterate pads we're not interested in, it avoids getting 
17152         sky-high refcounts on sinkpad.
17153
17154 2005-09-30  Wim Taymans  <wim@fluendo.com>
17155
17156         * gst/gstelement.c: (gst_element_set_state),
17157         (gst_element_change_state):
17158         Small tweak, element in ASYNC remains ASYNC.
17159
17160 2005-09-30  Wim Taymans  <wim@fluendo.com>
17161
17162         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
17163         Only error is an error.
17164
17165         * gst/gstbin.c: (gst_bin_change_state):
17166         Better debugging.
17167
17168         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
17169         Also call pad_block in pad alloc.
17170
17171         * gst/gstutils.c: (gst_flow_get_name):
17172         Better debugging.
17173
17174 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
17175
17176         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
17177         (gst_base_src_get_range):
17178           Fix documentation typos. Add some more debug info.
17179
17180 2005-09-29  David Schleef  <ds@schleef.org>
17181
17182         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
17183           more end-user friendly.
17184         * tools/gst-inspect.c: (main): Check if command-line argument is
17185           a file and attempt to load that file as a plugin.
17186
17187 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
17188
17189         * check/gst/gstbin.c:
17190         * check/states/sinks.c:
17191           fix tests for the new warning
17192         * check/gst/gstpipeline.c:
17193           add a test for pipeline and bus interaction
17194         * gst/gstelement.c:
17195           elements should be NULL if they get disposed; add a warning if not
17196
17197 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
17198
17199         * gst/gstobject.c:
17200           for 2.6 refcounting, make debug log more correct by printing
17201           the actual refcounts at the time of swap (Wim)
17202
17203 2005-09-29  Andy Wingo  <wingo@pobox.com>
17204
17205         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
17206         removes signal watches previously added via
17207         gst_bus_add_signal_watch.
17208         (gst_bus_add_signal_watch): Don't return the source id, just store
17209         it on the bus if there wasn't an id already.
17210
17211         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
17212         add_signal_watch and remove_signal_watch.
17213
17214 2005-09-29  Edward Hervey  <edward@fluendo.com>
17215
17216         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
17217         Better if we actually iterate the list :)
17218
17219 2005-09-29  Wim Taymans  <wim@fluendo.com>
17220
17221         * check/gst/gstbin.c: (GST_START_TEST):
17222         Change for new bus API.
17223
17224         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
17225         (send_messages), (GST_START_TEST), (gstbus_suite):
17226         Change for new bus signal API.
17227
17228         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
17229         (gst_bus_source_prepare), (gst_bus_source_check),
17230         (gst_bus_create_watch), (gst_bus_add_watch_full),
17231         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
17232         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
17233         * gst/gstbus.h:
17234         Remove support for multiple GSources operating on different
17235         message types as it is too complex and unneeded when using
17236         signals.
17237         Added support for receiving signals from the bus.
17238
17239 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
17240
17241         * docs/libs/tmpl/gstdataprotocol.sgml:
17242         * docs/manual/advanced-dataaccess.xml:
17243         * gst/elements/gstcapsfilter.c:
17244         * gst/gstutils.c:
17245           rename filter-caps to caps property
17246
17247 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
17248
17249         * gst/gstvalue.c: (gst_value_deserialize_fraction):
17250           More robust fraction string parsing.
17251
17252         * docs/pwg/appendix-porting.xml:
17253           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
17254
17255 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
17256
17257         * gst/gstcaps.c: (gst_caps_do_simplify):
17258           Thou shalt not free a structure and then continue using it
17259           in the next loop iteration.
17260
17261         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
17262         (gst_caps_suite):
17263           Add test case for caps simplification.
17264
17265 2005-09-29  Wim Taymans  <wim@fluendo.com>
17266
17267         * check/gst/gstbin.c: (GST_START_TEST):
17268         Oops.
17269
17270 2005-09-29  Wim Taymans  <wim@fluendo.com>
17271
17272         * check/gst/gstbin.c: (GST_START_TEST):
17273         Add bus to bin.
17274
17275         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
17276         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
17277         (find_element), (gst_bin_sort_iterator_next),
17278         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
17279         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
17280         (gst_bin_change_state), (gst_bin_dispose):
17281         A bin does not have a bus, it gets the bus from the parent.
17282
17283         * gst/gstelement.c: (gst_element_requires_clock),
17284         (gst_element_provides_clock), (gst_element_is_indexable),
17285         (gst_element_is_locked_state), (gst_element_change_state),
17286         (gst_element_set_bus_func):
17287         Small cleanups.
17288
17289         * gst/gstpipeline.c: (gst_pipeline_class_init),
17290         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
17291         The pipeline provides a bus.
17292
17293 2005-09-28  Johan Dahlin  <johan@gnome.org>
17294
17295         * gst/gstmessage.c (gst_message_parse_state_changed): Use
17296         gst_structure_get_enum instead of gst_structure_get_int
17297
17298         * gst/gststructure.c (gst_structure_get_enum): Impl.
17299
17300         * gst/gststructure.h (gst_structure_get_enum): Add
17301
17302         * docs/gst/gstreamer-sections.txt: Ditto
17303
17304         * gst/gstmessage.c (gst_message_new_state_changed): Use
17305         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
17306         which does introspection.
17307         Reviewed by Christian Schaller
17308
17309 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
17310
17311         * gst/gstinfo.c: (gst_debug_log_default):
17312           don't do dummy g_strdup()s
17313         * libs/gst/controller/gstcontroller.c:
17314         (on_object_controlled_property_changed),
17315         (gst_controlled_property_new), (gst_controller_new_valist),
17316         (gst_controller_new_list),
17317         (gst_controller_remove_properties_valist), (gst_controller_set),
17318         (gst_controller_get), (gst_controller_sync_values),
17319         (gst_controller_get_value_array), (_gst_controller_class_init),
17320         (gst_controller_get_type):
17321         * libs/gst/controller/gstcontroller.h:
17322         * libs/gst/controller/gstinterpolation.c:
17323         (gst_controlled_property_find_timed_value_node):
17324           convert // to /**/ comments
17325
17326 2005-09-28  Wim Taymans  <wim@fluendo.com>
17327
17328         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
17329         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
17330         (gst_bus_sync_signal_handler):
17331         * gst/gstbus.h:
17332         Added async-message and sync-message signals to the bus.
17333         Added helper BusFunc to emit signals for all posted messages.
17334
17335         * gst/gstmessage.c: (gst_message_type_get_name),
17336         (gst_message_type_to_quark), (gst_message_get_type):
17337         * gst/gstmessage.h:
17338         Register quarks for message names.
17339
17340 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
17341
17342         * docs/libs/gstreamer-libs-sections.txt:
17343         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
17344         (gst_controller_new_list):
17345         * libs/gst/controller/gstcontroller.h:
17346           added another constructor for language bindings
17347
17348 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
17349
17350         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
17351           add another check
17352         * gst/gstbus.c:
17353           add some doc
17354         * gst/gstinfo.c: (_gst_debug_init):
17355           slightly more readable color for refcount debugging
17356
17357 2005-09-28  Wim Taymans  <wim@fluendo.com>
17358
17359         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
17360         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
17361         (find_element), (gst_bin_sort_iterator_next),
17362         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
17363         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
17364         (gst_bin_change_state), (gst_bin_dispose):
17365         Small doc fixes. get_clock -> provide_clock.
17366
17367         * gst/gstelement.c: (gst_element_class_init),
17368         (gst_element_provides_clock), (gst_element_provide_clock),
17369         (gst_element_get_clock), (gst_element_commit_state),
17370         (gst_element_lost_state):
17371         * gst/gstelement.h:
17372         Make get/set_clock() symetric. Add provide_clock vmethod since
17373         that is actually what this function does.
17374
17375         * gst/gstpipeline.c: (gst_pipeline_class_init),
17376         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
17377         (gst_pipeline_get_clock):
17378         get_clock -> provide_clock.
17379
17380 2005-09-28  Andy Wingo  <wingo@pobox.com>
17381
17382         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
17383         lieu of real docs...
17384
17385         * gst/elements/gstfdsrc.c: Cleaned up a bit.
17386
17387 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
17388
17389         * gst/elements/gstcapsfilter.c:
17390         * gst/elements/gstfakesink.c:
17391         * gst/elements/gstfakesrc.c:
17392         * gst/elements/gstfdsink.c:
17393         * gst/elements/gstfdsrc.c:
17394         * gst/elements/gstfilesink.c:
17395         * gst/elements/gstfilesrc.c:
17396         * gst/elements/gstidentity.c:
17397         * gst/elements/gsttee.c:
17398         * gst/elements/gsttypefindelement.c:
17399           Make element details static.
17400
17401 2005-09-28  Wim Taymans  <wim@fluendo.com>
17402
17403         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
17404         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
17405         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
17406         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
17407         (gst_bin_change_state), (gst_bin_dispose):
17408         Some documentation updates.
17409         Clean up dispose handlers.
17410
17411         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
17412         * gst/gstpad.c: (gst_pad_dispose):
17413         Clean up dispose handler.
17414
17415         * gst/gstpipeline.c: (gst_pipeline_change_state):
17416         Removed spurious UNLOCK.
17417
17418 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
17419
17420         * docs/gst/gstreamer-sections.txt:
17421         * gst/base/gstbasesrc.h:
17422         * gst/gstelement.h:
17423         * gst/gstevent.h:
17424         * gst/gstobject.h:
17425         * gst/gstpad.h:
17426         * gst/gstpipeline.c:
17427         * gst/gstpipeline.h:
17428         * gst/gstutils.h:
17429         * gst/gstxml.h:
17430           added two new functions to the docs
17431                 documents all undocumented GstXXXFlags
17432                 completed some incomplete docs 
17433
17434 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
17435
17436         * gst/gstbin.c: (gst_bin_dispose):
17437         * gst/gstelement.c: (gst_element_dispose):
17438           remove now useless and leaky resurrection code in dispose
17439         * gst/base/gstbasesrc.c: (gst_base_src_init):
17440         * gst/gstelementfactory.c: (gst_element_factory_create):
17441         * gst/gstobject.c: (gst_object_set_parent):
17442           add some debugging
17443
17444 2005-09-27  Wim Taymans  <wim@fluendo.com>
17445
17446         * docs/design/part-TODO.txt:
17447         Update TODO.
17448
17449         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
17450         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
17451         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
17452         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
17453         (gst_bin_change_state):
17454         * gst/gstelement.h:
17455         Remove element variable, we keep element info in the iterator now.
17456
17457 2005-09-27  Andy Wingo  <wingo@pobox.com>
17458
17459         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
17460         values.
17461
17462 2005-09-27  Wim Taymans  <wim@fluendo.com>
17463
17464         * check/gst/gstbin.c: (GST_START_TEST):
17465         Enable check that works now.
17466
17467         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
17468         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
17469         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
17470         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
17471         (gst_bin_change_state):
17472         * gst/gstbin.h:
17473         Redid the state change algorithm using a topological sort algo.
17474         Handles all cases correctly.
17475         Exposed iterator for state change order.
17476
17477         * gst/gstelement.h:
17478         Temp storage for state changes. Need to get rid of this soon.
17479
17480 2005-09-27  Wim Taymans  <wim@fluendo.com>
17481
17482         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
17483         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
17484         (link_fold_func), (gst_pad_proxy_setcaps):
17485         Leak fixes, the fold functions need to unref the passed object and
17486         _get_parent_*() returns ref to parent.
17487
17488 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
17489
17490         * check/gst/gstbuffer.c: (test_make_writable):
17491           Plug leak in test case and fix 'make check-valgrind'
17492
17493 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
17494
17495         * gst/gstbuffer.c: (gst_subbuffer_init):
17496           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
17497           works correctly in all circumstances (we could have just copied
17498           the parent buffer's readonly flag, but conceptually it seems
17499           cleaner to mark all subbuffers as read-only). (based on patch
17500           by Alessandro Decina, #314710).
17501         
17502         * check/gst/gstbuffer.c: (create_read_only_buffer),
17503         (test_make_writable), (test_subbuffer_make_writable),
17504         (gst_test_suite):
17505           Add some tests for gst_buffer_make_writable().
17506
17507 2005-09-27  Wim Taymans  <wim@fluendo.com>
17508
17509         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
17510         use gst_object_has_ancestor().
17511
17512         * gst/gstobject.c: (gst_object_has_ancestor):
17513         * gst/gstobject.h:
17514         gst_object_has_ancestor() copied from gstbin.c as it is a
17515         useful function.
17516
17517         * tests/instantiate/create.c: (create_all_elements):
17518         * tests/lat.c: (handoff_src), (handoff_sink):
17519         * tests/sched/runxml.c: (main):
17520         * tests/seeking/seeking1.c: (main):
17521         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
17522         (main):
17523         Fix compilation of some tests.
17524
17525 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
17526
17527         * gst/gsterror.h:
17528           Remove comment. GST_TYPE_G_ERROR is here to stay,
17529           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
17530           (#316961, #300610).
17531
17532 2005-09-26  Wim Taymans  <wim@fluendo.com>
17533
17534         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
17535         Added check that shows error in state change order.
17536
17537 2005-09-26  Wim Taymans  <wim@fluendo.com>
17538
17539         * gst/gstbin.c: (gst_bin_change_state):
17540         Make state change function use 3 queues again, we were
17541         adding elements in the wrong order.
17542
17543         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
17544         Some debug info,
17545
17546         * gst/gstpad.c: (gst_pad_dispose):
17547         Added some debug info first.
17548
17549 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
17550
17551         * docs/design/draft-push-pull.txt:
17552         * docs/design/part-events.txt:
17553         * docs/design/part-overview.txt:
17554         * docs/design/part-scheduling.txt:
17555           Replace all _pull_region() with _pull_range()
17556           
17557 2005-09-26  Andy Wingo  <wingo@pobox.com>
17558
17559         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
17560
17561         * check/gst-libs/controller.c: Update for controller api change.
17562
17563         * configure.ac: 
17564         * tests/Makefile.am:
17565         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
17566         over by GLib bug 118439.
17567         
17568         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
17569         routines to a function.
17570
17571         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
17572
17573         * libs/gst/controller/gsthelper.c:
17574         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
17575         (gst_object_sync_values): Renamed from sink_values. Ugh.
17576
17577         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
17578
17579         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
17580         Renamed from controller_key, as it is exported.
17581
17582         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
17583
17584 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
17585
17586         * gst/Makefile.am:
17587         * gst/gst.h:
17588         * gst/gstpad.h:
17589         * gst/gstpadtemplate.h:
17590         * gst/gstquery.c:
17591         * gst/gstquery.h:
17592         * gst/gstqueryutils.c:
17593         * gst/gstqueryutils.h:
17594           remove queryutils headers after moving the two used functions
17595           to gstquery.  also fixes build problem for gstsiddec
17596
17597 2005-09-26  Michael Smith <msmith@fluendo.com>
17598
17599         * tools/gst-launch.1.in:
17600         Correct documentation in manpage of debug syntax
17601
17602 2005-09-26  Wim Taymans  <wim@fluendo.com>
17603
17604         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
17605         (gst_base_src_is_seekable), (gst_base_src_change_state):
17606         Some more debugging info.
17607
17608 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
17609
17610         * docs/gst/gstreamer-sections.txt:
17611         * gst/base/gstbasetransform.h:
17612         * gst/gstindex.h:
17613           added more docs
17614
17615 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
17616
17617         * docs/gst/.cvsignore:
17618         * docs/gst/tmpl/.cvsignore:
17619         * docs/gst/tmpl/gstpipeline.sgml:
17620         * docs/gst/tmpl/gstplugin.sgml:
17621         * gst/gstpipeline.c:
17622         * gst/gstplugin.c:
17623         * gst/gstplugin.h:
17624           inlined the last two docs files
17625           removed the tmpl directory from cvs (no more conflicts here!)
17626
17627 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
17628
17629         * docs/gst/gstreamer-sections.txt:
17630         * docs/gst/tmpl/.cvsignore:
17631         * docs/gst/tmpl/gstpad.sgml:
17632         * docs/gst/tmpl/gstpadtemplate.sgml:
17633         * gst/Makefile.am:
17634         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
17635         (gst_pad_finalize), (gst_pad_set_pad_template):
17636         * gst/gstpad.h:
17637         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
17638         (gst_pad_template_class_init), (gst_pad_template_init),
17639         (gst_pad_template_dispose), (name_is_valid),
17640         (gst_static_pad_template_get), (gst_pad_template_new),
17641         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
17642         (gst_pad_template_pad_created):
17643         * gst/gstpadtemplate.h:
17644           inlined two more docs
17645           factored gstpadtemplate out of gstpad
17646
17647 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
17648
17649         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
17650         (test_children_state_change_order_semi_sink):
17651           Fix test case: we can't rely on a fixed state change order when
17652           going from READY => PAUSED because the sink might commit its 
17653           new state first when the first buffer created by the source 
17654           reaches the sink before the source has finished its change state.
17655           (Test case still fails at times, see #316856, comment 5 onwards)
17656
17657 2005-09-24  Wim Taymans  <wim@fluendo.com>
17658
17659         * docs/design/part-events.txt:
17660         * docs/design/part-gstbus.txt:
17661         * docs/design/part-gstpipeline.txt:
17662         * docs/design/part-messages.txt:
17663         * docs/design/part-overview.txt:
17664         * docs/design/part-segments.txt:
17665         * gst/gstbin.c:
17666         * gst/gstbuffer.c:
17667         * gst/gstclock.c:
17668         * gst/gstelement.c:
17669         * gst/gstevent.c:
17670         * gst/gstfilter.c:
17671         * gst/gstiterator.c:
17672         Various documentation updates.
17673
17674 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
17675
17676         * gst/gstclock.h:
17677           Well, that's embarassing.  Luckily we weren't using
17678           GST_CLOCK_DIFF anywhere.
17679
17680 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
17681
17682         * common/gtk-doc.mak:
17683           don't fail on building XML, FC4 slave shows a bunch of doc
17684           missing bits that I don't get
17685         * gst/gstpad.c:
17686         * gst/gstpipeline.c:
17687         * gst/gststructure.c:
17688           some doc updates
17689
17690 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
17691
17692         * docs/design/part-gstbin.txt:
17693         * docs/design/part-gstbus.txt:
17694         * gst/gstbus.c:
17695           Add blurb about how the bus goes into flushing mode and
17696           drops all messages when its bin goes from READY into NULL 
17697           state.
17698
17699 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
17700
17701         * docs/gst/gstreamer-sections.txt:
17702         * gst/gststructure.c: (gst_structure_get_clock_time):
17703         * gst/gststructure.h:
17704           add a method to get a GstClockTime out of a structure
17705
17706 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
17707
17708         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
17709         (test_children_state_change_order_semi_sink), (gst_bin_suite):
17710           Added test to check state change order in bins (can still be made
17711           to fail here under heavy disk load; bails out with 'Push on pad
17712           fakesink:sink0, but it was not activated in push mode').
17713
17714         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
17715           Fix state change order when there is only a semi sink (#316856)
17716
17717         * gst/gstbus.c: (gst_bus_class_init):
17718           Use _class_peek_parent(), not _class_ref(); fix docs to say
17719           'default main context' instead of 'mainloop' where that is
17720           what's meant.
17721
17722         * gst/gstelement.c: (gst_element_commit_state),
17723         (gst_element_set_state):
17724           Fix typos in debug messages
17725
17726 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
17727
17728         * docs/README:
17729         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
17730         * gst/gstpluginfeature.c:
17731         * gst/gstutils.c:
17732           various doc updates
17733         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
17734           change an assert into an error until it gets fixed properly
17735
17736 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
17737
17738         * docs/gst/gstreamer-sections.txt:
17739         * docs/gst/tmpl/.cvsignore:
17740         * docs/gst/tmpl/gstelement.sgml:
17741         * docs/gst/tmpl/gstinfo.sgml:
17742         * docs/gst/tmpl/gstobject.sgml:
17743         * gst/gstelement.c:
17744         * gst/gstelement.h:
17745         * gst/gstinfo.c:
17746         * gst/gstinfo.h:
17747         * gst/gstobject.c: (gst_object_class_init):
17748         * gst/gstobject.h:
17749           inlined 3 more biiiig doc files and added some missing docs on the fly
17750
17751 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
17752
17753         * check/gst/.cvsignore:
17754         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
17755         * gst/gstregistryxml.c: (load_plugin),
17756         (gst_registry_xml_save_plugin):
17757           put back source in registry.  add checks for find_plugin.
17758         * testsuite/states/bin.c: (assert_state), (empty_bin),
17759         (test_adding_one_element), (main):
17760         * testsuite/states/locked.c: (main):
17761           some compile/run fixes
17762
17763 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
17764
17765         * check/gst/gstvalue.c: (GST_START_TEST):
17766           fix leaks in the test itself
17767
17768 2005-09-22  Wim Taymans  <wim@fluendo.com>
17769
17770         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
17771         (gst_base_sink_send_event), (gst_base_sink_peer_query),
17772         (gst_base_sink_query):
17773         Prepare for more accurate position reporting and query
17774         handling.
17775
17776         * gst/gstelement.c: (gst_element_send_event),
17777         (gst_element_set_state):
17778         Add some comment.
17779
17780 2005-09-22  Wim Taymans  <wim@fluendo.com>
17781
17782         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
17783         (gst_query_parse_segment):
17784         * gst/gstquery.h:
17785         More documentation.
17786         Add segment query for future use.
17787
17788 2005-09-22  Wim Taymans  <wim@fluendo.com>
17789
17790         * gst/gstbin.c: (gst_bin_add_func):
17791         Some more debug info.
17792
17793         * gst/gstelement.c: (gst_element_send_event):
17794         Simplify send_event
17795
17796         * gst/gstelement.h:
17797         Don't know how flags got broken.
17798
17799         * gst/gstquery.h:
17800         Added new query.
17801
17802 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
17803
17804         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
17805           Add simplistic test suite for GST_TYPE_DATE serialisation and
17806           deserialisation.
17807
17808 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
17809
17810         * docs/gst/gstreamer-sections.txt:
17811         * gst/gststructure.c: (gst_structure_set_valist),
17812         (gst_structure_get_date):
17813         * gst/gststructure.h:
17814         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
17815         (gst_date_copy), (gst_value_compare_date),
17816         (gst_value_serialize_date), (gst_value_deserialize_date),
17817         (gst_value_transform_date_string),
17818         (gst_value_transform_string_date), (_gst_value_initialize):
17819         * gst/gstvalue.h:
17820           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
17821           bunch of utility functions along with a hack that checks that
17822           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
17823           is required. Part of the grand scheme in #170777.
17824
17825 2005-09-22  Andy Wingo  <wingo@pobox.com>
17826
17827         * gst/gstconfig.h.in: Psych out gtk-doc.
17828
17829         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
17830
17831         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
17832
17833         * tools/gst-inspect.c (print_element_list): Plug some
17834         inconsequential leaks.
17835
17836         * gst/gstregistry.c (gst_registry_get_default): Doc.
17837
17838         * check/gst/gstplugin.c: 
17839         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
17840         * gst/gstelementfactory.c (gst_element_factory_create): 
17841         * gst/gstindexfactory.c (gst_index_factory_create): Update for
17842         refcount changes.
17843
17844         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
17845         (gst_plugin_feature_load): Doc, don't eat refs.
17846
17847         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
17848         (gst_plugin_list_free): Doc.
17849         (gst_plugin_load_file): Doc updates.
17850
17851         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
17852         accessors returning refcounted objects, return a ref.
17853
17854         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
17855         accessor for caps. IDEMPOTENCE. Oh yes.
17856
17857 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
17858
17859         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
17860
17861         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
17862         (_gst_debug_register_funcptr):
17863           Add mutex to serialise access to the hash table with
17864           the function pointer => function name string mapping;
17865           make that hash table static scope (#316809).
17866
17867         * gst/registries/.cvsignore:
17868           Remove left-over file.
17869
17870 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
17871
17872         * docs/pwg/appendix-porting.xml:
17873           And something about newsegment events and caps-on-buffers to
17874           the porting guide (feel free to improve).
17875
17876 2005-09-21  Andy Wingo  <wingo@pobox.com>
17877
17878         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
17879         data and event probes on the same pad.
17880         (test_buffer_probe_once): Test that removing probes from within
17881         the probe functions works.
17882
17883 2005-09-21  Andy Wingo  <wingo@pobox.com>
17884
17885         * check/gst/gstutils.c: New file.
17886         (test_buffer_probe_n_times): A simple buffer probe test. More to
17887         come, foolios.
17888
17889         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
17890         have-data::buffer, not have-data.
17891         (gst_pad_add_event_probe): Likewise for have-data::event.
17892         (gst_pad_add_data_probe): More docs. The part about 'resolving the
17893         peer' isn't quite right yet though.
17894         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
17895         (gst_pad_remove_data_probe): Change to take the guint handler_id
17896         as their arg, not the function+data, which is more glib-like.
17897
17898         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
17899         the signal emission to indicate if the data is a buffer or an
17900         event.
17901         (gst_pad_get_type): Initialize buffer and event quarks.
17902         (gst_pad_class_init): have-data is now a detailed signal, yes it
17903         is.
17904
17905 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
17906
17907         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
17908         * gst/gstutils.c: (gst_util_set_value_from_string),
17909         (gst_util_set_object_arg):
17910           Don't put functional code in g_return_if_fail() or
17911           g_return_val_if_fail() statements, otherwise things will 
17912           break when G_DISABLE_CHECKS is defined during compilation.
17913
17914 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
17915
17916         * docs/gst/tmpl/.cvsignore:
17917         * docs/gst/tmpl/gstvalue.sgml:
17918         * gst/gstvalue.c:
17919         * gst/gstvalue.h:
17920           inlied another one and added  some obvious docs
17921
17922 2005-09-21  Wim Taymans  <wim@fluendo.com>
17923
17924         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
17925         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
17926         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
17927         (gst_fdsrc_get_property), (gst_fdsrc_create):
17928         * gst/elements/gstfdsrc.h:
17929         Properly implement fdsrc. Removed signal and timeout,
17930         better implemented somewhere else.
17931
17932 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
17933
17934         * docs/gst/tmpl/.cvsignore:
17935         * docs/gst/tmpl/gstimplementsinterface.sgml:
17936         * gst/gstinterface.c:
17937           inlined more docs
17938
17939 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
17940
17941         * docs/gst/gstreamer-sections.txt:
17942         * docs/gst/tmpl/.cvsignore:
17943         * docs/gst/tmpl/gstenumtypes.sgml:
17944           remove obsolete doc file
17945
17946 2005-09-21  David Schleef  <ds@schleef.org>
17947
17948         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
17949         little beer, fix a little leak.
17950
17951 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
17952
17953         * docs/gst/gstreamer-docs.sgml:
17954         * docs/gst/gstreamer-sections.txt:
17955         * docs/gst/tmpl/.cvsignore:
17956         * gst/Makefile.am:
17957         * gst/gst.h:
17958         * gst/gstbin.c:
17959         * gst/gstelement.h:
17960         * gst/gstindex.c: (gst_index_class_init):
17961         * gst/gstindex.h:
17962         * gst/gstindexfactory.c: (gst_index_factory_get_type),
17963         (gst_index_factory_class_init), (gst_index_factory_init),
17964         (gst_index_factory_finalize), (gst_index_factory_new),
17965         (gst_index_factory_destroy), (gst_index_factory_find),
17966         (gst_index_factory_create), (gst_index_factory_make):
17967         * gst/gstindexfactory.h:
17968         * gst/gstpluginfeature.c:
17969         * gst/gstpluginfeature.h:
17970         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
17971           more docs inlined, splitted gstindex.{c,h}
17972
17973 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
17974
17975         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
17976           fix a leak
17977
17978 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
17979
17980         * gst/elements/gstfilesink.c: (gst_file_sink_init):
17981           Set sync to FALSE by default.
17982
17983 2005-09-20  Wim Taymans  <wim@fluendo.com>
17984
17985         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
17986         (gst_base_sink_init):
17987         Make sync property settable from subclass.
17988
17989         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
17990         (gst_fake_sink_change_state):
17991         Set sync to FALSE by default.
17992
17993 2005-09-20  Wim Taymans  <wim@fluendo.com>
17994
17995         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
17996         * tools/gst-launch.c: (main):
17997         The timeout handler should have lower priority than the source
17998         so we don't timeout before popping a message with 0 timeout.
17999         Dump error messages after failed state change.
18000
18001 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
18002
18003         * tools/gst-inspect.c: (print_element_properties_info):
18004           Fix two typos.
18005
18006 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
18007
18008         * check/gst/gstevent.c:
18009         * gst/elements/gstfakesink.c:
18010         * gst/elements/gstfakesink.h:
18011           remove the sync property from fakesink.
18012           has the side effect of setting sync TRUE
18013           for fakesink, which is a change.  Anyone who knows how
18014           to fix this nicely in a GObject-y way, feel free.
18015
18016 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
18017
18018         * docs/gst/gstreamer-docs.sgml:
18019           remove probe refsection
18020
18021 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
18022
18023         * check/Makefile.am:
18024           disable valgrinding the controller test again
18025         * docs/gst/gstreamer-sections.txt:
18026           update for api-changes
18027
18028 2005-09-20  Wim Taymans  <wim@fluendo.com>
18029
18030         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
18031         (gst_base_sink_set_property), (gst_base_sink_get_property),
18032         (gst_base_sink_do_sync):
18033         * gst/base/gstbasesink.h:
18034         Added sync property to basesink to disable clock sync.
18035
18036 2005-09-20  Andy Wingo  <wingo@pobox.com>
18037
18038         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
18039         eating the caller's refcount.
18040
18041         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
18042         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
18043         refcount.
18044
18045         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
18046         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
18047         of GLib 2.8 public, so we can know which refcount to check in
18048         tests.
18049
18050         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
18051         (gst_object_init): Only set the gst refcount if we're going ahead
18052         with the refcount hack.
18053
18054 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
18055
18056         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
18057         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
18058           more leaks plumbed, added more debug-logging
18059         * gst/gstmacros.h:
18060           whitespace fix
18061
18062 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
18063
18064         * gst/gstmessage.c:
18065           remove include of gstmemchunk.h
18066
18067 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
18068
18069         * gst/gstclock.c: (_gst_clock_id_free):
18070           Commit from the Political Party For More Atomic CVS Commits,
18071           so that people don't waste too much of their day fishing
18072           out obvious leaks out of massive commits.
18073           Oh, and fix a pretty damn obvious leak in the memchunk
18074           removal code.
18075
18076 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
18077
18078         * check/Makefile.am:
18079         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
18080           plug mem-leak, re-add to valgrindable tests
18081
18082 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
18083
18084         * gst/gstplugin.h:
18085           unbreak the build for those who have chronic arthritis
18086           and typing "make check" is just too taxing on the hands
18087
18088 2005-09-20  Andy Wingo  <wingo@pobox.com>
18089
18090         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
18091         really want it out, you should fix plugins at the same time.
18092
18093 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
18094
18095         * configure.ac:
18096         * docs/gst/gstreamer-sections.txt:
18097         * gst/gstobject.c:
18098           added missing symbols to api docs
18099           disable ref-count hack if we have glib >= 2.8
18100
18101 2005-09-19  David Schleef  <ds@schleef.org>
18102
18103         * docs/gst/Makefile.am: Ignore a few more internal headers
18104         * docs/gst/gstreamer-docs.sgml: Remove old sections
18105         * docs/gst/gstreamer-sections.txt: Remove old sections
18106         * docs/gst/tmpl/gstobject.sgml: update
18107         * docs/gst/tmpl/gstplugin.sgml: update
18108         * docs/gst/tmpl/gstpluginfeature.sgml: update
18109         * docs/random/ds/0.9-suggested-changes: update.
18110         * gst/Makefile.am: remove memchunk and trashstack, since they're
18111           not used.
18112         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
18113         * gst/gst.h: don't include some headers
18114         * gst/gstchildproxy.c: add gstmarshal.h
18115         * gst/gstclock.c: Don't use memchunks
18116         * gst/gstminiobject.c: Add some docs
18117         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
18118         * gst/gstobject.h: same
18119         * gst/gstplugin.c: include gstmacros.h
18120         * gst/gstplugin.h: don't include gstmacros.h, since it's private
18121         * gst/gstquery.c: don't use memchunks
18122         * gst/gstregistry.c: rename gst_registry_deinit()
18123         * gst/gstregistry.h: same
18124
18125 2005-09-19  David Schleef  <ds@schleef.org>
18126
18127         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
18128         * docs/libs/gstreamer-libs-sections.txt:
18129         * docs/libs/tmpl/gstgetbits.sgml:
18130         * docs/libs/tmpl/gstputbits.sgml:
18131
18132 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
18133
18134         * win32/gstenumtypes.c:
18135         * win32/gstenumtypes.h:
18136           Update.
18137
18138 2005-09-19  Wim Taymans  <wim@fluendo.com>
18139
18140         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
18141         Automatically PAUSE and RESUME a pipeline when a flushing seek
18142         is performed.
18143
18144 2005-09-19  Andy Wingo  <wingo@pobox.com>
18145
18146         * gst/gstregistry.h: Spacing fixen.
18147
18148 2005-09-19  Wim Taymans  <wim@fluendo.com>
18149
18150         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
18151         Handle state change failure more correctly.
18152
18153 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
18154
18155         * check/Makefile.am:
18156         * check/pipelines/cleanup.c: (run_pipeline):
18157         * check/pipelines/simple_launch_lines.c: (run_pipeline),
18158         (GST_START_TEST):
18159           enable cleanup again after fixing the leak
18160         * docs/README:
18161           some more info on docs
18162
18163 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
18164
18165         * check/Makefile.am:
18166           re-enable tests now that leaks are plugged
18167         * check/gst/gst.c:
18168         * check/gst/gstbin.c:
18169         * check/gst/gstpipeline.c:
18170           add some more tests while fixing leaks
18171         * common/check.mak:
18172           make sure binaries are uptodate when valgrinding/gdbing
18173         * gst/gst.c:
18174         * gst/gstelementfactory.c:
18175           remove a ref too many, and add a FIXME for when we get
18176           round to disposing of classes
18177         * gst/gstplugin.c:
18178           fix the refcounting when loading a plugin from a file and
18179           the code pretends that the pointer is the same even though
18180           of course it can change
18181         * gst/gstpluginfeature.c:
18182           unref plugins marked cached (a bit confusing as a name)
18183           as the docs state should be done
18184           various doc additions to explain refcounting
18185         * gst/gstregistry.c:
18186         * gst/gstregistryxml.c:
18187           debugging
18188
18189 2005-09-19  Wim Taymans  <wim@fluendo.com>
18190
18191         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
18192         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
18193         (send_messages), (GST_START_TEST), (gstbus_suite):
18194         * check/gst/gstpipeline.c: (GST_START_TEST):
18195         * check/pipelines/cleanup.c: (run_pipeline):
18196         * check/pipelines/simple_launch_lines.c: (run_pipeline),
18197         (GST_START_TEST):
18198         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
18199         (gst_bus_source_check), (gst_bus_source_dispatch),
18200         (gst_bus_create_watch), (gst_bus_add_watch_full),
18201         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
18202         * gst/gstbus.h:
18203         * tools/gst-launch.c: (event_loop):
18204         * tools/gst-md5sum.c: (event_loop):
18205         GstBusHandler -> GstBusFunc, return value has the same meaning as
18206         any other GSource (FALSE == remove source).
18207         _add_watch() and _add_watch_full() now take a MessageType mask to
18208         only handle specific types of messages.
18209         _poll() returns the GstMessage instead of the message type to avoid
18210         race conditions.
18211         _have_pending() takes a MessageType mask now too.
18212         Added testsuite for multiple bus watches.
18213         Fix testsuites and applications for new bus API.
18214
18215 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
18216
18217         * check/Makefile.am:
18218           mark a bunch of the tests as to fix until we fix them
18219
18220 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
18221
18222         * common/check.mak:
18223           use GST_PLUGIN settings for valgrind tests as well, so we're
18224           valgrinding the correct thing
18225         * gst/gst.c: (init_post):
18226           plug another leak
18227
18228 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
18229
18230         * gst/gst.c: (init_post), (gst_deinit):
18231         * gst/gstelementfactory.c: (gst_element_factory_class_init),
18232         (gst_element_factory_finalize), (gst_element_factory_cleanup):
18233         * gst/gstindex.c: (gst_index_factory_class_init),
18234         (gst_index_factory_finalize):
18235         * gst/gstobject.c: (gst_object_dispose):
18236         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
18237         (gst_plugin_load_file), (gst_plugin_desc_free):
18238         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
18239         (gst_plugin_feature_finalize):
18240         * gst/gstregistry.c: (gst_registry_class_init),
18241         (gst_registry_init), (gst_registry_finalize),
18242         (gst_registry_get_default), (gst_registry_deinit):
18243         * gst/gstregistry.h:
18244         * gst/gstregistryxml.c: (load_feature), (load_plugin):
18245           various cleanups and memleak plugging.  make valgrind is happy now.
18246
18247 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
18248
18249         * common/check.mak:
18250           add a check-valgrind target
18251
18252 2005-09-18  David Schleef  <ds@schleef.org>
18253
18254         * tools/gst-inspect.c: Revert the GOption code.
18255
18256 2005-09-17  David Schleef  <ds@schleef.org>
18257
18258         * check/Makefile.am: Fix environment variables.
18259         * check/gst/gstplugin.c: Fix for API changes.
18260         * tools/gst-inspect.c: Fix for API changes.
18261         * tools/gst-xmlinspect.c: Fix for API changes.
18262         * gst/gstelementfactory.c:
18263         * gst/gstplugin.c:
18264         * gst/gstplugin.h:
18265         * gst/gstpluginfeature.c:
18266         * gst/gstpluginfeature.h:
18267         * gst/gstregistry.c:
18268         * gst/gstregistry.h:
18269         * gst/gstregistryxml.c:
18270         * gst/gsttypefind.c:
18271         * gst/gsttypefindfactory.c:
18272         * gst/indexers/gstfileindex.c:
18273         * gst/indexers/gstmemindex.c:
18274         * gst/schedulers/Makefile.am:
18275           Change registry to keep track of both plugins and features,
18276           removing the feature tracking from plugins themselves.
18277
18278 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
18279
18280         * check/Makefile.am:
18281         * tools/gst-register.1.in:
18282           remove gst-register
18283
18284 2005-09-15  David Schleef  <ds@schleef.org>
18285
18286         * check/gst/gstplugin.c:
18287         * gst/gstelementfactory.c:
18288         * gst/gstplugin.c:
18289         * gst/gstpluginfeature.c:
18290         * gst/gstregistry.c:
18291           Getting tired of debugging.  Disabled all the unreffing of
18292           plugins and features, which fixes the segfaults, but of
18293           course leaks like crazy.  At least playbin works.
18294
18295 2005-09-15  David Schleef  <ds@schleef.org>
18296
18297         * check/gst/gstplugin.c: (register_check_elements),
18298         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
18299         More testing
18300         * gst/elements/gsttypefindelement.c: Fix refcounting.
18301         * gst/gsttypefind.c:
18302         * gst/gsttypefindfactory.c:
18303         * gst/gsttypefindfactory.h:
18304
18305 2005-09-15  David Schleef  <ds@schleef.org>
18306
18307         * gst/gstindex.c: get refcounting correct.
18308         * gst/gstregistry.c: Handle the case where a feature/plugin is
18309           not found.
18310
18311 2005-09-15  David Schleef  <ds@schleef.org>
18312
18313         * check/Makefile.am:
18314         * check/gst/gstplugin.c: Add test
18315         * gst/gstplugin.c: Fix problems noticed by testsuite
18316         * gst/gstplugin.h:
18317         * gst/gstregistry.c: 
18318         * gst/gstregistry.h:
18319
18320 2005-09-15  David Schleef  <ds@schleef.org>
18321
18322         * gst/gstplugin.c: Implement semi-decent recounting and locking
18323           in plugins and plugin features.
18324         * gst/gstplugin.h:
18325         * gst/gstpluginfeature.c:
18326         * gst/gstpluginfeature.h:
18327         * gst/gstregistry.c:
18328
18329 2005-09-15  Michael Smith <msmith@fluendo.com>
18330
18331         * gst/gstregistry.c: (gst_registry_get_feature_list):
18332           Implement this. Makes oggdemux work; decodebin still broken.
18333
18334 2005-09-14  David Schleef  <ds@schleef.org>
18335
18336         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
18337           #316076)
18338         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
18339         * gst/check/Makefile.am:
18340         * libs/gst/controller/Makefile.am:
18341         * libs/gst/dataprotocol/Makefile.am:
18342
18343 2005-09-14  David Schleef  <ds@schleef.org>
18344
18345         * configure.ac: Remove getbits library.  Nothing uses it, and
18346           it should be in something like liboil if someone did want
18347           to use it.
18348         * libs/gst/Makefile.am:
18349         * libs/gst/getbits/Makefile.am:
18350         * libs/gst/getbits/gbtest.c:
18351         * libs/gst/getbits/getbits.c:
18352         * libs/gst/getbits/getbits.h:
18353         * libs/gst/getbits/gstgetbits_generic.c:
18354         * libs/gst/getbits/gstgetbits_i386.s:
18355         * libs/gst/getbits/gstgetbits_inl.h:
18356
18357 2005-09-14  David Schleef  <ds@schleef.org>
18358
18359         * gst/Makefile.am: Dist glib-compat.h
18360
18361 2005-09-14  David Schleef  <ds@schleef.org>
18362
18363         * configure.ac: Remove gst/registries, since it's no longer used.
18364         * gst/registries/Makefile.am:
18365         * gst/registries/gstlibxmlregistry.c:
18366         * gst/registries/gstlibxmlregistry.h:
18367         * gst/registries/gstxmlregistry.c:
18368         * gst/registries/gstxmlregistry.h:
18369         * gst/registries/registrytest.c:
18370
18371 2005-09-14  David Schleef  <ds@schleef.org>
18372
18373         * gst/glib-compat.h:
18374         * gst/gstregistryxml.c:
18375           Convergence is near.  Seriously.
18376
18377 2005-09-14  David Schleef  <ds@schleef.org>
18378
18379         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
18380         * gst/glib-compat.h:
18381           Attempt #4 to appease the buildbots.
18382
18383 2005-09-14  David Schleef  <ds@schleef.org>
18384
18385         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
18386           Attempt #3.
18387
18388 2005-09-14  David Schleef  <ds@schleef.org>
18389
18390         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
18391         Attempt #2.
18392
18393 2005-09-14  David Schleef  <ds@schleef.org>
18394
18395         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
18396           the new functions.
18397
18398 2005-09-14  David Schleef  <ds@schleef.org>
18399
18400         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
18401         * gst/glib-compat.h: Add some functions that are in newer versions
18402           of glib than we care to require.
18403         * gst/gstregistryxml.c: Use them.
18404
18405 2005-09-14  David Schleef  <ds@schleef.org>
18406
18407         * po/POTFILES.in: remove gst-register.c
18408
18409 2005-09-14  David Schleef  <ds@schleef.org>
18410
18411         * docs/gst/gstreamer-docs.sgml:
18412         * docs/gst/gstreamer-sections.txt:
18413         * docs/gst/gstreamer.types:
18414         * docs/gst/tmpl/gstelement.sgml:
18415         * docs/gst/tmpl/gstplugin.sgml:
18416         * docs/gst/tmpl/gstpluginfeature.sgml:
18417           Documentation updates for registry changes.
18418
18419 2005-09-14  David Schleef  <ds@schleef.org>
18420
18421         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
18422           because we don't require glib-2.8.
18423
18424 2005-09-14  David Schleef  <ds@schleef.org>
18425
18426         * gst/gstregistryxml.c: Added.  Essentially moved out of the
18427           registries directory.
18428
18429 2005-09-14  David Schleef  <ds@schleef.org>
18430
18431         * check/Makefile.am:
18432         * check/generic/states.c:
18433         * gst/Makefile.am:
18434         * gst/gst.c:
18435         * gst/gst.h:
18436         * gst/gst_private.h:
18437         * gst/gstelementfactory.c:
18438         * gst/gstindex.c:
18439         * gst/gstinfo.c:
18440         * gst/gstplugin.c:
18441         * gst/gstplugin.h:
18442         * gst/gstpluginfeature.c:
18443         * gst/gstpluginfeature.h:
18444         * gst/gstregistry.c:
18445         * gst/gstregistry.h:
18446         * gst/gstregistrypool.c: remove
18447         * gst/gstregistrypool.h: remove
18448         * gst/gsttypefind.c:
18449         * gst/gsttypefindfactory.c:
18450         * gst/gsturi.c:
18451         * tools/Makefile.am:
18452         * tools/gst-compprep.c:
18453         * tools/gst-inspect.c:
18454         * tools/gst-register.c: remove
18455         * tools/gst-xmlinspect.c:
18456           Registry rewrite.  Changes registry from being a file created
18457           by a tool into a simple cache file created automatically by 
18458           libgstreamer.  Removed gst-register (because it's no longer
18459           needed).  Remove registry pools, because we only have one
18460           registry implementation (XML).  Fix up other subsystems as
18461           necessary.
18462
18463 2005-09-13  Michael Smith <msmith@fluendo.com>
18464
18465         * gst/gstconfig.h.in:
18466           Don't Use windows linking attributes for MinGW. Fixes #316157
18467
18468 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
18469
18470         * gst/gstutils.c: (set_state_async_thread_func),
18471         (gst_element_set_state_async):
18472           Apparently people think it's better if this function doesn't
18473           try to set the state to whatever state was asked for on the first
18474           call to this function for any object.  Seriously.
18475
18476 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
18477
18478         * check/gst/gstpipeline.c: (GST_START_TEST):
18479         * docs/gst/gstreamer-sections.txt:
18480         * gst/gstutils.c: (set_state_async_thread_func),
18481         (gst_element_set_state_async):
18482         * gst/gstutils.h:
18483           add a "gst_element_set_state_async" method that
18484           sets the state and starts a thread to make sure the state
18485           change completes as best as it can
18486
18487 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
18488
18489         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
18490           codify design+behaviour in testsuite after discussion
18491
18492 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
18493
18494         * docs/gst/tmpl/gstelement.sgml:
18495         * docs/manual/appendix-quotes.xml:
18496           add a quote
18497         * gst/gstelement.c: (gst_element_set_state):
18498           add some debug
18499
18500 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
18501
18502         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
18503         (gst_base_transform_prepare_output_buf),
18504         (gst_base_transform_handle_buffer):
18505         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
18506         (gst_capsfilter_prepare_buf):
18507           Remove the requirement for sub-classes to call the parent
18508           implementation of prepare_output_buffer with a wrapper function.
18509           
18510         * gst/gsttaglist.h:
18511         * gst/gsttagsetter.h:
18512           Fix #define wrapper
18513
18514 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
18515
18516         * docs/gst/gstreamer-sections.txt:
18517           more doc cleanups
18518
18519 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
18520
18521         * docs/gst/gstreamer-sections.txt:
18522         * docs/gst/tmpl/gstelement.sgml:
18523         * docs/gst/tmpl/gstplugin.sgml:
18524         * gst/gstminiobject.c:
18525         * gst/gstvalue.h:
18526           docs now stop throwing warnings
18527
18528 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
18529
18530         * docs/gst/gstreamer-sections.txt:
18531         * docs/gst/gstreamer.types:
18532         * docs/gst/tmpl/gstpad.sgml:
18533         * docs/gst/tmpl/gsttypes.sgml:
18534         * gst/base/gstadapter.h:
18535         * gst/base/gstbasesink.h:
18536         * gst/base/gstbasesrc.h:
18537         * gst/gstbin.h:
18538         * gst/gstbuffer.h:
18539         * gst/gstbus.h:
18540         * gst/gstcaps.h:
18541         * gst/gstclock.h:
18542         * gst/gstelement.h:
18543         * gst/gstevent.h:
18544         * gst/gstmessage.h:
18545         * gst/gstpad.h:
18546         * gst/gststructure.c:
18547         * gst/registries/gstlibxmlregistry.h:
18548           various documentation fixes
18549
18550 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
18551
18552         * docs/gst/gstreamer-sections.txt:
18553         * docs/gst/tmpl/gstvalue.sgml:
18554           rearrange gstvalue section
18555         * gst/gstutils.c: (gst_element_state_get_name):
18556           NONE -> VOID
18557         * gst/gstvalue.c: (_gst_value_initialize):
18558         * gst/gstvalue.h:
18559           doc updates
18560
18561 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
18562
18563         * check/gst-libs/controller.c:
18564           Header include fix.
18565         * gst/base/gstbasetransform.c:
18566         (gst_base_transform_default_prepare_buf),
18567         (gst_base_transform_handle_buffer):
18568         * gst/base/gstbasetransform.h:
18569           Some more basetransform changes and fixes to enable sub-classes
18570           that modify buffer metadata only.
18571         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
18572         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
18573         (gst_capsfilter_prepare_buf):
18574           If the output pad has fixed allowed caps and input buffers 
18575           don't have any, set the fixed caps on outgoing buffers.
18576
18577 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
18578         * check/elements/identity.c: (GST_START_TEST):
18579           Make the error a little clearer when the test fails because
18580           identity made a copy of the buffer.
18581         * docs/gst/gstreamer-sections.txt:
18582           New symbols in gstbasetransform.h
18583         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
18584         (gst_base_transform_init), (gst_base_transform_transform_size),
18585         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
18586         (gst_base_transform_default_prepare_buf),
18587         (gst_base_transform_get_unit_size),
18588         (gst_base_transform_buffer_alloc),
18589         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
18590         (gst_base_transform_change_state),
18591         (gst_base_transform_set_passthrough),
18592         (gst_base_transform_set_in_place),
18593         (gst_base_transform_is_in_place):
18594         * gst/base/gstbasetransform.h:
18595           Change BaseTransform to separate in_place operate from same_caps
18596           output. in_place implies that the element can perform the transform
18597           on incoming buffers in-place, even if the caps on the output are
18598           different.
18599           Sub-class elements can now implement special buffer allocation
18600           methods for outgoing buffers if they wish to.
18601           Big documentation addition.
18602         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
18603         * gst/elements/gstelements.c:
18604           Changes for basetransform modifications.
18605         * gst/elements/Makefile.am:
18606         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
18607           Compile fix. Extra debug output.
18608
18609 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
18610
18611         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
18612         (gst_pad_suite):
18613           add tests for valid pad naming
18614         * gst/check/gstcheck.c: (gst_check_log_message_func),
18615         (gst_check_log_critical_func):
18616           add ASSERT_WARNING
18617           remove printing of code, it is fragile when the code contains
18618           % and the line number is enough info
18619         * gst/check/gstcheck.h:
18620         * gst/gstpad.c: (gst_pad_template_new):
18621           fix memleaks
18622
18623 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
18624
18625         * configure.ac:
18626           say what CHECK flags we use
18627         * docs/libs/gstreamer-libs.types:
18628         * libs/gst/controller/Makefile.am:
18629         * libs/gst/controller/gst-controller.c:
18630         * libs/gst/controller/gst-controller.h:
18631         * libs/gst/controller/gst-helper.c:
18632         * libs/gst/controller/gst-interpolation.c:
18633         * libs/gst/controller/gstcontroller.c:
18634         * libs/gst/controller/gsthelper.c:
18635         * libs/gst/controller/gstinterpolation.c:
18636         * tools/gst-inspect.c: (print_plugin_info):
18637           we don't use dashes in header names
18638
18639 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
18640
18641         * check/Makefile.am:
18642         * check/gst/.cvsignore:
18643         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
18644         (gst_pipeline_suite), (main):
18645           adding a test for pipelines and state changes
18646         * gst/gstutils.c: (get_state_func):
18647           add some debugging
18648         * gstreamer.spec.in:
18649           fix up spec file
18650
18651 2005-09-08  Michael Smith <msmith@fluendo.com>
18652
18653         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
18654         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
18655         (gst_file_src_is_seekable), (gst_file_src_get_size),
18656         (gst_file_src_start):
18657         * gst/elements/gstfilesrc.h:
18658           Various fixes for unseekable, unmmapable, and non-normal files, so
18659           that fallback to read() rather than mmap() works.
18660         * gst/gstevent.c: (gst_event_new_newsegment):
18661           Allow newsegment events with segment_start == segment_end, as will
18662           correctly happen if you use filesrc on a zero-size file, for
18663           example.
18664
18665 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
18666
18667         * gst/gstplugin.c: (gst_plugin_load_file):
18668           Call g_module_close when we don't load the module
18669
18670         * gst/registries/gstlibxmlregistry.c:
18671         (gst_xml_registry_get_property):
18672           Port leak fix from 0.8
18673
18674 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
18675
18676         * docs/gst/gstreamer-docs.sgml:
18677         * docs/gst/tmpl/.cvsignore:
18678         * docs/gst/tmpl/gsttrace.sgml:
18679         * docs/gst/tmpl/gsttrashstack.sgml:
18680         * gst/Makefile.am:
18681         * gst/gst.h:
18682         * gst/gstelement.h:
18683         * gst/gstevent.h:
18684         * gst/gstmessage.c:
18685         * gst/gstmessage.h:
18686         * gst/gsttag.c:
18687         * gst/gsttag.h:
18688         * gst/gsttaginterface.c:
18689         * gst/gsttaginterface.h:
18690         * gst/gsttaglist.c:
18691         * gst/gsttaglist.h:
18692         * gst/gsttagsetter.c:
18693         * gst/gsttagsetter.h:
18694         * gst/gsttrace.c:
18695         * gst/gsttrace.h:
18696         * gst/gsttrashstack.c:
18697           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
18698           inlined docs for gsttrace, gsttrashstack
18699
18700 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
18701
18702         * gst/Makefile.am:
18703         * gst/elements/gstbufferstore.h:
18704         * gst/elements/gsttypefindelement.c:
18705         * gst/elements/gsttypefindelement.h:
18706         * gst/gst.h:
18707         * gst/gsttypefind.c:
18708         * gst/gsttypefind.h:
18709         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
18710         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
18711         (gst_type_find_factory_dispose),
18712         (gst_type_find_factory_unload_thyself),
18713         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
18714         (gst_type_find_factory_get_caps),
18715         (gst_type_find_factory_get_extensions),
18716         (gst_type_find_factory_call_function):
18717         * gst/gsttypefindfactory.h:
18718         * gst/registries/gstlibxmlregistry.c:
18719         * gst/registries/gstxmlregistry.c:
18720           splitted gsttypefind into gsttypefind, gsttypefindfactory
18721
18722 2005-09-07  Andy Wingo  <wingo@pobox.com>
18723
18724         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
18725         condition whereby the pad's task function is entered before the
18726         pad_mode variable was set.
18727
18728 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
18729
18730         * gst/gstpad.c: (gst_pad_alloc_buffer):
18731           Catch misbehaving pad_alloc functions that don't
18732           set up caps and do it for them.
18733
18734 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
18735
18736         * check/pipelines/simple_launch_lines.c: (run_pipeline):
18737           test for pipe!=NULL
18738         * docs/gst/tmpl/.cvsignore:
18739         * docs/gst/tmpl/gstmemchunk.sgml:
18740         * docs/gst/tmpl/gstparse.sgml:
18741         * docs/gst/tmpl/gsttaglist.sgml:
18742         * docs/gst/tmpl/gsttagsetter.sgml:
18743         * docs/gst/tmpl/gsttypefind.sgml:
18744         * docs/gst/tmpl/gsttypefindfactory.sgml:
18745         * gst/gstmemchunk.c:
18746         * gst/gstparse.c:
18747         * gst/gsttag.c:
18748         * gst/gsttaginterface.c:
18749         * gst/gsttypefind.c:
18750         * gst/gsttypefind.h:
18751           inlined more docs
18752
18753 === release 0.9.2 ===
18754
18755 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
18756
18757         * NEWS:
18758         * RELEASE:
18759         * configure.ac:
18760           releasing 0.9.2, "South"
18761
18762 2005-09-05  Andy Wingo  <wingo@pobox.com>
18763
18764         * gst/registries/gstxmlregistry.h:
18765         * gst/registries/gstxmlregistry.c: Um... resurrect...
18766         
18767         * gst/registries/gstxmlregistry.h:
18768         * gst/registries/gstxmlregistry.c: and update to newer API.
18769         Incidentally they should be a bit faster now that they don't have
18770         to parse the caps.
18771         
18772 2005-09-05  Andy Wingo  <wingo@pobox.com>
18773
18774         * gst/registries/gstxmlregistry.h:
18775         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
18776         replaced by the libxml registry a while back
18777
18778 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
18779
18780         * docs/gst/tmpl/gstplugin.sgml:
18781         * gst/elements/gstelements.c:
18782         * gst/gst.c:
18783         * gst/gstplugin.c: (gst_plugin_register_func),
18784         (gst_plugin_desc_copy), (gst_plugin_desc_free),
18785         (gst_plugin_get_source):
18786         * gst/gstplugin.h:
18787         * gst/registries/gstlibxmlregistry.c: (load_plugin),
18788         (gst_xml_registry_save_plugin):
18789         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
18790         (gst_xml_registry_save_plugin):
18791         * tools/gst-inspect.c: (print_plugin_info):
18792           add a "source" plugin description field, to represent the source
18793           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
18794           will set it to PACKAGE, which is automake's idea of the name of
18795           the source project.
18796
18797 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
18798
18799         * Makefile.am:
18800         * autogen.sh:
18801         * configure.ac:
18802         * docs/Makefile.am:
18803         * docs/faq/Makefile.am:
18804         * docs/gst/tmpl/gstelement.sgml:
18805         * docs/gst/tmpl/gsttypes.sgml:
18806         * docs/htmlinstall.mak:
18807         * docs/manual/Makefile.am:
18808         * docs/pwg/Makefile.am:
18809           reorganize doc build a little
18810           split out docbook and gtk-doc stuff
18811           have two separate --enable's and enable them through autogen
18812           but disable by default in configure (to be similar to other
18813           projects)
18814         * gstreamer.spec.in:
18815           clean up docs install
18816         * po/af.po:
18817         * po/az.po:
18818         * po/ca.po:
18819         * po/cs.po:
18820         * po/de.po:
18821         * po/en_GB.po:
18822         * po/fr.po:
18823         * po/it.po:
18824         * po/nb.po:
18825         * po/nl.po:
18826         * po/ru.po:
18827         * po/sq.po:
18828         * po/sr.po:
18829         * po/sv.po:
18830         * po/tr.po:
18831         * po/uk.po:
18832         * po/vi.po:
18833           translation updates
18834
18835 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
18836
18837         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
18838           Add comment.
18839           
18840         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
18841         (gst_fake_sink_change_state):
18842           Make state change function thread-safe.
18843           
18844         * gst/gstpad.c: (gst_pad_alloc_buffer):
18845           Set offset on generic buffer allocated by fallback.
18846
18847 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
18848
18849         * docs/gst/gstreamer-sections.txt:
18850         * docs/gst/tmpl/gstelement.sgml:
18851         * gst/gstpad.c:
18852         * libs/gst/controller/gst-controller.c:
18853         (gst_controlled_property_set_interpolation_mode),
18854         (gst_controlled_property_new),
18855         (gst_controller_find_controlled_property):
18856          run the wingo-magic script against the docs
18857
18858 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
18859
18860         * docs/gst/gstreamer-docs.sgml:
18861         * docs/gst/gstreamer-sections.txt:
18862         * docs/gst/tmpl/.cvsignore:
18863         * docs/gst/tmpl/gstelementdetails.sgml:
18864         * docs/gst/tmpl/gstelementfactory.sgml:
18865         * gst/gst.c:
18866         * gst/gstbus.c:
18867         * gst/gstelementfactory.c:
18868         * gst/gstelementfactory.h:
18869           merged elementdetails docs into elementfactory docs
18870           inlined both
18871
18872 2005-09-02  Andy Wingo  <wingo@pobox.com>
18873
18874         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
18875         consider this enum an enum and not a flags.
18876
18877 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
18878
18879         * docs/gst/gstreamer-docs.sgml:
18880         * docs/gst/tmpl/.cvsignore:
18881         * docs/gst/tmpl/gstghostpad.sgml:
18882         * docs/gst/tmpl/gstiterator.sgml:
18883         * docs/gst/tmpl/gstmacros.sgml:
18884         * docs/gst/tmpl/gstrealpad.sgml:
18885         * docs/gst/tmpl/gstregistry.sgml:
18886         * docs/gst/tmpl/gstregistrypool.sgml:
18887         * docs/gst/tmpl/gststructure.sgml:
18888         * docs/gst/tmpl/gstsystemclock.sgml:
18889         * docs/gst/tmpl/gsttrace.sgml:
18890         * gst/gstghostpad.c:
18891         * gst/gstmacros.h:
18892         * gst/gstmemchunk.c:
18893         * gst/gstmemchunk.h:
18894         * gst/gstqueue.c:
18895         * gst/gstregistry.c:
18896         * gst/gstregistrypool.c:
18897         * gst/gststructure.c:
18898         * gst/gstsystemclock.c:
18899           more docs inlined
18900
18901 2005-09-02  Andy Wingo  <wingo@pobox.com>
18902
18903         * gst/gstelement.h (GstState): Renamed from GstElementState,
18904         changed to be a normal enum instead of flags.
18905         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
18906         munged to be GST_STATE_CHANGE_*.
18907         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
18908         work with the new state representation.
18909         (GstStateChange): New enumeration of possible state transitions.
18910         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
18911         (GstElementClass::change_state): Pass the GstStateChange along as
18912         an argument. Helps language bindings, so they don't have to use
18913         tricky lock-needing macros like GST_STATE_CHANGE ().
18914
18915         * scripts/update-states (file): New script. Run it on a file to
18916         update it for state naming and API changes. Updates files in
18917         place.
18918
18919         * All files updated for the new API.
18920
18921 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
18922
18923         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
18924         * gst/gstutils.c: (gst_util_set_value_from_string),
18925         (gst_util_set_object_arg):
18926           fix a bunch of unchecked return values
18927         * tools/gst-complete.c: (main):
18928         * gstreamer.spec.in:
18929           clean up a little
18930
18931 2005-09-01  Wim Taymans  <wim@fluendo.com>
18932
18933         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
18934         (gst_base_sink_event), (gst_base_sink_do_sync),
18935         (gst_base_sink_handle_event):
18936         * gst/base/gstbasesink.h:
18937         Handle newsegments more correctly.
18938
18939         * gst/gstbus.c:
18940         Fix docs.
18941
18942         * gst/gstevent.c: (gst_event_new_newsegment):
18943         A newsegment cannot have a start_time of -1
18944
18945 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
18946
18947         * win32/gstenumtypes.c:
18948         * win32/gstenumtypes.h:
18949           Update
18950
18951 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
18952
18953         * libs/gst/controller/gst-controller.c:
18954         (gst_controlled_property_set_interpolation_mode),
18955         (gst_controlled_property_new):
18956          fixed boolean again
18957
18958 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
18959
18960         * docs/faq/gst-uninstalled:
18961           add -good
18962         * gst/gstevent.c:
18963         * gst/gstevent.h:
18964           remove wrong docs
18965         * gst/gstutils.c: (gst_element_link_filtered):
18966         * gst/gstutils.h:
18967           add gst_element_link_filtered
18968
18969 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
18970
18971         * docs/gst/gstreamer-docs.sgml:
18972         * docs/gst/gstreamer-sections.txt:
18973         * docs/gst/tmpl/.cvsignore:
18974         * docs/gst/tmpl/gsterror.sgml:
18975         * docs/gst/tmpl/gstfilter.sgml:
18976         * docs/gst/tmpl/gsturihandler.sgml:
18977         * docs/gst/tmpl/gsturitype.sgml:
18978         * docs/gst/tmpl/gstutils.sgml:
18979         * docs/gst/tmpl/gstxml.sgml:
18980         * gst/gsterror.c:
18981         * gst/gsterror.h:
18982         * gst/gstfilter.c:
18983         * gst/gsturi.c:
18984         * gst/gsturitype.c:
18985         * gst/gstutils.c:
18986         * gst/gstxml.c:
18987           inlined more docs, fixed double id-ref
18988
18989 2005-08-31  Wim Taymans  <wim@fluendo.com>
18990
18991         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
18992         (gst_base_transform_handle_buffer):
18993         Passthrough elements don't need the caps as they don't care.
18994
18995 2005-08-31  Wim Taymans  <wim@fluendo.com>
18996
18997         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
18998         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
18999         Don't leak refcounts on buffers.
19000
19001 2005-08-31  Wim Taymans  <wim@fluendo.com>
19002
19003         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
19004         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
19005         (gst_base_transform_chain), (gst_base_transform_change_state):
19006         * gst/base/gstbasetransform.h:
19007         Handle the case where we are not negotiated more gracefully.
19008
19009 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
19010
19011         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
19012         (gst_file_src_map_region):
19013           Set READONLY flag on mmap'ed buffers, otherwise
19014           gst_buffer_make_writable() won't work properly (#314708).
19015
19016 2005-08-31  Wim Taymans  <wim@fluendo.com>
19017
19018         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
19019         passthrough elements can even do inplace on non writable
19020         buffers (as they don't touch them).
19021
19022 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
19023
19024         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
19025         (gst_test_mono_source_set_property),
19026         (gst_test_mono_source_class_init), (GST_START_TEST),
19027         (gst_controller_suite):
19028           more tests (hehe I have the most)
19029         * gst/gstbus.c:
19030           describe popping messages whenusing mulltiple sources
19031         * libs/gst/controller/gst-controller.c:
19032         (gst_controlled_property_set_interpolation_mode),
19033         (gst_controlled_property_new):
19034         * libs/gst/controller/gst-controller.h:
19035         * libs/gst/controller/gst-interpolation.c:
19036           implement boolean properties
19037
19038 2005-08-31  Wim Taymans  <wim@fluendo.com>
19039
19040         * gst/gstminiobject.c: (gst_mini_object_ref):
19041         Cannot assert that the refcount has to be positive
19042         since a disposed object can be resurrected.
19043
19044 2005-08-31  Wim Taymans  <wim@fluendo.com>
19045
19046         * gst/gstpad.c: (gst_pad_init):
19047         Revert change, need to first fix badly behaving 
19048         apps.
19049
19050 2005-08-30  Wim Taymans  <wim@fluendo.com>
19051
19052         * check/elements/fakesrc.c: (setup_fakesrc):
19053         * check/elements/identity.c: (setup_identity):
19054         Activate pads before using them.
19055
19056 2005-08-30  Wim Taymans  <wim@fluendo.com>
19057
19058         * gst/base/gstadapter.c: (gst_adapter_flush):
19059         Flushing out 0 bytes is ok for this function.
19060
19061         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
19062         no newsegment gives a warning and sets the start/stop to 
19063         invalid.
19064
19065         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
19066         (gst_base_transform_set_passthrough):
19067         Some debug info.
19068
19069         * gst/gstminiobject.c: (gst_mini_object_ref):
19070         Check refcount here too.
19071
19072         * gst/gstpad.c: (gst_pad_init):
19073         Pads are initially flushing and refusing data.
19074
19075         * gst/gstutils.c: (gst_element_link_pads_filtered):
19076         When adding a capsfilter element make sure it has the
19077         same state as the parent bin.
19078
19079 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
19080
19081         * docs/gst/tmpl/.cvsignore:
19082         * docs/gst/tmpl/gstformat.sgml:
19083         * docs/gst/tmpl/gstversion.sgml:
19084         * gst/gstbus.h:
19085         * gst/gstformat.c:
19086         * gst/gstformat.h:
19087         * gst/gstversion.h.in:
19088           more docs and two more inlined
19089
19090 2005-08-30  Wim Taymans  <wim@fluendo.com>
19091
19092         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
19093         Don't sync to clock.
19094
19095 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
19096
19097         * docs/gst/gstreamer-sections.txt:
19098           ultral33t func10ns deserve to appear in the docs actually
19099         * docs/gst/tmpl/.cvsignore:
19100         * docs/gst/tmpl/gstcompat.sgml:
19101         * docs/gst/tmpl/gstconfig.sgml:
19102         * gst/check/gstcheck.c:
19103         * gst/gstcompat.h:
19104         * gst/gstconfig.h.in:
19105           inlined more docs
19106
19107 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
19108
19109         * docs/gst/tmpl/.cvsignore:
19110         * docs/gst/tmpl/gstquery.sgml:
19111         * docs/gst/tmpl/gstutils.sgml:
19112         * gst/gstquery.c:
19113         * gst/gstquery.h:
19114           inlined and extended docs
19115
19116 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
19117
19118         * check/gst-libs/controller.c: (GST_START_TEST),
19119         (gst_controller_suite):
19120           more tests
19121         * docs/gst/tmpl/gstutils.sgml:
19122         * docs/libs/gstreamer-libs-sections.txt:
19123         * docs/libs/tmpl/gstdataprotocol.sgml:
19124           include path fixes
19125         * examples/controller/audio-example.c: (main):
19126           controller example works now
19127         * gst/gstclock.h:
19128           doc fixes
19129         * tools/gst-inspect.c: (print_element_properties_info):
19130           show param spec flags
19131
19132 2005-08-29  Andy Wingo  <wingo@pobox.com>
19133
19134         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
19135
19136 2005-08-28  Andy Wingo  <wingo@pobox.com>
19137
19138         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
19139         as having two arguments instead of just one. Allows superclasses
19140         to access information on subclasses -- see the terrible for() loop
19141         in gtype.c:g_type_create_instance for the reason why. All callers
19142         changed.
19143
19144 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
19145
19146         * docs/design/part-messages.txt:
19147           update info
19148         * docs/gst/tmpl/.cvsignore:
19149         * docs/gst/tmpl/gstcaps.sgml:
19150         * docs/gst/tmpl/gstclock.sgml:
19151         * gst/gstbus.c:
19152         * gst/gstcaps.c:
19153         * gst/gstcaps.h:
19154         * gst/gstclock.c:
19155         * gst/gstclock.h:
19156         * gst/gstmessage.c:
19157           added descriptions for bus and message
19158           inline caps and clock docs
19159
19160 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
19161
19162         * gst/gstmessage.c:
19163         * gst/gstmessage.h:
19164           doc fixes
19165
19166 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
19167
19168         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
19169           fix div-by-zero
19170
19171 2005-08-26  Andy Wingo  <wingo@pobox.com>
19172
19173         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
19174         element_set_state's return val.
19175         (test_2_elements): Add test that's been disabled for months.
19176
19177         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
19178         can-activate-pull properties.
19179
19180         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
19181         can-activate-pull properties. Implement is_seekable so fakesrc can
19182         operate in pull mode.
19183
19184         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
19185         properties.
19186         (gst_base_sink_activate, gst_base_sink_activate_pull)
19187         (gst_base_sink_activate_push): Make activation mode choosing work.
19188         Cleanups.
19189         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
19190         is right. Make pull mode work. Post an eos before pausing in pull
19191         mode.
19192         (gst_base_sink_change_state): Pay attention to the core's
19193         change_state() return val.
19194         
19195         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
19196         has-getrange properties. Cleanups.
19197         
19198         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
19199         has_getrange and replace with can_activate_pull and
19200         can_activate_push.
19201
19202         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
19203         locking comments. Remove has_loop, has_chain and replace with
19204         can_activate_pull and can_activate_push.
19205
19206 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
19207
19208         * configure.ac:
19209         * examples/Makefile.am:
19210         * examples/metadata/Makefile.am:
19211         * examples/metadata/read-metadata.c: (message_loop),
19212         (have_pad_handler), (make_pipeline), (print_tag), (main):
19213           Add metadata reading example that loops over a list of filenames,
19214           dumping any tags found.
19215
19216         * gst/gstbus.c: (gst_bus_dispose):
19217         * gst/gstelement.c: (gst_element_dispose):
19218           Release a few potentially-held references in dispose.
19219
19220 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
19221
19222         * docs/gst/tmpl/gstminiobject.sgml:
19223           do *not* add tmpl/*.sgml files to CVS!
19224
19225 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
19226
19227         * libs/gst/bytestream/.cvsignore:
19228         * libs/gst/bytestream/Makefile.am:
19229         * libs/gst/bytestream/adapter.c:
19230         * libs/gst/bytestream/adapter.h:
19231         * libs/gst/bytestream/bytestream.c:
19232         * libs/gst/bytestream/bytestream.h:
19233         * libs/gst/bytestream/filepad.c:
19234         * libs/gst/bytestream/filepad.h:
19235           removing obsolete files
19236
19237 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
19238
19239         * docs/gst/gstreamer-docs.sgml:
19240         * docs/libs/gstreamer-libs-docs.sgml:
19241           disabed additional index entries again, as this makes docs-gen just
19242           slow and they aren't useful yet
19243         * docs/libs/gstreamer-libs-sections.txt:
19244           little -section.txt cleanup for libs
19245
19246 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
19247
19248         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
19249         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
19250           fix up some debugging
19251         (gst_base_transform_get_unit_size),
19252         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
19253         (gst_base_transform_handle_buffer):
19254         * gst/base/gstbasetransform.h:
19255           handle and store timed NEWSEGMENT events so that subclasses that
19256           calculate time by counting samples have a segment_start time they
19257           need to add to their timestamps - see audioresample
19258
19259 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
19260
19261         * gst/gstbin.h:
19262           removed ';' from the end of macro defs
19263         * docs/gst/gstreamer-docs.sgml:
19264         * docs/gst/gstreamer-sections.txt:
19265         * docs/gst/tmpl/.cvsignore:
19266         * gst/gstbus.h:
19267         * gst/gstelement.c: (gst_element_class_init),
19268         (gst_element_set_state), (activate_pads),
19269         (gst_element_save_thyself):
19270         * gst/gstevent.c: (gst_event_new_newsegment):
19271         * gst/gstevent.h:
19272         * gst/gstiterator.c:
19273         * gst/gstiterator.h:
19274         * gst/gstpad.c:
19275         * gst/gstprobe.h:
19276         * gst/gstutils.c: (gst_pad_query_convert):
19277         * gst/gstutils.h:
19278           fixed parameter name mismatches between source, header and docs
19279           added some more docs, resolved the last batch of unused elements in
19280           docs (now someone needs to doc them)
19281
19282 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
19283
19284         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
19285         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
19286           don't walk through the plugins backwards.  Where is all this
19287           reversed logic coming from ?
19288
19289 2005-08-25  Wim Taymans  <wim@fluendo.com>
19290
19291         * gst/base/gstbasetransform.c: (gst_base_transform_init),
19292         (gst_base_transform_transform_size),
19293         (gst_base_transform_configure_caps),
19294         (gst_base_transform_get_unit_size),
19295         (gst_base_transform_buffer_alloc),
19296         (gst_base_transform_change_state):
19297         * gst/base/gstbasetransform.h:
19298         Cache caps unit_size.
19299         Make sure we cannot negotiate up and downstream at the
19300         same time.
19301
19302 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
19303
19304         * gst/gst.c: (init_pre), (init_post):
19305           register the installed plugin path after the env var
19306         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
19307         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
19308           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
19309           directories, so the tests can prefer uninstalled over installed
19310
19311 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
19312
19313         * gst/base/gstbasetransform.h:
19314           comment
19315         * gst/gstpad.c:
19316           add to docs
19317
19318 2005-08-25  Wim Taymans  <wim@fluendo.com>
19319
19320         * gst/gstbin.c: (bin_bus_handler):
19321         Be a bit more conservative about the posted message.
19322         
19323         * gst/gstbus.c: (gst_bus_post):
19324         Some cleanups, warn wrong return values.
19325
19326 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
19327
19328         * check/gst/gstbin.c: (GST_START_TEST):
19329         * gst/gstbin.c: (bin_bus_handler):
19330         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
19331         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
19332         (gst_message_new_warning), (gst_message_new_tag),
19333         (gst_message_new_state_changed), (gst_message_new_segment_start),
19334         (gst_message_new_segment_done), (gst_message_new_custom):
19335         * gst/gstmessage.h:
19336         * tools/gst-launch.c: (event_loop):
19337         * tools/gst-md5sum.c: (event_loop):
19338           Revert unpopular change for GST_MESSAGE_SRC to GObject.
19339
19340 2005-08-25  Wim Taymans  <wim@fluendo.com>
19341
19342         * check/generic/states.c: (GST_START_TEST):
19343         Cleanup can be done at the end.
19344
19345         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
19346         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
19347         (gst_task_get_state), (gst_task_start), (gst_task_pause):
19348         Oh boy.. Thanks for finding this, Thomas. 
19349
19350 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
19351
19352         * docs/gst/gstreamer.types:
19353           added missing types
19354
19355 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
19356
19357         * docs/gst/gstreamer-docs.sgml:
19358         * docs/gst/gstreamer-sections.txt:
19359         * docs/gst/tmpl/.cvsignore:
19360         * gst/gstbin.c:
19361         * gst/gstiterator.c:
19362         * gst/gstutils.c:
19363         * gst/registries/gstxmlregistry.h:
19364           added missing classes and symbols (123 more to go)
19365           removed removed symbols from section file
19366           fixed many doc-comments
19367
19368 2005-08-24  Wim Taymans  <wim@fluendo.com>
19369
19370         * check/generic/states.c: (GST_START_TEST):
19371         Make sure all tasks are stopped.
19372
19373         * check/gst/gstbin.c: (GST_START_TEST):
19374         Unref after usage for proper valgrinding.
19375
19376         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
19377         Really wait for the task to stop before destroying the
19378         mutex.
19379
19380         * gst/gstqueue.c: (gst_queue_sink_activate_push),
19381         (gst_queue_src_activate_push):
19382         Small cleanups. Don't stop the task when we did not start
19383         it.
19384
19385         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
19386         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
19387         (gst_task_get_state), (gst_task_start), (gst_task_pause),
19388         (gst_task_join):
19389         * gst/gsttask.h:
19390         Protect the stream lock with the object lock.
19391         Disallow setting the stream lock when running.
19392         Add cleanup_all to wait for the threadpool to finish.
19393         Remove code to autoallocate a mutex if none was provided.
19394         Add _join() to wait for a task to stop.
19395         Protect the thread pool with a global lock.
19396
19397 2005-08-24  Wim Taymans  <wim@fluendo.com>
19398
19399         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
19400         (gst_base_sink_get_times), (gst_base_sink_do_sync),
19401         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
19402         * gst/base/gstbasesink.h:
19403         Handle newsegment events correctly.
19404         Drop buffers out of the segment range.
19405
19406 2005-08-22  Andy Wingo  <wingo@pobox.com>
19407
19408         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
19409         macro, implements an interface and gstimplementsinterface for a
19410         new type.
19411
19412 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
19413
19414         * check/Makefile.am:
19415         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
19416           add a test that does a bunch of state changes on elements
19417           needs some fixing for valgrind
19418         * check/states/sinks.c: (gst_object_suite):
19419           whitespace
19420         * gst/gstcaps.h:
19421           add prototype for gst_caps_is_equal_fixed
19422         * gst/gstplugin.c:
19423         * gst/gstregistrypool.c:
19424           doc fixes
19425
19426 2005-08-24  Andy Wingo  <wingo@pobox.com>
19427
19428         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
19429         convert a negative value. Doesn't make much sense. Mostly this is
19430         here to force callers to ensure -1 maps to -1.
19431
19432 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
19433
19434         * docs/pwg/advanced-types.xml:
19435           Well done to Michael for catching my deliberate introduction
19436           of this spelling mistake. 
19437         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
19438         * gst/gstelement.h:
19439           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
19440           unlink pads before removing the element from the bin.
19441
19442 2005-08-24  Andy Wingo  <wingo@pobox.com>
19443
19444         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
19445         the same thing as GST_DEBUG=*:4.
19446         (parse_debug_level, parse_debug_category): New helper parsers.
19447
19448 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
19449
19450         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
19451         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
19452         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
19453         (gst_base_transform_buffer_alloc),
19454         (gst_base_transform_handle_buffer):
19455           use gboolean return values and pointers to size so we can use the
19456           full GST_BUFFER_SIZE range (guint) for buffer sizes
19457           use GstPadDirection for transform_caps
19458         * gst/base/gstbasetransform.h:
19459           rename get_size to get_unit_size since that's what it is
19460         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
19461           use GstPadDirection for transform_caps
19462         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
19463         * gst/gstutils.h:
19464           cleanup and debugging
19465
19466 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
19467
19468         * gst/gstelement.c: (gst_element_class_init),
19469         (gst_element_set_state), (activate_pads),
19470         (gst_element_save_thyself):
19471         * tools/gst-compprep.c: (main):
19472         * tools/gst-inspect.c: (print_element_properties_info):
19473         * tools/gst-xmlinspect.c: (print_element_properties):
19474           Fixed long standing mem-leak
19475
19476 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
19477
19478         * check/gst/gstbin.c: (GST_START_TEST):
19479         * gst/gstbin.c: (bin_bus_handler):
19480         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
19481         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
19482         (gst_message_new_warning), (gst_message_new_tag),
19483         (gst_message_new_state_changed), (gst_message_new_segment_start),
19484         (gst_message_new_segment_done), (gst_message_new_custom):
19485         * gst/gstmessage.h:
19486         * tools/gst-launch.c: (event_loop):
19487         * tools/gst-md5sum.c: (event_loop):
19488           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
19489           that applications can sensibly post custom messages with references
19490           to their own objects.
19491
19492 2005-08-24  Andy Wingo  <wingo@pobox.com>
19493
19494         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
19495         already.
19496
19497 2005-08-24  Wim Taymans  <wim@fluendo.com>
19498
19499         * gst/base/gstbasetransform.c: (gst_base_transform_init),
19500         (gst_base_transform_transform_caps),
19501         (gst_base_transform_transform_size),
19502         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
19503         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
19504         (gst_base_transform_handle_buffer):
19505         * gst/base/gstbasetransform.h:
19506         Many fixes and new features added by Thomas. Can now also do
19507         transforms with variable sizes and a custom fixate_caps function.
19508
19509 2005-08-24  Wim Taymans  <wim@fluendo.com>
19510
19511         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
19512         Some debugging.
19513
19514         * gst/gstclock.h:
19515         Cast to ClockTime before formatting to time.
19516
19517         * gst/gstutils.h:
19518         Cleanups.
19519
19520 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
19521
19522         * check/gst-libs/controller.c: (GST_START_TEST),
19523         (gst_controller_suite):
19524         * docs/gst/tmpl/gstcaps.sgml:
19525         * docs/gst/tmpl/gstghostpad.sgml:
19526         * docs/gst/tmpl/gstquery.sgml:
19527         * docs/gst/tmpl/gstutils.sgml:
19528         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
19529         (gst_object_sink_values), (gst_object_get_value_arrays),
19530         (gst_object_get_value_array):
19531           gracefully handle helper method calls to objects that are not beeing
19532           controlled, added test case for that          
19533
19534 2005-08-23  Wim Taymans  <wim@fluendo.com>
19535
19536         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
19537         (gst_event_new_newsegment), (gst_event_parse_newsegment),
19538         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
19539         (gst_event_parse_qos), (gst_event_new_seek),
19540         (gst_event_parse_seek):
19541         * gst/gstevent.h:
19542         Some more debugging output and doc cleanups.
19543
19544         * gst/gstqueue.c: (gst_queue_handle_sink_event):
19545         Fix possible deadlock.
19546
19547 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
19548
19549         * docs/gst/gstreamer-docs.sgml:
19550         * docs/gst/gstreamer-sections.txt:
19551         * docs/gst/gstreamer.types:
19552         * docs/gst/tmpl/.cvsignore:
19553         * gst/gstbin.h:
19554         * gst/gstbus.c:
19555         * gst/gstelement.c:
19556         * gst/gstevent.h:
19557           added 100 symbols from gstreamer-unused.txt to the right sections
19558           fixed more broken comments
19559           added GstBus to docs
19560
19561 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
19562
19563         * docs/gst/gstreamer-sections.txt:
19564         * docs/gst/tmpl/.cvsignore:
19565         * docs/gst/tmpl/gstbin.sgml:
19566         * docs/gst/tmpl/gstbuffer.sgml:
19567         * gst/base/gstbasesrc.c:
19568         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
19569         * gst/gstbuffer.c:
19570         * gst/gstbuffer.h:
19571         * tools/gst-launch.1.in:
19572           inlined more doc comments, added missing comments and fixed comments
19573           fixed typos
19574
19575 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
19576
19577         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
19578           some debugging
19579         * gst/gstcaps.h:
19580           whitespace fixes
19581         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
19582           more debugging
19583         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
19584         * gst/gststructure.h:
19585           add a fixate function for booleans; add a FIXME that these func
19586           names should probably be gst_structure_fixate_*
19587
19588 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
19589
19590         * docs/gst/gstreamer-docs.sgml:
19591         * docs/gst/gstreamer-sections.txt:
19592         * gst/Makefile.am:
19593         * gst/gstbin.c: (gst_bin_get_type),
19594         (gst_bin_child_proxy_get_child_by_index),
19595         (gst_bin_child_proxy_get_children_count),
19596         (gst_bin_child_proxy_init):
19597         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
19598         (gst_child_proxy_get_child_by_index),
19599         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
19600         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
19601         (gst_child_proxy_get), (gst_child_proxy_set_property),
19602         (gst_child_proxy_set_valist), (gst_child_proxy_set),
19603         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
19604         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
19605         * gst/gstchildproxy.h:
19606         * gst/parse/grammar.y:
19607         * tools/gst-inspect.c: (print_interfaces),
19608         (print_element_properties_info), (print_element_info):
19609           ported gstchildproxy over from 0.8
19610           ported gst-inspect fixes and enhancements over from 0.8
19611
19612 2005-08-22  Wim Taymans  <wim@fluendo.com>
19613
19614         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
19615         (gst_base_transform_handle_buffer):
19616         Also call the transform function if we have ANY caps.
19617
19618         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
19619         Fix debug info.
19620
19621 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
19622
19623         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
19624           Don't pretend to handle seek events if the source is not seekable
19625
19626 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
19627
19628         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
19629           Remove extra parameter to debug output
19630
19631         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
19632         (gst_base_src_do_seek), (gst_base_src_activate_push):
19633           Fix seek event handling.
19634
19635         * gst/gstpipeline.c: (gst_pipeline_change_state):
19636         * gst/gstqueue.c: (gst_queue_handle_sink_event),
19637         (gst_queue_src_activate_push):
19638           Don't start the src pad task on FLUSH_STOP if the pad
19639           isn't linked.
19640           Debug changes.
19641
19642 2005-08-22  Wim Taymans  <wim@fluendo.com>
19643
19644         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
19645         Added check for gst_static_caps_get() refcounting.
19646
19647 2005-08-22  Wim Taymans  <wim@fluendo.com>
19648
19649         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
19650         Make _static_caps_get() refcounting sane.
19651         
19652         * gst/gstelement.c: (gst_element_set_state):
19653         Add g_return_val_if_fail() to protect against segfaults.
19654
19655 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
19656
19657         * docs/gst/tmpl/gstevent.sgml:
19658         * gst/gstevent.c:
19659         * gst/gstevent.h:
19660           inlined remaining docs, added missing doc comments
19661
19662 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
19663
19664         * check/gst/gstbin.c: (GST_START_TEST):
19665           since we don't know when preroll is done, use refcount range
19666           check for the sink
19667         * gst/check/gstcheck.h:
19668           add macro for checking refcount range
19669
19670 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
19671
19672         * check/Makefile.am:
19673           clean up environment for when registry gets built versus
19674           when actual tests are run; valgrind seems to not report
19675           leaks if GST_PLUGIN_PATH is set to some specific values
19676         * check/gst/gstbin.c: (GST_START_TEST):
19677           add more refcounting checks; maybe this exposes a
19678           preroll lock bug ?
19679         * common/check.mak:
19680         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
19681         * gst/check/gstcheck.h:
19682         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
19683         (gst_bin_change_state):
19684         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
19685           add/fix debugging/whitespace
19686
19687 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
19688
19689         * check/gst/gstevent.c: (event_probe), (test_event),
19690         (GST_START_TEST):
19691          Er, don't call gst_bin_watch_for_state_change you idiot.
19692
19693 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
19694
19695         * check/Makefile.am:
19696           Use CHECK_CFLAGS and CHECK_LIBS
19697         * check/gst/gstevent.c: (event_probe), (test_event),
19698         (GST_START_TEST):
19699           Don't leak events.
19700         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
19701         (gst_base_src_start), (gst_base_src_stop),
19702         (gst_base_src_activate_push), (gst_base_src_activate_pull),
19703         (gst_base_src_change_state):
19704           Sprinkle gst_base_src_stop liberally around error paths to fix
19705           problems reusing a source after failed state changes.
19706         * gst/base/gsttypefindhelper.c: (helper_find_peek),
19707         (helper_find_suggest), (gst_type_find_helper):
19708           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
19709         * gst/gstevent.h:
19710         * docs/gst/tmpl/gstevent.sgml:
19711           Migrate part of the docs from the SGML file. Wait for ensonic to
19712           tell me how I did it wrong ;)
19713         * tools/gst-typefind.c: (main):
19714           Extra robustness to state changes between files.
19715
19716 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
19717
19718         * check/Makefile.am:
19719           don't valgrind the controller test - it's leaking - Stefan, HELP
19720         * gst/check/gstcheck.c: (gst_check_message_error),
19721         (gst_check_chain_func), (gst_check_setup_element),
19722         (gst_check_teardown_element), (gst_check_setup_src_pad),
19723         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
19724         (gst_check_teardown_sink_pad):
19725         * gst/check/gstcheck.h:
19726           add a bunch of methods to set up elements, and src and sink pads
19727         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
19728         * check/elements/identity.c: (setup_identity), (cleanup_identity),
19729         (GST_START_TEST):
19730           use them
19731         * gst/gstmessage.c:
19732         * gst/gsttag.h:
19733           whitespace/doc fixes
19734
19735 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
19736
19737         * gst/gstelement.h:
19738           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
19739           be handled by the application and not always printed as well
19740
19741 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
19742
19743         * check/Makefile.am:
19744           set GST_TOOLS_DIR
19745         * gst/check/gstcheck.c: (gst_check_message_error):
19746         * gst/check/gstcheck.h:
19747           add a fail_unless_equals_int
19748           add fail_unless for error messages
19749
19750 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
19751
19752         * check/Makefile.am:
19753         * check/gst.supp:
19754         * common/Makefile.am:
19755         * common/check.mak:
19756         * common/gst.supp:
19757           factor out some of the common stuff so we can use it
19758
19759 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
19760
19761         * check/Makefile.am:
19762         * check/gst/gstiterator.c: (GST_START_TEST):
19763         * check/gst/gstsystemclock.c: (GST_START_TEST),
19764         (gst_systemclock_suite):
19765         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
19766         * gst/gstclock.c:
19767           valgrind more tests
19768
19769 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
19770
19771         * check/elements/.cvsignore:
19772         * check/elements/gstfakesrc.c:
19773           rename to name of element
19774         * check/elements/identity.c: (chain_func), (event_func),
19775         (setup_identity), (cleanup_identity), (GST_START_TEST),
19776         (identity_suite), (main):
19777           add a test for identity
19778         * check/Makefile.am:
19779         * pkgconfig/Makefile.am:
19780         * pkgconfig/gstreamer-check.pc.in:
19781         * pkgconfig/gstreamer-check-uninstalled.pc.in:
19782         * gst/check:
19783         * gst/Makefile.am:
19784         * configure.ac:
19785           move the check stuff to a library that gets installed
19786         * check/gst-libs/controller.c: (GST_START_TEST):
19787         * check/gst-libs/gdp.c:
19788         * check/gst/gst.c: (GST_START_TEST):
19789         * check/gst/gstbin.c:
19790         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
19791         * check/gst/gstbus.c:
19792         * check/gst/gstcaps.c: (GST_START_TEST):
19793         * check/gst/gstelement.c:
19794         * check/gst/gstghostpad.c:
19795         * check/gst/gstiterator.c:
19796         * check/gst/gstmessage.c:
19797         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
19798         * check/gst/gstobject.c:
19799         * check/gst/gstpad.c: (GST_START_TEST):
19800         * check/gst/gststructure.c: (GST_START_TEST):
19801         * check/gst/gstsystemclock.c: (GST_START_TEST),
19802         (gst_systemclock_suite):
19803         * check/gst/gsttag.c: (gst_tag_suite):
19804         * check/gst/gstvalue.c:
19805         * check/pipelines/cleanup.c:
19806         * check/pipelines/simple_launch_lines.c:
19807         * check/states/sinks.c:
19808           change include statement
19809
19810         * docs/gst/gstreamer-sections.txt:
19811         * docs/gst/tmpl/gstpad.sgml:
19812           document more pad stuff
19813         * gst/gstminiobject.c: (gst_mini_object_ref),
19814         (gst_mini_object_unref):
19815           debug refcounting
19816
19817 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
19818
19819         * docs/gst/tmpl/gst.sgml:
19820         * gst/gst.c:
19821           eliminate another tmpl file, fix spelling in the long-description
19822
19823 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
19824
19825         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
19826         (test_event), (timediff), (gstevents_suite):
19827           Should fix build on 64-bit arch's
19828
19829 2005-08-18  Andy Wingo  <wingo@pobox.com>
19830
19831         Make sure that when a pipeline goes to PLAYING, that data has
19832         actually hit the sink.
19833
19834         * check/states/sinks.c (test_sink): A sink that doesn't get any
19835         data shouldn't return SUCCESS for going to either PLAYING or
19836         PAUSED. Test also the return values on the way back down.
19837
19838         * gst/gstelement.c (gst_element_set_state): When changing the
19839         state of an element currently changing state asynchronously, go to
19840         lost-state after commiting the pending state. Makes future calls
19841         to get_state continue to return ASYNC.
19842
19843         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
19844         ASYNC when going to PLAYING if we still don't have preroll, as can
19845         happen with live sources.
19846
19847 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
19848
19849         * docs/pwg/advanced-types.xml:
19850           Hack long paragraph into 2 chunks as a workaround for buggy
19851           jadetex version in sid and breezy that loops infinitely and
19852           eats all RAM.
19853
19854 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
19855
19856         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
19857         (test_event), (timediff), (gstevents_suite):
19858           Provide more error margin in clock measurements to allow for 
19859           g_get_current_time inaccuracies.
19860
19861 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
19862
19863         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
19864         (test_event), (timediff), (gstevents_suite):
19865            Fix error message output so I might be able to tell why the
19866            test works here but fails on the build farm.
19867
19868 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
19869
19870         * check/Makefile.am:
19871         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
19872         (test_event), (timediff), (gstevents_suite), (main):
19873           I wrote a test!
19874
19875         * docs/design/part-seeking.txt:
19876           Spelling correction
19877
19878         * docs/gst/tmpl/gstevent.sgml:
19879         * docs/gst/tmpl/gstfakesrc.sgml:
19880           Docs updates.
19881
19882         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
19883           Treat a buffer-without-newsegment the same as a receiving 
19884           a newsegment not in time format, and disable syncing to the clock
19885           with a warning.
19886
19887         * gst/gstbus.c: (gst_bus_set_sync_handler):
19888           Assert if anyone tries to replace the existing sync_handler for bus, 
19889           as only the owner should be setting it.
19890
19891         * gst/gstevent.h:
19892           Have a fixed set of custom event enums with events identified by
19893           their structure name (as in 0.8), rather than a free-for-all
19894           allowing collisions between enum values from different plugins.
19895
19896         * gst/gstpad.c: (gst_pad_class_init):
19897           Docs change.
19898           
19899         * gst/gstqueue.c: (gst_queue_handle_sink_event):
19900           Handle out-of-band downstream events from the sending thread.
19901
19902 2005-08-17  Andy Wingo  <wingo@pobox.com>
19903
19904         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
19905         play-timeout==0 to mean no timeout at all. In that case, don't
19906         bother with a get_state or a warning, just return directly, even
19907         if it's ASYNC.
19908
19909         * gst/base/gstbasetransform.c: Debug changes.
19910
19911         * gst/gstutils.h:
19912         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
19913         ensure bins post state change messages. A bit of a hack but I can't
19914         think of a way to avoid it.
19915
19916         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
19917
19918 2005-08-16  Andy Wingo  <wingo@pobox.com>
19919
19920         * gst/base/gstadapter.h:
19921         * gst/base/gstadapter.c (gst_adapter_take): New function, like
19922         peek() but you own the data. Not terribly efficient atm.
19923
19924 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19925
19926         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
19927         (gst_element_found_tags):
19928         * gst/gstutils.h:
19929           Add two utility functions for tag handling.
19930
19931 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19932
19933         * docs/manual/advanced-dataaccess.xml:
19934         * docs/manual/basics-helloworld.xml:
19935           Fix docs to use _bin_add() before _link(), which fixes the examples
19936           with recent core versions (reported by Madhan Raj M
19937           <raj_madan@rediffmail.com>, #313199).
19938
19939 2005-08-16  Wim Taymans  <wim@fluendo.com>
19940
19941         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
19942         Added subtract checks.
19943
19944         * docs/design/part-events.txt:
19945         Some more docs about newsegment
19946
19947         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
19948         Fix FIXME
19949
19950         * gst/gstcaps.c: (gst_caps_to_string):
19951         Add comments, cleanups.
19952         
19953         * gst/gstelement.c: (gst_element_save_thyself):
19954         cleanups
19955         
19956         * gst/gstvalue.c: (gst_value_collect_int_range),
19957         (gst_string_unwrap), (gst_value_union_int_int_range),
19958         (gst_value_union_int_range_int_range),
19959         (gst_value_intersect_int_int_range),
19960         (gst_value_intersect_int_range_int_range),
19961         (gst_value_intersect_double_double_range),
19962         (gst_value_intersect_double_range_double_range),
19963         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
19964         (gst_value_subtract_int_range_int),
19965         (gst_value_subtract_double_range_double),
19966         (gst_value_subtract_double_range_double_range),
19967         (gst_value_subtract_from_list), (gst_value_subtract_list),
19968         (gst_value_can_compare), (gst_value_compare_fraction):
19969         Cleanups, add comments, remove unneeded asserts.
19970
19971 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
19972
19973         * tools/gst-launch.c: (event_loop):
19974           don't convert NULL structures to strings
19975
19976 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
19977
19978         * docs/gst/gstreamer-sections.txt:
19979           made some defines private
19980         * docs/gst/tmpl/gstconfig.sgml:
19981         * docs/gst/tmpl/gstqueue.sgml:
19982         * docs/gst/tmpl/gsttaglist.sgml:
19983         * docs/gst/tmpl/gsttypes.sgml:
19984         * docs/gst/tmpl/gstutils.sgml:
19985         * docs/pwg/appendix-porting.xml:
19986         * gst/base/gstbasesink.h:
19987         * gst/base/gstbasesrc.c:
19988         * gst/base/gstbasesrc.h:
19989         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
19990         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
19991         * gst/gstelement.c: (gst_element_class_init):
19992         * gst/gstpad.c: (gst_pad_class_init):
19993         * gst/gstqueue.c: (gst_queue_class_init):
19994         * gst/gstxml.c: (gst_xml_class_init):
19995           documented all undocumented signal inline
19996         * libs/gst/controller/gst-controller.h:
19997           added padding
19998
19999 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20000
20001         * docs/pwg/appendix-porting.xml:
20002           Document _set_link_function -> _set_setcaps_function.
20003
20004 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
20005
20006         * check/Makefile.am:
20007           add a .check target for running the check
20008         * check/gst-libs/controller.c: (GST_START_TEST):
20009           cosmetic fixups
20010         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
20011           complete checks for gstbuffer; would be nice if I could get the
20012           gcov stuff to work so I can see if I actually completed gstbuffer.c
20013         * check/gstcheck.h:
20014           add ASSERT_BUFFER_REFCOUNT
20015
20016 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
20017
20018         * docs/gst/gstreamer-sections.txt:
20019         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
20020         * gst/gsttag.h:
20021           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
20022           spew out a warning if a tag that is already registered
20023           is re-registered, unless it is re-registered with a 
20024           different type (#308438).
20025
20026 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
20027
20028         * docs/pwg/appendix-porting.xml:
20029         * docs/pwg/building-state.xml:
20030           Add some paragraphs about state changes in 0.9 to the PWG
20031           and the porting guide, in particular about the new meaning
20032           of GST_STATE_PAUSED and how to write state change functions
20033           with concurrent access by multiple threads in mind.
20034
20035 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
20036
20037         * docs/gst/gstreamer-docs.sgml:
20038         * docs/libs/gstreamer-libs-docs.sgml:
20039           added deprecation and since indexes
20040         * libs/gst/controller/gst-controller.c:
20041         * libs/gst/controller/gst-helper.c:
20042           added since tags
20043
20044
20045 2005-08-11  Wim Taymans  <wim@fluendo.com>
20046
20047         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
20048         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
20049         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
20050         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
20051         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
20052         (gst_ghost_pad_set_target):
20053         Actually implement (re)setting the target on a ghostpad
20054         as described in the docs.
20055
20056 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
20057
20058         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
20059           Check whether GST_DEBUG_NO_COLOR environment variable is
20060           set and disable coloured debug output if that is the case.
20061
20062 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
20063
20064         * gst/base/gsttypefindhelper.c: (helper_find_peek),
20065         (gst_type_find_helper):
20066           The memory returned by gst_type_find_peek() needs to
20067           stay valid until the end of a typefind function, and
20068           typefind functions may keep results from different 
20069           offsets around, so we can't just unref the buffer from
20070           the previous _peek(), but have to save all buffers 
20071           returned by _peek() until typefinding is done and only
20072           free them then.
20073
20074 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
20075
20076         * docs/gst/gstreamer-sections.txt:
20077         * gst/gstutils.h:
20078           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
20079
20080 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20081
20082         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
20083           Fix a pretty good memleak.
20084
20085 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
20086
20087         * gst/gstiterator.h:
20088           Fix wrong include and 'make distcheck'.
20089
20090 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20091
20092         * gst/gstbin.c: (bin_bus_handler):
20093           Use gst_element_post_message() instead.
20094
20095 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
20096
20097         * gst/base/gstadapter.h:
20098         * gst/base/gstbasesink.h:
20099         * gst/base/gstbasesrc.h:
20100         * gst/base/gstbasetransform.h:
20101         * gst/base/gstcollectpads.h:
20102         * gst/base/gstpushsrc.h:
20103         * gst/gstiterator.h:
20104           Add padding to our base elements' class and instance structs and
20105           to GstIterator (you will need to rebuild all plugins and apps!)
20106
20107 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20108
20109         * gst/gstbin.c: (bin_bus_handler):
20110           Make default message forwarding from child->bus to bin->bus
20111           threadsafe and make it not emit warnings if the parent has no bus.
20112
20113 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20114
20115         * gst/gstelement.c: (activate_pads):
20116           On paused->ready, set pad->caps to NULL, as is the documented
20117           behaviour in this state change. Fixes playback of series of
20118           media files when visualization is enabled in Totem.
20119
20120 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20121
20122         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
20123           Allow NULL as filter-caps (which means "any").
20124
20125 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
20126
20127         * docs/libs/gstreamer-libs-sections.txt:
20128         * libs/gst/controller/gst-controller.c:
20129         * libs/gst/controller/gst-controller.h:
20130         * libs/gst/controller/gst-helper.c:
20131           adding more entries to the docs and fix small doc-bugs
20132
20133 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
20134
20135         * docs/gst/gstreamer-docs.sgml:
20136         * docs/gst/gstreamer-sections.txt:
20137         * docs/gst/gstreamer.types:
20138         * docs/gst/tmpl/gstbasesink.sgml:
20139         * docs/gst/tmpl/gstbasesrc.sgml:
20140         * docs/gst/tmpl/gstbasetransform.sgml:
20141         * docs/gst/tmpl/gstfakesrc.sgml:
20142         * gst/base/gstcollectpads.c:
20143         * gst/base/gstcollectpads.h:
20144         * libs/gst/controller/gst-controller.c:
20145         * libs/gst/controller/gst-controller.h:
20146         * libs/gst/controller/gst-helper.c:
20147         * libs/gst/controller/gst-interpolation.c:
20148         * libs/gst/controller/lib.c:
20149           added long/short desc for controller docs
20150           added collectpads base class docs
20151           added correct includes to base-class docs
20152
20153 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
20154
20155         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
20156         (gst_test_mono_source_set_property),
20157         (gst_test_mono_source_class_init), (GST_START_TEST),
20158         (gst_controller_suite):
20159         * docs/gst/gstreamer-docs.sgml:
20160         * docs/gst/gstreamer-sections.txt:
20161         * docs/gst/gstreamer.types:
20162         * docs/libs/gstreamer-libs-docs.sgml:
20163         * docs/libs/gstreamer-libs-sections.txt:
20164         * gst/base/gstadapter.c:
20165         * libs/gst/controller/gst-controller.c:
20166         (gst_controlled_property_new), (gst_controlled_property_free),
20167         (gst_controller_new_valist),
20168         (gst_controller_remove_properties_valist),
20169         (gst_controller_sink_values), (_gst_controller_finalize):
20170         * libs/gst/controller/gst-controller.h:
20171         * libs/gst/controller/gst-helper.c:
20172         (gst_object_control_properties), (gst_object_uncontrol_properties),
20173         (gst_object_get_controller), (gst_object_set_controller),
20174         (gst_object_sink_values), (gst_object_get_value_arrays),
20175         (gst_object_get_value_array):
20176           more tests (and fixes) for the controller
20177           more docs for the controller
20178           integrated companies docs for the adapter 
20179
20180 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
20181
20182         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
20183         (GST_START_TEST), (fakesrc_suite):
20184           add tests for sizetype
20185
20186 2005-08-04  Andy Wingo  <wingo@pobox.com>
20187
20188         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
20189         fixes buffer_alloc proxying among other things.
20190
20191         * gst/base/gstbasetransform.c:
20192         * gst/base/gstbasetransform.h:
20193         Revert patch to gstbasetransform from 7-28 removing
20194         delay_configure.
20195
20196         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
20197         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
20198         Semantics changed, should return not the size of the output buffer
20199         but the byte size of a buffer with a given caps.
20200
20201         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
20202         debug object.
20203         (gst_base_transform_configure_caps): Don't set out_size here: (in,
20204         out) are not the pad caps until setcaps finishes.
20205         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
20206         not-in-place case as well. Deal with changing from in-place to
20207         not-in-place within calling pad_alloc_buffer. Still a bit
20208         concerned about the overhead here...
20209
20210 2005-08-03  Andy Wingo  <wingo@pobox.com>
20211
20212         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
20213         fixating is an error.
20214
20215 2005-08-04  Edward Hervey  <edward@fluendo.com>
20216
20217         * gst/base/gstadapter.h: 
20218         Added gst_adapter_get_type() to the header
20219
20220 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
20221
20222         * check/Makefile.am:
20223         * check/gst-libs/controller.c:
20224         * libs/gst/controller/gst-controller.c:
20225         (gst_controller_new_valist):
20226           added check test suite for the controller
20227         * gst/base/gstpushsrc.c:
20228           fixed a doc typo
20229
20230 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
20231
20232         * docs/gst/Makefile.am:
20233         * docs/gst/gstreamer-docs.sgml:
20234         * docs/gst/gstreamer-sections.txt:
20235         * docs/gst/gstreamer.types:
20236         * docs/gst/tmpl/gstfakesrc.sgml:
20237         * gst/base/README:
20238         * gst/base/gstbasesink.c:
20239         * gst/base/gstbasesink.h:
20240         * gst/base/gstbasesrc.c:
20241         * gst/base/gstbasesrc.h:
20242         * gst/base/gstbasetransform.c:
20243         * gst/base/gstpushsrc.c:
20244         * gst/base/gstpushsrc.h:
20245           add short/long description docs to base classes
20246           add pushsrc to the docs
20247           remove consolidated doc fragments
20248
20249 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
20250
20251         * configure.ac:
20252         * docs/libs/Makefile.am:
20253         * docs/libs/gstreamer-libs-docs.sgml:
20254         * docs/libs/gstreamer-libs-sections.txt:
20255         * docs/libs/gstreamer-libs.types:
20256         * examples/Makefile.am:
20257         * examples/controller/.cvsignore:
20258         * examples/controller/Makefile.am:
20259         * examples/controller/audio-example.c: (main):
20260         * libs/gst/Makefile.am:
20261         * libs/gst/controller/.cvsignore:
20262         * libs/gst/controller/Makefile.am:
20263         * libs/gst/controller/gst-controller.c:
20264         (on_object_controlled_property_changed), (gst_timed_value_compare),
20265         (gst_timed_value_find),
20266         (gst_controlled_property_set_interpolation_mode),
20267         (gst_controlled_property_new), (gst_controlled_property_free),
20268         (gst_controller_find_controlled_property),
20269         (gst_controller_new_valist), (gst_controller_new),
20270         (gst_controller_remove_properties_valist),
20271         (gst_controller_remove_properties), (gst_controller_set),
20272         (gst_controller_set_from_list), (gst_controller_unset),
20273         (gst_controller_get), (gst_controller_get_all),
20274         (gst_controller_sink_values), (gst_controller_get_value_arrays),
20275         (gst_controller_get_value_array),
20276         (gst_controller_set_interpolation_mode),
20277         (_gst_controller_finalize), (_gst_controller_init),
20278         (_gst_controller_class_init), (gst_controller_get_type):
20279         * libs/gst/controller/gst-controller.h:
20280         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
20281         (g_object_uncontrol_properties), (g_object_get_controller),
20282         (g_object_set_controller), (g_object_sink_values),
20283         (g_object_get_value_arrays), (g_object_get_value_array):
20284         * libs/gst/controller/gst-interpolation.c:
20285         (gst_controlled_property_find_timed_value_node),
20286         (interpolate_none_get), (interpolate_trigger_get),
20287         (interpolate_trigger_get_value_array):
20288         * libs/gst/controller/lib.c: (gst_controller_init):
20289         * pkgconfig/Makefile.am:
20290         * pkgconfig/gstreamer-control-uninstalled.pc.in:
20291         * pkgconfig/gstreamer-control.pc.in:
20292         * testsuite/Makefile.am:
20293         * testsuite/controller/.cvsignore:
20294         * testsuite/controller/Makefile.am:
20295         * testsuite/controller/interpolator.c: (main):
20296           added controller code
20297           removed dparam pc files
20298
20299 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
20300         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
20301         (gst_collectpads_stop):
20302           Broadcast the condition when shutting down, to make sure we wake all
20303           threads up. Shut down pads on finalize, for safety.
20304
20305 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
20306         * gst/base/gstbasetransform.c: (gst_base_transform_init),
20307         (gst_base_transform_handle_buffer),
20308         (gst_base_transform_change_state):
20309           Handle PAUSED->READY->PAUSED transition after negotiation
20310           occurred already.
20311         * gst/gstmessage.c: (gst_message_init):
20312           Extra piece of debug for new messages.
20313
20314 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
20315
20316         * configure.ac:
20317         * docs/gst/tmpl/gstbasesrc.sgml:
20318         * docs/gst/tmpl/gstelement.sgml:
20319         * docs/gst/tmpl/gstevent.sgml:
20320         * docs/gst/tmpl/gstfakesrc.sgml:
20321         * docs/gst/tmpl/gstformat.sgml:
20322         * docs/gst/tmpl/gstghostpad.sgml:
20323         * docs/gst/tmpl/gstpad.sgml:
20324         * docs/gst/tmpl/gstquery.sgml:
20325         * docs/gst/tmpl/gststructure.sgml:
20326         * docs/gst/tmpl/gsttaglist.sgml:
20327         * docs/gst/tmpl/gstvalue.sgml:
20328         * docs/libs/gstreamer-libs-docs.sgml:
20329         * docs/libs/gstreamer-libs-sections.txt:
20330         * docs/libs/gstreamer-libs.types:
20331         * libs/gst/Makefile.am:
20332         * libs/gst/control/.cvsignore:
20333         * libs/gst/control/Makefile.am:
20334         * libs/gst/control/control.c:
20335         * libs/gst/control/control.h:
20336         * libs/gst/control/dparam.c:
20337         * libs/gst/control/dparam.h:
20338         * libs/gst/control/dparam_smooth.c:
20339         * libs/gst/control/dparam_smooth.h:
20340         * libs/gst/control/dparamcommon.h:
20341         * libs/gst/control/dparammanager.c:
20342         * libs/gst/control/dparammanager.h:
20343         * libs/gst/control/dplinearinterp.c:
20344         * libs/gst/control/dplinearinterp.h:
20345         * libs/gst/control/unitconvert.c:
20346         * libs/gst/control/unitconvert.h:
20347         * testsuite/Makefile.am:
20348         * testsuite/dynparams/.cvsignore:
20349         * testsuite/dynparams/Makefile.am:
20350         * testsuite/dynparams/dparamstest.c:
20351         * tools/Makefile.am:
20352         * tools/gst-inspect.c: (print_element_info), (main):
20353         * tools/gst-xmlinspect.c: (print_element_info), (main):
20354           deactivate and remove dparams (libgstcontrol)
20355
20356 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
20357
20358         * gst/elements/gsttypefindelement.c:
20359         (gst_type_find_element_have_type), (gst_type_find_element_init),
20360         (stop_typefinding), (gst_type_find_element_handle_event),
20361         (gst_type_find_element_chain), (gst_type_find_element_getrange):
20362         * gst/elements/gsttypefindelement.h:
20363           Set caps on all outgoing buffers, not just the first one.
20364
20365 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
20366
20367         * gst/elements/gsttypefindelement.c:
20368         (gst_type_find_element_have_type),
20369         (gst_type_find_element_check_set_buffer_caps),
20370         (gst_type_find_element_init), (stop_typefinding),
20371         (gst_type_find_element_handle_event),
20372         (gst_type_find_element_chain), (gst_type_find_element_getrange):
20373         * gst/elements/gsttypefindelement.h:
20374           Set caps on first outgoing buffer when we've found the type.
20375
20376 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
20377
20378         * docs/gst/gstreamer-docs.sgml:
20379         * docs/gst/gstreamer-sections.txt:
20380         * docs/gst/tmpl/gstscheduler.sgml:
20381         * docs/gst/tmpl/gstschedulerfactory.sgml:
20382           Remove some old cruft from docs.
20383
20384 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
20385
20386         * gst/gstpad.h:
20387           Fix inline docs for GstPadLinkReturn.
20388           
20389         * gst/gststructure.c: (gst_structure_has_name):
20390         * gst/gststructure.h:
20391         * docs/gst/gstreamer-sections.txt:
20392           New API: gst_structure_has_name().
20393
20394 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
20395
20396         * configure.ac:
20397           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
20398           and _LARGEFILE_SOURCE in config.h as required. Do not 
20399           export those flags in our .pc files any longer (#142209).
20400
20401           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
20402
20403         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
20404         (gst_file_sink_do_seek), (gst_file_sink_event),
20405         (gst_file_sink_get_current_offset), (gst_file_sink_render):
20406           Redo seek/tell calls with large file support in mind; add some
20407           debugging messages; add log message that tells us when large
20408           file support is unavailable or not enabled for some reason.
20409
20410         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
20411           Add log message that tells us when large file support 
20412           is unavailable or not enabled for some reason.
20413
20414 2005-07-29  Wim Taymans  <wim@fluendo.com>
20415
20416         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
20417         Added test for removing an element with ghostpad from a bin.
20418         Fixed test as current implementation does the right thing.
20419
20420         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
20421         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
20422         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
20423         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
20424         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
20425         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
20426         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
20427         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
20428         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
20429         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
20430         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
20431         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
20432         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
20433         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
20434         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
20435         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
20436         * gst/gstghostpad.h:
20437         Clean up ghostpads, remove properties for internal stuff.
20438         Make threadsafe.
20439         Fix refcounting.
20440         Prepare for switching targets, not all use cases work yet.
20441
20442 2005-07-29  Wim Taymans  <wim@fluendo.com>
20443
20444         * docs/design/part-gstghostpad.txt:
20445         Small update.
20446
20447         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
20448         (gst_bin_remove_func):
20449         Unlinking pads while holding the bin LOCK is not a good
20450         idea.
20451
20452         * gst/gstpad.c: (gst_pad_class_init),
20453         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
20454         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
20455         No prob setting template after creating the pad.
20456
20457 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
20458
20459         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
20460         (gst_bus_peek), (gst_bus_source_dispatch),
20461         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
20462         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
20463           gst_bus_poll may be called from other threads. Handle
20464           this nicely by not making poll_data disappear off the
20465           stack once gst_bus_poll returns.
20466           gst_bus_peek now increments the refcount on the returned
20467           message.
20468
20469 2005-07-29  Wim Taymans  <wim@fluendo.com>
20470
20471         * docs/design/part-gstghostpad.txt:
20472         Overview of current GhostPad datastructures and use
20473         cases for changing the target.
20474
20475 2005-07-28  Wim Taymans  <wim@fluendo.com>
20476
20477         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
20478         Added checks for hierarchy consistency whan adding linked
20479         elements to bins.
20480
20481         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
20482         Added check to test element scheduling without bin/pipeline.
20483
20484         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
20485         First add elements to bin, then link.
20486         
20487         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
20488         (gst_bin_remove_func):
20489         Unlink pads from elements added/removed from bin to maintain
20490         hierarchy consistency.
20491
20492 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20493
20494         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
20495         (gst_base_transform_handle_buffer):
20496         * gst/base/gstbasetransform.h:
20497           Remove broken delay_configure (fixes renegotiation of software
20498           scaling pipelines); remove some leftover printf()s.
20499
20500 2005-07-28  Wim Taymans  <wim@fluendo.com>
20501
20502         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
20503         Added some more tests for wrong hierarchy
20504
20505         * docs/design/part-overview.txt:
20506         Some updates.
20507
20508         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
20509         Cleanups.
20510
20511         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
20512         (gst_element_dispose):
20513         Some more cleanups.
20514
20515         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
20516         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
20517         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
20518         (gst_pad_set_caps), (gst_pad_send_event):
20519         Check for correct hierarchy when linking pads. Moving to
20520         strict requirement for ghostpads when linking elements in
20521         different bins.
20522
20523         * gst/gstpad.h:
20524         Clean ups. Added WRONG_HIERARCHY return value.
20525
20526 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20527
20528         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
20529           Better debug if no transform is possible.
20530
20531 2005-07-27  Wim Taymans  <wim@fluendo.com>
20532
20533         * docs/random/wtay/network-transp:
20534         Some old doc I had.
20535
20536 2005-07-27  Wim Taymans  <wim@fluendo.com>
20537
20538         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
20539         (gst_dp_event_from_packet):
20540         Fix serialization of seek events.
20541
20542 2005-07-27  Wim Taymans  <wim@fluendo.com>
20543
20544         * check/gst-libs/gdp.c: (GST_START_TEST):
20545         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
20546         Fix compilation and fix event serialization.
20547
20548 2005-07-27  Wim Taymans  <wim@fluendo.com>
20549
20550         * CHANGES-0.9:
20551         * docs/design/part-TODO.txt:
20552         * docs/design/part-events.txt:
20553         Some docs updates
20554
20555         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
20556         (gst_base_sink_event), (gst_base_sink_do_sync),
20557         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
20558         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
20559         (gst_base_src_do_seek), (gst_base_src_event_handler),
20560         (gst_base_src_loop):
20561         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
20562         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
20563         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
20564         (gst_base_transform_event), (gst_base_transform_handle_buffer),
20565         (gst_base_transform_set_passthrough),
20566         (gst_base_transform_is_passthrough):
20567         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
20568         * gst/elements/gstfilesink.c: (gst_file_sink_event):
20569         Event updates.
20570
20571         * gst/gstbuffer.h:
20572         Use faster casts.
20573
20574         * gst/gstelement.c: (gst_element_seek):
20575         * gst/gstelement.h:
20576         Update gst_element_seek.
20577
20578         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
20579         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
20580         (gst_event_new_flush_start), (gst_event_new_flush_stop),
20581         (gst_event_new_eos), (gst_event_new_newsegment),
20582         (gst_event_parse_newsegment), (gst_event_new_tag),
20583         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
20584         (gst_event_parse_qos), (gst_event_new_seek),
20585         (gst_event_parse_seek), (gst_event_new_navigation):
20586         * gst/gstevent.h:
20587         Make GstEvent use GstStructure. Add parsing code, make sure the
20588         API is sufficiently generic.
20589         Mark possible directions of events and serialization.
20590
20591         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
20592         (_gst_message_copy), (gst_message_new_segment_start),
20593         (gst_message_new_segment_done), (gst_message_new_custom),
20594         (gst_message_parse_segment_start),
20595         (gst_message_parse_segment_done):
20596         Small cleanups.
20597
20598         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
20599         (gst_pad_set_caps), (gst_pad_send_event):
20600         Update for new events. 
20601         Catch events sent in wrong directions.
20602
20603         * gst/gstqueue.c: (gst_queue_link_src),
20604         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
20605         (gst_queue_handle_src_query):
20606         Event updates.
20607
20608         * gst/gsttag.c:
20609         * gst/gsttag.h:
20610         Remove event code from this file.
20611
20612         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
20613         (gst_dp_event_from_packet):
20614         Event updates.
20615
20616 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20617
20618         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
20619         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
20620         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
20621           Make debugging actually useful.
20622
20623 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20624
20625         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
20626         (gst_pad_fixate_caps):
20627           Implement default fixation once again, so that gst_pad_fixate()
20628           actually does anything at all. This probably needs to be some
20629           sort of a last resort, and use profile-based fixation first, but
20630           since that doesn't exist yet, this is the best we have. Fixes
20631           visualization in Totem.
20632
20633 2005-07-22  Wim Taymans  <wim@fluendo.com>
20634
20635         * docs/design/part-events.txt:
20636         Small update.
20637
20638         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
20639         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
20640         (gst_base_sink_activate_pull):
20641         Some more comments.
20642
20643         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
20644         (gst_fake_src_create):
20645         Fix handoff marshall.
20646
20647         * gst/elements/gstidentity.c: (gst_identity_class_init),
20648         (gst_identity_transform_ip):
20649         We're a real inplace element.
20650
20651         * gst/gstbus.c: (gst_bus_post):
20652         Added some comments.
20653
20654         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
20655         * tests/muxing/case1.c: (main):
20656         * tests/sched/dynamic-pipeline.c: (main):
20657         * tests/sched/interrupt1.c: (main):
20658         * tests/sched/interrupt2.c: (main):
20659         * tests/sched/interrupt3.c: (main):
20660         * tests/sched/runxml.c: (main):
20661         * tests/sched/sched-stress.c: (main):
20662         * tests/seeking/seeking1.c: (event_received), (main):
20663         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
20664         (main):
20665         * tests/threadstate/threadstate3.c: (main):
20666         * tests/threadstate/threadstate4.c: (main):
20667         * tests/threadstate/threadstate5.c: (main):
20668         Fix the tests.
20669
20670 2005-07-21  Wim Taymans  <wim@fluendo.com>
20671
20672         * docs/design/part-seeking.txt:
20673         Some small additions.
20674
20675         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
20676         (gst_base_sink_get_times), (gst_base_sink_do_sync),
20677         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
20678         * gst/base/gstbasesink.h:
20679         discont values are gint64, handle the math correctly.
20680
20681         * gst/base/gstbasesrc.c: (gst_base_src_loop):
20682         Make the basesrc report error if the source pad is not linked.
20683
20684         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
20685         (gst_queue_loop), (gst_queue_handle_src_query),
20686         (gst_queue_src_activate_push):
20687         Make queue collect data even if the srcpad is not linked.
20688         Start pushing out data as soon as it is linked.
20689
20690         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
20691         * gst/gstutils.h:
20692         Added gst_flow_get_name() to ease error reporting.
20693
20694 2005-07-20  Wim Taymans  <wim@fluendo.com>
20695
20696         * gst/gstmessage.c: (gst_message_new_segment_start),
20697         (gst_message_new_segment_done), (gst_message_parse_segment_start),
20698         (gst_message_parse_segment_done):
20699         * gst/gstmessage.h:
20700         Added a bunch of messages for advanced seeking.
20701
20702         * gst/parse/grammar.y:
20703         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
20704         (gst_dpman_state_changed):
20705         Fix some new-pad -> pad-added signals
20706
20707 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20708
20709         * docs/manual/appendix-porting.xml:
20710         * docs/pwg/appendix-porting.xml:
20711           Document new-pad/state-change signal renames and the FixedList
20712           type rename.
20713
20714 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20715
20716         * docs/manual/advanced-autoplugging.xml:
20717         * docs/manual/basics-helloworld.xml:
20718         * docs/manual/basics-pads.xml:
20719         * docs/random/ds/0.9-suggested-changes:
20720         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
20721         * gst/gstelement.h:
20722         * gst/gstevent.h:
20723         * gst/gstformat.h:
20724         * gst/gstquery.h:
20725         * gst/gststructure.c: (gst_structure_value_get_generic_type),
20726         (gst_structure_parse_array), (gst_structure_parse_value):
20727         * gst/gstvalue.c: (gst_type_is_fixed),
20728         (gst_value_list_prepend_value), (gst_value_list_append_value),
20729         (gst_value_list_get_size), (gst_value_list_get_value),
20730         (gst_value_transform_array_string), (gst_value_serialize_array),
20731         (gst_value_deserialize_array), (gst_value_intersect_array),
20732         (gst_value_is_fixed), (_gst_value_initialize):
20733         * gst/gstvalue.h:
20734           GstElement::new-pad -> pad-added, GstElement::state-change ->
20735           state-changed, GstValueFixedList -> GstValueArray, add format and
20736           flags as their own arguments in gst_element_seek() (should improve
20737           "bindeability"), remove function generators since they don't work
20738           under a whole bunch of compilers (they were deprecated already
20739           anyway).
20740
20741 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20742
20743         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
20744         (_gst_debug_register_funcptr):
20745         * gst/gstinfo.h:
20746           Fix illegal cast on some platforms (#309253).
20747
20748 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20749
20750         * gst/gstmessage.c: (gst_message_new_custom):
20751         * gst/gstmessage.h:
20752           Add _new_custom, make _new_application a macro to _new_custom.
20753
20754 2005-07-20  Wim Taymans  <wim@fluendo.com>
20755
20756         * gst/base/gstbasesrc.c: (gst_base_src_init),
20757         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
20758         * gst/base/gstbasesrc.h:
20759         Add a gboolean to decide when to push out a discont.
20760
20761         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
20762         (gst_queue_loop), (gst_queue_handle_src_query),
20763         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
20764         (gst_queue_set_property), (gst_queue_get_property):
20765         Some cleanups.
20766
20767         * tests/threadstate/threadstate1.c: (main):
20768         Make a thread test compile and run... very silly..
20769
20770
20771 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20772
20773         * docs/manual/appendix-porting.xml:
20774           Mention removal of libgstgconf-0.9.la and existence of gconf
20775           elements.
20776
20777 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20778
20779         * docs/pwg/advanced-clock.xml:
20780         * docs/pwg/appendix-porting.xml:
20781         * docs/pwg/intro-preface.xml:
20782         * docs/pwg/other-base.xml:
20783         * docs/pwg/other-manager.xml:
20784         * docs/pwg/other-nton.xml:
20785         * docs/pwg/other-ntoone.xml:
20786         * docs/pwg/other-oneton.xml:
20787         * docs/pwg/pwg.xml:
20788           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
20789           demuxer), remove n-to-n (was never written), fix some code examples
20790           and links and update the porting section to include all this.
20791
20792 2005-07-19  Wim Taymans  <wim@fluendo.com>
20793
20794         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
20795         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
20796         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
20797         (gst_queue_src_activate_push), (gst_queue_change_state),
20798         (gst_queue_get_property):
20799         * gst/gstqueue.h:
20800         Propagate GstFlowReturn more intelligently upstream and output
20801         an ERROR/EOS when streaming stopped due to fatal error.
20802
20803 2005-07-19  Wim Taymans  <wim@fluendo.com>
20804
20805         * tools/gst-launch.c: (check_intr), (event_loop), (main):
20806         Don't block forever for the state change to complete, the
20807         pipeline already did with a sensible timeout.
20808
20809 2005-07-19  Wim Taymans  <wim@fluendo.com>
20810
20811         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
20812         Make sure we never call the create function is we
20813         got deactivated.
20814
20815 2005-07-19  Andy Wingo  <wingo@pobox.com>
20816
20817         * gst/parse/parse.l: Attempt to solve bug #172815.
20818
20819 2005-07-19  Wim Taymans  <wim@fluendo.com>
20820
20821         * docs/design/part-clocks.txt:
20822         * docs/design/part-events.txt:
20823         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
20824         Small docs updates.
20825         Only update the seeking values when we are not
20826         busy streaming.
20827
20828 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
20829
20830         * gst/base/gstbasesrc.c: (gst_base_src_loop):
20831           Oops, ignore the result of gst_pad_push_event here.
20832
20833 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
20834
20835         * gst/base/gstbasesrc.c: (gst_base_src_loop),
20836         (gst_base_src_activate_push):
20837           Send discont event from the loop function, as pads
20838           aren't activated yet in the activate_push handler.
20839
20840         * gst/gstbin.c: (bin_bus_handler):
20841           Don't leak element name.
20842
20843 2005-07-18  Andy Wingo  <wingo@pobox.com>
20844
20845         * configure.ac: Use AS_LIBTOOL_TAGS.
20846
20847 2005-07-18  Wim Taymans  <wim@fluendo.com>
20848
20849         * docs/gst/gstreamer.types:
20850         Remove deleted types.
20851
20852 2005-07-18  Wim Taymans  <wim@fluendo.com>
20853
20854         * check/elements/gstfakesrc.c: (GST_START_TEST):
20855         * configure.ac:
20856         * gst/Makefile.am:
20857         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
20858         (init_popt_callback):
20859         * gst/gst.h:
20860         * gst/gst_private.h:
20861         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
20862         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
20863         * gst/gstbin.h:
20864         * gst/gstbus.h:
20865         * gst/gstconfig.h.in:
20866         * gst/gstelement.c: (gst_element_class_init),
20867         (gst_element_set_base_time), (gst_element_get_base_time),
20868         (iterator_fold_with_resync), (gst_element_change_state),
20869         (gst_element_dispose), (gst_element_get_bus):
20870         * gst/gstelement.h:
20871         * gst/gstelementfactory.h:
20872         * gst/gsterror.c: (_gst_core_errors_init):
20873         * gst/gsterror.h:
20874         * gst/gstevent.h:
20875         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
20876         * gst/gstindex.c:
20877         * gst/gstinfo.c: (_gst_debug_init):
20878         * gst/gstmessage.c: (_gst_message_copy):
20879         * gst/gstmessage.h:
20880         * gst/gstminiobject.h:
20881         * gst/gstobject.c:
20882         * gst/gstobject.h:
20883         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
20884         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
20885         * gst/gstpad.h:
20886         * gst/gstparse.h:
20887         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
20888         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
20889         (gst_pipeline_get_last_stream_time):
20890         * gst/gstpipeline.h:
20891         * gst/gstpluginfeature.h:
20892         * gst/gstquery.h:
20893         * gst/gstscheduler.c:
20894         * gst/gstscheduler.h:
20895         * gst/gststructure.h:
20896         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
20897         (gst_task_finalize), (gst_task_func), (gst_task_create),
20898         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
20899         (gst_task_stop), (gst_task_pause):
20900         * gst/gsttask.h:
20901         * gst/gsttypefind.h:
20902         * gst/gsttypes.h:
20903         * gst/registries/gstlibxmlregistry.c: (load_feature),
20904         (gst_xml_registry_load), (gst_xml_registry_save_feature):
20905         * gst/registries/gstxmlregistry.c:
20906         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
20907         * gst/schedulers/threadscheduler.c:
20908         * libs/gst/control/dparammanager.h:
20909         * tools/gst-inspect.c: (print_element_list),
20910         (print_plugin_features), (print_element_features):
20911         * tools/gst-xmlinspect.c: (print_element_list),
20912         (print_plugin_info), (main):
20913         Removed plugable schedulers.
20914         Removed Scheduler/Manager from elements.
20915         Removed gsttypes.h, rearranged includes.
20916         Removed dependency pad<->element, element<>pipeline, and
20917         various others,  fix includes.
20918         implement gst_pad_get_parent() with gst_object_get_parent()
20919         Make GstTask sefcontained.
20920         Fix _get_state() on GstBin, it did not return ASYNC with a 0
20921         timeout.
20922         Fix endless loop in iterator_fold_with_resync.
20923
20924
20925 2005-07-18  Wim Taymans  <wim@fluendo.com>
20926
20927         * gst/Makefile.am:
20928         * gst/gstarch.h:
20929         Remove old file.
20930
20931 2005-07-18  Wim Taymans  <wim@fluendo.com>
20932
20933         * gst/Makefile.am:
20934         No more cothreads.h
20935
20936 2005-07-18  Wim Taymans  <wim@fluendo.com>
20937
20938         * gst/cothreads.c:
20939         * gst/cothreads.h:
20940         Let's remove these.
20941
20942 2005-07-18  Wim Taymans  <wim@fluendo.com>
20943
20944         * docs/design/part-dynamic.txt:
20945         * docs/design/part-events.txt:
20946         * docs/design/part-seeking.txt:
20947         Some more docs in the works.
20948
20949         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
20950         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
20951         (gst_base_transform_setcaps), (gst_base_transform_get_size),
20952         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
20953         (gst_base_transform_handle_buffer),
20954         (gst_base_transform_sink_activate_push),
20955         (gst_base_transform_src_activate_pull),
20956         (gst_base_transform_set_passthrough),
20957         (gst_base_transform_is_passthrough):
20958         Refcounting fixes.
20959
20960         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
20961         Cleanups.
20962
20963         * gst/gstevent.c: (gst_event_finalize):
20964         Set SRC to NULL.
20965
20966         * gst/gstutils.c: (gst_element_unlink),
20967         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
20968         (gst_pad_proxy_setcaps):
20969         * gst/gstutils.h:
20970         Add _get_parent_element() to get a pads parent as an element.
20971
20972 2005-07-18  Wim Taymans  <wim@fluendo.com>
20973
20974         * check/gst/gstbin.c: (GST_START_TEST):
20975         Remove bogus test.
20976
20977 2005-07-18  Wim Taymans  <wim@fluendo.com>
20978
20979         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
20980         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
20981         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
20982         (gst_base_sink_event), (gst_base_sink_do_sync),
20983         (gst_base_sink_chain), (gst_base_sink_loop),
20984         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
20985         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
20986         Refcounting fixes.
20987         Fix logic for returning ASYNC when not prerolled.
20988
20989 2005-07-18  Wim Taymans  <wim@fluendo.com>
20990
20991         * gst/gstqueue.c: (gst_queue_handle_sink_event):
20992         Fix nasty refcount bug.
20993
20994 2005-07-16 Philippe Khalaf <burger@speedy.org>
20995
20996         * gst/elements/gstfdsrc.c:
20997         * gst/elements/gstfdsrc.h:
20998         * gst/elements/gstelements.c:
20999         * gst/elements/Makefile.am:
21000         Ported fdsrc to 0.9.
21001
21002 2005-07-16  Wim Taymans  <wim@fluendo.com>
21003
21004         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
21005         (gst_base_sink_do_sync):
21006         Fix compile error.
21007
21008 2005-07-16  Wim Taymans  <wim@fluendo.com>
21009
21010         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
21011         (gst_base_sink_event), (gst_base_sink_get_times),
21012         (gst_base_sink_do_sync), (gst_base_sink_change_state):
21013         * gst/base/gstbasesink.h:
21014         Store and use discont values when syncing buffers as described
21015         in design docs.
21016         
21017         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
21018         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
21019         (gst_base_src_activate_push):
21020         Push discont event when starting.
21021
21022         * gst/elements/gstidentity.c: (gst_identity_transform):
21023         Small cleanups.
21024
21025         * gst/gstbin.c: (gst_bin_change_state):
21026         Small cleanups in base_time  distribution.
21027
21028         * gst/gstelement.c: (gst_element_set_base_time),
21029         (gst_element_get_base_time), (gst_element_change_state):
21030         * gst/gstelement.h:
21031         Added methods for the base_time of the element.
21032         Some MT fixes.
21033
21034         * gst/gstpipeline.c: (gst_pipeline_send_event),
21035         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
21036         (gst_pipeline_get_last_stream_time):
21037         * gst/gstpipeline.h:
21038         MT fixes.
21039         Handle seeking as described in design doc, remove stream_time
21040         hack.
21041         Cleanups clock and stream_time selection code. Added accessors
21042         for the stream_time.
21043         
21044
21045 2005-07-16  Andy Wingo  <wingo@pobox.com>
21046
21047         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
21048         (#305291).
21049
21050 2005-07-16  Wim Taymans  <wim@fluendo.com>
21051
21052         * check/gst/gstbin.c: (GST_START_TEST):
21053         Make elements silent as the deep_notify refs the
21054         parent, which might make the test fail.
21055
21056         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
21057         Don't hold the lock for too long.
21058
21059 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
21060
21061         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
21062           Don't unref the caps we passed to gst_caps_make_writable() after
21063           passing them. gst_caps_make_writable() will do that for us.
21064
21065 2005-07-15  Andy Wingo  <wingo@pobox.com>
21066
21067         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
21068         (#157311).
21069
21070         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
21071         own marshalling function for the handoff signal. Properly type the
21072         buffer as a buffer. Fixes some warnings. Should do a more general
21073         solution.
21074         (gst_identity_class_init): Plug into the right marshaller.
21075
21076 2005-07-15  Wim Taymans  <wim@fluendo.com>
21077
21078         * docs/design/part-TODO.txt:
21079         * docs/design/part-clocks.txt:
21080         * docs/design/part-element-sink.txt:
21081         * docs/design/part-events.txt:
21082         * docs/design/part-gstpipeline.txt:
21083         Updated docs, mostly DISCONT related.
21084
21085 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
21086
21087         * docs/pwg/building-pads.xml:
21088           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
21089
21090 2005-07-15  Andy Wingo  <wingo@pobox.com>
21091
21092         * tools/gst-typefind.c: Update, add copyright block.
21093
21094         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
21095         Normalize and truncate caps before fixation.
21096
21097         * gst/gstcaps.h:
21098         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
21099         discards all but the first structure from its argument.
21100
21101 2005-07-15  Wim Taymans  <wim@fluendo.com>
21102
21103         * gst/base/gstbasetransform.c: (gst_base_transform_init),
21104         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
21105         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
21106         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
21107         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
21108         (gst_base_transform_chain), (gst_base_transform_change_state),
21109         (gst_base_transform_set_passthrough),
21110         (gst_base_transform_is_passthrough):
21111         * gst/base/gstbasetransform.h:
21112         Make passthrough work using the bufferpools.
21113         Changed API a bit, subclasses have to write into a buffer
21114         provided by the base class.
21115         More debug info in nego functions.
21116         
21117         * gst/elements/gstidentity.c: (gst_identity_init),
21118         (gst_identity_transform):
21119         Port to new base class.
21120
21121 2005-07-15  Wim Taymans  <wim@fluendo.com>
21122
21123         * gst/gstmessage.c: (gst_message_new_state_changed):
21124         * tools/gst-launch.c: (event_loop), (main):
21125         Totally dump messages in -launch with the -m option.
21126         Fix message name for State messages,
21127
21128 2005-07-14  Wim Taymans  <wim@fluendo.com>
21129
21130         * gst/base/gstbasesrc.c: (gst_base_src_loop):
21131         Post error messages on errors.
21132
21133 2005-07-14  Wim Taymans  <wim@fluendo.com>
21134
21135         * gst/gstcaps.c: (gst_caps_do_simplify):
21136         Remove debug info.
21137
21138         * gst/gsterror.h:
21139         Define error for stream stopped.
21140
21141         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
21142         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
21143         Do proper return values.
21144
21145         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
21146         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
21147         (gst_pad_get_range):
21148         Better return values.
21149
21150         * gst/gstpad.h:
21151         Reorganise return values, add macro to check for fatal errors.
21152
21153         * gst/gstqueue.c: (gst_queue_chain):
21154         Return proper GstFlowReturn values,
21155
21156 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
21157
21158         * docs/gst/gstreamer-sections.txt:
21159         * docs/gst/gstreamer.types:
21160         * docs/gst/tmpl/gst.sgml:
21161         * docs/gst/tmpl/gstbasesink.sgml:
21162         * docs/gst/tmpl/gstbasesrc.sgml:
21163         * docs/gst/tmpl/gstbasetransform.sgml:
21164         * docs/gst/tmpl/gstbin.sgml:
21165         * docs/gst/tmpl/gstbuffer.sgml:
21166         * docs/gst/tmpl/gstcaps.sgml:
21167         * docs/gst/tmpl/gstclock.sgml:
21168         * docs/gst/tmpl/gstcompat.sgml:
21169         * docs/gst/tmpl/gstconfig.sgml:
21170         * docs/gst/tmpl/gstelement.sgml:
21171         * docs/gst/tmpl/gstelementdetails.sgml:
21172         * docs/gst/tmpl/gstelementfactory.sgml:
21173         * docs/gst/tmpl/gstenumtypes.sgml:
21174         * docs/gst/tmpl/gsterror.sgml:
21175         * docs/gst/tmpl/gstevent.sgml:
21176         * docs/gst/tmpl/gstfakesink.sgml:
21177         * docs/gst/tmpl/gstfakesrc.sgml:
21178         * docs/gst/tmpl/gstfilesink.sgml:
21179         * docs/gst/tmpl/gstfilesrc.sgml:
21180         * docs/gst/tmpl/gstfilter.sgml:
21181         * docs/gst/tmpl/gstformat.sgml:
21182         * docs/gst/tmpl/gstghostpad.sgml:
21183         * docs/gst/tmpl/gstimplementsinterface.sgml:
21184         * docs/gst/tmpl/gstindex.sgml:
21185         * docs/gst/tmpl/gstindexfactory.sgml:
21186         * docs/gst/tmpl/gstinfo.sgml:
21187         * docs/gst/tmpl/gstiterator.sgml:
21188         * docs/gst/tmpl/gstmacros.sgml:
21189         * docs/gst/tmpl/gstmemchunk.sgml:
21190         * docs/gst/tmpl/gstminiobject.sgml:
21191         * docs/gst/tmpl/gstobject.sgml:
21192         * docs/gst/tmpl/gstpad.sgml:
21193         * docs/gst/tmpl/gstpadtemplate.sgml:
21194         * docs/gst/tmpl/gstparse.sgml:
21195         * docs/gst/tmpl/gstpipeline.sgml:
21196         * docs/gst/tmpl/gstplugin.sgml:
21197         * docs/gst/tmpl/gstpluginfeature.sgml:
21198         * docs/gst/tmpl/gstquery.sgml:
21199         * docs/gst/tmpl/gstqueue.sgml:
21200         * docs/gst/tmpl/gstregistry.sgml:
21201         * docs/gst/tmpl/gstregistrypool.sgml:
21202         * docs/gst/tmpl/gstscheduler.sgml:
21203         * docs/gst/tmpl/gstschedulerfactory.sgml:
21204         * docs/gst/tmpl/gststructure.sgml:
21205         * docs/gst/tmpl/gstsystemclock.sgml:
21206         * docs/gst/tmpl/gsttaglist.sgml:
21207         * docs/gst/tmpl/gsttagsetter.sgml:
21208         * docs/gst/tmpl/gsttrace.sgml:
21209         * docs/gst/tmpl/gsttrashstack.sgml:
21210         * docs/gst/tmpl/gsttypefind.sgml:
21211         * docs/gst/tmpl/gsttypefindfactory.sgml:
21212         * docs/gst/tmpl/gsttypes.sgml:
21213         * docs/gst/tmpl/gsturihandler.sgml:
21214         * docs/gst/tmpl/gsturitype.sgml:
21215         * docs/gst/tmpl/gstutils.sgml:
21216         * docs/gst/tmpl/gstvalue.sgml:
21217         * docs/gst/tmpl/gstversion.sgml:
21218         * docs/gst/tmpl/gstxml.sgml:
21219         * docs/libs/tmpl/gstcontrol.sgml:
21220         * docs/libs/tmpl/gstdataprotocol.sgml:
21221         * docs/libs/tmpl/gstdparam.sgml:
21222         * docs/libs/tmpl/gstdplinint.sgml:
21223         * docs/libs/tmpl/gstdpman.sgml:
21224         * docs/libs/tmpl/gstdpsmooth.sgml:
21225         * docs/libs/tmpl/gstgetbits.sgml:
21226         * docs/libs/tmpl/gstunitconvert.sgml:
21227         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
21228         (gst_push_src_base_init), (gst_push_src_class_init),
21229         (gst_push_src_init), (gst_push_src_create):
21230         * gst/base/gstpushsrc.h:
21231         * gst/elements/gstelements.c:
21232         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
21233         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
21234         (gst_fake_sink_init), (gst_fake_sink_set_property),
21235         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
21236         (gst_fake_sink_event), (gst_fake_sink_preroll),
21237         (gst_fake_sink_render), (gst_fake_sink_change_state):
21238         * gst/elements/gstfakesink.h:
21239         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
21240         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
21241         (gst_fake_src_base_init), (gst_fake_src_class_init),
21242         (gst_fake_src_init), (gst_fake_src_event_handler),
21243         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
21244         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
21245         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
21246         (gst_fake_src_create_buffer), (gst_fake_src_create),
21247         (gst_fake_src_start), (gst_fake_src_stop):
21248         * gst/elements/gstfakesrc.h:
21249         * gst/elements/gstfilesink.c: (_do_init),
21250         (gst_file_sink_base_init), (gst_file_sink_class_init),
21251         (gst_file_sink_init), (gst_file_sink_dispose),
21252         (gst_file_sink_set_location), (gst_file_sink_set_property),
21253         (gst_file_sink_get_property), (gst_file_sink_open_file),
21254         (gst_file_sink_close_file), (gst_file_sink_query),
21255         (gst_file_sink_event), (gst_file_sink_render),
21256         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
21257         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
21258         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
21259         * gst/elements/gstfilesink.h:
21260         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
21261         (gst_file_src_class_init), (gst_file_src_init),
21262         (gst_file_src_finalize), (gst_file_src_set_location),
21263         (gst_file_src_set_property), (gst_file_src_get_property),
21264         (gst_file_src_map_region), (gst_file_src_map_small_region),
21265         (gst_file_src_create_mmap), (gst_file_src_create_read),
21266         (gst_file_src_create), (gst_file_src_is_seekable),
21267         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
21268         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
21269         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
21270         (gst_file_src_uri_handler_init):
21271         * gst/elements/gstfilesrc.h:
21272           more autistic cleanliness in functions/names/defines
21273
21274 2005-07-13  Andy Wingo  <wingo@pobox.com>
21275
21276         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
21277         source couldn't negotiate.
21278
21279         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
21280         connections again.
21281
21282         * gst/gstutils.h:
21283         * gst/gstutils.c (gst_element_link_pads_filtered): New old
21284         function. I am channeling Hades. Put your boots on suckers!!!
21285
21286 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
21287
21288         * testsuite/caps/Makefile.am:
21289         * testsuite/caps/value_compare.c:
21290         * testsuite/caps/value_intersect.c:
21291         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
21292           move two testsuite apps over to the check dir
21293
21294 2005-07-12  Wim Taymans  <wim@fluendo.com>
21295
21296         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
21297         Added more debug info in the negotiate process.
21298
21299         * gst/gstmessage.h:
21300         Prepare for segment playback.
21301
21302         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
21303         Better debugging.
21304
21305         * gst/gstutils.c:
21306         Some more docs.
21307
21308         * tools/gst-launch.c: (main):
21309         NULL pipeline on errors.
21310
21311 2005-07-12  Andy Wingo  <wingo@pobox.com>
21312
21313         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
21314         not it comes from a malloc region. Make sure our copy gets freed.
21315
21316 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
21317
21318         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
21319         * check/gst/gstmessage.c: (GST_START_TEST):
21320         * check/gst/gststructure.c: (GST_START_TEST),
21321         (gst_structure_suite), (main):
21322           more testing
21323         * gst/gstelement.c: (gst_element_message_full):
21324           clean up GError and debug string now that they get copied
21325         * gst/gstmessage.c: (gst_message_new_error),
21326         (gst_message_new_warning), (gst_message_parse_error),
21327         (gst_message_parse_warning):
21328           use GST_TYPE_G_ERROR for structure_new, and take copies of
21329           arguments, so that we don't mess up refcounting
21330
21331 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
21332
21333         * check/Makefile.am:
21334           add per-test valgrind targets
21335         * check/gst-libs/gdp.c: (GST_START_TEST),
21336         (gst_data_protocol_suite), (main):
21337           clean up
21338
21339 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
21340
21341         * check/Makefile.am:
21342           instate more valgrindable tests
21343         * check/elements/gstfakesrc.c: (chain_func), (event_func),
21344         (GST_START_TEST), (fakesrc_suite):
21345         * check/gst/gstpad.c: (GST_START_TEST):
21346         * check/gst/gststructure.c: (GST_START_TEST):
21347           fix test leaks
21348         * docs/gst/tmpl/gstminiobject.sgml:
21349         * gst/gstpad.c: (gst_pad_finalize):
21350           fix the static mutex leak
21351
21352 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
21353
21354         * check/Makefile.am:
21355           add two more tests for valgrinding
21356         * check/gst/gstvalue.c: (GST_START_TEST):
21357           test refcount of deserialized buffer, found a leak
21358         * docs/gst/gstreamer-docs.sgml:
21359         * docs/gst/gstreamer-sections.txt:
21360         * docs/gst/gstreamer.types:
21361         * docs/gst/tmpl/gstminiobject.sgml:
21362           add miniobject to docs
21363         * gst/gstminiobject.c:
21364           add some docs
21365         * gst/gstvalue.c: (gst_value_deserialize_buffer),
21366         (gst_string_unwrap):
21367           fix a hard-to-find invalid write for one of the tests
21368           fix a leak for deserialized buffers
21369
21370 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21371
21372         * docs/pwg/advanced-events.xml:
21373         * docs/pwg/advanced-request.xml:
21374         * docs/pwg/advanced-scheduling.xml:
21375         * docs/pwg/appendix-porting.xml:
21376         * docs/pwg/building-boiler.xml:
21377         * docs/pwg/intro-preface.xml:
21378         * docs/pwg/other-ntoone.xml:
21379           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
21380           of example code and explanation for pad activation, loop() and
21381           getrange() functions and a bit more. Remove old comments pointing
21382           to loop-functions.
21383         * examples/pwg/Makefile.am:
21384           Add loop/getrange examples.
21385
21386 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
21387
21388         * configure.ac:
21389           check for valgrind binary + some fixes
21390         * check/gst.supp:
21391           valgrind suppressions for the tests
21392         * check/Makefile.am:
21393           add a valgrind: target that valgrinds the unit tests
21394         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
21395         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
21396         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
21397         * check/gst/gstghostpad.c:
21398           added some cleanup
21399         * check/gst/gstdata.c:
21400           removed
21401         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
21402         (thread_unref), (gst_mini_object_suite), (main):
21403           added
21404         * gst/gst.c: (gst_deinit):
21405         * gst/gst.h:
21406           add a method to clean up.
21407         * gst/gstsystemclock.c: (gst_system_clock_dispose),
21408         (gst_system_clock_obtain):
21409           allow for disposing the system clock.
21410         * tools/gst-launch.c: (main):
21411           deinit
21412
21413 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
21414
21415         * docs/gst/tmpl/gstbasesrc.sgml:
21416         * docs/gst/tmpl/gstfakesrc.sgml:
21417         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
21418         (gst_base_src_init), (gst_base_src_set_property),
21419         (gst_base_src_get_property), (gst_base_src_get_range),
21420         (gst_base_src_start):
21421         * gst/base/gstbasesrc.h:
21422           add num-buffers property
21423         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
21424         (gst_fakesrc_init), (gst_fakesrc_set_property),
21425         (gst_fakesrc_get_property), (gst_fakesrc_create),
21426         (gst_fakesrc_start):
21427           remove num-buffers property
21428
21429 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
21430
21431         * docs/gst/gstreamer-sections.txt:
21432         * docs/gst/tmpl/gstbasesink.sgml:
21433         * docs/gst/tmpl/gstbasesrc.sgml:
21434         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
21435         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
21436         (gst_base_sink_finalize), (gst_base_sink_set_clock),
21437         (gst_base_sink_set_property), (gst_base_sink_get_property),
21438         (gst_base_sink_handle_object), (gst_base_sink_event),
21439         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
21440         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
21441         (gst_base_sink_loop), (gst_base_sink_deactivate),
21442         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
21443         (gst_base_sink_change_state):
21444         * gst/base/gstbasesink.h:
21445         * gst/base/gstbasesrc.h:
21446         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
21447         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
21448         (gst_filesink_init):
21449           more macro splitting
21450
21451 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
21452
21453         * gst/gstelement.c: (gst_element_get_bus):
21454           add debug
21455         * tools/gst-launch.c: (check_intr), (event_loop):
21456           fix bus leaks
21457
21458 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
21459
21460         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
21461           fix a caps leak
21462
21463 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
21464
21465         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
21466         (gst_base_src_finalize):
21467           add finalize method and clean up properly
21468         * gst/gstpipeline.c: (gst_pipeline_dispose):
21469           add debug
21470
21471 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
21472
21473         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
21474         (gst_bin_suite):
21475           add more things to check
21476         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
21477         * gst/gstelement.c:
21478           more debug
21479
21480 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
21481
21482         * check/elements/gstfakesrc.c: (chain_func), (event_func),
21483         (GST_START_TEST), (fakesrc_suite):
21484         * check/gst-libs/gdp.c: (GST_START_TEST):
21485         * check/gst/gst.c: (GST_START_TEST):
21486         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
21487         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
21488         * check/gst/gstbus.c: (GST_START_TEST):
21489         * check/gst/gstcaps.c: (GST_START_TEST):
21490         * check/gst/gstdata.c: (GST_START_TEST):
21491         * check/gst/gstelement.c: (GST_START_TEST):
21492         * check/gst/gstghostpad.c: (GST_START_TEST):
21493         * check/gst/gstiterator.c: (GST_START_TEST):
21494         * check/gst/gstmessage.c: (GST_START_TEST):
21495         * check/gst/gstobject.c: (GST_START_TEST):
21496         * check/gst/gstpad.c: (GST_START_TEST):
21497         * check/gst/gststructure.c: (GST_START_TEST):
21498         * check/gst/gstsystemclock.c: (GST_START_TEST),
21499         (gst_systemclock_suite):
21500         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
21501         * check/gst/gstvalue.c: (GST_START_TEST):
21502         * check/pipelines/cleanup.c: (GST_START_TEST):
21503         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
21504         * check/states/sinks.c: (GST_START_TEST):
21505         * check/gstcheck.c: (gst_check_init):
21506         * check/gstcheck.h:
21507           add debugging category
21508           use GST_START_TEST now, so we add a debug line
21509
21510 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
21511
21512         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
21513           add test for state change message on a bin
21514         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
21515           add another test
21516         * gst/gstbin.c: (gst_bin_init):
21517         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
21518         * gst/gstelement.c: (gst_element_post_message),
21519         (gst_element_set_state):
21520         * gst/gstelementfactory.c: (gst_element_factory_create):
21521         * gst/gstmessage.c: (gst_message_new):
21522         * gst/gstscheduler.c:
21523           various debugging additions and cleanups
21524
21525 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
21526
21527         * check/Makefile.am:
21528         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
21529         (main):
21530           adding tests for elements
21531         * gst/gstelement.c: (gst_element_dispose):
21532
21533 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
21534
21535         * gst/registries/gstlibxmlregistry.c: (load_feature):
21536           plug more leaks.  A simple gst_init() now is leakfree, yay.
21537
21538 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
21539
21540         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
21541         (gst_xml_registry_load):
21542           plug another memleak
21543
21544 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
21545
21546         * configure.ac:
21547           use GST_SET_ERROR_CFLAGS
21548         * docs/faq/cvs.xml:
21549           change to ERROR_CFLAGS
21550
21551 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
21552
21553         * configure.ac:
21554           make GST_ERROR_CFLAGS overridable and re-enable Werror
21555         * docs/faq/cvs.xml:
21556           add a note about error CFLAGS
21557         * docs/gst/tmpl/gstfakesrc.sgml:
21558         * gst/elements/gstfakesrc.c:
21559           comment out some unused code
21560         * gst/gst.c: (split_and_iterate):
21561         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
21562         (load_feature):
21563           plug some memleaks
21564
21565 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
21566
21567         * common/Makefile.am:
21568         * common/gtk-doc.mak:
21569         * docs/gst/Makefile.am:
21570           factor out gtk-doc.mak
21571
21572 2005-07-07  Wim Taymans  <wim@fluendo.com>
21573
21574         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
21575         (gst_thread_scheduler_dispose):
21576         Unlock the STREAM_LOCK completely.
21577
21578 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
21579
21580         * check/Makefile.am:
21581         * check/elements/.cvsignore:
21582         * check/elements/gstfakesrc.c: (chain_func), (event_func),
21583         (START_TEST), (fakesrc_suite), (main):
21584         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
21585         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
21586         (gst_fakesrc_create), (gst_fakesrc_start):
21587         * gst/elements/gstfakesrc.h:
21588           adding a first element test
21589
21590 2005-07-07  Andy Wingo  <wingo@pobox.com>
21591
21592         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
21593         debug message.
21594
21595 2005-07-07  Wim Taymans  <wim@fluendo.com>
21596
21597         * gst/gstquery.c:
21598         * gst/gstquery.h:
21599         Remove old types
21600
21601 2005-07-07  Wim Taymans  <wim@fluendo.com>
21602
21603         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
21604         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
21605         Allow subclasses to implement their own negotiation.
21606
21607 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
21608
21609         * docs/design/part-gstbin.txt:
21610         * docs/design/part-gstpipeline.txt:
21611           Update design notes to reflect the movement of
21612           responsibility for bus handling from GstPipeline to
21613           GstBin
21614
21615 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
21616
21617         * configure.ac:
21618           Remove unnecessary queue2/3/4 examples.
21619
21620 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
21621
21622         * examples/Makefile.am:
21623         * examples/helloworld/helloworld.c: (event_loop), (main):
21624         * examples/queue/queue.c: (event_loop), (main):
21625         * examples/queue2/queue2.c: (main):
21626           Update a couple of the examples to work again.
21627
21628         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
21629         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
21630          Spelling corrections and extra debug.
21631         
21632         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
21633         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
21634         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
21635         * gst/gstbin.h:
21636         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
21637         (gst_pipeline_change_state):
21638         * gst/gstpipeline.h:
21639           Move the bus handler for children to the GstBin, and create a
21640           separate bus for receiving messages from children to the one the
21641           bus sends 'upwards' on.
21642
21643 2005-07-06  Wim Taymans  <wim@fluendo.com>
21644
21645         * gst/base/README:
21646         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
21647         (gst_base_sink_handle_object), (gst_base_sink_loop),
21648         (gst_base_sink_change_state):
21649         * gst/base/gstbasesink.h:
21650         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
21651         (gst_base_src_init), (gst_base_src_setcaps),
21652         (gst_base_src_getcaps), (gst_base_src_loop),
21653         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
21654         (gst_base_src_start), (gst_base_src_change_state):
21655         * gst/base/gstbasesrc.h:
21656         Make basesrc negotiate.
21657         Handle the case where preroll fails in basesink.
21658         Update README.
21659
21660 2005-07-06  Wim Taymans  <wim@fluendo.com>
21661
21662         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
21663         Implement the fixate function.
21664         Clean up acceptcaps.
21665
21666 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21667
21668         * docs/pwg/building-filterfactory.xml:
21669         * docs/pwg/pwg.xml:
21670           Remove never-written filter-factory chapter; I'll add the various
21671           base classes to part 4 ("other element types") later on.
21672
21673 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21674
21675         * docs/pwg/advanced-negotiation.xml:
21676         * docs/pwg/building-boiler.xml:
21677         * docs/pwg/building-pads.xml:
21678         * docs/pwg/pwg.xml:
21679         * examples/pwg/Makefile.am:
21680           Add a chapter on caps negotiation, simplify the original code
21681           samples a bit w.r.t. caps negotiation, add link to the advanced
21682           section. Add a bunch of examples showing different use cases of
21683           different types of caps negotiation. Upstream renegotiation isn't
21684           fully documented yet since nobody knows how that works.
21685
21686 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
21687
21688         * check/gst/gstpad.c:
21689         * check/gstcheck.c:
21690         * gst/gstpad.c: (gst_pad_get_internal_links_default):
21691           if pad has no parent, return NULL as list of internal links
21692
21693 2005-07-05  Andy Wingo  <wingo@pobox.com>
21694
21695         * gst/elements/gstfilesrc.c:
21696         * gst/elements/gstfakesrc.c: 
21697         * gst/base/gstpushsrc.c:
21698         * gst/base/gstbasesrc.h: 
21699         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
21700         
21701 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
21702
21703         * Makefile.am:
21704           better report generation target (lcov needs a patch)
21705
21706 2005-07-05  Andy Wingo  <wingo@pobox.com>
21707
21708         * gst/elements, testsuite: Null if we got it...
21709
21710 2005-07-05  Wim Taymans  <wim@fluendo.com>
21711
21712         * configure.ac:
21713         * libs/gst/dataprotocol/Makefile.am:
21714         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
21715         * libs/gst/dataprotocol/dataprotocol.h:
21716         * pkgconfig/Makefile.am:
21717         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
21718         * pkgconfig/gstreamer-dataprotocol.pc.in:
21719         Ported dataprotol to 0.9. 
21720         Added pkgconfig files.
21721
21722 2005-07-05  Andy Wingo  <wingo@pobox.com>
21723
21724         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
21725         Default to returning TRUE for the case when tranform_caps returns
21726         a fixed caps, like for identity or volume.
21727
21728         * check/gst/gstbus.c (pound_bus_with_messages): 
21729         * check/gst/gstmessage.c (START_TEST): 
21730         * check/pipelines/simple_launch_lines.c (got_handoff): Application
21731         message API change.
21732
21733         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
21734         logic weaks here: always run transform_caps, trying passthrough
21735         operation only if the original caps intersects with the transform.
21736
21737         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
21738         source and sink caps.
21739
21740         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
21741         Intersect the peer caps with the pad template before going into
21742         transform_caps.
21743         (gst_base_transform_transform_caps): More debugging.
21744
21745         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
21746         src argument.
21747
21748 2005-07-04  Edward Hervey  <edward@fluendo.com>
21749
21750         * gst/gstutils.c:
21751         * gst/gstutils.h:
21752         (gst_pad_add_*_probe): now returns the signal id for better wrapping
21753         in bindings.
21754
21755 2005-07-04  Andy Wingo  <wingo@pobox.com>
21756
21757         * check/gst/gstpad.c: Only set explicit caps on pads.
21758
21759 2005-07-01  Andy Wingo  <wingo@pobox.com>
21760
21761         * tests/network-clock.scm: Commentary update.
21762
21763         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
21764         Didn't really make sense, not implementable with basetransform,
21765         etc.
21766         (gst_identity_transform): Unref inbuf via make_writable. Feeble
21767         attempt at implementing the sync property, needs an unlock method.
21768
21769         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
21770         New func, by default returns the same caps (the identity
21771         transformation).
21772         (gst_base_transform_getcaps): Uses transform_caps to return
21773         something sensible.
21774         (gst_base_transform_setcaps): Complicated logic to get caps on
21775         both pads, even if they are different, and to call set_caps once
21776         for every time both pads get their caps set.
21777         (gst_base_transform_handle_buffer): Give the ref to the transform
21778         function. Allows in-place modification of the buffer.
21779
21780         * gst/base/gstbasetransform.h (transform_caps): New class method.
21781         Given caps on one side, what can I do on the other.
21782         (set_caps): Take two caps, one for each side of the element.
21783
21784         * gst/gstpad.h:
21785         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
21786         caps in place. This is safe because we can check the mutability of
21787         the caps, and a good idea because fixate functions are just called
21788         as a matter of last resort. (Not actually implemented.)
21789         (gst_pad_set_caps): If the caps we're setting is actually the same
21790         as the existing pad caps, just update the pointer without calling
21791         setcaps. Assert that caps is either NULL or fixed, as per the
21792         docs.
21793
21794         * gst/gstghostpad.c: Update for fixate changes.
21795
21796 2005-07-02  Andy Wingo  <wingo@pobox.com>
21797
21798         * gst/gstcaps.c:
21799         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
21800         two refcounts makes it immutable, which is enough. Doc more.
21801
21802 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
21803
21804         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
21805           Put the mini_object into GValue as a mini_object,
21806           not a gpointer, since that's how we declared
21807           the signal.
21808
21809 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21810
21811         * examples/pwg/Makefile.am:
21812           Fix buildbot again.
21813
21814 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21815
21816         * docs/pwg/building-testapp.xml:
21817           Add extra check.
21818         * examples/pwg/Makefile.am:
21819           Fix buildbot.
21820
21821 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21822
21823         * configure.ac:
21824         * examples/Makefile.am:
21825         * examples/pwg/Makefile.am:
21826         * examples/pwg/extract.pl:
21827           Enable building the PWG examples.
21828         * docs/pwg/advanced-interfaces.xml:
21829           Add URI interface stub.
21830         * docs/pwg/advanced-types.xml:
21831         * docs/pwg/other-autoplugger.xml:
21832         * docs/pwg/appendix-porting.xml:
21833         * docs/pwg/pwg.xml:
21834           Add porting guide (mostly stubs), remove autoplugging (see ADM).
21835         * docs/pwg/building-boiler.xml:
21836         * docs/pwg/building-chainfn.xml:
21837         * docs/pwg/building-pads.xml:
21838         * docs/pwg/building-props.xml:
21839         * docs/pwg/building-state.xml:
21840         * docs/pwg/building-testapp.xml:
21841           Update the building-*.xml parts for 0.9 changes. All examples
21842           code blocks compile in examples/pwg/*.
21843
21844 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21845
21846         * docs/manual/advanced-autoplugging.xml:
21847         * docs/manual/appendix-checklist.xml:
21848         * docs/manual/appendix-integration.xml:
21849         * docs/manual/highlevel-components.xml:
21850           Fix playbin/decodebin examples, update docs a bit, mention bus
21851           instead of signals in various places, mention kmplayer and
21852           kaffeine since they have a working GStreamer backend in the KDE
21853           section.
21854
21855 2005-06-30  Wim Taymans  <wim@fluendo.com>
21856
21857         * CHANGES-0.9:
21858         * docs/design/draft-ghostpads.txt:
21859         * docs/design/draft-push-pull.txt:
21860         * docs/design/draft-query.txt:
21861         * docs/design/part-TODO.txt:
21862         * docs/design/part-query.txt:
21863         Added CHANGES-0.9 doc, updated status of other docs.
21864         
21865         * gst/gstquery.h:
21866         Remove "hmm" macro
21867
21868 2005-06-30  Wim Taymans  <wim@fluendo.com>
21869
21870         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
21871         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
21872         (gst_base_sink_change_state):
21873         * gst/base/gstbasesink.h:
21874         Some tweaks, only EOS and a buffer complete a preroll.
21875
21876 2005-06-30  Andy Wingo  <wingo@pobox.com>
21877
21878         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
21879         activate_push down to the internal pad as well.
21880
21881 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
21882
21883         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21884
21885         * gst/gsttaginterface.c:
21886           Some documentation fixes (#307394 and #307397).
21887
21888 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
21889
21890         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21891
21892         * gst/gstvalue.c: (gst_value_intersect_list):
21893           Fix memleak (#309125).
21894
21895 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21896
21897         * docs/manual/advanced-dataaccess.xml:
21898           Fix fakesrc example to compile; doesn't work, bug somewhere...?
21899         * docs/manual/basics-pads.xml:
21900           Add reference for filtered caps to above chapter.
21901
21902 2005-06-30  Wim Taymans  <wim@fluendo.com>
21903
21904         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
21905         (gst_bin_change_state):
21906         Probes are gone.
21907         Lame attempt at making the state change function a bit
21908         more readable.
21909
21910 2005-06-30  Wim Taymans  <wim@fluendo.com>
21911
21912         * docs/design/part-clocks.txt:
21913         * docs/design/part-element-sink.txt:
21914         * docs/design/part-events.txt:
21915         * docs/design/part-preroll.txt:
21916         * docs/design/part-states.txt:
21917         Some more tweeks and additions to the docs.
21918
21919 2005-06-30  Wim Taymans  <wim@fluendo.com>
21920
21921         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
21922         (default_have_data), (gst_pad_class_init), (gst_pad_init),
21923         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
21924         (gst_pad_check_pull_range), (gst_pad_get_range),
21925         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
21926         * gst/gstpad.h:
21927         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
21928         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
21929         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
21930         (gst_pad_remove_buffer_probe):
21931         Removed atomic operations, use existing LOCK.
21932         Move exception handling out of main code path.
21933
21934 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21935
21936         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
21937         (silly_return_true_function), (gst_pad_class_init),
21938         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
21939         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
21940         (gst_pad_send_event):
21941           Fix accumulator, add default value by using _emitv() instead
21942           of _emit() for signal emission.
21943
21944 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21945
21946         * docs/manual/advanced-dataaccess.xml:
21947         * examples/manual/Makefile.am:
21948           Add probe example.
21949         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
21950           Make work (??).
21951
21952 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
21953
21954         * gst/elements/gstfilesink.c: (gst_filesink_render):
21955           Simplify code so that we don't have to handle short
21956           writes and return GST_FLOW_ERROR if an error occured.
21957
21958 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21959
21960         * docs/gst/gstreamer-docs.sgml:
21961           Remove probes more.
21962
21963 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21964
21965         * docs/gst/gstreamer-sections.txt:
21966         * docs/gst/tmpl/gstpad.sgml:
21967         * docs/gst/tmpl/gstprobe.sgml:
21968         * gst/Makefile.am:
21969         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
21970         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
21971         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
21972         (gst_pad_push_event), (gst_pad_send_event):
21973         * gst/gstpad.h:
21974         * gst/gstutils.c: (gst_pad_add_data_probe),
21975         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
21976         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
21977         (gst_pad_remove_buffer_probe):
21978         * gst/gstutils.h:
21979           Remove old probes, add new g-signal-based probes and some utility
21980           functions.
21981
21982 2005-06-29  Edward Hervey  <edward@fluendo.com>
21983
21984         * gst/gstelementfactory.c:
21985         * gst/gstutils.h:
21986         * gst/gstutils.c:
21987         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
21988         the definition to the header file.
21989
21990 2005-06-29  Andy Wingo  <wingo@pobox.com>
21991
21992         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
21993         plugins from the source directory.
21994
21995 2005-06-29  Wim Taymans  <wim@fluendo.com>
21996
21997         * docs/gst/tmpl/gstbuffer.sgml:
21998         * docs/gst/tmpl/gstclock.sgml:
21999         Some fixings for blantently wrong text.
22000
22001 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
22002
22003         * check/Makefile.am:
22004         * gst/gst.c: (add_path_func), (init_pre):
22005         * gst/gstregistry.c: (gst_registry_add_path):
22006           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
22007           only scan the GST_PLUGIN_PATH locations, and not add
22008           system locations
22009
22010 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
22011
22012         * docs/gst/gstreamer-sections.txt:
22013         * docs/gst/tmpl/gstbasesrc.sgml:
22014         * gst/gstelement.c:
22015         * gst/gstelement.h:
22016         * gst/gstevent.c:
22017         * gst/gstutils.c:
22018           doc fixes
22019
22020 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22021
22022         * docs/manual/advanced-autoplugging.xml:
22023           Fix autoplugging example.
22024
22025 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22026
22027         * docs/manual/advanced-autoplugging.xml:
22028         * docs/manual/mime-world.fig:
22029           Try to get autoplugging working, fix type detection. Fix text
22030           in hello-world image.
22031
22032 2005-06-29  Wim Taymans  <wim@fluendo.com>
22033
22034         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
22035         (gst_base_sink_change_state):
22036         Small debug line.
22037
22038         * gst/gstclock.h:
22039         map SIGNAL and BROADCAST to the right function.
22040
22041         * gst/gstobject.h:
22042         Remove redundant braces.
22043
22044         * gst/gstpad.c: (gst_pad_set_caps):
22045         Don't call setcaps function when reseting caps to NULL.
22046
22047         * gst/gstsystemclock.c: (gst_system_clock_dispose),
22048         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
22049         (gst_system_clock_id_unschedule):
22050         Use BROADCAST as this is what we do.
22051
22052 2005-06-29  Wim Taymans  <wim@fluendo.com>
22053
22054         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
22055         We are actually prerolling before commiting the state
22056         change. 
22057
22058 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22059
22060         * docs/manual/advanced-clocks.xml:
22061         * docs/manual/advanced-interfaces.xml:
22062         * docs/manual/advanced-metadata.xml:
22063         * docs/manual/advanced-position.xml:
22064         * docs/manual/advanced-schedulers.xml:
22065         * docs/manual/advanced-threads.xml:
22066         * docs/manual/appendix-porting.xml:
22067         * docs/manual/basics-bins.xml:
22068         * docs/manual/basics-bus.xml:
22069         * docs/manual/basics-elements.xml:
22070         * docs/manual/basics-helloworld.xml:
22071         * docs/manual/basics-pads.xml:
22072         * docs/manual/highlevel-components.xml:
22073         * docs/manual/manual.xml:
22074         * docs/manual/thread.fig:
22075           Update (until threads/scheduling) Application Development Manual;
22076           remove GstThread, add GstBus, add simple porting checklist, add
22077           documentation for tag writing, clocks, make all examples until this
22078           part compile and run.
22079         * examples/manual/Makefile.am:
22080           Update from changes to Application Development Manual; add bus
22081           example, remove thread example.
22082
22083 2005-06-28  Wim Taymans  <wim@fluendo.com>
22084
22085         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
22086         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
22087         (gst_bus_source_dispatch):
22088         Add debugging messages.
22089         Make internal methods static.
22090         Handle the case where the bus is flushed in the handler.
22091         
22092         * gst/gstelement.c: (gst_element_get_bus):
22093         Fix refcount in _get_bus();
22094
22095         * gst/gstpipeline.c: (gst_pipeline_change_state),
22096         (gst_pipeline_get_clock_func):
22097         Clock refcounting fixes.
22098         Handle the case where preroll timed out more gracefully.
22099         
22100         * gst/gstsystemclock.c: (gst_system_clock_dispose):
22101         Clean up the internal thread in dispose. This is needed
22102         for subclasses that actually get disposed.
22103         
22104         * gst/schedulers/threadscheduler.c:
22105         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
22106         (gst_thread_scheduler_dispose):
22107         Free thread pool in dispose.
22108
22109 2005-06-28  Andy Wingo  <wingo@pobox.com>
22110
22111         * tests/network-clock-utils.scm (debug, print-event): New utils.
22112
22113         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
22114         (*packet-loss*): Unified loss probability.
22115         (network-time): Report out-of-band events.
22116
22117         * tests/plot-data: Add support for out-of-band events. Hack it
22118         into this script instead of passing it down the pipe; should fix
22119         this later.
22120
22121 2005-06-28  Wim Taymans  <wim@fluendo.com>
22122
22123         * docs/gst/gstreamer.types:
22124         * docs/gst/tmpl/gstbasesrc.sgml:
22125         * docs/gst/tmpl/gstpad.sgml:
22126         Docs fixes.
22127
22128 2005-06-28  Wim Taymans  <wim@fluendo.com>
22129
22130         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
22131         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
22132         (gst_proxy_pad_do_fixatecaps):
22133         Correctly proxy the check_pull_range function.
22134
22135 2005-06-28  Andy Wingo  <wingo@pobox.com>
22136
22137         * tests/network-clock.scm: Removed need for slib.
22138         
22139 2005-06-28  Wim Taymans  <wim@fluendo.com>
22140
22141         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
22142         (gst_basesink_preroll_queue_flush):
22143         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
22144         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
22145         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
22146         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
22147         (gst_proxy_pad_set_property):
22148         * gst/gstpad.c:
22149         * gst/gstpad.h:
22150         * gst/gstqueue.c: (gst_queue_init):
22151         The deprecated pad loop function is removed now.
22152
22153 2005-06-28  Andy Wingo  <wingo@pobox.com>
22154
22155         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
22156         New parameters, simulate network packet loss.
22157
22158         * tests/network-clock-utils.scm: Initialize the RNG.
22159
22160 2005-06-28  Wim Taymans  <wim@fluendo.com>
22161
22162         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
22163         (gst_basesink_event), (gst_basesink_deactivate):
22164         Flushing the preroll queue always needs to unlock the waiters.
22165
22166 2005-06-28  Edward Hervey  <edward@fluendo.com>
22167
22168         * gst/gstpipeline.c: (gst_pipeline_send_event): 
22169         Wheen a seek was successful on a pipeline, set the stream_time to the
22170         seek offset in order to have a synchronized stream_time.
22171
22172 2005-06-28  Wim Taymans  <wim@fluendo.com>
22173
22174         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
22175         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
22176         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
22177         (gst_proxy_pad_do_fixatecaps):
22178         Call wrapper function instead of just calling the function
22179         pointers. This takes care of any locking and whatmore.
22180
22181 2005-06-28  Wim Taymans  <wim@fluendo.com>
22182
22183         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
22184         (gst_pad_pull_range):
22185         * gst/gstpad.h:
22186         CONNECTED -> LINKED.
22187
22188 2005-06-28  Andy Wingo  <wingo@pobox.com>
22189
22190         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
22191         source-munging commit!!!
22192
22193         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
22194         (gst_object_sink): Take gpointer arguments, not GstObject --
22195         avoids casts. Like GLib.
22196
22197         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
22198         activate.
22199
22200 2005-06-27  Andy Wingo  <wingo@pobox.com>
22201
22202         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
22203         remaining buffer.
22204
22205         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
22206         returns a sorted copy of the trace list.
22207         (gst_alloc_trace_print_live): New API, only prints traces with
22208         live objects. Sort the list.
22209         (gst_alloc_trace_print_all): Sort the list.
22210         (gst_alloc_trace_print): Align columns.
22211
22212         * gst/elements/gstttypefindelement.c:
22213         * gst/elements/gsttee.c:
22214         * gst/base/gstbasesrc.c:
22215         * gst/base/gstbasesink.c:
22216         * gst/base/gstbasetransform.c:
22217         * gst/gstqueue.c: Adapt for pad activation changes.
22218
22219         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
22220         sched.
22221         (gst_pipeline_dispose): Drop ref on sched.
22222
22223         * gst/gstpad.c (gst_pad_init): Set the default activate func.
22224         (gst_pad_activate_default): Push mode by default.
22225         (pre_activate_switch, post_activate_switch): New stubs, things to
22226         do before and after switching activation modes on pads.
22227         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
22228         the pad's activate function to choose which mode to activate.
22229         Shortcut on deactivation and call the right function directly.
22230         (gst_pad_activate_pull): New API, (de)activates a pad in pull
22231         mode.
22232         (gst_pad_activate_push): New API, same for push mode.
22233         (gst_pad_set_activate_function) 
22234         (gst_pad_set_activatepull_function) 
22235         (gst_pad_set_activatepush_function): Setters for new API.
22236
22237         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
22238         Trace all miniobjects.
22239         (gst_mini_object_make_writable): Unref the arg if we copy, like
22240         gst_caps_make_writable.
22241
22242         * gst/gstmessage.c (_gst_message_initialize): No trace init.
22243
22244         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
22245         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
22246         Adapt for new pad API.
22247
22248         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
22249
22250         * gst/gstelement.h:
22251         * gst/gstelement.c (gst_element_iterate_src_pads) 
22252         (gst_element_iterate_sink_pads): New API functions.
22253         
22254         * gst/gstelement.c (iterator_fold_with_resync): New utility,
22255         should fold into gstiterator.c in some form.
22256         (gst_element_pads_activate): Simplified via use of fold and
22257         delegation of decisions to gstpad->activate.
22258
22259         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
22260         help in debugging.
22261
22262         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
22263         class once in init, like gstmessage. Didn't run into this issue
22264         but it seems correct. Don't initialize a trace, gstminiobject does
22265         that.
22266
22267         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
22268         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
22269         to the bus.
22270         (assert_live_count): New util function, uses alloc traces to check
22271         cleanup.
22272
22273         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
22274         To be modified when unlink drops the internal pad.
22275
22276 2005-06-27  Wim Taymans  <wim@fluendo.com>
22277
22278         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
22279         (gst_bin_change_state):
22280         Cleanup the get_state() function a little, make sure it
22281         iterates the same set of elements.
22282         Added stub iterate_state_order().
22283
22284 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
22285
22286         * docs/gst/gstreamer-docs.sgml:
22287         * docs/gst/gstreamer-sections.txt:
22288         * docs/gst/gstreamer.types:
22289         * docs/gst/tmpl/gstbasesink.sgml:
22290         * docs/gst/tmpl/gstbasesrc.sgml:
22291         * docs/gst/tmpl/gstbasetransform.sgml:
22292         * docs/gst/tmpl/gstelement.sgml:
22293         * docs/gst/tmpl/gstiterator.sgml:
22294         * gst/base/gstbasesrc.c:
22295         * gst/base/gstbasesrc.h:
22296         * gst/base/gstbasetransform.h:
22297         * gst/gstelement.c:
22298         * gst/gstiterator.h:
22299           adding basetransform and iterator docs
22300
22301 2005-06-27  Andy Wingo  <wingo@pobox.com>
22302
22303         * docs/design/part-activation.txt: Notes on how activation should
22304         work -- not quite implemented yet.
22305
22306 2005-06-25  Wim Taymans  <wim@fluendo.com>
22307
22308         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
22309         At least get the chain function correct, needs more
22310         fixing.
22311
22312 2005-06-25  Wim Taymans  <wim@fluendo.com>
22313
22314         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
22315         (gst_basesink_handle_object), (gst_basesink_event),
22316         (gst_basesink_do_sync), (gst_basesink_handle_event),
22317         (gst_basesink_change_state):
22318         * gst/gsttask.h:
22319         Right, two problems here: ghostpads don't take locks and
22320         glib _rec_mutex_lock_full() with depth==0 still locks.
22321         Catch illegal locking and g_warn them.
22322
22323 2005-06-25  Wim Taymans  <wim@fluendo.com>
22324
22325         * check/states/sinks.c: (START_TEST), (gst_object_suite):
22326         Have to check for completion now...
22327
22328 2005-06-25  Wim Taymans  <wim@fluendo.com>
22329
22330         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
22331         (gst_basesink_handle_object), (gst_basesink_event),
22332         (gst_basesink_do_sync), (gst_basesink_handle_event),
22333         (gst_basesink_change_state):
22334         * gst/gstpad.h:
22335         Unlock STREAM_LOCK whatever the recursion was.
22336
22337 2005-06-25  Wim Taymans  <wim@fluendo.com>
22338
22339         * gst/base/gstbasesink.c: (gst_basesink_set_property),
22340         (gst_basesink_preroll_queue_empty),
22341         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
22342         (gst_basesink_event), (gst_basesink_do_sync),
22343         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
22344         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
22345         (gst_basesink_change_state):
22346         Reworked the base sink, handle event and buffer serialisation
22347         correctly and removed possible deadlock.
22348         Handle EOS correctly.
22349
22350 2005-06-25  Wim Taymans  <wim@fluendo.com>
22351
22352         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
22353         (gst_pipeline_change_state):
22354         * tools/gst-launch.c: (check_intr), (event_loop), (main):
22355         Allow elements to post EOS in the state change function.
22356         Fix up -launch, make it exit the poll loop when the
22357         pipeline actually changed state.
22358         Fix up warning parsing in -launch.
22359
22360 2005-06-25  Wim Taymans  <wim@fluendo.com>
22361
22362         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
22363         (gst_tee_sink_activate):
22364         Core takes STREAM_LOCK for us now.
22365
22366 2005-06-25  Wim Taymans  <wim@fluendo.com>
22367
22368         * gst/gstelement.c: (gst_element_get_state_func),
22369         (gst_element_set_state):
22370         * gst/gstelement.h:
22371         * gst/gstmessage.c: (gst_message_parse_error),
22372         (gst_message_parse_warning):
22373         Keep track of current target state while performing a state
22374         change so that subclasses can do something interesting.
22375         Fix parsing of warning/error messages when GError is NULL.
22376
22377 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
22378
22379         * docs/gst/Makefile.am:
22380         * docs/gst/gstreamer-docs.sgml:
22381         * docs/gst/gstreamer-sections.txt:
22382         * docs/gst/gstreamer.types:
22383         * docs/gst/tmpl/gstbasesink.sgml:
22384         * docs/gst/tmpl/gstbasesrc.sgml:
22385         * docs/gst/tmpl/gstbin.sgml:
22386         * docs/gst/tmpl/gstcompat.sgml:
22387         * docs/gst/tmpl/gstfakesink.sgml:
22388         * docs/gst/tmpl/gstfakesrc.sgml:
22389         * docs/gst/tmpl/gstfilesink.sgml:
22390         * docs/gst/tmpl/gstfilesrc.sgml:
22391         * docs/gst/tmpl/gstindex.sgml:
22392         * docs/manual/appendix-quotes.xml:
22393         * gst/base/gstbasesrc.h:
22394         * gst/elements/gstfakesrc.h:
22395         * gst/gstmessage.h:
22396           start pulling in base classes and elements in our docs
22397
22398 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
22399
22400         * docs/gst/Makefile.am:
22401         * docs/libs/Makefile.am:
22402           fixed make distcheck with gtk-doc 1.3
22403
22404 2005-06-23  Wim Taymans  <wim@fluendo.com>
22405
22406         * gst/gstelement.c: (gst_element_get_state_func),
22407         (gst_element_set_state), (gst_element_change_state):
22408         When the state did not change, also report NO_PREROLL
22409         when it matters.
22410
22411 2005-06-23  Wim Taymans  <wim@fluendo.com>
22412
22413         * gst/gstpad.c: (gst_pad_event_default):
22414         * gst/gstqueue.c: (gst_queue_loop):
22415         No unsafe task pausing please.
22416
22417 2005-06-23  Wim Taymans  <wim@fluendo.com>
22418
22419         * gst/schedulers/threadscheduler.c:
22420         (gst_thread_scheduler_task_start),
22421         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
22422         Ref the task before pushing it on the threadpool. This
22423         makes sure that we have a ref when the threadfunction is
22424         actually called.
22425
22426 2005-06-23  Andy Wingo  <wingo@pobox.com>
22427
22428         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
22429         offset is greater than the file's size.
22430
22431         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
22432         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
22433         * gst/gstobject.c (gst_object_class_init): Make the class lock
22434         recursive. Wim won't let me drop deep_notify. Decodebin works
22435         again, whoopdy doo.
22436
22437         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
22438         internal pad, and hacks accordingly. Doesn't do it on the target
22439         pad because we change its caps. Probably catches all cases of
22440         interest tho.
22441         (gst_ghost_pad_set_property): Connect to notify::caps as
22442         appropritate.
22443
22444         * tests/network-clock.scm (plot-simulation): Pipe data to the
22445         elite python skript.
22446
22447         * tests/network-clock-utils.scm (define-parameter): New macro,
22448         defines a parameter that can be set via the command line.
22449         (set-parameter!, parse-parameter-arguments): Command line args
22450         parser.
22451
22452         * tests/plot-data: Simple matplotlib-based plotter, takes input on
22453         stdin.
22454
22455 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
22456
22457         * gst/elements/gsttypefindelement.c:
22458         (gst_type_find_element_handle_event):
22459           Don't restart typefinding on a discont.
22460         * gst/gstelement.c: (gst_element_set_state):
22461           Debug spelling fix.
22462         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
22463           Allow changing mode of an active pad.
22464           Debug output fixes.
22465         * gst/registries/gstlibxmlregistry.c: (load_feature):
22466           Don't cast a static pad template to a normal pad template.
22467
22468 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
22469
22470         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
22471         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
22472           remove gst_strtoll completely, since it didn't actually do
22473           anything more than what g_ascii_strtoull already does.
22474           check for range errors when deserializing
22475           do a cast for the unsigned cases; but further fixing needs
22476           a decision on what the interpretation of "(int)" and
22477           deserialization should be for values that fall outside the
22478           type's boundaries (ie, refuse, or interpret as casting)
22479
22480 2005-06-23  Wim Taymans  <wim@fluendo.com>
22481
22482         * check/Makefile.am:
22483         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
22484         * docs/design/part-live-source.txt:
22485         * docs/design/part-states.txt:
22486         * gst/base/gstbasesrc.c: (gst_basesrc_init),
22487         (gst_basesrc_set_live), (gst_basesrc_is_live),
22488         (gst_basesrc_get_range), (gst_basesrc_activate),
22489         (gst_basesrc_change_state):
22490         * gst/base/gstbasesrc.h:
22491         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
22492         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
22493         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
22494         * gst/gstelement.c: (gst_element_get_state_func),
22495         (gst_element_set_state):
22496         * gst/gstelement.h:
22497         * gst/gsttypes.h:
22498         * tools/gst-launch.c: (event_loop), (main):
22499         Added support for live sources and other elements that
22500         cannot do preroll.
22501         Updated design docs, added live-source design doc.
22502         Implemented live source functionality in basesrc
22503         Fix error condition in _bin_get_state()
22504         Implement live source handling in -launch.
22505         Added check for live sources.
22506         Fixed case in GstBin where elements were changed state
22507         multiple times.
22508
22509
22510 2005-06-23  Andy Wingo  <wingo@pobox.com>
22511
22512         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
22513         borken refcounting.
22514
22515         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
22516         gst_caps_replace takes care of this for us.
22517
22518         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
22519         gst_pad_set_caps on the target, not just its setcaps() function.
22520
22521         * tests/network-clock.scm: 
22522         * tests/network-clock-utils.scm: A network clock simulator.
22523         Something of an algorithmic testbed before doing something in C.
22524
22525 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
22526
22527         * check/Makefile.am:
22528         * check/gst/capslist.h:
22529           copy over from 0.8, and add two with bitmasks specified with
22530           (int) 0xFF...
22531         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
22532           add test to parse everything from capslist.h
22533         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
22534         (main):
22535           add test for structure deserialization
22536         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
22537           add tests for deserialization of strings to int types
22538         * gst/gststructure.c: (gst_structure_nth_field_name):
22539         * gst/gststructure.h:
22540           add a way to get the name of a field referenced by index
22541         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
22542           instead of checking if the resulting long long lies between
22543           min and max, we check if the long long would fit into
22544           a number of bytes for the final type.
22545           This fixes cases where a string represents 2^32 - 1, which
22546           when cast to int would be the (valid) -1, but is bigger than
22547           G_MAXINT
22548
22549 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
22550
22551         * gst/parse/grammar.y:
22552           add a log line for type deserialization
22553
22554 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
22555
22556         * check/gst/gstvalue.c: (START_TEST):
22557         * gst/gstvalue.c: (gst_value_deserialize):
22558           return long long, not int, so gint64 deserialization actually
22559           works.  Is there any flag that makes the compiler check this ?
22560           Fixes #308559
22561
22562 2005-06-22  Wim Taymans  <wim@fluendo.com>
22563
22564         * gst/gstbuffer.h:
22565         Added convenience macros for setting buffers in GValue.
22566
22567 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
22568
22569         * check/gst/.cvsignore:
22570         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
22571           add a test deserializing int64, and comment part out because
22572           it fails, yay !
22573
22574 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
22575
22576         * check/Makefile.am:
22577         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
22578         * testsuite/Makefile.am:
22579         * testsuite/caps/Makefile.am:
22580         * testsuite/caps/value_serialize.c:
22581         * testsuite/test_gst_init.c:
22582           move a value_serialize test over
22583
22584 2005-06-20  Wim Taymans  <wim@fluendo.com>
22585
22586         * gst/gstpad.c:
22587         Small doc updates.
22588         
22589         * gst/gstvalue.c: (gst_value_compare_buffer),
22590         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
22591         (gst_value_compare_flags), (gst_value_serialize_flags),
22592         (gst_value_deserialize_flags), (_gst_value_initialize):
22593         Fix serialisation of buffers, they are not boxed types anymore
22594
22595 2005-06-20  Wim Taymans  <wim@fluendo.com>
22596
22597         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
22598         Testcase to show error in buffer-on-caps serialisation.
22599
22600 2005-06-20  Andy Wingo  <wingo@pobox.com>
22601
22602         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
22603         will be adding to later.
22604
22605         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
22606         if its socks fill with rocks.
22607         (gst_system_clock_obtain): Set the name on object construction.
22608         Avoid double-checked locking.
22609
22610 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
22611
22612         * gst/gsturi.c: (gst_element_make_from_uri):
22613           Fix potential endless loop.
22614
22615 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
22616
22617         * check/Makefile.am:
22618           add gsttag
22619         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
22620         (main):
22621           move over from testsuite dir and clean up
22622         * configure.ac:
22623         * gst/gsttag.c:
22624         * testsuite/Makefile.am:
22625         * testsuite/tags/.cvsignore:
22626         * testsuite/tags/Makefile.am:
22627         * testsuite/tags/merge.c:
22628           remove testsuite/tags
22629
22630 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
22631
22632         * docs/gst/gstreamer-sections.txt:
22633         * docs/gst/tmpl/gstenumtypes.sgml:
22634         * win32/gstenumtypes.c:
22635           clean up documentation build a little
22636
22637 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
22638
22639         * check/gstcheck.h:
22640           add macros for checking refcounts on objects and caps
22641         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
22642           add some more unit tests
22643         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
22644         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
22645           fix leaked refcounts (I hope :)) so unittest works
22646         * gst/gstpad.h:
22647           whitespace removal
22648
22649 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
22650
22651         * configure.ac: back to HEAD
22652
22653 === release 0.9.1 ===
22654
22655 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
22656
22657         * NEWS:
22658         * RELEASE:
22659           updated
22660
22661 2005-06-17  Andy Wingo  <wingo@pobox.com>
22662
22663         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
22664         assert; it's always possible that the pad gets deactivated in
22665         between the checks in gstpad.c and the implementation. Rely on
22666         finish_preroll() to return a FLUSHING or similar instead of on the
22667         assert.
22668         
22669         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
22670         clock and post an EOS message if we come out of finish_preroll in
22671         the playing state.
22672
22673 2005-06-16  David Schleef  <ds@schleef.org>
22674
22675         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
22676         (gst_capsfilter_set_property): Allow NULL as possible value
22677         for filter_caps property, indicating GST_CAPS_ANY.
22678
22679 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
22680
22681         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
22682           fix debug output
22683         * gst/schedulers/Makefile.am:
22684           use libgst prefix
22685         * gstreamer.spec.in:
22686           fix spec for it
22687
22688 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
22689
22690         * gstreamer.spec.in:
22691           clean up
22692
22693 2005-06-08  Andy Wingo  <wingo@pobox.com>
22694
22695         * gst/gstutils.c: RPAD fixes all around.
22696         (gst_element_link_pads): Refcounting fixes.
22697
22698         * tools/gst-inspect.c:
22699         * tools/gst-xmlinspect.c:
22700         * parse/grammar.y:
22701         * gst/base/gsttypefindhelper.c:
22702         * gst/base/gstbasesink.c:
22703         * gst/gstqueue.c: RPAD fixes.
22704
22705         * gst/gstghostpad.h:
22706         * gst/gstghostpad.c: New ghost pad implementation as full proxy
22707         pads. The tricky thing is they provide both source and sink
22708         interfaces, since they proxy the internal pad for the external
22709         pad, and vice versa. Implement with lower-level ProxyPad objects,
22710         with the interior proxy pad as a child of the exterior ghost pad.
22711         Should write a doc on this.
22712         
22713         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
22714         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
22715         gst_object API.
22716         
22717         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
22718         pads are real pads. No ghost pads in this file. Not documenting
22719         the myriad s/RPAD/PAD/ and REALIZE fixes.
22720         (gst_pad_class_init): Add properties for "direction" and
22721         "template". Both are construct-only, so they can't change during
22722         the life of the pad. Fixes properly deriving from GstPad.
22723         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
22724         derived objects, just set properties when creating the objects via
22725         g_object_new.
22726         (gst_pad_get_parent): Implement as a function, return NULL if the
22727         parent is not an element.
22728         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
22729         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
22730         
22731         * gst/gstobject.c (gst_object_class_init): Make name a construct
22732         property. Don't set it in the object init.
22733
22734         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
22735         with UNKNOWN direction.
22736         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
22737         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
22738         (gst_element_remove_pad): Remove ghost-pad special cases.
22739         (gst_element_pads_activate): Remove rpad cruft.
22740
22741         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
22742         catch the pad's-parent-not-an-element case.
22743
22744         * gst/gst.h: Include gstghostpad.h.
22745
22746         * gst/gst.c (init_post): No more real, ghost pads.
22747
22748         * gst/Makefile.am: Add gstghostpad.[ch].
22749
22750         * check/Makefile.am:
22751         * check/gst/gstbin.c:
22752         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
22753         into a bin creates ghost pads, and that the refcounts are right.
22754         Partly moved from gstbin.c.
22755
22756 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
22757
22758         * check/gst-libs/.cvsignore:
22759         * check/gst/.cvsignore:
22760         * check/pipelines/.cvsignore:
22761           ignore more
22762         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
22763         (START_TEST), (cleanup_suite), (main):
22764           add some tests related to cleanup after running pipelines
22765
22766 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
22767
22768         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
22769           add a testsuite for GstBuffer
22770
22771 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
22772
22773         * gst/gstminiobject.h:
22774           add defines for accessing the refcount
22775
22776 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
22777
22778         * Makefile.am: added support for html unit test coverage reports
22779
22780 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
22781
22782         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
22783           Free existing caps if the capsfilter changes. Add a FIXME about
22784           setting those caps on the pads.
22785
22786         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
22787           Before adding a ghost pad to a parent bin, check that there isn't
22788           already one for the element on the bin. Prevents infinite recursion
22789           when using decodebin in parse pipelines. Andy says he'll rewrite the
22790           way this works anyway, so ignore the hack.
22791
22792 2005-06-02  Andy Wingo  <wingo@pobox.com>
22793
22794         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
22795         file size, pass it on to the type find helper.
22796
22797         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
22798         segment_start and segment_end properly according to the seek
22799         method. Segment_end is still a bit flaky because offset can be
22800         negative for CUR and END cases, but it takes -1 as an "unset"
22801         value.
22802
22803 2005-06-02  Wim Taymans  <wim@fluendo.com>
22804
22805         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
22806         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
22807         (gst_basesink_activate):
22808         * gst/base/gstbasesink.h:
22809         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
22810         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
22811         (gst_pad_query), (gst_pad_start_task):
22812         * gst/gstpad.h:
22813         * gst/gstqueue.c: (gst_queue_bufferalloc),
22814         (gst_queue_handle_sink_event), (gst_queue_chain):
22815         Bufferalloc: return GstFlowReturn to more accuratly report
22816         why allocation failed.
22817
22818 2005-06-02  Wim Taymans  <wim@fluendo.com>
22819
22820         * gst/gstpipeline.c: (gst_pipeline_send_event):
22821         Take snapshot of state without blocking.
22822
22823 2005-06-02  Wim Taymans  <wim@fluendo.com>
22824
22825         * docs/design/part-TODO.txt:
22826         * docs/design/part-caps.txt:
22827         * docs/design/part-clocks.txt:
22828         * docs/design/part-negotiation.txt:
22829         * docs/design/part-preroll.txt:
22830         Small doc updates 
22831
22832 2005-05-30  Wim Taymans  <wim@fluendo.com>
22833
22834         * gst/elements/gstidentity.c: (gst_identity_event),
22835         (gst_identity_transform), (gst_identity_get_property):
22836         Protect last_message property as it is accessed from
22837         multiple threads.
22838
22839 2005-05-30  Wim Taymans  <wim@fluendo.com>
22840
22841         * gst/gstelement.c: (gst_element_init),
22842         (gst_element_pads_activate), (gst_element_change_state):
22843         Slicker pad activation code.
22844
22845 2005-05-30  Wim Taymans  <wim@fluendo.com>
22846
22847         * gst/Makefile.am:
22848         * gst/gstelement.h:
22849         * gst/gstelementfactory.h:
22850         * gst/gsttypes.h:
22851         Move elementfactory methods to separate .h file.
22852
22853 2005-05-30  Wim Taymans  <wim@fluendo.com>
22854
22855         * docs/design/part-overview.txt:
22856         * gst/gstsystemclock.h:
22857         Small typo fixes, doc updates.
22858
22859 2005-05-30  Wim Taymans  <wim@fluendo.com>
22860
22861         * gst/gst.c: (gst_init_get_popt_table), (init_post),
22862         (init_popt_callback):
22863         Remove cpu-opt flag.
22864
22865 2005-05-30  Wim Taymans  <wim@fluendo.com>
22866
22867         * gst/gstbuffer.c: (gst_subbuffer_finalize),
22868         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
22869         * gst/gstbuffer.h:
22870         Avoid typechecking in places where not needed.
22871         Added accessor for malloc_data.
22872
22873 2005-05-30  Wim Taymans  <wim@fluendo.com>
22874
22875         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
22876         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
22877         (gst_pad_configure_sink), (gst_pad_configure_src),
22878         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
22879         (gst_pad_start_task):
22880         Propagate errors from _set_caps() in configure_src/sink
22881         functions instead of returning TRUE.
22882         FLUSH events can travel up and downstream
22883
22884
22885 2005-05-30  Wim Taymans  <wim@fluendo.com>
22886
22887         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
22888         (gst_basesink_activate):
22889         Handle EOS in preroll.
22890
22891 2005-05-30  Wim Taymans  <wim@fluendo.com>
22892
22893         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
22894         (gst_queue_loop), (gst_queue_handle_src_event):
22895         Remove old pieces of code
22896         Flushing the queue in an upstream event is a very bad idea.
22897
22898 2005-05-26  Andy Wingo  <wingo@pobox.com>
22899
22900         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
22901         gst_value_set_mini_object so as to add a ref on the object (which
22902         will be removed when the value is unset).
22903
22904         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
22905         arg type in ::handoff.
22906
22907         * gst/gstelement.c (gst_element_change_state): Also deactivate
22908         pads in READY->NULL, just in case the element didn't make it to
22909         PAUSED. Wingo tested, Wim approved.
22910
22911 2005-05-26  Wim Taymans  <wim@fluendo.com>
22912
22913         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
22914         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
22915         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
22916         A flushing pad cannot be used to alloc_buffer from.
22917
22918 2005-05-26  Wim Taymans  <wim@fluendo.com>
22919
22920         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
22921         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
22922         (gst_bus_source_dispatch), (gst_bus_source_finalize),
22923         (gst_bus_create_watch), (gst_bus_add_watch_full):
22924         * gst/gstbus.h:
22925         Implement a real GSource and use g_main_context_wakeup() to
22926         signal new messages instead of the socketpair.
22927
22928 2005-05-25  Wim Taymans  <wim@fluendo.com>
22929
22930         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
22931         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
22932         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
22933         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
22934         (gst_pad_send_event), (gst_pad_start_task):
22935         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
22936         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
22937         (gst_queue_sink_activate), (gst_queue_src_activate),
22938         (gst_queue_change_state):
22939         * gst/gstqueue.h:
22940         Fix state changes for non sinks. We now change sinks, then elements
22941         with unconnected srcpads, then the rest.
22942         More efficient queue unlocking in flush and state changes.
22943         Set the pad activate mode even if it does not have an activate
22944         function.
22945
22946 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22947
22948         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
22949           Don't go in pull mode for non-seekable sources.
22950         * gst/elements/gsttypefindelement.h:
22951         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
22952         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
22953         (free_entry), (stop_typefinding),
22954         (gst_type_find_element_handle_event), (find_peek),
22955         (gst_type_find_element_chain), (do_pull_typefind),
22956         (gst_type_find_element_change_state):
22957           Allow typefinding (w/o seeking) in push-mode, simplified version
22958           of what was in 0.8.
22959         * gst/gstutils.c: (gst_buffer_join):
22960         * gst/gstutils.h:
22961           gst_buffer_join() from 0.8.
22962
22963 2005-05-25  Wim Taymans  <wim@fluendo.com>
22964
22965         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
22966         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
22967         (gst_pad_send_event), (gst_pad_start_task):
22968         Disable attempt at mode switching until it is figured out.
22969
22970 2005-05-25  Wim Taymans  <wim@fluendo.com>
22971
22972         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
22973         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
22974         (gst_basesink_finish_preroll), (gst_basesink_chain),
22975         (gst_basesink_loop), (gst_basesink_activate),
22976         (gst_basesink_change_state):
22977         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
22978         (gst_basesrc_get_range), (gst_basesrc_loop),
22979         (gst_basesrc_activate):
22980         * gst/elements/gsttee.c: (gst_tee_sink_activate):
22981         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
22982         (gst_real_pad_init), (gst_real_pad_set_property),
22983         (gst_real_pad_get_property), (gst_pad_set_active),
22984         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
22985         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
22986         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
22987         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
22988         (gst_pad_event_default_dispatch), (gst_pad_event_default),
22989         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
22990         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
22991         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
22992         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
22993         (gst_pad_stop_task):
22994         * gst/gstpad.h:
22995         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
22996         (gst_queue_loop), (gst_queue_src_activate):
22997         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
22998         (gst_task_get_state):
22999         * gst/gsttask.h:
23000         * gst/schedulers/threadscheduler.c:
23001         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
23002         Implement gst_pad_pause/start/stop_task(), take STREAM lock
23003         in task function.
23004         Remove ACTIVE pad flag, use FLUSHING everywhere
23005         Added _pad_chain(), _pad_get_range() to call chain/getrange 
23006         functions.
23007         Add locks around IS_FLUSHING when reading.
23008         Take STREAM lock in chain(), get_range() functions so plugins
23009         don't need to take it anymore.
23010         
23011
23012
23013 2005-05-25  Wim Taymans  <wim@fluendo.com>
23014
23015         * tools/gst-launch.c: (event_loop):
23016         Unref message after using its contents instead of
23017         before.
23018
23019 2005-05-24  Wim Taymans  <wim@fluendo.com>
23020
23021         * docs/design/draft-ghostpads.txt:
23022         * docs/design/draft-push-pull.txt:
23023         * docs/design/draft-query.txt:
23024         * docs/design/part-overview.txt:
23025         Docs updates, added general overview doc.
23026
23027 2005-05-21  David Schleef  <ds@schleef.org>
23028
23029         * docs/gst/tmpl/old/GstBin.sgml:
23030         * docs/gst/tmpl/old/GstBuffer.sgml:
23031         * docs/gst/tmpl/old/GstCaps.sgml:
23032         * docs/gst/tmpl/old/GstClock.sgml:
23033         * docs/gst/tmpl/old/GstCompat.sgml:
23034         * docs/gst/tmpl/old/GstData.sgml:
23035         * docs/gst/tmpl/old/GstElement.sgml:
23036         * docs/gst/tmpl/old/GstEvent.sgml:
23037         * docs/gst/tmpl/old/GstIndex.sgml:
23038         * docs/gst/tmpl/old/GstStructure.sgml:
23039         * docs/gst/tmpl/old/GstTag.sgml:
23040         * docs/gst/tmpl/old/cothreads.sgml:
23041         * docs/gst/tmpl/old/cothreads_compat.sgml:
23042         * docs/gst/tmpl/old/gettext.sgml:
23043         * docs/gst/tmpl/old/gobject2gtk.sgml:
23044         * docs/gst/tmpl/old/grammar.tab.sgml:
23045         * docs/gst/tmpl/old/gst-i18n-app.sgml:
23046         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
23047         * docs/gst/tmpl/old/gst_private.sgml:
23048         * docs/gst/tmpl/old/gstaggregator.sgml:
23049         * docs/gst/tmpl/old/gstarch.sgml:
23050         * docs/gst/tmpl/old/gstatomic_impl.sgml:
23051         * docs/gst/tmpl/old/gstbufferstore.sgml:
23052         * docs/gst/tmpl/old/gstdata_private.sgml:
23053         * docs/gst/tmpl/old/gstdisksink.sgml:
23054         * docs/gst/tmpl/old/gstdisksrc.sgml:
23055         * docs/gst/tmpl/old/gstelementfactory.sgml:
23056         * docs/gst/tmpl/old/gstextratypes.sgml:
23057         * docs/gst/tmpl/old/gstfakesink.sgml:
23058         * docs/gst/tmpl/old/gstfakesrc.sgml:
23059         * docs/gst/tmpl/old/gstfdsink.sgml:
23060         * docs/gst/tmpl/old/gstfdsrc.sgml:
23061         * docs/gst/tmpl/old/gstfilesink.sgml:
23062         * docs/gst/tmpl/old/gstfilesrc.sgml:
23063         * docs/gst/tmpl/old/gsthttpsrc.sgml:
23064         * docs/gst/tmpl/old/gstidentity.sgml:
23065         * docs/gst/tmpl/old/gstindexfactory.sgml:
23066         * docs/gst/tmpl/old/gstmarshal.sgml:
23067         * docs/gst/tmpl/old/gstmd5sink.sgml:
23068         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
23069         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
23070         * docs/gst/tmpl/old/gstpadtemplate.sgml:
23071         * docs/gst/tmpl/old/gstpipefilter.sgml:
23072         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
23073         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
23074         * docs/gst/tmpl/old/gstshaper.sgml:
23075         * docs/gst/tmpl/old/gstspider.sgml:
23076         * docs/gst/tmpl/old/gstspideridentity.sgml:
23077         * docs/gst/tmpl/old/gststatistics.sgml:
23078         * docs/gst/tmpl/old/gsttee.sgml:
23079         * docs/gst/tmpl/old/gsttimecache.sgml:
23080         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
23081         * docs/gst/tmpl/old/gstxmlregistry.sgml:
23082         * docs/gst/tmpl/old/gthread-cothreads.sgml:
23083         * docs/gst/tmpl/old/types.sgml:
23084           I didn't intend to add these or check them in.
23085
23086 2005-05-19  David Schleef  <ds@schleef.org>
23087
23088         * configure.ac: Use -no-common everywhere.  In a sane world, it
23089           would be the default in libtool, because without it, you can't
23090           build DLLs on Windows.
23091         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
23092         * docs/gst/gstreamer-sections.txt:
23093         * docs/gst/tmpl/gstcpu.sgml:
23094         * docs/gst/tmpl/gstdata.sgml:
23095         * docs/gst/tmpl/gstthread.sgml:
23096
23097 2005-05-19  David Schleef  <ds@schleef.org>
23098
23099         * gst/gstminiobject.c: (gst_value_set_mini_object),
23100         (gst_value_take_mini_object), (gst_value_get_mini_object):
23101         * gst/gstminiobject.h: Add GValue set/get functions.
23102
23103 2005-05-19  Wim Taymans  <wim@fluendo.com>
23104
23105         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
23106         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
23107         (gst_subbuffer_init), (gst_buffer_is_span_fast):
23108         * gst/gstbuffer.h:
23109         * gst/gstbus.c: (gst_bus_post):
23110         * gst/gstelement.c: (gst_element_get_random_pad):
23111         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
23112         Make subbufer unref the parent in finalize.
23113         some more debugging info.
23114
23115
23116 2005-05-19  Wim Taymans  <wim@fluendo.com>
23117
23118         * gst/base/gstbasesink.c: (gst_basesink_class_init),
23119         (gst_basesink_init), (gst_basesink_finalize),
23120         (gst_basesink_activate), (gst_basesink_change_state):
23121         Don't free preroll queue too early.
23122
23123 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23124
23125         * gst/Makefile.am:
23126         * gst/ROADMAP:
23127           Hi, I'm outdated. Please shoot me.
23128
23129 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23130
23131         * gst/gstpipeline.c: (gst_pipeline_send_event):
23132           Do not access variables after they have been deleted.
23133
23134 2005-05-19  Wim Taymans  <wim@fluendo.com>
23135
23136         * tools/gst-inspect.c: (print_plugin_features):
23137         A plugin feature does unfortunatly not use the
23138         object name yet...
23139
23140 2005-05-18  Wim Taymans  <wim@fluendo.com>
23141
23142         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
23143         Port _span() functions to new subbuffers.
23144
23145 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23146
23147         * gst/gstbin.c: (gst_bin_add_func):
23148           Fix clock settery in bins when adding kids after the clock has
23149           been selected.
23150
23151 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23152
23153         * gst/elements/gstidentity.c: (gst_identity_class_init):
23154           Workaround until signals support GstMiniObject.
23155
23156 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
23157
23158         * gst/gstbuffer.c:
23159         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
23160
23161 2005-05-18  Wim Taymans  <wim@fluendo.com>
23162
23163         * gst/base/Makefile.am:
23164         * gst/base/gstadapter.c: (gst_adapter_base_init),
23165         (gst_adapter_class_init), (gst_adapter_init),
23166         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
23167         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
23168         (gst_adapter_flush), (gst_adapter_available),
23169         (gst_adapter_available_fast):
23170         * gst/base/gstadapter.h:
23171         Ported and added adapter to the base classes.
23172
23173 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
23174
23175         * gst/gst.c:
23176         * gst/gstmessage.c:
23177           Make sure the class is reffed/unreffed once before threads can be
23178           used.  Fixes #304551.
23179
23180 2005-05-17  Wim Taymans  <wim@fluendo.com>
23181
23182         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
23183         (gst_basesink_chain_unlocked), (gst_basesink_activate):
23184         * gst/gstminiobject.c: (gst_mini_object_get_type),
23185         (gst_mini_object_free):
23186         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
23187         (gst_pad_push), (gst_pad_push_event):
23188         * gst/gstqueue.c: (gst_queue_change_state):
23189         Don't queue buffers in basesink when we are flushing.
23190         Unref buffer when flushing in basesink.
23191         Flush queue when going to READY
23192         Unref buffer when _push() returns an error.
23193         Don't free MiniObject instance when refcount is incremented
23194         in _finalize() so that we can recover objects.
23195
23196 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
23197
23198         * docs/manual/advanced-schedulers.xml:
23199         * docs/manual/appendix-checklist.xml:
23200         * docs/pwg/advanced-clock.xml:
23201         * docs/pwg/advanced-interfaces.xml:
23202         * docs/pwg/advanced-request.xml:
23203         * docs/pwg/advanced-types.xml:
23204         * docs/pwg/intro-preface.xml:
23205         * examples/plugins/example.c: (gst_example_get_type),
23206         (gst_example_class_init), (gst_example_chain),
23207         (gst_example_set_property), (gst_example_get_property),
23208         (gst_example_change_state), (plugin_init):
23209         * examples/plugins/example.h:
23210           small doc fixes
23211
23212 2005-05-17  Wim Taymans  <wim@fluendo.com>
23213
23214         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
23215         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
23216         * gst/gstqueue.c: (gst_queue_change_state):
23217         Clear queue when going to READY.
23218         Remove IN_SETCAPS flag too.
23219
23220 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
23221
23222         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
23223           Remove implicit cast from gboolean to GstElementStateReturn;
23224           make sure we still return failure in paused => ready case if
23225           the parent class fails to change state and our own stop 
23226           vfunc succeeds.
23227
23228 2005-05-17  Wim Taymans  <wim@fluendo.com>
23229
23230         * tools/gst-launch.c: (event_loop):
23231         Message was unreffed too soon.
23232
23233 2005-05-16  Andy Wingo  <wingo@pobox.com>
23234
23235         * gst/gstbin.c (sink_iterator_filter): Err... um...
23236
23237         * check/gst/gstbin.c (test_ghost_pads): New test for the
23238         ghosting-if-elements-not-in-same-bin behavior.
23239
23240 2005-05-16  David Schleef  <ds@schleef.org>
23241
23242         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
23243         accessing refcount directly.
23244
23245 2005-05-15  David Schleef  <ds@schleef.org>
23246
23247         * check/Makefile.am: remove GstData checks
23248         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
23249         * gst/Makefile.am: add miniobject, remove data
23250         * gst/gst.h: add miniobject, remove data
23251         * gst/gstdata.c: remove
23252         * gst/gstdata.h: remove
23253         * gst/gstdata_private.h: remove
23254         * gst/gsttypes.h: remove GstEvent and GstMessage
23255         * gst/gstelement.c: (gst_element_post_message): fix for API changes
23256         * gst/gstmarshal.list: change BOXED -> OBJECT
23257
23258         Implement GstMiniObject.
23259         * gst/gstminiobject.c:
23260         * gst/gstminiobject.h:
23261
23262         Modify to be subclasses of GstMiniObject.
23263         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
23264         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
23265         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
23266         (gst_subbuffer_get_type), (gst_subbuffer_init),
23267         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
23268         (gst_buffer_span):
23269         * gst/gstbuffer.h:
23270         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
23271         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
23272         (_gst_event_copy), (gst_event_new):
23273         * gst/gstevent.h:
23274         * gst/gstmessage.c: (_gst_message_initialize),
23275         (gst_message_get_type), (gst_message_class_init),
23276         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
23277         (gst_message_new), (gst_message_new_error),
23278         (gst_message_new_warning), (gst_message_new_tag),
23279         (gst_message_new_state_changed), (gst_message_new_application):
23280         * gst/gstmessage.h:
23281         * gst/gstprobe.c: (gst_probe_perform),
23282         (gst_probe_dispatcher_dispatch):
23283         * gst/gstprobe.h:
23284         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
23285         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
23286         (_gst_query_copy), (gst_query_new):
23287
23288         Update elements for GstData -> GstMiniObject changes
23289         * gst/gstquery.h:
23290         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
23291         (gst_queue_chain), (gst_queue_loop):
23292         * gst/elements/gstbufferstore.c:
23293         (gst_buffer_store_add_buffer_func),
23294         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
23295         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
23296         (gst_fakesink_render):
23297         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
23298         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
23299         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
23300         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
23301         (gst_filesrc_create_read):
23302         * gst/elements/gstidentity.c: (gst_identity_class_init):
23303         * gst/elements/gsttypefindelement.c:
23304         (gst_type_find_element_src_event), (free_entry_buffers),
23305         (gst_type_find_element_handle_event):
23306         * libs/gst/dataprotocol/dataprotocol.c:
23307         (gst_dp_header_from_buffer):
23308         * libs/gst/dataprotocol/dataprotocol.h:
23309         * libs/gst/dataprotocol/dp-private.h:
23310
23311 2005-05-15  David Schleef  <ds@schleef.org>
23312
23313         * gst/elements/gstelements.c: Don't include headers that were
23314         just removed.
23315
23316 2005-05-15  David Schleef  <ds@schleef.org>
23317
23318         * gst/elements/Makefile.am: Remove some elements that don't
23319         need to be in the core (or even exist at all).
23320         * gst/elements/gstaggregator.c:
23321         * gst/elements/gstaggregator.h:
23322         * gst/elements/gstmd5sink.c:
23323         * gst/elements/gstmd5sink.h:
23324         * gst/elements/gstmultifilesrc.c:
23325         * gst/elements/gstmultifilesrc.h:
23326         * gst/elements/gstpipefilter.c:
23327         * gst/elements/gstpipefilter.h:
23328         * gst/elements/gstshaper.c:
23329         * gst/elements/gstshaper.h:
23330         * gst/elements/gststatistics.c:
23331         * gst/elements/gststatistics.h:
23332         * po/POTFILES.in: Remove above files.
23333
23334 2005-05-14  Andy Wingo  <wingo@pobox.com>
23335
23336         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
23337         so as to get the refs right.
23338         (sink_iterator_filter): New function, wraps bin_element_is_sink,
23339         unreffing objects that don't pass the filter.
23340
23341         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
23342         gst_element_set_bus.
23343         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
23344         normal cases, this will destroy the bus.
23345
23346         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
23347         object.
23348
23349         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
23350         has no sinks.
23351
23352 2005-05-13  Andy Wingo  <wingo@pobox.com>
23353
23354         * gst/gstutils.c (gst_element_link_pads): Instead of calling
23355         gst_pad_link, call pad_link_maybe_ghosting,
23356         (pad_link_maybe_ghosting): Links pads, making sure that the
23357         elements being linked are in the same bin.
23358         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
23359         Helpers for pad_link_maybe_ghosting.
23360
23361 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
23362
23363         * configure.ac:
23364           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
23365
23366 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
23367
23368         * docs/design/part-element-source.txt:
23369           Mention GstPushSrc
23370
23371 2005-05-12  Wim Taymans  <wim@fluendo.com>
23372
23373         * gst/base/gstbasesink.c: (gst_basesink_init),
23374         (gst_basesink_activate):
23375         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
23376         (gst_basesrc_is_seekable):
23377         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
23378         (bin_element_is_sink), (gst_bin_change_state):
23379         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
23380         * gst/gstelement.h:
23381         Identify sinks by their flag to avoid overly complicated
23382         checks (fow now).
23383         Do state changes even for elements not reachable from the
23384         sinks.
23385         BaseSink is a sink now :)
23386         Some more debugging info in the basesrc.
23387
23388
23389 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23390
23391         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
23392           Implement _query on a bin, similar to _send_event.
23393
23394 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
23395
23396         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
23397           Discont event offset format should be GST_FORMAT_BYTES,
23398           not GST_FORMAT_TIME.
23399
23400 2005-05-12  Wim Taymans  <wim@fluendo.com>
23401
23402         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
23403         Same fix as Ronald's but without the signal. 
23404
23405 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23406
23407         * gst/gstutils.c: (gst_element_query_position):
23408           No, an element is not a pad.
23409
23410 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23411
23412         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
23413         (gst_bin_get_state):
23414           If a child is removed from a bin while we remove the child from
23415           the bin and while we're retrieving its state, signal this to the
23416           get_state function so we abort the wait (instead of waiting for
23417           a timeout) and can immediately re-iterate over all other elements.
23418
23419 2005-05-12  Wim Taymans  <wim@fluendo.com>
23420
23421         * gst/base/Makefile.am:
23422         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
23423         (gst_basesrc_start):
23424         * gst/base/gstbasesrc.h:
23425         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
23426         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
23427         (gst_pushsrc_init), (gst_pushsrc_create):
23428         * gst/base/gstpushsrc.h:
23429         Added is_seekable to BaseSrc
23430         Added simple PushSrc.
23431
23432 2005-05-11  Wim Taymans  <wim@fluendo.com>
23433
23434         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
23435         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
23436         (gst_element_link_pads), (gst_element_query_position),
23437         (gst_element_query_convert), (intersect_caps_func),
23438         (gst_pad_query_position), (gst_pad_query_convert):
23439         Fix refcounting in utils function.
23440         No point in trying to activate a pad when it's added, it could
23441         be added from the state change function and then we deadlock, the
23442         element has to decide what to do.
23443
23444 2005-05-10  Andy Wingo  <wingo@pobox.com>
23445
23446         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
23447         *all* the arguments.
23448
23449         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
23450         stream lock if it's a FLUSH_DONE; normal flushes don't get the
23451         lock (according to the docs -- if this is wrong change the docs).
23452
23453         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
23454         flush messages in the NULL state.
23455
23456         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
23457         message immediately and return.
23458         (gst_bus_set_flushing): New function. If a bus is flushing, it
23459         flushes out any queued messages and immediately unrefs new
23460         messages. This is so when an element goes to NULL, all of the
23461         unhandled messages coming from it can be freed, and their
23462         references to the element dropped. In other words: message source
23463         ref considered harmful :P
23464
23465         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
23466         we're finished with it.
23467
23468         * gst/gstmessage.c (gst_message_new_state_changed): 
23469
23470 2005-05-10  Wim Taymans  <wim@fluendo.com>
23471
23472         * gst/gstvalue.c: (gst_value_compare_flags),
23473         (gst_value_serialize_flags), (gst_value_deserialize_flags),
23474         (_gst_value_initialize):
23475         Added flags serialize/deserialize/compare code.
23476
23477 2005-05-09  Andy Wingo  <wingo@pobox.com>
23478
23479         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
23480         Intersect the peer's caps with our caps.
23481
23482 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23483
23484         * gst/base/gsttypefindhelper.c: (helper_find_peek):
23485         * gst/elements/gsttypefindelement.c: (find_peek):
23486           Handle negative offsets better. Fixes decodebin.
23487
23488 2005-05-09  Wim Taymans  <wim@fluendo.com>
23489
23490         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
23491         (gst_base_transform_event):
23492         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
23493         Implement accept_caps.
23494         Fix silly lock/unlock mismatch in base class.
23495
23496 2005-05-09  Wim Taymans  <wim@fluendo.com>
23497
23498         * docs/design/draft-push-pull.txt:
23499         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
23500         * gst/elements/gstfilesink.c: (gst_filesink_init),
23501         (gst_filesink_query):
23502         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
23503         (gst_type_find_handle_src_query), (find_element_get_length):
23504         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
23505         * gst/gstelement.h:
23506         * gst/gstmessage.c:
23507         * gst/gstmessage.h:
23508         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
23509         (gst_real_pad_get_caps_unlocked),
23510         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
23511         (gst_pad_event_default_dispatch), (gst_pad_event_default),
23512         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
23513         (gst_real_pad_dispose), (gst_real_pad_finalize),
23514         (gst_pad_load_and_link), (gst_pad_save_thyself),
23515         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
23516         (gst_pad_check_pull_range), (gst_pad_pull_range),
23517         (gst_pad_template_get_type), (gst_pad_template_class_init),
23518         (gst_pad_template_init), (gst_pad_template_dispose),
23519         (name_is_valid), (gst_static_pad_template_get),
23520         (gst_pad_template_new), (gst_static_pad_template_get_caps),
23521         (gst_pad_template_get_caps), (gst_pad_set_element_private),
23522         (gst_pad_get_element_private), (gst_pad_start_task),
23523         (gst_pad_pause_task), (gst_pad_stop_task),
23524         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
23525         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
23526         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
23527         (gst_ghost_pad_new):
23528         * gst/gstpad.h:
23529         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
23530         (gst_query_new_position), (gst_query_set_position),
23531         (gst_query_parse_position), (gst_query_new_convert),
23532         (gst_query_set_convert), (gst_query_parse_convert):
23533         * gst/gstquery.h:
23534         * gst/gstqueryutils.c:
23535         * gst/gstqueryutils.h:
23536         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
23537         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
23538         (gst_queue_handle_src_query):
23539         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
23540         (gst_element_query_position), (gst_element_query_convert),
23541         (intersect_caps_func), (gst_pad_query_position),
23542         (gst_pad_query_convert):
23543         * gst/gstutils.h:
23544         * tools/gst-inspect.c: (print_pad_info):
23545         * tools/gst-xmlinspect.c: (print_element_info):
23546         Remove old query functions. Ported old code.
23547         Added position/convert helper functions to gstutils.
23548         Reordered gstpad.c code, grouping relevant things.
23549         Remove gst_message_new(), always need to speficy a specific
23550         message.
23551
23552
23553 2005-05-09  Andy Wingo  <wingo@pobox.com>
23554
23555         * gst/gstiterator.h: Add some includes.
23556
23557         * gst/gstqueryutils.h: Include more headers.
23558
23559         * gst/gstpad.h:
23560         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
23561         some uses of gst_pad_query.
23562
23563         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
23564         NULL out parameters.
23565         (gst_query_new_position): New proc, allocates a new position
23566         query.
23567
23568         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
23569         gstqueryutils.c to the build.
23570
23571         * gst/gststructure.c (gst_structure_set_valist): Implement with
23572         the generic G_VALUE_COLLECT.
23573         
23574 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
23575
23576         * gst/Makefile.am: (gst_headers):
23577         Added gstqueryutils.h to the list of headers to install, that was
23578         a 'nachty' move wingo :)
23579
23580 2005-05-06  Andy Wingo  <wingo@pobox.com>
23581
23582         * gst/gstquery.h
23583         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
23584         GstData, init a memchunk.
23585         (standard_definitions): Add a few query types, deprecate a few.
23586         (gst_query_get_type): New proc.
23587         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
23588         implementation.
23589         (gst_query_new_application, gst_query_get_structure): New public
23590         procs.
23591
23592         * docs/design/draft-query.txt: Removed LINKS from the query types,
23593         because all the rest can be dispatched to other pads -- seemed
23594         ugly to have a query that couldn't be dispatched. internal_links
23595         is fine as a pad method.
23596
23597         * gst/gstpad.h: Add query2 as a pad method, add the new functions
23598         in gstpad.c, but maintain binary compatibility for the moment.
23599         Will fix before 0.9 is out.
23600
23601         * gst/gstqueryutils.c: 
23602         * gst/gstqueryutils.h: New files, implement 3 methods for each
23603         query type: parse_query, parse_response, and set. Probably need an
23604         allocator as well.
23605
23606         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
23607
23608         * gst/elements/gstfilesink.c (gst_filesink_query2):
23609         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
23610         query_types, and formats methods.
23611
23612         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
23613         (gst_pad_set_query2_function): New functions.
23614         (gst_real_pad_init): Set query2_default as the default query2
23615         function. Basically just dispatches to internally linked pads.
23616
23617         Needs review!
23618         
23619         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
23620         without using the atomic operations. Only one thread can possibly
23621         be accessing the data at this point. Changed so as to avoid
23622         gst_atomic operations.
23623
23624 2005-05-06  Wim Taymans  <wim@fluendo.com>
23625
23626         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
23627         Also set caps if we use the fallback buffer alloc.
23628
23629 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
23630
23631         * docs/gst/Makefile.am:
23632         * docs/gst/gstreamer-docs.sgml:
23633         * docs/gst/gstreamer-sections.txt:
23634         * docs/gst/tmpl/gstatomic.sgml:
23635         * docs/gst/tmpl/gstmemchunk.sgml:
23636         * testsuite/elements/struct_i386.h:
23637         * win32/GStreamer.vcproj:
23638         * win32/Makefile:
23639           Purge GstAtomic stuff from docs and win32 makefiles as well
23640
23641 2005-05-06  Wim Taymans  <wim@fluendo.com>
23642
23643         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
23644         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
23645         * gst/gstpad.c: (gst_pad_peer_get_caps):
23646         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
23647         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
23648         (gst_queue_src_activate), (gst_queue_change_state):
23649         * gst/gstqueue.h:
23650         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
23651         (intersect_caps_func):
23652         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
23653         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
23654         Some fixes for the peer_get_caps() change.
23655
23656 2005-05-06  Wim Taymans  <wim@fluendo.com>
23657
23658         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
23659         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
23660         (gst_basesink_activate):
23661         Actually do something with error codes returned from the push
23662         functions.
23663
23664 2005-05-06  Wim Taymans  <wim@fluendo.com>
23665
23666         * docs/design/part-element-sink.txt:
23667         * docs/design/part-element-source.txt:
23668         * gst/base/gstbasesink.c: (gst_basesink_class_init),
23669         (gst_basesink_event), (gst_basesink_activate):
23670         * gst/base/gstbasesink.h:
23671         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
23672         (gst_basesrc_activate):
23673         * gst/base/gstbasesrc.h:
23674         * gst/gstelement.c: (gst_element_pads_activate):
23675         Some more documentation.
23676         Fixed scheduling decision in _pads_activate().
23677
23678 2005-05-05  Andy Wingo  <wingo@pobox.com>
23679
23680         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
23681         the test suite.
23682
23683 2005-05-05  Wim Taymans  <wim@fluendo.com>
23684
23685         * gst/base/Makefile.am:
23686         * gst/base/gstbasesink.h:
23687         * gst/base/gstbasesrc.c: (gst_basesrc_init),
23688         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
23689         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
23690         (gst_collectpads_class_init), (gst_collectpads_init),
23691         (gst_collectpads_finalize), (gst_collectpads_new),
23692         (gst_collectpads_set_function), (gst_collectpads_add_pad),
23693         (find_pad), (gst_collectpads_remove_pad),
23694         (gst_collectpads_is_active), (gst_collectpads_collect),
23695         (gst_collectpads_collect_range), (gst_collectpads_start),
23696         (gst_collectpads_stop), (gst_collectpads_peek),
23697         (gst_collectpads_pop), (gst_collectpads_available),
23698         (gst_collectpads_read), (gst_collectpads_flush),
23699         (gst_collectpads_chain):
23700         * gst/base/gstcollectpads.h:
23701         * gst/elements/Makefile.am:
23702         * gst/elements/gstelements.c:
23703         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
23704         (gst_fakesink_get_times), (gst_fakesink_event),
23705         (gst_fakesink_preroll), (gst_fakesink_render):
23706         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
23707         (gst_filesink_init), (gst_filesink_set_location),
23708         (gst_filesink_open_file), (gst_filesink_close_file),
23709         (gst_filesink_pad_query), (gst_filesink_event),
23710         (gst_filesink_render), (gst_filesink_change_state):
23711         * gst/elements/gstfilesink.h:
23712         Added object to help in making collect pad based elements.
23713         Ported filesink.
23714         Make event function in sink baseclass return gboolean.
23715
23716 2005-05-05  Wim Taymans  <wim@fluendo.com>
23717
23718         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
23719         (gst_bin_get_by_name):
23720         * gst/gstbuffer.h:
23721         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
23722         (gst_clock_finalize):
23723         * gst/gstdata.c: (gst_data_replace):
23724         * gst/gstdata.h:
23725         * gst/gstelement.c: (gst_element_request_pad),
23726         (gst_element_pads_activate):
23727         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
23728         (gst_object_unref):
23729         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
23730         (gst_pad_set_checkgetrange_function),
23731         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
23732         (gst_pad_check_pull_range), (gst_pad_pull_range),
23733         (gst_static_pad_template_get_caps), (gst_pad_start_task),
23734         (gst_pad_pause_task), (gst_pad_stop_task):
23735         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
23736         (gst_element_request_pad), (gst_pad_proxy_getcaps):
23737         Fix name lookup in GstBin.
23738         Added _data_replace() function and _buffer_replace()
23739         Use finalize method to clean up clock.
23740         Fix refcounting on request pads.
23741         Fix pad schedule mode error.
23742         Some more object refcounting debug info,
23743
23744
23745 2005-05-04  Andy Wingo <wingo@pobox.com>
23746
23747         * check/Makefile.am:
23748         * docs/gst/tmpl/gstatomic.sgml:
23749         * docs/gst/tmpl/gstplugin.sgml:
23750         * gst/base/gstbasesink.c: (gst_basesink_activate):
23751         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
23752         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
23753         (gst_basesrc_query), (gst_basesrc_set_property),
23754         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
23755         (gst_basesrc_activate):
23756         * gst/base/gstbasesrc.h:
23757         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
23758         (gst_base_transform_src_activate):
23759         * gst/elements/gstelements.c:
23760         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
23761         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
23762         * gst/elements/gsttee.c: (gst_tee_sink_activate):
23763         * gst/elements/gsttypefindelement.c: (find_element_get_length),
23764         (gst_type_find_element_checkgetrange),
23765         (gst_type_find_element_activate):
23766         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
23767         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
23768         (gst_caps_load_thyself):
23769         * gst/gstelement.c: (gst_element_pads_activate),
23770         (gst_element_save_thyself), (gst_element_restore_thyself):
23771         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
23772         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
23773         * gst/gstpad.h:
23774         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
23775         (gst_xml_parse_file), (gst_xml_parse_memory),
23776         (gst_xml_get_element), (gst_xml_make_element):
23777         * gst/indexers/gstfileindex.c: (gst_file_index_load),
23778         (_file_index_id_save_xml), (gst_file_index_commit):
23779         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
23780         (read_enum), (load_pad_template), (load_feature), (load_plugin),
23781         (load_paths):
23782         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
23783         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
23784         * tools/gst-complete.c: (main):
23785         * tools/gst-compprep.c: (main):
23786         * tools/gst-inspect.c: (print_element_properties_info):
23787         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
23788         * tools/gst-xmlinspect.c: (print_element_properties):
23789         GCC 4 fixen.
23790         
23791 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
23792
23793         * gst/gstplugin.c: (gst_plugin_check_module),
23794         (gst_plugin_check_file), (gst_plugin_load_file):
23795             apply patch from #172526 to make register work on MacOSX
23796
23797 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
23798
23799         * docs/gst/tmpl/gstconfig.sgml:
23800         * gst/gstconfig.h.in:
23801           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
23802         * testsuite/debug/printf_extension.c: (main):
23803           Do not use GST_PTR_FORMAT on pointers to types with
23804           sizeof < sizeof(gpointer).  Fixes test on 64-bit
23805         * testsuite/elements/property.h:
23806           use correct printf format
23807
23808 2005-05-02  Wim Taymans  <wim@fluendo.com>
23809
23810         * docs/design/draft-push-pull.txt:
23811         * docs/design/draft-query.txt:
23812         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
23813         (gst_basesrc_start):
23814         Added draft for new query API.
23815         Added draft for better selecting scheduling methods.
23816         Make basesrc ignore length if the subclass does not support
23817         it.
23818
23819 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
23820
23821         * gst/Makefile.am:
23822           possible fixes for automake-1.5 - _LIBADD is reserved
23823
23824 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
23825
23826         * docs/faq/Makefile.am:
23827         * docs/manual/Makefile.am:
23828         * docs/manuals.mak:
23829         * docs/pwg/Makefile.am:
23830         * gst/Makefile.am:
23831           possible fixes for automake-1.5
23832
23833 2005-04-28  Wim Taymans  <wim@fluendo.com>
23834
23835         * gst/base/gstbasesink.c: (gst_basesink_base_init),
23836         (gst_basesink_pad_getcaps), (gst_basesink_init),
23837         (gst_basesink_do_sync):
23838         * gst/gstclock.c: (gst_clock_entry_new):
23839         * gst/gstevent.c: (gst_event_discont_get_value):
23840         * gst/gstpipeline.c: (pipeline_bus_handler),
23841         (gst_pipeline_change_state):
23842         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
23843         Better debugging of clocking info.
23844         Allow NULL values when getting discont values.
23845
23846 2005-04-27  Wim Taymans  <wim@fluendo.com>
23847
23848         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
23849         * check/gst/gstpad.c: (gst_pad_suite):
23850         Increase timeout for checks.
23851
23852 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
23853
23854         * check/Makefile.am:
23855           fix the broken rule for cleanup.  Apparently this rule is
23856           only needed on FC2, so maybe this warrants further autotool
23857           inspection.
23858
23859 2005-04-26  Wim Taymans  <wim@fluendo.com>
23860
23861         * gst/gsttrashstack.h:
23862         Ooohh. a nasty one! After having a failed pop() from the stack,
23863         it's possible that the stack is empty. In that case, don't
23864         follow the NULL pointer.
23865
23866 2005-04-25  Wim Taymans  <wim@fluendo.com>
23867
23868         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
23869         (gst_pad_set_checkgetrange_function),
23870         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
23871         (gst_pad_check_pull_range), (gst_pad_pull_range),
23872         (gst_static_pad_template_get_caps), (gst_pad_start_task),
23873         (gst_pad_pause_task), (gst_pad_stop_task):
23874         * gst/gstplugin.c: (gst_plugin_load):
23875         * gst/gstplugin.h:
23876         Remove gst_library_load as it does more harm than good with
23877         the new g_module flags.
23878         Revert bogus caps template check in pad linking, pad caps
23879         are important when linking not the template, which is more
23880         general than the current caps.
23881
23882 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23883
23884         * gst/autoplug/.cvsignore:
23885         * gst/autoplug/Makefile.am:
23886         * gst/autoplug/gstsearchfuncs.c:
23887         * gst/autoplug/gstsearchfuncs.h:
23888         * gst/autoplug/gstspider.c:
23889         * gst/autoplug/gstspider.h:
23890         * gst/autoplug/gstspideridentity.c:
23891         * gst/autoplug/gstspideridentity.h:
23892         * gst/autoplug/spidertest.c:
23893           Die, spider, die.
23894
23895 2005-04-25  Wim Taymans  <wim@fluendo.com>
23896
23897         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
23898         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
23899         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
23900         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
23901         * gst/gstpad.h:
23902         Added stubs for unimplemented functions. 
23903
23904 2005-04-24  David Schleef  <ds@schleef.org>
23905
23906         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
23907         please fix.
23908
23909 2005-04-24  David Schleef  <ds@schleef.org>
23910
23911         Convert everything from GstAtomicInt to g_atomic_int_*, and
23912         remove gstatomic.
23913         * gst/Makefile.am:
23914         * gst/gstatomic.c:
23915         * gst/gstatomic.h:
23916         * gst/gstatomic_impl.h:
23917         * gst/gstbuffer.c:
23918         * gst/gstcaps.c:
23919         * gst/gstcaps.h:
23920         * gst/gstclock.c:
23921         * gst/gstclock.h:
23922         * gst/gstdata.c:
23923         * gst/gstdata.h:
23924         * gst/gstdata_private.h:
23925         * gst/gstevent.c:
23926         * gst/gstinfo.c:
23927         * gst/gstinfo.h:
23928         * gst/gstmessage.c:
23929         * gst/gstobject.c:
23930         * gst/gstobject.h:
23931         * gst/gststructure.c:
23932         * gst/gststructure.h:
23933         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
23934         * gst/gstutils.h:
23935
23936 2005-04-24  David Schleef  <ds@schleef.org>
23937
23938         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
23939         make the regressions tests work.  Remove some code that is no
23940         longer true.
23941         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
23942         Disable warning for pads without templates.
23943
23944 2005-04-24  David Schleef  <ds@schleef.org>
23945
23946         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
23947         functions that handle filtered links.
23948         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
23949         removed functions.
23950         * gst/gstutils.c: Fix/remove utility functions that handle
23951         filtered caps.
23952         * gst/gstutils.h:
23953         * gst/gstvalue.c: Add serialization/deserialization of caps
23954         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
23955         requires fixing so that the filter caps notation creates
23956         a capsfilter element and sets the filter_caps property.  I
23957         think everyone probably wants to keep the shorthand notation.
23958         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
23959         * docs/gst/tmpl/gstpad.sgml:
23960
23961         * gst/elements/gstelements.c: Register capsfilter element.
23962         * gst/Makefile.am: fix spacing
23963         * docs/random/ds/0.9-suggested-changes: random
23964
23965 2005-04-23  David Schleef  <ds@schleef.org>
23966
23967         * gst/elements/Makefile.am:
23968         * gst/elements/gstcapsfilter.c: New element that acts like an
23969         identity, but filters caps.  Will eventually replace filtered
23970         caps in pad linking.
23971         * gst/gstutils.c: (gst_element_create_all_pads): New function
23972         to create all the ALWAYS pads that are registered with an
23973         element class.  This functionality should eventually be
23974         merged in with GstElement initialization.
23975         * gst/gstutils.h:
23976         * testsuite/trigger/README: part of trigger test code that should
23977         have been checked in a long time ago.
23978
23979 2005-04-23  David Schleef  <ds@schleef.org>
23980
23981         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
23982         needed with new versions of libtool (nobody will confirm this),
23983         and hard to carry around.
23984         * gst/autoplug/Makefile.am:
23985         * gst/base/Makefile.am:
23986         * gst/elements/Makefile.am:
23987         * gst/indexers/Makefile.am:
23988         * gst/schedulers/Makefile.am:
23989         * libs/gst/bytestream/Makefile.am:
23990         * libs/gst/control/Makefile.am:
23991         * libs/gst/dataprotocol/Makefile.am:
23992         * libs/gst/getbits/Makefile.am:
23993
23994 2005-04-21  Wim Taymans  <wim@fluendo.com>
23995
23996         * docs/design/draft-push-pull.txt:
23997         * docs/design/part-MT-refcounting.txt:
23998         * docs/design/part-TODO.txt:
23999         * docs/design/part-caps.txt:
24000         * docs/design/part-events.txt:
24001         * docs/design/part-gstbus.txt:
24002         * docs/design/part-gstpipeline.txt:
24003         * docs/design/part-messages.txt:
24004         * docs/design/part-push-pull.txt:
24005         * docs/design/part-query.txt:
24006         Some more docs.
24007
24008 2005-04-21  Wim Taymans  <wim@fluendo.com>
24009
24010         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
24011         (gst_message_new), (gst_message_new_error),
24012         (gst_message_new_warning), (gst_message_new_tag),
24013         (gst_message_new_state_changed), (gst_message_new_application),
24014         (gst_message_get_structure):
24015         * gst/gstmessage.h:
24016         * gst/gststructure.c: (gst_structure_set_parent_refcount),
24017         (gst_structure_copy_conditional):
24018         Use parent refcount in GstMessage to ensure GstStructure
24019         consistency.
24020         Cleaned up headers a bit.
24021         
24022
24023 2005-04-20  Wim Taymans  <wim@fluendo.com>
24024
24025         * gst/base/gstbasesink.c: (gst_basesink_base_init),
24026         (gst_basesink_pad_getcaps), (gst_basesink_init),
24027         (gst_basesink_chain_unlocked):
24028         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
24029         (gst_type_find_helper):
24030         * gst/elements/gsttypefindelement.c:
24031         (gst_type_find_element_have_type), (gst_type_find_element_init),
24032         (stop_typefinding), (gst_type_find_element_handle_event),
24033         (find_suggest), (gst_type_find_element_chain),
24034         (gst_type_find_element_checkgetrange),
24035         (gst_type_find_element_getrange), (do_typefind),
24036         (gst_type_find_element_activate):
24037         * gst/gstbuffer.c: (_gst_buffer_sub_free),
24038         (gst_buffer_default_free), (gst_buffer_default_copy),
24039         (gst_buffer_set_caps):
24040         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
24041         (gst_caps_replace):
24042         * gst/gstmessage.c: (gst_message_new),
24043         (gst_message_new_state_changed):
24044         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
24045         (gst_pad_set_checkgetrange_function),
24046         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
24047         (gst_pad_set_caps), (gst_pad_check_pull_range),
24048         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
24049         * gst/gstpad.h:
24050         * gst/gsttypefind.c: (gst_type_find_register):
24051         Make gst_caps_replace() work like other _replace() functions.
24052         Use _caps_replace() where possible.
24053         Make sure _message_new() initialises its field.
24054         Add gst_static_pad_template_get_caps()
24055
24056
24057 2005-04-18  Andy Wingo  <wingo@pobox.com>
24058
24059         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
24060         on the peer, not the pad. I think that was a typo. Pass an extra
24061         arg to see if random access is possible. Activate the pads as
24062         PULL_RANGE if possible.
24063
24064         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
24065
24066         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
24067         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
24068         to PROP_....
24069
24070 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24071
24072         * docs/faq/using.xml:
24073           Add note on gstreamer-properties (#154996).
24074
24075 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24076
24077         * docs/random/bbb/optional-properties:
24078           Some analysis on optional properties.
24079
24080 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24081
24082         * docs/gst/tmpl/gstelementfactory.sgml:
24083         * gst/gstelement.h:
24084         * gst/gstelementfactory.c: (gst_element_factory_init),
24085         (gst_element_factory_cleanup), (gst_element_register),
24086         (__gst_element_factory_add_static_pad_template),
24087         (gst_element_factory_get_static_pad_templates),
24088         (gst_element_factory_can_src_caps),
24089         (gst_element_factory_can_sink_caps):
24090         * gst/registries/Makefile.am:
24091         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
24092         (gst_xml_registry_class_init), (gst_xml_registry_init),
24093         (gst_xml_registry_new), (gst_xml_registry_set_property),
24094         (gst_xml_registry_get_property), (get_time), (make_dir),
24095         (gst_xml_registry_get_perms_func),
24096         (plugin_times_older_than_recurse), (plugin_times_older_than),
24097         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
24098         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
24099         (add_to_char_array), (read_string), (read_uint), (read_enum),
24100         (load_pad_template), (load_feature), (load_plugin), (load_paths),
24101         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
24102         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
24103         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
24104         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
24105         (gst_xml_registry_rebuild):
24106         * gst/registries/gstlibxmlregistry.h:
24107         * tools/gst-compprep.c: (main):
24108         * tools/gst-inspect.c: (print_pad_templates_info):
24109         * tools/gst-xmlinspect.c: (print_element_info):
24110           Use libxml2 for registry parsing, use staticpadtemplates in
24111           elementfactories. Makes gst_init() +/- 10x faster.
24112
24113 2005-04-12  Wim Taymans  <wim@fluendo.com>
24114
24115         * gst/base/Makefile.am:
24116         * gst/base/gstbasesink.c: (gst_basesink_base_init),
24117         (gst_basesink_pad_getcaps), (gst_basesink_init),
24118         (gst_basesink_event), (gst_basesink_change_state):
24119         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
24120         (gst_basesrc_init), (gst_basesrc_query),
24121         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
24122         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
24123         (gst_basesrc_check_get_range), (gst_basesrc_loop),
24124         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
24125         (gst_basesrc_stop), (gst_basesrc_activate),
24126         (gst_basesrc_change_state):
24127         * gst/base/gsttypefindhelper.c: (helper_find_peek),
24128         (helper_find_suggest), (gst_type_find_helper):
24129         * gst/base/gsttypefindhelper.h:
24130         * gst/elements/Makefile.am:
24131         * gst/elements/gstelements.c:
24132         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
24133         (gst_fakesink_get_times), (gst_fakesink_event),
24134         (gst_fakesink_preroll), (gst_fakesink_render):
24135         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
24136         (gst_fakesrc_init), (gst_fakesrc_event_handler),
24137         (gst_fakesrc_get_property), (gst_fakesrc_create),
24138         (gst_fakesrc_start), (gst_fakesrc_stop):
24139         * gst/elements/gstfakesrc.h:
24140         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
24141         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
24142         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
24143         (gst_filesrc_create_read), (gst_filesrc_create),
24144         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
24145         (gst_filesrc_start):
24146         * gst/elements/gsttypefindelement.c:
24147         (gst_type_find_element_have_type), (gst_type_find_element_init),
24148         (start_typefinding), (stop_typefinding), (push_buffer_store),
24149         (gst_type_find_element_handle_event),
24150         (gst_type_find_element_chain),
24151         (gst_type_find_element_checkgetrange),
24152         (gst_type_find_element_getrange), (do_typefind),
24153         (gst_type_find_element_activate),
24154         (gst_type_find_element_change_state):
24155         * gst/elements/gsttypefindelement.h:
24156         * gst/gstpipeline.c: (pipeline_bus_handler):
24157         Added typefind helper.
24158         Small preroll fix in the base sink.
24159         Disable typefind code in basesrc.
24160         Crude port of typefindelement.
24161         Fakesrc cleanups.
24162
24163
24164 2005-04-11  Wim Taymans  <wim@fluendo.com>
24165
24166         * check/gst/gstbus.c: (gstbus_suite):
24167         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
24168         * check/gstcheck.h:
24169           Fix up the timeout so that the test does not fail.
24170
24171 2005-04-06  Wim Taymans  <wim@fluendo.com>
24172
24173         * gst/base/README:
24174         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
24175         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
24176         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
24177         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
24178         (gst_basesrc_check_get_range), (gst_basesrc_loop),
24179         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
24180         (gst_basesrc_stop), (gst_basesrc_activate),
24181         (gst_basesrc_change_state), (basesrc_find_peek),
24182         (basesrc_find_suggest), (gst_basesrc_type_find):
24183         * gst/base/gstbasesrc.h:
24184         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
24185         (gst_filesrc_class_init), (gst_filesrc_init),
24186         (gst_filesrc_finalize), (gst_filesrc_set_location),
24187         (gst_filesrc_set_property), (gst_filesrc_get_property),
24188         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
24189         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
24190         (gst_filesrc_create_read), (gst_filesrc_create),
24191         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
24192         * gst/elements/gstfilesrc.h:
24193         * gst/gstelement.c: (gst_element_get_state_func),
24194         (gst_element_lost_state), (gst_element_pads_activate):
24195         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
24196         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
24197         (gst_pad_pull_range):
24198         * gst/gstpad.h:
24199         More work on the generic source base class, implement seeking,
24200         query.
24201         Make filesrc extend the base source class.
24202         Added gst_pad_set_checkgetrange_function to GstPad.
24203
24204 2005-04-06  Andy Wingo  <wingo@pobox.com>
24205
24206         * pkgconfig/gstreamer-base.pc.in:
24207         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
24208
24209         * pkgconfig/Makefile.am:
24210         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
24211
24212 2005-04-04  Wim Taymans  <wim@fluendo.com>
24213
24214         * gst/base/Makefile.am:
24215         * gst/base/README:
24216         * gst/base/gstbasesink.c: (gst_basesink_base_init),
24217         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
24218         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
24219         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
24220         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
24221         (gst_basesrc_base_init), (gst_basesrc_class_init),
24222         (gst_basesrc_init), (gst_basesrc_get_formats),
24223         (gst_basesrc_get_query_types), (gst_basesrc_query),
24224         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
24225         (gst_basesrc_set_property), (gst_basesrc_get_property),
24226         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
24227         (gst_basesrc_loop), (gst_basesrc_activate),
24228         (gst_basesrc_change_state):
24229         * gst/base/gstbasesrc.h:
24230         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
24231         (gst_fakesrc_class_init), (gst_fakesrc_init),
24232         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
24233         (gst_fakesrc_get_property), (gst_fakesrc_create):
24234         * gst/elements/gstfakesrc.h:
24235         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
24236         (gst_filesrc_open_file), (gst_filesrc_loop),
24237         (gst_filesrc_activate), (filesrc_find_peek),
24238         (gst_filesrc_type_find):
24239         Made base source class, make fakesrc extend it.
24240         Add comments to basesink class.
24241         Some filesrc cleanup.
24242
24243 2005-03-31  David Schleef  <ds@schleef.org>
24244
24245         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
24246         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
24247         expected to link against libgstreamer.
24248         * gst/base/Makefile.am: link against libgstreamer
24249         * gst/elements/Makefile.am: same
24250
24251 2005-03-31  Andy Wingo  <wingo@pobox.com>
24252
24253         * tests/instantiate/Makefile.am:
24254         * tests/instantiate/caps.c: Add test to test speed of caps copy
24255         and free.
24256
24257         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
24258         GMemChunk to be fair.
24259
24260         * gst/gsttrashstack.h: Remove warning about using the fallback
24261         trash stack implementation, it's still faster than malloc.
24262
24263 2005-03-30  Andy Wingo  <wingo@pobox.com>
24264
24265         * tests/complexity.c: Add a copyright.
24266
24267 2005-03-31  Wim Taymans  <wim@fluendo.com>
24268
24269         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
24270         (gst_base_transform_class_init), (gst_base_transform_init),
24271         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
24272         (gst_base_transform_get_property),
24273         (gst_base_transform_sink_activate),
24274         (gst_base_transform_src_activate),
24275         (gst_base_transform_change_state):
24276         * gst/base/gstbasetransform.h:
24277         * gst/elements/gstidentity.c: (gst_identity_class_init),
24278         (gst_identity_event), (gst_identity_check_perfect),
24279         (gst_identity_transform), (gst_identity_start),
24280         (gst_identity_stop):
24281         Added start/stop methods to transform base class so subclasses 
24282         don't need to deal with state changes even.
24283
24284 2005-03-31  Wim Taymans  <wim@fluendo.com>
24285
24286         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
24287         (gst_event_new_discontinuous), (gst_event_discont_get_value):
24288         * gst/gstevent.h:
24289         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
24290         (gst_pad_pull_range):
24291         Added rate to the discont event to prepare for variable speed
24292         and reverse playback.
24293
24294 2005-03-29  David Schleef  <ds@schleef.org>
24295
24296         * configure.ac:
24297         * testsuite/trigger/Makefile.am:
24298         * testsuite/trigger/trigger.c: A little example program to show
24299         how trigger-based elements can work.
24300
24301 2005-03-29  Wim Taymans  <wim@fluendo.com>
24302
24303         * gst/base/Makefile.am:
24304         * gst/base/README:
24305         * gst/base/gstbasesink.c: (gst_basesink_get_type),
24306         (gst_basesink_base_init), (gst_basesink_class_init),
24307         (gst_basesink_pad_getcaps), (gst_basesink_init),
24308         (gst_basesink_activate), (gst_basesink_change_state):
24309         * gst/base/gstbasesink.h:
24310         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
24311         (gst_base_transform_base_init), (gst_base_transform_finalize),
24312         (gst_base_transform_class_init), (gst_base_transform_init),
24313         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
24314         (gst_base_transform_event), (gst_base_transform_getrange),
24315         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
24316         (gst_base_transform_set_property),
24317         (gst_base_transform_get_property),
24318         (gst_base_transform_sink_activate),
24319         (gst_base_transform_src_activate),
24320         (gst_base_transform_change_state):
24321         * gst/base/gstbasetransform.h:
24322         * gst/elements/gstidentity.c: (gst_identity_finalize),
24323         (gst_identity_class_init), (gst_identity_init),
24324         (gst_identity_event), (gst_identity_check_perfect),
24325         (gst_identity_transform), (gst_identity_set_property),
24326         (gst_identity_get_property), (gst_identity_change_state):
24327         * gst/elements/gstidentity.h:
24328         * gst/gstelement.c: (gst_element_get_state_func),
24329         (gst_element_lost_state), (gst_element_pads_activate):
24330         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
24331         (gst_pad_check_pull_range), (gst_pad_pull_range):
24332         * gst/gstpad.h:
24333         Simplify pad activation.
24334         Added function to check if pull_range can be performed.
24335         Error out when pulling inactive or flushing pads.
24336         Removed const from refcounted types as it does not make sense.
24337         Simplify pad templates in basesink
24338         Added base class for simple 1-to-1 transforms.
24339         Make identity subclass the base transform.
24340
24341 2005-03-29  Andy Wingo  <wingo@pobox.com>
24342
24343         * docs/libs/gstreamer-libs-overrides.txt: 
24344         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
24345         really don't understand what's going on, but like whatever. I want
24346         green buildbot!
24347
24348         * docs/gst/Makefile.am:
24349         * docs/libs/Makefile.am: Dist the overrides files.
24350
24351         * check/Makefile.am (clean-local): Remove .libs directories.
24352
24353         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
24354         elements to EXTRA_DIST, so po/ files are happy.
24355
24356         * po/POTFILES.in: Er, remove it here.
24357
24358         * po/POTFILES: Remove gstspider.c.
24359
24360         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
24361
24362         * docs/libs/gstreamer-libs-docs.sgml: 
24363         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
24364         bytestream.
24365
24366         * tests/complexity.c (main): Set the length of the preroll queue
24367         on the sinks to prevent a lockup.
24368
24369         * libs/gst/dataprotocol/Makefile.am: 
24370         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
24371         the same as the one in check/gst-libs/gdp.c.
24372
24373         * po/, docs/gst/: Commit automatic changes to docs and po files.
24374
24375         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
24376         the versioned libgstbase.
24377
24378         * check/Makefile.am: Depend on an unversioned gst-register, seems
24379         to make autoconf happier.
24380
24381         * gst/base/Makefile.am: Make libgstbase a versioned lib.
24382
24383 2005-03-28  Wim Taymans  <wim@fluendo.com>
24384
24385         * configure.ac:
24386         * docs/design/part-gstelement.txt:
24387         * docs/design/part-negotiation.txt:
24388         * docs/design/part-preroll.txt:
24389         * docs/design/part-scheduling.txt:
24390         * docs/design/part-states.txt:
24391         * gst/Makefile.am:
24392         * gst/base/Makefile.am:
24393         * gst/base/README:
24394         * gst/base/gstbasesink.c: (gst_basesink_get_template),
24395         (gst_basesink_base_init), (gst_basesink_class_init),
24396         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
24397         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
24398         (gst_basesink_set_pad_functions),
24399         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
24400         (gst_basesink_set_property), (gst_basesink_get_property),
24401         (gst_base_sink_get_template), (gst_base_sink_get_caps),
24402         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
24403         (gst_basesink_preroll_queue_push),
24404         (gst_basesink_preroll_queue_empty),
24405         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
24406         (gst_basesink_event), (gst_basesink_get_times),
24407         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
24408         (gst_basesink_chain_unlocked), (gst_basesink_chain),
24409         (gst_basesink_loop), (gst_basesink_activate),
24410         (gst_basesink_change_state):
24411         * gst/base/gstbasesink.h:
24412         * gst/elements/Makefile.am:
24413         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
24414         (gst_fakesink_class_init), (gst_fakesink_init),
24415         (gst_fakesink_set_property), (gst_fakesink_get_property),
24416         (gst_fakesink_get_times), (gst_fakesink_event),
24417         (gst_fakesink_preroll), (gst_fakesink_render),
24418         (gst_fakesink_change_state):
24419         * gst/elements/gstfakesink.h:
24420         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
24421         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
24422         * gst/gstelement.c: (gst_element_add_pad),
24423         (gst_element_get_state_func), (gst_element_abort_state),
24424         (gst_element_commit_state), (gst_element_lost_state),
24425         (gst_element_set_state), (gst_element_pads_activate):
24426         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
24427         * gst/gstpipeline.c: (gst_pipeline_send_event),
24428         (gst_pipeline_change_state):
24429         Added state change code.
24430         Added/updated docs.
24431         Added sink base class, make fakesink extend the base class.
24432         Small cleanups in GstPipeline.
24433
24434 2005-03-26  David Schleef  <ds@schleef.org>
24435
24436         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
24437         is broken and should be implemented in a different library.
24438         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
24439         * gst/gst.h: remove gstcpu.h
24440         * gst/gstcpu.c: remove
24441         * gst/gstcpu.h: remove
24442         * gst/Makefile.am.future: Remove this file.  It's ancient.
24443
24444 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24445
24446         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
24447         (gst_bin_send_event):
24448           Add default event/set_manager handlers. The set_manager handler
24449           takes care that the manager is distributed over kids that were
24450           already in the bin before the manager was set. The event handler
24451           is a utility virtual function that sends the event over all sinks,
24452           so that gst_element_send_event (bin, event); has the expected
24453           behaviour.
24454         * gst/gstpad.c: (gst_pad_event_default):
24455           Re-install default event handling for discontinuities, so that
24456           seeking works without requiring hacks in applications or extra
24457           code in sinks.
24458         * gst/gstpipeline.c: (gst_pipeline_class_init),
24459         (gst_pipeline_send_event):
24460           Half hack, half utility: set a pipeline to PAUSED for seek events,
24461           since that is the only way we can guarantee a/v sync. Means that
24462           you can do gst_element_seek (pipeline, method, pos); on a pipeline
24463           and it "just works".
24464
24465 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24466
24467         * gst/gstpipeline.c: (gst_pipeline_use_clock):
24468           Lock/unlock mismatch.
24469
24470 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
24471
24472         * docs/faq/gst-uninstalled:
24473           add gst-plugins-base
24474         * docs/gst/Makefile.am:
24475           don't error out until docs are fixed
24476         * docs/gst/gstreamer.types:
24477           remove thread
24478
24479 2005-03-22  Wim Taymans  <wim@fluendo.com>
24480
24481         * check/Makefile.am:
24482         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
24483         * gst/gststructure.c: (gst_structure_set_valist),
24484         (gst_structure_copy_conditional):
24485         Activated more tests.
24486         Added message test.
24487         Added G_TYPE_POINTER to GstStructure.
24488         
24489
24490 2005-03-22  Wim Taymans  <wim@fluendo.com>
24491
24492         * docs/design/part-TODO.txt:
24493         * docs/design/part-events.txt:
24494         * docs/design/part-gstbin.txt:
24495         * docs/design/part-gstbus.txt:
24496         * docs/design/part-gstpipeline.txt:
24497         * docs/design/part-messages.txt:
24498         * gst/gstbus.c:
24499         * gst/gstmessage.c:
24500         Docs updates
24501
24502 2005-03-21  Wim Taymans  <wim@fluendo.com>
24503
24504         * gst/gstbus.c: (gst_bus_post):
24505         Fix copy-and-paste error.
24506
24507 2005-03-21  Wim Taymans  <wim@fluendo.com>
24508
24509         * check/Makefile.am:
24510         * gst/Makefile.am:
24511         * gst/elements/Makefile.am:
24512         * gst/elements/gstelements.c:
24513         * gst/elements/gstfakesink.c: (gst_fakesink_init),
24514         (gst_fakesink_event), (gst_fakesink_chain):
24515         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
24516         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
24517         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
24518         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
24519         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
24520         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
24521         (gst_fakesrc_loop), (gst_fakesrc_activate),
24522         (gst_fakesrc_change_state):
24523         * gst/elements/gstfakesrc.h:
24524         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
24525         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
24526         (gst_filesrc_open_file), (gst_filesrc_loop),
24527         (gst_filesrc_activate), (gst_filesrc_change_state),
24528         (filesrc_find_peek), (filesrc_find_suggest),
24529         (gst_filesrc_type_find):
24530         * gst/elements/gstidentity.c: (gst_identity_finalize),
24531         (gst_identity_class_init), (gst_identity_init),
24532         (gst_identity_proxy_getcaps), (identity_queue_push),
24533         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
24534         (gst_identity_getrange), (gst_identity_chain),
24535         (gst_identity_sink_loop), (gst_identity_src_loop),
24536         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
24537         (gst_identity_set_property), (gst_identity_get_property),
24538         (gst_identity_change_state):
24539         * gst/elements/gstidentity.h:
24540         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
24541         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
24542         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
24543         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
24544         (gst_tee_sink_activate):
24545         * gst/elements/gsttee.h:
24546         * gst/gst.c: (gst_register_core_elements), (init_post):
24547         * gst/gst.h:
24548         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
24549         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
24550         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
24551         (gst_bin_change_state):
24552         * gst/gstbin.h:
24553         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
24554         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
24555         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
24556         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
24557         (gst_bus_set_sync_handler), (gst_bus_create_watch),
24558         (bus_watch_callback), (bus_watch_destroy),
24559         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
24560         (poll_timeout), (gst_bus_poll):
24561         * gst/gstbus.h:
24562         * gst/gstcaps.h:
24563         * gst/gstdata.h:
24564         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
24565         (gst_element_post_message), (gst_element_message_full),
24566         (gst_element_get_state_func), (gst_element_get_state),
24567         (gst_element_abort_state), (gst_element_commit_state),
24568         (gst_element_lost_state), (gst_element_set_state),
24569         (gst_element_pads_activate), (gst_element_change_state),
24570         (gst_element_dispose), (gst_element_set_manager_func),
24571         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
24572         (gst_element_set_manager), (gst_element_get_manager),
24573         (gst_element_set_bus), (gst_element_get_bus),
24574         (gst_element_set_scheduler), (gst_element_get_scheduler):
24575         * gst/gstelement.h:
24576         * gst/gstevent.c: (gst_event_new_segment_seek),
24577         (gst_event_new_flush):
24578         * gst/gstevent.h:
24579         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
24580         (_gst_message_free), (gst_message_get_type), (gst_message_new),
24581         (gst_message_new_eos), (gst_message_new_error),
24582         (gst_message_new_warning), (gst_message_new_tag),
24583         (gst_message_new_state_changed), (gst_message_new_application),
24584         (gst_message_get_structure), (gst_message_parse_tag),
24585         (gst_message_parse_state_changed), (gst_message_parse_error),
24586         (gst_message_parse_warning):
24587         * gst/gstmessage.h:
24588         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
24589         (gst_real_pad_set_property), (gst_pad_set_active),
24590         (gst_pad_is_active), (gst_pad_set_blocked_async),
24591         (gst_pad_set_blocked), (gst_pad_is_blocked),
24592         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
24593         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
24594         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
24595         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
24596         (gst_pad_link_filtered), (gst_pad_relink_filtered),
24597         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
24598         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
24599         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
24600         (gst_pad_set_caps), (gst_pad_configure_sink),
24601         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
24602         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
24603         (gst_real_pad_dispose), (gst_real_pad_finalize),
24604         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
24605         (gst_pad_event_default_dispatch), (gst_pad_event_default),
24606         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
24607         * gst/gstpad.h:
24608         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
24609         (pipeline_bus_handler), (gst_pipeline_change_state),
24610         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
24611         * gst/gstpipeline.h:
24612         * gst/gstprobe.h:
24613         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
24614         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
24615         (gst_queue_link_src), (gst_queue_bufferalloc),
24616         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
24617         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
24618         (gst_queue_loop), (gst_queue_handle_src_event),
24619         (gst_queue_handle_src_query), (gst_queue_src_activate),
24620         (gst_queue_change_state):
24621         * gst/gstqueue.h:
24622         * gst/gstscheduler.c: (gst_scheduler_init),
24623         (gst_scheduler_dispose), (gst_scheduler_create_task),
24624         (gst_scheduler_factory_create):
24625         * gst/gstscheduler.h:
24626         * gst/gststructure.c: (gst_structure_get_type),
24627         (gst_structure_copy_conditional):
24628         * gst/gststructure.h:
24629         * gst/gsttaginterface.h:
24630         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
24631         (gst_task_init), (gst_task_dispose), (gst_task_create),
24632         (gst_task_get_state), (gst_task_start), (gst_task_stop),
24633         (gst_task_pause):
24634         * gst/gsttask.h:
24635         * gst/gstthread.c:
24636         * gst/gstthread.h:
24637         * gst/gsttypes.h:
24638         * gst/schedulers/Makefile.am:
24639         * gst/schedulers/cothreads_compat.h:
24640         * gst/schedulers/entryscheduler.c:
24641         * gst/schedulers/faircothreads.c:
24642         * gst/schedulers/faircothreads.h:
24643         * gst/schedulers/fairscheduler.c:
24644         * gst/schedulers/gstbasicscheduler.c:
24645         * gst/schedulers/gstoptimalscheduler.c:
24646         * gst/schedulers/gthread-cothreads.h:
24647         * gst/schedulers/threadscheduler.c:
24648         (gst_thread_scheduler_task_get_type),
24649         (gst_thread_scheduler_task_class_init),
24650         (gst_thread_scheduler_task_init),
24651         (gst_thread_scheduler_task_start),
24652         (gst_thread_scheduler_task_stop),
24653         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
24654         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
24655         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
24656         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
24657         (plugin_init):
24658         * libs/gst/Makefile.am:
24659         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
24660         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
24661         (gst_file_pad_parent_set):
24662         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
24663         (gst_dp_event_from_packet):
24664         * tests/complexity.c: (main):
24665         * tests/mass_elements.c: (main):
24666         * testsuite/states/locked.c: (message_received), (main):
24667         * testsuite/states/parent.c: (main):
24668         * tools/gst-inspect.c: (print_element_flag_info),
24669         (print_implementation_info), (print_pad_info):
24670         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
24671         (main):
24672         * tools/gst-md5sum.c: (event_loop), (main):
24673         * tools/gst-typefind.c: (main):
24674         * tools/gst-xmlinspect.c: (print_element_info):
24675         Next big merge.
24676         Added GstBus for mainloop integration.
24677         Added GstMessage for sending notifications on the bus.
24678         Added GstTask as an abstraction for pipeline entry points.
24679         Removed GstThread.
24680         Removed Schedulers.
24681         Simplified GstQueue for multithreaded core.
24682         Made _link threadsafe, removed old capsnego.
24683         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
24684         Added pad blocking functions.
24685         Reworked scheduling functions in GstPad to prepare for
24686         scheduling updates soon.
24687         Moved events out of data stream.
24688         Simplified GstEvent types.
24689         Added return values to push/pull.
24690         Removed clocking from GstElement.
24691         Added prototypes for state change function for next merge.
24692         Removed iterate from bins and state change management.
24693         Fixed some elements, disabled others for now.
24694         Fixed -inspect and -launch.
24695         Added check for GstBus.
24696
24697 2005-03-10  Wim Taymans  <wim@fluendo.com>
24698
24699         * docs/design/part-MT-refcounting.txt:
24700         * docs/design/part-clocks.txt:
24701         * docs/design/part-gstelement.txt:
24702         * docs/design/part-gstobject.txt:
24703         * docs/design/part-standards.txt:
24704         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
24705         (gst_bin_remove_func), (gst_bin_remove):
24706         * gst/gstbin.h:
24707         * gst/gstbuffer.c:
24708         * gst/gstcaps.h:
24709         * testsuite/clock/clock1.c: (main):
24710         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
24711         (main):
24712         * testsuite/dlopen/loadgst.c: (do_test):
24713         * testsuite/refcounting/bin.c: (add_remove_test1),
24714         (add_remove_test2), (main):
24715         * testsuite/refcounting/element.c: (main):
24716         * testsuite/refcounting/element_pad.c: (main):
24717         * testsuite/refcounting/pad.c: (main):
24718         * tools/gst-launch.c: (sigint_handler_sighandler):
24719         * tools/gst-typefind.c: (main):
24720         Doc updates.
24721         Added doc about clock.
24722         removed gst_bin_iterate_recurse_up(), marked methods
24723         for removal.
24724         Fix more testsuites.
24725
24726 2005-03-09  Wim Taymans  <wim@fluendo.com>
24727
24728         * gst/gstpad.c: (gst_pad_get_direction),
24729         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
24730         (gst_pad_collect_valist):
24731         * testsuite/bins/interface.c: (main):
24732         * testsuite/caps/audioscale.c: (test_caps):
24733         * testsuite/caps/caps.c: (test1), (test2), (test3):
24734         * testsuite/caps/deserialize.c: (main):
24735         * testsuite/caps/enumcaps.c: (main):
24736         * testsuite/caps/filtercaps.c: (main):
24737         * testsuite/caps/intersect2.c: (main):
24738         * testsuite/caps/random.c: (main):
24739         * testsuite/caps/renegotiate.c: (my_fixate), (main):
24740         * testsuite/caps/sets.c: (check_caps):
24741         * testsuite/caps/simplify.c: (check_caps), (main):
24742         * testsuite/caps/subtract.c: (check_caps):
24743         Fix _pad_get_direction wrt ghostpads.
24744         Fix caps testsuite.
24745
24746 2005-03-09  Wim Taymans  <wim@fluendo.com>
24747
24748         * check/Makefile.am:
24749         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
24750         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
24751         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
24752         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
24753         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
24754         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
24755         (gst_bin_remove), (gst_bin_iterate_recurse_up),
24756         (bin_element_is_sink), (gst_bin_iterate_sinks),
24757         (gst_bin_iterate_all_by_interface):
24758         * gst/gstbin.h:
24759         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
24760         (gst_element_change_state), (gst_element_dispose),
24761         (gst_element_finalize), (gst_element_set_loop_function):
24762         * gst/gstelement.h:
24763         * gst/gstiterator.c: (find_custom_fold_func):
24764         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
24765         (gst_pad_collectv), (gst_pad_collect_valist),
24766         (gst_pad_template_new):
24767         * gst/gstpipeline.c: (gst_pipeline_class_init),
24768         (gst_pipeline_dispose), (gst_pipeline_set_property),
24769         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
24770         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
24771         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
24772         * gst/gstutils.h:
24773         * gst/schedulers/entryscheduler.c:
24774         * gst/schedulers/gstbasicscheduler.c:
24775         (gst_basic_scheduler_cothreaded_chain),
24776         (gst_basic_scheduler_chain_add_element):
24777         * testsuite/bins/interface.c: (main):
24778         Added GstBin test.
24779         Added GstSystemClock test.
24780         Implemented clock distribution code in GstBin.
24781         Implemented iterate sinks method for future use.
24782         Rearranged gstelement.h
24783         Fix GstIterator comparison bug.
24784         Moved some code to GstPipeline, mostly clocking related.
24785
24786 2005-03-09  Wim Taymans  <wim@fluendo.com>
24787
24788         * configure.ac:
24789         * gst/gst_private.h:
24790         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
24791         (gst_bin_remove_func), (gst_bin_remove),
24792         (gst_bin_get_by_name_recurse_up):
24793         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
24794         (gst_clock_id_compare_func), (gst_clock_id_wait),
24795         (gst_clock_id_wait_async), (gst_clock_init),
24796         (gst_clock_adjust_unlocked), (gst_clock_get_time):
24797         * gst/gstelement.h:
24798         * gst/gstinfo.c: (_gst_debug_init):
24799         * gst/gstobject.h:
24800         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
24801         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
24802         * gst/gstpad.h:
24803         Bump version number, we're now 0.9.0
24804         Add future debugging category.
24805         Fix NULL _unref() in _get_by_name_recurse_up
24806         Rearrange gstpad.h.
24807         Update some docs.
24808
24809 2005-03-08  Wim Taymans  <wim@fluendo.com>
24810
24811         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
24812         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
24813         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
24814         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
24815         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
24816         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
24817         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
24818         * gst/elements/gstidentity.c: (gst_identity_class_init):
24819         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
24820         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
24821         * gst/elements/gstshaper.c: (gst_shaper_class_init):
24822         * gst/elements/gststatistics.c: (gst_statistics_class_init):
24823         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
24824         (gst_tee_link):
24825         * gst/gstelement.c: (gst_element_class_init),
24826         (gst_element_base_class_init), (gst_element_init),
24827         (gst_element_get_random_pad), (gst_element_wait_state_change),
24828         (gst_element_change_state), (gst_element_dispose),
24829         (gst_element_finalize), (gst_element_set_loop_function):
24830         * gst/gstelement.h:
24831         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
24832         * gst/gstthread.c: (gst_thread_class_init),
24833         (gst_thread_release_children_locks), (gst_thread_change_state):
24834         * gst/schedulers/gstbasicscheduler.c:
24835         (gst_basic_scheduler_loopfunc_wrapper),
24836         (gst_basic_scheduler_chain_wrapper),
24837         (gst_basic_scheduler_src_wrapper),
24838         (gst_basic_scheduler_remove_element):
24839         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
24840         Remove threadsafe properties. Fix elements because GObject
24841         complains when installing a property before declaring a
24842         set/get_property handler.
24843         Rearrange gstelement.h file, use STATE macros for state locks.
24844         Free mutexes in the finalize method instead of dispose.
24845
24846 2005-03-08  Wim Taymans  <wim@fluendo.com>
24847
24848         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
24849         * gst/gstthread.c: (gst_thread_release_children_locks):
24850         Added parentage check.
24851         Fix build og GstThread again.
24852
24853 2005-03-08  Wim Taymans  <wim@fluendo.com>
24854
24855         * docs/design/part-MT-refcounting.txt:
24856         * docs/design/part-conventions.txt:
24857         * docs/design/part-gstobject.txt:
24858         * docs/design/part-relations.txt:
24859         * docs/design/part-standards.txt:
24860         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
24861         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
24862         (gst_bin_get_by_name), (gst_bin_get_by_interface),
24863         (gst_bin_iterate_all_by_interface):
24864         * gst/gstbuffer.h:
24865         * gst/gstclock.h:
24866         * gst/gstelement.c: (gst_element_class_init),
24867         (gst_element_change_state), (gst_element_set_loop_function):
24868         * gst/gstelement.h:
24869         * gst/gstiterator.c:
24870         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
24871         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
24872         (gst_object_dispatch_properties_changed), (gst_object_set_name),
24873         (gst_object_set_parent), (gst_object_unparent),
24874         (gst_object_check_uniqueness):
24875         * gst/gstobject.h:
24876         Docs updates, clean up some headers.
24877
24878 2005-03-07  Wim Taymans  <wim@fluendo.com>
24879
24880         * check/.cvsignore:
24881         * check/Makefile.am:
24882         * check/gst-libs/.cvsignore:
24883         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
24884         * check/gst/.cvsignore:
24885         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
24886         (START_TEST), (gstbus_suite), (main):
24887         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
24888         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
24889         (gst_data_suite), (main):
24890         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
24891         (add_fold_func), (gstiterator_suite), (main):
24892         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
24893         (thread_name_object), (thread_name_object_default),
24894         (gst_object_name_compare), (gst_object_suite), (main):
24895         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
24896         (gst_pad_suite), (main):
24897         * check/gstcheck.c: (gst_check_log_message_func),
24898         (gst_check_log_critical_func), (gst_check_init):
24899         * check/gstcheck.h:
24900         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
24901         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
24902         Added checks.
24903
24904 2005-03-07  Wim Taymans  <wim@fluendo.com>
24905
24906         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
24907         (gst_list_iterator_next), (gst_list_iterator_resync),
24908         (gst_list_iterator_free), (gst_iterator_new_list),
24909         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
24910         (gst_iterator_free), (gst_iterator_push), (filter_next),
24911         (filter_resync), (filter_uninit), (filter_free),
24912         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
24913         (gst_iterator_foreach), (find_custom_fold_func),
24914         (gst_iterator_find_custom):
24915         * gst/gstiterator.h:
24916         Added missing files.
24917
24918 2005-03-07  Wim Taymans  <wim@fluendo.com>
24919
24920         * Makefile.am:
24921         * configure.ac:
24922         * docs/design/part-MT-refcounting.txt:
24923         * docs/design/part-conventions.txt:
24924         * docs/design/part-gstobject.txt:
24925         * docs/design/part-relations.txt:
24926         * examples/mixer/mixer.c: (main):
24927         * examples/thread/thread.c: (eos), (main):
24928         * gst/Makefile.am:
24929         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
24930         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
24931         (gst_spider_plug_from_srcpad):
24932         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
24933         (gst_spider_identity_change_state),
24934         (gst_spider_identity_sink_loop_type_finding):
24935         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
24936         * gst/elements/gstidentity.c: (gst_identity_init):
24937         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
24938         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
24939         * gst/elements/gsttypefindelement.c: (free_entry):
24940         * gst/gst.c:
24941         * gst/gst.h:
24942         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
24943         (gst_bin_set_clock_func), (gst_bin_auto_clock),
24944         (gst_bin_set_index), (gst_bin_set_element_sched),
24945         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
24946         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
24947         (gst_bin_iterate_elements), (iterate_child_recurse),
24948         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
24949         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
24950         (compare_interface), (gst_bin_get_by_interface),
24951         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
24952         * gst/gstbin.h:
24953         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
24954         (gst_buffer_default_free), (gst_buffer_default_copy),
24955         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
24956         (gst_buffer_create_sub):
24957         * gst/gstbuffer.h:
24958         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
24959         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
24960         (gst_caps_unref), (gst_static_caps_get),
24961         (gst_caps_remove_and_get_structure), (gst_caps_append),
24962         (gst_caps_append_structure), (gst_caps_remove_structure),
24963         (gst_caps_copy_nth), (gst_caps_set_simple),
24964         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
24965         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
24966         (gst_caps_structure_intersect_field), (gst_caps_intersect),
24967         (gst_caps_structure_subtract_field), (gst_caps_subtract),
24968         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
24969         (gst_caps_structure_figure_out_union),
24970         (gst_caps_switch_structures), (gst_caps_do_simplify),
24971         (gst_caps_replace), (gst_caps_from_string),
24972         (gst_caps_copy_conditional):
24973         * gst/gstcaps.h:
24974         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
24975         (_gst_clock_id_free), (gst_clock_id_unref),
24976         (gst_clock_id_compare_func), (gst_clock_id_wait),
24977         (gst_clock_id_wait_async), (gst_clock_class_init),
24978         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
24979         (gst_clock_get_time), (gst_clock_set_time_adjust),
24980         (gst_clock_set_property), (gst_clock_get_property):
24981         * gst/gstclock.h:
24982         * gst/gstcompat.h:
24983         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
24984         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
24985         * gst/gstdata.h:
24986         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
24987         (gst_element_requires_clock), (gst_element_provides_clock),
24988         (gst_element_set_clock), (gst_element_clock_wait),
24989         (gst_element_wait), (gst_element_set_time_delay),
24990         (gst_element_is_indexable), (gst_element_add_pad),
24991         (gst_element_add_ghost_pad), (gst_element_remove_pad),
24992         (pad_compare_name), (gst_element_get_static_pad),
24993         (gst_element_request_pad), (gst_element_get_request_pad),
24994         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
24995         (gst_element_class_get_pad_template_list),
24996         (gst_element_class_get_pad_template), (gst_element_error_func),
24997         (gst_element_get_random_pad), (gst_element_get_event_masks),
24998         (gst_element_send_event), (gst_element_seek),
24999         (gst_element_get_query_types), (gst_element_query),
25000         (gst_element_get_formats), (gst_element_convert),
25001         (gst_element_is_locked_state), (gst_element_set_locked_state),
25002         (gst_element_sync_state_with_parent), (gst_element_change_state),
25003         (gst_element_finalize), (gst_element_yield),
25004         (gst_element_interrupt), (gst_element_set_scheduler),
25005         (gst_element_get_scheduler), (gst_element_set_loop_function):
25006         * gst/gstelement.h:
25007         * gst/gstevent.h:
25008         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
25009         (gst_format_get_by_nick), (gst_format_get_details),
25010         (gst_format_iterate_definitions):
25011         * gst/gstformat.h:
25012         * gst/gstindex.c: (gst_index_gtype_resolver):
25013         * gst/gstinfo.c:
25014         * gst/gstinfo.h:
25015         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
25016         (gst_mem_chunk_free):
25017         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
25018         (gst_object_ref), (gst_object_unref), (gst_object_sink),
25019         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
25020         (gst_object_dispatch_properties_changed),
25021         (gst_object_set_name_default), (gst_object_set_name),
25022         (gst_object_get_name), (gst_object_set_name_prefix),
25023         (gst_object_get_name_prefix), (gst_object_set_parent),
25024         (gst_object_get_parent), (gst_object_unparent),
25025         (gst_object_check_uniqueness), (gst_object_save_thyself),
25026         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
25027         (gst_object_set_property), (gst_object_get_property),
25028         (gst_object_get_path_string):
25029         * gst/gstobject.h:
25030         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
25031         (gst_real_pad_init), (gst_real_pad_get_property),
25032         (gst_pad_custom_new), (gst_pad_get_direction),
25033         (gst_pad_set_active), (gst_pad_is_active),
25034         (gst_pad_set_event_function), (gst_pad_is_linked),
25035         (gst_pad_link_free), (gst_pad_link_intersect),
25036         (gst_pad_link_fixate), (gst_pad_set_caps),
25037         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
25038         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
25039         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
25040         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
25041         (gst_pad_get_caps), (gst_pad_peer_get_caps),
25042         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
25043         (gst_pad_realize), (gst_pad_get_allowed_caps),
25044         (gst_real_pad_dispose), (gst_real_pad_finalize),
25045         (gst_pad_collectv), (gst_pad_collect_valist),
25046         (gst_pad_template_dispose), (gst_pad_template_new),
25047         (gst_pad_get_internal_links):
25048         * gst/gstpad.h:
25049         * gst/gstpipeline.c: (gst_pipeline_dispose),
25050         (gst_pipeline_change_state):
25051         * gst/gstpipeline.h:
25052         * gst/gstplugin.c:
25053         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
25054         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
25055         * gst/gstpluginfeature.h:
25056         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
25057         * gst/gstquery.c: (_gst_query_type_initialize),
25058         (gst_query_type_register), (gst_query_type_get_by_nick),
25059         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
25060         * gst/gstquery.h:
25061         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
25062         * gst/gstscheduler.c: (gst_scheduler_add_element),
25063         (gst_scheduler_factory_create):
25064         * gst/gststructure.c: (gst_structure_set_parent_refcount),
25065         (gst_structure_free), (gst_structure_set_name),
25066         (gst_structure_id_set_value), (gst_structure_set_value),
25067         (gst_structure_set_valist), (gst_structure_remove_field),
25068         (gst_structure_remove_fields),
25069         (gst_structure_remove_fields_valist),
25070         (gst_structure_remove_all_fields), (gst_structure_foreach),
25071         (gst_structure_map_in_place),
25072         (gst_caps_structure_fixate_field_nearest_int),
25073         (gst_caps_structure_fixate_field_nearest_double):
25074         * gst/gststructure.h:
25075         * gst/gstsystemclock.c: (gst_system_clock_class_init),
25076         (gst_system_clock_init), (gst_system_clock_dispose),
25077         (gst_system_clock_async_thread),
25078         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
25079         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
25080         * gst/gstsystemclock.h:
25081         * gst/gsttag.c: (gst_tag_list_add_value_internal),
25082         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
25083         * gst/gsttaginterface.c:
25084         * gst/gstthread.c: (gst_thread_dispose),
25085         (gst_thread_release_children_locks), (gst_thread_change_state),
25086         (gst_thread_main_loop):
25087         * gst/gsttrashstack.h:
25088         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
25089         * gst/gsttypes.h:
25090         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
25091         (gst_element_request_pad), (gst_element_get_pad_from_template),
25092         (gst_element_request_compatible_pad),
25093         (gst_element_get_compatible_pad_filtered),
25094         (gst_element_get_compatible_pad), (gst_element_state_get_name),
25095         (gst_element_link_pads_filtered), (gst_element_link_filtered),
25096         (gst_element_link_many), (gst_element_link),
25097         (gst_element_link_pads), (gst_element_unlink_pads),
25098         (gst_element_unlink_many), (gst_element_unlink),
25099         (gst_pad_can_link_filtered), (gst_pad_can_link),
25100         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
25101         (gst_object_default_error), (gst_bin_add_many),
25102         (gst_bin_remove_many), (gst_element_populate_std_props),
25103         (gst_element_class_install_std_props), (gst_buffer_merge),
25104         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
25105         (link_fold_func), (gst_pad_proxy_setcaps):
25106         * gst/gstutils.h:
25107         * gst/gstvalue.c: (gst_value_deserialize_string):
25108         * gst/parse/grammar.y:
25109         * gst/schedulers/gstbasicscheduler.c:
25110         (gst_basic_scheduler_cothreaded_chain),
25111         (gst_basic_scheduler_chain_recursive_add),
25112         (gst_basic_scheduler_pad_link):
25113         * gst/schedulers/gstoptimalscheduler.c:
25114         (get_group_schedule_function),
25115         (gst_opt_scheduler_state_transition),
25116         (gst_opt_scheduler_add_element), (element_get_reachables_func):
25117         * libs/gst/bytestream/bytestream.c:
25118         * libs/gst/dataprotocol/dataprotocol.c:
25119         (gst_dp_header_from_buffer):
25120         * po/nb.po:
25121         * po/ru.po:
25122         * tests/threadstate/threadstate2.c: (eos):
25123         * tools/gst-compprep.c: (main):
25124         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
25125         (print_pad_info), (print_children_info):
25126         * tools/gst-launch.c: (idle_func), (main):
25127         * tools/gst-md5sum.c: (idle_func), (main):
25128         * tools/gst-xmlinspect.c: (print_element_info):
25129         First THREADED backport attempt, focusing on adding locks and
25130         making sure the API is threadsafe. Needs more work. More docs
25131         follow this week.
25132
25133 2005-02-24  Andy Wingo  <wingo@pobox.com>
25134
25135         * tests/bench-complexity.scm:
25136         * tests/complexity.gnuplot: New files, good for running complexity
25137         benchmarks.
25138
25139         * tests/Makefile.am:
25140         * tests/complexity.c: New test, sets up N elements, at each level
25141         teeing into M streams per element. Eeeenteresting.
25142
25143         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
25144         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
25145         running bench-mass_elements.scm.
25146
25147         * tests/bench-mass_elements.scm: New script, runs mass_elements
25148         for various numbers of identities, outputting the results to a
25149         file. Requires guile 1.6. Just for testing.
25150
25151 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
25152
25153         * gst/schedulers/fairscheduler.c:
25154           compile with debug disabled
25155
25156 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
25157
25158         * configure.ac:
25159           hunting season on 0.9 is now OPEN