Makefile.am: updates for win32
[platform/upstream/gstreamer.git] / ChangeLog
1 2006-05-12  Thomas Vander Stichele  <thomas at apestaart dot org>
2
3         * Makefile.am:
4           updates for win32
5         * configure.ac:
6           define GST_MAJORMINOR so we have it available in win32/common/config.h
7           Possibly remove it from our Makefile.am files later
8         * win32/common/config.h:
9         * win32/common/config.h.in:
10           added GST_MAJORMINOR
11         * win32/common/gstenumtypes.c: (register_gst_resource_error):
12         * win32/common/gstversion.h:
13           updated
14
15 2006-05-12  Sebastien Moutte  <sebastien@moutte.net>
16
17         * win32/MANIFEST:
18           Update win32 files listing.
19         * win32/common/gstversion.h:
20           Add GST_MAJORMINOR definition.
21         * win32/common/libgstreamer.def:
22           Add new exported functions.
23           
24 2006-05-12  Michael Smith  <msmith@fluendo.com>
25
26         * gst/gstplugin.c: (gst_plugin_load_file):
27           If an so file has no plugin entry point, unload the module.
28
29 2006-05-11  Wim Taymans  <wim@fluendo.com>
30
31         * plugins/elements/gstqueue.c: (gst_queue_chain), (gst_queue_loop),
32         (gst_queue_set_property):
33         Don't forget to signal the _chain or _loop function 
34         when the queue size or thresholds change since that might
35         cause them to make progres again.
36
37 2006-05-11  Stefan Kost  <ensonic@users.sf.net>
38
39         * gst/gstclock.c: (gst_clock_class_init):
40         * gst/gstindex.c: (gst_index_class_init):
41         * gst/gstobject.c: (gst_object_class_init):
42         * gst/gstpad.c: (gst_pad_class_init):
43         * gst/gstpipeline.c: (gst_pipeline_class_init):
44         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
45         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
46         * libs/gst/base/gstbasetransform.c:
47         (gst_base_transform_class_init):
48         * libs/gst/net/gstnetclientclock.c:
49         (gst_net_client_clock_class_init):
50         * libs/gst/net/gstnettimeprovider.c:
51         (gst_net_time_provider_class_init):
52         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
53         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
54         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
55         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
56         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
57         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
58         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
59         * plugins/elements/gstidentity.c: (gst_identity_class_init):
60         * plugins/elements/gsttee.c: (gst_tee_class_init):
61         * tests/old/examples/plugins/example.c: (gst_example_class_init):
62         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
63           G_OBJECT_CLASS macro usage batch cleanup, fixes #337747 for core
64
65 2006-05-11  Wim Taymans  <wim@fluendo.com>
66
67         * gst/gstbuffer.c: (_gst_buffer_initialize):
68         Register subbufer along with the buffer type so that
69         it does not accidentally gets registered from N
70         different streaming threads in a non threadsafe way.
71
72 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
73
74         * gst/gstbuffer.h:
75         * gst/gstevent.h:
76         * gst/gstmessage.h:
77           Make gtk-doc generate docs for our inlined gst_buffer_ref(),
78           gst_event_ref() and gst_message_ref() functions again
79           (ugly hack, please do fix if there's a better way besides
80           overrides.txt, which doesn't seem to work).
81
82 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
83
84         * libs/gst/check/gstcheck.h:
85           add an assert for setting state to avoid lots of repetitive code
86           in the future
87
88 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
89
90         * gst/gstvalue.c: (gst_value_serialize_flags):
91           fix a leak if no flags are set
92         * tests/check/gst/gstvalue.c: (GST_START_TEST):
93           fix leak in tests
94
95 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
96
97         * docs/manual/basics-pads.xml:
98           Expand a bit on caps and filtered links and update
99           examples that were still using the no longer existing
100           gst_pad_link_filtered() (#338206).
101
102 2006-05-10  Wim Taymans  <wim@fluendo.com>
103
104         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
105         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
106         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
107         (gst_collect_pads_stop):
108         * libs/gst/base/gstcollectpads.h:
109         No need to call _stop in _finalize.
110         Iterate the main pad list in _finalize.
111         Added some more debug.
112         Free lists and data in the right order.
113         Also free data whem doing _remove_pad when stopped for
114         backward compatibility protect ::started with PAD_LOCK as
115         well.
116
117 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
118
119         * gst/gststructure.c: (gst_structure_gtype_from_abbr),
120         (gst_structure_parse_value):
121           add some comments
122           rename a method so that it actually says what it does better
123
124 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
125
126         * gst/gstevent.c: (_gst_event_initialize):
127         * gst/gstformat.c: (_gst_format_initialize):
128           make sure some essential types used by events are registered
129           as part of gst_init()
130         * gst/gstvalue.c: (gst_value_serialize_flags):
131           if no flags are set, serialize them to a value that represents NONE
132           so that deserializing them works
133         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
134           add tests for serialization and deserialization of flags
135
136 2006-05-10  Wim Taymans  <wim@fluendo.com>
137
138         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_collect),
139         (gst_collect_pads_collect_range), (gst_collect_pads_available),
140         (gst_collect_pads_check_pads), (gst_collect_pads_check_collected),
141         (gst_collect_pads_event), (gst_collect_pads_chain):
142         Update docs.
143         Better debug info.
144         Catch and return errors from the collect function
145         Refuse data on eos pads.
146
147 2006-05-10  Edward Hervey  <edward@fluendo.com>
148
149         * gst/gstinterface.h:
150         GST_IMPLEMENTS_INTERFACE and GST_IS_IMPLEMENTS_INTERFACE use the normal
151         GInterface type checking.
152         They were previously using non-defined macros.
153
154 2006-05-09  Wim Taymans  <wim@fluendo.com>
155
156         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_init),
157         (gst_collect_pads_finalize), (gst_collect_pads_add_pad),
158         (gst_collect_pads_remove_pad), (gst_collect_pads_set_flushing),
159         (gst_collect_pads_start), (gst_collect_pads_stop),
160         (gst_collect_pads_peek), (gst_collect_pads_pop),
161         (gst_collect_pads_available), (gst_collect_pads_read),
162         (gst_collect_pads_flush), (gst_collect_pads_check_pads),
163         (gst_collect_pads_is_collected), (gst_collect_pads_event),
164         (gst_collect_pads_chain):
165         * libs/gst/base/gstcollectpads.h:
166         Clean up the mess that is collectpads, add comments and
167         FIXMEs where needed.
168         Maintain a separate pad list so we can add pads while
169         collecting the other ones. For this we need a new separate 
170         lock (see comics).
171         Fix memory leak in finalize.
172         Refactor some weird code to set/unset pad flushing flags, mark
173         with comments.
174         Don't crash in _available, _read, _flush when we're EOS.
175
176         * tests/check/libs/.cvsignore:
177         Ignore adapter check binary.
178
179 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
180
181         * gst/gstindex.c: (gst_index_resolver_get_type):
182         * plugins/elements/gstfakesink.c:
183         (gst_fake_sink_state_error_get_type):
184         * plugins/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
185         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type):
186         * plugins/elements/gstqueue.c: (queue_leaky_get_type):
187           Const-ify GEnumValue arrays.
188
189 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
190
191         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
192           Add test case for flags + gst_buffer_make_metadata_writable().
193
194 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
195
196         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable):
197           gst_buffer_make_metadata_writable() should maintain the
198           buffer flags (those that make sense at least) (see #340859).
199
200 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
201
202         * tools/gst-inspect.c:
203         * tools/gst-launch.c:
204         * tools/gst-typefind.c:
205         * tools/gst-xmlinspect.c:
206         * tools/tools.h:
207           Fix up includes: need to include stdlib.h in tools.h for exit().
208
209 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
210
211         * gst/gsttaglist.c: (_gst_tag_initialize):
212         * gst/gsttaglist.h:
213           API: add GST_TAG_IMAGE tag (#340721).
214
215 2006-05-08  Wim Taymans  <wim@fluendo.com>
216
217         * gst/gstquery.c:
218         Added some docs for the segment query.
219
220 2006-05-08  Wim Taymans  <wim@fluendo.com>
221
222         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
223         (gst_base_src_loop), (gst_base_src_change_state):
224         Always push non-flushing serialized events in the streaming 
225         thread.
226
227 2006-05-08  Thomas Vander Stichele  <thomas at apestaart dot org>
228
229         * gst/gsterror.c: (_gst_stream_errors_init):
230           Add a missing error string.
231
232 2006-05-08  Jan Schmidt  <thaytan@mad.scientist.com>
233
234         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment):
235         Add applied_rate to the debug
236
237         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
238         Copy applied_rate into the outgoing NEWSEGMENT event
239
240 2006-05-08  Wim Taymans  <wim@fluendo.com>
241
242         Patch by: Philippe Rouquier <philippero at libertysurf dot fr>
243
244         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
245         (gst_base_sink_change_state):
246         call ::unlock before taking the PREROLL_LOCK so we can safely
247         handle elements that lock in ::render.
248         Fixes #340174.
249
250 2006-05-08  Edward Hervey  <edward@fluendo.com>
251
252         * autogen.sh: (CONFIGURE_DEF_OPT): 
253         Darwin's libtoolize is in fact called glibtoolize.
254         Adding glibtoolize to the list of accepted names for libtoolize.
255
256 2006-05-08  Wim Taymans  <wim@fluendo.com>
257
258         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
259         Unify error handling, don't post an error message
260         when a push() returns EOS but perform our normal EOS
261         handling code. Fixes #340772.
262
263 2006-05-08  Wim Taymans  <wim@fluendo.com>
264
265         * docs/design/part-overview.txt:
266         Make upsteam/downstream concepts more clear.
267         Give an example of serialized/non-serialized events.
268
269         * docs/design/part-events.txt:
270         * docs/design/part-streams.txt:
271         Mention applied_rate.
272
273         * docs/design/part-trickmodes.txt:
274         Mention applied rate, flesh out some more use cases.
275
276         * gst/gstevent.c: (gst_event_new_new_segment),
277         (gst_event_parse_new_segment), (gst_event_new_new_segment_full),
278         (gst_event_parse_new_segment_full), (gst_event_new_tag),
279         (gst_event_parse_tag), (gst_event_new_buffer_size),
280         (gst_event_parse_buffer_size), (gst_event_new_qos),
281         (gst_event_parse_qos), (gst_event_parse_seek),
282         (gst_event_new_navigation):
283         * gst/gstevent.h:
284         Add applied_rate field to NEWSEGMENT event.
285         API: gst_event_new_new_segment_full()
286         API: gst_event_parse_new_segment_full()
287
288         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_seek),
289         (gst_segment_set_newsegment), (gst_segment_set_newsegment_full),
290         (gst_segment_to_stream_time), (gst_segment_to_running_time):
291         * gst/gstsegment.h:
292         Add applied_rate to GstSegment structure.
293         Make calculation of stream_time and running_time more correct
294         wrt rate/applied_rate.
295         Add some more docs.
296         API: GstSegment::applied_rate field
297         API: gst_segment_set_newsegment_full();
298
299         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
300         (gst_base_sink_get_sync_times), (gst_base_sink_get_position):
301         * libs/gst/base/gstbasetransform.c:
302         (gst_base_transform_sink_eventfunc),
303         (gst_base_transform_handle_buffer):
304         Parse and use applied_rate in the GstSegment field.
305
306         * tests/check/gst/gstevent.c: (GST_START_TEST):
307         Add check for applied_rate field.
308
309         * tests/check/gst/gstsegment.c: (GST_START_TEST),
310         (gstsegments_suite):
311         Add more checks for various GstSegment operations.
312
313 2006-05-08  Wim Taymans  <wim@fluendo.com>
314
315         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
316         (gst_base_sink_do_sync), (gst_base_sink_chain_unlocked),
317         (gst_base_sink_get_position), (gst_base_sink_change_state):
318         Store the sync time of the buffer end position separatly in a
319         new variable eos_rtime so we can properly sync the EOS event.
320         Fixes #340697.
321         Fix the docs for gst_base_sink_set_qos_enabled().
322         Don't set segment start to invalid value when we receive a 
323         non TIME newsegment.
324         get closer to handling position reporting for negative rates 
325         correctly.
326
327 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
328
329         * gst/gstcaps.c:
330         Docs about how to print caps for debug purposes.
331
332         * gst/gstpadtemplate.c: (gst_static_pad_template_get):
333         use gst_caps_make_writable instead of gst_caps_copy, Fixes #340608
334
335 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
336
337         * gst/gstelement.c:
338           use full enum names and preprend a '%' in docs strings to make recent 
339           gtk-doc turn that into a link
340
341 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
342
343         * docs/manual/basics-bins.xml:
344         * docs/manual/basics-bus.xml:
345         * docs/manual/basics-pads.xml:
346           Some typo fixes, some additions, some clarifications. 
347
348 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
349
350         * tools/gst-inspect.c: (main):
351         * tools/gst-launch.c: (main):
352         * tools/gst-run.c: (main):
353         * tools/gst-typefind.c: (main):
354         * tools/gst-xmlinspect.c: (main):
355           Use the string passed to g_option_context_new() for
356           what it's intended for - the program name is already
357           printed elsewhere.
358
359 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
360
361         * tools/Makefile.am:
362         * tools/gst-inspect.c: (main):
363         * tools/gst-launch.c: (main):
364         * tools/gst-xmlinspect.c: (main):
365         * tools/tools.h:
366           Add back --version command line option (#340460).
367
368         * tools/gst-typefind.c: (have_type_handler), (typefind_file), (main):
369           Add --version option and use GOption for argument parsing; refactor a
370           bit; accept directories as arguments and recurse into them; lastly,
371           print a decent error message when things go wrong.
372
373 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
374
375         * docs/manual/basics-bins.xml:
376         Don't mention GstThread (#340611)
377         * docs/manual/basics-elements.xml:
378         Update link to GObject tutorial (#340607)
379         
380 2006-05-05  Wim Taymans  <wim@fluendo.com>
381
382         * gst/gstbuffer.h:
383         * gst/gstminiobject.c:
384         Add note about refcounting and miniobject/buffer writeability
385         to docs. Fixes #340604
386
387         * gst/gstelementfactory.h:
388         Added some explanation about @klass.
389
390 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
391
392         * docs/manual/intro-motivation.xml:
393         * docs/manual/manual.xml:
394         Avoid CORBA & Bonobo references (#340598)
395
396 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
397
398         * docs/manual/basics-bus.xml:
399         * docs/manual/basics-pads.xml:
400         Fix up some inaccuracies and omissions (#340609)
401         
402 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
403
404         * gst/gstghostpad.c:
405           Small typo in docs (#340625)
406
407 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
408
409         * gst/parse/Makefile.am:
410           Make 'make -j' proof (see #340698).
411
412 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
413
414         * configure.ac:
415           Require GLib-2.8 here as well.
416
417 2006-05-05  Wim Taymans  <wim@fluendo.com>
418
419         * gst/glib-compat.c:
420         * gst/gst.c: (init_pre):
421         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
422         (gst_object_unref), (gst_object_replace), (gst_object_dispose),
423         (gst_object_dispatch_properties_changed):
424         * gst/gstobject.h:
425         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
426         * gst/gststructure.c: (gst_structure_set_valist):
427         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
428         Remove pre glib2.8 compatibility, fixes #340508
429
430 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
431
432         * gst/gsttaglist.h:
433           Mention type of tags in doc blurbs.
434
435 2006-05-04  Jan Schmidt  <thaytan@mad.scientist.com>
436
437         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
438         (gst_pad_configure_src), (gst_pad_push):
439         Restore acceptcaps checking behaviour now that good plugins have
440         been released.
441
442 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
443
444         Patch by: James Andrewartha <trs80 at tartarus uwa edu au>
445
446         * gst/gst.c:
447         * gst/gstbus.c:
448         * gst/gstclock.c:
449         * gst/gstevent.c:
450         * gst/gstformat.c:
451         * gst/gstmessage.c:
452         * gst/gstparse.c:
453         * gst/gstquery.c:
454         * gst/gstutils.c:
455         * gst/parse/Makefile.am:
456         * libs/gst/base/gstadapter.c:
457         * libs/gst/base/gstbasesrc.c:
458         * libs/gst/base/gstpushsrc.c:
459         * libs/gst/base/gsttypefindhelper.c:
460         * plugins/elements/gstfakesrc.c:
461         * plugins/elements/gstidentity.c:
462           Make sure gstprivate.h and/or config.h are
463           always included first, otherwise some of our
464           defines (like _FILE_OFFSET_BITS) might be
465           redefined in the system headers. Fixes build
466           on opensolaris (#340016).
467
468 2006-05-04  Wim Taymans  <wim@fluendo.com>
469
470         * docs/libs/gstreamer-libs-sections.txt:
471         API: addition: gst_adapter_take_buffer()
472         
473         * libs/gst/base/gstadapter.c: (gst_adapter_push),
474         (gst_adapter_peek), (gst_adapter_take), (gst_adapter_take_buffer),
475         (gst_adapter_available_fast):
476         * libs/gst/base/gstadapter.h:
477         Prepare for optimizing the hell out of this hugely inefficient
478         piece of code. 
479         Added gst_adapter_take_buffer() so we can at least start thinking
480         about subbuffering and merging.
481         Added some comments.
482
483         * tests/check/Makefile.am:
484         * tests/check/libs/adapter.c: (GST_START_TEST),
485         (gst_adapter_suite), (main):
486         Added GstAdapter check.
487
488 2006-05-04  Wim Taymans  <wim@fluendo.com>
489
490         * docs/design/part-overview.txt:
491         Fix some typos, add blurb about buffer flags.
492
493 2006-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
494
495         * docs/libs/gstreamer-libs-sections.txt:
496           make sure GstBaseTransformClass shows up in the docs
497         * libs/gst/base/gstbasetransform.c:
498         * libs/gst/base/gstbasetransform.h:
499           move docs so gtk-doc picks it up now
500
501 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
502
503         * docs/libs/gstreamer-libs-sections.txt:
504           add missing symbols to docs
505
506 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
507
508         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
509           back out the newsegment handling change, see #340060 for ongoing
510           discussion
511
512 2006-04-30  Tim-Philipp Müller  <tim at centricular dot net>
513
514         * tools/gst-run.c: (get_candidates), (main):
515           Fix wrong g_file_test() usage (see glib docs for why it doesn't
516           work); fix typo in error message. Fixes #340079.
517
518 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
519
520         * common/Makefile.am:
521         * docs/Makefile.am:
522         * docs/faq/Makefile.am:
523         * docs/gst/Makefile.am:
524         * docs/libs/Makefile.am:
525         * docs/manual/Makefile.am:
526         * docs/plugins/Makefile.am:
527         * docs/pwg/Makefile.am:
528         * docs/slides/Makefile.am:
529         * docs/upload.mak:
530         * common/upload.mak:
531           move upload.mak to common
532
533 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
534
535         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
536           add more asserts on refcounts
537           do more cleanup at end of tests
538           fix test leaks showing in FC5
539
540 2006-04-29  Stefan Kost  <ensonic@users.sf.net>
541
542         * plugins/elements/gsttypefindelement.c:
543         (gst_type_find_element_handle_event):
544         reverted wrong change and reflowed code to avoid others falling into
545         this trap
546
547 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
548
549         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
550           fix changelog entry about last collectpads change,
551           add notes about proper fix
552
553 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
554
555         * gst/gst.c:
556         * gst/gstregistry.c: (gst_registry_scan_path_level),
557         (gst_registry_scan_path):
558         * gst/gstregistry.h:
559           only write out registry if it has changed, fixes #338339
560
561 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
562
563         * gst/gstbin.c:
564         * gst/gstpipeline.c:
565         * plugins/elements/gstcapsfilter.c:
566         * plugins/elements/gstfakesink.c:
567         * plugins/elements/gstfakesrc.c:
568         * plugins/elements/gstfdsink.c:
569         * plugins/elements/gstfdsrc.c:
570         * plugins/elements/gstfilesink.c:
571         * plugins/elements/gstfilesrc.c:
572         * plugins/elements/gstidentity.c:
573         * plugins/elements/gstqueue.c:
574         * plugins/elements/gsttee.c:
575         * plugins/elements/gsttypefindelement.c:
576         (gst_type_find_element_handle_event):
577           make GstElementDetails const
578
579 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
580
581         * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
582         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
583         (gst_collect_pads_is_collected), (gst_collect_pads_event):
584           more detailed debug and formatting cleanup,
585           forward newsegments to src-pad (so that e.g. adder not eats them)
586
587 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
588
589         * gst/gstutils.c: (gst_element_link_pads):
590           cleanup double code
591
592 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
593
594         * libs/gst/controller/gstcontroller.c:
595         (gst_controller_sync_values):
596           some little tuning
597         * tests/check/libs/controller.c: (GST_START_TEST),
598         (gst_controller_suite):
599           a new test for live value handling
600
601 2006-04-28  Wim Taymans  <wim@fluendo.com>
602
603         * gst/gstutils.c: (push_and_ref):
604         Added some more docs.
605         Fix refcount issue whith gst_element_found_tags() helper 
606         function. Fixes #338335
607
608         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
609         Added testsuite for gst_element_found_tags().
610
611 2006-04-28  Michael Smith  <msmith@fluendo.com>
612
613         * gst/gstvalue.c: (gst_value_serialize_flags):
614           Avoid NULL dereference when trying to serialize flags containing
615           invalid values.
616
617 2006-04-28  Michael Smith  <msmith@fluendo.com>
618
619         * plugins/elements/gsttypefindelement.c:
620         (gst_type_find_element_handle_event):
621           If we get EOS before any data is accumulated, don't use
622           uninitialised local variables.
623
624 2006-04-28  Michael Smith  <msmith@fluendo.com>
625
626         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
627         (gst_dp_event_from_packet):
628           Fixes in reading/writing events over GDP (not currently used?) - 
629           dereferencing NULL events for unknown/invalid event types, memory
630           leak, and change g_warning to GST_WARNING.
631
632 2006-04-28  Wim Taymans  <wim@fluendo.com>
633
634         * libs/gst/base/gstbasesink.c: (gst_base_sink_is_too_late),
635         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
636         (gst_base_sink_get_position), (gst_base_sink_change_state):
637         When frame dropping is enabled, we should not ignore frames
638         without a duration.
639         Update some documentation.
640
641 2006-04-28  Wim Taymans  <wim@fluendo.com>
642
643         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
644         (gst_base_src_send_event), (gst_base_src_change_state):
645         Documentation updates.
646
647 2006-04-28  Wim Taymans  <wim@fluendo.com>
648
649         * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
650         (gst_fd_sink_check_fd), (gst_fd_sink_update_fd):
651         handle EAGAIN, EINTR and short writes correctly. Also clean
652         up some error cases, avoid a deadlock on bad file descriptors and
653         use GST_DEBUG_OBJECT.
654         Fixes #339843
655
656 2006-04-28  Wim Taymans  <wim@fluendo.com>
657
658         * gst/gstvalue.c: (gst_value_serialize_buffer),
659         (gst_value_deserialize_buffer):
660         Don't try to serialize a GValue with a NULL buffer. 
661         Fixes #339821.
662
663         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
664         Added check for serialisation of NULL buffers.
665
666 2006-04-28  Wim Taymans  <wim@fluendo.com>
667
668         * gst/gstminiobject.c: (gst_value_take_mini_object):
669         Taking a NULL miniobject is valid, fix the case where
670         we try to unref the NULL miniobject.
671
672 2006-04-28  Wim Taymans  <wim@fluendo.com>
673
674         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
675
676         * gst/gstbin.c: (gst_bin_handle_message_func):
677         Update docs.
678         Don't leak bin refcount when a state recalc is
679         in progress and we delay another one #339808.
680
681 2006-04-28  Wim Taymans  <wim@fluendo.com>
682
683         * docs/design/part-TODO.txt:
684         Mention QoS as an ongoing work item.
685
686         * docs/design/part-buffering.txt:
687         New doc about buffering that needs to be fleshed out
688         at some point.
689
690         * docs/design/part-qos.txt:
691         More QoS policy for decoders/demuxers/transforms
692
693         * docs/design/part-trickmodes.txt:
694         Small update.
695
696 2006-04-28  Thomas Vander Stichele  <thomas at apestaart dot org>
697
698         * configure.ac:
699           back to HEAD
700
701 === release 0.10.5 ===
702
703 2006-04-28  Thomas Vander Stichele <thomas at apestaart dot org>
704
705         * configure.ac:
706           releasing 0.10.5, "Fogo"
707
708 2006-04-22  Thomas Vander Stichele  <thomas at apestaart dot org>
709
710         patch by: Wim Taymans
711
712         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
713         (gst_pad_configure_src), (gst_pad_push):
714         * gst/gstpipeline.c: (gst_pipeline_init):
715           Fix internal data flow errors.  Fixes #338711.
716
717 2006-04-12  Wim Taymans  <wim@fluendo.com>
718
719         * tests/check/gst/gstelement.c: (GST_START_TEST):
720         Don't leak the factory.
721
722 2006-04-12  Thomas Vander Stichele  <thomas at apestaart dot org>
723
724         * configure.ac:
725         * win32/common/config.h:
726           prerelease
727
728 2006-04-12  Tim-Philipp Müller  <tim at centricular dot net>
729
730         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
731         (gst_controller_unset_all):
732           Free allocated GstTimedValues when freeing list nodes.
733           Should fix leaks 'make check-valgrind' complains about.
734
735         * win32/common/libgstcontroller.def:
736           Add gst_controller_unset_all.
737
738 2006-04-11  Stefan Kost  <ensonic@users.sf.net>
739
740         * docs/libs/gstreamer-libs-sections.txt:
741         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
742         (gst_controller_unset_all):
743         * libs/gst/controller/gstcontroller.h:
744         API: Added new method gst_controller_unset_all()
745         fixed gst_controller_unset()
746         * tests/check/libs/controller.c: (GST_START_TEST),
747         (gst_controller_suite):
748         Added two testcases for new and fixed method
749
750 2006-04-11  Tim-Philipp Müller  <tim at centricular dot net>
751
752         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
753           MSG_DONTWAIT is not defined on Cygwin, so work
754           around that (fixes #317048).
755           
756 2006-04-11  Wim Taymans  <wim@fluendo.com>
757
758         * gst/gstelementfactory.c: (gst_element_register),
759         (gst_element_factory_create), (gst_element_factory_make):
760         Some cleanups.
761         Fixed a FIXME.
762         Updated docs (Fixes #131079)
763
764         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
765         Small cleanups.
766
767         * tests/check/gst/gstelement.c: (GST_START_TEST),
768         (gst_element_suite):
769         Added testcase for elementfactory class field.
770
771 2006-04-10  Wim Taymans  <wim@fluendo.com>
772
773         * gst/gstsegment.c:
774         Added some more docs.
775
776         * libs/gst/base/gstbasesink.c: (gst_base_sink_perform_qos),
777         (gst_base_sink_reset_qos):
778         Calculate more accurate rate values.
779
780 2006-04-09  Sebastien Moutte  <sebastien@moutte.net>
781
782         * gst/gst_private.h:
783           add a new #ifdef to use __declspec(dllimport) only for
784           other modules and not for gstreamer core
785         * gst/gstbasesink.c: (gst_base_sink_perform_qos):
786           use gst_guint64_to_gdouble for conversion
787         * win32/common/libgstreamer.def:
788           add new exported functions
789         * win32/vs6/gst_inspect.dsp:
790         * win32/vs6/gst_launch.dsp:
791         * win32/vs6/libgstbase.dsp:
792         * win32/vs6/libgstcontroller.dsp:
793         * win32/vs6/libgstcoreelements.dsp:
794         * win32/vs6/libgstdataprotocol.dsp:
795         * win32/vs6/libgstnet.dsp:
796           update project files
797
798 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
799
800         * gst/gstbuffer.c: (gst_subbuffer_class_init):
801         * gst/gstclock.c: (gst_clock_class_init):
802         * gst/gstelement.c: (gst_element_class_init):
803         * gst/gstindex.c: (gst_index_class_init):
804         * gst/gstindexfactory.c: (gst_index_factory_class_init):
805         * gst/gstobject.c: (gst_object_class_init),
806         (gst_signal_object_class_init):
807         * gst/gstpad.c: (gst_pad_class_init):
808         * gst/gstpadtemplate.c: (gst_pad_template_class_init):
809         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init):
810         * gst/gstregistry.c: (gst_registry_class_init):
811         * gst/gstsystemclock.c: (gst_system_clock_class_init):
812         * gst/gsttask.c: (gst_task_class_init):
813         * gst/gstxml.c: (gst_xml_class_init):
814         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
815         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
816         (gst_base_src_loop):
817         * libs/gst/controller/gstcontroller.c:/
818         (_gst_controller_class_init):
819         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
820         * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
821         * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init):
822         * tests/old/examples/plugins/example.c: (gst_example_class_init):
823         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
824         Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent)
825
826 2006-04-08  Tim-Philipp Müller  <tim at centricular dot net>
827
828         * gst/gstpad.c: (gst_pad_link):
829           Must set peer pads before calling the link function, otherwise
830           a task started from a link function might get a flow-not-linked
831           result when trying to push because the other thread where the
832           linking happens hasn't had a chance to set the peers yet. This
833           might happen for example when a queue gets linked to a downstream
834           element, as queue starts a streaming task when its source pad
835           gets linked. Happens in real life when playing back flac/musepack
836           files in playbin (#332390).
837           
838 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
839
840         * gst/gstindex.h:
841         * gst/gstxml.h:
842         * libs/gst/base/gstadapter.h:
843         * libs/gst/base/gstbasesink.h:
844         * libs/gst/base/gstbasesrc.h:
845         * libs/gst/base/gstbasetransform.h:
846         * libs/gst/base/gstcollectpads.h:
847         * libs/gst/base/gstpushsrc.h:
848         Fix broken GObject macros
849
850 2006-04-07  Wim Taymans  <wim@fluendo.com>
851
852         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
853         Initialize start and stop times, thanks valgrind.
854
855 2006-04-07  Wim Taymans  <wim@fluendo.com>
856
857         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
858         Be a bit nicer to badly behaving upstream elements that expect
859         us to deal with non TIME segments and timestamps (such as fakesrc
860         in the testsuite).
861
862 2006-04-07  Wim Taymans  <wim@fluendo.com>
863
864         * gst/gstbus.c:
865         Small documentation clarification about the signal watch.
866
867         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
868         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
869         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
870         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
871         (gst_base_sink_get_position_last),
872         (gst_base_sink_get_position_paused), (gst_base_sink_change_state):
873         Convert and store timestamps in stream time and running time, the
874         raw timestamps are not usefull, also document this better.
875         Use different window sizes for good and bad QoS observations so
876         we react to badness a little quicker.
877         Keep track of the amount of rendered and dropped buffers.
878         Send QoS timestamps in running time.
879
880         * libs/gst/base/gstbasetransform.c:
881         (gst_base_transform_sink_eventfunc),
882         (gst_base_transform_handle_buffer):
883         Compare QoS timestamps against running time.
884
885 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
886
887         * gst/gstpad.c:
888           Typo fixes in docs.
889
890 2006-04-06  Michael Smith  <msmith@fluendo.com>
891
892         * gst/gstpad.c: (gst_pad_set_property):
893           Use g_value_get_object() instead of g_value_dup_gst_object(),
894           to avoid double-reffing the pad template (which we then sink,
895           so this worked previously if (and only if) the pad template
896           was floating.
897
898         * gst/gstpadtemplate.c: (gst_pad_template_init),
899         (gst_pad_template_pad_created):
900           Never return floating references to pad templates, create
901           them as initially-sunken.
902
903           Document an extra function (and make this stop sinking our
904           pad template, since that is now guaranteed to do nothing,
905           since we created it sunken).
906
907         * gst/gstghostpad.c:
908           Fix docs typo.
909
910 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
911
912         * gst/gstinfo.c: (__gst_in_valgrind):
913           Add some newlines.
914
915         * plugins/elements/gsttypefindelement.c:
916         (gst_type_find_element_chain):
917           Don't leak buffer caps.
918
919 2006-04-06  Michael Smith  <msmith@fluendo.com>
920
921         * gst/parse/grammar.y:
922           Fix a leak in parse-launch for any source-or-sink named element 
923           references used.
924
925         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
926           Unref the pipeline if it exists after we've failed parsing.
927
928 2006-04-05  Michael Smith  <msmith@fluendo.com>
929
930         * gst/gstpipeline.c: (gst_pipeline_init):
931           When we create a pipeline bus, initially create it in flushing mode.
932           Fixes leaks in at least one test, and makes a new pipeline work the
933           same as one that has gone to READY and then back to NULL.
934
935         * gst/gstelement.c:
936           Typo fix in docs.
937
938 2006-04-05  Michael Smith  <msmith@fluendo.com>
939
940         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
941           Unref a pad we reffed.
942         * tests/check/gst/gstutils.c: (GST_START_TEST):
943           Unref bins
944
945 2006-04-05  Michael Smith  <msmith@fluendo.com>
946
947         * gst/gstquery.c: (gst_query_set_formats),
948         (gst_query_set_formatsv):
949           Fix leaking GValues in queries, as shown by valgrind/testsuite.
950
951 2006-04-05  Michael Smith  <msmith@fluendo.com>
952
953         * tests/check/generic/sinks.c: (GST_START_TEST):
954           Fix a variety of memleaks in sinks check, which are only sometimes 
955           shown by running the tests under valgrind (weird?).
956
957 2006-04-05  Jan Schmidt  <thaytan@mad.scientist.com>
958
959         * docs/version.entities.in:
960           Fix the substituted entity name after thomas' changes on the
961           weekend.
962
963 2006-04-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
964
965         * gst/gstinfo.c: (__gst_in_valgrind): Use printf instead of
966         VALGRIND_PRINTF
967         
968 2006-04-05  Andy Wingo  <wingo@pobox.com>
969
970         * gst/gstpad.c (gst_pad_set_blocked_async): More debug.
971
972         * libs/gst/base/gstbasetransform.c
973         (gst_base_transform_sink_eventfunc): When resetting our segment on
974         FLUSH_STOP, also update the flag saying we haven't seen a
975         newsegment.
976
977 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
978
979         Patch by: Paolo Borelli  <pborelli at katamail dot com>
980
981         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
982         (gst_plugin_check_license):
983           minor clean-ups: G_DEFINE_TYPE already takes care of the
984           parent_class stuff, no need to do it twice. Mark array of
985           license strings as constant. (#337103)
986           
987 2006-04-04  Michael Smith  <msmith@fluendo.com>
988
989         * tools/gst-inspect.c: (print_element_list):
990           Free the right plugin list; fixes a memory leak.
991
992 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
993
994         Patch by: Mark Nauwelaerts  <manauw at skynet dot be>
995
996         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
997           Don't error out on empty buffers (#336945).
998           
999 2006-04-04  Jan Schmidt  <thaytan@mad.scientist.com>
1000
1001         * docs/libs/gstreamer-libs-sections.txt:
1002         * gst/gsttaglist.c:
1003         * libs/gst/base/gstbasesink.c:
1004         * libs/gst/base/gstbasesink.h:
1005         * libs/gst/base/gstbasesrc.c:
1006         * libs/gst/base/gstbasesrc.h:
1007           Documentation updates. Make BaseSink and BaseSrc docs contain the
1008           class structure so that people can actually see the prototypes for
1009           virtual functions they're supposed to be overriding.
1010
1011 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
1012
1013         * plugins/elements/gsttypefindelement.c:
1014         (gst_type_find_element_chain):
1015           More debug info; when skipping typefinding, send cached
1016           events in all cases.
1017
1018 2006-04-01  Thomas Vander Stichele  <thomas at apestaart dot org>
1019
1020         * configure.ac:
1021           use new AS_VERSION and AS_NANO macros
1022         * gst/gst-i18n-lib.h:
1023         * gst/gst.c:
1024         * gst/gsterror.c:
1025         * gst/gstversion.h.in:
1026         * win32/common/config.h:
1027         * win32/common/config.h.in:
1028           update accordingly
1029
1030 2006-03-31  Michael Smith  <msmith@fluendo.com>
1031
1032         * plugins/elements/gsttypefindelement.c:
1033         (gst_type_find_element_chain):
1034           Do not typefind content if the buffers already have caps.
1035           Neccesary for icydemux (#333657), and the right thing to do anyway.
1036
1037 2006-03-30  Wim Taymans  <wim@fluendo.com>
1038
1039         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
1040         (gst_base_sink_finalize), (gst_base_sink_set_qos_enabled),
1041         (gst_base_sink_is_qos_enabled), (gst_base_sink_do_sync),
1042         (gst_base_sink_record_qos_observation),
1043         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
1044         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
1045         (gst_base_sink_change_state):
1046         More QoS measurements as described in the design doc.
1047         Get rid of ringbuffer with observations, running average is
1048         more simple and equally good.
1049         Calculates valid proportion now.
1050         Added beginning of flood measurement.
1051
1052 2006-03-29  Wim Taymans  <wim@fluendo.com>
1053
1054         * docs/design/part-qos.txt:
1055         * gst/gstclock.c:
1056         Small documentation updates and additions.
1057
1058 2006-03-29  Wim Taymans  <wim@fluendo.com>
1059
1060         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
1061         (gst_base_src_send_event), (gst_base_src_loop),
1062         (gst_base_src_change_state):
1063         Perform the EOS logic when we reach the segment stop position.
1064         Fix compilation on gcc4.1
1065
1066 2006-03-29  Wim Taymans  <wim@fluendo.com>
1067
1068         Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
1069
1070         * plugins/elements/gstqueue.c: (gst_queue_init),
1071         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
1072         (gst_queue_set_property):
1073         * plugins/elements/gstqueue.h:
1074         In queue, when EOS is received, if minimum threshold > max_size -
1075         current_level, there is chance that queue blocks forever in conditional
1076         item del wait. This is because the queue is not emptied completely due
1077         to minimum threshold.  Here is another approach. Instead of setting
1078         cur_levels to max in EOS, just zero all minimum threshold levels. This
1079         should make sure that queue gives out all data. When going to READY
1080         (stop) state, just reset the original minimum threshold levels.
1081         Fixes #336336.
1082
1083 2006-03-29  Tim-Philipp Müller  <tim at centricular dot net>
1084
1085         * plugins/elements/gsttypefindelement.c: (stop_typefinding),
1086         (gst_type_find_element_handle_event),
1087         (gst_type_find_element_send_cached_events),
1088         (gst_type_find_element_change_state):
1089         * plugins/elements/gsttypefindelement.h:
1090           When typefinding is done in push mode, we should cache
1091           events we receive during typefinding instead of just
1092           dropping them (e.g. newsegment, custom events from
1093           dvdreadsrc etc.) and then send them out once we've
1094           determined the type of the stream (and decodebin
1095           has had a chance to plug in a decoder/demuxer).
1096           
1097 2006-03-27  Wim Taymans  <wim@fluendo.com>
1098
1099         * docs/design/part-qos.txt:
1100         First QoS ideas.
1101
1102 2006-03-27  Wim Taymans  <wim@fluendo.com>
1103
1104         Inspired by a patch of: Lutz Mueller <lutz at topfrose dot de>
1105
1106         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
1107         (gst_base_src_send_event), (gst_base_src_change_state):
1108         Handle element seek correctly when we are streaming.
1109         Fixes #326998.
1110
1111 2006-03-24  Michael Smith  <msmith@fluendo.com>
1112
1113         * docs/faq/gst-uninstalled:
1114           Set up LD_LIBRARY_PATH to point at all the gstreamer libs. This will
1115           allow you to correctly run intalled applications built against old 
1116           core, using plugins that require updated core (e.g. running
1117           installed totem against a full uninstalled gstreamer stack)
1118
1119 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
1120
1121         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
1122         more debug details
1123
1124 2006-03-24  Wim Taymans  <wim@fluendo.com>
1125
1126         * docs/gst/gstreamer-sections.txt:
1127         Rearrange the order of the methods so that related methods
1128         are grouped together in sections.
1129
1130 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
1131
1132         * gst/gstelement.c:
1133           Little clarification in the docs
1134
1135 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
1136
1137         * docs/README:
1138         formatting fix
1139         * plugins/elements/gstidentity.c:
1140         * plugins/elements/gstqueue.c:
1141         * plugins/elements/gsttee.c:
1142         * plugins/elements/gsttypefindelement.c:
1143         GST_ELEMENT_DETAILS formatting
1144
1145 2006-03-24  Wim Taymans  <wim@fluendo.com>
1146
1147         * libs/gst/base/gstbasesink.h:
1148         Only add fields, not insert or we break ABI.
1149
1150 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
1151
1152         * win32/common/libgstbase.def:
1153         * win32/common/libgstreamer.def:
1154           Update, add recently added functions.
1155
1156 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
1157
1158         * docs/gst/gstreamer-sections.txt:
1159         * gst/gstutils.c: (gst_pad_query_peer_position),
1160         (gst_pad_query_peer_duration), (gst_pad_query_peer_convert):
1161         * gst/gstutils.h:
1162           API: add some new utility functions:
1163            - gst_pad_query_peer_position()
1164            - gst_pad_query_peer_duration()
1165            - gst_pad_query_peer_convert()
1166           
1167 2006-03-23  Wim Taymans  <wim@fluendo.com>
1168
1169         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
1170         (gst_base_sink_init), (gst_base_sink_finalize),
1171         (gst_base_sink_set_qos_enabled), (gst_base_sink_is_qos_enabled),
1172         (gst_base_sink_set_property), (gst_base_sink_get_property),
1173         (gst_base_sink_commit_state), (gst_base_sink_get_sync_times),
1174         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
1175         (gst_base_sink_add_qos_observation), (gst_base_sink_send_qos),
1176         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
1177         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
1178         (gst_base_sink_preroll_object), (gst_base_sink_event),
1179         (gst_base_sink_chain_unlocked), (gst_base_sink_get_position_last),
1180         (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
1181         (gst_base_sink_query), (gst_base_sink_change_state):
1182         Decouple max-lateness and the fact that QoS messages are generated
1183         with a new property (qos).
1184         added API: GstBaseSink::async_play()
1185         Add vmethod so subclasses can be notified of ASYNC playing
1186         state changes.
1187         Collect timestamp start and stop to report better current
1188         position in EOS/PLAYING/PAUSED/READY/NULL.
1189         Refactor QoS/frame dropping and other measurements.
1190         API: GstBaseSrc::qos
1191         Fixes #326311
1192
1193         * libs/gst/base/gstbasesink.h:
1194         Added Private struct.
1195         API: gst_base_sink_set_qos_enabled()
1196         API: gst_base_sink_is_qos_enabled()
1197
1198 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
1199
1200         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
1201           If compiling against GLib-2.8 or newer, try to read the
1202           registry file using GMappedFile first before falling back
1203           to fopen() + fread() (#332151).
1204
1205 2006-03-22  Wim Taymans  <wim@fluendo.com>
1206
1207         * gst/gstinfo.c: (gst_debug_set_active),
1208         (gst_debug_category_set_threshold):
1209         Disable debugging unless explicitly activated.
1210         Fixes #335480.
1211
1212 2006-03-22  Wim Taymans  <wim@fluendo.com>
1213
1214         * gst/gstelement.c: (gst_element_set_locked_state),
1215         (gst_element_dispose):
1216         Cleanup the error case.
1217
1218         * gst/gstobject.c: (gst_object_dispose):
1219         print a critical when some object was disposed with
1220         a parent, also revive the object since it might
1221         crash the parent.
1222
1223 2006-03-22  Tim-Philipp Müller  <tim at centricular dot net>
1224
1225         * tools/gst-launch.1.in:
1226           Fix another typo.
1227
1228 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
1229
1230         * configure.ac:
1231         * tests/check/Makefile.am:
1232           disable some tests when we don't have a registry
1233         * tests/check/gst/gstutils.c: (gst_utils_suite):
1234           don't build the part that needs parsing
1235
1236 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
1237
1238         * gst/Makefile.am
1239         * tests/examples/Makefile.am:
1240           fix --disable-parse build
1241
1242 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
1243
1244         * tools/gst-feedback.1.in:
1245           Fix typo: s/feeback/feedback/ (#133494).
1246
1247 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
1248
1249         * tools/Makefile.am:
1250         * tools/gst-launch.1.in:
1251           Add FILES section and correct entry about GST_REGISTRY_PATH
1252           environment variable (#133495; #133494).
1253
1254 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
1255
1256         * tools/Makefile.am:
1257         * tools/gst-md5sum.1.in:
1258         * tools/gst-md5sum.c:
1259           Remove gst-md5sum and man page (the md5sink element
1260           required was removed ages ago)
1261
1262 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
1263
1264         * gst/gststructure.c: (gst_structure_id_set_value):
1265           Make sure that string fields in structures/taglists
1266           contain valid UTF-8 - we don't want to pass rubbish to
1267           applications because of a buggy plugin (cp. #334167).
1268
1269 2006-03-21  Edward Hervey  <edward@fluendo.com>
1270
1271         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
1272         (gst_bin_handle_message_func):
1273         * gst/gstclock.c: (gst_clock_dispose), (gst_clock_set_master):
1274         * gst/gstelement.c: (gst_element_set_clock), (gst_element_dispose),
1275         (gst_element_set_bus_func):
1276         * gst/gstghostpad.c: (gst_proxy_pad_dispose):
1277         * gst/gstminiobject.c: (gst_value_set_mini_object),
1278         (gst_value_take_mini_object):
1279         * gst/gstpad.c: (gst_pad_set_pad_template):
1280         * gst/gstpipeline.c: (gst_pipeline_dispose),
1281         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
1282         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop),
1283         (gst_collect_pads_chain):
1284         * libs/gst/net/gstnettimeprovider.c:
1285         (gst_net_time_provider_set_property):
1286         Series of fixes for dereferenced pointers that gcc 4.1 complains about.
1287         It's in fact all issues with gst_*object_replace().
1288
1289 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
1290
1291         Patch by: Loïc Minier  <lool + gnome at via dot ecp dot fr>
1292         
1293         * pkgconfig/gstreamer-check-uninstalled.pc.in:
1294         * pkgconfig/gstreamer-check.pc.in:
1295           Use @CHECK_LIBS@ here instead of hard-coding -lcheck (#334109).
1296
1297 2006-03-21  Edward Hervey  <edward@fluendo.com>
1298
1299         * gst/gstbuffer.h:
1300         * gst/gstevent.h:
1301         * gst/gstmessage.h:
1302         gst_[buffer|event|message]_ref() macros are replaced by a static
1303         inline functions because gcc-4.1 will about if the return value
1304         isn't used.
1305         * tests/check/gst/gstevent.c: (event_probe):
1306         gst_event_ref now has to be given a GstEvent* , fix check accordingly.
1307
1308 2006-03-20  Jan Schmidt  <thaytan@mad.scientist.com>
1309
1310         * gst/gstutils.h:
1311         Add G_UNLIKELY to our boilerplate to optimise the 'already registered
1312         the type' case. (Closes: #335195 for now). In the future, when we
1313         depend on GLib 2.10, we could also intern the type name using
1314         g_intern_static_string()
1315
1316 2006-03-20  Wim Taymans  <wim@fluendo.com>
1317
1318         * gst/gstbin.c: (gst_bin_handle_message_func),
1319         (bin_query_max_init), (bin_query_position_fold),
1320         (bin_query_position_done), (gst_bin_query):
1321         Position query should also take max of all streams.
1322
1323 2006-03-20  Wim Taymans  <wim@fluendo.com>
1324
1325         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
1326         (gst_fake_src_finalize):
1327         Fix leaks in fakesrc.
1328
1329         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
1330         Fix leaks in the testcase.
1331
1332 2006-03-19  Sebastien Moutte  <sebastien@moutte.net>
1333
1334         * gst/gst_private.h:
1335           add win32 specific import decoration(__declspec(dllimport)) 
1336           for all extern GstDebugCategory * variables
1337         * win32/common/libgstbase.def:
1338         * win32/common/libgstcontroller.def:
1339         * win32/common/libgstreamer.def:
1340           Add some exports, remove empty lines
1341         * win32/common/libgstdataprotocol.def:
1342         * win32/common/libgstdataprotocol.dsp:
1343         * win32/common/libgstnet.def:
1344         * win32/common/libgstnet.dsp:
1345           new project files and exportation files added
1346         
1347 2006-03-19  Wim Taymans  <wim@fluendo.com>
1348
1349         * tests/check/libs/basesrc.c: (eos_event_counter):
1350         Use proper return value for probe.
1351
1352 2006-03-17  Wim Taymans  <wim@fluendo.com>
1353
1354         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
1355         (gst_pad_push):
1356         Don't leak buffers, caps and pads on negotiation errors.
1357
1358 2006-03-16  Stefan Kost  <ensonic@users.sf.net>
1359
1360         * docs/faq/cvs.xml:
1361         * docs/faq/dependencies.xml:
1362         * docs/faq/developing.xml:
1363         * docs/faq/faq.xml:
1364         * docs/faq/general.xml:
1365         * docs/faq/getting.xml:
1366         * docs/faq/legal.xml:
1367         * docs/faq/troubleshooting.xml:
1368         * docs/faq/using.xml:
1369         Faq review and update.
1370
1371 2006-03-16  Jan Schmidt  <thaytan@mad.scientist.com>
1372
1373         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
1374         (gst_pad_push):
1375         Don't pound the cpu to pieces by checking get_caps when accept_caps
1376         is called with the same caps as the pad already has.
1377         Use GST_DEBUG_OBJECT when outputting caps change information.
1378
1379 2006-03-15  Wim Taymans  <wim@fluendo.com>
1380
1381         * gst/gstclock.c: (gst_clock_class_init):
1382         Fix docs.
1383
1384 2006-03-15  Jan Schmidt  <thaytan@mad.scientist.com>
1385
1386         * gst/gstbuffer.h:
1387         Documentation fix.
1388
1389         * gst/gstpad.c: (gst_pad_init), (gst_pad_acceptcaps_default),
1390         (gst_pad_accept_caps), (gst_pad_configure_sink),
1391         (gst_pad_configure_src), (gst_pad_chain), (gst_pad_push):
1392         Make the default acceptcaps behaviour be to check the requested 
1393         caps against the gst_pad_get_caps output. 
1394
1395         Ensure that gst_pad_accept_caps is used to check caps when a pad
1396         doesn't have a setcaps function, so that pads automatically refuse 
1397         caps that they don't allow in their pad template. (Fixes #332986)
1398
1399         When a buffer with attached caps is pushed, ensure that the source 
1400         pad receives those caps even if the element didn't call
1401         gst_pad_set_caps first.
1402
1403 2006-03-15  Wim Taymans  <wim@fluendo.com>
1404
1405         * libs/gst/base/gstadapter.c:
1406         Add some docs.
1407
1408 2006-03-15  Tim-Philipp Müller  <tim at centricular dot net>
1409
1410         * win32/common/libgstbase.def:
1411         * win32/common/libgstcontroller.def:
1412         * win32/common/libgstreamer.def:
1413           Add a whole bunch of missing functions (#334434).
1414
1415 2006-03-14  Wim Taymans  <wim@fluendo.com>
1416
1417         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
1418         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
1419         (gst_base_sink_do_sync), (gst_base_sink_do_qos):
1420         Better debug info when we receive a segment event.
1421         Reorganize a bit so we can pass the get_times() results around.
1422         Use the segment format when calculating the running time.
1423         Don't do QoS is sync is disabled or we have no clock or the
1424         element does not want us to sync to the clock.
1425         Don't drop buffers if QoS is disabled for now.
1426
1427 2006-03-14  Wim Taymans  <wim@fluendo.com>
1428
1429         * gst/gstclock.c: (gst_clock_class_init), (do_linear_regression):
1430         Marked the stats property as unimplemented so people don't get
1431         wild ideas.
1432         Add debug message when regression goes wrong.
1433         Added some more docs.
1434
1435 2006-03-14  Wim Taymans  <wim@fluendo.com>
1436
1437         * gst/gstsegment.c: (gst_segment_to_stream_time):
1438         Return correct return type in case of errors.
1439
1440 2006-03-14  Wim Taymans  <wim@fluendo.com>
1441
1442         * gst/gstformat.c: (gst_format_get_name), (gst_format_to_quark):
1443           Don't segfault on invalid formats.
1444
1445 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
1446
1447         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
1448           Can't use gst_segment_to_running_time() when the segment
1449           is not in GST_TIME_FORMAT (like with filesink, for example).
1450           Stops flac encoding pipelines from spewing critical warnings
1451           at EOS (#331248).
1452           
1453 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
1454
1455         * gst/gstpipeline.c: (gst_pipeline_class_init):
1456           Add 'Since: 0.10.5' to gtk-doc blurb for added property.
1457
1458         * plugins/elements/gsttypefindelement.c:
1459         (gst_type_find_element_handle_event):
1460           Don't try to typefind empty streams.
1461
1462 2006-03-14  Wim Taymans  <wim@fluendo.com>
1463
1464         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
1465         (gst_base_sink_do_qos):
1466         Separate QoS calculation.
1467         Only drop buffers when lateness is bigger than the 
1468         duration of the buffer.
1469
1470 2006-03-13  Wim Taymans  <wim@fluendo.com>
1471
1472         * gst/gstpipeline.c: (gst_pipeline_set_property),
1473         (gst_pipeline_get_property), (do_pipeline_seek),
1474         (gst_pipeline_change_state), (gst_pipeline_set_delay),
1475         (gst_pipeline_get_delay):
1476         Don't deadlock when reading properties.
1477
1478 2006-03-13  Wim Taymans  <wim@fluendo.com>
1479
1480         * libs/gst/base/gstbasetransform.c:
1481         (gst_base_transform_class_init), (gst_base_transform_init),
1482         (gst_base_transform_sink_event),
1483         (gst_base_transform_sink_eventfunc),
1484         (gst_base_transform_src_event), (gst_base_transform_src_eventfunc),
1485         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
1486         (gst_base_transform_set_property),
1487         (gst_base_transform_get_property),
1488         (gst_base_transform_change_state), (gst_base_transform_update_qos),
1489         (gst_base_transform_set_qos_enabled),
1490         (gst_base_transform_is_qos_enabled):
1491         * libs/gst/base/gstbasetransform.h:
1492         Make basetransform virtual method for src events too.
1493         Handle QOS in basetransform.
1494         API: gst_base_transform_update_qos()
1495         API: gst_base_transform_set_qos_enabled()
1496         API: gst_base_transform_is_qos_enabled()
1497
1498 2006-03-13  Wim Taymans  <wim@fluendo.com>
1499
1500         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
1501         (gst_base_sink_do_sync):
1502         Small cleanups.
1503         Use QOS debug category.
1504
1505 2006-03-13  Wim Taymans  <wim@fluendo.com>
1506
1507         * plugins/elements/gstqueue.c:
1508         Very small doc update.
1509
1510 2006-03-13  Wim Taymans  <wim@fluendo.com>
1511
1512         * gst/gst_private.h:
1513         * gst/gstinfo.c: (_gst_debug_init):
1514         Added QOS debug category
1515
1516 2006-03-13  Wim Taymans  <wim@fluendo.com>
1517
1518         * docs/gst/gstreamer-sections.txt:
1519         * gst/gstbin.c: (bin_bus_handler), (gst_bin_handle_message_func):
1520         * gst/gstbin.h:
1521         * gst/gstbus.c: (gst_bus_class_init):
1522         * gst/gstbus.h:
1523         * gst/gstclock.c:
1524         * gst/gstelement.c: (gst_element_set_locked_state):
1525         * gst/gstsegment.c:
1526         Documentation updates.
1527
1528         * gst/gstpipeline.c: (gst_pipeline_get_type),
1529         (gst_pipeline_class_init), (gst_pipeline_init),
1530         (gst_pipeline_dispose), (gst_pipeline_set_property),
1531         (gst_pipeline_get_property), (do_pipeline_seek),
1532         (gst_pipeline_send_event), (gst_pipeline_change_state),
1533         (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay),
1534         (gst_pipeline_get_delay):
1535         * gst/gstpipeline.h:
1536         Added methods for setting the delay.
1537         API: gst_pipeline_set_delay()
1538         API: gst_pipeline_get_delay()
1539         Add pipeline debug category
1540         Various cleanups.
1541         Updated docs.
1542         Don't reset stream time when seek failed.
1543
1544 2006-03-13  Wim Taymans  <wim@fluendo.com>
1545
1546         * docs/design/draft-klass.txt:
1547         * docs/design/part-clocks.txt:
1548         * docs/design/part-events.txt:
1549         * docs/design/part-gstbin.txt:
1550         * docs/design/part-gstpipeline.txt:
1551         * docs/design/part-messages.txt:
1552         * docs/design/part-negotiation.txt:
1553         * docs/design/part-overview.txt:
1554         * docs/design/part-preroll.txt:
1555         * docs/design/part-seeking.txt:
1556         * docs/design/part-states.txt:
1557         * docs/design/part-streams.txt:
1558         Documentation updates.
1559
1560 2006-03-12  Julien MOUTTE  <julien@moutte.net>
1561
1562         * gst/gsttaglist.c: Fix rubbish docs that are encouraging
1563         us to leak strings...
1564
1565 2006-03-12  Thomas Vander Stichele  <thomas at apestaart dot org>
1566
1567         * libs/gst/net/gstnettimeprovider.c:
1568           fix docs
1569         * win32/common/config.h:
1570           update
1571
1572 2006-03-12  Tim-Philipp Müller  <tim at centricular dot net>
1573
1574         Patch by: Julio M. Merino Vidal <jmmv at netbsd org>
1575
1576         * configure.ac:
1577           Don't check for libgnomeui (leftover from old examples
1578           that aren't built or disted any longer) (#334303).
1579           
1580 2006-03-11  Tim-Philipp Müller  <tim at centricular dot net>
1581
1582         * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
1583         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
1584           Emit RESOURCE_NO_SPACE_LEFT error here as well when
1585           there's no space left on the device.
1586
1587 2006-03-10  Tim-Philipp Müller  <tim at centricular dot net>
1588
1589         * gst/gstclock.h:
1590           Fix GST_CLOCK_TIME_IS_VALID signedness issues - we need
1591           to cast the input to GstClockTime before comparing with
1592           another GstClockTime value.
1593
1594 2006-03-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1595
1596         * configure.ac:
1597           back to trunk
1598
1599 === release 0.10.4 ===
1600
1601 2006-03-10  Thomas Vander Stichele <thomas at apestaart dot org>
1602
1603         * configure.ac:
1604           releasing 0.10.4, "Light"
1605
1606 2006-03-10  Michael Smith  <msmith@fluendo.com>
1607
1608         * libs/gst/dataprotocol/dataprotocol.c:
1609           Fix docs for dataprocotol to not get the return types completely
1610           wrong for a few functions.
1611
1612 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
1613
1614         * docs/gst/gstreamer-sections.txt:
1615         * gst/gstpipeline.c: (gst_pipeline_class_init),
1616         (gst_pipeline_init), (gst_pipeline_set_property),
1617         (gst_pipeline_get_property), (gst_pipeline_change_state),
1618         (gst_pipeline_set_auto_flush_bus),
1619         (gst_pipeline_get_auto_flush_bus):
1620         * gst/gstpipeline.h:
1621           Add new API: gst_pipeline_set_auto_flush_bus() and
1622           gst_pipeline_get_auto_flush_bus() to disable automatic
1623           flushing of the pipeline's GstBus when going from READY
1624           to NULL state (#332045).
1625
1626 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
1627
1628         * docs/gst/gstreamer-sections.txt:
1629         * gst/gsturi.c: (gst_uri_has_protocol):
1630         * gst/gsturi.h:
1631            Add new API: gst_uri_has_protocol() (#333779).
1632
1633 2006-03-09  Wim Taymans  <wim@fluendo.com>
1634
1635         * gst/gstclock.c: (gst_clock_entry_new),
1636         (gst_clock_id_compare_func), (gst_clock_id_wait),
1637         (gst_clock_id_wait_async), (gst_clock_id_unschedule),
1638         (gst_clock_init), (gst_clock_get_internal_time),
1639         (gst_clock_set_master), (do_linear_regression),
1640         (gst_clock_add_observation), (gst_clock_set_property):
1641         * gst/gstclock.h:
1642         Review docs.
1643         Small cleanups.
1644         Fix a possible segfault when the window-size is made smaller.
1645         Calculate jitter before performing the clock wait. Ideally
1646         the clock implementation should calculate jitter but we need
1647         API breakage for that.
1648
1649         * gst/gstsystemclock.c: (gst_system_clock_init):
1650         Docs review.
1651         
1652         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
1653         Remove leftover else
1654
1655         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
1656         (gst_systemclock_suite):
1657         Added check to test GST_CLOCK_DIFF.
1658
1659 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
1660
1661         * libs/gst/base/gsttypefindhelper.c: (helper_find_get_length),
1662         (gst_type_find_helper_get_range):
1663           If we are provided with the size, we should implement
1664           GstTypeFind::get_length, so that typefind functions who
1665           want to can actually peek at the middle of a file.
1666
1667 2006-03-08  Tim-Philipp Müller  <tim at centricular dot net>
1668
1669         * docs/manual/advanced-dataaccess.xml:
1670           Add some very very basic error checking.
1671
1672         * docs/pwg/appendix-checklist.xml:
1673           Some updates to the list of things to check when writing an element.
1674
1675 2006-03-08  Wim Taymans  <wim@fluendo.com>
1676
1677         * docs/design/part-element-transform.txt:
1678         Added some docs about the design of tranform elements.
1679
1680         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
1681         (gst_base_src_loop), (gst_base_src_change_state):
1682         Mark buffers with the DISCONT flag.
1683
1684 2006-03-08  Michael Smith  <msmith@fluendo.com>
1685
1686         * gst/gstregistry.h:
1687         * gst/gstregistryxml.c: (gst_registry_save),
1688         (gst_registry_save_escaped), (gst_registry_xml_save_caps),
1689         (gst_registry_xml_save_pad_template),
1690         (gst_registry_xml_save_feature), (gst_registry_xml_save_plugin),
1691         (gst_registry_xml_write_cache):
1692           Rewrite registry-saving to avoid race conditions and check for
1693           failed writes.
1694
1695 2006-03-08  Wim Taymans  <wim@fluendo.com>
1696
1697         * libs/gst/base/gstbasetransform.c:
1698         (gst_base_transform_transform_caps),
1699         (gst_base_transform_transform_size),
1700         (gst_base_transform_prepare_output_buffer),
1701         (gst_base_transform_get_unit_size),
1702         (gst_base_transform_buffer_alloc),
1703         (gst_base_transform_handle_buffer),
1704         (gst_base_transform_change_state):
1705         Cleanups, separate normal flow from errors, add sensible
1706         DEBUG lines.
1707         Don't try to renegotiate when allocating an output buffer.
1708         Also copy DISCONT buffer flag when copying a buffer.
1709         Reset the transform after we finish streaming, not during.
1710
1711 2006-03-08  Wim Taymans  <wim@fluendo.com>
1712
1713         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
1714         Use last buffer timestamp in qos message.
1715
1716 2006-03-07  Wim Taymans  <wim@fluendo.com>
1717
1718         Patch by: Christophe Fergeau
1719
1720         * docs/pwg/advanced-tagging.xml:
1721         * docs/pwg/building-pads.xml:
1722           fixes #333416
1723
1724 2006-03-07  Wim Taymans  <wim@fluendo.com>
1725
1726         * docs/libs/gstreamer-libs-sections.txt:
1727         Added basesink new methods.
1728
1729         * gst/gstevent.c:
1730         * gst/gstevent.h:
1731         Docs updates. Flesh out the QoS docs.
1732
1733         * libs/gst/base/gstadapter.c:
1734         Small doc clarification about ownership and flushing.
1735
1736         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_sync),
1737         (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
1738         (gst_base_sink_get_max_lateness), (gst_base_sink_set_property),
1739         (gst_base_sink_get_property), (gst_base_sink_do_sync):
1740         * libs/gst/base/gstbasesink.h:
1741         API additions: 
1742         Added new methods to allow subclass to control max-lateness 
1743         and sync.
1744         Generate very basic QoS events based on last sync observation.
1745         Updated docs, fix typo, added some QoS blurb.
1746
1747         * libs/gst/base/gstbasesrc.c:
1748         Remove obsolete _get_state() calls from docs.
1749
1750 2006-03-07  Wim Taymans  <wim@fluendo.com>
1751
1752         * docs/libs/gstreamer-libs-sections.txt:
1753         * libs/gst/base/gstbasetransform.h:
1754         API addition: Fix #333669, Add pad accessor defines for GstBaseTransform
1755         Fix docs for GstBaseSrc.
1756
1757 2006-03-07  Wim Taymans  <wim@fluendo.com>
1758
1759         * docs/gst/gstreamer-sections.txt:
1760         * gst/gstbuffer.h:
1761         * gst/gstvalue.c:
1762         * libs/gst/base/gstbasetransform.h:
1763         Small documentation fixes.
1764
1765 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
1766
1767         * gst/gstvalue.c:
1768           Document thread-unsafety of gst_value_register_foo_func()
1769           when used at the same time as gst_value_foo() (#322628).
1770
1771 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
1772
1773         * libs/gst/base/gstpushsrc.c: (gst_push_src_class_init),
1774         (gst_push_src_check_get_range):
1775           Push sources don't support pull mode by default.
1776
1777 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
1778
1779         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
1780         (gst_base_src_init), (gst_base_src_pad_check_get_range),
1781         (gst_base_src_default_check_get_range):
1782         * libs/gst/base/gstbasesrc.h:
1783           API addition:  Add ::check_get_range() vfunc to GstBaseSrc (#332611),
1784           provide default implementation, and rename
1785           gst_base_src_check_get_range() to
1786           gst_base_src_pad_check_get_range() for clarity.
1787
1788 2006-03-06  Wim Taymans  <wim@fluendo.com>
1789
1790         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
1791         Make property overridable.
1792
1793 2006-03-06  Wim Taymans  <wim@fluendo.com>
1794
1795         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
1796         (gst_base_sink_init), (gst_base_sink_set_property),
1797         (gst_base_sink_get_property), (gst_base_sink_do_sync):
1798         * libs/gst/base/gstbasesink.h:
1799         API addition: Make max-lateness a property.
1800
1801 2006-03-06  Wim Taymans  <wim@fluendo.com>
1802
1803         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock),
1804         (gst_base_sink_do_sync), (gst_base_sink_render_object):
1805         Don't ever draw a frame that is >10ms late.
1806
1807 2006-03-06  Michael Smith  <msmith@fluendo.com>
1808
1809         * gst/gstmessage.c: (_gst_message_copy):
1810           When copying a message, set the parent_refcount of the enclosed
1811           structure to point at the copy, not the original message.
1812
1813 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
1814
1815         Patch by: Christophe Fergeau
1816
1817         * gst/gstutils.h:
1818           Do proper cast here to make GST_BOILERPLATE_WITH_INTERFACE
1819           usable in c++ code (#333417)
1820
1821 2006-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
1822
1823         * gst/gstclock.h:
1824           Show GST_CLOCK_TIME_NONE as 99:99:99.999999999
1825
1826 2006-03-05  Tim-Philipp Müller  <tim at centricular dot net>
1827
1828         * libs/gst/base/gstbasetransform.c:
1829         (gst_base_transform_transform_caps):
1830           Make sure caps are writable before passing them to
1831           gst_caps_append().
1832
1833 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
1834
1835         * gst/gsterror.h:
1836           Fix some minor docs errors.
1837
1838 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
1839
1840           Patch by: Ross Burton <ross at burtonini dot com>
1841
1842         * gst/gsterror.c: (_gst_resource_errors_init):
1843         * gst/gsterror.h:
1844           Add GST_RESOURCE_ERROR_NO_SPACE_LEFT (for #333352;
1845
1846 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
1847
1848         * gst/gst.c:
1849         Add a check and output a g_warning when GStreamer is built
1850         against GLib 2.6 but running against 2.8 or higher, and vice 
1851         versa. (Closes: #323542)
1852
1853 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
1854
1855         * gst/parse/parse.l:
1856           Commit patch for parse_launch syntax from #331255. Removes 
1857           support for quoted strings and mimetypes when writing filtered 
1858           caps. See the bug report for more details - I'm pretty sure this
1859           obscure feature is not in use by _anyone_ anywhere.
1860
1861           With this simple change, the size of the gstreamer.so here 
1862           drops from 2193KB to 1565KB.
1863
1864 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
1865
1866         * plugins/elements/gsttypefindelement.h:
1867         * plugins/elements/gsttypefindelement.c:
1868         (gst_type_find_element_src_event), (start_typefinding),
1869         (stop_typefinding), (gst_type_find_element_handle_event),
1870         (gst_type_find_element_chain),
1871         (gst_type_find_element_chain_do_typefinding):
1872           Use gst_type_find_helper_for_buffer() for chain-based
1873           typefinding.
1874
1875 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
1876
1877         * plugins/elements/gsttypefindelement.c:
1878         (gst_type_find_element_class_init),
1879         (gst_type_find_element_set_property),
1880         (gst_type_find_element_get_property):
1881           Deprecate "maximum" property (not only was it only taken into
1882           account for typefinding in push-mode anyway, it also was never
1883           actually possible to set it in the first place because the
1884           property was registered with the numeric property ID for the
1885           "minimum" property). Register "maximum" property correctly,
1886           for the sake of future copy'n'pasters. Remove some cruft
1887           from property get/set functions.
1888
1889 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
1890
1891         * plugins/elements/gsttypefindelement.c:
1892         (gst_type_find_element_activate):
1893           Use gst_type_find_helper_get_range() here, so we
1894           can honour the "minimum" property and also emit
1895           the signal with the correct probability of the found caps.
1896
1897 2006-03-02  Tim-Philipp Müller  <tim at centricular dot net>
1898
1899         * docs/libs/gstreamer-libs-sections.txt:
1900         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
1901         (helper_find_suggest), (gst_type_find_helper_get_range),
1902         (gst_type_find_helper):
1903         * libs/gst/base/gsttypefindhelper.h:
1904           New API: gst_type_find_helper_get_range() (#333042).
1905
1906 2006-03-02  Michael Smith  <msmith@fluendo.com>
1907
1908         * gst/gstregistryxml.c: (load_feature):
1909           Asserting on a failure to read part of the registry is Not Cool.
1910           Just log a warning and return NULL (which is already handled)
1911
1912 2006-02-28  Sebastien Moutte  <sebastien@moutte.net>
1913
1914         * win32/common/libgstbase.def:
1915           added export of gst_type_find_helper_for_buffer
1916         * win32/common/libgstbase.def:
1917           added some exports : gst_bin_iterate_elements, gst_iterator_resync,
1918           gst_ghost_pad_get_target
1919
1920 2006-02-28  Wim Taymans  <wim@fluendo.com>
1921
1922         * docs/design/draft-klass.txt:
1923         We use Filter now.
1924         Added Connector to mark elements that are only used to
1925         allow pipeline connections.
1926         Moved Debug to extra feature since most of them are 
1927         functionally something else.
1928
1929 2006-02-28  Wim Taymans  <wim@fluendo.com>
1930
1931         * docs/design/draft-klass.txt:
1932         Some updates and clarifications.
1933
1934 2006-02-28  Wim Taymans  <wim@fluendo.com>
1935
1936         * docs/design/draft-klass.txt:
1937         Proposal for klass field values.
1938
1939         * docs/design/part-streams.txt:
1940         Start of a doc describing stream anatomy.
1941
1942 2006-02-28  Wim Taymans  <wim@fluendo.com>
1943
1944         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_handle_message_func):
1945         Help the compiler a bit with type registration.
1946         Use existing forward cod path instead of duplicating it when 
1947         handling a message.
1948         
1949         * gst/gstbus.c: (gst_bus_get_type):
1950         * gst/gstcaps.c: (gst_caps_get_type), (gst_static_caps_get_type):
1951         * gst/gstchildproxy.c: (gst_child_proxy_get_type):
1952         * gst/gstclock.c: (gst_clock_get_type):
1953         * gst/gstelement.c: (gst_element_get_type),
1954         * gst/gstelementfactory.c: (gst_element_factory_get_type):
1955         * gst/gstindexfactory.c: (gst_index_factory_get_type):
1956         * gst/gstminiobject.c: (gst_mini_object_get_type):
1957         * gst/gstpad.c: (gst_pad_get_type):
1958         * gst/gstsegment.c: (gst_segment_get_type):
1959         * gst/gststructure.c: (gst_structure_get_type):
1960         * gst/gstsystemclock.c: (gst_system_clock_get_type):
1961         * gst/gsttask.c: (gst_task_get_type), (gst_task_join):
1962         * gst/gstvalue.c:
1963         Help compiler with type registration.
1964
1965         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
1966         Small doc update.
1967
1968 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
1969
1970         * plugins/elements/gsttypefindelement.c:
1971         (gst_type_find_element_handle_event):
1972           When we get an EOS event and have not found a type yet
1973           (most likely because we had not yet accumulated
1974           TYPE_FIND_MIN_SIZE of data yet), try to determine the
1975           type given the data we have so far. Fixes typefinding
1976           for very short streams again, most notably quicktime
1977           redirections as used on Apple's trailer site (#331701).
1978
1979 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
1980
1981         * libs/gst/base/gsttypefindhelper.c: (type_find_factory_rank_cmp),
1982         (gst_type_find_helper):
1983           Try typefinding factories with the highest rank first.
1984
1985 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
1986
1987         * docs/libs/gstreamer-libs-docs.sgml:
1988         * docs/libs/gstreamer-libs-sections.txt:
1989         * libs/gst/base/gsttypefindhelper.c:
1990           Add section for typefind helper and add documentation
1991           for the old and the new function.
1992
1993 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
1994
1995         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek),
1996         (buf_helper_find_suggest), (type_find_factory_rank_cmp),
1997         (gst_type_find_helper_for_buffer):
1998         * libs/gst/base/gsttypefindhelper.h:
1999           New API: gst_type_find_helper_for_buffer() (#332723).
2000           
2001 2006-02-27  Michael Smith  <msmith@fluendo.com>
2002
2003         Patch by: Loïc Minier
2004
2005         * configure.ac:
2006         * docs/Makefile.am:
2007         * docs/slides/Makefile.am:
2008           prevent CVS directories getting disted.
2009
2010 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
2011
2012         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref):
2013           Use the REFCOUNTING category for caps refcounting.
2014           
2015 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
2016
2017         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
2018           This should be 0 not GST_CLOCK_TIME_NONE (see #331701).
2019
2020 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
2021
2022         * plugins/elements/gsttypefindelement.c:
2023         (gst_type_find_element_activate):
2024           Use gst_pad_check_pull_range() before _activate_pull()
2025           to avoid unnecessary open/close (see #331690).
2026
2027 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
2028
2029         * gst/gstutils.c:
2030           Docs enhancement: make it crystal clear what the
2031           gst_pad_add_*_probe() callbacks should look like.
2032
2033 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
2034
2035         * libs/gst/base/gstbasesrc.c:
2036           Document how applications can stop recording from
2037           live sources (see #330996).
2038
2039 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
2040
2041         * tests/check/Makefile.am:
2042         * tests/check/libs/basesrc.c: (eos_event_counter),
2043         (basesrc_eos_events_pull), (basesrc_eos_events_push),
2044         (basesrc_eos_events_push_live_op), (basesrc_eos_events_pull_live_op),
2045         (gst_basesrc_suite), (main):
2046           ... and add some tests for the base source EOS stuff.
2047
2048 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
2049
2050         * tests/check/gst/gstutils.c: (test_buffer_probe_n_times):
2051           Test case originally showed the problem fixed below,
2052           but was then amended. Add checks back at the place
2053           where they used to be.
2054
2055 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
2056
2057         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
2058         (gst_base_src_init), (gst_base_src_loop),
2059         (gst_base_src_activate_push), (gst_base_src_activate_pull),
2060         (gst_base_src_change_state):
2061         * libs/gst/base/gstbasesrc.h:
2062           Don't unconditionally send EOS when going from PAUSED to
2063           READY state, esp. make sure we don't send two EOS events
2064           in some cases (e.g. one when reaching EOS and one when
2065           going from PAUSED to READY). Also, we don't want to send
2066           EOS events when operating in pull mode. However, we do
2067           want to send an EOS event when shutting down a live
2068           source explicitly, for example (fixes #330996).
2069           
2070 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
2071
2072         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
2073           Update src->read_position after a seek when not using mmap.
2074           Fixes #332277, patch by: Renchi Raju <renchi gmail com>
2075
2076 2006-02-21  Jan Schmidt  <thaytan@mad.scientist.com>
2077
2078         * gst/Makefile.am:
2079         * gst/gstparse.h:
2080         * gst/gstutils.c:
2081         * gst/gstutils.h:
2082         Make things work with --disable-parse as they do with 
2083         --disable-load-save - the symbols involved disappear, but the
2084         header is still installed and GST_DISABLE_PARSE is included via
2085         gstconfig.h
2086
2087 2006-02-20  Julien MOUTTE  <julien@moutte.net>
2088
2089         * libs/gst/base/gstbasetransform.c:
2090         (gst_base_transform_change_state): Fix a stupid bug. I was 
2091         sure I compiled that.
2092
2093 2006-02-20  Julien MOUTTE  <julien@moutte.net>
2094
2095         * gst/gstpad.c: (gst_pad_set_blocked_async):
2096         * gst/gstutils.c: (gst_pad_add_data_probe),
2097         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
2098         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
2099         (gst_pad_remove_buffer_probe): Make those function act on the
2100         ghostpad target when it's a ghostpad. (Closes #331727)
2101
2102 2006-02-20  Julien MOUTTE  <julien@moutte.net>
2103
2104         * libs/gst/base/gstbasetransform.c:
2105         (gst_base_transform_change_state): Make basetransform reusable.
2106         (Closes #331898)
2107
2108 2006-02-20  Jan Schmidt  <thaytan@mad.scientist.com>
2109
2110         * docs/random/release:
2111         Move the current documentation of how to do a release to the top
2112         of the file.
2113
2114         * gst/gstbin.c: (gst_bin_class_init),
2115         (gst_bin_handle_message_func):
2116         Allow multiple state-recalculation threads. (Closes #328873)
2117
2118 2006-02-19  Julien MOUTTE  <julien@moutte.net>
2119
2120         * gst/gstinfo.h: Add GST_STR_NULL to the second string.
2121         * gst/gstpad.c: (gst_pad_set_event_function),
2122         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
2123         (gst_pad_set_getcaps_function): GST_DEBUG_PAD_NAME evaluates to
2124         2 strings. You can't use the STR_NULL macro on that.
2125
2126 2006-02-19  Sebastien Moutte <sebastien@moutte.net>
2127
2128         * gst/gstpad.c: (gst_pad_set_event_function),
2129         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
2130         (gst_pad_set_getcaps_function)
2131         * gst/parse/grammar.y: (gst_parse_found_pad), (gst_parse_perform_delayed_link)
2132           Fixed NULL pointer used in GST_CAT_DEBUG using GST_STR_NULL macro
2133           So now, we can use --gst-debug-level=5 on Windows
2134         * win32/common/libgstcontroller.def:
2135           Added export of gst_controller_init
2136         * win32/vs6/libgstcontroller.dsp:
2137           Fixed Release post build configuration
2138
2139 2006-02-17  Wim Taymans  <wim@fluendo.com>
2140
2141         * tests/check/gst/gstquery.c: (GST_START_TEST):
2142         Added another check.
2143
2144 2006-02-15  Tim-Philipp Müller  <tim at centricular dot net>
2145
2146         * plugins/elements/gsttypefindelement.c: (find_peek):
2147           We can do peeks at non-zero offsets, as long as they
2148           fall within the buffer we have.
2149
2150 2006-02-15  Jan Schmidt  <thaytan@mad.scientist.com>
2151
2152         * tests/check/Makefile.am:
2153         * tests/check/pipelines/parse-launch.c: (setup_pipeline),
2154         (expected_fail_pipe), (check_pipeline_runs), (GST_START_TEST),
2155         (parse_suite), (main):
2156           Add testsuite for parse launch syntax
2157
2158 2006-02-14  Tim-Philipp Müller  <tim at centricular dot net>
2159
2160         * plugins/elements/gsttypefindelement.c:
2161         (gst_type_find_element_chain):
2162           When typefinding is unsuccessful in the chain function, don't
2163           error out immediately. Only error out with NO_CAPS_FOUND if
2164           the amount of data is at least MAX_TYPEFIND_SIZE bytes,
2165           otherwise simply wait for more data so we can try typefinding
2166           again with more data later. Also, don't attempt to typefind
2167           if we have less than MIN_TYPEFIND_SIZE data available. Overall,
2168           this should improve typefinding from network sources where the
2169           size of the first buffer can be somewhat random.
2170
2171 2006-02-14  Wim Taymans  <wim@fluendo.com>
2172
2173         * docs/gst/gstreamer-sections.txt:
2174         * gst/gstpadtemplate.c:
2175         * gst/gstpadtemplate.h:
2176         Fix padtemplate docs, fixes #328805.
2177
2178 2006-02-14  Wim Taymans  <wim@fluendo.com>
2179
2180         * tools/gst-launch.c: (main):
2181         NO_PREROLL is not an ERROR so don't send confusing messages
2182         to the user.
2183
2184 2006-02-14  Wim Taymans  <wim@fluendo.com>
2185
2186         Patch by: Torsten Schoenfeld
2187
2188         * gst/gstregistry.c: (gst_registry_get_default),
2189         (_gst_registry_cleanup):
2190         Protect default registry with lock and ref/sink it.
2191         Fixes #324818
2192
2193 2006-02-14  Wim Taymans  <wim@fluendo.com>
2194
2195         * gst/gstbuffer.c:
2196         * gst/gstquery.c: (gst_query_list_add_format),
2197         (gst_query_set_formatsv), (gst_query_parse_formats_length),
2198         (gst_query_parse_formats_nth):
2199         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
2200         Docs fixes.
2201
2202 2006-02-14  Wim Taymans  <wim@fluendo.com>
2203
2204         * docs/gst/gstreamer-sections.txt:
2205         Reworked query docs.
2206
2207         * gst/gstquery.c: (gst_query_new_formats),
2208         (gst_query_list_add_format), (gst_query_set_formats),
2209         (gst_query_set_formatsv), (gst_query_parse_formats_length),
2210         (gst_query_parse_formats_nth):
2211         * gst/gstquery.h:
2212         Flesh out formats query, added some new methods.
2213         Fix part of #324398.
2214
2215         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite):
2216         Added query creation tests.
2217
2218 2006-02-14  Jan Schmidt  <thaytan@mad.scientist.com>
2219
2220         * gst/gstpad.c: (fixate_value):
2221         Add a default fixation for fraction lists.
2222
2223 2006-02-13  Wim Taymans  <wim@fluendo.com>
2224
2225         * gst/gsttask.c: (gst_task_init), (gst_task_func),
2226         (gst_task_set_lock), (gst_task_start), (gst_task_pause),
2227         (gst_task_join):
2228         * gst/gsttask.h:
2229         Detect and warn for obvious deadlocks. fixes #320340
2230         Fix error case where lock was not released.
2231
2232         * tests/check/Makefile.am:
2233         * tests/check/gst/gsttask.c: (task_func2), (GST_START_TEST),
2234         (task_func), (gst_element_suite), (main):
2235         Add task check.
2236
2237 2006-02-13  Wim Taymans  <wim@fluendo.com>
2238
2239         * docs/gst/gstreamer-sections.txt:
2240         * gst/gstbus.c:
2241         Add new functions to docs.
2242
2243 2006-02-13  Wim Taymans  <wim@fluendo.com>
2244
2245         * docs/design/part-TODO.txt:
2246         Updated TODO list, basesrc supports seeking to non-bytes
2247         formats.
2248
2249         * docs/design/part-element-sink.txt:
2250         Update docs.
2251
2252         * gst/gstbin.c: (bin_replace_message),
2253         (gst_bin_handle_message_func):
2254         * gst/gstbus.c: (gst_bus_post), (gst_bus_pop):
2255         * gst/gstevent.c: (gst_event_finalize):
2256         * gst/gstpad.c: (gst_pad_event_default_dispatch),
2257         (gst_pad_send_event):
2258         Use shiny new _TYPE_NAME macros.
2259
2260         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
2261         Move debug statement up.
2262
2263         * gst/gstelement.c: (gst_element_set_locked_state):
2264         Add some debugging.
2265
2266 2006-02-13  Tim-Philipp Müller  <tim at centricular dot net>
2267
2268         * docs/gst/gstreamer-sections.txt:
2269         * gst/gstmessage.h:
2270         * gst/gstquery.h:
2271           New API: add GST_MESSAGE_TYPE_NAME and GST_QUERY_TYPE_NAME
2272           macros (#330906). Also, document the already existing
2273           GST_QUERY_TYPE macro.
2274
2275 2006-02-13  Wim Taymans  <wim@fluendo.com>
2276
2277         * tests/check/gst/gstutils.c: (data_probe), (buffer_probe),
2278         (event_probe), (GST_START_TEST):
2279         Only events up to the pipeline EOS are counted, there are
2280         some more when going to NULL currently which we don't care
2281         about for now.
2282
2283 2006-02-13  Wim Taymans  <wim@fluendo.com>
2284
2285         * gst/gstpad.c: (gst_pad_send_event):
2286         Correctly check flushing and emit probes. fixes #330125
2287
2288 2006-02-10  Andy Wingo  <wingo@pobox.com>
2289
2290         * gst/gstbus.c (gst_bus_class_init): Declare our private data
2291         structure.
2292         (gst_bus_init): Cache the location of the private data in the
2293         instance structure.
2294         (gst_bus_enable_sync_message_emission) 
2295         (gst_bus_disable_sync_message_emission): Implement new public
2296         functions.
2297         (gst_bus_post): Emit the sync-message signal if the user asked for
2298         it. Fixes #330684.
2299
2300         * gst/gstbus.h (GstBus): Use a padding pointer to cache the
2301         location of the bus-private structure.
2302         (gst_bus_enable_sync_message_emission)
2303         (gst_bus_disable_sync_message_emission): API addition
2304
2305 2006-02-10  Jan Schmidt  <thaytan@mad.scientist.com>
2306
2307         Patch by: Vincent Torri
2308
2309         * docs/pwg/building-boiler.xml:
2310         PWG patch from #326800
2311
2312 2006-02-09  Tim-Philipp Müller  <tim at centricular dot net>
2313
2314         * configure.ac:
2315         * docs/Makefile.am:
2316         * docs/design/Makefile.am:
2317           Dist design docs.
2318
2319 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
2320
2321         * configure.ac:
2322           back to CVS
2323
2324 === release 0.10.3 ===
2325
2326 2006-02-08  Jan Schmidt <thaytan@mad.scientist.com>
2327
2328         * configure.ac:
2329           releasing 0.10.3, "Like a virgin"
2330
2331 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
2332
2333         * configure.ac:
2334           2nd prerelease of 0.10.3
2335           Bump libtool versioning.
2336
2337 2006-02-07  Andy Wingo  <wingo@pobox.com>
2338
2339         * libs/gst/base/gstcollectpads.c (gst_collect_pads_chain): Only
2340         update last_stop if we're in TIME format and the timestamp is
2341         valid.
2342
2343         * libs/gst/base/gstcollectpads.c (gst_collect_pads_event) 
2344         * libs/gst/base/gstbasetransform.c (gst_base_transform_eventfunc): 
2345         * libs/gst/base/gstbasesink.c (gst_base_sink_configure_segment):
2346         If we get a new newsegment with a different format, adapt
2347         accordingly.
2348
2349         * gst/gstclock.c (gst_clock_set_calibration): Accept a numerator
2350         of 0. Not a problem, really.
2351
2352         * libs/gst/base/gstbasesink.c (gst_base_sink_chain_unlocked): Only
2353         warn if sync=true.
2354
2355 2006-02-06  Jan Schmidt  <thaytan@mad.scientist.com>
2356
2357         * configure.ac:
2358           Prelease of 0.10.3
2359
2360 2006-02-06  Sebastien Moutte  <sebastien@moutte.net>
2361
2362         * win32/vs7:
2363           project files updated to the default vs7 configuration
2364         * win32/common/libgstbase.def:
2365         * win32/common/libgstreamer.def:
2366           added new symbols,
2367           removed empty lines,
2368           sorted all exported symbols alphabetically
2369         * win32/common/dirent.c:
2370         * win32/common/dirent.h:
2371         * win32/common/gchar.h:
2372           use windows line end.
2373           
2374 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
2375
2376         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
2377           Send EOS event when stopping.
2378
2379 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
2380
2381         * docs/README:
2382           Tell folks what to do if the plugin-foobar.xml file
2383           hasn't been generated for a newly-added plugin.
2384
2385 2006-02-05  Julien MOUTTE  <julien@moutte.net>
2386
2387         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
2388         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
2389         (gst_collect_pads_start), (gst_collect_pads_stop),
2390         (gst_collect_pads_event): Collectpads now holds a reference
2391         to the GstPad that was added. Indeed we don't want to look
2392         at pads that might just go away with no warning...
2393
2394 2006-02-05  Julien MOUTTE  <julien@moutte.net>
2395
2396         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
2397         (gst_collect_pads_start), (gst_collect_pads_stop),
2398         (gst_collect_pads_event), (gst_collect_pads_chain):
2399         * libs/gst/base/gstcollectpads.h: Handle flush. Adapted from
2400         Mark Nauwelaerts's patch on bug #328491.
2401
2402 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
2403
2404         * tests/check/gst/gstutils.c: (test_parse_bin_from_description),
2405         (gst_utils_suite):
2406           Add some simple tests for gst_parse_bin_from_description() and
2407           gst_bin_find_unconnected_pad() (#329069).
2408
2409 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
2410
2411         * tools/gst-launch.c: (event_loop), (main):
2412           Catch errors during preroll (#320084).
2413
2414 2006-02-03  Tim-Philipp Müller  <tim at centricular dot net>
2415
2416         * plugins/elements/gsttypefindelement.c:
2417         (gst_type_find_element_activate):
2418           Post TYPE_NOT_FOUND error message when typefinding
2419           is unsuccessful in the activate function as well.
2420
2421 2006-02-02  Wim Taymans  <wim@fluendo.com>
2422
2423         * docs/design/part-element-sink.txt:
2424         Updated doc.
2425
2426 2006-02-02  Wim Taymans  <wim@fluendo.com>
2427
2428         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
2429         (gst_base_sink_render_object),
2430         (gst_base_sink_queue_object_unlocked):
2431         Only keep track of prerollable items when we are 
2432         prerolling.
2433         Before rendering after preroll, always check if we
2434         have queued items.
2435         Added some more debugging.
2436
2437 2006-02-02  Wim Taymans  <wim@fluendo.com>
2438
2439         * gst/gstelement.c: (gst_element_continue_state),
2440         (gst_element_set_state_func), (gst_element_change_state):
2441         Fixed #326576, been running this for quite some time with
2442         no regressions at all.
2443
2444 2006-02-02  Wim Taymans  <wim@fluendo.com>
2445
2446         * common/gst.supp:
2447         Added more suppressions
2448
2449 2006-02-02  Wim Taymans  <wim@fluendo.com>
2450
2451         * docs/design/part-element-sink.txt:
2452         Updated document.
2453
2454         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
2455         (gst_base_sink_finalize), (gst_base_sink_preroll_queue_flush),
2456         (gst_base_sink_configure_segment), (gst_base_sink_commit_state),
2457         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
2458         (gst_base_sink_do_sync), (gst_base_sink_render_object),
2459         (gst_base_sink_preroll_object),
2460         (gst_base_sink_queue_object_unlocked),
2461         (gst_base_sink_queue_object), (gst_base_sink_event),
2462         (gst_base_sink_chain_unlocked), (gst_base_sink_chain),
2463         (gst_base_sink_loop), (gst_base_sink_activate_pull),
2464         (gst_base_sink_get_position), (gst_base_sink_change_state):
2465         * libs/gst/base/gstbasesink.h:
2466         Totally refactored matching the design doc.
2467         Use two segments, one to clip incomming buffers and another to
2468         perform sync.
2469         Handle queueing correctly, bypass the queue when playing.
2470         Make EOS cancelable.
2471         Handle errors correctly when operating in pull based mode.
2472
2473         * tests/check/elements/fakesink.c: (GST_START_TEST),
2474         (fakesink_suite):
2475         Added new check for sinks.
2476
2477 2006-02-02  Wim Taymans  <wim@fluendo.com>
2478
2479         * gst/gstsegment.c: (gst_segment_clip):
2480         No reason to refuse to clip when start == -1
2481
2482 2006-02-02  Stefan Kost  <ensonic@users.sf.net>
2483
2484         * docs/README:
2485         * docs/manual/intro-basics.xml:
2486         * docs/manual/intro-preface.xml:
2487         * docs/manual/manual.xml:
2488         * docs/pwg/advanced-dparams.xml:
2489         * docs/pwg/intro-basics.xml:
2490         * docs/pwg/intro-preface.xml:
2491         * docs/pwg/pwg.xml:
2492           describe dparams (controller) for plugins
2493           unify docs a little more
2494
2495 2006-02-02  Tim-Philipp Müller  <tim at centricular dot net>
2496
2497         * docs/gst/gstreamer-sections.txt:
2498         * gst/gstutils.c: (element_find_unconnected_pad),
2499         (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description):
2500         * gst/gstutils.h:
2501           Add new API: gst_parse_bin_from_description() and
2502           gst_bin_find_unconnected_pad() (#329069).
2503
2504 2006-02-01  Stefan Kost  <ensonic@users.sf.net>
2505
2506         * docs/manual/README:
2507           uncover a nasty detail of the docs build
2508
2509 2006-01-31  Wim Taymans  <wim@fluendo.com>
2510
2511         * gst/gstbin.c: (bin_remove_messages), (bin_query_duration_done):
2512         Don't cache duration messages if we're not going to use or
2513         free them.
2514
2515 2006-01-31  Stefan Kost  <ensonic@users.sf.net>
2516
2517         * docs/manual/advanced-dparams.xml:
2518         * docs/pwg/advanced-dparams.xml:
2519           more dparam docs
2520         * gst/gstindex.c:
2521           fix docs
2522         * libs/gst/controller/lib.c: (gst_controller_init):
2523           init just once
2524
2525 2006-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
2526
2527         * gst/gstelement.c: (gst_element_message_full):
2528           also show file/line/func if no additional debug was given
2529
2530 2006-01-31  Sebastien Moutte  <sebastien@moutte.net>
2531         
2532         * win32/vs7/grammar.vcproj:
2533           activate copy of autogenerated files for Release mode
2534
2535 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
2536         
2537         * win32/common/libgstreamer.def:
2538           export gst_value_compare
2539
2540 2006-01-30  Jan Schmidt  <thaytan@mad.scientist.com>
2541
2542         * plugins/elements/Makefile.am:
2543         * plugins/elements/gstelements.c:
2544         * plugins/elements/gstfdsink.c: (_do_init),
2545         (gst_fd_sink_base_init), (gst_fd_sink_class_init),
2546         (gst_fd_sink_init), (gst_fd_sink_dispose), (gst_fd_sink_query),
2547         (gst_fd_sink_render), (gst_fd_sink_check_fd), (gst_fd_sink_start),
2548         (gst_fd_sink_stop), (gst_fd_sink_unlock), (gst_fd_sink_update_fd),
2549         (gst_fd_sink_set_property), (gst_fd_sink_uri_get_type),
2550         (gst_fd_sink_uri_get_protocols), (gst_fd_sink_uri_get_uri),
2551         (gst_fd_sink_uri_set_uri), (gst_fd_sink_uri_handler_init):
2552         * plugins/elements/gstfdsink.h:
2553         Port fdsink to 0.10 (patch by Philippe Rouquier) (Fixes #325490)
2554
2555 2006-01-30  Stefan Kost  <ensonic@users.sf.net>
2556
2557         * docs/manual/advanced-dparams.xml:
2558           describe controller
2559         * docs/manual/advanced-position.xml:
2560         * docs/manual/basics-init.xml:
2561         * docs/manual/manual.xml:
2562         * docs/manual/titlepage.xml:
2563         * docs/pwg/pwg.xml:
2564         * docs/pwg/titlepage.xml:
2565           cleanup xml (more to come)
2566         * libs/gst/controller/gstcontroller.c:
2567           fix typo
2568
2569 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
2570         
2571         * win32/vs6/grammar.dsp:
2572           add autogen of gstmarshal.c,h for Release mode
2573                 
2574 2006-01-30  Wim Taymans  <wim@fluendo.com>
2575
2576         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
2577         (gst_base_sink_preroll_queue_empty), (gst_base_sink_commit_state),
2578         (gst_base_sink_handle_object), (gst_base_sink_event),
2579         (gst_base_sink_is_prerolled), (gst_base_sink_wait),
2580         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
2581         (gst_base_sink_handle_buffer), (gst_base_sink_set_flushing),
2582         (gst_base_sink_deactivate), (gst_base_sink_activate),
2583         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
2584         (gst_base_sink_query), (gst_base_sink_change_state):
2585         Basesink cleanups, remove some old code.
2586         Handle the case where a subclass can preroll in the render
2587         method (mostly audiosinks).
2588         Handle more events.
2589         Remove some locks around variables that are now protected
2590         with the PREROLL_LOCK (clock_id, flushing, ..).
2591         Optimize position query some more, do correct locking.
2592         Remove old code to push queue in state change, this is not
2593         needed anymore since preroll blocks on all prerollable items 
2594         now.
2595         Almost implemented as described in design doc.
2596
2597 2006-01-30  Wim Taymans  <wim@fluendo.com>
2598
2599         * tests/check/gst/gstbin.c: (GST_START_TEST):
2600         Wait for refcount to settle down before checking.
2601
2602 2006-01-30  Wim Taymans  <wim@fluendo.com>
2603
2604         * docs/design/part-element-sink.txt:
2605         Pseudo code overview of desired sink behaviour regarding
2606         preroll.
2607
2608 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
2609         * win32/vs6/grammar.dsp:
2610           fix some bugs in Release mode for autogenerated files
2611                 
2612 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
2613         * win32/common/libgstbase.def:
2614         * win32/common/libgstreamer.def:
2615           export some new symbols: gst_base_src_set_format,
2616           gst_iterator_next, gst_structure_set_valist
2617
2618 2006-01-29  Julien MOUTTE  <julien@moutte.net>
2619
2620         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
2621         Set pad functions unconditionally. Fixes #329105.
2622
2623 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
2624         * win32/vs8:
2625           add vs8 project files created by Sergey Scobich
2626
2627 2006-01-28  Jan Schmidt  <thaytan@mad.scientist.com>
2628
2629         * gst/gstutils.c: (gst_element_unlink_pads):
2630         Don't leak pad references.
2631
2632         * tests/check/elements/fakesink.c: (GST_START_TEST):
2633         * tests/check/generic/sinks.c: (GST_START_TEST):
2634         * tests/check/generic/states.c: (GST_START_TEST):
2635         * tests/check/gst/gstbin.c: (GST_START_TEST):
2636         * tests/check/gst/gstcaps.c: (GST_START_TEST):
2637         * tests/check/gst/gstelement.c: (GST_START_TEST):
2638         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
2639         * tests/check/gst/gstiterator.c: (GST_START_TEST):
2640         * tests/check/gst/gstvalue.c: (GST_START_TEST):
2641         Fix a bunch of leaks. Make generic/sinks.c
2642         use a bit less cpu by slowing the buffer rate
2643         between fakesrc and fakesink.
2644         
2645 2006-01-27  Stefan Kost  <ensonic@users.sf.net>
2646         * gst/gstcaps.c:
2647         * gst/gstelement.c: (gst_element_send_event):
2648         * gst/gstevent.c:
2649         * gst/gstinfo.c:
2650         * gst/gstiterator.c:
2651         * gst/gstiterator.h:
2652         * gst/gstpad.c: (gst_pad_send_event):
2653         * gst/gststructure.c:
2654         * gst/gsturi.c:
2655         * gst/gstutils.c:
2656         * gst/gstvalue.c:
2657         * libs/gst/base/gstadapter.c:
2658           doc fixes, to link to function, just write gst_cool_function(), don't
2659           prefix with '#'
2660
2661 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
2662
2663         * plugins/elements/gsttee.c: (gst_tee_do_push),
2664         (gst_tee_handle_buffer):
2665         Always prefer an actual return value from a src
2666         pad in place of NOT_LINKED. This means we return
2667         WRONG_STATE when all src pads are WRONG_STATE
2668         instead of NOT_LINKED.
2669
2670         Lock when replacing the last message to prevent
2671         racing with the get_property method.
2672
2673         Add debug output
2674
2675 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
2676
2677         * tests/check/Makefile.am:
2678         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite),
2679         (main):
2680         Add a very simple check that should have caught the memleak I fixed
2681         last night (if not for the slice allocator hiding it)
2682
2683 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
2684
2685         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
2686         (gst_bin_remove_func), (gst_bin_handle_message_func),
2687         (bin_query_duration_fold), (bin_query_generic_fold):
2688         Clean up references to the clock provider when disposed or when
2689         handling a clock-lost message from it.
2690
2691         Unref sinks when performing a query via gst_iterator_fold, as the
2692         gst_bin_iterate_sinks iterator refs each item. (Fixes #323874)
2693
2694         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_dispose),
2695         (gst_clock_set_master):
2696         Drop our reference to the master clock, if any, when we are disposed.
2697
2698         * gst/gsttypefindfactory.c: (gst_type_find_factory_dispose):
2699         Chain up in dispose. 
2700
2701 2006-01-26  Wim Taymans  <wim@fluendo.com>
2702
2703         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
2704         Add some debugging.
2705
2706 2006-01-26  Julien MOUTTE  <julien@moutte.net>
2707
2708         * plugins/elements/gsttee.c: (gst_tee_do_push),
2709         (gst_tee_handle_buffer): Apply patch from #328715. Tee now
2710         handles pad being NOT_LINKED or in WRONG_STATE.
2711
2712 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
2713
2714         * win32/MANIFEST:
2715           more updating
2716
2717 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
2718
2719         * win32/MANIFEST:
2720           remove obsolete entry
2721
2722 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
2723
2724         * docs/gst/gstreamer-sections.txt:
2725         * gst/gstbin.c: (bin_element_is_src), (src_iterator_filter),
2726         (gst_bin_iterate_sources), (gst_bin_send_event):
2727         * gst/gstbin.h:
2728         * gst/gstelement.c: (gst_element_send_event):
2729         * gst/gstevent.c:
2730         * gst/gstpad.c: (gst_pad_send_event):
2731           added code for downstream events, reviewed docs in gstevent.c
2732
2733 2006-01-25  Julien MOUTTE  <julien@moutte.net>
2734
2735         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
2736         We only query position using the clock in the playing state.
2737         Query peer in the other cases.
2738         * win32/common/config.h: Updates.
2739
2740 2006-01-24  Wim Taymans  <wim@fluendo.com>
2741
2742         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
2743         A clock entry that is scheduled for the exact time of the
2744         clock is still in time.
2745
2746         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
2747         (gst_base_sink_do_sync):
2748         Add some more debug info.
2749
2750 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
2751
2752         * win32/vs7:
2753           Add new vs7 project files and solution.
2754
2755 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
2756
2757         * win32/vs7:
2758           all files removed as they were out-dated.
2759
2760 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
2761
2762         * docs/random/release:
2763           update notes
2764         * gst/gstbin.c: (gst_bin_init):
2765         * gst/gstbus.c: (gst_bus_new):
2766         * gst/gstbus.h:
2767         * gst/gstpipeline.c: (gst_pipeline_init):
2768           use gst_bus_new(), improve logging, fix docs
2769         * win32/common/config.h:
2770           update for cvs build
2771
2772 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
2773
2774         * autogen.sh:
2775           up required version of automake to 1.7
2776
2777 2006-01-20  Sebastien Moutte  <sebastien@moutte.net>
2778
2779         * win32/common/libgstreamer.def:
2780           export gst_buffer_is_metadata_writable
2781
2782 2006-01-20  Tim-Philipp Müller  <tim at centricular dot net>
2783
2784         * docs/gst/gstreamer-sections.txt:
2785         * gst/gstevent.h:
2786           Add gst_event_replace() (#327001)
2787
2788 2006-01-20  Wim Taymans  <wim@fluendo.com>
2789
2790         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
2791         Make it actually compile too..
2792
2793 2006-01-20  Wim Taymans  <wim@fluendo.com>
2794
2795         * gst/gstcaps.c:
2796         Clarify behaviour of _is_equal() when passing NULL parameters.
2797
2798         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
2799         (gst_pad_set_caps):
2800         Cleanups. Don't unref NULL caps.
2801         When setting the same caps, protect caps of the pad with
2802         proper lock.
2803         Use full functionality of _is_equal() when comparing caps.
2804
2805 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
2806
2807         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
2808         Don't loop infinitely if there are no buffers to present. Partially
2809         fixes #327197, but collectpads is just broken for reusing elements
2810         to do multiple encodes atm.
2811
2812 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
2813
2814         * tools/gst-inspect.c: (print_element_features):
2815         * tools/gst-xmlinspect.c: (main):
2816         URL_HANDLER is not a plugin feature we can search for in
2817         the registry.
2818
2819 2006-01-19  Edward Hervey  <edward@fluendo.com>
2820
2821         * gst/gstelement.c: (gst_element_pads_activate): 
2822         When activating, do src pads first, then sink pads.
2823         When de-activating, do sink pads first, then src pads.
2824
2825 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
2826
2827         * docs/gst/gstreamer-sections.txt:
2828         Add gst_index_add_associationv to the docs
2829
2830 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
2831
2832         * gst/gstevent.c:
2833           Fix docs typo
2834
2835         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event),
2836         (gst_queue_chain), (gst_queue_push_one), (gst_queue_loop):
2837           Do some refactoring. Doesn't actually change functionality,
2838           but makes landing the DRAIN event easier later.
2839
2840 2006-01-19  Tim-Philipp Müller  <tim at centricular dot net>
2841
2842         * docs/pwg/advanced-scheduling.xml:
2843           Update from 0.9.x to 0.10 API and make example a bit
2844           clearer.
2845
2846 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
2847
2848         * docs/gst/gstreamer-sections.txt:
2849         Add gst_buffer_(is|make)_metadata_writable methods.
2850
2851 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
2852
2853         * docs/design/part-sparsestreams.txt:
2854         Update sparse streams doc, hopefully for greater clarity
2855
2856 2006-01-18  Jan Schmidt  <thaytan@mad.scientist.com>
2857
2858         * docs/design/part-events.txt:
2859         Remove mention of FILLER events.
2860         Add DRAIN event.
2861
2862         * docs/design/part-sparsestreams.txt:
2863         Write some things about using NEWSEGMENT to keep sparse streams
2864         flowing.
2865
2866 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
2867
2868         * gst/gstbin.c: (gst_bin_dispose):
2869           Guard gst_object_unref call against a NULL object (dispose
2870           can theoretically be called multiple times).
2871           
2872 2006-01-18  Wim Taymans  <wim@fluendo.com>
2873
2874         * gst/gstbin.c: (gst_bin_element_set_state):
2875         * gst/gstclock.c: (gst_clock_id_wait):
2876         Added some more debug info.
2877
2878         * libs/gst/base/gstadapter.c:
2879         Added more docs.
2880
2881         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
2882         (gst_base_sink_do_sync), (gst_base_sink_chain):
2883         Added some comments.
2884
2885 2006-01-18  Wim Taymans  <wim@fluendo.com>
2886
2887         * tests/check/Makefile.am:
2888         * tests/check/elements/fakesink.c: (chain_async_buffer),
2889         (chain_async), (chain_async_return), (GST_START_TEST),
2890         (fakesink_suite), (main):
2891         Added fakesink test that checks prerolling and clipping
2892         behaviour.
2893
2894         * tests/check/gst/gstutils.c: (GST_START_TEST):
2895         Make check run faster so that buildbots don't timeout.
2896
2897 2006-01-18  Wim Taymans  <wim@fluendo.com>
2898
2899         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
2900         (gst_base_sink_do_sync):
2901         Some cleanups.
2902         When the sink finishes blocking on the preroll buffer, it can
2903         immediatly render it instead of rendering when the next buffer
2904         arrives.
2905
2906 2006-01-18  Wim Taymans  <wim@fluendo.com>
2907
2908         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_property),
2909         (gst_base_sink_get_property), (gst_base_sink_do_sync),
2910         (gst_base_sink_chain):
2911         Small cleanups.
2912         GST_ELEMENT_CLOCK and sync are protected with LOCK.
2913         Don't store _last_stop if the buffer is dropped.
2914
2915 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
2916
2917         * plugins/elements/gsttypefindelement.c:
2918         (gst_type_find_element_class_init):
2919           'have-type' signal needs to be G_SIGNAL_RUN_FIRST, as it is the
2920           object method handler that sets the caps on the pad and we want
2921           that to happen before we emit the signal (fixes e.g. feeding a
2922           plain text file to decodebin).
2923
2924 2006-01-18  Christian Schaller  <Christian@fluendo.com>
2925
2926         * gst/gstplugin.c: Add MPL and Proprietary as license options
2927
2928 2006-01-18  Andy Wingo  <wingo@pobox.com>
2929
2930         * gst/gstindex.h (gst_index_add_associationv): Add to header. The
2931         symbol was exported before, it appears this was just an oversight.
2932         Fixes #168703.
2933         Patch by: Torsten Schoenfeld <kaffeetisch at gmx.de>
2934
2935         * gst/gstindex.c (gst_index_add_associationv): Changed int in
2936         prototype to gint. OK since this prototype was not in the header.
2937
2938 2006-01-17  Andy Wingo  <wingo@pobox.com>
2939
2940         * gst/gstregistry.c (_gst_registry_remove_cache_plugins): Lock the
2941         registry while we remove plugins.
2942
2943         * tools/gst-inspect.c (print_element_info): Don't unref the
2944         factory arg, that should be the responsibility of whatever code
2945         received the ref. Fixes a double-free when called from
2946         print_element_list via gst-inspect-0.10 -a. Fixes #327324.
2947         (main): Unref the factory if we have one.
2948         (print_element_list): No change -- relies on the
2949         plugin_feature_list_free to free the list of features.
2950
2951 2006-01-17  Jan Schmidt  <thaytan@mad.scientist.com>
2952
2953         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
2954         (gst_buffer_make_metadata_writable):
2955         * gst/gstbuffer.h:
2956         * libs/gst/base/gstbasetransform.c:
2957         (gst_base_transform_prepare_output_buf):
2958         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
2959         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
2960           Replace gst_buffer_(make|is)_metadata_writable patch now
2961           that the release is out.
2962
2963 2006-01-17  Andy Wingo  <wingo@pobox.com>
2964
2965         * gst/gstregistry.c: Reflow design comment. Update so as to speak
2966         in the present tense without reference to versions.
2967
2968         * gst/gstregistry.c (gst_registry_add_plugin)
2969         (gst_registry_remove_plugin, gst_registry_remove_feature)
2970         (gst_registry_find_feature, gst_registry_get_feature_list)
2971         (gst_registry_get_plugin_list, gst_registry_lookup_feature)
2972         (gst_registry_lookup, gst_registry_scan_path)
2973         (_gst_registry_remove_cache_plugins)
2974         (gst_registry_get_feature_list_by_plugin): Add argument
2975         validation.
2976
2977 === release 0.10.2 ===
2978
2979 2006-01-16  Thomas Vander Stichele <thomas at apestaart dot org>
2980
2981         * configure.ac:
2982           releasing 0.10.2, "If man is five"
2983
2984 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
2985
2986         * gst/gstbuffer.c:
2987         * gst/gstbuffer.h:
2988         * libs/gst/base/gstbasetransform.c:
2989         (gst_base_transform_prepare_output_buf):
2990         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
2991         * tests/check/gst/gstbuffer.c: (gst_test_suite):
2992           Back out patch until after the release.
2993
2994 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
2995
2996         * gst/gstminiobject.c:
2997           Spelling fix in docs.
2998         * ChangeLog - remove conflict indicator
2999
3000 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
3001
3002         Reviewed By: Andy Wingo
3003
3004         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
3005         (gst_buffer_make_metadata_writable):
3006         * gst/gstbuffer.h:
3007           Add gst_buffer_(is|make)_metadata_writable as analogues of
3008           gst_buffer_(is|make)_writable.
3009
3010         * libs/gst/base/gstbasetransform.c:
3011         (gst_base_transform_prepare_output_buf):
3012         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
3013           Use name gst_buffer_(is|make)_metadata_writable functions.
3014
3015         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
3016           Test gst_buffer_(is|make)_metadata_writable
3017         
3018           (Closes: #324162)
3019
3020 2006-01-14  Thomas Vander Stichele  <thomas at apestaart dot org>
3021
3022         * docs/manual/Makefile.am:
3023           don't do parallel make
3024         * configure.ac:
3025           AC_SUBST HOST_CPU
3026         * win32/common/config.h.in:
3027           add generations for HOST_CPU and GST_MAJORMINOR
3028         * win32/common/config.h:
3029           commit generated result
3030
3031 2006-01-13  Tim-Philipp Müller  <tim at centricular dot net>
3032
3033         * docs/manual/appendix-integration.xml:
3034           Update GNOME integration section to use gst_init_get_option_group()
3035           instead of the old popt stuff (#322911). Also, GNOME applications
3036           should  now use gconf*sink and gconf*src instead of the old gconf
3037           helper lib we had.
3038
3039 2006-01-13  Stefan Kost  <ensonic@users.sf.net>
3040
3041
3042         * docs/gst/gstreamer-docs.sgml:
3043         * docs/gst/gstreamer-sections.txt:
3044         * docs/libs/gstreamer-libs-sections.txt:
3045           add new API entries to the docs
3046         * libs/gst/controller/Makefile.am:
3047         * libs/gst/controller/gstcontroller.c:
3048         * libs/gst/controller/gstcontroller.h:
3049         * libs/gst/controller/gstcontrollerprivate.h:
3050         * libs/gst/controller/gsthelper.c:
3051         * libs/gst/controller/gstinterpolation.c:
3052           move private structs to private header
3053         * po/README:
3054           gstreamer-0.7 -> gstreamer-0.10
3055         * tests/check/libs/struct_i386.h:
3056           remove private structs
3057
3058 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3059
3060         * plugins/indexers/Makefile.am:
3061           Fixes as part of #317048
3062
3063 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3064
3065         * plugins/indexers/Makefile.am:
3066           fix #316086 - compilation when mmap is missing
3067
3068 2006-01-12  Sebastien Moutte  <sebastien@moutte.net>
3069
3070         * libs/gst/base/gstbasesink.c:
3071           *cur = (now - base) * basesink->segment.abs_rate + time; replaced by 
3072           *cur = gst_guint64_to_gdouble(now - base) * basesink->segment.abs_rate + time; for vs6
3073         * win32/common/config.h:
3074           added some defines GST_MAJORMINOR and HOST_CPU
3075         * win32/common/libgstbase.def:
3076         * win32/common/libgstreamer.def:
3077           added some exported functions.
3078
3079 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
3080
3081         * libs/gst/controller/gstcontroller.c:
3082         (gst_controlled_property_set_interpolation_mode),
3083         (gst_controlled_property_new):
3084         * libs/gst/controller/gstcontroller.h:
3085         * libs/gst/controller/gstinterpolation.c:
3086         (interpolate_none_get_string_value_array):
3087           make G_TYPE_STRING controlable
3088
3089 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
3090
3091         * tools/README:
3092         * tools/gst-feedback.1.in:
3093         * tools/gst-inspect.1.in:
3094         * tools/gst-launch.1.in:
3095         * tools/gst-md5sum.1.in:
3096         * tools/gst-typefind.1.in:
3097         * tools/gst-xmlinspect.1.in:
3098         * tools/gst-xmllaunch.1.in:
3099           cleanup man-pages, remove reference to gst-register, document env-vars
3100
3101 2006-01-12  Jan Schmidt  <thaytan@mad.scientist.com>
3102
3103         * gst/gstbuffer.c: (gst_buffer_span):
3104           gst_buffer_span should copy the timestamp of the first buffer
3105           if they were both originally overlapping subbuffers of the 
3106           same parent, using the same logic as the 'slow copy' case.
3107
3108 2006-01-11  Jan Schmidt  <thaytan@mad.scientist.com>
3109
3110         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop):
3111           Need to awaken ALL the pads when we pop a buffer, otherwise
3112           collectpads only works when there is 2 input streams.
3113
3114 2006-01-11  Stefan Kost  <ensonic@users.sf.net>
3115
3116         * docs/random/ensonic/media-device-daemon.txt:
3117           more ideas (dbus)
3118         * gst/gstbuffer.c:
3119           fix doc example, add clarification
3120         * tools/gst-launch.1.in:
3121           add initial info about GST_PLUGIN_PATH, needs more work
3122
3123 2006-01-11  Tim-Philipp Müller  <tim at centricular dot net>
3124
3125         * docs/manual/basics-bins.xml:
3126         * docs/manual/basics-elements.xml:
3127         * docs/manual/intro-basics.xml:
3128           Some more minor docs additions and updates.
3129
3130 2006-01-11  Wim Taymans  <wim@fluendo.com>
3131
3132         * docs/manual/basics-bins.xml:
3133         * docs/manual/basics-elements.xml:
3134         Some small fixes as pointed out by Ser-ver on IRC.
3135
3136 2006-01-10  Edward Hervey  <edward@fluendo.com>
3137
3138         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
3139         Set the buffer offset/offset_end to GST_CLOCK_TIME_NONE when using
3140         the single-segment mode.
3141
3142 2006-01-10  Brian Cameron  <brian dot cameron at sun dot com>
3143
3144         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
3145
3146         * libs/gst/base/gstbasesrc.c: (gst_base_src_init),
3147         (gst_base_src_perform_seek), (gst_base_src_send_event),
3148         (gst_base_src_set_property), (gst_base_src_get_property),
3149         (gst_base_src_loop), (gst_base_src_start),
3150         (gst_base_src_activate_push):
3151         * libs/gst/base/gstbasesrc.h:
3152           Name (private) union; makes Sun's Forte compiler happy (#324900).
3153
3154 2006-01-09  Tim-Philipp Müller  <tim at centricular dot net>
3155
3156         * README:
3157           gst-register is gone.
3158
3159 2006-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
3160
3161         * gst/gstvalue.c: (_gst_value_initialize):
3162           make the G_TYPE_DATE instantiation work if debug is disabled
3163
3164 2006-01-06  Tim-Philipp Müller  <tim at centricular dot net>
3165
3166         * gst/gstmessage.c: (gst_message_parse_tag),
3167         (gst_message_parse_error), (gst_message_parse_warning):
3168           Don't crash when return location for error/warning debug
3169           string is NULL; add fact that return locations can be
3170           NULL to docs where appropriate.
3171
3172 2006-01-05  Wim Taymans  <wim@fluendo.com>
3173
3174         * gst/gstplugin.c: (gst_plugin_load_file):
3175         Replace strdup by g_strdup.
3176
3177 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
3178
3179         * docs/pwg/advanced-types.xml:
3180           fix doc borkage
3181
3182 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
3183
3184         submitted by: Abel Cheung
3185
3186         * po/LINGUAS:
3187         * po/zh_TW.po:
3188           Added Chinese (traditional) translation
3189
3190 2006-01-04  Wim Taymans  <wim@fluendo.com>
3191
3192         * docs/manual/basics-pads.xml:
3193         * docs/plugins/Makefile.am:
3194         * docs/plugins/gstreamer-plugins-docs.sgml:
3195         * docs/plugins/gstreamer-plugins-sections.txt:
3196         * docs/pwg/advanced-clock.xml:
3197         * docs/pwg/advanced-scheduling.xml:
3198         * docs/pwg/advanced-types.xml:
3199         * plugins/elements/gstfdsink.c:
3200         * plugins/elements/gstfdsrc.c:
3201         * plugins/elements/gstfdsrc.h:
3202         * plugins/elements/gstidentity.c: (gst_identity_class_init):
3203         * plugins/elements/gstidentity.h:
3204         * plugins/elements/gstqueue.h:
3205         * plugins/elements/gsttee.c:
3206         * plugins/elements/gsttee.h:
3207         * plugins/elements/gsttypefindelement.c:
3208         (gst_type_find_element_class_init):
3209         * plugins/elements/gsttypefindelement.h:
3210         Small updates to various docs.
3211         Added core plugins to docs.
3212
3213 2006-01-03  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
3214
3215         * common/gst.supp:
3216           add a suppression for liboil's uninitialized variable
3217
3218 2006-01-02  James Livingston  <jrl at ids dot org dot au>
3219
3220         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
3221
3222         * gst/gstutils.h:
3223           Add prototype for _get_type() function to GST_BOILERPLATE_FULL
3224           macro, so that gcc doesn't complain if the -Wmissing-prototypes
3225           compiler switch is being used (#325429).
3226
3227 2005-12-29  Tim-Philipp Müller  <tim at centricular dot net>
3228
3229         * gst/gstbin.c: (gst_bin_query):
3230           Disable duration query caching in bins until it gets
3231           fixed (see #324807).
3232
3233 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
3234
3235         * tools/gst-inspect.c: (print_element_properties_info):
3236           Handle properties of POINTER and BOXED type.
3237
3238 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
3239
3240         * gst/gst.c: (init_post):
3241           Init tags stuff and some other things before loading
3242           any static plugins (there may be other static plugins
3243           than just the GStreamer ones, and they may want to
3244           register their own tags or formats or whatever, and
3245           preferably without segfaulting).
3246
3247         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
3248           Print at least a warning in the debug logs if we drop a
3249           query just because we don't know how to adjust the value
3250           in the particular format.
3251
3252 2005-12-24  David Schleef  <ds@schleef.org>
3253
3254         * tools/gstreamer-completion:
3255           Replacement for gst-complete written in sh and sed.  Only
3256           completes names of features, but that's 90% of what I want
3257           it for.  Properties are not available in registry.xml.  (Maybe
3258           they should be...)
3259
3260 === release 0.10.1 ===
3261
3262 2005-12-23  Thomas Vander Stichele <thomas at apestaart dot org>
3263
3264         * configure.ac:
3265           releasing 0.10.1, "Nollaig chridheil"
3266
3267 2005-12-22  Tim-Philipp Müller  <tim at centricular dot net>
3268
3269         * docs/faq/cvs.xml:
3270           Add missing quote, should be make ERROR_CFLAGS="".
3271
3272 2005-12-20  Wim Taymans  <wim@fluendo.com>
3273
3274         * docs/design/part-trickmodes.txt:
3275         More documentation on trickmodes.
3276
3277 2005-12-20  Edward Hervey  <edward@fluendo.com>
3278
3279         * gst/gstcaps.c: (gst_static_caps_get_type):
3280         * gst/gstcaps.h:
3281           API addition: GST_TYPE_STATIC_CAPS
3282         Added gpointer GType for GstStaticCaps so we can wrap them in bindings.
3283         * gst/gstpadtemplate.c: (gst_static_pad_template_get_type):
3284         * gst/gstpadtemplate.h:
3285           API addition: GST_TYPE_STATIC_PAD_TEMPLATE
3286         Added gpointer GType for GstStaticPadTemplate so we can wrap them in
3287         bindings.
3288
3289 2005-12-18  Wim Taymans  <wim@fluendo.com>
3290
3291         * libs/gst/base/gstadapter.c:
3292         * libs/gst/base/gstadapter.h:
3293         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
3294         (gst_base_sink_get_position):
3295         * libs/gst/base/gstbasesink.h:
3296         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
3297         (gst_base_src_default_query), (gst_base_src_default_do_seek),
3298         (gst_base_src_do_seek), (gst_base_src_perform_seek),
3299         (gst_base_src_send_event), (gst_base_src_update_length),
3300         (gst_base_src_get_range), (gst_base_src_loop),
3301         (gst_base_src_start):
3302         * libs/gst/base/gstbasesrc.h:
3303         * libs/gst/base/gstbasetransform.h:
3304         * libs/gst/base/gstcollectpads.h:
3305         * libs/gst/base/gstpushsrc.c:
3306         * libs/gst/base/gstpushsrc.h:
3307         * libs/gst/dataprotocol/dataprotocol.c:
3308         * libs/gst/dataprotocol/dataprotocol.h:
3309         * libs/gst/net/gstnetclientclock.h:
3310         * libs/gst/net/gstnettimeprovider.h:
3311         Documentation updates.
3312
3313 2005-12-18  Tim-Philipp Müller  <tim at centricular dot net>
3314
3315         * docs/manual/basics-helloworld.xml:
3316           Remove superfluous closing bracket in helloworld example.
3317
3318 2005-12-17  Tim-Philipp Müller  <tim at centricular dot net>
3319
3320         * tools/gst-launch.1.in:
3321           Update gst-launch man page; add a section with useful
3322           environment variables. Fixes #323882.
3323
3324 2005-12-16  Stefan Kost  <ensonic@users.sf.net>
3325
3326         * gst/gst.c:
3327         * gst/gst_private.h:
3328           change some char* into char[]
3329
3330 2005-12-16  Wim Taymans  <wim@fluendo.com>
3331
3332         * gst/gstregistryxml.c: (load_feature):
3333         Cleanups.
3334         Don't use g_object_unref on GstObjects so that we avoid
3335         leaks on unsafe glibs.
3336
3337 2005-12-16  Wim Taymans  <wim@fluendo.com>
3338
3339         * gst/gstbin.c: (gst_bin_recalc_state):
3340         Small doc updates.
3341
3342 2005-12-16  Wim Taymans  <wim@fluendo.com>
3343
3344         * common/check.mak:
3345         Added make forever target for check.
3346
3347 2005-12-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3348
3349         * gst/gst.c: (init_post):
3350           make the registry cache file HOST_CPU-dependent
3351
3352 2005-12-16  Andy Wingo  <wingo@pobox.com>
3353
3354         * plugins/elements/gstbufferstore.c
3355         (gst_buffer_store_cleared_func): Pay attention to g_list_append
3356         return value.
3357
3358         * tests/check/gst/gstobject.c
3359         (test_fake_object_name_threaded_unique): Pay attention to
3360         g_list_sort return value.
3361
3362 2005-12-16  Tim-Philipp Müller  <tim at centricular dot net>
3363
3364         * tools/gst-feedback-m.m:
3365           Update for 0.9/0.10 (fixes #323870).
3366
3367 2005-12-15  Tim-Philipp Müller  <tim at centricular dot net>
3368
3369         * gst/gstminiobject.c: (gst_value_mini_object_lcopy):
3370           Fix lcopy for mini objects, the mini object needs to be ref'ed.
3371           
3372         * tests/check/gst/gstminiobject.c: (my_foo_init),
3373         (my_foo_get_property), (my_foo_set_property), (my_foo_class_init),
3374         (test_value_collection), (gst_mini_object_suite):
3375           Add test to ensure refcounts end up as expected when passing
3376           GstMiniObjects through g_object_get() and g_object_set().
3377
3378 2005-12-14  Julien MOUTTE  <julien@moutte.net>
3379
3380         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
3381         (gst_collect_pads_remove_pad), (gst_collect_pads_is_collected),
3382         (gst_collect_pads_event), (gst_collect_pads_chain): Refactoring
3383         of collectpads. This version removes a lot of races without
3384         touching API/ABI. Yay !
3385
3386 2005-12-14  Jan Schmidt  <thaytan@mad.scientist.com>
3387
3388         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_link_prepare):
3389           Don't allow activation of a srcpad in pull_range if it has no
3390           getrange function.
3391           Change some debug statements to be a little clearer
3392
3393         * plugins/elements/gsttypefindelement.c:
3394         (gst_type_find_handle_src_query):
3395           Check that we have a peer before executing queries thereupon.
3396
3397         * tests/examples/metadata/read-metadata.c: (message_loop):
3398           Use gst_bus_pop instead of gst_bus_poll when we just want it to
3399           immediately return us any available message with 0 timeout.
3400
3401 2005-12-12  Michael Smith  <msmith@fluendo.com>
3402
3403         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
3404           Don't unref factories after calling them.
3405         * libs/gst/base/gsttypefindhelper.c: (gst_type_find_helper):
3406         * plugins/elements/gsttypefindelement.c:
3407         (gst_type_find_element_chain):
3408           Free lists of factories after using them. Fixing typefinding memory
3409           leaks.
3410
3411 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
3412
3413         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
3414         (gst_plugin_feature_load):
3415           more meaningful debug output
3416         * configure.ac:
3417         * tests/Makefile.am:
3418         * tests/old/examples/Makefile.am:
3419           make make distcheck happy again
3420
3421 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
3422
3423         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
3424           Catch the special case where we are operating chain-based,
3425           but the downstream peer pad has no chain function. Emit a
3426           custom error message in this case instead of letting the
3427           core generate one implying that this is some sort of core
3428           bug. It's not, it just means that whatever got plugged
3429           into the pipeline downstream when we announced the type
3430           can only operate pull-based, while our source can only
3431           operate push-based (e.g. http://foo/bar.mov ! qtdemux ! ...)
3432           Error string has not been marked for translation yet, as
3433           it probably needs some more work first.
3434
3435         (gst_type_find_element_get_best_possibility):
3436           Add helper function to find the best of all available
3437           found possibilities that qualify given the min. threshold.
3438
3439         (gst_type_find_element_handle_event):
3440           Fix the case where we get an EOS while still in TYPEFIND
3441           mode (we want to chose the best of all possible types,
3442           not just the first type that happens to be in our unsorted
3443           list of possible types).
3444
3445         (gst_type_find_element_chain):
3446           Make sure we return GST_FLOW_ERROR when we errored out
3447           in stop_typefinding(); also, don't just find the best of
3448           all found type entries and then use the last examined
3449           type entry, but actually use the best entry.
3450
3451 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
3452
3453         * tests/examples/typefind/typefind.c: (type_found):
3454         * tests/examples/xml/runxml.c: (xml_loaded):
3455           More gcc4 fixes and a mem leak fix.
3456
3457 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
3458
3459         * tests/examples/xml/createxml.c: (object_saved):
3460           gcc 4 fixes
3461
3462 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
3463
3464         * tests/Makefile.am:
3465           enable the examples even more
3466
3467 2005-12-12  Andy Wingo  <wingo@pobox.com>
3468
3469         * libs/gst/net/gstnettimeprovider.c
3470         (gst_net_time_provider_class_init, gst_net_time_provider_init)
3471         (gst_net_time_provider_set_property)
3472         (gst_net_time_provider_get_property):
3473         API addition: Export "active" as a GObject property.
3474         (gst_net_time_provider_thread): Only respond to time queries if
3475         the time provider is active.
3476
3477         * libs/gst/net/gstnettimeprovider.h: Add an "active" boolean to
3478         NetTimeProvider, preserving binary compat.
3479
3480 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
3481
3482         * tests/examples/controller/audio-example.c: (main):
3483         * tests/examples/launch/Makefile.am:
3484           convert comments again
3485
3486 2005-12-12  Wim Taymans  <wim@fluendo.com>
3487
3488         * libs/gst/base/gstpushsrc.c:
3489         Fix typo.
3490
3491 2005-12-12  Wim Taymans  <wim@fluendo.com>
3492
3493         * docs/libs/gstreamer-libs-sections.txt:
3494         Added new symbol to docs.
3495
3496         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
3497         (gst_base_src_init), (gst_base_src_set_format),
3498         (gst_base_src_default_query), (gst_base_src_query),
3499         (gst_base_src_default_do_seek), (gst_base_src_do_seek),
3500         (gst_base_src_perform_seek), (gst_base_src_send_event),
3501         (gst_base_src_default_event), (gst_base_src_event_handler),
3502         (gst_base_src_set_property), (gst_base_src_get_property),
3503         (gst_base_src_wait), (gst_base_src_do_sync),
3504         (gst_base_src_update_length), (gst_base_src_get_range),
3505         (gst_base_src_check_get_range), (gst_base_src_loop),
3506         (gst_base_src_default_negotiate), (gst_base_src_start),
3507         (gst_base_src_activate_push), (gst_base_src_activate_pull),
3508         (gst_base_src_change_state):
3509         * libs/gst/base/gstbasesrc.h:
3510         Implement seeking to other formats than _BYTES.
3511         Implement more seeking methods correctly.
3512         Doc updates.
3513         Added query vmethod.
3514         Added do_seek vmethod to make life easier for subclasses
3515         when seeking.
3516         API addition: gst_base_src_set_format()
3517
3518 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
3519
3520         * tests/examples/Makefile.am:
3521           added that too
3522
3523 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
3524
3525         * configure.ac:
3526         * docs/random/ensonic/media-device-daemon.txt:
3527         * tests/examples/controller/.cvsignore:
3528         * tests/examples/controller/Makefile.am:
3529         * tests/examples/controller/audio-example.c: (main):
3530         * tests/examples/helloworld/.cvsignore:
3531         * tests/examples/helloworld/Makefile.am:
3532         * tests/examples/helloworld/helloworld.c: (event_loop), (main):
3533         * tests/examples/launch/.cvsignore:
3534         * tests/examples/launch/Makefile.am:
3535         * tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
3536         * tests/examples/metadata/.cvsignore:
3537         * tests/examples/metadata/Makefile.am:
3538         * tests/examples/metadata/read-metadata.c: (message_loop),
3539         (make_pipeline), (print_tag), (main):
3540         * tests/examples/queue/.cvsignore:
3541         * tests/examples/queue/Makefile.am:
3542         * tests/examples/queue/queue.c: (event_loop), (main):
3543         * tests/examples/typefind/.cvsignore:
3544         * tests/examples/typefind/Makefile.am:
3545         * tests/examples/typefind/typefind.c: (type_found), (event_loop),
3546         (main):
3547         * tests/examples/xml/.cvsignore:
3548         * tests/examples/xml/Makefile.am:
3549         * tests/examples/xml/createxml.c: (object_saved), (main):
3550         * tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
3551         * tests/old/examples/Makefile.am:
3552         * tests/old/examples/TODO:
3553         * tests/old/examples/controller/.cvsignore:
3554         * tests/old/examples/controller/Makefile.am:
3555         * tests/old/examples/controller/audio-example.c:
3556         * tests/old/examples/helloworld/.cvsignore:
3557         * tests/old/examples/helloworld/Makefile.am:
3558         * tests/old/examples/helloworld/helloworld.c:
3559         * tests/old/examples/launch/.cvsignore:
3560         * tests/old/examples/launch/Makefile.am:
3561         * tests/old/examples/launch/mp3parselaunch.c:
3562         * tests/old/examples/launch/mp3play:
3563         * tests/old/examples/manual/Makefile.am:
3564         * tests/old/examples/metadata/Makefile.am:
3565         * tests/old/examples/metadata/read-metadata.c:
3566         * tests/old/examples/queue/.cvsignore:
3567         * tests/old/examples/queue/Makefile.am:
3568         * tests/old/examples/queue/queue.c:
3569         * tests/old/examples/typefind/.cvsignore:
3570         * tests/old/examples/typefind/Makefile.am:
3571         * tests/old/examples/typefind/typefind.c:
3572         * tests/old/examples/xml/.cvsignore:
3573         * tests/old/examples/xml/Makefile.am:
3574         * tests/old/examples/xml/createxml.c:
3575         * tests/old/examples/xml/runxml.c:
3576           applied some simple fixing to some examples
3577           re-enabled the working examples
3578
3579 2005-12-12  Wim Taymans  <wim@fluendo.com>
3580
3581         * gst/gstsegment.c: (gst_segment_init),
3582         (gst_segment_set_last_stop), (gst_segment_set_seek),
3583         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
3584         (gst_segment_to_running_time):
3585         Added more documentation.
3586         Make sure the last_pos value is updated properly.
3587         Make sure to_stream_time and to_running_time don't
3588         operate on wrong values.
3589
3590         * tests/check/gst/gstsegment.c: (GST_START_TEST):
3591         Update check.
3592
3593 2005-12-12  Michael Smith  <msmith@fluendo.com>
3594
3595         * plugins/elements/gsttypefindelement.c: (free_entry),
3596         (gst_type_find_element_chain):
3597           Now that we're not leaking factories, make sure we keep references
3598           to them while we need them.
3599
3600 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
3601
3602         * tests/check/gst/struct_i386.h:
3603           ifdef out the XML structs
3604
3605 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
3606
3607         * gst/gstvalue.c: (gst_value_transform_double_fraction):
3608           floor is not needed, F is always positive; this obviates the
3609           need for adding -lm when building without libxml
3610
3611 2005-12-12  Wim Taymans  <wim@fluendo.com>
3612
3613         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
3614         Take current playback rate into account when reporting
3615         the position.
3616
3617 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
3618
3619         * docs/manual/mime-world.fig:
3620           Let's try this again, this time with a file that is
3621           actually in XFig format.
3622
3623 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
3624
3625         * docs/manual/mime-world.fig:
3626           Add audioconvert element to diagram so that it
3627           matches the text and the code (fixes #319526).
3628
3629 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
3630
3631         * docs/pwg/building-chainfn.xml:
3632         * docs/pwg/building-pads.xml:
3633         * docs/pwg/building-state.xml:
3634         * docs/pwg/other-source.xml:
3635           Update state change stuff for 0.10 (fixes #322969).
3636
3637 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
3638
3639         * docs/manual/advanced-dataaccess.xml:
3640         * docs/manual/appendix-checklist.xml:
3641         * docs/manual/appendix-programs.xml:
3642         * docs/manual/basics-pads.xml:
3643         * docs/manual/highlevel-components.xml:
3644         * docs/manual/manual.xml:
3645           Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
3646           add converters in front of pipelines; remove curly
3647           brackets for threads stuff, they no longer exist; use
3648           GST_TYPE_FRACTION for framerates; update some pieces of
3649           code to 0.10, but there's plenty more to do.
3650
3651         * docs/manual/appendix-porting.xml:
3652           Expand on asynchroneous state changes; s/0.9/0.10/;
3653           mention disappearance of gst_init_get_popt_table()
3654           (fixes #322916).
3655
3656 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
3657
3658         * docs/faq/using.xml:
3659           Spider no longer exists, and neither does gst-launch-ext.
3660           Update examples to use decodebin and playbin and put
3661           converters in front of sinks (fixes #323726).
3662
3663 2005-12-09  Michael Smith  <msmith@fluendo.com>
3664
3665         * plugins/elements/gsttypefindelement.c: (find_peek),
3666         (gst_type_find_element_chain):
3667           Fix leaking element factories in typefinding.
3668           Fix problem where we forgot about a probable type on non-seekable
3669           files, and thus later mis-typefound it.
3670
3671 2005-12-09  Michael Smith  <msmith@fluendo.com>
3672
3673         * common/m4/gst-makecontext.m4:
3674         * common/m4/gst-mcsc.m4:
3675         * configure.ac:
3676         * win32/common/config.h:
3677         * win32/common/config.h.in:
3678           Remove makecontext stuff; not used in 0.10 and causes problems on
3679           HPUX according to bug #322441
3680
3681 2005-12-07  Wim Taymans  <wim@fluendo.com>
3682
3683         * tests/check/Makefile.am:
3684         * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
3685         (main):
3686         * tests/check/libs/struct_i386.h:
3687         Added ABI check for libs
3688
3689 2005-12-07  Wim Taymans  <wim@fluendo.com>
3690
3691         * tests/check/Makefile.am:
3692         And add the struct_i386.h to dist.
3693
3694 2005-12-07  Wim Taymans  <wim@fluendo.com>
3695
3696         * tests/check/Makefile.am:
3697         * tests/check/gst/.cvsignore:
3698         * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
3699         (main):
3700         * tests/check/gst/struct_i386.h:
3701         Added check for ABI compatibility.
3702
3703 2005-12-07  Wim Taymans  <wim@fluendo.com>
3704
3705         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
3706         (gst_fake_src_get_times), (gst_fake_src_create):
3707         Fix broken sync option, fixes #323259
3708
3709 2005-12-07  Wim Taymans  <wim@fluendo.com>
3710
3711         * gst/gstbuffer.c:
3712         Small docs update.
3713
3714         * gst/gstcaps.c: (gst_caps_is_equal):
3715         Don't assert on NULL <--> X. Fixes #323260
3716
3717         * gst/gstminiobject.c: (gst_mini_object_replace):
3718         If we're doing atomic operations, we might just as well use
3719         the proper way to get an atomic pointer.
3720
3721         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
3722         Clean up debugging.
3723
3724 2005-12-07  Michael Smith  <msmith@fluendo.com>
3725
3726         * gst/parse/grammar.y:
3727           Remove handling of { } for threads.
3728
3729 2005-12-06  David Schleef  <ds@schleef.org>
3730
3731         * libs/gst/base/gstbasetransform.c: speling fix.
3732
3733 2005-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
3734
3735         * docs/libs/tmpl/gstdataprotocol.sgml:
3736         * docs/random/omega/testing/gstobject.c:
3737         * gst/gst.c:
3738         * gst/gstclock.c:
3739         * gst/gstelement.c:
3740         * gst/gstelementfactory.c:
3741         * gst/gsterror.c:
3742         * gst/gstevent.c:
3743         * gst/gstghostpad.c:
3744         * gst/gstinfo.c:
3745         * gst/gstpadtemplate.c:
3746         * gst/gstregistryxml.c:
3747         * gst/gsttaglist.c:
3748         * gst/gsttagsetter.c:
3749         * gst/gsttypefind.c:
3750         * gst/gstvalue.c:
3751         * libs/gst/base/gstbasesrc.c:
3752         * libs/gst/net/gstnetclientclock.c:
3753         * libs/gst/net/gstnettimeprovider.c:
3754         * plugins/elements/gstfakesrc.c:
3755         * plugins/elements/gstfdsrc.c:
3756         * plugins/elements/gstfilesrc.c:
3757         * plugins/elements/gstidentity.c:
3758         * plugins/elements/gstqueue.c:
3759         * plugins/elements/gsttypefindelement.c:
3760         * plugins/indexers/gstfileindex.c:
3761         * plugins/indexers/gstmemindex.c:
3762         * tests/check/gst/gsttag.c:
3763         * tests/old/examples/cutter/cutter.c:
3764         * tests/old/examples/mixer/mixer.c:
3765         * tests/old/examples/xml/runxml.c: (main):
3766         * tests/old/testsuite/caps/normalisation.c:
3767         * tests/old/testsuite/debug/global.c:
3768         * tests/old/testsuite/parse/parse1.c:
3769         * tools/gst-xmlinspect.c:
3770         * win32/common/dirent.c:
3771           expand tabs
3772
3773 === release 0.10.0 ===
3774
3775 2005-12-05   <thomas (at) apestaart (dot) org>
3776
3777         * configure.ac:
3778           releasing 0.10.0, "Maroilles"
3779
3780 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
3781
3782         submitted by: Funda Wang <fundawang@linux.net.cn>
3783
3784         * po/LINGUAS:
3785         * po/zh_CN.po:
3786           added Chinese (Traditional) translation
3787
3788 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
3789
3790         * docs/gst/gstreamer-sections.txt:
3791         * docs/libs/tmpl/gstdataprotocol.sgml:
3792         * docs/random/thomasvs/TODO:
3793         * gst/gstutils.c:
3794         * gst/gstutils.h:
3795           fix docs
3796
3797 2005-12-05  Andy Wingo  <wingo@pobox.com>
3798
3799         patch by: Wim Taymans <wim@fluendo.com>
3800
3801         * libs/gst/base/gstbasetransform.c
3802         (gst_base_transform_prepare_output_buf)
3803         (gst_base_transform_buffer_alloc):
3804         * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
3805         alloc_buffer_and_set_caps.
3806
3807         * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
3808         set_caps on the source pad.
3809         (gst_pad_alloc_buffer_and_set_caps): New function, does what
3810         alloc_buffer used to do. Fixes #322874.
3811
3812         * docs/gst/gstreamer-sections.txt: 
3813         * docs/design/part-negotiation.txt: 
3814         * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
3815         changes.
3816
3817 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
3818
3819         patch by: Sebastien Moutte
3820
3821         * win32/MANIFEST:
3822         * win32/common/config.h.in:
3823         * win32/vs6/libgstcontroller.dsp:
3824           win32 build fixes
3825
3826 2005-12-05  Wim Taymans  <wim@fluendo.com>
3827
3828         * gst/gstcaps.c: (gst_caps_is_equal):
3829         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
3830         (gst_fake_src_create):
3831         Back out previous code changes, leave doc updates, file bugs 
3832         instead. 
3833
3834 2005-12-05  Wim Taymans  <wim@fluendo.com>
3835
3836         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
3837         (gst_fake_src_get_times), (gst_fake_src_create):
3838         * plugins/elements/gstfakesrc.h:
3839         Fix broken sync code.
3840
3841 2005-12-05  Wim Taymans  <wim@fluendo.com>
3842
3843         * gst/gstcaps.c: (gst_caps_is_equal):
3844         Comparing NULL against !NULL yields different caps, not a
3845         failure.
3846
3847 2005-12-05  Wim Taymans  <wim@fluendo.com>
3848
3849         * gst/gstpipeline.c:
3850         Fix small typo in docs.
3851
3852 2005-12-05  Andy Wingo  <wingo@pobox.com>
3853
3854         patch by: Thomas Vander Stichele  <thomas at apestaart dot org>
3855
3856         * gst/gst.c (init_post): remove hard-coded 0.9 location for
3857         registries/plugins with a MAJORMINOR one.
3858         (plugin_desc): Rename library from gstcoreleements to
3859         staticelements. Fixes #323222.
3860
3861 2005-12-05  Tim-Philipp Müller  <tim at centricular dot net>
3862
3863         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
3864           Change debug category to 'collectpads' from 'collect_pads'
3865           (fixes #323250).
3866
3867 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
3868
3869         patch by: Sebastien Moutte
3870
3871         * libs/gst/controller/gstinterpolation.c:
3872           use convert function for uint64/double
3873         * win32/vs6/libgstcontroller.dsp:
3874           link to GLib
3875
3876 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
3877
3878         * gst/gstutils.c: (gst_util_guint64_to_gdouble),
3879         (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
3880         * gst/gstutils.h:
3881         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
3882           add tests that seem to show that the guint64/gdouble conversions
3883           are correct.
3884
3885 2005-12-02  Wim Taymans  <wim@fluendo.com>
3886
3887         * gst/gstregistry.c: (gst_registry_add_path):
3888         * gst/gstregistry.h:
3889         * gst/gstregistryxml.c:
3890         Fix docs again.
3891
3892 2005-12-02  Wim Taymans  <wim@fluendo.com>
3893
3894         * gst/gstutils.c: (gst_util_uint64_scale_int64),
3895         (gst_util_uint64_scale_int):
3896         Small cleanup.
3897
3898         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
3899         Add debug log line.
3900
3901         * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
3902         Add FIXME.
3903
3904 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3905
3906         * win32/MANIFEST:
3907         * win32/common/config.h:
3908         * win32/vs6/gstreamer.dsw:
3909         * win32/vs6/libgstcoreelements.dsp:
3910         * win32/vs6/libgstelements.dsp:
3911           renamed core elements plugin
3912
3913 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3914
3915         * tools/gst-run.c: (compare_major_minor), (find_highest_version),
3916         (get_candidates):
3917           do piece-wise major/minor comparison so 0.9 < 0.10
3918           also allow .exe extensions for tools
3919
3920 2005-12-02  Michael Smith  <msmith@fluendo.com>
3921
3922         * gst/gst.c:
3923           Escape a % to make gtkdoc happier; bug 322958.
3924
3925 === release 0.9.7 ===
3926
3927 2005-12-01   <thomas (at) apestaart (dot) org>
3928
3929         * configure.ac:
3930           releasing 0.9.7, "My Dog Has No Nose"
3931
3932 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
3933
3934         * common/gst-xmlinspect.py:
3935         * configure.ac:
3936         * docs/libs/tmpl/gstdataprotocol.sgml:
3937         * docs/random/release:
3938         * po/af.po:
3939         * po/az.po:
3940         * po/bg.po:
3941         * po/ca.po:
3942         * po/cs.po:
3943         * po/de.po:
3944         * po/en_GB.po:
3945         * po/fr.po:
3946         * po/it.po:
3947         * po/nb.po:
3948         * po/nl.po:
3949         * po/ru.po:
3950         * po/sq.po:
3951         * po/sr.po:
3952         * po/sv.po:
3953         * po/tr.po:
3954         * po/uk.po:
3955         * po/vi.po:
3956         * win32/common/config.h:
3957         * win32/common/config.h.in:
3958         * win32/vs6/gst_inspect.dsp:
3959         * win32/vs6/gst_launch.dsp:
3960         * win32/vs6/libgstbase.dsp:
3961         * win32/vs6/libgstelements.dsp:
3962         * win32/vs6/libgstreamer.dsp:
3963         * win32/vs7/GStreamer.vcproj:
3964         * win32/vs7/gst-inspect.vcproj:
3965         * win32/vs7/gst-launch.vcproj:
3966         * win32/vs7/libgstbase.vcproj:
3967           bump GST_MAJORMINOR to 0.10
3968           reset libtool version
3969
3970 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
3971
3972         * po/LINGUAS:
3973         * po/bg.po:
3974           Added Bulgarian translation by (Alexander Shopov)
3975
3976 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
3977
3978         * tests/check/gst/gstplugin.c:
3979           fix test
3980
3981 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
3982
3983         * common/gst-xmlinspect.py:
3984         * common/gtk-doc-plugins.mak:
3985         * configure.ac:
3986         * docs/Makefile.am:
3987         * docs/gst/Makefile.am:
3988         * docs/gst/gstreamer-docs.sgml:
3989         * docs/gst/gstreamer-sections.txt:
3990         * docs/gst/gstreamer.types:
3991         * docs/gst/gstreamer.types.in:
3992         * docs/plugins/Makefile.am:
3993         * docs/plugins/gstreamer-plugins-docs.sgml:
3994         * docs/plugins/gstreamer-plugins-sections.txt:
3995         * docs/plugins/gstreamer-plugins.types:
3996         * docs/plugins/inspect.stamp:
3997         * docs/plugins/inspect/plugin-coreelements.xml:
3998         * docs/plugins/inspect/plugin-coreindexers.xml:
3999         * docs/plugins/scanobj-build.stamp:
4000         * gstreamer.spec.in:
4001         * plugins/elements/Makefile.am:
4002         * plugins/elements/gstelements.c:
4003         * plugins/elements/gstfakesink.c:
4004         * plugins/elements/gstfakesrc.c:
4005         * plugins/elements/gstfilesink.c:
4006         * plugins/elements/gstfilesrc.c:
4007         * plugins/elements/gstqueue.c:
4008         * plugins/indexers/Makefile.am:
4009         * plugins/indexers/gstindexers.c:
4010           document core plugins in a separate document just like all the
4011           others
4012           rename these plugins to something starting with core
4013
4014 2005-12-01  Andy Wingo  <wingo@pobox.com>
4015
4016         * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
4017         padding here before, but it missed the commit.
4018
4019 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
4020
4021         * libs/gst/controller/gstinterpolation.c:
4022           whitespace prices have crashed, we should feel free to use some now
4023           use gst_guint64_to_gdouble
4024
4025 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
4026
4027         * libs/gst/controller/gstcontroller.c:
4028         * libs/gst/controller/gsthelper.c:
4029         * libs/gst/controller/gstinterpolation.c:
4030         * libs/gst/controller/lib.c:
4031           wrap config.h include
4032
4033 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
4034
4035         * docs/gst/gstreamer-sections.txt:
4036           update docs
4037
4038 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
4039
4040         * plugins/elements/gstelements.c:
4041         * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
4042         (gst_fd_sink__class_init), (gst_fd_sink__init),
4043         (gst_fd_sink__chain), (gst_fd_sink__set_property),
4044         (gst_fd_sink__get_property):
4045         * plugins/elements/gstfdsink.h:
4046         * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
4047         (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
4048         (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
4049         (gst_fd_src_unlock), (gst_fd_src_set_property),
4050         (gst_fd_src_get_property), (gst_fd_src_create),
4051         (gst_fd_src_is_seekable), (gst_fd_src_get_size),
4052         (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
4053         (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
4054         (gst_fd_src_uri_handler_init):
4055         * plugins/elements/gstfdsrc.h:
4056         * plugins/elements/gstqueue.c: (gst_queue_get_type):
4057           more anal cleanup
4058
4059 2005-11-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
4060
4061         * docs/gst/Makefile.am:
4062         * docs/gst/gstreamer.types.in:
4063         * gst/Makefile.am:
4064           fix the docs build
4065
4066 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
4067
4068         * configure.ac:
4069         * gst/Makefile.am:
4070         * gst/gst.c:
4071         * gst/gstplugin.h:
4072         * gst/gstregistry.h:
4073         * tests/benchmarks/complexity.c:
4074         * tests/benchmarks/mass-elements.c:
4075         * tests/check/Makefile.am:
4076         * tools/Makefile.am:
4077         * tools/gst-inspect.c:
4078         * tools/gst-xmlinspect.c:
4079           various fixes to make
4080           --disable-nls --disable-registry --disable-loadsave
4081           --disable-parse --disable-gst-debug
4082           work and get the core .so down to 360444 bytes after stripping
4083
4084 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
4085
4086         * Makefile.am:
4087         * configure.ac:
4088           descend into tests
4089         * docs/random/thomasvs/TODO:
4090         * tests/Makefile.am:
4091         * tests/README:
4092           add a README
4093
4094 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
4095
4096         * win32/GStreamer.vcproj:
4097         * win32/MANIFEST:
4098         * win32/Makefile:
4099         * win32/Makefile.inspect:
4100         * win32/Makefile.launch:
4101         * win32/Makefile.register:
4102         * win32/README.txt:
4103         * win32/gst-inspect.vcproj:
4104         * win32/gst-launch.vcproj:
4105         * win32/gst-register.vcproj:
4106         * win32/gstelements.vcproj:
4107         * win32/gstgetbits.def:
4108         * win32/gstgetbits.vcproj:
4109         * win32/gstreamer-dbg.def:
4110         * win32/gstreamer.def:
4111         * win32/libgstbase.def:
4112         * win32/libgstbase.vcproj:
4113         * win32/link_oldruntime.c:
4114         * win32/mman.c:
4115         * win32/mman.h:
4116         * win32/mman.inl:
4117         * win32/msvc71.sln:
4118           move even more stuff, win32/ is nice and clean now
4119
4120 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
4121
4122         * libs/gst/control/.cvsignore:
4123         * win32/MANIFEST:
4124         * win32/config.h:
4125         * win32/dirent.c:
4126         * win32/dirent.h:
4127         * win32/gstbytestream.def:
4128         * win32/gstbytestream.vcproj:
4129         * win32/gstconfig.h:
4130         * win32/gstenumtypes.c:
4131         * win32/gstenumtypes.h:
4132         * win32/gstoptimalscheduler.vcproj:
4133         * win32/gstversion.h:
4134         * win32/gtchar.h:
4135         * win32/testsuite/bins.vcproj:
4136         * win32/testsuite/bytestream.vcproj:
4137         * win32/testsuite/caps.vcproj:
4138         * win32/testsuite/cleanup.vcproj:
4139         * win32/testsuite/clock.vcproj:
4140         * win32/testsuite/debug.vcproj:
4141         * win32/testsuite/dlopen.vcproj:
4142         * win32/testsuite/dynparams.vcproj:
4143         * win32/testsuite/elements.vcproj:
4144         * win32/testsuite/ghostpads.vcproj:
4145         * win32/testsuite/indexers.vcproj:
4146         * win32/testsuite/negotiation.vcproj:
4147         * win32/testsuite/parse.vcproj:
4148         * win32/testsuite/plugin.vcproj:
4149         * win32/testsuite/refcounting.vcproj:
4150         * win32/testsuite/schedulers.vcproj:
4151         * win32/testsuite/states.vcproj:
4152         * win32/testsuite/tags.vcproj:
4153         * win32/testsuite/threads.vcproj:
4154           remove old win32 stuff that isn't maintained and should be
4155           reorganized
4156
4157 2005-11-30  Andy Wingo  <wingo@pobox.com>
4158
4159         * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
4160         loading the gst.interfaces python module bork.
4161
4162         * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
4163         available since GLib 2.2. Fixes #318031.
4164
4165 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
4166
4167         * Makefile.am:
4168         * check/.cvsignore:
4169         * check/Makefile.am:
4170         * check/elements/.cvsignore:
4171         * check/elements/fakesrc.c:
4172         * check/elements/fdsrc.c:
4173         * check/elements/identity.c:
4174         * check/generic/.cvsignore:
4175         * check/generic/states.c:
4176         * check/gst-libs/.cvsignore:
4177         * check/gst-libs/controller.c:
4178         * check/gst-libs/gdp.c:
4179         * check/gst/.cvsignore:
4180         * check/gst/capslist.h:
4181         * check/gst/gst.c:
4182         * check/gst/gstbin.c:
4183         * check/gst/gstbuffer.c:
4184         * check/gst/gstbus.c:
4185         * check/gst/gstcaps.c:
4186         * check/gst/gstelement.c:
4187         * check/gst/gstevent.c:
4188         * check/gst/gstghostpad.c:
4189         * check/gst/gstiterator.c:
4190         * check/gst/gstmessage.c:
4191         * check/gst/gstminiobject.c:
4192         * check/gst/gstobject.c:
4193         * check/gst/gstpad.c:
4194         * check/gst/gstpipeline.c:
4195         * check/gst/gstplugin.c:
4196         * check/gst/gstsegment.c:
4197         * check/gst/gststructure.c:
4198         * check/gst/gstsystemclock.c:
4199         * check/gst/gsttag.c:
4200         * check/gst/gstutils.c:
4201         * check/gst/gstvalue.c:
4202         * check/net/.cvsignore:
4203         * check/net/gstnetclientclock.c:
4204         * check/net/gstnettimeprovider.c:
4205         * check/pipelines/.cvsignore:
4206         * check/pipelines/cleanup.c:
4207         * check/pipelines/simple_launch_lines.c:
4208         * check/pipelines/stress.c:
4209         * check/states/.cvsignore:
4210         * check/states/sinks.c:
4211         * configure.ac:
4212         * examples/Makefile.am:
4213         * examples/appreader/.cvsignore:
4214         * examples/appreader/Makefile.am:
4215         * examples/appreader/appreader.c:
4216         * examples/controller/.cvsignore:
4217         * examples/controller/Makefile.am:
4218         * examples/controller/audio-example.c:
4219         * examples/cutter/.cvsignore:
4220         * examples/cutter/Makefile.am:
4221         * examples/cutter/cutter.c:
4222         * examples/cutter/cutter.h:
4223         * examples/events/Makefile.am:
4224         * examples/events/seek.c:
4225         * examples/helloworld/.cvsignore:
4226         * examples/helloworld/Makefile.am:
4227         * examples/helloworld/helloworld.c:
4228         * examples/helloworld2/.cvsignore:
4229         * examples/helloworld2/Makefile.am:
4230         * examples/helloworld2/helloworld2.c:
4231         * examples/launch/.cvsignore:
4232         * examples/launch/Makefile.am:
4233         * examples/launch/mp3parselaunch.c:
4234         * examples/launch/mp3play:
4235         * examples/manual/.cvsignore:
4236         * examples/manual/Makefile.am:
4237         * examples/manual/extract.pl:
4238         * examples/metadata/Makefile.am:
4239         * examples/metadata/read-metadata.c:
4240         * examples/mixer/.cvsignore:
4241         * examples/mixer/Makefile.am:
4242         * examples/mixer/mixer.c:
4243         * examples/mixer/mixer.h:
4244         * examples/pingpong/.cvsignore:
4245         * examples/pingpong/Makefile.am:
4246         * examples/pingpong/pingpong.c:
4247         * examples/plugins/.cvsignore:
4248         * examples/plugins/Makefile.am:
4249         * examples/plugins/example.c:
4250         * examples/plugins/example.h:
4251         * examples/pwg/.cvsignore:
4252         * examples/pwg/Makefile.am:
4253         * examples/pwg/extract.pl:
4254         * examples/queue/.cvsignore:
4255         * examples/queue/Makefile.am:
4256         * examples/queue/queue.c:
4257         * examples/queue2/.cvsignore:
4258         * examples/queue2/Makefile.am:
4259         * examples/queue2/queue2.c:
4260         * examples/queue3/.cvsignore:
4261         * examples/queue3/Makefile.am:
4262         * examples/queue3/queue3.c:
4263         * examples/queue4/.cvsignore:
4264         * examples/queue4/Makefile.am:
4265         * examples/queue4/queue4.c:
4266         * examples/retag/.cvsignore:
4267         * examples/retag/Makefile.am:
4268         * examples/retag/retag.c:
4269         * examples/retag/transcode.c:
4270         * examples/thread/.cvsignore:
4271         * examples/thread/Makefile.am:
4272         * examples/thread/thread.c:
4273         * examples/typefind/.cvsignore:
4274         * examples/typefind/Makefile.am:
4275         * examples/typefind/typefind.c:
4276         * examples/xml/.cvsignore:
4277         * examples/xml/Makefile.am:
4278         * examples/xml/createxml.c:
4279         * examples/xml/runxml.c:
4280         * tests/Makefile.am:
4281         * tests/check/Makefile.am:
4282         * testsuite/.cvsignore:
4283         * testsuite/Makefile.am:
4284         * testsuite/Rules:
4285         * testsuite/caps/.cvsignore:
4286         * testsuite/caps/Makefile.am:
4287         * testsuite/caps/app_fixate.c:
4288         * testsuite/caps/audioscale.c:
4289         * testsuite/caps/caps.c:
4290         * testsuite/caps/caps.h:
4291         * testsuite/caps/caps_strings:
4292         * testsuite/caps/compatibility.c:
4293         * testsuite/caps/deserialize.c:
4294         * testsuite/caps/enumcaps.c:
4295         * testsuite/caps/eratosthenes.c:
4296         * testsuite/caps/filtercaps.c:
4297         * testsuite/caps/fixed.c:
4298         * testsuite/caps/fraction-convert.c:
4299         * testsuite/caps/fraction-multiply-and-zero.c:
4300         * testsuite/caps/intersect2.c:
4301         * testsuite/caps/intersection.c:
4302         * testsuite/caps/normalisation.c:
4303         * testsuite/caps/random.c:
4304         * testsuite/caps/renegotiate.c:
4305         * testsuite/caps/sets.c:
4306         * testsuite/caps/simplify.c:
4307         * testsuite/caps/string-conversions.c:
4308         * testsuite/caps/structure.c:
4309         * testsuite/caps/subtract.c:
4310         * testsuite/caps/union.c:
4311         * testsuite/debug/.cvsignore:
4312         * testsuite/debug/Makefile.am:
4313         * testsuite/debug/category.c:
4314         * testsuite/debug/commandline.c:
4315         * testsuite/debug/global.c:
4316         * testsuite/debug/output.c:
4317         * testsuite/debug/printf_extension.c:
4318         * testsuite/dlopen/.cvsignore:
4319         * testsuite/dlopen/Makefile.am:
4320         * testsuite/dlopen/dlopen_gst.c:
4321         * testsuite/dlopen/loadgst.c:
4322         * testsuite/elements/.cvsignore:
4323         * testsuite/elements/Makefile.am:
4324         * testsuite/elements/gst-inspect-check.in:
4325         * testsuite/elements/struct_i386.h:
4326         * testsuite/elements/struct_size.c:
4327         * testsuite/indexers/.cvsignore:
4328         * testsuite/indexers/Makefile.am:
4329         * testsuite/indexers/cache1.c:
4330         * testsuite/indexers/indexdump.c:
4331         * testsuite/parse/.cvsignore:
4332         * testsuite/parse/Makefile.am:
4333         * testsuite/parse/parse1.c:
4334         * testsuite/parse/parse2.c:
4335         * testsuite/plugin/.cvsignore:
4336         * testsuite/plugin/Makefile.am:
4337         * testsuite/plugin/README:
4338         * testsuite/plugin/dynamic.c:
4339         * testsuite/plugin/linked.c:
4340         * testsuite/plugin/loading.c:
4341         * testsuite/plugin/registry.c:
4342         * testsuite/plugin/static.c:
4343         * testsuite/plugin/static2.c:
4344         * testsuite/plugin/testplugin.c:
4345         * testsuite/plugin/testplugin2.c:
4346         * testsuite/plugin/testplugin2_s.c:
4347         * testsuite/plugin/testplugin_s.c:
4348         * testsuite/refcounting/.cvsignore:
4349         * testsuite/refcounting/Makefile.am:
4350         * testsuite/refcounting/bin.c:
4351         * testsuite/refcounting/element.c:
4352         * testsuite/refcounting/element_pad.c:
4353         * testsuite/refcounting/mainloop.c:
4354         * testsuite/refcounting/mem.c:
4355         * testsuite/refcounting/mem.h:
4356         * testsuite/refcounting/object.c:
4357         * testsuite/refcounting/pad.c:
4358         * testsuite/refcounting/sched.c:
4359         * testsuite/refcounting/thread.c:
4360         * testsuite/states/.cvsignore:
4361         * testsuite/states/Makefile.am:
4362         * testsuite/states/bin.c:
4363         * testsuite/states/locked.c:
4364         * testsuite/states/parent.c:
4365         * testsuite/threads/.cvsignore:
4366         * testsuite/threads/159566.c:
4367         * testsuite/threads/159852.c:
4368         * testsuite/threads/Makefile.am:
4369         * testsuite/threads/queue.c:
4370         * testsuite/threads/signals.c:
4371         * testsuite/threads/staticrec.c:
4372         * testsuite/threads/thread.c:
4373         * testsuite/threads/threadb.c:
4374         * testsuite/threads/threadc.c:
4375         * testsuite/threads/threadd.c:
4376         * testsuite/threads/threade.c:
4377         * testsuite/threads/threadf.c:
4378         * testsuite/threads/threadg.c:
4379         * testsuite/threads/threadh.c:
4380         * testsuite/threads/threadi.c:
4381           move all of these under tests
4382
4383 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
4384
4385         * configure.ac:
4386         * tests/Makefile.am:
4387           fix distcheck
4388
4389 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
4390
4391         * docs/gst/gstreamer-sections.txt:
4392         * tests/sched/.cvsignore:
4393         * tests/sched/Makefile.am:
4394         * tests/sched/cases/(fs-fs).xml:
4395         * tests/sched/cases/(fs-i-fs).xml:
4396         * tests/sched/cases/(fs-i-i-fs).xml:
4397         * tests/sched/cases/(fs-i-q[i-fs]).xml:
4398         * tests/sched/dynamic-pipeline.c:
4399         * tests/sched/interrupt1.c:
4400         * tests/sched/interrupt2.c:
4401         * tests/sched/interrupt3.c:
4402         * tests/sched/runtestcases:
4403         * tests/sched/runxml.c:
4404         * tests/sched/sched-stress.c:
4405         * tests/sched/sort.c:
4406         * tests/sched/testcases:
4407         * tests/sched/testcases1.tc:
4408         * tests/seeking/.cvsignore:
4409         * tests/seeking/Makefile.am:
4410         * tests/seeking/seeking1.c:
4411         * tests/threadstate/.cvsignore:
4412         * tests/threadstate/Makefile.am:
4413         * tests/threadstate/test1.c:
4414         * tests/threadstate/test2.c:
4415         * tests/threadstate/threadstate1.c:
4416         * tests/threadstate/threadstate2.c:
4417         * tests/threadstate/threadstate3.c:
4418         * tests/threadstate/threadstate4.c:
4419         * tests/threadstate/threadstate5.c:
4420           remove obsolete tests
4421         * configure.ac:
4422         * tests/bench-complexity.scm:
4423         * tests/bench-mass_elements.scm:
4424         * tests/complexity.c:
4425         * tests/complexity.gnuplot:
4426         * tests/instantiate/.cvsignore:
4427         * tests/instantiate/Makefile.am:
4428         * tests/instantiate/caps.c:
4429         * tests/mass_elements.c:
4430         * tests/network-clock-utils.scm:
4431         * tests/network-clock.scm:
4432         * tests/plot-data:
4433         First pass at cleaning up tests/ dir before moving the rest
4434         Combined with CVS surgery
4435
4436 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
4437
4438         * po/POTFILES.in:
4439           queue has moved, update
4440
4441 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
4442
4443         * docs/gst/gstreamer-sections.txt:
4444           remove double entries from the docs
4445         * gst/gst_private.h:
4446         * gst/gstinfo.c: (_gst_debug_init):
4447           remove the THREAD debug category
4448         * gst/Makefile.am:
4449         * gst/gstqueue.c:
4450         * gst/gstqueue.h:
4451         * docs/gst/gstreamer.types:
4452         * plugins/elements/gstqueue.c: (gst_queue_get_type),
4453         (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
4454           completely move queue and fix up debugging categories
4455
4456 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
4457
4458         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
4459           make initialization portable, using LL is not
4460
4461 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
4462
4463         * win32/common/gstconfig.h:
4464           add large padding
4465
4466 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
4467
4468         * win32/common/libgstreamer.def:
4469           rename symbols; sort base section
4470
4471 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
4472
4473         * gst/gstclock.c: (do_linear_regression):
4474           remove crack non-portable handrolled DEBUG macro
4475
4476 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
4477
4478         * docs/random/release:
4479           update notes
4480         * win32/common/gstenumtypes.c: (register_gst_object_flags),
4481         (gst_object_flags_get_type), (register_gst_bin_flags),
4482         (gst_bin_flags_get_type), (register_gst_buffer_flag),
4483         (gst_buffer_flag_get_type), (register_gst_bus_flags),
4484         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
4485         (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
4486         (gst_caps_flags_get_type), (register_gst_clock_return),
4487         (gst_clock_return_get_type), (register_gst_clock_entry_type),
4488         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
4489         (gst_clock_flags_get_type), (register_gst_state),
4490         (gst_state_get_type), (register_gst_state_change_return),
4491         (gst_state_change_return_get_type), (register_gst_state_change),
4492         (gst_state_change_get_type), (register_gst_element_flags),
4493         (gst_element_flags_get_type), (register_gst_core_error),
4494         (gst_core_error_get_type), (register_gst_library_error),
4495         (gst_library_error_get_type), (register_gst_resource_error),
4496         (gst_resource_error_get_type), (register_gst_stream_error),
4497         (gst_stream_error_get_type), (register_gst_event_type_flags),
4498         (gst_event_type_flags_get_type), (register_gst_event_type),
4499         (gst_event_type_get_type), (register_gst_seek_type),
4500         (gst_seek_type_get_type), (register_gst_seek_flags),
4501         (gst_seek_flags_get_type), (register_gst_format),
4502         (gst_format_get_type), (register_gst_index_certainty),
4503         (gst_index_certainty_get_type), (register_gst_index_entry_type),
4504         (gst_index_entry_type_get_type),
4505         (register_gst_index_lookup_method),
4506         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
4507         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
4508         (gst_index_resolver_method_get_type), (register_gst_index_flags),
4509         (gst_index_flags_get_type), (register_gst_debug_level),
4510         (gst_debug_level_get_type), (register_gst_debug_color_flags),
4511         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
4512         (gst_iterator_result_get_type), (register_gst_iterator_item),
4513         (gst_iterator_item_get_type), (register_gst_message_type),
4514         (gst_message_type_get_type), (register_gst_mini_object_flags),
4515         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
4516         (gst_pad_link_return_get_type), (register_gst_flow_return),
4517         (gst_flow_return_get_type), (register_gst_activate_mode),
4518         (gst_activate_mode_get_type), (register_gst_pad_direction),
4519         (gst_pad_direction_get_type), (register_gst_pad_flags),
4520         (gst_pad_flags_get_type), (register_gst_pad_presence),
4521         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
4522         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
4523         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
4524         (gst_plugin_error_get_type), (register_gst_plugin_flags),
4525         (gst_plugin_flags_get_type), (register_gst_rank),
4526         (gst_rank_get_type), (register_gst_query_type),
4527         (gst_query_type_get_type), (register_gst_tag_merge_mode),
4528         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
4529         (gst_tag_flag_get_type), (register_gst_task_state),
4530         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
4531         (gst_alloc_trace_flags_get_type),
4532         (register_gst_type_find_probability),
4533         (gst_type_find_probability_get_type), (register_gst_uri_type),
4534         (gst_uri_type_get_type), (register_gst_parse_error),
4535         (gst_parse_error_get_type):
4536         * win32/common/gstenumtypes.h:
4537         * win32/common/gstversion.h:
4538           update visual studio generated files
4539
4540 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
4541
4542         * win32/vs6/libgstbase.dsp:
4543         * win32/vs6/libgstelements.dsp:
4544           update project files for new locations
4545
4546 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
4547
4548         * Makefile.am:
4549           remove some files
4550         * README:
4551           reinstate and update
4552         * DEVEL:
4553         * REQUIREMENTS:
4554           removed
4555         * LICENSE:
4556         * docs/random/LICENSE:
4557           moved to random
4558
4559 2005-11-30  Edward Hervey  <edward@fluendo.com>
4560
4561         * gst/gsttypefind.c: (gst_type_find_register):
4562         * gst/gsttypefind.h:
4563         * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
4564         (gst_type_find_factory_dispose):
4565         * gst/gsttypefindfactory.h:
4566         Fix memory leak in GstTypeFindFactory.
4567
4568 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
4569
4570         * gst/gst.c:
4571         * plugins/elements/Makefile.am:
4572         * plugins/elements/gstelements.c:
4573         * plugins/elements/gstqueue.c:
4574           move queue from core to the elements plugin
4575
4576 2005-11-29  Andy Wingo  <wingo@pobox.com>
4577
4578         * libs/gst/base/gstbasetransform.h: 
4579         * libs/gst/base/gstbasesrc.h: 
4580         * libs/gst/base/gstbasesink.h: en-LARGE the padding.
4581
4582         * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
4583         of pointers by which to pad very extensible base classes (like the
4584         ones in libs/gst/base).
4585
4586 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
4587
4588         * docs/gst/gstreamer-docs.sgml:
4589         * docs/gst/gstreamer-sections.txt:
4590         * docs/libs/gstreamer-libs-docs.sgml:
4591         * docs/libs/gstreamer-libs-sections.txt:
4592           moving documentation from core to lib
4593
4594 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
4595
4596         * check/Makefile.am:
4597         * configure.ac:
4598         * docs/gst/Makefile.am:
4599         * gst/Makefile.am:
4600         * gst/base/.cvsignore:
4601         * gst/base/Makefile.am:
4602         * gst/base/README:
4603         * gst/base/gstadapter.c:
4604         * gst/base/gstadapter.h:
4605         * gst/base/gstbasesink.c:
4606         * gst/base/gstbasesink.h:
4607         * gst/base/gstbasesrc.c:
4608         * gst/base/gstbasesrc.h:
4609         * gst/base/gstbasetransform.c:
4610         * gst/base/gstbasetransform.h:
4611         * gst/base/gstcollectpads.c:
4612         * gst/base/gstcollectpads.h:
4613         * gst/base/gstpushsrc.c:
4614         * gst/base/gstpushsrc.h:
4615         * gst/base/gsttypefindhelper.c:
4616         * gst/base/gsttypefindhelper.h:
4617         * gst/check/Makefile.am:
4618         * gst/check/gstcheck.c:
4619         * gst/check/gstcheck.h:
4620         * gst/net/Makefile.am:
4621         * gst/net/gstnet.h:
4622         * gst/net/gstnetclientclock.c:
4623         * gst/net/gstnetclientclock.h:
4624         * gst/net/gstnettimepacket.c:
4625         * gst/net/gstnettimepacket.h:
4626         * gst/net/gstnettimeprovider.c:
4627         * gst/net/gstnettimeprovider.h:
4628         * libs/gst/Makefile.am:
4629         * libs/gst/base/Makefile.am:
4630         * libs/gst/base/gstbasetransform.c:
4631         * libs/gst/check/Makefile.am:
4632         * plugins/elements/Makefile.am:
4633         * po/POTFILES.in:
4634           CVS surgery + support to move base, check, and net out of gst
4635           and into libs/gst
4636
4637 2005-11-29  Andy Wingo  <wingo@pobox.com>
4638
4639         * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
4640
4641         * gst/gststructure.h (struct _GstStructure): Only one pointer of
4642         padding.
4643
4644         * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
4645
4646         * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
4647
4648         * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
4649
4650         * gst/gstobject.h: (struct _GstObject): Only one pointer of
4651         padding; reduces object size by about 30%. We don't expect
4652         anything else to go into gstobject.
4653
4654         * gst/gstminiobject.h (struct _GstMiniObject)
4655         (struct _GstMiniObjectClass): Only one pointer of padding; the
4656         payload is only a pointer and two ints anyway. For the class there
4657         are only two methods as well.
4658         
4659         * gst/gstelement.h (struct _GstElementClass): Removed
4660         the state_changed signal callback, it is not used.
4661
4662 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
4663
4664         * docs/gst/gstreamer.types:
4665           fix includes, though they are a little dinky
4666
4667 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
4668
4669         * check/Makefile.am:
4670           look in the right place for elements, a lot more chance of
4671           success
4672         * gst/Makefile.am:
4673           remove indexers and elements subdirs
4674         * plugins/Makefile.am:
4675           make indexers conditional
4676
4677 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
4678
4679         * Makefile.am:
4680         * configure.ac:
4681         * plugins/elements/Makefile.am:
4682         * plugins/elements/gstcapsfilter.c:
4683         * plugins/elements/gstfilesink.c:
4684         * plugins/elements/gstfilesrc.c:
4685         * plugins/elements/gstidentity.c:
4686         * plugins/indexers/Makefile.am:
4687           do CVS surgery and related build fixery to move elements
4688           and indexers in a new gstreamer/plugins directory, out of the
4689           gst/ directory
4690
4691 2005-11-29  Andy Wingo  <wingo@pobox.com>
4692
4693         * check/Makefile.am:
4694         * pkgconfig/gstreamer-net-uninstalled.pc.in:
4695         * pkgconfig/gstreamer-net.pc.in:
4696         * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
4697         #322257.
4698
4699 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
4700
4701         * tools/Makefile.am:
4702         * tools/gst-complete.1.in:
4703         * tools/gst-complete.c:
4704         * tools/gst-compprep.1.in:
4705         * tools/gst-compprep.c:
4706           removing -compprep and -complete
4707
4708 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
4709
4710         * gst/gstevent.c: (gst_event_new_new_segment),
4711         (gst_event_parse_new_segment):
4712         * gst/gstevent.h:
4713           fix #320529 - clean up new_segment API and structure.
4714           Let's hope everyone was using the methods, and not the structure.
4715
4716 2005-11-29  Edward Hervey  <edward@fluendo.com>
4717
4718         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4719         (gst_base_sink_event), (gst_base_sink_do_sync),
4720         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
4721         Properly handle non GST_FORMAT_TIME segment
4722         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
4723         Properly handle non GST_FORMAT_TIME segment
4724         * gst/gstsegment.c:
4725         This function is valid if the accumulator is 0 and the format
4726         is different from the requested format.
4727         
4728 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
4729
4730         * docs/gst/gstreamer-sections.txt:
4731         Add gst_query_new_seeking and gst_query_parse_seeking to the
4732         docs.
4733
4734 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
4735
4736         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
4737           Treat a pad alloc with new caps the same as if we were not
4738           negotiated, in order to allow a changing upstream output
4739           to produce a new format of data.
4740
4741 2005-11-29  Edward Hervey  <edward@fluendo.com>
4742
4743         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
4744         (gst_base_transform_event), (gst_base_transform_eventfunc):
4745         The event virtual method is now properly implemented, with a default
4746         handler
4747         Sub classes should call the parent_class event method. They should
4748         return FALSE if they had a problem handling the given event, or don't
4749         want GstBaseTransform to send that even downstream
4750         * gst/elements/gstidentity.c: (gst_identity_class_init),
4751         (gst_identity_init), (gst_identity_event),
4752         (gst_identity_transform_ip), (gst_identity_set_property),
4753         (gst_identity_get_property):
4754         * gst/elements/gstidentity.h:
4755         Added the single-segment boolean property.
4756         If set to TRUE, it will output a single segment of data, starting from
4757         0, will eat up all incoming newsegment, and modify the timestamp of the
4758         buffers accordingly
4759
4760 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
4761
4762         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
4763           Don't ref NULL target pad (#322751). Improve docs.
4764
4765 2005-11-29  Michael Smith  <msmith@fluendo.com>
4766
4767         * gst/gstregistryxml.c: (load_plugin):
4768           Don't crash if we failed to load a feature from a plugin. 
4769
4770 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
4771
4772         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
4773         (GST_START_TEST):
4774           use more check API and less GLib API
4775
4776 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
4777
4778         * Makefile.am:
4779           don't run checks if we don't have check
4780         * common/check.mak:
4781           remove the registry when running make torture
4782         * docs/gst/gstreamer-sections.txt:
4783           remove second multiply
4784         * gst/gstqueue.c: (gst_queue_loop):
4785           fix a compile warning when disabling debug
4786
4787 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
4788
4789         * gst/gstinfo.h:
4790         Hey! Let's print the pad name if the pointer != NULL instead
4791         of when it == NULL :-)
4792
4793 2005-11-28  Wim Taymans  <wim@fluendo.com>
4794
4795         * check/gst/gstutils.c: (GST_START_TEST):
4796         Updated check, add some scaling accuracy checking code.
4797
4798         * gst/gstutils.c: (gst_util_div128_64),
4799         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
4800         (gst_util_uint64_scale_int):
4801         Fix 6 times faster division code. Optimize for common 
4802         1/1 and less common X/1 cases.
4803
4804 2005-11-28  Wim Taymans  <wim@fluendo.com>
4805
4806         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
4807         More checks.
4808
4809         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
4810         (do_linear_regression), (gst_clock_add_observation):
4811         Cleanups.
4812         Release lock when the clock cannot be slaved.
4813         Catch the case where the regression returned an invalid denominator.
4814
4815         * gst/gstutils.c: (gst_util_div128_64_iterate),
4816         (gst_util_div128_64), (gst_util_uint64_scale_int64),
4817         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
4818         Add protentially more performant non-iterative 128/64 divide function
4819         that unfortunatly does not work yet.
4820         Shortcut the trivial 0/X = 0 case.
4821         Remove the warnings on overflow.
4822
4823 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
4824
4825         * gst/gstplugin.c: (gst_plugin_register_func):
4826           everything causing a plugin not to load should be at least a WARNING
4827
4828 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
4829
4830         * docs/random/ensonic/dparams.txt:
4831           some TODOs for the next dev cycle
4832         * libs/gst/controller/gstcontroller.c:
4833         (gst_controlled_property_set_interpolation_mode),
4834         (gst_controlled_property_new):
4835         * libs/gst/controller/gstcontroller.h:
4836           use base type to assign acccessor functions
4837
4838 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
4839
4840         * check/Makefile.am:
4841         Oops, that should have been top_srcdir
4842
4843 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
4844
4845         * check/Makefile.am:
4846         * check/elements/fdsrc.c: (GST_START_TEST):
4847         Use a cmdline define to specify the location of a file to use for
4848         testing, to avoid breaking distcheck.
4849
4850 2005-11-28  Andy Wingo  <wingo@pobox.com>
4851
4852         * gst/gstpad.c (fixate_value): Use array functions for arrays.
4853
4854 2005-11-28  Edward Hervey  <edward@fluendo.com>
4855
4856         * tools/gst-launch.c: (main):
4857         Clarify the output strings, makes it easier to translate.
4858         Fixes #322626
4859
4860 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
4861
4862         * gst/Makefile.am:
4863           don't try and build net if we don't even have <sys/socket.h>
4864
4865 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
4866
4867         * check/Makefile.am:
4868         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
4869         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
4870           Add tests for fdsrc seekability
4871
4872         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
4873         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
4874         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
4875         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
4876         * gst/elements/gstfdsrc.h:
4877           fdsrc should not be a 'live' source.
4878           Implement seeking on seekable fd's.
4879
4880         * gst/gstquery.c: (gst_query_new_seeking),
4881         (gst_query_parse_seeking):
4882         * gst/gstquery.h:
4883           Implement SEEKING query functions: 
4884             *_new_seeking and *_parse_seeking
4885
4886 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
4887
4888         * gst/gstelement.c: (gst_element_dispose):
4889           don't loop forever
4890
4891         * gst/gstiterator.c:
4892         * gst/gststructure.c:
4893           doc fixes
4894
4895         * libs/gst/controller/gstcontroller.c:
4896         (gst_controlled_property_set_interpolation_mode):
4897         * libs/gst/controller/gstcontroller.h:
4898         * libs/gst/controller/gstinterpolation.c:
4899         (interpolate_none_get_enum_value_array):
4900           support controlling enums
4901
4902 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
4903
4904         * gst/gstvalue.c:
4905           Improve documentation for gst_value_union().
4906
4907         * gst/gstvalue.h:
4908           Change return value for union, intersect and subtract functions
4909           from gint to gboolean.
4910
4911 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
4912
4913         * gst/gstvalue.c: (gst_value_serialize_any_list),
4914         (gst_value_transform_any_list_string),
4915         (gst_value_deserialize_list), (gst_value_deserialize_array),
4916         (gst_value_set_int_range), (gst_value_deserialize_int_range),
4917         (gst_value_set_double_range), (gst_value_deserialize_double_range),
4918         (gst_value_set_fraction_range_full),
4919         (gst_value_deserialize_fraction_range),
4920         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
4921         (gst_value_deserialize_boolean),
4922         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
4923         (gst_value_serialize_float), (gst_value_deserialize_float),
4924         (gst_string_wrap), (gst_value_deserialize_string),
4925         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
4926         (gst_value_union_int_range_int_range),
4927         (gst_value_intersect_int_range_int_range),
4928         (gst_value_intersect_double_range_double_range),
4929         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
4930         (gst_value_subtract_int_range_int_range),
4931         (gst_value_subtract_double_double_range),
4932         (gst_value_subtract_double_range_double_range),
4933         (gst_value_deserialize_fraction):
4934         * gst/gstvalue.h:
4935           Use gint, gdouble and gchar in our API instead of int, double and
4936           char (and make usage in gstvalue.c more consistent).
4937
4938 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
4939
4940         * check/Makefile.am:
4941         * libs/gst/controller/Makefile.am:
4942         * libs/gst/dataprotocol/Makefile.am:
4943           fix up Makefile.am and remove GST_ENABLE_NEW
4944
4945 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
4946
4947         * configure.ac:
4948         * gst/Makefile.am:
4949         * gst/base/Makefile.am:
4950         * gst/check/Makefile.am:
4951         * gst/elements/Makefile.am:
4952         * gst/net/Makefile.am:
4953           update LDFLAGS use some more
4954
4955 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
4956
4957         * common/m4/gst-doc.m4:
4958           Fixes #312589
4959
4960 2005-11-26  Edward Hervey  <edward@fluendo.com>
4961
4962         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
4963         This shouldn't issue a g_warning since it returns NULL if it
4964         couldn't find the plugin, and all functions using this behave
4965         properly on a NULL return. Switching to a GST_WARNING.
4966
4967 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
4968
4969         * gst/gstbin.c: (gst_bin_handle_message_func):
4970         Don't leak clock messages.
4971
4972 2005-11-25  Wim Taymans  <wim@fluendo.com>
4973
4974         * gst/gstutils.c: (gst_util_uint64_scale_int64),
4975         (gst_util_uint64_scale_int):
4976         Optimisations, remove unneeded vars.
4977
4978 2005-11-25  Wim Taymans  <wim@fluendo.com>
4979
4980         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
4981         Added more checks for the high precision uint64 cases.
4982
4983         * gst/gstutils.c: (gst_util_uint64_scale_int64),
4984         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
4985         Implement high precision (guint64 * guint64) / guint64.
4986
4987 2005-11-24  Wim Taymans  <wim@fluendo.com>
4988
4989         * gst/base/gstbasesrc.c: (gst_base_src_query):
4990         Fix wrong percentage query.
4991
4992         * gst/gstutils.c: (gst_util_uint64_scale),
4993         (gst_util_uint64_scale_int):
4994         Add some more common cases that can be handled 
4995         efficiently to _scale.
4996
4997 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
4998
4999         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
5000         (gst_mini_object_suite):
5001           don't use check calls from threads; check probably isn't
5002           threadsafe and using a lock to make it threadsafe would
5003           defeat the purpose of this check
5004         * gst/check/gstcheck.c:
5005         * gst/check/gstcheck.h:
5006           use GST_DEBUG some more
5007
5008 2005-11-24  Wim Taymans  <wim@fluendo.com>
5009
5010         * gst/gstutils.c: (gst_util_uint64_scale),
5011         (gst_util_uint64_scale_int):
5012         Chain trivial case to _scale_int.
5013
5014 2005-11-24  Wim Taymans  <wim@fluendo.com>
5015
5016         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
5017         Added test for scaling.
5018
5019         * gst/gstclock.h:
5020         Small doc fix.
5021
5022         * gst/gstutils.c: (gst_util_uint64_scale_int):
5023         Implemented high precision scaling code.
5024
5025 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
5026
5027         * gst/gstinfo.h:
5028           do not crash on pad==NULL
5029
5030 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
5031
5032         Patch by: Stefan Kost
5033
5034         * common/gtk-doc.mak:
5035         * docs/gst/Makefile.am:
5036         * docs/libs/Makefile.am:
5037           Fix distcheck issues for the libraries docs build
5038           Closes #319599.
5039
5040 2005-11-24  Michael Smith <msmith@fluendo.com>
5041
5042         * docs/manual/basics-helloworld.xml:
5043           Fix bug #315027: memory leak in example code in docs.
5044
5045 2005-11-24  Michael Smith <msmith@fluendo.com>
5046
5047         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
5048           Unlock the PREROLL_LOCK in a failure case.
5049
5050 2005-11-24  Wim Taymans  <wim@fluendo.com>
5051
5052         * docs/gst/gstreamer-sections.txt:
5053         * gst/base/gstadapter.h:
5054         * gst/base/gstbasesink.h:
5055         * gst/base/gstbasesrc.h:
5056         * gst/base/gstbasetransform.h:
5057         * gst/base/gstpushsrc.h:
5058         * gst/elements/gstfakesink.h:
5059         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
5060         * gst/elements/gstfakesrc.h:
5061         * gst/elements/gstfilesink.h:
5062         * gst/elements/gstfilesrc.h:
5063         * gst/gst.c:
5064         * gst/gstbin.c:
5065         * gst/gstbuffer.c: (_gst_buffer_copy):
5066         * gst/gstbus.h:
5067         * gst/gstcaps.c:
5068         * gst/gstchildproxy.c:
5069         * gst/gstclock.c:
5070         * gst/gstelement.c:
5071         * gst/gstelementfactory.c:
5072         * gst/gstelementfactory.h:
5073         * gst/gstevent.c:
5074         * gst/gstghostpad.h:
5075         * gst/gstindex.h:
5076         * gst/gstinterface.h:
5077         * gst/gstminiobject.c:
5078         * gst/gstminiobject.h:
5079         * gst/gstpad.c:
5080         * gst/gstpad.h:
5081         * gst/gstpadtemplate.h:
5082         * gst/gstpipeline.h:
5083         * gst/gstpluginfeature.h:
5084         * gst/gstquery.h:
5085         * gst/gstqueue.h:
5086         * gst/gsttaglist.c:
5087         * gst/gsttaglist.h:
5088         * gst/gsttagsetter.c:
5089         * gst/gsttagsetter.h:
5090         * gst/gsttrace.c:
5091         * gst/gsttrace.h:
5092         * gst/gsttypefind.h:
5093         * gst/gsturi.h:
5094         * gst/gstvalue.c:
5095         * gst/net/gstnetclientclock.c:
5096         * gst/net/gstnetclientclock.h:
5097         * gst/net/gstnettimepacket.c:
5098         * gst/net/gstnettimeprovider.c:
5099         * gst/net/gstnettimeprovider.h:
5100         Doc fixes.
5101
5102 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5103
5104         * configure.ac: back to HEAD
5105
5106 === release 0.9.6 ===
5107
5108 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
5109
5110         * configure.ac:
5111           releasing 0.9.6, "Always On Time"
5112
5113 2005-11-23  Wim Taymans  <wim@fluendo.com>
5114
5115         * docs/gst/gstreamer-sections.txt:
5116         * gst/glib-compat.c:
5117         * gst/gsttagsetter.c:
5118         * gst/gstvalue.c:
5119         * gst/net/gstnetclientclock.c:
5120         * gst/net/gstnettimepacket.h:
5121         Doc updates.
5122
5123 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5124
5125         * docs/faq/using.xml:
5126         * docs/libs/tmpl/gstcontrol.sgml:
5127         * docs/manual/advanced-dparams.xml:
5128         * docs/manual/appendix-checklist.xml:
5129         * docs/manual/basics-elements.xml:
5130         * docs/pwg/other-source.xml:
5131         * docs/random/moving-plugins:
5132         * gst/gstpad.c:
5133         * tools/gst-launch.1.in:
5134           remove mentions of sinesrc
5135
5136 2005-11-23  Michael Smith <msmith@fluendo.com>
5137
5138         * docs/gst/gstreamer-sections.txt:
5139           Update for new API and API changes.
5140         * gst/gstobject.h:
5141           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
5142         * gst/gstvalue.c:
5143           Documentation typo fix.
5144         * gst/net/gstnettimepacket.c:
5145           Documentation fixes for arguments.
5146
5147 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
5148
5149         * gst/gststructure.c: (gst_structure_get_fraction),
5150         (gst_structure_parse_value),
5151         (gst_structure_fixate_field_nearest_fraction):
5152         * gst/gststructure.h:
5153         * gst/gstutils.c: (gst_util_uint64_scale_int):
5154         * gst/gstutils.h:
5155         * scripts/update-funcnames:
5156         API Changes. 
5157         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
5158         Make gst_structure_fixate_field_nearest_fraction take a numerator
5159         and denominator argument instead of a GValue
5160         add gst_structure_get_fraction helper function.
5161
5162 2005-11-23  Wim Taymans  <wim@fluendo.com>
5163
5164         * docs/design/part-TODO.txt:
5165         Update TODO.
5166
5167         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
5168         * gst/net/gstnetclientclock.h:
5169         Use parent fields for timeout and window_size.
5170
5171 2005-11-23  Andy Wingo  <wingo@pobox.com>
5172
5173         * check/net/gstnetclientclock.c (test_functioning): Adjust to
5174         rate_num/rate_denom change.
5175
5176         * gst/net/gstnetclientclock.c
5177         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
5178         OBJECT_LOCK. Don't call add_observation with the lock.
5179
5180         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
5181         fraction.
5182         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
5183         rate fraction.
5184         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
5185         deal with rate as a fraction whose numerator and denominator are
5186         GstClockTime values.
5187         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
5188         master; the other fields are protected by the SLAVE_LOCK.
5189         (do_linear_regression): Note that this must be called with the
5190         SLAVE_LOCK.
5191         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
5192         OBJECT_LOCK. Call set_calibration instead of touching the
5193         variables directly.
5194         (gst_clock_set_property, gst_clock_get_property): Protect
5195         master/slave parameters with the SLAVE_LOCK.
5196
5197         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
5198         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
5199         note that all of the instance variables that add_observation and
5200         the set_master functions use are protected by that lock and not
5201         the OBJECT_LOCK.
5202         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
5203
5204         * gst/gstclock.c (gst_clock_add_observation): No longer requires
5205         the caller to take the object lock.
5206
5207 2005-11-23  Wim Taymans  <wim@fluendo.com>
5208
5209         * gst/gsterror.c: (_gst_core_errors_init):
5210         * gst/gsterror.h:
5211         Add error for clock stuff.
5212
5213         * gst/gstpipeline.c: (gst_pipeline_change_state),
5214         (gst_pipeline_set_clock):
5215         Post clock error when clock cannot be used in a pipeline.
5216
5217 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
5218
5219         * docs/gst/gstreamer-sections.txt:
5220           make two symbols from gstinfo private for the docs
5221         * gst/base/gstcollectpads.h:
5222         * gst/gstutils.c:
5223           fix doc typos, update docs
5224
5225 2005-11-22  Wim Taymans  <wim@fluendo.com>
5226
5227         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
5228         (gst_base_sink_wait), (gst_base_sink_do_sync),
5229         (gst_base_sink_handle_event):
5230         * gst/base/gstbasesink.h:
5231         No need to store the clock, the parent element class already
5232         has it.
5233
5234         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
5235         Updates for clock_set returning a gboolean
5236
5237         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
5238         (gst_clock_id_wait_async), (gst_clock_class_init),
5239         (gst_clock_init), (gst_clock_finalize),
5240         (gst_clock_get_internal_time), (gst_clock_get_time),
5241         (gst_clock_slave_callback), (gst_clock_set_master),
5242         (gst_clock_get_master), (do_linear_regression),
5243         (gst_clock_add_observation), (gst_clock_set_property),
5244         (gst_clock_get_property):
5245         * gst/gstclock.h:
5246         Implement master/slave. When setting a clock as a slave, a
5247         periodic timeout is scheduled to sample master and slave times.
5248         Then the slave clock is recalibrated to match offset and rate
5249         of the master clock.
5250         Update logging a bit.
5251         Add flag so that a clock can state that is cannot be slaved to
5252         another clock.
5253
5254         * gst/gstelement.c: (gst_element_set_clock):
5255         * gst/gstelement.h:
5256         The set clock returns a gboolean for when an element cannot
5257         deal with the selected clock in the pipeline. 
5258
5259         * gst/gstpipeline.c: (gst_pipeline_change_state),
5260         (gst_pipeline_set_clock):
5261         * gst/gstpipeline.h:
5262         Handle the case where the selected clock cannot be set on
5263         the pipeline.
5264
5265         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
5266         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
5267         (gst_net_client_clock_set_property),
5268         (gst_net_client_clock_get_property),
5269         (gst_net_client_clock_observe_times):
5270         * gst/net/gstnetclientclock.h:
5271         Use regression code in GstClock parent, remove duplicated
5272         functionality.
5273
5274 2005-11-22  Michael Smith <msmith@fluendo.com>
5275
5276         * gst/gstutils.c: (gst_util_clock_time_scale):
5277         * gst/gstutils.h:
5278         * docs/gst/gstreamer-sections.txt:
5279           Rename method to have extra underscore.
5280
5281 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
5282
5283         * gst/elements/Makefile.am:
5284         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
5285         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
5286         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
5287         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
5288         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
5289         * gst/elements/gstfakesrc.h:
5290         * gst/gstqueue.c: (queue_leaky_get_type):
5291           correctly fix GEnumValues so that nick is the short lowercase
5292           dashed tag
5293         * tools/gst-inspect.c: (print_element_properties_info):
5294           also show the nick, since it's useful to use from parse_launch
5295           syntax
5296           Fixes #322139
5297
5298 2005-11-22  Michael Smith <msmith@fluendo.com>
5299
5300         * gst/gstutils.c: (gst_util_clocktime_scale):
5301         * gst/gstutils.h:
5302         * docs/gst/gstreamer-sections.txt:
5303           Add util method for scaling a clocktime by a fraction. Useful 
5304           implementation is left as an exercise for the reader.
5305
5306 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
5307
5308         * gst/gstvalue.c: (gst_value_collect_fraction_range):
5309         If needed, allocate storage in the destination value during
5310         collection.
5311
5312 2005-11-22  Edward Hervey  <edward@fluendo.com>
5313
5314         * docs/gst/gstreamer-sections.txt:
5315         * gst/Makefile.am:
5316         * gst/gst.h:
5317         * gst/gsturitype.c:
5318         * gst/gsturitype.h:
5319         * gst/gstutils.c: (gst_util_set_object_arg):
5320         * tools/gst-compprep.c: (main):
5321         * tools/gst-inspect.c: (print_element_properties_info):
5322         Removed GstURI, closes bug #321061
5323
5324 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
5325
5326         * check/gst/gststructure.c: (GST_START_TEST):
5327         * gst/gststructure.c: (gst_structure_parse_value):
5328           Oops, broke automatic string type parsing.
5329           Add a test to catch it in future.
5330
5331 2005-11-22  Andy Wingo  <wingo@pobox.com>
5332
5333         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
5334         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
5335         Actually rename the function implementations. Grr.
5336
5337 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
5338
5339         * check/gst/capslist.h:
5340           Comment test cases
5341         * check/gst/gststructure.c: (GST_START_TEST),
5342         (gst_structure_suite):
5343           Test automatic value type detection in gst_structure_from_string.
5344         * gst/gststructure.c: (gst_structure_parse_value):
5345           Add fraction as a type we try and guess automatically in
5346           caps/structure strings.
5347
5348 2005-11-22  Andy Wingo  <wingo@pobox.com>
5349
5350         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
5351
5352         * gst/gsttagsetter.h:
5353         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
5354         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
5355         (gst_tag_setter_add_tag_valist)
5356         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
5357         _add_values, _add_valist, and _add_valist_values. Since this is an
5358         interface the function suffixes should be more explicit so
5359         language binding don't end up with element.add_valist ->
5360         gst_tag_setter_add_valist, for example. Fixes #322069.
5361
5362 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
5363
5364         * check/gst/gstcaps.c: (GST_START_TEST):
5365           Extend caps string tests to check that a caps to string
5366           conversion is reversible and produces the same caps.
5367
5368         * gst/gststructure.c: (gst_structure_value_get_generic_type):
5369           Output "fraction" as the generic type fraction range, so caps
5370           serialisation and deserialisation works.
5371         * check/gst/capslist.h:
5372         * gst/gstvalue.c: (gst_value_deserialize_fraction):
5373           Support 'MIN' and 'MAX' for deserialising fractions.
5374
5375 2005-11-22  Andy Wingo  <wingo@pobox.com>
5376
5377         * gst/gstevent.h (gst_event_new_new_segment)
5378         (gst_event_parse_new_segment, gst_event_new_buffer_size)
5379         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
5380         Renamed from *_newsegment, *_buffersize, *_notarget.
5381
5382         * scripts/update-funcnames: New script, performs the changes
5383         listed above.
5384
5385 2005-11-22  Wim Taymans  <wim@fluendo.com>
5386
5387         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
5388         Make sure the GstFlowReturn is returned.
5389
5390         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
5391         (gst_bus_add_signal_watch):
5392         * gst/gstbus.h:
5393         add gst_bus_add_signal_watch_full.
5394
5395         * gst/gstplugin.c: (gst_plugin_load_file):
5396         Small style cleanup.
5397
5398 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
5399
5400         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
5401           Block the fakesrc srcpad when we send an event, to avoid
5402           contention on the stream_lock causing random test failures.
5403
5404 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
5405
5406         * check/gst/gstvalue.c: (GST_START_TEST):
5407         * gst/gstvalue.c: (gst_value_fraction_subtract):
5408           Fix subtraction.
5409
5410 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
5411
5412         * gst/gst.h:
5413           include "gstchildproxy.h"
5414         * gst/gstchildproxy.h:
5415         * libs/gst/controller/gstcontroller.h:
5416           use G_GNUC_NULL_TERMINATED
5417
5418 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
5419
5420         * check/gst/capslist.h:
5421         * check/gst/gstcaps.c: (GST_START_TEST):
5422         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
5423         * gst/gststructure.c: (gst_structure_parse_range),
5424         (gst_structure_fixate_field_nearest_fraction):
5425         * gst/gststructure.h:
5426         * gst/gstvalue.c: (gst_value_init_fraction_range),
5427         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
5428         (gst_value_collect_fraction_range),
5429         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
5430         (gst_value_set_fraction_range_full),
5431         (gst_value_get_fraction_range_min),
5432         (gst_value_get_fraction_range_max),
5433         (gst_value_serialize_fraction_range),
5434         (gst_value_transform_fraction_range_string),
5435         (gst_value_compare_fraction_range),
5436         (gst_value_deserialize_fraction_range),
5437         (gst_value_intersect_fraction_fraction_range),
5438         (gst_value_intersect_fraction_range_fraction_range),
5439         (gst_value_subtract_fraction_fraction_range),
5440         (gst_value_subtract_fraction_range_fraction),
5441         (gst_value_subtract_fraction_range_fraction_range),
5442         (gst_value_collect_fraction), (gst_value_fraction_multiply),
5443         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
5444         (gst_value_transform_string_fraction), (_gst_value_initialize):
5445         * gst/gstvalue.h:
5446           Implement fraction ranges and extend GstFraction to support
5447           arithmetic subtraction, as well as deserialization from integer
5448           strings such as "100"
5449           Add a testsuite as for int and double range set operations
5450
5451 2005-11-21  Andy Wingo  <wingo@pobox.com>
5452
5453         * gst/gsttaglist.h: 
5454         * gst/gstcaps.h: 
5455         * gst/gststructure.h: Add glib-compat.h.
5456
5457 2005-11-21  Wim Taymans  <wim@fluendo.com>
5458
5459         * gst/gstbin.c: (gst_bin_change_state_func):
5460         Fix for #321595
5461
5462 2005-11-21  Wim Taymans  <wim@fluendo.com>
5463
5464         * gst/gstsegment.h:
5465         And add a nice define too.
5466
5467 2005-11-21  Wim Taymans  <wim@fluendo.com>
5468
5469         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
5470         (gst_segment_new), (gst_segment_free), (gst_segment_init),
5471         (gst_segment_set_duration), (gst_segment_set_last_stop),
5472         (gst_segment_set_seek), (gst_segment_set_newsegment),
5473         (gst_segment_to_stream_time), (gst_segment_to_running_time),
5474         (gst_segment_clip):
5475         * gst/gstsegment.h:
5476         Make binding friendly.
5477
5478 2005-11-21  Andy Wingo  <wingo@pobox.com>
5479
5480         * gst/gsttagsetter.h: 
5481         * gst/gsttaglist.h: 
5482         * gst/gststructure.h: 
5483         * gst/gstcaps.h: 
5484         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
5485         #319940.
5486
5487         * gst/gsterror.c (_gst_core_errors_init):
5488         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
5489         category.
5490
5491         * gst/Makefile.am (gst_headers): Add glib-compat.h.
5492         (noinst_HEADERS): noinst the -private.
5493
5494 2005-11-21  Michael Smith <msmith@fluendo.com>
5495
5496         * gst/gstplugin.h:
5497         * gst/gstregistry.h:
5498           Remove unimplemented declarations for which we can see no sensible
5499           use.
5500
5501 2005-11-21  Andy Wingo  <wingo@pobox.com>
5502
5503         * gst/gst.h: Include glib-compat.h.
5504
5505         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
5506
5507         * gst/glib-compat.c: Include the public and the private header.
5508
5509         * gst/glib-compat-private.h: Copied here from glib-compat.h.
5510
5511         * gst/gstvalue.c: 
5512         * gst/gstpad.c: 
5513         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
5514
5515         * check/gst/gstevent.c (create_custom_events): Check that
5516         FLUSH_STOP is serialized.
5517
5518         * check/elements/identity.c (event_func): 
5519         * check/elements/fakesrc.c (event_func): No stream lock, the core
5520         takes it.
5521
5522         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
5523         stream lock taking, yay.
5524
5525         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
5526         ensure that core takes the stream lock.
5527
5528         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
5529         lock name change.
5530
5531         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
5532         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
5533         it already. For the flush start we do take it though so we get the
5534         right preroll state change messages.
5535
5536         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
5537         the stream lock here, the core does it for us.
5538
5539         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
5540         GST_STREAM_GET_LOCK.
5541         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
5542         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
5543         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
5544         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
5545         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
5546         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
5547
5548         * gst/gstpad.c: Update for stream lock name change.
5549
5550         * gst/base/gstbasesink.c: Update for preroll lock name change.
5551
5552 2005-11-21  Wim Taymans  <wim@fluendo.com>
5553
5554         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
5555         (gst_clock_get_master):
5556         * gst/gstclock.h:
5557         * gst/gstsystemclock.c: (gst_system_clock_init):
5558         Convert Clock flags to object flags.
5559         Added methods to manage master/slave clocks.
5560
5561 2005-11-21  Wim Taymans  <wim@fluendo.com>
5562
5563         * check/gst/gstsegment.c: (GST_START_TEST):
5564         * docs/design/part-TODO.txt:
5565         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5566         (gst_base_sink_event), (gst_base_sink_do_sync),
5567         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
5568         (gst_base_sink_query), (gst_base_sink_change_state):
5569         * gst/base/gstbasesink.h:
5570         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
5571         (gst_base_src_default_newsegment),
5572         (gst_base_src_configure_segment), (gst_base_src_do_seek),
5573         (gst_base_src_get_range), (gst_base_src_loop),
5574         (gst_base_src_change_state):
5575         * gst/base/gstbasesrc.h:
5576         * gst/base/gstbasetransform.c:
5577         (gst_base_transform_prepare_output_buf),
5578         (gst_base_transform_event), (gst_base_transform_change_state):
5579         * gst/base/gstbasetransform.h:
5580         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
5581         (gst_collect_pads_event):
5582         * gst/base/gstcollectpads.h:
5583         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
5584         (gst_fake_src_create):
5585         * gst/elements/gstfakesrc.h:
5586         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
5587         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
5588         (gst_segment_set_last_stop), (gst_segment_set_seek),
5589         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
5590         (gst_segment_to_running_time), (gst_segment_clip):
5591         * gst/gstsegment.h:
5592         More segment updates, replace code in plugins with segment
5593         helper functions.
5594
5595 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
5596
5597         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
5598         Don't ignore sscanf results
5599
5600 2005-11-21  Andy Wingo  <wingo@pobox.com>
5601
5602         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
5603
5604         * *.h:
5605         * *.c: Ran scripts/update-macros. Oh yes.
5606
5607         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
5608         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
5609         GST_GET_LOCK, etc.
5610
5611         * scripts/update-macros: New script. Run it on your files to
5612         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
5613         well.
5614
5615 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
5616
5617         * docs/gst/Makefile.am:
5618         * docs/gst/gstreamer-docs.sgml:
5619         * docs/gst/gstreamer-sections.txt:
5620         * docs/gst/gstreamer.types:
5621         * gst/gstinfo.h:
5622           more docs fixes, add new api to the docs
5623
5624 2005-11-21  Andy Wingo  <wingo@pobox.com>
5625
5626         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
5627         state_broadcast call.
5628
5629         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
5630
5631 2005-11-21  Julien MOUTTE  <julien@moutte.net>
5632
5633         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
5634         function calls for arrays.
5635
5636 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
5637
5638         * docs/random/ensonic/media-device-daemon.txt:
5639           wild idea, can this be done?
5640         * docs/gst/gstreamer-sections.txt:
5641         * gst/gsterror.h:
5642         * gst/gstfilter.c:
5643         * gst/gstfilter.h:
5644         * gst/gstplugin.h:
5645         * gst/gstpluginfeature.c:
5646         * gst/gsttrace.c:
5647         * gst/gstvalue.c:
5648         * gst/gstvalue.h:
5649           doc fixes and additions
5650
5651 2005-11-21  Andy Wingo  <wingo@pobox.com>
5652
5653         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
5654         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
5655         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
5656         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
5657         private to the basesrc implementation.
5658
5659         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
5660         behalf of event function if necessary. It should no longer be
5661         necessary to take the stream lock in pad's event functions. Fixes
5662         #320299.
5663
5664 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
5665         * docs/gst/gstreamer-sections.txt:
5666         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
5667         (gst_structure_fixate_field_nearest_double),
5668         (gst_structure_fixate_field_boolean):
5669         * gst/gststructure.h:
5670         * win32/common/libgstreamer.def:
5671         * win32/gstreamer.def:
5672
5673         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
5674         (#322027)
5675
5676 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
5677
5678         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
5679         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
5680         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
5681         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
5682         (gst_fdsrc_uri_handler_init):
5683         * gst/elements/gstfdsrc.h:
5684           Port fd:// URI handler from 0.8 to fdsrc
5685
5686 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
5687
5688         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
5689         (gst_value_serialize_fourcc):
5690         * gst/gstvalue.h:
5691           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
5692           consistent with our other format defines (#320324).
5693
5694 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
5695
5696         * gst/gstvalue.c: (gst_value_is_fixed):
5697           Revert previous commit. Value lists are by definition
5698           not fixed, as they are a list of possible values.
5699
5700 2005-11-21  Andy Wingo  <wingo@pobox.com>
5701
5702         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
5703         during the stable series if we need it. Fixes #319178.
5704
5705         * gst/gstevent.c (gst_event_new_filler): Removed.
5706
5707         * check/gst/gstevent.c: Update comment about filler events.
5708
5709 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
5710
5711         * gst/gstvalue.c: (gst_value_is_fixed):
5712           Should handle both value arrays and value lists.
5713
5714 2005-11-21  Andy Wingo  <wingo@pobox.com>
5715
5716         patch by: Alessandro Dessina <alessandro nnva org>
5717
5718         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
5719         functions to access arrays. Fixes #321962.
5720
5721 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
5722
5723         * docs/gst/gstreamer.types:
5724           gst_collectpads_get_type => gst_collect_pads_get_type.
5725           
5726         * gst/base/gstbasetransform.c:
5727           Remove unused SIGNAL_HANDOFF enum.
5728
5729 2005-11-21  Andy Wingo  <wingo@pobox.com>
5730
5731         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
5732         the event type (upstream, downstream, serialized). Renamed
5733         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
5734         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
5735         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
5736
5737         * gst/gstevent.c: Update for new CUSTOM event names.
5738
5739         * check/gst/gstevent.c: Update check for new CUSTOM event names.
5740
5741         * gst/gstevent.h:
5742         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
5743         bug #319392.
5744
5745 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
5746
5747         * docs/gst/gstreamer-sections.txt:
5748         * win32/common/libgstbase.def:
5749         * win32/libgstbase.def:
5750         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
5751         (gst_collect_pads_class_init), (gst_collect_pads_init),
5752         (gst_collect_pads_finalize), (gst_collect_pads_new),
5753         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
5754         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
5755         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
5756         (gst_collect_pads_start), (gst_collect_pads_stop),
5757         (gst_collect_pads_peek), (gst_collect_pads_pop),
5758         (gst_collect_pads_available), (gst_collect_pads_read),
5759         (gst_collect_pads_flush), (gst_collect_pads_event),
5760         (gst_collect_pads_chain):
5761         * gst/base/gstcollectpads.h:
5762           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
5763           unimplemented functions as unimplemented. Add padding to
5764           GstCollectData. (#320766, #320423)
5765
5766 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
5767
5768         * gst/gstmessage.c:
5769           Improve docs for DURATION message (usage of duration parameter)
5770           (#320113)
5771
5772 2005-11-20  Wim Taymans  <wim@fluendo.com>
5773
5774         * check/Makefile.am:
5775         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
5776         (main):
5777         * gst/Makefile.am:
5778         * gst/gst.h:
5779         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
5780         (gst_segment_set_seek), (gst_segment_set_newsegment),
5781         (gst_segment_to_stream_time), (gst_segment_to_running_time),
5782         (gst_segment_clip):
5783         * gst/gstsegment.h:
5784         Added segment helper structure and methods. Not fully implemented
5785         yet.
5786         Added segment check.
5787
5788 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
5789
5790         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
5791           Add a deserialisation test for fractions
5792         * examples/metadata/read-metadata.c: (message_loop),
5793         (make_pipeline), (main):
5794           Fix up metadata reading sample.
5795         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
5796           Debug format fix
5797         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
5798           Don't try and fixate empty caps
5799         * gst/gst_private.h:
5800           Wrap in G_BEGIN_DECLS/G_END_DECLS
5801         * gst/gstvalue.c: (gst_value_collect_fraction),
5802         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
5803         (gst_value_transform_string_fraction),
5804         (gst_value_compare_fraction):
5805           Add some extra guards to ensure that we don't end up 
5806           with an invalid denominator of 0 in a gstfraction and
5807           that fractions always get reduced.
5808
5809 2005-11-20  Wim Taymans  <wim@fluendo.com>
5810
5811         * docs/gst/gstreamer-sections.txt:
5812         * gst/gstbuffer.h:
5813         * gst/gstelement.c:
5814         * gst/gstformat.c:
5815         * gst/gstformat.h:
5816         * gst/gstindex.h:
5817         * gst/gstquery.c:
5818         * gst/gstquery.h:
5819         * gst/gstvalue.c:
5820         Doc fixes.
5821
5822 2005-11-20  Wim Taymans  <wim@fluendo.com>
5823
5824         * docs/design/part-TODO.txt:
5825         * gst/gstcaps.h:
5826         Make a proper enum of the flag.
5827
5828 2005-11-19  Wim Taymans  <wim@fluendo.com>
5829
5830         * docs/design/part-TODO.txt:
5831         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
5832         (gst_format_to_quark), (gst_format_register):
5833         * gst/gstformat.h:
5834         * gst/gstquery.c: (_gst_query_initialize),
5835         (gst_query_type_get_name), (gst_query_type_to_quark),
5836         (gst_query_type_register):
5837         * gst/gstquery.h:
5838         Add type to quark and type to string conversions.
5839
5840 2005-11-19  Andy Wingo  <wingo@pobox.com>
5841
5842         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
5843         #320097.
5844
5845 2005-11-19  Wim Taymans  <wim@fluendo.com>
5846
5847         * docs/design/part-TODO.txt:
5848         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
5849         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
5850         (gst_bin_handle_message_func):
5851         * gst/gstbin.h:
5852         Make message handling overridable.
5853
5854 2005-11-19  Andy Wingo  <wingo@pobox.com>
5855
5856         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
5857
5858         * gst/gstclock.h:
5859         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
5860         be a GstClockTime.
5861         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
5862         is a GstClockTime. Fixes #321710.
5863
5864         * gst/gstclock.h (GstClock): Remove offset property. Add
5865         internal_calibration and external_calibration. Fix padding. Pad
5866         also by GstClockTime so we don't run into problems.
5867
5868         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
5869         (gst_clock_get_rate_offset): Remove.
5870         (gst_clock_set_time_adjust): Remove. Fixes #321712.
5871
5872         * gst/gstutils.h:
5873         * gst/gstutils.c (g_static_rec_cond_wait)
5874         (g_static_rec_cond_timed_wait): Removed, no longer needed.
5875
5876         * gst/gstbin.c: Remove terrible continue_state prototype.
5877
5878         * gst/gstelement.h (gst_element_continue_state): Make public.
5879
5880         * gst/gstelement.h:
5881         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
5882         by continue_state. Fixes #319389.
5883
5884         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
5885         Really fixes #168438. However I don't see anywhere where the
5886         filter function is called... stupid GStreamer...
5887         
5888         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
5889         don't have a dispose function, so it won't get called when the
5890         object is unreffed, but oh well!
5891
5892         * gst/gstindex.c (gst_index_set_filter_full): New API function,
5893         allows a destroy function to be set so user_data can be freed.
5894         Fixes #168438.
5895         (gst_index_set_filter): Call gst_index_set_filter_full.
5896
5897         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
5898
5899         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
5900         string should produce an error, given the lack of a way to
5901         represent NULL strings. Fixes #165650.
5902         
5903         * gst/gstvalue.h: 
5904         * gst/gstvalue.c (gst_value_array_append_value) 
5905         (gst_value_array_prepend_value, gst_value_array_get_size) 
5906         (gst_value_array_get_value): New API, copied from
5907         gst_value_list_*, only operates on arrays.
5908         (gst_value_list_append_value, gst_value_list_prepend_value) 
5909         (gst_value_list_concat, gst_value_list_get_size) 
5910         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
5911
5912         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
5913         init_list, because it works on both.
5914         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
5915         (gst_value_copy_list_or_array): Renamed from copy_list.
5916         (gst_value_free_list_or_array): Renamed from free_list.
5917         (gst_value_collect_list_or_array): Renamed from collect_list.
5918         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
5919         (gst_value_list_or_array_peek_pointer): Renamed from
5920         list_peek_pointer.
5921         (_gst_value_array_value_table, _gst_value_list_value_table):
5922         Update value table functions.
5923         (gst_value_compare_list_or_array): Renamed from compare_list.
5924
5925         * gsttaglist.h: Whoops, foreach function returns void. Also fix
5926         some constness.
5927
5928         * gst/gsttaglist.c:
5929         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
5930         GstTagList*. Fixes #143472.
5931
5932         * gst/gststructure.h: Clarify what the foreach/map functions can
5933         or can't do to their arguments.
5934
5935 2005-11-18  Wim Taymans  <wim@fluendo.com>
5936
5937         * gst/gstclock.c: (gst_clock_set_calibration),
5938         (gst_clock_get_calibration):
5939         Doc and API fixes.
5940         Calibration can be set with internal time equal to current
5941         internal time too.
5942
5943 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
5944
5945         * gst/gsterror.c:
5946         * gst/gsterror.h:
5947           document
5948
5949 2005-11-18  Andy Wingo  <wingo@pobox.com>
5950
5951         * configure.ac: 
5952         * pkgconfig/gstreamer-net.pc.in:
5953         * pkgconfig/gstreamer-net-uninstalled.pc.in:
5954         * pkgconfig/Makefile.am: Add net pkgconfig files.
5955
5956 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
5957
5958         * gst/gstcaps.c:
5959         * gst/gstghostpad.c:
5960         * gst/gsttrace.c:
5961         * gst/gstvalue.c:
5962         * gst/gstvalue.h:
5963           docs fixes
5964
5965 2005-11-18  Andy Wingo  <wingo@pobox.com>
5966
5967         * gst/net/gstnetclientclock.c: Turn off debugging.
5968
5969         * check/net/gstnetclientclock.c (test_functioning): Assert that the
5970         times connverge somewhat. Can't make a real test.
5971
5972         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
5973         integer arithmetic. Return the minimum of the domain, which can be
5974         set as "internal" for gst_clock_set_calibration.
5975         (gst_net_client_clock_observe_times): Call _set_calibration.
5976         (gst_net_client_clock_new): Call _set_calibration instead of
5977         rate_offset.
5978
5979         * check/net/gstnetclientclock.c (test_functioning): Use the right
5980         adjustment api.
5981
5982         * gst/gstclock.h:
5983         * gst/gstclock.c (gst_clock_get_calibration) 
5984         (gst_clock_set_calibration): New functions, obsolete the ones I
5985         added yesterday. Doh. Precision issues mean we have to extrapolate
5986         from a point in the more recent past than 1970.
5987         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
5988         obsolete.
5989         (gst_clock_adjust_unlocked): Use the right calibration data.
5990
5991 2005-11-18  Edward Hervey  <edward@fluendo.com>
5992
5993         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
5994         Also reset the ->current_* values in READY->PAUSED
5995
5996 2005-11-18  Andy Wingo  <wingo@pobox.com>
5997
5998         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
5999         Whoops, check the right fd. Also add some debugging.
6000         (gst_net_client_clock_observe_times): Adjust for int64 offset.
6001         (do_linear_regression): Add a crapload of debugging. Subtract off
6002         the minimum values from the input series to discard unneeded bits.
6003         Use only int arithmetic. There is still double arithmetic when
6004         calculating the intercept that needs fixing. Return boolean to
6005         indicate success; FALSE would mean the domain or range is too
6006         great. Still needs fixes.
6007
6008 2005-11-18  Wim Taymans  <wim@fluendo.com>
6009
6010         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
6011         For the current position in stream time, we need to subtract
6012         accumulated time.
6013         
6014         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
6015         Release lock before calling the callback function of async
6016         entries.
6017
6018 2005-11-18  Andy Wingo  <wingo@pobox.com>
6019
6020         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
6021         Port goes all the way to MAXUINT16.
6022
6023         * gst/net/gstnettimeprovider.c: Make the port range the same as
6024         for the kernel: 0 assigns, otherwise ports are less than
6025         MAXUINT16.
6026
6027         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
6028         port change.
6029
6030         * check/net/gstnetclientclock.c (test_functioning): Add the start
6031         of another test. 
6032
6033 2005-11-18  Wim Taymans  <wim@fluendo.com>
6034
6035         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
6036         (gst_bin_remove_func), (bin_bus_handler):
6037         * gst/gstbin.h:
6038         Removing a clock provider from a bin, triggers a clock lost message
6039         so that a new clock will be selected.
6040         Adding a clock to a bin triggers a clock provider message.
6041         Make sure we reselect a clock when we received a clock lost message.
6042         Keep a reference to the element that provided the clock.
6043
6044 2005-11-18  Andy Wingo  <wingo@pobox.com>
6045
6046         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
6047         the clock initially so it produces values around the base time.
6048         (gst_net_client_clock_class_init): Typo fix.
6049         (gst_net_client_clock_thread): Add note on when the socket gets
6050         closed.
6051
6052 2005-11-17  Wim Taymans  <wim@fluendo.com>
6053
6054         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
6055         Free remote and local time arrays.
6056
6057 2005-11-17  Wim Taymans  <wim@fluendo.com>
6058
6059         * gst/net/gstnetclientclock.c: (do_linear_regression),
6060         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
6061         Fix compilation, uninitialized vars and a forgotten continue.
6062
6063 2005-11-17  Andy Wingo  <wingo@pobox.com>
6064
6065         * check/Makefile.am (check_PROGRAMS): 
6066         * check/net/gstnetclientclock.c: Add a most minimal test for the
6067         net client clock. More to come later.
6068
6069         * gst/net/gstnet.h: 
6070         * gst/net/Makefile.am: Add netclientclock.
6071
6072         * gst/net/gstnetclientclock.h:
6073         * gst/net/gstnetclientclock.c: New files, implement an untested
6074         GstClock that takes its time from a network time provider.
6075         Implements the algorithm in network-clock.scm.
6076
6077         * tests/network-clock.scm (*window-size*): Rename from
6078         *queue-length*.
6079         * tests/network-clock.scm (network-time): 
6080         * tests/network-clock-utils.scm (q-push): Update callers.
6081
6082 2005-11-17  Wim Taymans  <wim@fluendo.com>
6083
6084         * gst/gstbin.c: (gst_bin_provide_clock_func),
6085         (gst_bin_sort_iterator_new):
6086         And unref the child too..
6087
6088 2005-11-17  Wim Taymans  <wim@fluendo.com>
6089
6090         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
6091         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
6092         Refactor the sort iterator so it can be used while holding the
6093         LOCK too.
6094         Make clock selection select a clock closest to the source.
6095
6096 2005-11-17  Michael Smith <msmith@fluendo.com>
6097
6098         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
6099         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
6100         * gst/gstclock.h:
6101           Anonymous structs are a gcc (and some other compilers) extension, so
6102           don't use them. Since this is only for ABI-compatibility, and our
6103           API/ABI freeze is over in a few days, this whole thing will only
6104           last a few days, so don't bother trying to think up a meaningful
6105           name for the struct.
6106
6107 2005-11-17  Andy Wingo  <wingo@pobox.com>
6108
6109         * gst/gstclock.h (GstClock): Add rate and offset properties,
6110         preserving ABI stability. Add rate/offset accessors. Will file bug
6111         for the freeze break.
6112
6113         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
6114         and offset, trying to keep precision and avoiding
6115         underflow/overflow.
6116         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
6117         functions. Make gst_clock_set_time_adjust obsolete.
6118         (gst_clock_set_time_adjust): Note that this function is obsolete.
6119         Will file bug soon.
6120
6121         * gst/base/gstbasetransform.h: Make the ABI-stability hack
6122         greppable by using GST_PADDING-1+1.
6123
6124 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
6125
6126         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
6127
6128         * gst/gstmessage.c: (gst_message_parse_clock_lost):
6129           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
6130
6131         * gst/gstpadtemplate.h:
6132         * gst/gstpluginfeature.h:
6133           Don't use c++ style comments in headers (#321638).
6134
6135 2005-11-16  Andy Wingo  <wingo@pobox.com>
6136
6137         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
6138         buffer.
6139
6140         * check/net/gstnettimeprovider.c: Check to see that the time
6141         provider actually provides times. Works, yo!
6142
6143 2005-11-16  Wim Taymans  <wim@fluendo.com>
6144
6145         * check/Makefile.am:
6146         Enable more tests.
6147
6148         * check/elements/fakesrc.c: (GST_START_TEST):
6149         Set element to NULL before disposing it.
6150
6151 2005-11-16  Andy Wingo  <wingo@pobox.com>
6152
6153         * gst/net/Makefile.am:
6154         * gst/net/gstnet.h:
6155         * gst/net/gstnettimeprovider.c: 
6156         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
6157         provider, include it from gstnet.h, and add it to the build.
6158
6159         * gst/net/gstnettimepacket.h: 
6160         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
6161         sending and receiving.
6162
6163 2005-11-16  Wim Taymans  <wim@fluendo.com>
6164
6165         * check/Makefile.am:
6166         Enable valgrind check.
6167
6168         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
6169         (gst_fake_src_alloc_buffer):
6170         Fix memleak.
6171
6172 2005-11-16  Wim Taymans  <wim@fluendo.com>
6173
6174         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
6175         Call parent finalize too.
6176
6177 2005-11-16  Wim Taymans  <wim@fluendo.com>
6178
6179         * check/Makefile.am:
6180         Enable valgrind check that should work fine now.
6181
6182         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
6183         * gst/gstqueue.c: (gst_queue_init):
6184         Fix memleaks in pad allocation.
6185
6186 2005-11-16  Andy Wingo  <wingo@pobox.com>
6187
6188         * gst/net/Makefile.am:
6189         * gst/net/gstnet.h: New part of core to hold network elements and
6190         objects. Put in core because it exposes API that applications want
6191         to use. The library is named libgstnet-tempname right now because
6192         of the existing libgstnet in gst-plugins-base. Solution is
6193         probably to rename the one in plugins-base; will file a bug for
6194         the freeze break.
6195
6196         * gst/net/gstnettimeprovider.c: 
6197         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
6198         get_time call over the network.
6199
6200         * configure.ac: 
6201         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
6202
6203         * check/Makefile.am:
6204         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
6205         get additions shortly.
6206
6207 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6208
6209         * gst/gstpad.c: (gst_pad_new_from_static_template):
6210         * gst/gstpad.h:
6211           add gst_pad_new_from_static_template functions
6212         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
6213         (gst_check_setup_sink_pad):
6214         * gst/elements/gsttee.c: (gst_tee_init):
6215           and use them
6216
6217 2005-11-16  Wim Taymans  <wim@fluendo.com>
6218
6219         * gst/gstpad.c: (gst_pad_pause_task):
6220         Removed warning, it's not really an error either.
6221
6222 2005-11-16  Wim Taymans  <wim@fluendo.com>
6223
6224         * gst/base/gstbasetransform.c:
6225         (gst_base_transform_prepare_output_buf),
6226         (gst_base_transform_event):
6227         Check if the caps are NULL, this can happen if the element
6228         is shutting down and the pad caps are set to NULL.
6229
6230 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6231
6232         * gst/elements/gsttee.c: (gst_tee_init):
6233           fix pad template leak in tee
6234
6235 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6236
6237         * gst/glib-compat.c: (g_value_dup_gst_object):
6238         * gst/glib-compat.h:
6239         * gst/gstpad.c: (gst_pad_set_property):
6240           use gst_object_ref when setting the pad template; this will
6241           trigger the pad template leaks on GLib 2.6 and the slaves
6242
6243 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6244
6245         * gst/glib-compat.c: (gst_flags_get_first_value):
6246         * gst/glib-compat.h:
6247         * gst/gstregistryxml.c:
6248           remove functions copied from GLib 2.6
6249
6250 2005-11-16  Michael Smith <msmith@fluendo.com>
6251
6252         * gst/Makefile.am:
6253           Don't link against VALGRIND_LIBS. That was always the wrong thing to
6254           do, but only breaks with newer valgrind versions. We're not a
6255           valgrind tool, we have no link-time dependencies on libcoregrind.
6256
6257 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6258
6259         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
6260           some debug changes
6261         * gst/gstmessage.h:
6262           typo fixes
6263
6264 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6265
6266         * gst/base/gstbasesrc.c: (gst_base_src_init):
6267         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
6268         * gst/gstqueue.c: (gst_queue_init):
6269         * gst/gstregistryxml.c: (load_feature):
6270           Revert all these unrefs, they don't even pass make check !
6271
6272 2005-11-15  Johan Dahlin  <johan@gnome.org>
6273
6274         * gst/base/gstbasesrc.c: (gst_base_src_init):
6275         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
6276         * gst/gstqueue.c: (gst_queue_init): 
6277         Free pad templates, fixes a couple of leaks.
6278
6279 2005-11-15  Daniel Fischer  <dan at f3c dot com>
6280
6281         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
6282
6283         * gst/gstpad.c: (gst_pad_get_property):
6284           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
6285           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
6286           (#321452)
6287
6288 2005-11-15  Wim Taymans  <wim@fluendo.com>
6289
6290         * gst/gstevent.c:
6291         Small doc update.
6292
6293 2005-11-15  Andy Wingo  <wingo@pobox.com>
6294
6295         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
6296
6297         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
6298         using GST_CLOCK_TIME_NONE to disable base time management.
6299         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
6300         time if it was NONE before.
6301         (gst_pipeline_change_state): Only munge the base time if
6302         stream_time != GST_CLOCK_TIME_NONE.
6303
6304         * check/gst/gstpipeline.c (test_base_time): Punt around the
6305         problem of the probe not being called, because that's not the
6306         issue I'm looking at. Add a check that setting stream_time to NONE
6307         disables base time management.
6308         
6309 2005-11-15  Wim Taymans  <wim@fluendo.com>
6310
6311         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
6312         segment_stop == -1 at startup.
6313
6314         * gst/base/gstbasetransform.c: (gst_base_transform_event),
6315         (gst_base_transform_change_state):
6316         Init segment values at start.
6317
6318 2005-11-15  Wim Taymans  <wim@fluendo.com>
6319
6320         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6321         0 segment values are 0 in any format.
6322
6323         * gst/base/gstbasetransform.c: (gst_base_transform_event):
6324         * gst/base/gstbasetransform.h:
6325         Parse newsegment correctly in basetransform
6326
6327         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
6328         Sync to clock using updated segment values.
6329
6330 2005-11-15  Andy Wingo  <wingo@pobox.com>
6331
6332         * check/gst/gstpipeline.c (test_base_time): Add check that the
6333         base time and stream time are reset correctly.
6334
6335 2005-11-15  Wim Taymans  <wim@fluendo.com>
6336
6337         * docs/design/part-TODO.txt:
6338         Some more TODO items.
6339
6340 2005-11-15  Andy Wingo  <wingo@pobox.com>
6341
6342         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
6343         error if the user selected "no clock" as the clocking method.
6344
6345         * check/gst/gstpipeline.c (test_base_time): New test for buffer
6346         timestamps with live capture.
6347
6348         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
6349         is 0 but we are a live source, timestamp the buffers using the
6350         element's clock.
6351
6352 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
6353
6354         * docs/gst/gstreamer-sections.txt:
6355         * gst/gsterror.c:
6356         * gst/gstghostpad.c:
6357         * gst/gstobject.h:
6358         * gst/gstxml.c:
6359           more section docs
6360
6361 2005-11-14  Wim Taymans  <wim@fluendo.com>
6362
6363         * common/gst.supp:
6364           add suppressions from Wim's Debian machine
6365
6366 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
6367
6368         * common/gst.supp:
6369           add suppressions from Andy's AMD64 Ubuntu machine
6370
6371 2005-11-14  Andy Wingo  <wingo@pobox.com>
6372
6373         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
6374         STATE_LOCK not necessary. Fixes #311489.
6375
6376         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
6377         #305291.
6378
6379         * gst/gstindex.c (gst_index_add_object): Note in the docs that
6380         this function is not implemented.
6381
6382 2005-11-14  Julien MOUTTE  <julien@moutte.net>
6383
6384         * gst/base/gstbasetransform.c:
6385         (gst_base_transform_prepare_output_buf):
6386         Ref the source pad caps while we need them.
6387         Fixes (#321386)
6388
6389 2005-11-11  Wim Taymans  <wim@fluendo.com>
6390
6391         * docs/gst/gstreamer-sections.txt:
6392         Added some docs for GstCollectData.
6393
6394         * gst/base/gstadapter.c:
6395         Some small code example fix.
6396
6397         * gst/base/gstcollectpads.c:
6398         * gst/base/gstcollectpads.h:
6399         Document some more.
6400
6401 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6402
6403         * configure.ac: back to HEAD
6404
6405 === release 0.9.5 ===
6406
6407 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
6408
6409         * configure.ac:
6410           releasing 0.9.5, "Bike Lunch Day"
6411
6412 2005-11-11  Wim Taymans  <wim@fluendo.com>
6413
6414         * gst/gstbuffer.c: (_gst_buffer_copy):
6415         Copy more flags.
6416
6417         * gst/gstcaps.c: (gst_caps_is_equal):
6418         Fix some docs.
6419         Make _is_equal fast in the trivial cases.
6420
6421         * gst/gstminiobject.c:
6422         * gst/gstminiobject.h:
6423         More docs. Spifify .h file.
6424
6425         * gst/gstutils.c:
6426         Small doc update.
6427
6428 2005-11-11  Wim Taymans  <wim@fluendo.com>
6429
6430         * gst/base/gstbasetransform.c:
6431         (gst_base_transform_prepare_output_buf),
6432         (gst_base_transform_handle_buffer):
6433         Small cleanups.
6434         If we're processing a buffer and need to allocate an output
6435         buffer, we cannot accept a format change. If we did get a 
6436         format change, we have to alloc a buffer ourselves of the 
6437         right size.
6438
6439 2005-11-11  Wim Taymans  <wim@fluendo.com>
6440
6441         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
6442         While checking the flag for reentrancy in the gstcaps function
6443         is nice to detect recursive invocations, it also makes it 
6444         impossible to call getcaps from multiple threads, which must be
6445         possible. So, checking for recursive calls has to go.
6446
6447 2005-11-11  Michael Smith <msmith@fluendo.com>
6448
6449         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
6450           Don't sync on buffers that fall partially outside our current
6451           segment. Prevents an assertion failure/abort playing some files.
6452
6453 2005-11-10  Andy Wingo  <wingo@pobox.com>
6454
6455         * check/gst/gstbin.c (test_message_state_changed_children): Style
6456         fix..
6457
6458         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
6459         gst_bus_poll with the signal watch. Ensures that poll and a signal
6460         watch see the same messages.
6461
6462         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
6463         a poll and a watch at the same time get the same messages.
6464
6465 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
6466
6467         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
6468         * gst/gstcaps.c: (gst_caps_intersect):
6469           Don't call gst_caps_do_simplify - it doesn't respect order of caps
6470           and it's not needed.
6471
6472 2005-11-10  Wim Taymans  <wim@fluendo.com>
6473
6474         * docs/design/part-TODO.txt:
6475         Updated todo.
6476
6477 2005-11-10  Wim Taymans  <wim@fluendo.com>
6478
6479         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
6480         * gst/base/gstbasesrc.c: (gst_base_src_wait),
6481         (gst_base_src_do_sync), (gst_base_src_get_range):
6482         Implement clock sync in base class.
6483
6484 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
6485
6486         patch by: Tim-Philipp Müller <tim at centricular dot net>
6487
6488         * gst/gststructure.c: (gst_structure_parse_field),
6489         (gst_structure_from_string):
6490           Forward-port a 0.8 patch to handle escaped spaces in structure string,
6491           so that gst_parse_launch() can deal with spaces in filtered link
6492           caps (fixes #164479)
6493         * check/gst/capslist.h:
6494         * check/gst/gststructure.c: (GST_START_TEST):
6495           add unit tests for this change
6496
6497 2005-11-10  Wim Taymans  <wim@fluendo.com>
6498
6499         * docs/gst/gstreamer-sections.txt:
6500         * gst/gstelement.c:
6501         * gst/gstelement.h:
6502         Fix docs, move some STATE macros to private.
6503
6504 2005-11-10  Wim Taymans  <wim@fluendo.com>
6505
6506         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
6507         Added check for bug #317341
6508
6509         * gst/gstbuffer.c:
6510         * gst/gstbuffer.h:
6511         Some more spiffifying.
6512
6513         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
6514         Call peer linkfunction if we are a source pad. Totally fixes
6515         #317341
6516
6517         * gst/gstpad.c:
6518         Update docs, source pads should call the peer linkfunction
6519         so they can atomically perform the pad link.
6520
6521 2005-11-09  Wim Taymans  <wim@fluendo.com>
6522
6523         * gst/gstbuffer.c:
6524         * gst/gstbuffer.h:
6525         Uber-spiffy-spiffify some more.
6526
6527 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
6528
6529         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
6530         * gst/elements/gstfilesink.c: (gst_file_sink_init):
6531         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
6532         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
6533         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
6534         * gst/gstpad.c: (gst_pad_init):
6535           Use GST_DEBUG_FUNCPTR() more extensively.
6536
6537 2005-11-09  Wim Taymans  <wim@fluendo.com>
6538
6539         * gst/gstobject.c: (gst_object_class_init):
6540         * gst/gstobject.h:
6541         Documentation fixes.
6542
6543 2005-11-09  Edward Hervey  <edward@fluendo.com>
6544
6545         * gst/gsttypefindfactory.c:
6546         Fix docs.
6547         
6548 2005-11-09  Edward Hervey  <edward@fluendo.com>
6549
6550         * gst/base/gsttypefindhelper.c:
6551         * gst/gsttypefind.c:
6552         * gst/gsttypefind.h:
6553         Fix docs.
6554
6555 2005-11-09  Wim Taymans  <wim@fluendo.com>
6556
6557         * gst/gstiterator.c:
6558         Fix revision data.
6559
6560         * gst/gsttask.c:
6561         * gst/gsttask.h:
6562         Fix docs.
6563
6564 2005-11-09  Wim Taymans  <wim@fluendo.com>
6565
6566         * gst/gstevent.h:
6567         * gst/gsturi.h:
6568         Fix docs.
6569
6570 2005-11-09  Wim Taymans  <wim@fluendo.com>
6571
6572         * docs/gst/gstreamer-sections.txt:
6573         Moved the message async delivery private lock and cond
6574         to the private section.
6575
6576         * gst/gstmessage.c:
6577         * gst/gstmessage.h:
6578         Fixed docs.
6579
6580 2005-11-09  Edward Hervey  <edward@fluendo.com>
6581
6582         * docs/gst/gstreamer-sections.txt:
6583         * gst/gsturi.c:
6584         * gst/gsturi.h:
6585         Document GstURIHandler
6586
6587 2005-11-09  Wim Taymans  <wim@fluendo.com>
6588
6589         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
6590         (gst_iterator_find_custom):
6591         * gst/gstiterator.h:
6592         Fix iterator docs.
6593
6594 2005-11-09  Wim Taymans  <wim@fluendo.com>
6595
6596         * gst/gstbin.h:
6597         Document another field.
6598
6599         * gst/gststructure.c:
6600         * gst/gststructure.h:
6601         Document.
6602
6603 2005-11-09  Wim Taymans  <wim@fluendo.com>
6604
6605         * gst/gstbin.h:
6606         Documented structs.
6607
6608 2005-11-09  Wim Taymans  <wim@fluendo.com>
6609
6610         * docs/gst/gstreamer-sections.txt:
6611         Added some new macros.
6612
6613         * gst/gstclock.c:
6614         * gst/gstclock.h:
6615         * gst/gstobject.h:
6616         Docs updates.
6617
6618 2005-11-09  Wim Taymans  <wim@fluendo.com>
6619
6620         * docs/design/part-TODO.txt:
6621         Some more items for the TODO
6622
6623         * gst/gstcaps.c:
6624         * gst/gstcaps.h:
6625         Document GstCaps.
6626
6627 2005-11-09  Andy Wingo  <wingo@pobox.com>
6628
6629         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
6630         to work on something else now tho...
6631
6632         * gst/base/gstadapter.c: More adapter docs.
6633
6634         * gst/elements/gstfilesink.c (gst_file_sink_start) 
6635         (gst_file_sink_stop): New functions, replace the state change
6636         handler.
6637         (gst_file_sink_class_init): Hook up the start and stop functions.
6638         (gst_file_sink_base_init): Don't set the state change handler any
6639         more. It was a bit ugly too, being set from here...
6640         (gst_file_sink_get_property, gst_file_sink_set_property):
6641         Cleanups...
6642         (gst_file_sink_set_location): More robust check that doesn't call
6643         GST_STATE. Ugggggg.
6644
6645 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
6646
6647         * gst/base/gstbasetransform.c: (gst_base_transform_event):
6648           Hold STREAM_LOCK while pushing newsegment or tag events as well.
6649
6650 2005-11-08  Wim Taymans  <wim@fluendo.com>
6651
6652         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
6653         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
6654         (gst_base_sink_chain), (gst_base_sink_change_state):
6655         * gst/base/gstbasesink.h:
6656         * gst/base/gstbasesrc.h:
6657         * gst/gstelement.h:
6658         * gst/gstevent.h:
6659         Avoid excessive typechecking in macros.
6660
6661         * gst/gstminiobject.c: (gst_mini_object_get_type),
6662         (gst_mini_object_init), (gst_mini_object_new),
6663         (gst_mini_object_free):
6664         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
6665         (gst_object_finalize):
6666         Remove cruft code, optimize alloc_trace.
6667
6668 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
6669
6670         * docs/faq/gst-uninstalled:
6671           fix up PS1 for systems that try to reset it
6672
6673 2005-11-07  Wim Taymans  <wim@fluendo.com>
6674
6675         * gst/base/gstbasesrc.c: (gst_base_src_init),
6676         (gst_base_src_get_range):
6677         Set the segment_end to -1 initially. Fixed typefind.
6678
6679 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
6680
6681         * gst/base/gstadapter.c:
6682           Debug category should be 'adapter', not 'GstAdapter'.
6683           
6684         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
6685         (gst_collectpads_class_init), (gst_collectpads_init),
6686         (gst_collectpads_peek), (gst_collectpads_pop),
6687         (gst_collectpads_event), (gst_collectpads_chain):
6688           Add debug category and some debugging output. Use boilerplate
6689           macros. Remove some extraneous words from docs.
6690
6691 2005-11-05  Andy Wingo  <wingo@pobox.com>
6692
6693         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
6694         macro.
6695
6696 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
6697
6698         * docs/gst/gstreamer-sections.txt:
6699         * gst/gstcaps.h:
6700         * gst/gstinfo.c:
6701         * gst/gstminiobject.h:
6702         * gst/gstobject.h:
6703         * gst/gstutils.h:
6704           more docs added
6705
6706 2005-11-04  Wim Taymans  <wim@fluendo.com>
6707
6708         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
6709         Small update to stop at the configured segment_end
6710         position.
6711
6712 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
6713
6714         * gst/gstregistry.c:
6715         * gst/gstregistry.h:
6716           added missing docs
6717
6718 2005-11-04  Edward Hervey  <edward@fluendo.com>
6719
6720         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
6721         Check if we are doing a segment seek and have arrived at the
6722         end of that segment.
6723
6724 2005-11-04  Wim Taymans  <wim@fluendo.com>
6725
6726         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
6727         Don't leak a mutex unlock in case of an error.
6728
6729         * gst/gstbus.h:
6730         Doc fixes.
6731
6732 2005-11-04  Wim Taymans  <wim@fluendo.com>
6733
6734         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
6735         (gst_bus_post):
6736         Get the context to wake up only once.
6737
6738 2005-11-03  Wim Taymans  <wim@fluendo.com>
6739
6740         * check/states/sinks.c: (GST_START_TEST):
6741         Uncomment fixed check.
6742
6743         * docs/design/part-TODO.txt:
6744         Updated TODO.
6745
6746         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
6747         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
6748         (gst_base_sink_get_position):
6749         If we are going to PLAYING, post the right pending state
6750         when we post the intermediate paused message.
6751
6752         * gst/gstelement.c: (gst_element_continue_state),
6753         (gst_element_set_state_func), (gst_element_change_state):
6754         Don't post state changes that were between the same state
6755         and were not ASYNC.
6756
6757 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
6758
6759         * docs/gst/gstreamer-sections.txt:
6760         * gst/gstcaps.h:
6761         * gst/gstinfo.c:
6762         * gst/gstminiobject.h:
6763         * gst/gstobject.h:
6764         * gst/gstutils.h:
6765           more docs and doc style fixes
6766
6767 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
6768
6769         * docs/gst/gstreamer-sections.txt:
6770         * gst/gstelement.c:
6771         * gst/gstminiobject.c:
6772         doc fixes
6773
6774 2005-11-03  Andy Wingo  <wingo@pobox.com>
6775
6776         * check/states/sinks.c (test_livesrc_sink): Add checks that the
6777         state-changed messages actually have the right order and the right
6778         values.
6779
6780 2005-11-03  Wim Taymans  <wim@fluendo.com>
6781
6782         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
6783         Added some more checks. Specifically the case where NO_PREROLL
6784         elements are in the pipeline.
6785
6786         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
6787         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
6788         (gst_base_sink_get_position):
6789         Post READY->PAUSED state change messages too.
6790         Fix bug where VOID was posted as pending state...
6791
6792         * gst/gstbin.c: (gst_bin_recalc_state):
6793         use _element_continue_state() to continue the state change.
6794
6795         * gst/gstelement.c: (gst_element_continue_state),
6796         (gst_element_commit_state), (gst_element_set_state_func),
6797         (gst_element_change_state), (gst_element_change_state_func):
6798         Lots of state change cleanups, assign the STATE_RETURN in
6799         a new continue_state() function that also propagates the
6800         last return value from a state change to the app.
6801         Update some debug statements with proper category.
6802
6803 2005-11-03  Wim Taymans  <wim@fluendo.com>
6804
6805         * docs/design/part-events.txt:
6806         * docs/design/part-gstpipeline.txt:
6807         * docs/design/part-messages.txt:
6808         * docs/design/part-overview.txt:
6809         * docs/design/part-seeking.txt:
6810         * docs/design/part-states.txt:
6811         * docs/design/part-trickmodes.txt:
6812         * docs/manual/advanced-position.xml:
6813         Small docs updates.
6814
6815         * gst/gstobject.h:
6816         People think !! is ugly, this looks better.
6817
6818         * gst/gstpad.c: (gst_pad_set_blocked_async):
6819         Remove !! since it's fixed elsewhere now.
6820
6821 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
6822
6823         * gst/gstminiobject.h:
6824         * gst/gstobject.h:
6825           Add !! to _FLAG_IS_SET macros to make the result boolean.
6826
6827 2005-11-03  Edward Hervey  <edward@fluendo.com>
6828
6829         * gst/gstpad.c: (gst_pad_set_blocked_async):
6830         comparing a flag and a gboolean rarely returns coherent results...
6831         Added two characters (!!) to make that work correctly.
6832         
6833 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
6834
6835         * gst/gstbus.c: (gst_bus_class_init):
6836           Fix some typos.
6837           
6838         * gst/gstqueue.c: (gst_queue_loop):
6839           Don't assume a miniobject that isn't a buffer is an
6840           event (it could be that there is a refcounting
6841           problem somewhere and the pointer is stale and
6842           refers to an already destroyed miniobject).
6843
6844 2005-11-03  Julien MOUTTE  <julien@moutte.net>
6845
6846         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
6847
6848 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
6849
6850         * docs/manual/advanced-position.xml:
6851           Update seek example and explanations to current 0.9 API.
6852
6853         * gst/elements/gsttypefindelement.c:
6854         (gst_type_find_element_activate):
6855           Remove FIXME comment now that the found caps
6856           are unreffed.
6857
6858 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
6859
6860         * gst/gstregistryxml.c: (load_feature):
6861           Add another GST_STR_NULL instance
6862
6863 2005-11-02  Edward Hervey  <edward@fluendo.com>
6864
6865         * gst/gstpad.c: (handle_pad_block):
6866         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
6867         
6868 2005-11-02  Wim Taymans  <wim@fluendo.com>
6869
6870         * gst/gstbin.c:
6871         Fix typo in docs.
6872
6873         * gst/gstelement.c: (gst_element_commit_state):
6874         Remove unused value.
6875
6876         * gst/gstiterator.c:
6877         Mention that the returned element is reffed in the docs.
6878
6879 2005-11-02  Wim Taymans  <wim@fluendo.com>
6880
6881         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
6882         (gst_pad_push), (gst_pad_push_event):
6883         Unlock blocked pads when they are flushed.
6884
6885 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
6886
6887         * docs/README:
6888         * docs/gst/gstreamer-sections.txt:
6889         * gst/gstbin.c:
6890           doc updates
6891         * gst/gstregistry.c: (gst_registry_scan_path_level):
6892           fix for a nasty little missed situation where an installed plug-in
6893           which was in the cache did not get overridden by an uninstalled one
6894           which was earlier in the plugin path because the newly created plugin
6895           for the uninstalled one (not in the registry) didn't get its
6896           ->registered set to TRUE
6897
6898 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
6899
6900         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
6901         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
6902         (gst_collectpads_is_active), (gst_collectpads_collect),
6903         (gst_collectpads_collect_range), (gst_collectpads_start),
6904         (gst_collectpads_stop), (gst_collectpads_peek),
6905         (gst_collectpads_pop), (gst_collectpads_available),
6906         (gst_collectpads_read), (gst_collectpads_flush):
6907           Guard public API with assertions.
6908         
6909         * gst/gstpad.c:
6910           Fix docs for gst_pad_set_link_function().
6911
6912 2005-11-02  Johan Dahlin  <johan@gnome.org>
6913
6914         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
6915         Unref found_caps after we used it.
6916
6917 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
6918
6919         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
6920           Don't try to ref NULL.
6921
6922 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
6923
6924         * win32/common/config.h.in:
6925           provide a GST_FUNCTION that just gives a string for now
6926
6927 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
6928
6929         * win32/common/gstenumtypes.c: (register_gst_object_flags),
6930         (gst_object_flags_get_type), (register_gst_bin_flags),
6931         (gst_bin_flags_get_type), (register_gst_buffer_flag),
6932         (gst_buffer_flag_get_type), (register_gst_bus_flags),
6933         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
6934         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
6935         (gst_clock_return_get_type), (register_gst_clock_entry_type),
6936         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
6937         (gst_clock_flags_get_type), (register_gst_state),
6938         (gst_state_get_type), (register_gst_state_change_return),
6939         (gst_state_change_return_get_type), (register_gst_state_change),
6940         (gst_state_change_get_type), (register_gst_element_flags),
6941         (gst_element_flags_get_type), (register_gst_core_error),
6942         (gst_core_error_get_type), (register_gst_library_error),
6943         (gst_library_error_get_type), (register_gst_resource_error),
6944         (gst_resource_error_get_type), (register_gst_stream_error),
6945         (gst_stream_error_get_type), (register_gst_event_type),
6946         (gst_event_type_get_type), (register_gst_seek_type),
6947         (gst_seek_type_get_type), (register_gst_seek_flags),
6948         (gst_seek_flags_get_type), (register_gst_format),
6949         (gst_format_get_type), (register_gst_index_certainty),
6950         (gst_index_certainty_get_type), (register_gst_index_entry_type),
6951         (gst_index_entry_type_get_type),
6952         (register_gst_index_lookup_method),
6953         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
6954         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
6955         (gst_index_resolver_method_get_type), (register_gst_index_flags),
6956         (gst_index_flags_get_type), (register_gst_debug_level),
6957         (gst_debug_level_get_type), (register_gst_debug_color_flags),
6958         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
6959         (gst_iterator_result_get_type), (register_gst_iterator_item),
6960         (gst_iterator_item_get_type), (register_gst_message_type),
6961         (gst_message_type_get_type), (register_gst_mini_object_flags),
6962         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
6963         (gst_pad_link_return_get_type), (register_gst_flow_return),
6964         (gst_flow_return_get_type), (register_gst_activate_mode),
6965         (gst_activate_mode_get_type), (register_gst_pad_direction),
6966         (gst_pad_direction_get_type), (register_gst_pad_flags),
6967         (gst_pad_flags_get_type), (register_gst_pad_presence),
6968         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
6969         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
6970         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
6971         (gst_plugin_error_get_type), (register_gst_plugin_flags),
6972         (gst_plugin_flags_get_type), (register_gst_rank),
6973         (gst_rank_get_type), (register_gst_query_type),
6974         (gst_query_type_get_type), (register_gst_tag_merge_mode),
6975         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
6976         (gst_tag_flag_get_type), (register_gst_task_state),
6977         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
6978         (gst_alloc_trace_flags_get_type),
6979         (register_gst_type_find_probability),
6980         (gst_type_find_probability_get_type), (register_gst_uri_type),
6981         (gst_uri_type_get_type), (register_gst_parse_error),
6982         (gst_parse_error_get_type):
6983         * win32/common/gstversion.h:
6984           update win32 copies
6985
6986 2005-11-01  Luca Ognibene  <luogni@tin.it>
6987
6988         * gst/gst.c:
6989           fix docs. popt is dead, long live GOption.
6990
6991 2005-10-31  Wim Taymans  <wim@fluendo.com>
6992
6993         * gst/gstbuffer.h:
6994         Small doc fix.
6995
6996 2005-10-31  Andy Wingo  <wingo@pobox.com>
6997
6998         * Boo!
6999
7000         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
7001
7002         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
7003         need to serialize property notifications on GLib 2.8. GLib 2.6 has
7004         the possibility of deadlocks here if code calling notify() or
7005         set() has a lock that can be taken in another notify handler (ABBA
7006         with class lock and e.g. python GIL state lock).
7007
7008 2005-10-28  Julien MOUTTE  <julien@moutte.net>
7009
7010         * gst/gstbus.c: Doc updates.
7011
7012 2005-10-28  Wim Taymans  <wim@fluendo.com>
7013
7014         * docs/design/part-TODO.txt:
7015         * gst/gstiterator.c:
7016         * gst/gstsystemclock.c:
7017         * gst/gstsystemclock.h:
7018         Doc updates.
7019
7020 2005-10-28  Edward Hervey  <edward@fluendo.com>
7021
7022         * docs/gst/gstreamer-docs.sgml:
7023         * docs/gst/gstreamer-sections.txt:
7024         the GstURIType documentation page is private, it only defines GstURIType
7025         which should be defined in the GstURIHandler page
7026         
7027 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
7028
7029         * gst/gstbin.c: (gst_bin_class_init):
7030         * gst/gstbin.h:
7031         * gst/gstutils.c:
7032         Documentation updates.
7033
7034 2005-10-28  Wim Taymans  <wim@fluendo.com>
7035
7036         * docs/gst/gstreamer-sections.txt:
7037         * gst/gstclock.c:
7038         * gst/gstclock.h:
7039         Documented the clocks.
7040
7041 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
7042
7043         * docs/gst/gstreamer-sections.txt:
7044           move some macros to private sections
7045         * gst/gstminiobject.c:
7046         * gst/gstminiobject.h:
7047           add descriptions provided by ds and some more
7048         * gst/gstpad.h:
7049           mark macro as to be removed
7050
7051 2005-10-28  Wim Taymans  <wim@fluendo.com>
7052
7053         * docs/design/part-TODO.txt:
7054         Add an item to TODO.
7055
7056         * gst/gstiterator.c: (gst_iterator_fold),
7057         (gst_iterator_find_custom):
7058         * gst/gstiterator.h:
7059         Add iterator docs.
7060
7061 2005-10-28  Wim Taymans  <wim@fluendo.com>
7062
7063         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
7064         (gst_base_transform_init):
7065         Don't leak class.
7066
7067         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
7068         An EOS event marks the queue as completely filled.
7069
7070 2005-10-27  Wim Taymans  <wim@fluendo.com>
7071
7072         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7073         (gst_base_sink_do_sync), (gst_base_sink_get_position):
7074         Some more debugging.
7075
7076         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
7077         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
7078         (gst_base_transform_event), (gst_base_transform_getrange),
7079         (gst_base_transform_chain):
7080         * gst/base/gstbasetransform.h:
7081         Fix debugging,
7082         Protect transform and concurrent buffer alloc with a new lock.
7083         Try not to break ABI/API.
7084
7085 2005-10-27  Wim Taymans  <wim@fluendo.com>
7086
7087         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
7088         (gst_base_src_init), (gst_base_src_query),
7089         (gst_base_src_default_newsegment),
7090         (gst_base_src_configure_segment), (gst_base_src_do_seek),
7091         (gst_base_src_send_event), (gst_base_src_event_handler),
7092         (gst_base_src_pad_get_range), (gst_base_src_loop),
7093         (gst_base_src_unlock), (gst_base_src_default_negotiate),
7094         (gst_base_src_start), (gst_base_src_deactivate),
7095         (gst_base_src_activate_push), (gst_base_src_change_state):
7096         Move some stuff around and cleanup things.
7097
7098 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
7099
7100         * gst/base/gstbasesrc.c: (gst_base_src_query):
7101           Add missing break statements.
7102
7103 2005-10-27  Wim Taymans  <wim@fluendo.com>
7104
7105         * check/gst/gstbin.c: (GST_START_TEST):
7106         An extra refcount is taken in basesrc.
7107
7108         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
7109         (gst_base_src_get_range), (gst_base_src_pad_get_range),
7110         (gst_base_src_loop):
7111         Small cleanups, check for flushing after being unlocked from the 
7112         LIVE_LOCK. take refcounts correctly (not yet everywhere).
7113         Don't send out EOS when going to READY.
7114
7115 2005-10-27  Wim Taymans  <wim@fluendo.com>
7116
7117         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7118         (gst_base_sink_get_position):
7119         Some more debug.
7120
7121         * gst/gstbin.c: (message_check), (bin_replace_message),
7122         (bin_remove_messages), (is_eos), (gst_bin_add_func),
7123         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
7124         (bin_query_duration_init), (bin_query_duration_fold),
7125         (bin_query_duration_done), (bin_query_generic_fold),
7126         (gst_bin_query):
7127         * tools/gst-launch.c: (main):
7128         Remove old option.
7129
7130 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
7131
7132         * examples/controller/audio-example.c: (main):
7133         * examples/queue/queue.c: (event_loop):
7134         * gst/base/gstbasetransform.h:
7135         * gst/gstelement.c: (gst_element_send_event):
7136         * gst/gstevent.h:
7137         * gst/gstpad.c: (gst_pad_send_event):
7138           fixing examples
7139           fixing docs typos
7140           changing log priority in error situations
7141
7142 2005-10-25  Wim Taymans  <wim@fluendo.com>
7143
7144         * gst/gstbin.c: (message_check), (bin_replace_message),
7145         (bin_remove_messages), (is_eos), (gst_bin_add_func),
7146         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
7147         (bin_query_duration_init), (bin_query_duration_fold),
7148         (bin_query_duration_done), (bin_query_generic_fold),
7149         (gst_bin_query):
7150         Some doc and debug updates.
7151         Cache previously requested query DURATION for speed. invalidate
7152         cached duration if element posts a DURATION message.
7153
7154 2005-10-25  Wim Taymans  <wim@fluendo.com>
7155
7156         * docs/design/part-TODO.txt:
7157         Update TODO.
7158
7159         * gst/gstbin.c: (message_check), (bin_replace_message),
7160         (bin_remove_messages), (is_eos), (gst_bin_add_func),
7161         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
7162         (bin_query_duration_init), (bin_query_duration_fold),
7163         (bin_query_duration_done), (bin_query_generic_fold),
7164         (gst_bin_query):
7165         Handle SEGMENT_START/DONE messages correctly.
7166         More evolved query algorithm that handles duration queries
7167         correctly.
7168
7169         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
7170         (gst_element_get_state_func), (gst_element_abort_state),
7171         (gst_element_commit_state), (gst_element_lost_state):
7172         Some more debugging.
7173
7174         * gst/gstmessage.h:
7175         Added doc.
7176
7177 2005-10-25  Wim Taymans  <wim@fluendo.com>
7178
7179         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
7180         Don't use invalid stream_time.
7181
7182         * gst/gstevent.c: (gst_event_new_newsegment):
7183         stream_time in newsegment cannot be undefined.
7184
7185 2005-10-24  Wim Taymans  <wim@fluendo.com>
7186
7187         * gst/gstbus.c:
7188         Doc fix.
7189
7190         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
7191         (gst_queue_loop):
7192         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
7193
7194 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
7195
7196         * docs/libs/tmpl/gstdparam.sgml:
7197         * docs/libs/tmpl/gstdplinint.sgml:
7198         * docs/libs/tmpl/gstdpman.sgml:
7199         * docs/libs/tmpl/gstdpsmooth.sgml:
7200         * docs/libs/tmpl/gstunitconvert.sgml:
7201           these are obsolete
7202
7203 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
7204
7205         * configure.ac:
7206           back to HEAD
7207
7208 === release 0.9.4 ===
7209
7210 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
7211
7212         * configure.ac:
7213           releasing 0.9.4, "Tyrannosaurus Rex"
7214
7215 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
7216
7217         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
7218         (gst_file_sink_get_current_offset):
7219           Use fseeko() and ftello() if available. When falling back on
7220           lseek() to get the current offset, fflush() first to make sure
7221           everything is up-to-date and we get the right offset.
7222
7223 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
7224
7225         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7226         * gst/base/gstbasesrc.c: (gst_base_src_loop):
7227         * gst/gsterror.c: (_gst_stream_errors_init):
7228         * gst/gsterror.h:
7229         * gst/gstqueue.c: (gst_queue_loop):
7230         * po/POTFILES.in:
7231           remove prematurely added error category and clean up the instances
7232
7233 2005-10-21  Wim Taymans  <wim@fluendo.com>
7234
7235         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
7236         (gst_base_sink_get_position), (gst_base_sink_query),
7237         (gst_base_sink_change_state):
7238         Simply set the right flag when going to playing, that's all
7239         we need to do instead of calling a function inside the object
7240         lock (that could take the lock as well and deadlock)
7241
7242 2005-10-21  Wim Taymans  <wim@fluendo.com>
7243
7244         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
7245         (gst_base_src_loop):
7246         Don't warn, the peer element knows what to do best when
7247         the seek failed, it might try something else.
7248
7249 2005-10-21  Wim Taymans  <wim@fluendo.com>
7250
7251         * gst/base/gstbasesrc.c: (gst_base_src_init),
7252         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
7253         Fix seeking.
7254
7255 2005-10-21  Wim Taymans  <wim@fluendo.com>
7256
7257         * docs/design/part-segments.txt:
7258         More docs.
7259
7260         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
7261         Correctly set caps, even on the subbufer.
7262
7263 2005-10-21  Wim Taymans  <wim@fluendo.com>
7264
7265         * docs/gst/gstreamer-docs.sgml:
7266         * docs/gst/gstreamer-sections.txt:
7267         * gst/gstelement.h:
7268         * gst/gstevent.c:
7269         * gst/gstevent.h:
7270         * gst/gstmessage.h:
7271         * gst/gstpad.h:
7272         * gst/gstparse.h:
7273         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
7274         * gst/gsttask.h:
7275         * gst/gstutils.c:
7276         * gst/gstutils.h:
7277         And 2% more doc coverage.
7278
7279 2005-10-21  Andy Wingo  <wingo@pobox.com>
7280
7281         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
7282         position reporting.
7283
7284 2005-10-20  Wim Taymans  <wim@fluendo.com>
7285
7286         * gst/gsterror.c: (gst_error_get_message):
7287         * gst/gstparse.h:
7288         * gst/gstquery.h:
7289         * gst/gststructure.c:
7290         * gst/gsttrace.c:
7291         * gst/gstutils.c:
7292         More docs.
7293
7294 2005-10-20  Wim Taymans  <wim@fluendo.com>
7295
7296         * gst/gstbuffer.h:
7297         * gst/gstpad.c:
7298         * gst/gstparse.c:
7299         Another 1% more coverage.
7300
7301 2005-10-20  Wim Taymans  <wim@fluendo.com>
7302
7303         * docs/gst/gstreamer-sections.txt:
7304         * gst/gstelement.c: (gst_element_get_state_func),
7305         (gst_element_abort_state), (gst_element_commit_state),
7306         (gst_element_lost_state):
7307         * gst/gstevent.h:
7308         * gst/gstquery.c: (gst_query_set_position),
7309         (gst_query_parse_position), (gst_query_set_duration),
7310         (gst_query_parse_duration), (gst_query_new_convert):
7311         * gst/gstutils.c:
7312         Yay! 1% more docs coverage.
7313
7314 2005-10-20  Wim Taymans  <wim@fluendo.com>
7315
7316         * gst/gstpad.h:
7317         * gst/gstquery.c: (gst_query_set_position),
7318         (gst_query_parse_position), (gst_query_set_duration),
7319         (gst_query_parse_duration), (gst_query_new_convert):
7320         * gst/gstquery.h:
7321         * gst/gstutils.c: (gst_element_query_convert):
7322         * gst/gstutils.h:
7323         Docs and consistency fixes.
7324
7325 2005-10-20  Wim Taymans  <wim@fluendo.com>
7326
7327         * gst/gsttask.c:
7328         * gst/gsttask.h:
7329         More docs.
7330
7331 2005-10-20  Wim Taymans  <wim@fluendo.com>
7332
7333         * gst/gstbin.c: (message_check), (bin_replace_message),
7334         (bin_remove_messages), (is_eos), (gst_bin_add_func),
7335         (update_degree), (gst_bin_sort_iterator_next),
7336         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
7337         Reworked the message handling a bit, cache the messages instead of
7338         only the senders. alows us to do more in the future.
7339
7340 2005-10-20  Wim Taymans  <wim@fluendo.com>
7341
7342         * docs/design/part-TODO.txt:
7343         Update TODO
7344
7345         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
7346         (gst_base_sink_query):
7347         Don't use clock time to report position when in EOS.
7348
7349 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
7350
7351         * tools/gst-inspect.c: (print_interfaces),
7352         (print_element_properties_info), (print_element_info):
7353           Fix interface output with gst-inspect -a; don't print
7354           newlines after double/float properties.
7355
7356 2005-10-20  Wim Taymans  <wim@fluendo.com>
7357
7358         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
7359         (gst_base_sink_query):
7360         Speed up current position calculation.
7361
7362         * gst/base/gstbasesrc.c: (gst_base_src_query),
7363         (gst_base_src_default_newsegment):
7364         Correctly set stream position in newsegment.
7365
7366         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
7367         (update_degree), (gst_bin_sort_iterator_next),
7368         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
7369         * gst/gstmessage.c: (gst_message_new_custom):
7370         Clean up debugging info
7371
7372         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
7373         (gst_queue_loop), (gst_queue_handle_src_query):
7374         Pause task faster.
7375
7376 2005-10-19  Wim Taymans  <wim@fluendo.com>
7377
7378         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
7379         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
7380         Fix query handling again.
7381
7382 2005-10-19  Wim Taymans  <wim@fluendo.com>
7383
7384         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
7385         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
7386         * gst/base/gstbasesrc.c: (gst_base_src_query):
7387         * gst/elements/gstfilesink.c: (gst_file_sink_query):
7388         * gst/elements/gsttypefindelement.c:
7389         (gst_type_find_handle_src_query), (find_element_get_length),
7390         (gst_type_find_element_activate):
7391         API change fix.
7392
7393         * gst/gstquery.c: (gst_query_new_position),
7394         (gst_query_set_position), (gst_query_parse_position),
7395         (gst_query_new_duration), (gst_query_set_duration),
7396         (gst_query_parse_duration), (gst_query_set_segment),
7397         (gst_query_parse_segment):
7398         * gst/gstquery.h:
7399         Bundling query position/duration is not a good idea since duration
7400         does not change much and we don't want to recalculate it for every
7401         position query, so they are separated again..
7402         Base value in segment query is not needed.
7403
7404         * gst/gstqueue.c: (gst_queue_handle_src_query):
7405         * gst/gstutils.c: (gst_element_query_position),
7406         (gst_element_query_duration), (gst_pad_query_position),
7407         (gst_pad_query_duration):
7408         * gst/gstutils.h:
7409         Updates for query API change.
7410         Added some docs here and there.
7411
7412 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
7413
7414         * check/gst/gstbin.c: (GST_START_TEST):
7415         * check/gst/gstghostpad.c: (GST_START_TEST):
7416         * check/pipelines/cleanup.c: (GST_START_TEST):
7417           wait on thread to die so we can check refcount correctly
7418
7419 2005-10-18  Wim Taymans  <wim@fluendo.com>
7420
7421         * check/pipelines/stress.c: (GST_START_TEST):
7422         Make check a little more time consuming.
7423
7424 2005-10-18  Wim Taymans  <wim@fluendo.com>
7425
7426         * check/Makefile.am:
7427         * check/pipelines/stress.c: (GST_START_TEST),
7428         (simple_launch_lines_suite), (main):
7429         Small state change torture test.
7430
7431         * docs/design/part-states.txt:
7432         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
7433         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
7434         (gst_base_sink_change_state):
7435         Never take state lock from streaming thread, clean up ugly
7436         hacks. Unfortunatly core does not yet support nice ways to
7437         async commit state.
7438         
7439         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
7440         (bin_bus_handler):
7441         Start state recalc if a STATE_DIRTY message is posted, but only
7442         on the toplevel bin.
7443
7444         * gst/gstelement.c: (gst_element_sync_state_with_parent),
7445         (gst_element_get_state_func), (gst_element_abort_state),
7446         (gst_element_commit_state), (gst_element_lost_state),
7447         (gst_element_set_state_func), (gst_element_change_state):
7448         * gst/gstelement.h:
7449         State variables are now protected with the LOCK, the state
7450         lock is only used to serialize _set_state().
7451
7452 2005-10-18  Wim Taymans  <wim@fluendo.com>
7453
7454         * check/gst/gstbin.c: (GST_START_TEST):
7455         * check/gst/gstmessage.c: (GST_START_TEST):
7456         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
7457         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
7458         (bin_bus_handler):
7459         * gst/gstelement.c: (gst_element_abort_state),
7460         (gst_element_commit_state), (gst_element_lost_state):
7461         * gst/gstmessage.c: (gst_message_new_state_changed),
7462         (gst_message_new_state_dirty), (gst_message_new_segment_start),
7463         (gst_message_new_segment_done), (gst_message_new_duration),
7464         (gst_message_parse_state_changed),
7465         (gst_message_parse_segment_start),
7466         (gst_message_parse_segment_done), (gst_message_parse_duration):
7467         * gst/gstmessage.h:
7468         * tools/gst-launch.c: (event_loop):
7469         Seriously, this is better than a previous commit as we only need
7470         to notify the fact that an element changed state in a streaming
7471         thread, marking the state of the parents dirty, hence the 
7472         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
7473         message.
7474
7475 2005-10-18  Wim Taymans  <wim@fluendo.com>
7476
7477         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
7478         (gst_bin_recalc_func):
7479         * gst/gstelement.c: (gst_element_set_clock),
7480         (gst_element_abort_state), (gst_element_lost_state):
7481         Cleanups, prepare for state change fixes.
7482
7483 2005-10-18  Wim Taymans  <wim@fluendo.com>
7484
7485         * gst/gstbin.h:
7486         * gst/gstelement.c: (gst_element_class_init),
7487         (gst_element_set_state), (gst_element_set_state_func):
7488         * gst/gstelement.h:
7489         Pending ABI changes.
7490         GThreadPool in GstBinClass to monitor async state changes.
7491         state_cookie in GstElement to detect concurrent gst/set state.
7492         set_state is now virtual too in case a very complicated element
7493         has to be constructed.
7494
7495 2005-10-18  Wim Taymans  <wim@fluendo.com>
7496
7497         * check/gst/gstbin.c: (GST_START_TEST):
7498         * check/gst/gstmessage.c: (GST_START_TEST):
7499         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
7500         * gst/gstbin.c: (bin_bus_handler):
7501         * gst/gstelement.c: (gst_element_commit_state),
7502         (gst_element_lost_state):
7503         * gst/gstmessage.c: (gst_message_new_state_changed),
7504         (gst_message_new_segment_start), (gst_message_new_segment_done),
7505         (gst_message_new_duration), (gst_message_parse_state_changed),
7506         (gst_message_parse_segment_start),
7507         (gst_message_parse_segment_done), (gst_message_parse_duration):
7508         * gst/gstmessage.h:
7509         * tools/gst-launch.c: (event_loop):
7510         Make messages future proof.
7511         state-change gets a flag if it was a message comming from the
7512         streaming thread.
7513         segment-start/stop can also be specified in other formats.
7514         A message to notify an app that a pipeline changed playback 
7515         duration.
7516         Also fix a GstMessage leak in -launch
7517
7518 2005-10-18  Andy Wingo  <wingo@pobox.com>
7519
7520         * gst/gstelement.c (gst_element_dispose): More helpful message.
7521
7522 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
7523
7524         reviewed by: <delete if not using a buddy>
7525
7526         * common/gtk-doc.mak:
7527
7528 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
7529
7530         * gst/gstregistry.c: (gst_registry_scan_path_level):
7531           unref a plug-in we get that was already initialized
7532
7533 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
7534
7535         * docs/gst/gstreamer-sections.txt:
7536         * docs/libs/gstreamer-libs-sections.txt:
7537         * gst/gstelement.h:
7538           add new api entries
7539           hide internal macro
7540
7541 2005-10-17  Andy Wingo  <wingo@pobox.com>
7542
7543         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
7544         cleanup.
7545
7546         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
7547
7548         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
7549
7550         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
7551         (gst_element_get_state_func): Better debug message.
7552         (gst_element_commit_state): s/INFO/DEBUG/.
7553         (gst_element_lost_state, gst_element_change_state): 
7554
7555         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
7556         (gst_message_new_custom): s/INFO/LOG/.
7557
7558 2005-10-17  Michael Smith <msmith@fluendo.com>
7559
7560         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
7561           Check if end time is valid using end time, not start time.
7562
7563 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
7564
7565         * check/gst-libs/controller.c: (GST_START_TEST),
7566         (gst_controller_suite):
7567         * libs/gst/controller/gstcontroller.c:
7568         (gst_controlled_property_set_interpolation_mode):
7569         * libs/gst/controller/gstcontroller.h:
7570         * libs/gst/controller/gstinterpolation.c:
7571         * testsuite/controller/.cvsignore:
7572         * testsuite/controller/Makefile.am:
7573         * testsuite/controller/interpolator.c:
7574           merge controller testsuites
7575           fix broken tests
7576           remove mem-chunk from docs
7577
7578 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
7579
7580         * gst/gstmemchunk.c:
7581         * gst/gstmemchunk.h:
7582         * gst/gsttrashstack.c:
7583         * gst/gsttrashstack.h:
7584           out.  get out.  you're fired.  to the Attic !
7585
7586 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
7587
7588         * gst/gstcaps.c: (gst_caps_intersect):
7589           fix signedness issues in a (hopefully) correct way
7590         * gst/gstelement.c: (gst_element_pads_activate):
7591           some debugging
7592         * gst/gstobject.c: (gst_object_set_parent):
7593           some debugging
7594
7595 2005-10-17  Julien MOUTTE  <julien@moutte.net>
7596
7597         * gst/gstvalue.h: Fix prototypes.
7598
7599 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7600
7601         * docs/gst/gstreamer-sections.txt:
7602         * gst/gst.c: (gst_version_string):
7603         * gst/gst.h:
7604         * gst/gstversion.h.in:
7605         * win32/common/libgstreamer.def:
7606           add gst_version_string ()
7607
7608 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7609
7610         * configure.ac:
7611           clean up further
7612         * gst/gst.c: (init_post):
7613         * win32/common/config.h.in:
7614           it's PLUGINDIR now
7615         * gst/gstcaps.c: (gst_caps_intersect):
7616           use gint64, the range could be bigger than a guint
7617
7618 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7619
7620         * gst/gstclock.h:
7621           document potential problem in 2038
7622
7623 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7624
7625         * gst/gstcaps.c: (gst_caps_intersect):
7626           Fix guint j diving under 0
7627
7628 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7629
7630         * configure.ac:
7631         * win32/common/config.h:
7632         * win32/common/config.h.in:
7633           check for process.h, declares getpid() on Windows
7634         * gst/gstinfo.c:
7635           include process.h if we have it
7636         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
7637         * gst/gstmemchunk.h:
7638           fix signedness issues
7639         * win32/common/libgstreamer.def:
7640           fix get_type's
7641
7642 2005-10-16  Julien MOUTTE  <julien@moutte.net>
7643
7644         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
7645         fix. Because of unsigned ints, caps intersection was going nuts and
7646         trying to access structures with G_MAXUINT index. That fixes
7647         videotestsrc ! ffmpegcolorspace ! fakesink
7648         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
7649         consistency.
7650
7651 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7652
7653         * configure.ac:
7654           use the gettext macro
7655         * gst/elements/gstelements.c:
7656         * gst/gst.c:
7657         * gst/indexers/gstindexers.c:
7658           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
7659         * win32/common/config.h:
7660           updated config.h
7661         * win32/common/config.h.in:
7662           add the template to generate config.h
7663         * win32/common/gstenumtypes.c:
7664         * win32/common/gstversion.h:
7665           updated copies
7666
7667 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7668
7669         * gst/gst.c: (gst_version):
7670         * gst/gstversion.h.in:
7671           add the nano
7672
7673 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
7674
7675         * gst/gstevent.h:
7676           Oops, add missing closing bracket.
7677
7678 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
7679
7680         * configure.ac:
7681           use common m4's for argument checking
7682
7683 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
7684
7685         * docs/gst/gstreamer-sections.txt:
7686         * gst/gstevent.h:
7687           Add GST_EVENT_TYPE_NAME() macro.
7688
7689 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
7690
7691         * gst/gstinfo.c:
7692         * gst/gstpluginfeature.c:
7693         * gst/gsttask.c:
7694           privatize more symbols
7695
7696 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
7697
7698         * configure.ac:
7699           add srcdir, builddir includes to GST_ALL_CFLAGS, since
7700           everything that uses GStreamer API should have the includes
7701
7702 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
7703
7704         * docs/gst/gstreamer-sections.txt:
7705         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
7706         * gst/gstvalue.h:
7707           give each value a _get_type, removes the DATA exports
7708
7709 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
7710
7711         * gst/gst.c:
7712         * gst/gst.h:
7713           remove _gst_registry_auto_load, not used anymore
7714         * gst/gstbin.c: (gst_bin_get_type):
7715         * gst/gstbin.h:
7716         * gst/gstelement.c: (gst_element_get_type):
7717         * gst/gstelement.h:
7718         * gst/gstobject.c: (gst_object_get_type):
7719         * gst/gstobject.h:
7720         * gst/gstpad.c: (gst_pad_get_type):
7721         * gst/gstpad.h:
7722           make _get_type functions similar, fixes data export from library
7723
7724 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
7725
7726         * configure.ac:
7727           correctly make conditionals
7728         * gst/elements/Makefile.am:
7729         * gst/elements/gstelements.c:
7730           fix typo causing fdsrc not to build
7731
7732 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
7733
7734         * testsuite/Makefile.am:
7735         * testsuite/bytestream/.cvsignore:
7736         * testsuite/bytestream/Makefile.am:
7737         * testsuite/bytestream/filepadsink.c:
7738         * testsuite/bytestream/gstbstest.c:
7739         * testsuite/bytestream/test1.c:
7740         * testsuite/bytestream/testfile1:
7741         * testsuite/caps/normalisation.c:
7742         * testsuite/caps/random.c: (main):
7743         * testsuite/cleanup/.cvsignore:
7744         * testsuite/cleanup/Makefile.am:
7745         * testsuite/cleanup/cleanup1.c:
7746         * testsuite/cleanup/cleanup2.c:
7747         * testsuite/cleanup/cleanup3.c:
7748         * testsuite/cleanup/cleanup4.c:
7749         * testsuite/cleanup/cleanup5.c:
7750         * testsuite/controller/interpolator.c:
7751         * testsuite/debug/printf_extension.c: (main):
7752         * testsuite/elements/tee.c:
7753         * testsuite/negotiation/.cvsignore:
7754         * testsuite/negotiation/Makefile.am:
7755         * testsuite/negotiation/pad_link.c:
7756         * testsuite/pad/Makefile.am:
7757         * testsuite/pad/chainnopull.c:
7758         * testsuite/pad/getnopush.c:
7759         * testsuite/pad/link.c:
7760         * testsuite/refcounting/sched.c: (create_pipeline):
7761         * testsuite/registry/Makefile.am:
7762         * testsuite/registry/gst-print-formats.c:
7763         * testsuite/schedulers/.cvsignore:
7764         * testsuite/schedulers/142183-2.c:
7765         * testsuite/schedulers/142183.c:
7766         * testsuite/schedulers/143777-2.c:
7767         * testsuite/schedulers/143777.c:
7768         * testsuite/schedulers/147713.c:
7769         * testsuite/schedulers/147819.c:
7770         * testsuite/schedulers/147894-2.c:
7771         * testsuite/schedulers/147894.c:
7772         * testsuite/schedulers/Makefile.am:
7773         * testsuite/schedulers/group_link.c:
7774         * testsuite/schedulers/queue_link.c:
7775         * testsuite/schedulers/relink.c:
7776         * testsuite/schedulers/unlink.c:
7777         * testsuite/schedulers/unref.c:
7778         * testsuite/schedulers/useless_iteration.c:
7779         * testsuite/states/bin.c:
7780           clean out/remove some stuff from the testsuite directories
7781
7782 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
7783
7784         * configure.ac:
7785           check for some headers
7786         * gst/elements/Makefile.am:
7787         * gst/elements/gstelements.c:
7788           don't compile fdsrc without sys/socket.h
7789         * gst/indexers/Makefile.am:
7790         * gst/indexers/gstindexers.c: (plugin_init):
7791           don't compile fileindex without mmap
7792
7793 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
7794
7795         * configure.ac:
7796           reorganize
7797           clean up
7798           document more
7799           remove cruft
7800         * check/Makefile.am:
7801         * docs/gst/Makefile.am:
7802         * examples/helloworld/Makefile.am:
7803         * gst/Makefile.am:
7804         * gst/base/Makefile.am:
7805         * gst/check/Makefile.am:
7806         * gst/elements/Makefile.am:
7807         * gst/indexers/Makefile.am:
7808         * gst/parse/Makefile.am:
7809         * libs/gst/controller/Makefile.am:
7810         * libs/gst/dataprotocol/Makefile.am:
7811         * examples/helloworld/helloworld.c: (event_loop):
7812           compile fixes, though it's not being compiled currently
7813
7814 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
7815
7816         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
7817           Add some simple tests for the new taglist date API.
7818
7819 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
7820
7821         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
7822         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
7823           Beautify 'last-message' output: print 'none' for buffer timestamps
7824           and durations if none is set; improve alignment with next messages.
7825
7826 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
7827
7828         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
7829         * gst/gstpluginfeature.h:
7830         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
7831         * gst/gstregistry.h:
7832         * docs/gst/gstreamer-sections.txt:
7833           Add new API to check plugin feature version requirements.
7834
7835         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
7836           Some basic tests for the above.         
7837
7838 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
7839
7840         * gst/gststructure.c: (gst_structure_to_string):
7841           guard against NULL printf - happens when for example
7842           a message structure with GstClock gets serialized
7843
7844 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
7845
7846         * gst/base/gstcollectpads.c: (gst_collectpads_event):
7847           Fix presumable copy'n'pasto.
7848
7849 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
7850
7851         * gst/elements/gstfakesrc.h:
7852         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
7853         * gst/elements/gsttypefindelement.c:
7854           fix some signedness
7855         * gst/elements/gstfilesink.c: (gst_file_sink_render):
7856           I wonder if this could actually write +2GB files before
7857
7858 2005-10-13  Andy Wingo  <wingo@pobox.com>
7859
7860         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
7861         Fix Timmeke Waymans bug.
7862         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
7863         string of the proper length to gst_caps_from_string. There's a
7864         potential for, before this fix, that this could cause someone
7865         connecting over the network to cause a segfault if the payload is
7866         not NUL-terminated.
7867
7868 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
7869
7870         * docs/design/draft-push-pull.txt:
7871         * docs/design/part-overview.txt:
7872         * docs/random/TODO-pre-0.9:
7873         * docs/random/old/ChangeLog.gstreamer:
7874         * gst/base/gstpushsrc.c:
7875         * gst/gstclock.c:
7876           fixed typos
7877
7878 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
7879
7880         * gst/glib-compat.c: (gst_flags_get_first_value):
7881         * gst/glib-compat.h:
7882         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
7883         (gst_value_compare_double), (gst_value_serialize_flags):
7884           GLib 2.6 g_flags_get_first_value has a bug that triggers an
7885           infinite loop
7886
7887 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
7888
7889         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7890         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
7891           fix up debugging
7892         * tools/gst-launch.c: (event_loop):
7893           print out clock nicely
7894
7895 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
7896
7897         * docs/gst/gstreamer-sections.txt:
7898         * gst/gsttaglist.h:
7899         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
7900         (gst_tag_list_get_date_index):
7901           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
7902           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
7903
7904 2005-10-13  Julien MOUTTE  <julien@moutte.net>
7905
7906         * gst/base/gstcollectpads.c: (gst_collectpads_event),
7907         (gst_collectpads_chain):
7908         * gst/base/gstcollectpads.h: Handle newsegment and store informations
7909         in CollectData.
7910
7911 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
7912
7913         * docs/gst/gstreamer-sections.txt:
7914         * gst/gst.c:
7915         * gst/gsterror.h:
7916         * tools/gst-inspect.c: (main):
7917         * tools/gst-launch.c: (main):
7918         * tools/gst-run.c: (main):
7919         * tools/gst-xmlinspect.c: (main):
7920           fix GOption context leaks
7921           doc fixes
7922
7923 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
7924
7925         * gst/gstbus.c:
7926           use HAVE_UNISTD_H
7927         * win32/common/config.h:
7928           update config
7929         * win32/vs6/grammar.dsp:
7930         * win32/vs6/libgstelements.dsp:
7931         * win32/vs6/libgstreamer.dsp:
7932           update vs6 files
7933
7934 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
7935
7936         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7937         * gst/base/gstbasesrc.c: (gst_base_src_query):
7938           fix more guint64<->gdouble conversions
7939
7940 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
7941
7942         * Makefile.am:
7943           add win32-update target
7944         * win32/common/gstconfig.h:
7945         * win32/common/gstenumtypes.c:
7946         * win32/common/gstenumtypes.h:
7947         * win32/common/gstversion.h:
7948           add files that visual studio can't generate
7949
7950 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
7951
7952         * Makefile.am:
7953           add a win32-update target
7954         * configure.ac:
7955
7956 2005-10-12  Wim Taymans  <wim@fluendo.com>
7957
7958         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
7959         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
7960         * gst/gstelement.c: (gst_element_commit_state),
7961         (gst_element_set_state):
7962         Protect flags with proper lock.
7963         unref provided cached clock in dispose.
7964
7965 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
7966
7967         * gst/gst.c:
7968         * gst/gstminiobject.h:
7969         * gst/gstpad.h:
7970         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
7971           removed unused flags from miniobject
7972           doc fixes
7973
7974 2005-10-12  Wim Taymans  <wim@fluendo.com>
7975
7976         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
7977         (gst_file_sink_event), (gst_file_sink_render):
7978         Flush before seeking.
7979
7980 2005-10-12  Andy Wingo  <wingo@pobox.com>
7981
7982         * gst/gst.c (gst_init_check): Ignore unknown options, as has
7983         always been the case.
7984
7985 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
7986
7987         * check/gst/gstbin.c: (GST_START_TEST):
7988         * docs/gst/gstreamer-sections.txt:
7989         * gst/base/gstbasesink.c: (gst_base_sink_init):
7990         * gst/base/gstbasesrc.c: (gst_base_src_init),
7991         (gst_base_src_get_range), (gst_base_src_check_get_range),
7992         (gst_base_src_start), (gst_base_src_stop):
7993         * gst/base/gstbasesrc.h:
7994         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
7995         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
7996         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
7997         (bin_bus_handler):
7998         * gst/gstbin.h:
7999         * gst/gstbuffer.h:
8000         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
8001         * gst/gstbus.h:
8002         * gst/gstelement.c: (gst_element_is_locked_state),
8003         (gst_element_set_locked_state), (gst_element_commit_state),
8004         (gst_element_set_state):
8005         * gst/gstelement.h:
8006         * gst/gstindex.c: (gst_index_init):
8007         * gst/gstindex.h:
8008         * gst/gstminiobject.h:
8009         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
8010         (gst_object_set_parent):
8011         * gst/gstobject.h:
8012         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
8013         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
8014         * gst/gstpad.h:
8015         * gst/gstpadtemplate.h:
8016         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
8017         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
8018         * gst/gstpipeline.h:
8019         * gst/indexers/gstfileindex.c: (gst_file_index_load),
8020         (gst_file_index_commit):
8021         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
8022         * testsuite/pad/link.c: (gst_test_src_init),
8023         (gst_test_filter_init), (gst_test_sink_init):
8024         * testsuite/states/locked.c: (main):
8025           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
8026           moved bitshift from macro to enum definition
8027
8028 2005-10-12  Wim Taymans  <wim@fluendo.com>
8029
8030         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
8031         * gst/elements/gstfilesink.c: (gst_file_sink_event),
8032         (gst_file_sink_render):
8033         Some more debugging info.
8034
8035 2005-10-12  Wim Taymans  <wim@fluendo.com>
8036
8037         * docs/design/part-states.txt:
8038         * tools/gst-launch.c: (main):
8039         Some doc updates.
8040         Revert non-intentional change.
8041
8042 2005-10-12  Wim Taymans  <wim@fluendo.com>
8043
8044         * check/gst/gstbin.c: (GST_START_TEST):
8045         * check/gst/gstelement.c: (GST_START_TEST):
8046         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
8047         * check/gst/gstghostpad.c: (GST_START_TEST):
8048         * check/gst/gstpipeline.c: (GST_START_TEST):
8049         * check/pipelines/simple_launch_lines.c: (run_pipeline):
8050         * check/states/sinks.c: (GST_START_TEST):
8051         * gst/elements/gsttypefindelement.c: (stop_typefinding):
8052         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
8053         (gst_bin_remove_func), (gst_bin_get_state_func),
8054         (gst_bin_recalc_state), (gst_bin_change_state_func),
8055         (bin_bus_handler):
8056         * gst/gstelement.c: (gst_element_get_state_func),
8057         (gst_element_get_state), (gst_element_abort_state),
8058         (gst_element_commit_state), (gst_element_set_state),
8059         (gst_element_change_state), (gst_element_change_state_func):
8060         * gst/gstelement.h:
8061         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
8062         (gst_pipeline_provide_clock_func):
8063         * gst/gstutils.c: (gst_element_link_pads_filtered):
8064         * tools/gst-launch.c: (main):
8065         * tools/gst-typefind.c: (main):
8066         Use GstClockTime in _get_state() instead of GTimeVal.
8067         Remove old code in gstutils.c
8068
8069 2005-10-12  Andy Wingo  <wingo@pobox.com>
8070
8071         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
8072         removed.
8073
8074         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
8075         there is no task. Shouldn't affect any code, as nothing in our
8076         plugins checks this return value.
8077         (gst_pad_stop_task): Also take the stream lock if the pad has no
8078         task. Docs updated.
8079
8080 2005-10-12  Wim Taymans  <wim@fluendo.com>
8081
8082         * gst/gstpad.c: (pre_activate), (post_activate),
8083         (gst_pad_activate_pull), (gst_pad_activate_push):
8084         Cleanup activation code. Reset old state if
8085         activation failed.
8086
8087 2005-10-12  Wim Taymans  <wim@fluendo.com>
8088
8089         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8090         (gst_base_sink_change_state):
8091         No need to prerol after receiving EOS.
8092
8093         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
8094         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
8095         * gst/elements/gstidentity.c: (gst_identity_event):
8096         Print events more verbosely.
8097
8098 2005-10-12  Wim Taymans  <wim@fluendo.com>
8099
8100         * check/Makefile.am:
8101         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
8102         * check/states/sinks2.c:
8103         Moved sinks2 testcode in sinks check.
8104
8105         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
8106         (gst_bin_remove_func), (gst_bin_recalc_state),
8107         (gst_bin_change_state_func), (bin_bus_handler):
8108         Fix potential race condition when _get_state() iterated over an
8109         ASYNC element right before it posted a state completion.
8110
8111         * gst/gstclock.h:
8112         Do proper cast here.
8113
8114         * gst/gstevent.c: (gst_event_new_newsegment),
8115         (gst_event_parse_newsegment):
8116         A playback rate of 0.0 is not allowed.
8117
8118 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8119
8120         * win32/common/config.h:
8121         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
8122         (_trewinddir), (_ttelldir), (_tseekdir):
8123         * win32/common/dirent.h:
8124         * win32/common/gtchar.h:
8125         * win32/common/libgstbase.def:
8126         * win32/common/libgstreamer.def:
8127         * win32/vs6/grammar.dsp:
8128         * win32/vs6/gst_inspect.dsp:
8129         * win32/vs6/gst_launch.dsp:
8130         * win32/vs6/gstreamer.dsw:
8131         * win32/vs6/libgstbase.dsp:
8132         * win32/vs6/libgstelements.dsp:
8133         * win32/vs6/libgstreamer.dsp:
8134           Visual Studio 6 project files, and a new common directory.
8135           Phear.
8136
8137 2005-10-11  Wim Taymans  <wim@fluendo.com>
8138
8139         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8140         (gst_base_sink_do_sync), (gst_base_sink_query),
8141         (gst_base_sink_change_state):
8142         * gst/base/gstbasesink.h:
8143         Correctly parse newsegment info.
8144
8145 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8146
8147         * gst/gst.c: (init_post):
8148           split plugin paths correctly
8149
8150 2005-10-11  Wim Taymans  <wim@fluendo.com>
8151
8152         * check/gst/gstevent.c: (GST_START_TEST):
8153         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8154         (gst_base_sink_change_state):
8155         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
8156         * gst/base/gstbasetransform.c: (gst_base_transform_event):
8157         * gst/elements/gstfilesink.c: (gst_file_sink_event):
8158         * gst/gstevent.c: (gst_event_new_newsegment),
8159         (gst_event_parse_newsegment):
8160         * gst/gstevent.h:
8161         Added extra flag to newsegment for future API freeze.
8162         Updated check and base elements.
8163
8164 2005-10-11  Julien MOUTTE  <julien@moutte.net>
8165
8166         * gst/base/gstcollectpads.c: (gst_collectpads_init),
8167         (gst_collectpads_add_pad), (gst_collectpads_pop),
8168         (gst_collectpads_event), (gst_collectpads_chain):
8169         * gst/base/gstcollectpads.h: Handle EOS correctly.
8170
8171 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8172
8173         * tools/gst-launch.c: (main):
8174           more null protecting
8175
8176 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8177
8178         * gst/gst-i18n-lib.h:
8179           check for ENABLE_NLS, not GETTEXT_PACKAGE
8180         * gst/gstregistry.c: (gst_registry_add_plugin),
8181         (gst_registry_scan_path_level),
8182         (_gst_registry_remove_cache_plugins):
8183           protect possibly NULL strings
8184         * gst/parse/types.h:
8185           config.h already included before
8186         * tools/gst-inspect.c: (main):
8187           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
8188           check for ENABLE_NLS, not GETTEXT_PACKAGE
8189         * tools/gst-launch.c: (main):
8190           check for ENABLE_NLS, not GETTEXT_PACKAGE
8191
8192 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8193
8194         * configure.ac:
8195           if we don't have glib, fail before testing 2.8
8196         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
8197           fix a leak, should fix plugins-base testsuite
8198
8199 2005-10-11  Andy Wingo  <wingo@pobox.com>
8200
8201         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
8202         take the mode we're going to as an arg. Go head and set the mode
8203         and flushing flags now, so that if the activate function starts a
8204         thread all the flags will be in the right state.
8205         (post_activate): Renamed also. Just handle making sure streaming
8206         finishes for the deactivation case, and setting the deactivated
8207         mode.
8208         (gst_pad_set_active): Complain loudly if deactivation fails.
8209         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
8210         (gst_pad_activate_push): Adapt to pre/post_activate changes,
8211         remove the terrible hack.
8212
8213 2005-10-11  Wim Taymans  <wim@fluendo.com>
8214
8215         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
8216         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
8217         (gst_bin_recalc_state), (gst_bin_change_state_func),
8218         (gst_bin_dispose), (bin_bus_handler):
8219         * gst/gstbin.h:
8220         Prepare to make current EOS message queue more generic.
8221         Fix some typos.
8222
8223         * gst/gstevent.c: (gst_event_new_newsegment),
8224         (gst_event_parse_newsegment):
8225         * gst/gstevent.h:
8226         Rename base to stream_time.
8227
8228         * gst/gstmessage.h:
8229         Fix typo in docs.
8230
8231 2005-10-11  Wim Taymans  <wim@fluendo.com>
8232
8233         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
8234         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
8235         (gst_bin_change_state_func), (bin_bus_handler):
8236         * gst/gstbin.h:
8237         Work on proper clock selection.
8238
8239 2005-10-11  Edward Hervey  <edward@fluendo.com>
8240
8241         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
8242         * libs/gst/controller/gstcontroller.h:
8243         Added GList* version of _remove_properties() in order to be able to wrap
8244         it in bindings.
8245
8246 2005-10-11  Wim Taymans  <wim@fluendo.com>
8247
8248         * docs/design/part-states.txt:
8249         Some more docs.
8250
8251         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
8252         (gst_bin_change_state_func), (bin_bus_handler):
8253         Doc updates. Don't distribute the same clock over and over again.
8254
8255         * gst/gstclock.c:
8256         * gst/gstclock.h:
8257         Doc updates.
8258
8259         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
8260         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
8261         (gst_pad_send_event):
8262         * gst/gstpad.h:
8263         Make probe emission threadsafe again.
8264         Register quarks and move _get_name() from utils.
8265         Doc updates.
8266
8267         * gst/gstpipeline.c: (gst_pipeline_class_init),
8268         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
8269         Only redistribute the clock of it changed.
8270
8271         * gst/gstsystemclock.h:
8272         Doc updates. 
8273
8274         * gst/gstutils.c:
8275         * gst/gstutils.h:
8276         Moved the _flow_get_name() to GstPad.
8277
8278 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8279
8280         * check/gst-libs/gdp.c: (GST_START_TEST):
8281         * check/gst/gstcaps.c: (GST_START_TEST):
8282         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
8283         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
8284         (gst_dp_packet_from_caps):
8285           fix more valgrind warnings before turning up the heat
8286
8287 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8288
8289         * gst/parse/grammar.y:
8290           some cleanup before the hacking
8291
8292 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8293
8294         * gst/base/gstbasesrc.c: (gst_base_src_query):
8295           use conversions
8296         * gst/gstutils.c: (gst_guint64_to_gdouble),
8297         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
8298         * gst/gstutils.h:
8299           externalize, basesrc uses it
8300           obviously the implementation needs testing
8301
8302 2005-10-10  Wim Taymans  <wim@fluendo.com>
8303
8304         * tests/sched/Makefile.am:
8305         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
8306         (make_pipeline3), (make_pipeline4), (print_elem), (main):
8307
8308 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8309
8310         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
8311           apparently converting from guint64 to double is not implemented
8312           on MSVC
8313
8314 2005-10-10  Wim Taymans  <wim@fluendo.com>
8315
8316         * check/Makefile.am:
8317         * check/generic/states.c: (GST_START_TEST):
8318         * check/gst/gstbin.c: (GST_START_TEST):
8319         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
8320         * check/states/sinks.c: (GST_START_TEST):
8321         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
8322         (main):
8323         Check fixes, use API as stated in design docs, remove hacks.
8324
8325         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8326         (gst_base_sink_change_state):
8327         Catch stopping our task while we're shutting down.
8328
8329         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
8330         (gst_bin_remove_func), (gst_bin_get_state_func),
8331         (gst_bin_recalc_state), (gst_bin_change_state_func),
8332         (bin_bus_handler):
8333         * gst/gstbin.h:
8334         * gst/gstelement.c: (gst_element_init),
8335         (gst_element_get_state_func), (gst_element_abort_state),
8336         (gst_element_commit_state), (gst_element_lost_state),
8337         (gst_element_set_state), (gst_element_change_state),
8338         (gst_element_change_state_func):
8339         * gst/gstelement.h:
8340         New state change algorithm (see #318116)
8341
8342         * gst/gstpipeline.c: (gst_pipeline_class_init),
8343         (gst_pipeline_init), (gst_pipeline_set_property),
8344         (gst_pipeline_get_property), (do_pipeline_seek),
8345         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
8346         * gst/gstpipeline.h:
8347         Remove crude state change hacks.
8348
8349         * gst/gstutils.h:
8350         Remove crude hacks.
8351
8352         * tools/gst-launch.c: (main):
8353         Fixes for state change. Needs some more work to fully use the
8354         new stuff.
8355
8356 2005-10-10  Andy Wingo  <wingo@pobox.com>
8357
8358         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
8359
8360         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
8361         this flag, but it's not even in GLib 2.6. Odd. Hack around the
8362         issue.
8363
8364 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
8365
8366         * gst/gstiterator.c: (gst_iterator_new):
8367           Fix my previous commit: GTypes passed to gst_iterator_new()
8368           can be fundamental types.
8369
8370 2005-10-10  Wim Taymans  <wim@fluendo.com>
8371
8372         * gst/gstelement.c: (gst_element_iterate_pad_list),
8373         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
8374         (gst_element_iterate_sink_pads):
8375         Use src/sink pads lists for the respective iterators instead
8376         of filtering.
8377
8378 2005-10-10  Andy Wingo  <wingo@pobox.com>
8379
8380         Merged in popt removal + GOption addition patch from Ronald, bug
8381         #169772.
8382
8383         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
8384         GstElement macros around, remove popt-related symbols, add goption
8385         stuff.
8386
8387         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
8388         
8389         * docs/gst/Makefile.am:
8390         * docs/libs/Makefile.am: No POPT_CFLAGS.
8391         
8392         * examples/manual/Makefile.am:
8393         * docs/manual/basics-init.xml: Doc updates with an example.
8394         
8395         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
8396         (gst_init), (parse_one_option), (parse_goption_arg):
8397         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
8398         bit of hand merging and debugging to get the GOption stuff working
8399         tho.
8400         
8401         * tests/Makefile.am:
8402         * tools/Makefile.am:
8403         * tools/gst-inspect.c: (main):
8404         * tools/gst-launch.c: (main):
8405         * tools/gst-run.c: (main):
8406         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
8407
8408 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
8409
8410         * gst/gstiterator.c: (gst_iterator_new):
8411           Add assertions to make sure passed GType is likely to really
8412           be a GType (as the compiler won't catch it if the size and
8413           GType arguments get mixed up, see #318447).
8414
8415 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
8416
8417         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
8418
8419         * gst/gstbin.c: (gst_bin_iterate_sorted):
8420           Pass GType and size arguments to gst_iterator_new() in the right
8421           order (maybe we should make _new() take the GType as first argument
8422           just like _new_list()?) (#318447).
8423           
8424
8425 2005-10-10  Wim Taymans  <wim@fluendo.com>
8426
8427         * gst/gstelement.c: (gst_element_finalize):
8428         And free the GStaticRecMutex too
8429
8430 2005-10-10  Andy Wingo  <wingo@pobox.com>
8431
8432         * gst/gstelement.c (gst_element_init, gst_element_finalize):
8433         Allocate and free the mutex properly.
8434
8435         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
8436         New macros.
8437         (GstElement): The state_lock is now recursive. Rebuild your
8438         plugins, suckers. Old macros adapted.
8439
8440         * docs/gst/gstreamer-sections.txt: Doc updates.
8441
8442         * gst/gstutils.h:
8443         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
8444         (g_static_rec_cond_wait): Ported from state changes patch, while
8445         we wait on bug #317802 to be solved in a well-distributed GLib.
8446
8447         * gst/gstelement.c (gst_element_change_state_func): Renamed from
8448         gst_element_change_state, variable name changes.
8449         (gst_element_change_state): Split out of gst_element_set_state in
8450         preparation for the state change merge. Doesn't pay attention to
8451         the 'transition' argument.
8452         (gst_element_set_state): Updates, hopefully purely cosmetic.
8453         (gst_element_sync_state_with_parent): MT-safety. Ported from the
8454         state change patch.
8455         (gst_element_get_state_func): Renamed from get_state, cosmetic
8456         changes.
8457
8458 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8459
8460         * gst/elements/gstelements.c:
8461         * win32/GStreamer.vcproj:
8462         * win32/config.h:
8463         * win32/dirent.c: (_tseekdir):
8464         * win32/gst-inspect.vcproj:
8465         * win32/gst-launch.vcproj:
8466         * win32/gstconfig.h:
8467         * win32/gstelements.vcproj:
8468         * win32/gstenumtypes.c: (gst_object_flags_get_type):
8469         * win32/gstreamer.def:
8470         * win32/msvc71.sln:
8471           updates for the win32 build (patch from Sebastien Moutte)
8472
8473 2005-10-10  Andy Wingo  <wingo@pobox.com>
8474
8475         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
8476         gst_bin_get_state, cleaned up (but no logic changes).
8477         (bin_element_is_sink): Comment updates.
8478         (sink_iterator_filter): Remove needless cast.
8479         (gst_bin_iterate_sinks): Doc update.
8480         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
8481         cleaned up (but no logic changes).
8482
8483         * check/states/sinks.c (test_src_sink): Cleanups from the state
8484         change patch.
8485         (test_livesrc_sink): Sync on the state.
8486
8487         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
8488         the state change patch.
8489
8490         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
8491         change patch.
8492
8493         * check/gst/gstbin.c: Merge in some style fixes and additional
8494         checks from Wim's state change patch.
8495
8496 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
8497
8498         * gst/base/gsttypefindhelper.c: (helper_find_peek),
8499         (gst_type_find_helper):
8500           Check whether we have the requested data already in our list of
8501           cached buffers before pulling a new buffer; also make the buffer
8502           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
8503
8504 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8505
8506         * gst/gstcaps.c:
8507         * gst/gstevent.c:
8508           doc updates
8509         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
8510           don't use long long, it's not portable.  Replacing with
8511           gint64 seems to work; let's hope no skeletons fall out of the closet.
8512
8513 2005-10-10  Andy Wingo  <wingo@pobox.com>
8514
8515         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
8516
8517 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
8518
8519         * docs/gst/gstreamer-sections.txt:
8520         * gst/gstevent.c:
8521         * gst/gstevent.h:
8522         * gst/gstinfo.c:
8523         * gst/gstinfo.h:
8524         * gst/gstmessage.c: (gst_message_parse_state_changed):
8525         * gst/gstpad.c:
8526         * gst/gstpad.h:
8527           more docs, fix compilation
8528
8529 2005-10-09  Philippe Khalaf <burger@speedy.org>
8530         * gst/gstmessage.c:
8531           Fixed a few forgotten variables on previous commit
8532
8533 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
8534
8535         * gst/base/gsttypefindhelper.c: (helper_find_peek):
8536           Fix evil typefind crasher: getrange() might return a short
8537           buffer at the end of a file, but gst_type_find_peek() must
8538           either return the full data as requested or NULL, but
8539           never a short buffer.
8540
8541 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
8542
8543         * gst/gstmessage.c: (gst_message_new_state_changed),
8544         (gst_message_parse_state_changed):
8545         * gst/gstmessage.h:
8546           don't use "new", it's a C++ keyword
8547
8548 2005-10-08  Wim Taymans  <wim@fluendo.com>
8549
8550         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
8551         * gst/gstelement.c: (gst_element_post_message):
8552         * gst/gstpipeline.c: (gst_pipeline_change_state):
8553         Small docs and debug updates.
8554
8555 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
8556
8557         * docs/gst/gstreamer-sections.txt:
8558         * gst/gstelementfactory.c:
8559         * gst/gstevent.c:
8560         * gst/gsttaglist.c:
8561           more docs
8562
8563 2005-10-08  Wim Taymans  <wim@fluendo.com>
8564
8565         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
8566         (gst_bin_dispose), (bin_bus_handler):
8567         Fix typos, add comments.
8568         Clear EOS list when going to PAUSED from any direction and do it
8569         in a threadsafe way.
8570         Get base time in a threadsafe way too.
8571         Fix confusing debug in the change_state function.
8572         Various other small cleanups.
8573         
8574         * gst/gstelement.c: (gst_element_post_message):
8575         Fix very verbose bus posting code.
8576
8577         * gst/gstpipeline.c: (gst_pipeline_class_init),
8578         (gst_pipeline_set_property), (gst_pipeline_get_property),
8579         (gst_pipeline_change_state):
8580         Small ARG_ -> PROP_ cleanup
8581
8582 2005-10-08  Wim Taymans  <wim@fluendo.com>
8583
8584         * gst/gstbin.c: (is_eos), (bin_bus_handler):
8585         Do a less CPU demanding EOS check because we can.
8586
8587 2005-10-08  Wim Taymans  <wim@fluendo.com>
8588
8589         * libs/gst/dataprotocol/dataprotocol.c:
8590         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
8591         (gst_dp_packet_from_event):
8592         * libs/gst/dataprotocol/dataprotocol.h:
8593         * libs/gst/dataprotocol/dp-private.h:
8594         It's about time we bump the version number.
8595         Since event types don't fit in the guint8 anymore describing
8596         the payload type, make payload type 16 bits wide.
8597
8598 2005-10-08  Wim Taymans  <wim@fluendo.com>
8599
8600         * docs/design/part-TODO.txt:
8601         * docs/design/part-clocks.txt:
8602         * docs/design/part-events.txt:
8603         * docs/design/part-gstbin.txt:
8604         * docs/design/part-gstelement.txt:
8605         * docs/design/part-gstpipeline.txt:
8606         * docs/design/part-live-source.txt:
8607         * docs/design/part-messages.txt:
8608         * docs/design/part-overview.txt:
8609         * docs/design/part-states.txt:
8610         Many doc updates.
8611
8612 2005-10-08  Wim Taymans  <wim@fluendo.com>
8613
8614         * gst/gstevent.c:
8615         * gst/gstevent.h:
8616         Fix event quark registration.
8617         Add some space between events so we can insert them in the
8618         right groups.
8619
8620 2005-10-08  Wim Taymans  <wim@fluendo.com>
8621
8622         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8623         (gst_base_sink_handle_buffer):
8624         Better log message.
8625
8626         * gst/gstbus.h:
8627         * gst/gstelement.h:
8628         More docs.
8629
8630         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
8631         (gst_queue_set_property), (gst_queue_get_property):
8632         * gst/gstqueue.h:
8633         Remove old unused properties.
8634
8635 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
8636         * docs/gst/gstreamer-sections.txt:
8637         * gst/gstmessage.c:
8638         * gst/gstmessage.h:
8639         * gst/gstminiobject.c:
8640         * gst/gstminiobject.h:
8641         * gst/gstobject.h:
8642         * gst/gstpad.h:
8643         * gst/gstutils.h:
8644           lots of new docs and doc fixes
8645
8646 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
8647
8648         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
8649         * gst/gstplugin.h:
8650         * gst/gstregistry.c: (gst_registry_lookup_locked),
8651         (gst_registry_scan_path_level):
8652         * gst/gstregistryxml.c: (load_plugin):
8653           Only ever load one plugin for a given plugin basename.
8654           This ensures correct overriding of GST_PLUGIN_PATH over
8655           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
8656           system installed plugins.
8657
8658 2005-10-08  Wim Taymans  <wim@fluendo.com>
8659
8660         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8661         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
8662         Prepare for doing QOS.
8663
8664 2005-10-08  Wim Taymans  <wim@fluendo.com>
8665
8666         * check/gst/gstbin.c: (GST_START_TEST):
8667         * check/pipelines/cleanup.c: (GST_START_TEST):
8668         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
8669         Allow new clock message too.
8670
8671 2005-10-08  Wim Taymans  <wim@fluendo.com>
8672
8673         * gst/gstmessage.c: (gst_message_new_error),
8674         (gst_message_new_warning), (gst_message_new_tag),
8675         (gst_message_new_state_changed), (gst_message_new_clock_provide),
8676         (gst_message_new_clock_lost), (gst_message_new_new_clock),
8677         (gst_message_new_segment_start), (gst_message_new_segment_done),
8678         (gst_message_parse_state_changed),
8679         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
8680         (gst_message_parse_new_clock):
8681         * gst/gstmessage.h:
8682         Also carry the clock in question.
8683
8684 2005-10-08  Wim Taymans  <wim@fluendo.com>
8685
8686         * gst/gstmessage.c: (gst_message_new_custom),
8687         (gst_message_new_eos), (gst_message_new_error),
8688         (gst_message_new_warning), (gst_message_new_tag),
8689         (gst_message_new_state_changed), (gst_message_new_clock_provide),
8690         (gst_message_new_new_clock), (gst_message_new_segment_start),
8691         (gst_message_new_segment_done), (gst_message_parse_state_changed),
8692         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
8693         * gst/gstmessage.h:
8694         Clean up.
8695         Added clock related messages.
8696
8697         * gst/gstpipeline.c: (gst_pipeline_change_state):
8698         Post message when the clock changed.
8699
8700         * tools/gst-launch.c: (event_loop):
8701         Print new clock.
8702
8703 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
8704
8705         * tools/gst-inspect.c: (print_element_properties_info):
8706           Can't pass NULL strings to g_print() on windows.
8707
8708 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
8709
8710         * docs/Makefile.am:
8711         * docs/gst/Makefile.am:
8712         * docs/gst/gstreamer-docs.sgml:
8713         * docs/gst/running.xml:
8714         * docs/version.entities.in:
8715           add a chapter on running GStreamer.
8716           document GST_DEBUG and GST_PLUGIN* env vars
8717
8718 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
8719
8720         * Makefile.am:
8721           remove include dir
8722         * configure.ac:
8723           remove PLUGINS_BUILDDIR stuff
8724         * gst/gst.c: (init_post):
8725           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
8726         * idiottest.mak:
8727           remove, it was condescending and not needed
8728
8729 2005-10-08  Wim Taymans  <wim@fluendo.com>
8730
8731         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
8732         (gst_base_sink_handle_object), (gst_base_sink_event),
8733         (gst_base_sink_wait), (gst_base_sink_handle_event),
8734         (gst_base_sink_change_state):
8735         * gst/base/gstbasesink.h:
8736         Repost EOS message while going to PLAYING if still EOS.
8737         Make sure that when receiving a FLUSH_START we don't attempt
8738         to sync on the clock anymore.
8739
8740 2005-10-08  Wim Taymans  <wim@fluendo.com>
8741
8742         * tools/gst-launch.c: (event_loop):
8743         Better message printout.
8744
8745 2005-10-08  Wim Taymans  <wim@fluendo.com>
8746
8747         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
8748         (gst_bin_child_proxy_get_children_count):
8749         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
8750         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
8751         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
8752         (gst_child_proxy_set_valist):
8753         * gst/parse/grammar.y:
8754         Make ChildProxy threadsafe and fix mem leaks.
8755
8756 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
8757
8758         * gst/gst.c: (init_post):
8759           debug the GST_PLUGIN_ env vars
8760
8761 2005-10-08  Wim Taymans  <wim@fluendo.com>
8762
8763         * check/gst/gstbin.c: (GST_START_TEST):
8764         * check/gst/gstmessage.c: (GST_START_TEST):
8765         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
8766         * gst/gstelement.c: (gst_element_commit_state),
8767         (gst_element_lost_state):
8768         * gst/gstmessage.c: (gst_message_new_state_changed),
8769         (gst_message_parse_state_changed):
8770         * gst/gstmessage.h:
8771         * tools/gst-launch.c: (event_loop):
8772         Added extra field to STATE_CHANGE message with the pending
8773         state, which will be different from the new state soon.
8774
8775 2005-10-08  Wim Taymans  <wim@fluendo.com>
8776
8777         * gst/gstbus.c: (gst_bus_pop):
8778         * gst/gstclock.c:
8779         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
8780         Small cleanups and doc updates.
8781
8782 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
8783
8784         * gst/gst.c: (init_pre):
8785         * gst/gstbin.c: (gst_bin_add_func):
8786           log distributing clocks and base time
8787         * gst/gstregistry.c: (gst_registry_add_plugin),
8788         (gst_registry_scan_path_level), (gst_registry_scan_path):
8789           clean up the debugging output a little
8790         * gst/gstutils.c: (gst_element_state_get_name):
8791           warn about a memleak (I've actually seen this be used, though
8792           it was probably a bug)
8793
8794 2005-10-07  Wim Taymans  <wim@fluendo.com>
8795
8796         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
8797         (gst_base_src_init), (gst_base_src_default_newsegment),
8798         (gst_base_src_newsegment), (gst_base_src_do_seek),
8799         (gst_base_src_loop), (gst_base_src_start):
8800         * gst/base/gstbasesrc.h:
8801         Make the newsegment event customizable by subclasses.
8802
8803 2005-10-07  Wim Taymans  <wim@fluendo.com>
8804
8805         * gst/gstevent.c: (gst_event_new_buffersize),
8806         (gst_event_parse_buffersize):
8807         * gst/gstevent.h:
8808         New event for future idea.
8809
8810 2005-10-07  Andy Wingo  <wingo@pobox.com>
8811
8812         * gst/gstelement.c (gst_element_post_message): Doc update.
8813
8814         * docs/gst/gstreamer-sections.txt: Update.
8815
8816         * gst/gstmessage.c (gst_message_new_application): Made into a
8817         function like honest API calls.
8818         (gst_message_new_element): New message type.
8819
8820         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
8821
8822         * check/elements/fakesrc.c (test_no_preroll): New check, checks
8823         that setting a live fakesrc to PAUSED returns NO_PREROLL both
8824         times.
8825
8826         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
8827         NO_PREROLL from gst_element_change_state to fall through.
8828
8829 2005-10-07  Wim Taymans  <wim@fluendo.com>
8830
8831         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
8832         (gst_ghost_pad_do_activate_push):
8833         Activating a ghostpad with no internal pad in push mode
8834         is ok.
8835
8836 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
8837
8838         * gst/gstobject.h:
8839           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
8840           Fixes compilation on Windows.
8841
8842 2005-10-07  Michael Smith <msmith@fluendo.com>
8843
8844         * tools/gst-inspect.c:
8845           Print out feature and plugin count at the end when printing out
8846           all features.
8847
8848 2005-10-04  Michael Smith <msmith@fluendo.com>
8849
8850         * gst/gsterror.c: (_gst_stream_errors_init):
8851           Add another error string used in a few existing plugins.
8852
8853         * gst/gstplugin.c:
8854         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
8855         * tools/gst-inspect.c: (print_element_info):
8856           When a feature disappears from a plugin (and the feature exists in
8857           the cached registry file), things went horribly wrong. This isn't a
8858           complete fix, we should actually be removing the 'missing' features
8859           from the features list when we load the actual plugin. That's not
8860           yet implemented. 
8861
8862 2005-10-04  Johan Dahlin  <johan@gnome.org>
8863
8864         * check/gst/gstiterator.c: (GST_START_TEST):
8865         * gst/gstbin.c: (gst_bin_iterate_elements),
8866         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
8867         * gst/gstelement.c: (gst_element_iterate_pads):
8868         * gst/gstformat.c: (gst_format_iterate_definitions):
8869         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
8870         (gst_iterator_new_list), (gst_iterator_filter):
8871         * gst/gstiterator.h:
8872         * gst/gstquery.c: (gst_query_type_iterate_definitions):
8873         Add a GType to GstIterator, update callsites and tests.
8874
8875 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8876
8877         * gst/gstpad.c: (gst_pad_event_default_dispatch):
8878           give events a chance to be handled by event probes when the pad
8879           is not linked
8880
8881 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8882
8883         * gst/gstevent.c: (gst_event_type_get_name),
8884         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
8885         * gst/gstevent.h:
8886           add string representations for event types
8887
8888 2005-10-06  Wim Taymans  <wim@fluendo.com>
8889
8890         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
8891         Don't use NULL pointers.
8892
8893 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8894
8895         * gst/gst_private.h:
8896         * gst/gstbus.c:
8897         * gst/gstelement.c:
8898         * gst/gstinfo.c:
8899         * gst/gstpluginfeature.c:
8900           widen the debug category in output to fit the biggest one we have
8901           add a bus category and use it
8902           play with the colors
8903           fix up some categories
8904
8905 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8906
8907         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
8908           add push activation of sink ghost pads.
8909           Andye, please verify
8910
8911 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
8912
8913         * gst/gstutils.c: (gst_element_link_pads):
8914           fix a bug in the case where neither element has a pad
8915         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
8916           add a test for that case
8917
8918 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
8919
8920         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
8921           emit have-data before checking for peers.  This allows
8922           for probe handlers to connect elements.  This helps autopluggers.
8923         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
8924         (gst_pad_suite):
8925           add six checks, linked/unlinked with no/true/false probe
8926
8927 2005-10-04  Wim Taymans  <wim@fluendo.com>
8928
8929         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
8930         (gst_fake_sink_event), (gst_fake_sink_preroll),
8931         (gst_fake_sink_render), (gst_fake_sink_change_state):
8932         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
8933         (gst_fake_src_get_property), (gst_fake_src_create),
8934         (gst_fake_src_stop):
8935         * gst/elements/gstidentity.c: (gst_identity_stop):
8936         Protect last_message with lock.
8937
8938 2005-10-04  Edward Hervey  <edward@fluendo.com>
8939
8940         * gst/gstformat.h: 
8941         Added precision in the comments for GST_FORMAT_DEFAULT
8942
8943 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
8944
8945         * tools/gst-launch.c: (main):
8946           Don't try to run erroneous pipelines.
8947
8948 2005-10-04  Julien MOUTTE  <julien@moutte.net>
8949
8950         * gst/gstbus.c: We don't need this header.
8951
8952 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
8953
8954         * configure.ac:
8955           back to development
8956
8957 === release 0.9.3 ===
8958
8959 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
8960
8961         * README:
8962         * configure.ac:
8963           Releasing 0.9.3, "Unregistered"
8964
8965 2005-10-03  Andy Wingo  <wingo@pobox.com>
8966
8967         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
8968         whereby calling a pad's activatepush() function can start a thread
8969         that starts to push or pull before the pad gets the FLUSHING flag
8970         unset. Hack around it by holding the stream lock until the flag is
8971         set. Need to replace this with a proper solution. Together with
8972         the ghost pad fixes, this fixes mp3 playing/tagreading.
8973
8974         * docs/design/part-gstghostpad.txt: Add a note about activation of
8975         proxy pads outside of ghost pads.
8976
8977         * gst/gstghostpad.c: Implement the ghost pad activation design.
8978
8979 2005-10-02  Andy Wingo  <wingo@pobox.com>
8980
8981         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
8982         It is volatile, after all.
8983
8984         * docs/design/part-gstghostpad.txt: Flesh out activation with
8985         ghost pads.
8986
8987         * gst/base/gstbasesrc.c (gst_base_src_init): Use
8988         GST_DEBUG_FUNCPTR.
8989
8990 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
8991
8992         * configure.ac:
8993           Fix (unused) AM_CONDITIONAL tests.
8994
8995 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
8996
8997         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
8998
8999         * gst/gstutils.c: (gst_pad_query_convert):
9000           Add assertion that makes sure src_val is >=0, just like
9001           gst_query_new_convert() has. (#315895)
9002
9003 2005-09-30  Edward Hervey  <edward@fluendo.com>
9004
9005         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
9006         Let's not iterate pads we're not interested in, it avoids getting 
9007         sky-high refcounts on sinkpad.
9008
9009 2005-09-30  Wim Taymans  <wim@fluendo.com>
9010
9011         * gst/gstelement.c: (gst_element_set_state),
9012         (gst_element_change_state):
9013         Small tweak, element in ASYNC remains ASYNC.
9014
9015 2005-09-30  Wim Taymans  <wim@fluendo.com>
9016
9017         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
9018         Only error is an error.
9019
9020         * gst/gstbin.c: (gst_bin_change_state):
9021         Better debugging.
9022
9023         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
9024         Also call pad_block in pad alloc.
9025
9026         * gst/gstutils.c: (gst_flow_get_name):
9027         Better debugging.
9028
9029 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
9030
9031         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
9032         (gst_base_src_get_range):
9033           Fix documentation typos. Add some more debug info.
9034
9035 2005-09-29  David Schleef  <ds@schleef.org>
9036
9037         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
9038           more end-user friendly.
9039         * tools/gst-inspect.c: (main): Check if command-line argument is
9040           a file and attempt to load that file as a plugin.
9041
9042 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
9043
9044         * check/gst/gstbin.c:
9045         * check/states/sinks.c:
9046           fix tests for the new warning
9047         * check/gst/gstpipeline.c:
9048           add a test for pipeline and bus interaction
9049         * gst/gstelement.c:
9050           elements should be NULL if they get disposed; add a warning if not
9051
9052 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
9053
9054         * gst/gstobject.c:
9055           for 2.6 refcounting, make debug log more correct by printing
9056           the actual refcounts at the time of swap (Wim)
9057
9058 2005-09-29  Andy Wingo  <wingo@pobox.com>
9059
9060         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
9061         removes signal watches previously added via
9062         gst_bus_add_signal_watch.
9063         (gst_bus_add_signal_watch): Don't return the source id, just store
9064         it on the bus if there wasn't an id already.
9065
9066         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
9067         add_signal_watch and remove_signal_watch.
9068
9069 2005-09-29  Edward Hervey  <edward@fluendo.com>
9070
9071         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
9072         Better if we actually iterate the list :)
9073
9074 2005-09-29  Wim Taymans  <wim@fluendo.com>
9075
9076         * check/gst/gstbin.c: (GST_START_TEST):
9077         Change for new bus API.
9078
9079         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
9080         (send_messages), (GST_START_TEST), (gstbus_suite):
9081         Change for new bus signal API.
9082
9083         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
9084         (gst_bus_source_prepare), (gst_bus_source_check),
9085         (gst_bus_create_watch), (gst_bus_add_watch_full),
9086         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
9087         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
9088         * gst/gstbus.h:
9089         Remove support for multiple GSources operating on different
9090         message types as it is too complex and unneeded when using
9091         signals.
9092         Added support for receiving signals from the bus.
9093
9094 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
9095
9096         * docs/libs/tmpl/gstdataprotocol.sgml:
9097         * docs/manual/advanced-dataaccess.xml:
9098         * gst/elements/gstcapsfilter.c:
9099         * gst/gstutils.c:
9100           rename filter-caps to caps property
9101
9102 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
9103
9104         * gst/gstvalue.c: (gst_value_deserialize_fraction):
9105           More robust fraction string parsing.
9106
9107         * docs/pwg/appendix-porting.xml:
9108           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
9109
9110 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
9111
9112         * gst/gstcaps.c: (gst_caps_do_simplify):
9113           Thou shalt not free a structure and then continue using it
9114           in the next loop iteration.
9115
9116         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
9117         (gst_caps_suite):
9118           Add test case for caps simplification.
9119
9120 2005-09-29  Wim Taymans  <wim@fluendo.com>
9121
9122         * check/gst/gstbin.c: (GST_START_TEST):
9123         Oops.
9124
9125 2005-09-29  Wim Taymans  <wim@fluendo.com>
9126
9127         * check/gst/gstbin.c: (GST_START_TEST):
9128         Add bus to bin.
9129
9130         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
9131         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
9132         (find_element), (gst_bin_sort_iterator_next),
9133         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
9134         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
9135         (gst_bin_change_state), (gst_bin_dispose):
9136         A bin does not have a bus, it gets the bus from the parent.
9137
9138         * gst/gstelement.c: (gst_element_requires_clock),
9139         (gst_element_provides_clock), (gst_element_is_indexable),
9140         (gst_element_is_locked_state), (gst_element_change_state),
9141         (gst_element_set_bus_func):
9142         Small cleanups.
9143
9144         * gst/gstpipeline.c: (gst_pipeline_class_init),
9145         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
9146         The pipeline provides a bus.
9147
9148 2005-09-28  Johan Dahlin  <johan@gnome.org>
9149
9150         * gst/gstmessage.c (gst_message_parse_state_changed): Use
9151         gst_structure_get_enum instead of gst_structure_get_int
9152
9153         * gst/gststructure.c (gst_structure_get_enum): Impl.
9154
9155         * gst/gststructure.h (gst_structure_get_enum): Add
9156
9157         * docs/gst/gstreamer-sections.txt: Ditto
9158
9159         * gst/gstmessage.c (gst_message_new_state_changed): Use
9160         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
9161         which does introspection.
9162         Reviewed by Christian Schaller
9163
9164 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
9165
9166         * gst/gstinfo.c: (gst_debug_log_default):
9167           don't do dummy g_strdup()s
9168         * libs/gst/controller/gstcontroller.c:
9169         (on_object_controlled_property_changed),
9170         (gst_controlled_property_new), (gst_controller_new_valist),
9171         (gst_controller_new_list),
9172         (gst_controller_remove_properties_valist), (gst_controller_set),
9173         (gst_controller_get), (gst_controller_sync_values),
9174         (gst_controller_get_value_array), (_gst_controller_class_init),
9175         (gst_controller_get_type):
9176         * libs/gst/controller/gstcontroller.h:
9177         * libs/gst/controller/gstinterpolation.c:
9178         (gst_controlled_property_find_timed_value_node):
9179           convert // to /**/ comments
9180
9181 2005-09-28  Wim Taymans  <wim@fluendo.com>
9182
9183         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
9184         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
9185         (gst_bus_sync_signal_handler):
9186         * gst/gstbus.h:
9187         Added async-message and sync-message signals to the bus.
9188         Added helper BusFunc to emit signals for all posted messages.
9189
9190         * gst/gstmessage.c: (gst_message_type_get_name),
9191         (gst_message_type_to_quark), (gst_message_get_type):
9192         * gst/gstmessage.h:
9193         Register quarks for message names.
9194
9195 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
9196
9197         * docs/libs/gstreamer-libs-sections.txt:
9198         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
9199         (gst_controller_new_list):
9200         * libs/gst/controller/gstcontroller.h:
9201           added another constructor for language bindings
9202
9203 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
9204
9205         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
9206           add another check
9207         * gst/gstbus.c:
9208           add some doc
9209         * gst/gstinfo.c: (_gst_debug_init):
9210           slightly more readable color for refcount debugging
9211
9212 2005-09-28  Wim Taymans  <wim@fluendo.com>
9213
9214         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
9215         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
9216         (find_element), (gst_bin_sort_iterator_next),
9217         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
9218         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
9219         (gst_bin_change_state), (gst_bin_dispose):
9220         Small doc fixes. get_clock -> provide_clock.
9221
9222         * gst/gstelement.c: (gst_element_class_init),
9223         (gst_element_provides_clock), (gst_element_provide_clock),
9224         (gst_element_get_clock), (gst_element_commit_state),
9225         (gst_element_lost_state):
9226         * gst/gstelement.h:
9227         Make get/set_clock() symetric. Add provide_clock vmethod since
9228         that is actually what this function does.
9229
9230         * gst/gstpipeline.c: (gst_pipeline_class_init),
9231         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
9232         (gst_pipeline_get_clock):
9233         get_clock -> provide_clock.
9234
9235 2005-09-28  Andy Wingo  <wingo@pobox.com>
9236
9237         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
9238         lieu of real docs...
9239
9240         * gst/elements/gstfdsrc.c: Cleaned up a bit.
9241
9242 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
9243
9244         * gst/elements/gstcapsfilter.c:
9245         * gst/elements/gstfakesink.c:
9246         * gst/elements/gstfakesrc.c:
9247         * gst/elements/gstfdsink.c:
9248         * gst/elements/gstfdsrc.c:
9249         * gst/elements/gstfilesink.c:
9250         * gst/elements/gstfilesrc.c:
9251         * gst/elements/gstidentity.c:
9252         * gst/elements/gsttee.c:
9253         * gst/elements/gsttypefindelement.c:
9254           Make element details static.
9255
9256 2005-09-28  Wim Taymans  <wim@fluendo.com>
9257
9258         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
9259         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
9260         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
9261         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
9262         (gst_bin_change_state), (gst_bin_dispose):
9263         Some documentation updates.
9264         Clean up dispose handlers.
9265
9266         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
9267         * gst/gstpad.c: (gst_pad_dispose):
9268         Clean up dispose handler.
9269
9270         * gst/gstpipeline.c: (gst_pipeline_change_state):
9271         Removed spurious UNLOCK.
9272
9273 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
9274
9275         * docs/gst/gstreamer-sections.txt:
9276         * gst/base/gstbasesrc.h:
9277         * gst/gstelement.h:
9278         * gst/gstevent.h:
9279         * gst/gstobject.h:
9280         * gst/gstpad.h:
9281         * gst/gstpipeline.c:
9282         * gst/gstpipeline.h:
9283         * gst/gstutils.h:
9284         * gst/gstxml.h:
9285           added two new functions to the docs
9286                 documents all undocumented GstXXXFlags
9287                 completed some incomplete docs 
9288
9289 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
9290
9291         * gst/gstbin.c: (gst_bin_dispose):
9292         * gst/gstelement.c: (gst_element_dispose):
9293           remove now useless and leaky resurrection code in dispose
9294         * gst/base/gstbasesrc.c: (gst_base_src_init):
9295         * gst/gstelementfactory.c: (gst_element_factory_create):
9296         * gst/gstobject.c: (gst_object_set_parent):
9297           add some debugging
9298
9299 2005-09-27  Wim Taymans  <wim@fluendo.com>
9300
9301         * docs/design/part-TODO.txt:
9302         Update TODO.
9303
9304         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
9305         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
9306         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
9307         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
9308         (gst_bin_change_state):
9309         * gst/gstelement.h:
9310         Remove element variable, we keep element info in the iterator now.
9311
9312 2005-09-27  Andy Wingo  <wingo@pobox.com>
9313
9314         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
9315         values.
9316
9317 2005-09-27  Wim Taymans  <wim@fluendo.com>
9318
9319         * check/gst/gstbin.c: (GST_START_TEST):
9320         Enable check that works now.
9321
9322         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
9323         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
9324         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
9325         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
9326         (gst_bin_change_state):
9327         * gst/gstbin.h:
9328         Redid the state change algorithm using a topological sort algo.
9329         Handles all cases correctly.
9330         Exposed iterator for state change order.
9331
9332         * gst/gstelement.h:
9333         Temp storage for state changes. Need to get rid of this soon.
9334
9335 2005-09-27  Wim Taymans  <wim@fluendo.com>
9336
9337         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
9338         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
9339         (link_fold_func), (gst_pad_proxy_setcaps):
9340         Leak fixes, the fold functions need to unref the passed object and
9341         _get_parent_*() returns ref to parent.
9342
9343 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
9344
9345         * check/gst/gstbuffer.c: (test_make_writable):
9346           Plug leak in test case and fix 'make check-valgrind'
9347
9348 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
9349
9350         * gst/gstbuffer.c: (gst_subbuffer_init):
9351           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
9352           works correctly in all circumstances (we could have just copied
9353           the parent buffer's readonly flag, but conceptually it seems
9354           cleaner to mark all subbuffers as read-only). (based on patch
9355           by Alessandro Decina, #314710).
9356         
9357         * check/gst/gstbuffer.c: (create_read_only_buffer),
9358         (test_make_writable), (test_subbuffer_make_writable),
9359         (gst_test_suite):
9360           Add some tests for gst_buffer_make_writable().
9361
9362 2005-09-27  Wim Taymans  <wim@fluendo.com>
9363
9364         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
9365         use gst_object_has_ancestor().
9366
9367         * gst/gstobject.c: (gst_object_has_ancestor):
9368         * gst/gstobject.h:
9369         gst_object_has_ancestor() copied from gstbin.c as it is a
9370         usefull function.
9371
9372         * tests/instantiate/create.c: (create_all_elements):
9373         * tests/lat.c: (handoff_src), (handoff_sink):
9374         * tests/sched/runxml.c: (main):
9375         * tests/seeking/seeking1.c: (main):
9376         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
9377         (main):
9378         Fix compilation of some tests.
9379
9380 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
9381
9382         * gst/gsterror.h:
9383           Remove comment. GST_TYPE_G_ERROR is here to stay,
9384           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
9385           (#316961, #300610).
9386
9387 2005-09-26  Wim Taymans  <wim@fluendo.com>
9388
9389         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
9390         Added check that shows error in state change order.
9391
9392 2005-09-26  Wim Taymans  <wim@fluendo.com>
9393
9394         * gst/gstbin.c: (gst_bin_change_state):
9395         Make state change function use 3 queues again, we were
9396         adding elements in the wrong order.
9397
9398         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
9399         Some debug info,
9400
9401         * gst/gstpad.c: (gst_pad_dispose):
9402         Added some debug info first.
9403
9404 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
9405
9406         * docs/design/draft-push-pull.txt:
9407         * docs/design/part-events.txt:
9408         * docs/design/part-overview.txt:
9409         * docs/design/part-scheduling.txt:
9410           Replace all _pull_region() with _pull_range()
9411           
9412 2005-09-26  Andy Wingo  <wingo@pobox.com>
9413
9414         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
9415
9416         * check/gst-libs/controller.c: Update for controller api change.
9417
9418         * configure.ac: 
9419         * tests/Makefile.am:
9420         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
9421         over by GLib bug 118439.
9422         
9423         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
9424         routines to a function.
9425
9426         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
9427
9428         * libs/gst/controller/gsthelper.c:
9429         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
9430         (gst_object_sync_values): Renamed from sink_values. Ugh.
9431
9432         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
9433
9434         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
9435         Renamed from controller_key, as it is exported.
9436
9437         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
9438
9439 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
9440
9441         * gst/Makefile.am:
9442         * gst/gst.h:
9443         * gst/gstpad.h:
9444         * gst/gstpadtemplate.h:
9445         * gst/gstquery.c:
9446         * gst/gstquery.h:
9447         * gst/gstqueryutils.c:
9448         * gst/gstqueryutils.h:
9449           remove queryutils headers after moving the two used functions
9450           to gstquery.  also fixes build problem for gstsiddec
9451
9452 2005-09-26  Michael Smith <msmith@fluendo.com>
9453
9454         * tools/gst-launch.1.in:
9455         Correct documentation in manpage of debug syntax
9456
9457 2005-09-26  Wim Taymans  <wim@fluendo.com>
9458
9459         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
9460         (gst_base_src_is_seekable), (gst_base_src_change_state):
9461         Some more debugging info.
9462
9463 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
9464
9465         * docs/gst/gstreamer-sections.txt:
9466         * gst/base/gstbasetransform.h:
9467         * gst/gstindex.h:
9468           added more docs
9469
9470 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
9471
9472         * docs/gst/.cvsignore:
9473         * docs/gst/tmpl/.cvsignore:
9474         * docs/gst/tmpl/gstpipeline.sgml:
9475         * docs/gst/tmpl/gstplugin.sgml:
9476         * gst/gstpipeline.c:
9477         * gst/gstplugin.c:
9478         * gst/gstplugin.h:
9479           inlined the last two docs files
9480           removed the tmpl directory from cvs (no more conflicts here!)
9481
9482 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
9483
9484         * docs/gst/gstreamer-sections.txt:
9485         * docs/gst/tmpl/.cvsignore:
9486         * docs/gst/tmpl/gstpad.sgml:
9487         * docs/gst/tmpl/gstpadtemplate.sgml:
9488         * gst/Makefile.am:
9489         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
9490         (gst_pad_finalize), (gst_pad_set_pad_template):
9491         * gst/gstpad.h:
9492         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
9493         (gst_pad_template_class_init), (gst_pad_template_init),
9494         (gst_pad_template_dispose), (name_is_valid),
9495         (gst_static_pad_template_get), (gst_pad_template_new),
9496         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
9497         (gst_pad_template_pad_created):
9498         * gst/gstpadtemplate.h:
9499           inlined two more docs
9500           factored gstpadtemplate out of gstpad
9501
9502 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
9503
9504         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
9505         (test_children_state_change_order_semi_sink):
9506           Fix test case: we can't rely on a fixed state change order when
9507           going from READY => PAUSED because the sink might commit its 
9508           new state first when the first buffer created by the source 
9509           reaches the sink before the source has finished its change state.
9510           (Test case still fails at times, see #316856, comment 5 onwards)
9511
9512 2005-09-24  Wim Taymans  <wim@fluendo.com>
9513
9514         * docs/design/part-events.txt:
9515         * docs/design/part-gstbus.txt:
9516         * docs/design/part-gstpipeline.txt:
9517         * docs/design/part-messages.txt:
9518         * docs/design/part-overview.txt:
9519         * docs/design/part-segments.txt:
9520         * gst/gstbin.c:
9521         * gst/gstbuffer.c:
9522         * gst/gstclock.c:
9523         * gst/gstelement.c:
9524         * gst/gstevent.c:
9525         * gst/gstfilter.c:
9526         * gst/gstiterator.c:
9527         Various documentation updates.
9528
9529 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
9530
9531         * gst/gstclock.h:
9532           Well, that's embarassing.  Luckily we weren't using
9533           GST_CLOCK_DIFF anywhere.
9534
9535 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
9536
9537         * common/gtk-doc.mak:
9538           don't fail on building XML, FC4 slave shows a bunch of doc
9539           missing bits that I don't get
9540         * gst/gstpad.c:
9541         * gst/gstpipeline.c:
9542         * gst/gststructure.c:
9543           some doc updates
9544
9545 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
9546
9547         * docs/design/part-gstbin.txt:
9548         * docs/design/part-gstbus.txt:
9549         * gst/gstbus.c:
9550           Add blurb about how the bus goes into flushing mode and
9551           drops all messages when its bin goes from READY into NULL 
9552           state.
9553
9554 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
9555
9556         * docs/gst/gstreamer-sections.txt:
9557         * gst/gststructure.c: (gst_structure_get_clock_time):
9558         * gst/gststructure.h:
9559           add a method to get a GstClockTime out of a structure
9560
9561 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
9562
9563         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
9564         (test_children_state_change_order_semi_sink), (gst_bin_suite):
9565           Added test to check state change order in bins (can still be made
9566           to fail here under heavy disk load; bails out with 'Push on pad
9567           fakesink:sink0, but it was not activated in push mode').
9568
9569         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
9570           Fix state change order when there is only a semi sink (#316856)
9571
9572         * gst/gstbus.c: (gst_bus_class_init):
9573           Use _class_peek_parent(), not _class_ref(); fix docs to say
9574           'default main context' instead of 'mainloop' where that is
9575           what's meant.
9576
9577         * gst/gstelement.c: (gst_element_commit_state),
9578         (gst_element_set_state):
9579           Fix typos in debug messages
9580
9581 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
9582
9583         * docs/README:
9584         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
9585         * gst/gstpluginfeature.c:
9586         * gst/gstutils.c:
9587           various doc updates
9588         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
9589           change an assert into an error until it gets fixed properly
9590
9591 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
9592
9593         * docs/gst/gstreamer-sections.txt:
9594         * docs/gst/tmpl/.cvsignore:
9595         * docs/gst/tmpl/gstelement.sgml:
9596         * docs/gst/tmpl/gstinfo.sgml:
9597         * docs/gst/tmpl/gstobject.sgml:
9598         * gst/gstelement.c:
9599         * gst/gstelement.h:
9600         * gst/gstinfo.c:
9601         * gst/gstinfo.h:
9602         * gst/gstobject.c: (gst_object_class_init):
9603         * gst/gstobject.h:
9604           inlined 3 more biiiig doc files and added some missing docs on the fly
9605
9606 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
9607
9608         * check/gst/.cvsignore:
9609         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
9610         * gst/gstregistryxml.c: (load_plugin),
9611         (gst_registry_xml_save_plugin):
9612           put back source in registry.  add checks for find_plugin.
9613         * testsuite/states/bin.c: (assert_state), (empty_bin),
9614         (test_adding_one_element), (main):
9615         * testsuite/states/locked.c: (main):
9616           some compile/run fixes
9617
9618 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
9619
9620         * check/gst/gstvalue.c: (GST_START_TEST):
9621           fix leaks in the test itself
9622
9623 2005-09-22  Wim Taymans  <wim@fluendo.com>
9624
9625         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
9626         (gst_base_sink_send_event), (gst_base_sink_peer_query),
9627         (gst_base_sink_query):
9628         Prepare for more accurate position reporting and query
9629         handling.
9630
9631         * gst/gstelement.c: (gst_element_send_event),
9632         (gst_element_set_state):
9633         Add some comment.
9634
9635 2005-09-22  Wim Taymans  <wim@fluendo.com>
9636
9637         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
9638         (gst_query_parse_segment):
9639         * gst/gstquery.h:
9640         More documentation.
9641         Add segment query for future use.
9642
9643 2005-09-22  Wim Taymans  <wim@fluendo.com>
9644
9645         * gst/gstbin.c: (gst_bin_add_func):
9646         Some more debug info.
9647
9648         * gst/gstelement.c: (gst_element_send_event):
9649         Simplify send_event
9650
9651         * gst/gstelement.h:
9652         Don't know how flags got broken.
9653
9654         * gst/gstquery.h:
9655         Added new query.
9656
9657 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
9658
9659         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
9660           Add simplistic test suite for GST_TYPE_DATE serialisation and
9661           deserialisation.
9662
9663 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
9664
9665         * docs/gst/gstreamer-sections.txt:
9666         * gst/gststructure.c: (gst_structure_set_valist),
9667         (gst_structure_get_date):
9668         * gst/gststructure.h:
9669         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
9670         (gst_date_copy), (gst_value_compare_date),
9671         (gst_value_serialize_date), (gst_value_deserialize_date),
9672         (gst_value_transform_date_string),
9673         (gst_value_transform_string_date), (_gst_value_initialize):
9674         * gst/gstvalue.h:
9675           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
9676           bunch of utility functions along with a hack that checks that
9677           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
9678           is required. Part of the grand scheme in #170777.
9679
9680 2005-09-22  Andy Wingo  <wingo@pobox.com>
9681
9682         * gst/gstconfig.h.in: Psych out gtk-doc.
9683
9684         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
9685
9686         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
9687
9688         * tools/gst-inspect.c (print_element_list): Plug some
9689         inconsequential leaks.
9690
9691         * gst/gstregistry.c (gst_registry_get_default): Doc.
9692
9693         * check/gst/gstplugin.c: 
9694         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
9695         * gst/gstelementfactory.c (gst_element_factory_create): 
9696         * gst/gstindexfactory.c (gst_index_factory_create): Update for
9697         refcount changes.
9698
9699         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
9700         (gst_plugin_feature_load): Doc, don't eat refs.
9701
9702         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
9703         (gst_plugin_list_free): Doc.
9704         (gst_plugin_load_file): Doc updates.
9705
9706         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
9707         accessors returning refcounted objects, return a ref.
9708
9709         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
9710         accessor for caps. IDEMPOTENCE. Oh yes.
9711
9712 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
9713
9714         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
9715
9716         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
9717         (_gst_debug_register_funcptr):
9718           Add mutex to serialise access to the hash table with
9719           the function pointer => function name string mapping;
9720           make that hash table static scope (#316809).
9721
9722         * gst/registries/.cvsignore:
9723           Remove left-over file.
9724
9725 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
9726
9727         * docs/pwg/appendix-porting.xml:
9728           And something about newsegment events and caps-on-buffers to
9729           the porting guide (feel free to improve).
9730
9731 2005-09-21  Andy Wingo  <wingo@pobox.com>
9732
9733         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
9734         data and event probes on the same pad.
9735         (test_buffer_probe_once): Test that removing probes from within
9736         the probe functions works.
9737
9738 2005-09-21  Andy Wingo  <wingo@pobox.com>
9739
9740         * check/gst/gstutils.c: New file.
9741         (test_buffer_probe_n_times): A simple buffer probe test. More to
9742         come, foolios.
9743
9744         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
9745         have-data::buffer, not have-data.
9746         (gst_pad_add_event_probe): Likewise for have-data::event.
9747         (gst_pad_add_data_probe): More docs. The part about 'resolving the
9748         peer' isn't quite right yet though.
9749         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
9750         (gst_pad_remove_data_probe): Change to take the guint handler_id
9751         as their arg, not the function+data, which is more glib-like.
9752
9753         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
9754         the signal emission to indicate if the data is a buffer or an
9755         event.
9756         (gst_pad_get_type): Initialize buffer and event quarks.
9757         (gst_pad_class_init): have-data is now a detailed signal, yes it
9758         is.
9759
9760 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
9761
9762         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
9763         * gst/gstutils.c: (gst_util_set_value_from_string),
9764         (gst_util_set_object_arg):
9765           Don't put functional code in g_return_if_fail() or
9766           g_return_val_if_fail() statements, otherwise things will 
9767           break when G_DISABLE_CHECKS is defined during compilation.
9768
9769 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
9770
9771         * docs/gst/tmpl/.cvsignore:
9772         * docs/gst/tmpl/gstvalue.sgml:
9773         * gst/gstvalue.c:
9774         * gst/gstvalue.h:
9775           inlied another one and added  some obvious docs
9776
9777 2005-09-21  Wim Taymans  <wim@fluendo.com>
9778
9779         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
9780         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
9781         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
9782         (gst_fdsrc_get_property), (gst_fdsrc_create):
9783         * gst/elements/gstfdsrc.h:
9784         Properly implement fdsrc. Removed signal and timeout,
9785         better implemented somewhere else.
9786
9787 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
9788
9789         * docs/gst/tmpl/.cvsignore:
9790         * docs/gst/tmpl/gstimplementsinterface.sgml:
9791         * gst/gstinterface.c:
9792           inlined more docs
9793
9794 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
9795
9796         * docs/gst/gstreamer-sections.txt:
9797         * docs/gst/tmpl/.cvsignore:
9798         * docs/gst/tmpl/gstenumtypes.sgml:
9799           remove obsolete doc file
9800
9801 2005-09-21  David Schleef  <ds@schleef.org>
9802
9803         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
9804         little beer, fix a little leak.
9805
9806 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
9807
9808         * docs/gst/gstreamer-docs.sgml:
9809         * docs/gst/gstreamer-sections.txt:
9810         * docs/gst/tmpl/.cvsignore:
9811         * gst/Makefile.am:
9812         * gst/gst.h:
9813         * gst/gstbin.c:
9814         * gst/gstelement.h:
9815         * gst/gstindex.c: (gst_index_class_init):
9816         * gst/gstindex.h:
9817         * gst/gstindexfactory.c: (gst_index_factory_get_type),
9818         (gst_index_factory_class_init), (gst_index_factory_init),
9819         (gst_index_factory_finalize), (gst_index_factory_new),
9820         (gst_index_factory_destroy), (gst_index_factory_find),
9821         (gst_index_factory_create), (gst_index_factory_make):
9822         * gst/gstindexfactory.h:
9823         * gst/gstpluginfeature.c:
9824         * gst/gstpluginfeature.h:
9825         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
9826           more docs inlined, splitted gstindex.{c,h}
9827
9828 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9829
9830         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
9831           fix a leak
9832
9833 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
9834
9835         * gst/elements/gstfilesink.c: (gst_file_sink_init):
9836           Set sync to FALSE by default.
9837
9838 2005-09-20  Wim Taymans  <wim@fluendo.com>
9839
9840         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
9841         (gst_base_sink_init):
9842         Make sync property settable from subclass.
9843
9844         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
9845         (gst_fake_sink_change_state):
9846         Set sync to FALSE by default.
9847
9848 2005-09-20  Wim Taymans  <wim@fluendo.com>
9849
9850         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
9851         * tools/gst-launch.c: (main):
9852         The timeout handler should have lower priority than the source
9853         so we don't timeout before popping a message with 0 timeout.
9854         Dump error messages after failed state change.
9855
9856 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
9857
9858         * tools/gst-inspect.c: (print_element_properties_info):
9859           Fix two typos.
9860
9861 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9862
9863         * check/gst/gstevent.c:
9864         * gst/elements/gstfakesink.c:
9865         * gst/elements/gstfakesink.h:
9866           remove the sync property from fakesink.
9867           has the side effect of setting sync TRUE
9868           for fakesink, which is a change.  Anyone who knows how
9869           to fix this nicely in a GObject-y way, feel free.
9870
9871 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
9872
9873         * docs/gst/gstreamer-docs.sgml:
9874           remove probe refsection
9875
9876 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
9877
9878         * check/Makefile.am:
9879           disable valgrinding the controller test again
9880         * docs/gst/gstreamer-sections.txt:
9881           update for api-changes
9882
9883 2005-09-20  Wim Taymans  <wim@fluendo.com>
9884
9885         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
9886         (gst_base_sink_set_property), (gst_base_sink_get_property),
9887         (gst_base_sink_do_sync):
9888         * gst/base/gstbasesink.h:
9889         Added sync property to basesink to disable clock sync.
9890
9891 2005-09-20  Andy Wingo  <wingo@pobox.com>
9892
9893         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
9894         eating the caller's refcount.
9895
9896         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
9897         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
9898         refcount.
9899
9900         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
9901         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
9902         of GLib 2.8 public, so we can know which refcount to check in
9903         tests.
9904
9905         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
9906         (gst_object_init): Only set the gst refcount if we're going ahead
9907         with the refcount hack.
9908
9909 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
9910
9911         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
9912         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
9913           more leaks plumbed, added more debug-logging
9914         * gst/gstmacros.h:
9915           whitespace fix
9916
9917 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9918
9919         * gst/gstmessage.c:
9920           remove include of gstmemchunk.h
9921
9922 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9923
9924         * gst/gstclock.c: (_gst_clock_id_free):
9925           Commit from the Political Party For More Atomic CVS Commits,
9926           so that people don't waste too much of their day fishing
9927           out obvious leaks out of massive commits.
9928           Oh, and fix a pretty damn obvious leak in the memchunk
9929           removal code.
9930
9931 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
9932
9933         * check/Makefile.am:
9934         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
9935           plug mem-leak, re-add to valgrindable tests
9936
9937 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9938
9939         * gst/gstplugin.h:
9940           unbreak the build for those who have chronic arthritis
9941           and typing "make check" is just too taxing on the hands
9942
9943 2005-09-20  Andy Wingo  <wingo@pobox.com>
9944
9945         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
9946         really want it out, you should fix plugins at the same time.
9947
9948 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
9949
9950         * configure.ac:
9951         * docs/gst/gstreamer-sections.txt:
9952         * gst/gstobject.c:
9953           added missing symbols to api docs
9954           disable ref-count hack if we have glib >= 2.8
9955
9956 2005-09-19  David Schleef  <ds@schleef.org>
9957
9958         * docs/gst/Makefile.am: Ignore a few more internal headers
9959         * docs/gst/gstreamer-docs.sgml: Remove old sections
9960         * docs/gst/gstreamer-sections.txt: Remove old sections
9961         * docs/gst/tmpl/gstobject.sgml: update
9962         * docs/gst/tmpl/gstplugin.sgml: update
9963         * docs/gst/tmpl/gstpluginfeature.sgml: update
9964         * docs/random/ds/0.9-suggested-changes: update.
9965         * gst/Makefile.am: remove memchunk and trashstack, since they're
9966           not used.
9967         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
9968         * gst/gst.h: don't include some headers
9969         * gst/gstchildproxy.c: add gstmarshal.h
9970         * gst/gstclock.c: Don't use memchunks
9971         * gst/gstminiobject.c: Add some docs
9972         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
9973         * gst/gstobject.h: same
9974         * gst/gstplugin.c: include gstmacros.h
9975         * gst/gstplugin.h: don't include gstmacros.h, since it's private
9976         * gst/gstquery.c: don't use memchunks
9977         * gst/gstregistry.c: rename gst_registry_deinit()
9978         * gst/gstregistry.h: same
9979
9980 2005-09-19  David Schleef  <ds@schleef.org>
9981
9982         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
9983         * docs/libs/gstreamer-libs-sections.txt:
9984         * docs/libs/tmpl/gstgetbits.sgml:
9985         * docs/libs/tmpl/gstputbits.sgml:
9986
9987 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
9988
9989         * win32/gstenumtypes.c:
9990         * win32/gstenumtypes.h:
9991           Update.
9992
9993 2005-09-19  Wim Taymans  <wim@fluendo.com>
9994
9995         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
9996         Automatically PAUSE and RESUME a pipeline when a flushing seek
9997         is performed.
9998
9999 2005-09-19  Andy Wingo  <wingo@pobox.com>
10000
10001         * gst/gstregistry.h: Spacing fixen.
10002
10003 2005-09-19  Wim Taymans  <wim@fluendo.com>
10004
10005         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
10006         Handle state change failure more correctly.
10007
10008 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10009
10010         * check/Makefile.am:
10011         * check/pipelines/cleanup.c: (run_pipeline):
10012         * check/pipelines/simple_launch_lines.c: (run_pipeline),
10013         (GST_START_TEST):
10014           enable cleanup again after fixing the leak
10015         * docs/README:
10016           some more info on docs
10017
10018 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10019
10020         * check/Makefile.am:
10021           re-enable tests now that leaks are plugged
10022         * check/gst/gst.c:
10023         * check/gst/gstbin.c:
10024         * check/gst/gstpipeline.c:
10025           add some more tests while fixing leaks
10026         * common/check.mak:
10027           make sure binaries are uptodate when valgrinding/gdbing
10028         * gst/gst.c:
10029         * gst/gstelementfactory.c:
10030           remove a ref too many, and add a FIXME for when we get
10031           round to disposing of classes
10032         * gst/gstplugin.c:
10033           fix the refcounting when loading a plugin from a file and
10034           the code pretends that the pointer is the same even though
10035           of course it can change
10036         * gst/gstpluginfeature.c:
10037           unref plugins marked cached (a bit confusing as a name)
10038           as the docs state should be done
10039           various doc additions to explain refcounting
10040         * gst/gstregistry.c:
10041         * gst/gstregistryxml.c:
10042           debugging
10043
10044 2005-09-19  Wim Taymans  <wim@fluendo.com>
10045
10046         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
10047         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
10048         (send_messages), (GST_START_TEST), (gstbus_suite):
10049         * check/gst/gstpipeline.c: (GST_START_TEST):
10050         * check/pipelines/cleanup.c: (run_pipeline):
10051         * check/pipelines/simple_launch_lines.c: (run_pipeline),
10052         (GST_START_TEST):
10053         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
10054         (gst_bus_source_check), (gst_bus_source_dispatch),
10055         (gst_bus_create_watch), (gst_bus_add_watch_full),
10056         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
10057         * gst/gstbus.h:
10058         * tools/gst-launch.c: (event_loop):
10059         * tools/gst-md5sum.c: (event_loop):
10060         GstBusHandler -> GstBusFunc, return value has the same meaning as
10061         any other GSource (FALSE == remove source).
10062         _add_watch() and _add_watch_full() now take a MessageType mask to
10063         only handle specific types of messages.
10064         _poll() returns the GstMessage instead of the message type to avoid
10065         race conditions.
10066         _have_pending() takes a MessageType mask now too.
10067         Added testsuite for multiple bus watches.
10068         Fix testsuites and applications for new bus API.
10069
10070 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10071
10072         * check/Makefile.am:
10073           mark a bunch of the tests as to fix until we fix them
10074
10075 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
10076
10077         * common/check.mak:
10078           use GST_PLUGIN settings for valgrind tests as well, so we're
10079           valgrinding the correct thing
10080         * gst/gst.c: (init_post):
10081           plug another leak
10082
10083 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
10084
10085         * gst/gst.c: (init_post), (gst_deinit):
10086         * gst/gstelementfactory.c: (gst_element_factory_class_init),
10087         (gst_element_factory_finalize), (gst_element_factory_cleanup):
10088         * gst/gstindex.c: (gst_index_factory_class_init),
10089         (gst_index_factory_finalize):
10090         * gst/gstobject.c: (gst_object_dispose):
10091         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
10092         (gst_plugin_load_file), (gst_plugin_desc_free):
10093         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
10094         (gst_plugin_feature_finalize):
10095         * gst/gstregistry.c: (gst_registry_class_init),
10096         (gst_registry_init), (gst_registry_finalize),
10097         (gst_registry_get_default), (gst_registry_deinit):
10098         * gst/gstregistry.h:
10099         * gst/gstregistryxml.c: (load_feature), (load_plugin):
10100           various cleanups and memleak plugging.  make valgrind is happy now.
10101
10102 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
10103
10104         * common/check.mak:
10105           add a check-valgrind target
10106
10107 2005-09-18  David Schleef  <ds@schleef.org>
10108
10109         * tools/gst-inspect.c: Revert the GOption code.
10110
10111 2005-09-17  David Schleef  <ds@schleef.org>
10112
10113         * check/Makefile.am: Fix environment variables.
10114         * check/gst/gstplugin.c: Fix for API changes.
10115         * tools/gst-inspect.c: Fix for API changes.
10116         * tools/gst-xmlinspect.c: Fix for API changes.
10117         * gst/gstelementfactory.c:
10118         * gst/gstplugin.c:
10119         * gst/gstplugin.h:
10120         * gst/gstpluginfeature.c:
10121         * gst/gstpluginfeature.h:
10122         * gst/gstregistry.c:
10123         * gst/gstregistry.h:
10124         * gst/gstregistryxml.c:
10125         * gst/gsttypefind.c:
10126         * gst/gsttypefindfactory.c:
10127         * gst/indexers/gstfileindex.c:
10128         * gst/indexers/gstmemindex.c:
10129         * gst/schedulers/Makefile.am:
10130           Change registry to keep track of both plugins and features,
10131           removing the feature tracking from plugins themselves.
10132
10133 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
10134
10135         * check/Makefile.am:
10136         * tools/gst-register.1.in:
10137           remove gst-register
10138
10139 2005-09-15  David Schleef  <ds@schleef.org>
10140
10141         * check/gst/gstplugin.c:
10142         * gst/gstelementfactory.c:
10143         * gst/gstplugin.c:
10144         * gst/gstpluginfeature.c:
10145         * gst/gstregistry.c:
10146           Getting tired of debugging.  Disabled all the unreffing of
10147           plugins and features, which fixes the segfaults, but of
10148           course leaks like crazy.  At least playbin works.
10149
10150 2005-09-15  David Schleef  <ds@schleef.org>
10151
10152         * check/gst/gstplugin.c: (register_check_elements),
10153         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
10154         More testing
10155         * gst/elements/gsttypefindelement.c: Fix refcounting.
10156         * gst/gsttypefind.c:
10157         * gst/gsttypefindfactory.c:
10158         * gst/gsttypefindfactory.h:
10159
10160 2005-09-15  David Schleef  <ds@schleef.org>
10161
10162         * gst/gstindex.c: get refcounting correct.
10163         * gst/gstregistry.c: Handle the case where a feature/plugin is
10164           not found.
10165
10166 2005-09-15  David Schleef  <ds@schleef.org>
10167
10168         * check/Makefile.am:
10169         * check/gst/gstplugin.c: Add test
10170         * gst/gstplugin.c: Fix problems noticed by testsuite
10171         * gst/gstplugin.h:
10172         * gst/gstregistry.c: 
10173         * gst/gstregistry.h:
10174
10175 2005-09-15  David Schleef  <ds@schleef.org>
10176
10177         * gst/gstplugin.c: Implement semi-decent recounting and locking
10178           in plugins and plugin features.
10179         * gst/gstplugin.h:
10180         * gst/gstpluginfeature.c:
10181         * gst/gstpluginfeature.h:
10182         * gst/gstregistry.c:
10183
10184 2005-09-15  Michael Smith <msmith@fluendo.com>
10185
10186         * gst/gstregistry.c: (gst_registry_get_feature_list):
10187           Implement this. Makes oggdemux work; decodebin still broken.
10188
10189 2005-09-14  David Schleef  <ds@schleef.org>
10190
10191         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
10192           #316076)
10193         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
10194         * gst/check/Makefile.am:
10195         * libs/gst/controller/Makefile.am:
10196         * libs/gst/dataprotocol/Makefile.am:
10197
10198 2005-09-14  David Schleef  <ds@schleef.org>
10199
10200         * configure.ac: Remove getbits library.  Nothing uses it, and
10201           it should be in something like liboil if someone did want
10202           to use it.
10203         * libs/gst/Makefile.am:
10204         * libs/gst/getbits/Makefile.am:
10205         * libs/gst/getbits/gbtest.c:
10206         * libs/gst/getbits/getbits.c:
10207         * libs/gst/getbits/getbits.h:
10208         * libs/gst/getbits/gstgetbits_generic.c:
10209         * libs/gst/getbits/gstgetbits_i386.s:
10210         * libs/gst/getbits/gstgetbits_inl.h:
10211
10212 2005-09-14  David Schleef  <ds@schleef.org>
10213
10214         * gst/Makefile.am: Dist glib-compat.h
10215
10216 2005-09-14  David Schleef  <ds@schleef.org>
10217
10218         * configure.ac: Remove gst/registries, since it's no longer used.
10219         * gst/registries/Makefile.am:
10220         * gst/registries/gstlibxmlregistry.c:
10221         * gst/registries/gstlibxmlregistry.h:
10222         * gst/registries/gstxmlregistry.c:
10223         * gst/registries/gstxmlregistry.h:
10224         * gst/registries/registrytest.c:
10225
10226 2005-09-14  David Schleef  <ds@schleef.org>
10227
10228         * gst/glib-compat.h:
10229         * gst/gstregistryxml.c:
10230           Convergence is near.  Seriously.
10231
10232 2005-09-14  David Schleef  <ds@schleef.org>
10233
10234         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
10235         * gst/glib-compat.h:
10236           Attempt #4 to appease the buildbots.
10237
10238 2005-09-14  David Schleef  <ds@schleef.org>
10239
10240         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
10241           Attempt #3.
10242
10243 2005-09-14  David Schleef  <ds@schleef.org>
10244
10245         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
10246         Attempt #2.
10247
10248 2005-09-14  David Schleef  <ds@schleef.org>
10249
10250         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
10251           the new functions.
10252
10253 2005-09-14  David Schleef  <ds@schleef.org>
10254
10255         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
10256         * gst/glib-compat.h: Add some functions that are in newer versions
10257           of glib than we care to require.
10258         * gst/gstregistryxml.c: Use them.
10259
10260 2005-09-14  David Schleef  <ds@schleef.org>
10261
10262         * po/POTFILES.in: remove gst-register.c
10263
10264 2005-09-14  David Schleef  <ds@schleef.org>
10265
10266         * docs/gst/gstreamer-docs.sgml:
10267         * docs/gst/gstreamer-sections.txt:
10268         * docs/gst/gstreamer.types:
10269         * docs/gst/tmpl/gstelement.sgml:
10270         * docs/gst/tmpl/gstplugin.sgml:
10271         * docs/gst/tmpl/gstpluginfeature.sgml:
10272           Documentation updates for registry changes.
10273
10274 2005-09-14  David Schleef  <ds@schleef.org>
10275
10276         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
10277           because we don't require glib-2.8.
10278
10279 2005-09-14  David Schleef  <ds@schleef.org>
10280
10281         * gst/gstregistryxml.c: Added.  Essentially moved out of the
10282           registries directory.
10283
10284 2005-09-14  David Schleef  <ds@schleef.org>
10285
10286         * check/Makefile.am:
10287         * check/generic/states.c:
10288         * gst/Makefile.am:
10289         * gst/gst.c:
10290         * gst/gst.h:
10291         * gst/gst_private.h:
10292         * gst/gstelementfactory.c:
10293         * gst/gstindex.c:
10294         * gst/gstinfo.c:
10295         * gst/gstplugin.c:
10296         * gst/gstplugin.h:
10297         * gst/gstpluginfeature.c:
10298         * gst/gstpluginfeature.h:
10299         * gst/gstregistry.c:
10300         * gst/gstregistry.h:
10301         * gst/gstregistrypool.c: remove
10302         * gst/gstregistrypool.h: remove
10303         * gst/gsttypefind.c:
10304         * gst/gsttypefindfactory.c:
10305         * gst/gsturi.c:
10306         * tools/Makefile.am:
10307         * tools/gst-compprep.c:
10308         * tools/gst-inspect.c:
10309         * tools/gst-register.c: remove
10310         * tools/gst-xmlinspect.c:
10311           Registry rewrite.  Changes registry from being a file created
10312           by a tool into a simple cache file created automatically by 
10313           libgstreamer.  Removed gst-register (because it's no longer
10314           needed).  Remove registry pools, because we only have one
10315           registry implementation (XML).  Fix up other subsystems as
10316           necessary.
10317
10318 2005-09-13  Michael Smith <msmith@fluendo.com>
10319
10320         * gst/gstconfig.h.in:
10321           Don't Use windows linking attributes for MinGW. Fixes #316157
10322
10323 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
10324
10325         * gst/gstutils.c: (set_state_async_thread_func),
10326         (gst_element_set_state_async):
10327           Apparently people think it's better if this function doesn't
10328           try to set the state to whatever state was asked for on the first
10329           call to this function for any object.  Seriously.
10330
10331 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
10332
10333         * check/gst/gstpipeline.c: (GST_START_TEST):
10334         * docs/gst/gstreamer-sections.txt:
10335         * gst/gstutils.c: (set_state_async_thread_func),
10336         (gst_element_set_state_async):
10337         * gst/gstutils.h:
10338           add a "gst_element_set_state_async" method that
10339           sets the state and starts a thread to make sure the state
10340           change completes as best as it can
10341
10342 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
10343
10344         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
10345           codify design+behaviour in testsuite after discussion
10346
10347 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
10348
10349         * docs/gst/tmpl/gstelement.sgml:
10350         * docs/manual/appendix-quotes.xml:
10351           add a quote
10352         * gst/gstelement.c: (gst_element_set_state):
10353           add some debug
10354
10355 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
10356
10357         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
10358         (gst_base_transform_prepare_output_buf),
10359         (gst_base_transform_handle_buffer):
10360         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
10361         (gst_capsfilter_prepare_buf):
10362           Remove the requirement for sub-classes to call the parent
10363           implementation of prepare_output_buffer with a wrapper function.
10364           
10365         * gst/gsttaglist.h:
10366         * gst/gsttagsetter.h:
10367           Fix #define wrapper
10368
10369 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
10370
10371         * docs/gst/gstreamer-sections.txt:
10372           more doc cleanups
10373
10374 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
10375
10376         * docs/gst/gstreamer-sections.txt:
10377         * docs/gst/tmpl/gstelement.sgml:
10378         * docs/gst/tmpl/gstplugin.sgml:
10379         * gst/gstminiobject.c:
10380         * gst/gstvalue.h:
10381           docs now stop throwing warnings
10382
10383 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
10384
10385         * docs/gst/gstreamer-sections.txt:
10386         * docs/gst/gstreamer.types:
10387         * docs/gst/tmpl/gstpad.sgml:
10388         * docs/gst/tmpl/gsttypes.sgml:
10389         * gst/base/gstadapter.h:
10390         * gst/base/gstbasesink.h:
10391         * gst/base/gstbasesrc.h:
10392         * gst/gstbin.h:
10393         * gst/gstbuffer.h:
10394         * gst/gstbus.h:
10395         * gst/gstcaps.h:
10396         * gst/gstclock.h:
10397         * gst/gstelement.h:
10398         * gst/gstevent.h:
10399         * gst/gstmessage.h:
10400         * gst/gstpad.h:
10401         * gst/gststructure.c:
10402         * gst/registries/gstlibxmlregistry.h:
10403           various documentation fixes
10404
10405 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
10406
10407         * docs/gst/gstreamer-sections.txt:
10408         * docs/gst/tmpl/gstvalue.sgml:
10409           rearrange gstvalue section
10410         * gst/gstutils.c: (gst_element_state_get_name):
10411           NONE -> VOID
10412         * gst/gstvalue.c: (_gst_value_initialize):
10413         * gst/gstvalue.h:
10414           doc updates
10415
10416 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
10417
10418         * check/gst-libs/controller.c:
10419           Header include fix.
10420         * gst/base/gstbasetransform.c:
10421         (gst_base_transform_default_prepare_buf),
10422         (gst_base_transform_handle_buffer):
10423         * gst/base/gstbasetransform.h:
10424           Some more basetransform changes and fixes to enable sub-classes
10425           that modify buffer metadata only.
10426         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
10427         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
10428         (gst_capsfilter_prepare_buf):
10429           If the output pad has fixed allowed caps and input buffers 
10430           don't have any, set the fixed caps on outgoing buffers.
10431
10432 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
10433         * check/elements/identity.c: (GST_START_TEST):
10434           Make the error a little clearer when the test fails because
10435           identity made a copy of the buffer.
10436         * docs/gst/gstreamer-sections.txt:
10437           New symbols in gstbasetransform.h
10438         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
10439         (gst_base_transform_init), (gst_base_transform_transform_size),
10440         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
10441         (gst_base_transform_default_prepare_buf),
10442         (gst_base_transform_get_unit_size),
10443         (gst_base_transform_buffer_alloc),
10444         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
10445         (gst_base_transform_change_state),
10446         (gst_base_transform_set_passthrough),
10447         (gst_base_transform_set_in_place),
10448         (gst_base_transform_is_in_place):
10449         * gst/base/gstbasetransform.h:
10450           Change BaseTransform to separate in_place operate from same_caps
10451           output. in_place implies that the element can perform the transform
10452           on incoming buffers in-place, even if the caps on the output are
10453           different.
10454           Sub-class elements can now implement special buffer allocation
10455           methods for outgoing buffers if they wish to.
10456           Big documentation addition.
10457         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
10458         * gst/elements/gstelements.c:
10459           Changes for basetransform modifications.
10460         * gst/elements/Makefile.am:
10461         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
10462           Compile fix. Extra debug output.
10463
10464 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10465
10466         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
10467         (gst_pad_suite):
10468           add tests for valid pad naming
10469         * gst/check/gstcheck.c: (gst_check_log_message_func),
10470         (gst_check_log_critical_func):
10471           add ASSERT_WARNING
10472           remove printing of code, it is fragile when the code contains
10473           % and the line number is enough info
10474         * gst/check/gstcheck.h:
10475         * gst/gstpad.c: (gst_pad_template_new):
10476           fix memleaks
10477
10478 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10479
10480         * configure.ac:
10481           say what CHECK flags we use
10482         * docs/libs/gstreamer-libs.types:
10483         * libs/gst/controller/Makefile.am:
10484         * libs/gst/controller/gst-controller.c:
10485         * libs/gst/controller/gst-controller.h:
10486         * libs/gst/controller/gst-helper.c:
10487         * libs/gst/controller/gst-interpolation.c:
10488         * libs/gst/controller/gstcontroller.c:
10489         * libs/gst/controller/gsthelper.c:
10490         * libs/gst/controller/gstinterpolation.c:
10491         * tools/gst-inspect.c: (print_plugin_info):
10492           we don't use dashes in header names
10493
10494 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10495
10496         * check/Makefile.am:
10497         * check/gst/.cvsignore:
10498         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
10499         (gst_pipeline_suite), (main):
10500           adding a test for pipelines and state changes
10501         * gst/gstutils.c: (get_state_func):
10502           add some debugging
10503         * gstreamer.spec.in:
10504           fix up spec file
10505
10506 2005-09-08  Michael Smith <msmith@fluendo.com>
10507
10508         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
10509         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
10510         (gst_file_src_is_seekable), (gst_file_src_get_size),
10511         (gst_file_src_start):
10512         * gst/elements/gstfilesrc.h:
10513           Various fixes for unseekable, unmmapable, and non-normal files, so
10514           that fallback to read() rather than mmap() works.
10515         * gst/gstevent.c: (gst_event_new_newsegment):
10516           Allow newsegment events with segment_start == segment_end, as will
10517           correctly happen if you use filesrc on a zero-size file, for
10518           example.
10519
10520 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
10521
10522         * gst/gstplugin.c: (gst_plugin_load_file):
10523           Call g_module_close when we don't load the module
10524
10525         * gst/registries/gstlibxmlregistry.c:
10526         (gst_xml_registry_get_property):
10527           Port leak fix from 0.8
10528
10529 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
10530
10531         * docs/gst/gstreamer-docs.sgml:
10532         * docs/gst/tmpl/.cvsignore:
10533         * docs/gst/tmpl/gsttrace.sgml:
10534         * docs/gst/tmpl/gsttrashstack.sgml:
10535         * gst/Makefile.am:
10536         * gst/gst.h:
10537         * gst/gstelement.h:
10538         * gst/gstevent.h:
10539         * gst/gstmessage.c:
10540         * gst/gstmessage.h:
10541         * gst/gsttag.c:
10542         * gst/gsttag.h:
10543         * gst/gsttaginterface.c:
10544         * gst/gsttaginterface.h:
10545         * gst/gsttaglist.c:
10546         * gst/gsttaglist.h:
10547         * gst/gsttagsetter.c:
10548         * gst/gsttagsetter.h:
10549         * gst/gsttrace.c:
10550         * gst/gsttrace.h:
10551         * gst/gsttrashstack.c:
10552           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
10553           inlined docs for gsttrace, gsttrashstack
10554
10555 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
10556
10557         * gst/Makefile.am:
10558         * gst/elements/gstbufferstore.h:
10559         * gst/elements/gsttypefindelement.c:
10560         * gst/elements/gsttypefindelement.h:
10561         * gst/gst.h:
10562         * gst/gsttypefind.c:
10563         * gst/gsttypefind.h:
10564         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
10565         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
10566         (gst_type_find_factory_dispose),
10567         (gst_type_find_factory_unload_thyself),
10568         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
10569         (gst_type_find_factory_get_caps),
10570         (gst_type_find_factory_get_extensions),
10571         (gst_type_find_factory_call_function):
10572         * gst/gsttypefindfactory.h:
10573         * gst/registries/gstlibxmlregistry.c:
10574         * gst/registries/gstxmlregistry.c:
10575           splitted gsttypefind into gsttypefind, gsttypefindfactory
10576
10577 2005-09-07  Andy Wingo  <wingo@pobox.com>
10578
10579         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
10580         condition whereby the pad's task function is entered before the
10581         pad_mode variable was set.
10582
10583 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
10584
10585         * gst/gstpad.c: (gst_pad_alloc_buffer):
10586           Catch misbehaving pad_alloc functions that don't
10587           set up caps and do it for them.
10588
10589 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
10590
10591         * check/pipelines/simple_launch_lines.c: (run_pipeline):
10592           test for pipe!=NULL
10593         * docs/gst/tmpl/.cvsignore:
10594         * docs/gst/tmpl/gstmemchunk.sgml:
10595         * docs/gst/tmpl/gstparse.sgml:
10596         * docs/gst/tmpl/gsttaglist.sgml:
10597         * docs/gst/tmpl/gsttagsetter.sgml:
10598         * docs/gst/tmpl/gsttypefind.sgml:
10599         * docs/gst/tmpl/gsttypefindfactory.sgml:
10600         * gst/gstmemchunk.c:
10601         * gst/gstparse.c:
10602         * gst/gsttag.c:
10603         * gst/gsttaginterface.c:
10604         * gst/gsttypefind.c:
10605         * gst/gsttypefind.h:
10606           inlined more docs
10607
10608 === release 0.9.2 ===
10609
10610 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
10611
10612         * NEWS:
10613         * RELEASE:
10614         * configure.ac:
10615           releasing 0.9.2, "South"
10616
10617 2005-09-05  Andy Wingo  <wingo@pobox.com>
10618
10619         * gst/registries/gstxmlregistry.h:
10620         * gst/registries/gstxmlregistry.c: Um... resurrect...
10621         
10622         * gst/registries/gstxmlregistry.h:
10623         * gst/registries/gstxmlregistry.c: and update to newer API.
10624         Incidentally they should be a bit faster now that they don't have
10625         to parse the caps.
10626         
10627 2005-09-05  Andy Wingo  <wingo@pobox.com>
10628
10629         * gst/registries/gstxmlregistry.h:
10630         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
10631         replaced by the libxml registry a while back
10632
10633 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
10634
10635         * docs/gst/tmpl/gstplugin.sgml:
10636         * gst/elements/gstelements.c:
10637         * gst/gst.c:
10638         * gst/gstplugin.c: (gst_plugin_register_func),
10639         (gst_plugin_desc_copy), (gst_plugin_desc_free),
10640         (gst_plugin_get_source):
10641         * gst/gstplugin.h:
10642         * gst/registries/gstlibxmlregistry.c: (load_plugin),
10643         (gst_xml_registry_save_plugin):
10644         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
10645         (gst_xml_registry_save_plugin):
10646         * tools/gst-inspect.c: (print_plugin_info):
10647           add a "source" plugin description field, to represent the source
10648           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
10649           will set it to PACKAGE, which is automake's idea of the name of
10650           the source project.
10651
10652 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
10653
10654         * Makefile.am:
10655         * autogen.sh:
10656         * configure.ac:
10657         * docs/Makefile.am:
10658         * docs/faq/Makefile.am:
10659         * docs/gst/tmpl/gstelement.sgml:
10660         * docs/gst/tmpl/gsttypes.sgml:
10661         * docs/htmlinstall.mak:
10662         * docs/manual/Makefile.am:
10663         * docs/pwg/Makefile.am:
10664           reorganize doc build a little
10665           split out docbook and gtk-doc stuff
10666           have two separate --enable's and enable them through autogen
10667           but disable by default in configure (to be similar to other
10668           projects)
10669         * gstreamer.spec.in:
10670           clean up docs install
10671         * po/af.po:
10672         * po/az.po:
10673         * po/ca.po:
10674         * po/cs.po:
10675         * po/de.po:
10676         * po/en_GB.po:
10677         * po/fr.po:
10678         * po/it.po:
10679         * po/nb.po:
10680         * po/nl.po:
10681         * po/ru.po:
10682         * po/sq.po:
10683         * po/sr.po:
10684         * po/sv.po:
10685         * po/tr.po:
10686         * po/uk.po:
10687         * po/vi.po:
10688           translation updates
10689
10690 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
10691
10692         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
10693           Add comment.
10694           
10695         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
10696         (gst_fake_sink_change_state):
10697           Make state change function thread-safe.
10698           
10699         * gst/gstpad.c: (gst_pad_alloc_buffer):
10700           Set offset on generic buffer allocated by fallback.
10701
10702 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
10703
10704         * docs/gst/gstreamer-sections.txt:
10705         * docs/gst/tmpl/gstelement.sgml:
10706         * gst/gstpad.c:
10707         * libs/gst/controller/gst-controller.c:
10708         (gst_controlled_property_set_interpolation_mode),
10709         (gst_controlled_property_new),
10710         (gst_controller_find_controlled_property):
10711          run the wingo-magic script against the docs
10712
10713 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
10714
10715         * docs/gst/gstreamer-docs.sgml:
10716         * docs/gst/gstreamer-sections.txt:
10717         * docs/gst/tmpl/.cvsignore:
10718         * docs/gst/tmpl/gstelementdetails.sgml:
10719         * docs/gst/tmpl/gstelementfactory.sgml:
10720         * gst/gst.c:
10721         * gst/gstbus.c:
10722         * gst/gstelementfactory.c:
10723         * gst/gstelementfactory.h:
10724           merged elementdetails docs into elementfactory docs
10725           inlined both
10726
10727 2005-09-02  Andy Wingo  <wingo@pobox.com>
10728
10729         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
10730         consider this enum an enum and not a flags.
10731
10732 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
10733
10734         * docs/gst/gstreamer-docs.sgml:
10735         * docs/gst/tmpl/.cvsignore:
10736         * docs/gst/tmpl/gstghostpad.sgml:
10737         * docs/gst/tmpl/gstiterator.sgml:
10738         * docs/gst/tmpl/gstmacros.sgml:
10739         * docs/gst/tmpl/gstrealpad.sgml:
10740         * docs/gst/tmpl/gstregistry.sgml:
10741         * docs/gst/tmpl/gstregistrypool.sgml:
10742         * docs/gst/tmpl/gststructure.sgml:
10743         * docs/gst/tmpl/gstsystemclock.sgml:
10744         * docs/gst/tmpl/gsttrace.sgml:
10745         * gst/gstghostpad.c:
10746         * gst/gstmacros.h:
10747         * gst/gstmemchunk.c:
10748         * gst/gstmemchunk.h:
10749         * gst/gstqueue.c:
10750         * gst/gstregistry.c:
10751         * gst/gstregistrypool.c:
10752         * gst/gststructure.c:
10753         * gst/gstsystemclock.c:
10754           more docs inlined
10755
10756 2005-09-02  Andy Wingo  <wingo@pobox.com>
10757
10758         * gst/gstelement.h (GstState): Renamed from GstElementState,
10759         changed to be a normal enum instead of flags.
10760         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
10761         munged to be GST_STATE_CHANGE_*.
10762         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
10763         work with the new state representation.
10764         (GstStateChange): New enumeration of possible state transitions.
10765         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
10766         (GstElementClass::change_state): Pass the GstStateChange along as
10767         an argument. Helps language bindings, so they don't have to use
10768         tricky lock-needing macros like GST_STATE_CHANGE ().
10769
10770         * scripts/update-states (file): New script. Run it on a file to
10771         update it for state naming and API changes. Updates files in
10772         place.
10773
10774         * All files updated for the new API.
10775
10776 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10777
10778         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
10779         * gst/gstutils.c: (gst_util_set_value_from_string),
10780         (gst_util_set_object_arg):
10781           fix a bunch of unchecked return values
10782         * tools/gst-complete.c: (main):
10783         * gstreamer.spec.in:
10784           clean up a little
10785
10786 2005-09-01  Wim Taymans  <wim@fluendo.com>
10787
10788         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10789         (gst_base_sink_event), (gst_base_sink_do_sync),
10790         (gst_base_sink_handle_event):
10791         * gst/base/gstbasesink.h:
10792         Handle newsegments more correctly.
10793
10794         * gst/gstbus.c:
10795         Fix docs.
10796
10797         * gst/gstevent.c: (gst_event_new_newsegment):
10798         A newsegment cannot have a start_time of -1
10799
10800 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
10801
10802         * win32/gstenumtypes.c:
10803         * win32/gstenumtypes.h:
10804           Update
10805
10806 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
10807
10808         * libs/gst/controller/gst-controller.c:
10809         (gst_controlled_property_set_interpolation_mode),
10810         (gst_controlled_property_new):
10811          fixed boolean again
10812
10813 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
10814
10815         * docs/faq/gst-uninstalled:
10816           add -good
10817         * gst/gstevent.c:
10818         * gst/gstevent.h:
10819           remove wrong docs
10820         * gst/gstutils.c: (gst_element_link_filtered):
10821         * gst/gstutils.h:
10822           add gst_element_link_filtered
10823
10824 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
10825
10826         * docs/gst/gstreamer-docs.sgml:
10827         * docs/gst/gstreamer-sections.txt:
10828         * docs/gst/tmpl/.cvsignore:
10829         * docs/gst/tmpl/gsterror.sgml:
10830         * docs/gst/tmpl/gstfilter.sgml:
10831         * docs/gst/tmpl/gsturihandler.sgml:
10832         * docs/gst/tmpl/gsturitype.sgml:
10833         * docs/gst/tmpl/gstutils.sgml:
10834         * docs/gst/tmpl/gstxml.sgml:
10835         * gst/gsterror.c:
10836         * gst/gsterror.h:
10837         * gst/gstfilter.c:
10838         * gst/gsturi.c:
10839         * gst/gsturitype.c:
10840         * gst/gstutils.c:
10841         * gst/gstxml.c:
10842           inlined more docs, fixed double id-ref
10843
10844 2005-08-31  Wim Taymans  <wim@fluendo.com>
10845
10846         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
10847         (gst_base_transform_handle_buffer):
10848         Passthrough elements don't need the caps as they don't care.
10849
10850 2005-08-31  Wim Taymans  <wim@fluendo.com>
10851
10852         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
10853         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
10854         Don't leak refcounts on buffers.
10855
10856 2005-08-31  Wim Taymans  <wim@fluendo.com>
10857
10858         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
10859         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
10860         (gst_base_transform_chain), (gst_base_transform_change_state):
10861         * gst/base/gstbasetransform.h:
10862         Handle the case where we are not negotiated more gracefully.
10863
10864 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
10865
10866         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
10867         (gst_file_src_map_region):
10868           Set READONLY flag on mmap'ed buffers, otherwise
10869           gst_buffer_make_writable() won't work properly (#314708).
10870
10871 2005-08-31  Wim Taymans  <wim@fluendo.com>
10872
10873         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
10874         passthrough elements can even do inplace on non writable
10875         buffers (as they don't touch them).
10876
10877 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
10878
10879         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
10880         (gst_test_mono_source_set_property),
10881         (gst_test_mono_source_class_init), (GST_START_TEST),
10882         (gst_controller_suite):
10883           more tests (hehe I have the most)
10884         * gst/gstbus.c:
10885           describe popping messages whenusing mulltiple sources
10886         * libs/gst/controller/gst-controller.c:
10887         (gst_controlled_property_set_interpolation_mode),
10888         (gst_controlled_property_new):
10889         * libs/gst/controller/gst-controller.h:
10890         * libs/gst/controller/gst-interpolation.c:
10891           implement boolean properties
10892
10893 2005-08-31  Wim Taymans  <wim@fluendo.com>
10894
10895         * gst/gstminiobject.c: (gst_mini_object_ref):
10896         Cannot assert that the refcount has to be positive
10897         since a disposed object can be resurrected.
10898
10899 2005-08-31  Wim Taymans  <wim@fluendo.com>
10900
10901         * gst/gstpad.c: (gst_pad_init):
10902         Revert change, need to first fix badly behaving 
10903         apps.
10904
10905 2005-08-30  Wim Taymans  <wim@fluendo.com>
10906
10907         * check/elements/fakesrc.c: (setup_fakesrc):
10908         * check/elements/identity.c: (setup_identity):
10909         Activate pads before using them.
10910
10911 2005-08-30  Wim Taymans  <wim@fluendo.com>
10912
10913         * gst/base/gstadapter.c: (gst_adapter_flush):
10914         Flushing out 0 bytes is ok for this function.
10915
10916         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
10917         no newsegment gives a warning and sets the start/stop to 
10918         invalid.
10919
10920         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
10921         (gst_base_transform_set_passthrough):
10922         Some debug info.
10923
10924         * gst/gstminiobject.c: (gst_mini_object_ref):
10925         Check refcount here too.
10926
10927         * gst/gstpad.c: (gst_pad_init):
10928         Pads are initially flushing and refusing data.
10929
10930         * gst/gstutils.c: (gst_element_link_pads_filtered):
10931         When adding a capsfilter element make sure it has the
10932         same state as the parent bin.
10933
10934 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
10935
10936         * docs/gst/tmpl/.cvsignore:
10937         * docs/gst/tmpl/gstformat.sgml:
10938         * docs/gst/tmpl/gstversion.sgml:
10939         * gst/gstbus.h:
10940         * gst/gstformat.c:
10941         * gst/gstformat.h:
10942         * gst/gstversion.h.in:
10943           more docs and two more inlined
10944
10945 2005-08-30  Wim Taymans  <wim@fluendo.com>
10946
10947         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
10948         Don't sync to clock.
10949
10950 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
10951
10952         * docs/gst/gstreamer-sections.txt:
10953           ultral33t func10ns deserve to appear in the docs actually
10954         * docs/gst/tmpl/.cvsignore:
10955         * docs/gst/tmpl/gstcompat.sgml:
10956         * docs/gst/tmpl/gstconfig.sgml:
10957         * gst/check/gstcheck.c:
10958         * gst/gstcompat.h:
10959         * gst/gstconfig.h.in:
10960           inlined more docs
10961
10962 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
10963
10964         * docs/gst/tmpl/.cvsignore:
10965         * docs/gst/tmpl/gstquery.sgml:
10966         * docs/gst/tmpl/gstutils.sgml:
10967         * gst/gstquery.c:
10968         * gst/gstquery.h:
10969           inlined and extended docs
10970
10971 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
10972
10973         * check/gst-libs/controller.c: (GST_START_TEST),
10974         (gst_controller_suite):
10975           more tests
10976         * docs/gst/tmpl/gstutils.sgml:
10977         * docs/libs/gstreamer-libs-sections.txt:
10978         * docs/libs/tmpl/gstdataprotocol.sgml:
10979           include path fixes
10980         * examples/controller/audio-example.c: (main):
10981           controller example works now
10982         * gst/gstclock.h:
10983           doc fixes
10984         * tools/gst-inspect.c: (print_element_properties_info):
10985           show param spec flags
10986
10987 2005-08-29  Andy Wingo  <wingo@pobox.com>
10988
10989         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
10990
10991 2005-08-28  Andy Wingo  <wingo@pobox.com>
10992
10993         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
10994         as having two arguments instead of just one. Allows superclasses
10995         to access information on subclasses -- see the terrible for() loop
10996         in gtype.c:g_type_create_instance for the reason why. All callers
10997         changed.
10998
10999 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
11000
11001         * docs/design/part-messages.txt:
11002           update info
11003         * docs/gst/tmpl/.cvsignore:
11004         * docs/gst/tmpl/gstcaps.sgml:
11005         * docs/gst/tmpl/gstclock.sgml:
11006         * gst/gstbus.c:
11007         * gst/gstcaps.c:
11008         * gst/gstcaps.h:
11009         * gst/gstclock.c:
11010         * gst/gstclock.h:
11011         * gst/gstmessage.c:
11012           added descriptions for bus and message
11013           inline caps and clock docs
11014
11015 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
11016
11017         * gst/gstmessage.c:
11018         * gst/gstmessage.h:
11019           doc fixes
11020
11021 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
11022
11023         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
11024           fix div-by-zero
11025
11026 2005-08-26  Andy Wingo  <wingo@pobox.com>
11027
11028         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
11029         element_set_state's return val.
11030         (test_2_elements): Add test that's been disabled for months.
11031
11032         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
11033         can-activate-pull properties.
11034
11035         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
11036         can-activate-pull properties. Implement is_seekable so fakesrc can
11037         operate in pull mode.
11038
11039         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
11040         properties.
11041         (gst_base_sink_activate, gst_base_sink_activate_pull)
11042         (gst_base_sink_activate_push): Make activation mode choosing work.
11043         Cleanups.
11044         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
11045         is right. Make pull mode work. Post an eos before pausing in pull
11046         mode.
11047         (gst_base_sink_change_state): Pay attention to the core's
11048         change_state() return val.
11049         
11050         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
11051         has-getrange properties. Cleanups.
11052         
11053         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
11054         has_getrange and replace with can_activate_pull and
11055         can_activate_push.
11056
11057         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
11058         locking comments. Remove has_loop, has_chain and replace with
11059         can_activate_pull and can_activate_push.
11060
11061 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
11062
11063         * configure.ac:
11064         * examples/Makefile.am:
11065         * examples/metadata/Makefile.am:
11066         * examples/metadata/read-metadata.c: (message_loop),
11067         (have_pad_handler), (make_pipeline), (print_tag), (main):
11068           Add metadata reading example that loops over a list of filenames,
11069           dumping any tags found.
11070
11071         * gst/gstbus.c: (gst_bus_dispose):
11072         * gst/gstelement.c: (gst_element_dispose):
11073           Release a few potentially-held references in dispose.
11074
11075 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
11076
11077         * docs/gst/tmpl/gstminiobject.sgml:
11078           do *not* add tmpl/*.sgml files to CVS!
11079
11080 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
11081
11082         * libs/gst/bytestream/.cvsignore:
11083         * libs/gst/bytestream/Makefile.am:
11084         * libs/gst/bytestream/adapter.c:
11085         * libs/gst/bytestream/adapter.h:
11086         * libs/gst/bytestream/bytestream.c:
11087         * libs/gst/bytestream/bytestream.h:
11088         * libs/gst/bytestream/filepad.c:
11089         * libs/gst/bytestream/filepad.h:
11090           removing obsolete files
11091
11092 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
11093
11094         * docs/gst/gstreamer-docs.sgml:
11095         * docs/libs/gstreamer-libs-docs.sgml:
11096           disabed additional index entries again, as this makes docs-gen just
11097           slow and they aren't useful yet
11098         * docs/libs/gstreamer-libs-sections.txt:
11099           little -section.txt cleanup for libs
11100
11101 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
11102
11103         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
11104         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
11105           fix up some debugging
11106         (gst_base_transform_get_unit_size),
11107         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
11108         (gst_base_transform_handle_buffer):
11109         * gst/base/gstbasetransform.h:
11110           handle and store timed NEWSEGMENT events so that subclasses that
11111           calculate time by counting samples have a segment_start time they
11112           need to add to their timestamps - see audioresample
11113
11114 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
11115
11116         * gst/gstbin.h:
11117           removed ';' from the end of macro defs
11118         * docs/gst/gstreamer-docs.sgml:
11119         * docs/gst/gstreamer-sections.txt:
11120         * docs/gst/tmpl/.cvsignore:
11121         * gst/gstbus.h:
11122         * gst/gstelement.c: (gst_element_class_init),
11123         (gst_element_set_state), (activate_pads),
11124         (gst_element_save_thyself):
11125         * gst/gstevent.c: (gst_event_new_newsegment):
11126         * gst/gstevent.h:
11127         * gst/gstiterator.c:
11128         * gst/gstiterator.h:
11129         * gst/gstpad.c:
11130         * gst/gstprobe.h:
11131         * gst/gstutils.c: (gst_pad_query_convert):
11132         * gst/gstutils.h:
11133           fixed parameter name mismatches between source, header and docs
11134           added some more docs, resolved the last batch of unused elements in
11135           docs (now someone needs to doc them)
11136
11137 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
11138
11139         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
11140         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
11141           don't walk through the plugins backwards.  Where is all this
11142           reversed logic coming from ?
11143
11144 2005-08-25  Wim Taymans  <wim@fluendo.com>
11145
11146         * gst/base/gstbasetransform.c: (gst_base_transform_init),
11147         (gst_base_transform_transform_size),
11148         (gst_base_transform_configure_caps),
11149         (gst_base_transform_get_unit_size),
11150         (gst_base_transform_buffer_alloc),
11151         (gst_base_transform_change_state):
11152         * gst/base/gstbasetransform.h:
11153         Cache caps unit_size.
11154         Make sure we cannot negotiate up and downstream at the
11155         same time.
11156
11157 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
11158
11159         * gst/gst.c: (init_pre), (init_post):
11160           register the installed plugin path after the env var
11161         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
11162         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
11163           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
11164           directories, so the tests can prefer uninstalled over installed
11165
11166 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
11167
11168         * gst/base/gstbasetransform.h:
11169           comment
11170         * gst/gstpad.c:
11171           add to docs
11172
11173 2005-08-25  Wim Taymans  <wim@fluendo.com>
11174
11175         * gst/gstbin.c: (bin_bus_handler):
11176         Be a bit more conservative about the posted message.
11177         
11178         * gst/gstbus.c: (gst_bus_post):
11179         Some cleanups, warn wrong return values.
11180
11181 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
11182
11183         * check/gst/gstbin.c: (GST_START_TEST):
11184         * gst/gstbin.c: (bin_bus_handler):
11185         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
11186         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
11187         (gst_message_new_warning), (gst_message_new_tag),
11188         (gst_message_new_state_changed), (gst_message_new_segment_start),
11189         (gst_message_new_segment_done), (gst_message_new_custom):
11190         * gst/gstmessage.h:
11191         * tools/gst-launch.c: (event_loop):
11192         * tools/gst-md5sum.c: (event_loop):
11193           Revert unpopular change for GST_MESSAGE_SRC to GObject.
11194
11195 2005-08-25  Wim Taymans  <wim@fluendo.com>
11196
11197         * check/generic/states.c: (GST_START_TEST):
11198         Cleanup can be done at the end.
11199
11200         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
11201         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
11202         (gst_task_get_state), (gst_task_start), (gst_task_pause):
11203         Oh boy.. Thanks for finding this, Thomas. 
11204
11205 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
11206
11207         * docs/gst/gstreamer.types:
11208           added missing types
11209
11210 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
11211
11212         * docs/gst/gstreamer-docs.sgml:
11213         * docs/gst/gstreamer-sections.txt:
11214         * docs/gst/tmpl/.cvsignore:
11215         * gst/gstbin.c:
11216         * gst/gstiterator.c:
11217         * gst/gstutils.c:
11218         * gst/registries/gstxmlregistry.h:
11219           added missing classes and symbols (123 more to go)
11220           removed removed symbols from section file
11221           fixed many doc-comments
11222
11223 2005-08-24  Wim Taymans  <wim@fluendo.com>
11224
11225         * check/generic/states.c: (GST_START_TEST):
11226         Make sure all tasks are stopped.
11227
11228         * check/gst/gstbin.c: (GST_START_TEST):
11229         Unref after usage for proper valgrinding.
11230
11231         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
11232         Really wait for the task to stop before destroying the
11233         mutex.
11234
11235         * gst/gstqueue.c: (gst_queue_sink_activate_push),
11236         (gst_queue_src_activate_push):
11237         Small cleanups. Don't stop the task when we did not start
11238         it.
11239
11240         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
11241         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
11242         (gst_task_get_state), (gst_task_start), (gst_task_pause),
11243         (gst_task_join):
11244         * gst/gsttask.h:
11245         Protect the stream lock with the object lock.
11246         Disallow setting the stream lock when running.
11247         Add cleanup_all to wait for the threadpool to finish.
11248         Remove code to autoallocate a mutex if none was provided.
11249         Add _join() to wait for a task to stop.
11250         Protect the thread pool with a global lock.
11251
11252 2005-08-24  Wim Taymans  <wim@fluendo.com>
11253
11254         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
11255         (gst_base_sink_get_times), (gst_base_sink_do_sync),
11256         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
11257         * gst/base/gstbasesink.h:
11258         Handle newsegment events correctly.
11259         Drop buffers out of the segment range.
11260
11261 2005-08-22  Andy Wingo  <wingo@pobox.com>
11262
11263         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
11264         macro, implements an interface and gstimplementsinterface for a
11265         new type.
11266
11267 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
11268
11269         * check/Makefile.am:
11270         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
11271           add a test that does a bunch of state changes on elements
11272           needs some fixing for valgrind
11273         * check/states/sinks.c: (gst_object_suite):
11274           whitespace
11275         * gst/gstcaps.h:
11276           add prototype for gst_caps_is_equal_fixed
11277         * gst/gstplugin.c:
11278         * gst/gstregistrypool.c:
11279           doc fixes
11280
11281 2005-08-24  Andy Wingo  <wingo@pobox.com>
11282
11283         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
11284         convert a negative value. Doesn't make much sense. Mostly this is
11285         here to force callers to ensure -1 maps to -1.
11286
11287 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
11288
11289         * docs/pwg/advanced-types.xml:
11290           Well done to Michael for catching my deliberate introduction
11291           of this spelling mistake. 
11292         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
11293         * gst/gstelement.h:
11294           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
11295           unlink pads before removing the element from the bin.
11296
11297 2005-08-24  Andy Wingo  <wingo@pobox.com>
11298
11299         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
11300         the same thing as GST_DEBUG=*:4.
11301         (parse_debug_level, parse_debug_category): New helper parsers.
11302
11303 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
11304
11305         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
11306         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
11307         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
11308         (gst_base_transform_buffer_alloc),
11309         (gst_base_transform_handle_buffer):
11310           use gboolean return values and pointers to size so we can use the
11311           full GST_BUFFER_SIZE range (guint) for buffer sizes
11312           use GstPadDirection for transform_caps
11313         * gst/base/gstbasetransform.h:
11314           rename get_size to get_unit_size since that's what it is
11315         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
11316           use GstPadDirection for transform_caps
11317         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
11318         * gst/gstutils.h:
11319           cleanup and debugging
11320
11321 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
11322
11323         * gst/gstelement.c: (gst_element_class_init),
11324         (gst_element_set_state), (activate_pads),
11325         (gst_element_save_thyself):
11326         * tools/gst-compprep.c: (main):
11327         * tools/gst-inspect.c: (print_element_properties_info):
11328         * tools/gst-xmlinspect.c: (print_element_properties):
11329           Fixed long standing mem-leak
11330
11331 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
11332
11333         * check/gst/gstbin.c: (GST_START_TEST):
11334         * gst/gstbin.c: (bin_bus_handler):
11335         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
11336         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
11337         (gst_message_new_warning), (gst_message_new_tag),
11338         (gst_message_new_state_changed), (gst_message_new_segment_start),
11339         (gst_message_new_segment_done), (gst_message_new_custom):
11340         * gst/gstmessage.h:
11341         * tools/gst-launch.c: (event_loop):
11342         * tools/gst-md5sum.c: (event_loop):
11343           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
11344           that applications can sensibly post custom messages with references
11345           to their own objects.
11346
11347 2005-08-24  Andy Wingo  <wingo@pobox.com>
11348
11349         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
11350         already.
11351
11352 2005-08-24  Wim Taymans  <wim@fluendo.com>
11353
11354         * gst/base/gstbasetransform.c: (gst_base_transform_init),
11355         (gst_base_transform_transform_caps),
11356         (gst_base_transform_transform_size),
11357         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
11358         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
11359         (gst_base_transform_handle_buffer):
11360         * gst/base/gstbasetransform.h:
11361         Many fixes and new features added by Thomas. Can now also do
11362         transforms with variable sizes and a custom fixate_caps function.
11363
11364 2005-08-24  Wim Taymans  <wim@fluendo.com>
11365
11366         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
11367         Some debugging.
11368
11369         * gst/gstclock.h:
11370         Cast to ClockTime before formatting to time.
11371
11372         * gst/gstutils.h:
11373         Cleanups.
11374
11375 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
11376
11377         * check/gst-libs/controller.c: (GST_START_TEST),
11378         (gst_controller_suite):
11379         * docs/gst/tmpl/gstcaps.sgml:
11380         * docs/gst/tmpl/gstghostpad.sgml:
11381         * docs/gst/tmpl/gstquery.sgml:
11382         * docs/gst/tmpl/gstutils.sgml:
11383         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
11384         (gst_object_sink_values), (gst_object_get_value_arrays),
11385         (gst_object_get_value_array):
11386           gracefully handle helper method calls to objects that are not beeing
11387           controlled, added test case for that          
11388
11389 2005-08-23  Wim Taymans  <wim@fluendo.com>
11390
11391         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
11392         (gst_event_new_newsegment), (gst_event_parse_newsegment),
11393         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
11394         (gst_event_parse_qos), (gst_event_new_seek),
11395         (gst_event_parse_seek):
11396         * gst/gstevent.h:
11397         Some more debugging output and doc cleanups.
11398
11399         * gst/gstqueue.c: (gst_queue_handle_sink_event):
11400         Fix possible deadlock.
11401
11402 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
11403
11404         * docs/gst/gstreamer-docs.sgml:
11405         * docs/gst/gstreamer-sections.txt:
11406         * docs/gst/gstreamer.types:
11407         * docs/gst/tmpl/.cvsignore:
11408         * gst/gstbin.h:
11409         * gst/gstbus.c:
11410         * gst/gstelement.c:
11411         * gst/gstevent.h:
11412           added 100 symbols from gstreamer-unused.txt to the right sections
11413           fixed more broken comments
11414           added GstBus to docs
11415
11416 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
11417
11418         * docs/gst/gstreamer-sections.txt:
11419         * docs/gst/tmpl/.cvsignore:
11420         * docs/gst/tmpl/gstbin.sgml:
11421         * docs/gst/tmpl/gstbuffer.sgml:
11422         * gst/base/gstbasesrc.c:
11423         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
11424         * gst/gstbuffer.c:
11425         * gst/gstbuffer.h:
11426         * tools/gst-launch.1.in:
11427           inlined more doc comments, added missing comments and fixed comments
11428           fixed typos
11429
11430 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
11431
11432         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
11433           some debugging
11434         * gst/gstcaps.h:
11435           whitespace fixes
11436         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
11437           more debugging
11438         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
11439         * gst/gststructure.h:
11440           add a fixate function for booleans; add a FIXME that these func
11441           names should probably be gst_structure_fixate_*
11442
11443 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
11444
11445         * docs/gst/gstreamer-docs.sgml:
11446         * docs/gst/gstreamer-sections.txt:
11447         * gst/Makefile.am:
11448         * gst/gstbin.c: (gst_bin_get_type),
11449         (gst_bin_child_proxy_get_child_by_index),
11450         (gst_bin_child_proxy_get_children_count),
11451         (gst_bin_child_proxy_init):
11452         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
11453         (gst_child_proxy_get_child_by_index),
11454         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
11455         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
11456         (gst_child_proxy_get), (gst_child_proxy_set_property),
11457         (gst_child_proxy_set_valist), (gst_child_proxy_set),
11458         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
11459         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
11460         * gst/gstchildproxy.h:
11461         * gst/parse/grammar.y:
11462         * tools/gst-inspect.c: (print_interfaces),
11463         (print_element_properties_info), (print_element_info):
11464           ported gstchildproxy over from 0.8
11465           ported gst-inspect fixes and enhancements over from 0.8
11466
11467 2005-08-22  Wim Taymans  <wim@fluendo.com>
11468
11469         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
11470         (gst_base_transform_handle_buffer):
11471         Also call the transform function if we have ANY caps.
11472
11473         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
11474         Fix debug info.
11475
11476 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
11477
11478         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
11479           Don't pretend to handle seek events if the source is not seekable
11480
11481 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
11482
11483         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
11484           Remove extra parameter to debug output
11485
11486         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
11487         (gst_base_src_do_seek), (gst_base_src_activate_push):
11488           Fix seek event handling.
11489
11490         * gst/gstpipeline.c: (gst_pipeline_change_state):
11491         * gst/gstqueue.c: (gst_queue_handle_sink_event),
11492         (gst_queue_src_activate_push):
11493           Don't start the src pad task on FLUSH_STOP if the pad
11494           isn't linked.
11495           Debug changes.
11496
11497 2005-08-22  Wim Taymans  <wim@fluendo.com>
11498
11499         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
11500         Added check for gst_static_caps_get() refcounting.
11501
11502 2005-08-22  Wim Taymans  <wim@fluendo.com>
11503
11504         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
11505         Make _static_caps_get() refcounting sane.
11506         
11507         * gst/gstelement.c: (gst_element_set_state):
11508         Add g_return_val_if_fail() to protect against segfaults.
11509
11510 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
11511
11512         * docs/gst/tmpl/gstevent.sgml:
11513         * gst/gstevent.c:
11514         * gst/gstevent.h:
11515           inlined remaining docs, added missing doc comments
11516
11517 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
11518
11519         * check/gst/gstbin.c: (GST_START_TEST):
11520           since we don't know when preroll is done, use refcount range
11521           check for the sink
11522         * gst/check/gstcheck.h:
11523           add macro for checking refcount range
11524
11525 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
11526
11527         * check/Makefile.am:
11528           clean up environment for when registry gets built versus
11529           when actual tests are run; valgrind seems to not report
11530           leaks if GST_PLUGIN_PATH is set to some specific values
11531         * check/gst/gstbin.c: (GST_START_TEST):
11532           add more refcounting checks; maybe this exposes a
11533           preroll lock bug ?
11534         * common/check.mak:
11535         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
11536         * gst/check/gstcheck.h:
11537         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
11538         (gst_bin_change_state):
11539         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
11540           add/fix debugging/whitespace
11541
11542 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
11543
11544         * check/gst/gstevent.c: (event_probe), (test_event),
11545         (GST_START_TEST):
11546          Er, don't call gst_bin_watch_for_state_change you idiot.
11547
11548 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
11549
11550         * check/Makefile.am:
11551           Use CHECK_CFLAGS and CHECK_LIBS
11552         * check/gst/gstevent.c: (event_probe), (test_event),
11553         (GST_START_TEST):
11554           Don't leak events.
11555         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
11556         (gst_base_src_start), (gst_base_src_stop),
11557         (gst_base_src_activate_push), (gst_base_src_activate_pull),
11558         (gst_base_src_change_state):
11559           Sprinkle gst_base_src_stop liberally around error paths to fix
11560           problems reusing a source after failed state changes.
11561         * gst/base/gsttypefindhelper.c: (helper_find_peek),
11562         (helper_find_suggest), (gst_type_find_helper):
11563           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
11564         * gst/gstevent.h:
11565         * docs/gst/tmpl/gstevent.sgml:
11566           Migrate part of the docs from the SGML file. Wait for ensonic to
11567           tell me how I did it wrong ;)
11568         * tools/gst-typefind.c: (main):
11569           Extra robustness to state changes between files.
11570
11571 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
11572
11573         * check/Makefile.am:
11574           don't valgrind the controller test - it's leaking - Stefan, HELP
11575         * gst/check/gstcheck.c: (gst_check_message_error),
11576         (gst_check_chain_func), (gst_check_setup_element),
11577         (gst_check_teardown_element), (gst_check_setup_src_pad),
11578         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
11579         (gst_check_teardown_sink_pad):
11580         * gst/check/gstcheck.h:
11581           add a bunch of methods to set up elements, and src and sink pads
11582         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
11583         * check/elements/identity.c: (setup_identity), (cleanup_identity),
11584         (GST_START_TEST):
11585           use them
11586         * gst/gstmessage.c:
11587         * gst/gsttag.h:
11588           whitespace/doc fixes
11589
11590 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
11591
11592         * gst/gstelement.h:
11593           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
11594           be handled by the application and not always printed as well
11595
11596 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
11597
11598         * check/Makefile.am:
11599           set GST_TOOLS_DIR
11600         * gst/check/gstcheck.c: (gst_check_message_error):
11601         * gst/check/gstcheck.h:
11602           add a fail_unless_equals_int
11603           add fail_unless for error messages
11604
11605 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
11606
11607         * check/Makefile.am:
11608         * check/gst.supp:
11609         * common/Makefile.am:
11610         * common/check.mak:
11611         * common/gst.supp:
11612           factor out some of the common stuff so we can use it
11613
11614 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
11615
11616         * check/Makefile.am:
11617         * check/gst/gstiterator.c: (GST_START_TEST):
11618         * check/gst/gstsystemclock.c: (GST_START_TEST),
11619         (gst_systemclock_suite):
11620         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
11621         * gst/gstclock.c:
11622           valgrind more tests
11623
11624 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
11625
11626         * check/elements/.cvsignore:
11627         * check/elements/gstfakesrc.c:
11628           rename to name of element
11629         * check/elements/identity.c: (chain_func), (event_func),
11630         (setup_identity), (cleanup_identity), (GST_START_TEST),
11631         (identity_suite), (main):
11632           add a test for identity
11633         * check/Makefile.am:
11634         * pkgconfig/Makefile.am:
11635         * pkgconfig/gstreamer-check.pc.in:
11636         * pkgconfig/gstreamer-check-uninstalled.pc.in:
11637         * gst/check:
11638         * gst/Makefile.am:
11639         * configure.ac:
11640           move the check stuff to a library that gets installed
11641         * check/gst-libs/controller.c: (GST_START_TEST):
11642         * check/gst-libs/gdp.c:
11643         * check/gst/gst.c: (GST_START_TEST):
11644         * check/gst/gstbin.c:
11645         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
11646         * check/gst/gstbus.c:
11647         * check/gst/gstcaps.c: (GST_START_TEST):
11648         * check/gst/gstelement.c:
11649         * check/gst/gstghostpad.c:
11650         * check/gst/gstiterator.c:
11651         * check/gst/gstmessage.c:
11652         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
11653         * check/gst/gstobject.c:
11654         * check/gst/gstpad.c: (GST_START_TEST):
11655         * check/gst/gststructure.c: (GST_START_TEST):
11656         * check/gst/gstsystemclock.c: (GST_START_TEST),
11657         (gst_systemclock_suite):
11658         * check/gst/gsttag.c: (gst_tag_suite):
11659         * check/gst/gstvalue.c:
11660         * check/pipelines/cleanup.c:
11661         * check/pipelines/simple_launch_lines.c:
11662         * check/states/sinks.c:
11663           change include statement
11664
11665         * docs/gst/gstreamer-sections.txt:
11666         * docs/gst/tmpl/gstpad.sgml:
11667           document more pad stuff
11668         * gst/gstminiobject.c: (gst_mini_object_ref),
11669         (gst_mini_object_unref):
11670           debug refcounting
11671
11672 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
11673
11674         * docs/gst/tmpl/gst.sgml:
11675         * gst/gst.c:
11676           eliminate another tmpl file, fix spelling in the long-description
11677
11678 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
11679
11680         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
11681         (test_event), (timediff), (gstevents_suite):
11682           Should fix build on 64-bit arch's
11683
11684 2005-08-18  Andy Wingo  <wingo@pobox.com>
11685
11686         Make sure that when a pipeline goes to PLAYING, that data has
11687         actually hit the sink.
11688
11689         * check/states/sinks.c (test_sink): A sink that doesn't get any
11690         data shouldn't return SUCCESS for going to either PLAYING or
11691         PAUSED. Test also the return values on the way back down.
11692
11693         * gst/gstelement.c (gst_element_set_state): When changing the
11694         state of an element currently changing state asynchronously, go to
11695         lost-state after commiting the pending state. Makes future calls
11696         to get_state continue to return ASYNC.
11697
11698         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
11699         ASYNC when going to PLAYING if we still don't have preroll, as can
11700         happen with live sources.
11701
11702 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
11703
11704         * docs/pwg/advanced-types.xml:
11705           Hack long paragraph into 2 chunks as a workaround for buggy
11706           jadetex version in sid and breezy that loops infinitely and
11707           eats all RAM.
11708
11709 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
11710
11711         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
11712         (test_event), (timediff), (gstevents_suite):
11713           Provide more error margin in clock measurements to allow for 
11714           g_get_current_time inaccuracies.
11715
11716 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
11717
11718         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
11719         (test_event), (timediff), (gstevents_suite):
11720            Fix error message output so I might be able to tell why the
11721            test works here but fails on the build farm.
11722
11723 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
11724
11725         * check/Makefile.am:
11726         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
11727         (test_event), (timediff), (gstevents_suite), (main):
11728           I wrote a test!
11729
11730         * docs/design/part-seeking.txt:
11731           Spelling correction
11732
11733         * docs/gst/tmpl/gstevent.sgml:
11734         * docs/gst/tmpl/gstfakesrc.sgml:
11735           Docs updates.
11736
11737         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
11738           Treat a buffer-without-newsegment the same as a receiving 
11739           a newsegment not in time format, and disable syncing to the clock
11740           with a warning.
11741
11742         * gst/gstbus.c: (gst_bus_set_sync_handler):
11743           Assert if anyone tries to replace the existing sync_handler for bus, 
11744           as only the owner should be setting it.
11745
11746         * gst/gstevent.h:
11747           Have a fixed set of custom event enums with events identified by
11748           their structure name (as in 0.8), rather than a free-for-all
11749           allowing collisions between enum values from different plugins.
11750
11751         * gst/gstpad.c: (gst_pad_class_init):
11752           Docs change.
11753           
11754         * gst/gstqueue.c: (gst_queue_handle_sink_event):
11755           Handle out-of-band downstream events from the sending thread.
11756
11757 2005-08-17  Andy Wingo  <wingo@pobox.com>
11758
11759         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
11760         play-timeout==0 to mean no timeout at all. In that case, don't
11761         bother with a get_state or a warning, just return directly, even
11762         if it's ASYNC.
11763
11764         * gst/base/gstbasetransform.c: Debug changes.
11765
11766         * gst/gstutils.h:
11767         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
11768         ensure bins post state change messages. A bit of a hack but I can't
11769         think of a way to avoid it.
11770
11771         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
11772
11773 2005-08-16  Andy Wingo  <wingo@pobox.com>
11774
11775         * gst/base/gstadapter.h:
11776         * gst/base/gstadapter.c (gst_adapter_take): New function, like
11777         peek() but you own the data. Not terribly efficient atm.
11778
11779 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11780
11781         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
11782         (gst_element_found_tags):
11783         * gst/gstutils.h:
11784           Add two utility functions for tag handling.
11785
11786 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11787
11788         * docs/manual/advanced-dataaccess.xml:
11789         * docs/manual/basics-helloworld.xml:
11790           Fix docs to use _bin_add() before _link(), which fixes the examples
11791           with recent core versions (reported by Madhan Raj M
11792           <raj_madan@rediffmail.com>, #313199).
11793
11794 2005-08-16  Wim Taymans  <wim@fluendo.com>
11795
11796         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
11797         Added subtract checks.
11798
11799         * docs/design/part-events.txt:
11800         Some more docs about newsegment
11801
11802         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
11803         Fix FIXME
11804
11805         * gst/gstcaps.c: (gst_caps_to_string):
11806         Add comments, cleanups.
11807         
11808         * gst/gstelement.c: (gst_element_save_thyself):
11809         cleanups
11810         
11811         * gst/gstvalue.c: (gst_value_collect_int_range),
11812         (gst_string_unwrap), (gst_value_union_int_int_range),
11813         (gst_value_union_int_range_int_range),
11814         (gst_value_intersect_int_int_range),
11815         (gst_value_intersect_int_range_int_range),
11816         (gst_value_intersect_double_double_range),
11817         (gst_value_intersect_double_range_double_range),
11818         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
11819         (gst_value_subtract_int_range_int),
11820         (gst_value_subtract_double_range_double),
11821         (gst_value_subtract_double_range_double_range),
11822         (gst_value_subtract_from_list), (gst_value_subtract_list),
11823         (gst_value_can_compare), (gst_value_compare_fraction):
11824         Cleanups, add comments, remove unneeded asserts.
11825
11826 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
11827
11828         * tools/gst-launch.c: (event_loop):
11829           don't convert NULL structures to strings
11830
11831 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
11832
11833         * docs/gst/gstreamer-sections.txt:
11834           made some defines private
11835         * docs/gst/tmpl/gstconfig.sgml:
11836         * docs/gst/tmpl/gstqueue.sgml:
11837         * docs/gst/tmpl/gsttaglist.sgml:
11838         * docs/gst/tmpl/gsttypes.sgml:
11839         * docs/gst/tmpl/gstutils.sgml:
11840         * docs/pwg/appendix-porting.xml:
11841         * gst/base/gstbasesink.h:
11842         * gst/base/gstbasesrc.c:
11843         * gst/base/gstbasesrc.h:
11844         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
11845         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
11846         * gst/gstelement.c: (gst_element_class_init):
11847         * gst/gstpad.c: (gst_pad_class_init):
11848         * gst/gstqueue.c: (gst_queue_class_init):
11849         * gst/gstxml.c: (gst_xml_class_init):
11850           documented all undocumented signal inline
11851         * libs/gst/controller/gst-controller.h:
11852           added padding
11853
11854 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11855
11856         * docs/pwg/appendix-porting.xml:
11857           Document _set_link_function -> _set_setcaps_function.
11858
11859 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
11860
11861         * check/Makefile.am:
11862           add a .check target for running the check
11863         * check/gst-libs/controller.c: (GST_START_TEST):
11864           cosmetic fixups
11865         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
11866           complete checks for gstbuffer; would be nice if I could get the
11867           gcov stuff to work so I can see if I actually completed gstbuffer.c
11868         * check/gstcheck.h:
11869           add ASSERT_BUFFER_REFCOUNT
11870
11871 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
11872
11873         * docs/gst/gstreamer-sections.txt:
11874         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
11875         * gst/gsttag.h:
11876           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
11877           spew out a warning if a tag that is already registered
11878           is re-registered, unless it is re-registered with a 
11879           different type (#308438).
11880
11881 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
11882
11883         * docs/pwg/appendix-porting.xml:
11884         * docs/pwg/building-state.xml:
11885           Add some paragraphs about state changes in 0.9 to the PWG
11886           and the porting guide, in particular about the new meaning
11887           of GST_STATE_PAUSED and how to write state change functions
11888           with concurrent access by multiple threads in mind.
11889
11890 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
11891
11892         * docs/gst/gstreamer-docs.sgml:
11893         * docs/libs/gstreamer-libs-docs.sgml:
11894           added deprecation and since indexes
11895         * libs/gst/controller/gst-controller.c:
11896         * libs/gst/controller/gst-helper.c:
11897           added since tags
11898
11899
11900 2005-08-11  Wim Taymans  <wim@fluendo.com>
11901
11902         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
11903         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
11904         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
11905         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
11906         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
11907         (gst_ghost_pad_set_target):
11908         Actually implement (re)setting the target on a ghostpad
11909         as described in the docs.
11910
11911 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
11912
11913         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
11914           Check whether GST_DEBUG_NO_COLOR environment variable is
11915           set and disable coloured debug output if that is the case.
11916
11917 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
11918
11919         * gst/base/gsttypefindhelper.c: (helper_find_peek),
11920         (gst_type_find_helper):
11921           The memory returned by gst_type_find_peek() needs to
11922           stay valid until the end of a typefind function, and
11923           typefind functions may keep results from different 
11924           offsets around, so we can't just unref the buffer from
11925           the previous _peek(), but have to save all buffers 
11926           returned by _peek() until typefinding is done and only
11927           free them then.
11928
11929 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
11930
11931         * docs/gst/gstreamer-sections.txt:
11932         * gst/gstutils.h:
11933           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
11934
11935 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11936
11937         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
11938           Fix a pretty good memleak.
11939
11940 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
11941
11942         * gst/gstiterator.h:
11943           Fix wrong include and 'make distcheck'.
11944
11945 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11946
11947         * gst/gstbin.c: (bin_bus_handler):
11948           Use gst_element_post_message() instead.
11949
11950 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
11951
11952         * gst/base/gstadapter.h:
11953         * gst/base/gstbasesink.h:
11954         * gst/base/gstbasesrc.h:
11955         * gst/base/gstbasetransform.h:
11956         * gst/base/gstcollectpads.h:
11957         * gst/base/gstpushsrc.h:
11958         * gst/gstiterator.h:
11959           Add padding to our base elements' class and instance structs and
11960           to GstIterator (you will need to rebuild all plugins and apps!)
11961
11962 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11963
11964         * gst/gstbin.c: (bin_bus_handler):
11965           Make default message forwarding from child->bus to bin->bus
11966           threadsafe and make it not emit warnings if the parent has no bus.
11967
11968 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11969
11970         * gst/gstelement.c: (activate_pads):
11971           On paused->ready, set pad->caps to NULL, as is the documented
11972           behaviour in this state change. Fixes playback of series of
11973           media files when visualization is enabled in Totem.
11974
11975 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11976
11977         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
11978           Allow NULL as filter-caps (which means "any").
11979
11980 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
11981
11982         * docs/libs/gstreamer-libs-sections.txt:
11983         * libs/gst/controller/gst-controller.c:
11984         * libs/gst/controller/gst-controller.h:
11985         * libs/gst/controller/gst-helper.c:
11986           adding more entries to the docs and fix small doc-bugs
11987
11988 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
11989
11990         * docs/gst/gstreamer-docs.sgml:
11991         * docs/gst/gstreamer-sections.txt:
11992         * docs/gst/gstreamer.types:
11993         * docs/gst/tmpl/gstbasesink.sgml:
11994         * docs/gst/tmpl/gstbasesrc.sgml:
11995         * docs/gst/tmpl/gstbasetransform.sgml:
11996         * docs/gst/tmpl/gstfakesrc.sgml:
11997         * gst/base/gstcollectpads.c:
11998         * gst/base/gstcollectpads.h:
11999         * libs/gst/controller/gst-controller.c:
12000         * libs/gst/controller/gst-controller.h:
12001         * libs/gst/controller/gst-helper.c:
12002         * libs/gst/controller/gst-interpolation.c:
12003         * libs/gst/controller/lib.c:
12004           added long/short desc for controller docs
12005           added collectpads base class docs
12006           added correct includes to base-class docs
12007
12008 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
12009
12010         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
12011         (gst_test_mono_source_set_property),
12012         (gst_test_mono_source_class_init), (GST_START_TEST),
12013         (gst_controller_suite):
12014         * docs/gst/gstreamer-docs.sgml:
12015         * docs/gst/gstreamer-sections.txt:
12016         * docs/gst/gstreamer.types:
12017         * docs/libs/gstreamer-libs-docs.sgml:
12018         * docs/libs/gstreamer-libs-sections.txt:
12019         * gst/base/gstadapter.c:
12020         * libs/gst/controller/gst-controller.c:
12021         (gst_controlled_property_new), (gst_controlled_property_free),
12022         (gst_controller_new_valist),
12023         (gst_controller_remove_properties_valist),
12024         (gst_controller_sink_values), (_gst_controller_finalize):
12025         * libs/gst/controller/gst-controller.h:
12026         * libs/gst/controller/gst-helper.c:
12027         (gst_object_control_properties), (gst_object_uncontrol_properties),
12028         (gst_object_get_controller), (gst_object_set_controller),
12029         (gst_object_sink_values), (gst_object_get_value_arrays),
12030         (gst_object_get_value_array):
12031           more tests (and fixes) for the controller
12032           more docs for the controller
12033           integrated companies docs for the adapter 
12034
12035 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
12036
12037         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
12038         (GST_START_TEST), (fakesrc_suite):
12039           add tests for sizetype
12040
12041 2005-08-04  Andy Wingo  <wingo@pobox.com>
12042
12043         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
12044         fixes buffer_alloc proxying among other things.
12045
12046         * gst/base/gstbasetransform.c:
12047         * gst/base/gstbasetransform.h:
12048         Revert patch to gstbasetransform from 7-28 removing
12049         delay_configure.
12050
12051         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
12052         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
12053         Semantics changed, should return not the size of the output buffer
12054         but the byte size of a buffer with a given caps.
12055
12056         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
12057         debug object.
12058         (gst_base_transform_configure_caps): Don't set out_size here: (in,
12059         out) are not the pad caps until setcaps finishes.
12060         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
12061         not-in-place case as well. Deal with changing from in-place to
12062         not-in-place within calling pad_alloc_buffer. Still a bit
12063         concerned about the overhead here...
12064
12065 2005-08-03  Andy Wingo  <wingo@pobox.com>
12066
12067         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
12068         fixating is an error.
12069
12070 2005-08-04  Edward Hervey  <edward@fluendo.com>
12071
12072         * gst/base/gstadapter.h: 
12073         Added gst_adapter_get_type() to the header
12074
12075 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
12076
12077         * check/Makefile.am:
12078         * check/gst-libs/controller.c:
12079         * libs/gst/controller/gst-controller.c:
12080         (gst_controller_new_valist):
12081           added check test suite for the controller
12082         * gst/base/gstpushsrc.c:
12083           fixed a doc typo
12084
12085 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
12086
12087         * docs/gst/Makefile.am:
12088         * docs/gst/gstreamer-docs.sgml:
12089         * docs/gst/gstreamer-sections.txt:
12090         * docs/gst/gstreamer.types:
12091         * docs/gst/tmpl/gstfakesrc.sgml:
12092         * gst/base/README:
12093         * gst/base/gstbasesink.c:
12094         * gst/base/gstbasesink.h:
12095         * gst/base/gstbasesrc.c:
12096         * gst/base/gstbasesrc.h:
12097         * gst/base/gstbasetransform.c:
12098         * gst/base/gstpushsrc.c:
12099         * gst/base/gstpushsrc.h:
12100           add short/long description docs to base classes
12101           add pushsrc to the docs
12102           remove consolidated doc fragments
12103
12104 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
12105
12106         * configure.ac:
12107         * docs/libs/Makefile.am:
12108         * docs/libs/gstreamer-libs-docs.sgml:
12109         * docs/libs/gstreamer-libs-sections.txt:
12110         * docs/libs/gstreamer-libs.types:
12111         * examples/Makefile.am:
12112         * examples/controller/.cvsignore:
12113         * examples/controller/Makefile.am:
12114         * examples/controller/audio-example.c: (main):
12115         * libs/gst/Makefile.am:
12116         * libs/gst/controller/.cvsignore:
12117         * libs/gst/controller/Makefile.am:
12118         * libs/gst/controller/gst-controller.c:
12119         (on_object_controlled_property_changed), (gst_timed_value_compare),
12120         (gst_timed_value_find),
12121         (gst_controlled_property_set_interpolation_mode),
12122         (gst_controlled_property_new), (gst_controlled_property_free),
12123         (gst_controller_find_controlled_property),
12124         (gst_controller_new_valist), (gst_controller_new),
12125         (gst_controller_remove_properties_valist),
12126         (gst_controller_remove_properties), (gst_controller_set),
12127         (gst_controller_set_from_list), (gst_controller_unset),
12128         (gst_controller_get), (gst_controller_get_all),
12129         (gst_controller_sink_values), (gst_controller_get_value_arrays),
12130         (gst_controller_get_value_array),
12131         (gst_controller_set_interpolation_mode),
12132         (_gst_controller_finalize), (_gst_controller_init),
12133         (_gst_controller_class_init), (gst_controller_get_type):
12134         * libs/gst/controller/gst-controller.h:
12135         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
12136         (g_object_uncontrol_properties), (g_object_get_controller),
12137         (g_object_set_controller), (g_object_sink_values),
12138         (g_object_get_value_arrays), (g_object_get_value_array):
12139         * libs/gst/controller/gst-interpolation.c:
12140         (gst_controlled_property_find_timed_value_node),
12141         (interpolate_none_get), (interpolate_trigger_get),
12142         (interpolate_trigger_get_value_array):
12143         * libs/gst/controller/lib.c: (gst_controller_init):
12144         * pkgconfig/Makefile.am:
12145         * pkgconfig/gstreamer-control-uninstalled.pc.in:
12146         * pkgconfig/gstreamer-control.pc.in:
12147         * testsuite/Makefile.am:
12148         * testsuite/controller/.cvsignore:
12149         * testsuite/controller/Makefile.am:
12150         * testsuite/controller/interpolator.c: (main):
12151           added controller code
12152           removed dparam pc files
12153
12154 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
12155         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
12156         (gst_collectpads_stop):
12157           Broadcast the condition when shutting down, to make sure we wake all
12158           threads up. Shut down pads on finalize, for safety.
12159
12160 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
12161         * gst/base/gstbasetransform.c: (gst_base_transform_init),
12162         (gst_base_transform_handle_buffer),
12163         (gst_base_transform_change_state):
12164           Handle PAUSED->READY->PAUSED transition after negotiation
12165           occurred already.
12166         * gst/gstmessage.c: (gst_message_init):
12167           Extra piece of debug for new messages.
12168
12169 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
12170
12171         * configure.ac:
12172         * docs/gst/tmpl/gstbasesrc.sgml:
12173         * docs/gst/tmpl/gstelement.sgml:
12174         * docs/gst/tmpl/gstevent.sgml:
12175         * docs/gst/tmpl/gstfakesrc.sgml:
12176         * docs/gst/tmpl/gstformat.sgml:
12177         * docs/gst/tmpl/gstghostpad.sgml:
12178         * docs/gst/tmpl/gstpad.sgml:
12179         * docs/gst/tmpl/gstquery.sgml:
12180         * docs/gst/tmpl/gststructure.sgml:
12181         * docs/gst/tmpl/gsttaglist.sgml:
12182         * docs/gst/tmpl/gstvalue.sgml:
12183         * docs/libs/gstreamer-libs-docs.sgml:
12184         * docs/libs/gstreamer-libs-sections.txt:
12185         * docs/libs/gstreamer-libs.types:
12186         * libs/gst/Makefile.am:
12187         * libs/gst/control/.cvsignore:
12188         * libs/gst/control/Makefile.am:
12189         * libs/gst/control/control.c:
12190         * libs/gst/control/control.h:
12191         * libs/gst/control/dparam.c:
12192         * libs/gst/control/dparam.h:
12193         * libs/gst/control/dparam_smooth.c:
12194         * libs/gst/control/dparam_smooth.h:
12195         * libs/gst/control/dparamcommon.h:
12196         * libs/gst/control/dparammanager.c:
12197         * libs/gst/control/dparammanager.h:
12198         * libs/gst/control/dplinearinterp.c:
12199         * libs/gst/control/dplinearinterp.h:
12200         * libs/gst/control/unitconvert.c:
12201         * libs/gst/control/unitconvert.h:
12202         * testsuite/Makefile.am:
12203         * testsuite/dynparams/.cvsignore:
12204         * testsuite/dynparams/Makefile.am:
12205         * testsuite/dynparams/dparamstest.c:
12206         * tools/Makefile.am:
12207         * tools/gst-inspect.c: (print_element_info), (main):
12208         * tools/gst-xmlinspect.c: (print_element_info), (main):
12209           deactivate and remove dparams (libgstcontrol)
12210
12211 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
12212
12213         * gst/elements/gsttypefindelement.c:
12214         (gst_type_find_element_have_type), (gst_type_find_element_init),
12215         (stop_typefinding), (gst_type_find_element_handle_event),
12216         (gst_type_find_element_chain), (gst_type_find_element_getrange):
12217         * gst/elements/gsttypefindelement.h:
12218           Set caps on all outgoing buffers, not just the first one.
12219
12220 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
12221
12222         * gst/elements/gsttypefindelement.c:
12223         (gst_type_find_element_have_type),
12224         (gst_type_find_element_check_set_buffer_caps),
12225         (gst_type_find_element_init), (stop_typefinding),
12226         (gst_type_find_element_handle_event),
12227         (gst_type_find_element_chain), (gst_type_find_element_getrange):
12228         * gst/elements/gsttypefindelement.h:
12229           Set caps on first outgoing buffer when we've found the type.
12230
12231 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
12232
12233         * docs/gst/gstreamer-docs.sgml:
12234         * docs/gst/gstreamer-sections.txt:
12235         * docs/gst/tmpl/gstscheduler.sgml:
12236         * docs/gst/tmpl/gstschedulerfactory.sgml:
12237           Remove some old cruft from docs.
12238
12239 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
12240
12241         * gst/gstpad.h:
12242           Fix inline docs for GstPadLinkReturn.
12243           
12244         * gst/gststructure.c: (gst_structure_has_name):
12245         * gst/gststructure.h:
12246         * docs/gst/gstreamer-sections.txt:
12247           New API: gst_structure_has_name().
12248
12249 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
12250
12251         * configure.ac:
12252           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
12253           and _LARGEFILE_SOURCE in config.h as required. Do not 
12254           export those flags in our .pc files any longer (#142209).
12255
12256           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
12257
12258         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
12259         (gst_file_sink_do_seek), (gst_file_sink_event),
12260         (gst_file_sink_get_current_offset), (gst_file_sink_render):
12261           Redo seek/tell calls with large file support in mind; add some
12262           debugging messages; add log message that tells us when large
12263           file support is unavailable or not enabled for some reason.
12264
12265         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
12266           Add log message that tells us when large file support 
12267           is unavailable or not enabled for some reason.
12268
12269 2005-07-29  Wim Taymans  <wim@fluendo.com>
12270
12271         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
12272         Added test for removing an element with ghostpad from a bin.
12273         Fixed test as current implementation does the right thing.
12274
12275         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
12276         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
12277         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
12278         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
12279         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
12280         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
12281         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
12282         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
12283         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
12284         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
12285         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
12286         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
12287         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
12288         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
12289         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
12290         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
12291         * gst/gstghostpad.h:
12292         Clean up ghostpads, remove properties for internal stuff.
12293         Make threadsafe.
12294         Fix refcounting.
12295         Prepare for switching targets, not all use cases work yet.
12296
12297 2005-07-29  Wim Taymans  <wim@fluendo.com>
12298
12299         * docs/design/part-gstghostpad.txt:
12300         Small update.
12301
12302         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
12303         (gst_bin_remove_func):
12304         Unlinking pads while holding the bin LOCK is not a good
12305         idea.
12306
12307         * gst/gstpad.c: (gst_pad_class_init),
12308         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
12309         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
12310         No prob setting template after creating the pad.
12311
12312 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
12313
12314         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
12315         (gst_bus_peek), (gst_bus_source_dispatch),
12316         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
12317         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
12318           gst_bus_poll may be called from other threads. Handle
12319           this nicely by not making poll_data disappear off the
12320           stack once gst_bus_poll returns.
12321           gst_bus_peek now increments the refcount on the returned
12322           message.
12323
12324 2005-07-29  Wim Taymans  <wim@fluendo.com>
12325
12326         * docs/design/part-gstghostpad.txt:
12327         Overview of current GhostPad datastructures and use
12328         cases for changing the target.
12329
12330 2005-07-28  Wim Taymans  <wim@fluendo.com>
12331
12332         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
12333         Added checks for hierarchy consistency whan adding linked
12334         elements to bins.
12335
12336         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
12337         Added check to test element scheduling without bin/pipeline.
12338
12339         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
12340         First add elements to bin, then link.
12341         
12342         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
12343         (gst_bin_remove_func):
12344         Unlink pads from elements added/removed from bin to maintain
12345         hierarchy consistency.
12346
12347 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12348
12349         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
12350         (gst_base_transform_handle_buffer):
12351         * gst/base/gstbasetransform.h:
12352           Remove broken delay_configure (fixes renegotiation of software
12353           scaling pipelines); remove some leftover printf()s.
12354
12355 2005-07-28  Wim Taymans  <wim@fluendo.com>
12356
12357         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
12358         Added some more tests for wrong hierarchy
12359
12360         * docs/design/part-overview.txt:
12361         Some updates.
12362
12363         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
12364         Cleanups.
12365
12366         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
12367         (gst_element_dispose):
12368         Some more cleanups.
12369
12370         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
12371         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
12372         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
12373         (gst_pad_set_caps), (gst_pad_send_event):
12374         Check for correct hierarchy when linking pads. Moving to
12375         strict requirement for ghostpads when linking elements in
12376         different bins.
12377
12378         * gst/gstpad.h:
12379         Clean ups. Added WRONG_HIERARCHY return value.
12380
12381 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12382
12383         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
12384           Better debug if no transform is possible.
12385
12386 2005-07-27  Wim Taymans  <wim@fluendo.com>
12387
12388         * docs/random/wtay/network-transp:
12389         Some old doc I had.
12390
12391 2005-07-27  Wim Taymans  <wim@fluendo.com>
12392
12393         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
12394         (gst_dp_event_from_packet):
12395         Fix serialization of seek events.
12396
12397 2005-07-27  Wim Taymans  <wim@fluendo.com>
12398
12399         * check/gst-libs/gdp.c: (GST_START_TEST):
12400         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
12401         Fix compilation and fix event serialization.
12402
12403 2005-07-27  Wim Taymans  <wim@fluendo.com>
12404
12405         * CHANGES-0.9:
12406         * docs/design/part-TODO.txt:
12407         * docs/design/part-events.txt:
12408         Some docs updates
12409
12410         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
12411         (gst_base_sink_event), (gst_base_sink_do_sync),
12412         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
12413         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
12414         (gst_base_src_do_seek), (gst_base_src_event_handler),
12415         (gst_base_src_loop):
12416         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
12417         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
12418         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
12419         (gst_base_transform_event), (gst_base_transform_handle_buffer),
12420         (gst_base_transform_set_passthrough),
12421         (gst_base_transform_is_passthrough):
12422         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
12423         * gst/elements/gstfilesink.c: (gst_file_sink_event):
12424         Event updates.
12425
12426         * gst/gstbuffer.h:
12427         Use faster casts.
12428
12429         * gst/gstelement.c: (gst_element_seek):
12430         * gst/gstelement.h:
12431         Update gst_element_seek.
12432
12433         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
12434         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
12435         (gst_event_new_flush_start), (gst_event_new_flush_stop),
12436         (gst_event_new_eos), (gst_event_new_newsegment),
12437         (gst_event_parse_newsegment), (gst_event_new_tag),
12438         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
12439         (gst_event_parse_qos), (gst_event_new_seek),
12440         (gst_event_parse_seek), (gst_event_new_navigation):
12441         * gst/gstevent.h:
12442         Make GstEvent use GstStructure. Add parsing code, make sure the
12443         API is sufficiently generic.
12444         Mark possible directions of events and serialization.
12445
12446         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
12447         (_gst_message_copy), (gst_message_new_segment_start),
12448         (gst_message_new_segment_done), (gst_message_new_custom),
12449         (gst_message_parse_segment_start),
12450         (gst_message_parse_segment_done):
12451         Small cleanups.
12452
12453         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
12454         (gst_pad_set_caps), (gst_pad_send_event):
12455         Update for new events. 
12456         Catch events sent in wrong directions.
12457
12458         * gst/gstqueue.c: (gst_queue_link_src),
12459         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
12460         (gst_queue_handle_src_query):
12461         Event updates.
12462
12463         * gst/gsttag.c:
12464         * gst/gsttag.h:
12465         Remove event code from this file.
12466
12467         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
12468         (gst_dp_event_from_packet):
12469         Event updates.
12470
12471 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12472
12473         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
12474         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
12475         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
12476           Make debugging actually useful.
12477
12478 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12479
12480         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
12481         (gst_pad_fixate_caps):
12482           Implement default fixation once again, so that gst_pad_fixate()
12483           actually does anything at all. This probably needs to be some
12484           sort of a last resort, and use profile-based fixation first, but
12485           since that doesn't exist yet, this is the best we have. Fixes
12486           visualization in Totem.
12487
12488 2005-07-22  Wim Taymans  <wim@fluendo.com>
12489
12490         * docs/design/part-events.txt:
12491         Small update.
12492
12493         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
12494         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
12495         (gst_base_sink_activate_pull):
12496         Some more comments.
12497
12498         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
12499         (gst_fake_src_create):
12500         Fix handoff marshall.
12501
12502         * gst/elements/gstidentity.c: (gst_identity_class_init),
12503         (gst_identity_transform_ip):
12504         We're a real inplace element.
12505
12506         * gst/gstbus.c: (gst_bus_post):
12507         Added some comments.
12508
12509         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
12510         * tests/muxing/case1.c: (main):
12511         * tests/sched/dynamic-pipeline.c: (main):
12512         * tests/sched/interrupt1.c: (main):
12513         * tests/sched/interrupt2.c: (main):
12514         * tests/sched/interrupt3.c: (main):
12515         * tests/sched/runxml.c: (main):
12516         * tests/sched/sched-stress.c: (main):
12517         * tests/seeking/seeking1.c: (event_received), (main):
12518         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
12519         (main):
12520         * tests/threadstate/threadstate3.c: (main):
12521         * tests/threadstate/threadstate4.c: (main):
12522         * tests/threadstate/threadstate5.c: (main):
12523         Fix the tests.
12524
12525 2005-07-21  Wim Taymans  <wim@fluendo.com>
12526
12527         * docs/design/part-seeking.txt:
12528         Some small additions.
12529
12530         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
12531         (gst_base_sink_get_times), (gst_base_sink_do_sync),
12532         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
12533         * gst/base/gstbasesink.h:
12534         discont values are gint64, handle the math correctly.
12535
12536         * gst/base/gstbasesrc.c: (gst_base_src_loop):
12537         Make the basesrc report error if the source pad is not linked.
12538
12539         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
12540         (gst_queue_loop), (gst_queue_handle_src_query),
12541         (gst_queue_src_activate_push):
12542         Make queue collect data even if the srcpad is not linked.
12543         Start pushing out data as soon as it is linked.
12544
12545         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
12546         * gst/gstutils.h:
12547         Added gst_flow_get_name() to ease error reporting.
12548
12549 2005-07-20  Wim Taymans  <wim@fluendo.com>
12550
12551         * gst/gstmessage.c: (gst_message_new_segment_start),
12552         (gst_message_new_segment_done), (gst_message_parse_segment_start),
12553         (gst_message_parse_segment_done):
12554         * gst/gstmessage.h:
12555         Added a bunch of messages for advanced seeking.
12556
12557         * gst/parse/grammar.y:
12558         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
12559         (gst_dpman_state_changed):
12560         Fix some new-pad -> pad-added signals
12561
12562 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12563
12564         * docs/manual/appendix-porting.xml:
12565         * docs/pwg/appendix-porting.xml:
12566           Document new-pad/state-change signal renames and the FixedList
12567           type rename.
12568
12569 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12570
12571         * docs/manual/advanced-autoplugging.xml:
12572         * docs/manual/basics-helloworld.xml:
12573         * docs/manual/basics-pads.xml:
12574         * docs/random/ds/0.9-suggested-changes:
12575         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
12576         * gst/gstelement.h:
12577         * gst/gstevent.h:
12578         * gst/gstformat.h:
12579         * gst/gstquery.h:
12580         * gst/gststructure.c: (gst_structure_value_get_generic_type),
12581         (gst_structure_parse_array), (gst_structure_parse_value):
12582         * gst/gstvalue.c: (gst_type_is_fixed),
12583         (gst_value_list_prepend_value), (gst_value_list_append_value),
12584         (gst_value_list_get_size), (gst_value_list_get_value),
12585         (gst_value_transform_array_string), (gst_value_serialize_array),
12586         (gst_value_deserialize_array), (gst_value_intersect_array),
12587         (gst_value_is_fixed), (_gst_value_initialize):
12588         * gst/gstvalue.h:
12589           GstElement::new-pad -> pad-added, GstElement::state-change ->
12590           state-changed, GstValueFixedList -> GstValueArray, add format and
12591           flags as their own arguments in gst_element_seek() (should improve
12592           "bindeability"), remove function generators since they don't work
12593           under a whole bunch of compilers (they were deprecated already
12594           anyway).
12595
12596 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12597
12598         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
12599         (_gst_debug_register_funcptr):
12600         * gst/gstinfo.h:
12601           Fix illegal cast on some platforms (#309253).
12602
12603 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12604
12605         * gst/gstmessage.c: (gst_message_new_custom):
12606         * gst/gstmessage.h:
12607           Add _new_custom, make _new_application a macro to _new_custom.
12608
12609 2005-07-20  Wim Taymans  <wim@fluendo.com>
12610
12611         * gst/base/gstbasesrc.c: (gst_base_src_init),
12612         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
12613         * gst/base/gstbasesrc.h:
12614         Add a gboolean to decide when to push out a discont.
12615
12616         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
12617         (gst_queue_loop), (gst_queue_handle_src_query),
12618         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
12619         (gst_queue_set_property), (gst_queue_get_property):
12620         Some cleanups.
12621
12622         * tests/threadstate/threadstate1.c: (main):
12623         Make a thread test compile and run... very silly..
12624
12625
12626 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12627
12628         * docs/manual/appendix-porting.xml:
12629           Mention removal of libgstgconf-0.9.la and existence of gconf
12630           elements.
12631
12632 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12633
12634         * docs/pwg/advanced-clock.xml:
12635         * docs/pwg/appendix-porting.xml:
12636         * docs/pwg/intro-preface.xml:
12637         * docs/pwg/other-base.xml:
12638         * docs/pwg/other-manager.xml:
12639         * docs/pwg/other-nton.xml:
12640         * docs/pwg/other-ntoone.xml:
12641         * docs/pwg/other-oneton.xml:
12642         * docs/pwg/pwg.xml:
12643           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
12644           demuxer), remove n-to-n (was never written), fix some code examples
12645           and links and update the porting section to include all this.
12646
12647 2005-07-19  Wim Taymans  <wim@fluendo.com>
12648
12649         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
12650         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
12651         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
12652         (gst_queue_src_activate_push), (gst_queue_change_state),
12653         (gst_queue_get_property):
12654         * gst/gstqueue.h:
12655         Propagate GstFlowReturn more intelligently upstream and output
12656         an ERROR/EOS when streaming stopped due to fatal error.
12657
12658 2005-07-19  Wim Taymans  <wim@fluendo.com>
12659
12660         * tools/gst-launch.c: (check_intr), (event_loop), (main):
12661         Don't block forever for the state change to complete, the
12662         pipeline already did with a sensible timeout.
12663
12664 2005-07-19  Wim Taymans  <wim@fluendo.com>
12665
12666         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
12667         Make sure we never call the create function is we
12668         got deactivated.
12669
12670 2005-07-19  Andy Wingo  <wingo@pobox.com>
12671
12672         * gst/parse/parse.l: Attempt to solve bug #172815.
12673
12674 2005-07-19  Wim Taymans  <wim@fluendo.com>
12675
12676         * docs/design/part-clocks.txt:
12677         * docs/design/part-events.txt:
12678         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
12679         Small docs updates.
12680         Only update the seeking values when we are not
12681         busy streaming.
12682
12683 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
12684
12685         * gst/base/gstbasesrc.c: (gst_base_src_loop):
12686           Oops, ignore the result of gst_pad_push_event here.
12687
12688 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
12689
12690         * gst/base/gstbasesrc.c: (gst_base_src_loop),
12691         (gst_base_src_activate_push):
12692           Send discont event from the loop function, as pads
12693           aren't activated yet in the activate_push handler.
12694
12695         * gst/gstbin.c: (bin_bus_handler):
12696           Don't leak element name.
12697
12698 2005-07-18  Andy Wingo  <wingo@pobox.com>
12699
12700         * configure.ac: Use AS_LIBTOOL_TAGS.
12701
12702 2005-07-18  Wim Taymans  <wim@fluendo.com>
12703
12704         * docs/gst/gstreamer.types:
12705         Remove deleted types.
12706
12707 2005-07-18  Wim Taymans  <wim@fluendo.com>
12708
12709         * check/elements/gstfakesrc.c: (GST_START_TEST):
12710         * configure.ac:
12711         * gst/Makefile.am:
12712         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
12713         (init_popt_callback):
12714         * gst/gst.h:
12715         * gst/gst_private.h:
12716         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
12717         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
12718         * gst/gstbin.h:
12719         * gst/gstbus.h:
12720         * gst/gstconfig.h.in:
12721         * gst/gstelement.c: (gst_element_class_init),
12722         (gst_element_set_base_time), (gst_element_get_base_time),
12723         (iterator_fold_with_resync), (gst_element_change_state),
12724         (gst_element_dispose), (gst_element_get_bus):
12725         * gst/gstelement.h:
12726         * gst/gstelementfactory.h:
12727         * gst/gsterror.c: (_gst_core_errors_init):
12728         * gst/gsterror.h:
12729         * gst/gstevent.h:
12730         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
12731         * gst/gstindex.c:
12732         * gst/gstinfo.c: (_gst_debug_init):
12733         * gst/gstmessage.c: (_gst_message_copy):
12734         * gst/gstmessage.h:
12735         * gst/gstminiobject.h:
12736         * gst/gstobject.c:
12737         * gst/gstobject.h:
12738         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
12739         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
12740         * gst/gstpad.h:
12741         * gst/gstparse.h:
12742         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
12743         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
12744         (gst_pipeline_get_last_stream_time):
12745         * gst/gstpipeline.h:
12746         * gst/gstpluginfeature.h:
12747         * gst/gstquery.h:
12748         * gst/gstscheduler.c:
12749         * gst/gstscheduler.h:
12750         * gst/gststructure.h:
12751         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
12752         (gst_task_finalize), (gst_task_func), (gst_task_create),
12753         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
12754         (gst_task_stop), (gst_task_pause):
12755         * gst/gsttask.h:
12756         * gst/gsttypefind.h:
12757         * gst/gsttypes.h:
12758         * gst/registries/gstlibxmlregistry.c: (load_feature),
12759         (gst_xml_registry_load), (gst_xml_registry_save_feature):
12760         * gst/registries/gstxmlregistry.c:
12761         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
12762         * gst/schedulers/threadscheduler.c:
12763         * libs/gst/control/dparammanager.h:
12764         * tools/gst-inspect.c: (print_element_list),
12765         (print_plugin_features), (print_element_features):
12766         * tools/gst-xmlinspect.c: (print_element_list),
12767         (print_plugin_info), (main):
12768         Removed plugable schedulers.
12769         Removed Scheduler/Manager from elements.
12770         Removed gsttypes.h, rearranged includes.
12771         Removed dependency pad<->element, element<>pipeline, and
12772         various others,  fix includes.
12773         implement gst_pad_get_parent() with gst_object_get_parent()
12774         Make GstTask sefcontained.
12775         Fix _get_state() on GstBin, it did not return ASYNC with a 0
12776         timeout.
12777         Fix endless loop in iterator_fold_with_resync.
12778
12779
12780 2005-07-18  Wim Taymans  <wim@fluendo.com>
12781
12782         * gst/Makefile.am:
12783         * gst/gstarch.h:
12784         Remove old file.
12785
12786 2005-07-18  Wim Taymans  <wim@fluendo.com>
12787
12788         * gst/Makefile.am:
12789         No more cothreads.h
12790
12791 2005-07-18  Wim Taymans  <wim@fluendo.com>
12792
12793         * gst/cothreads.c:
12794         * gst/cothreads.h:
12795         Let's remove these.
12796
12797 2005-07-18  Wim Taymans  <wim@fluendo.com>
12798
12799         * docs/design/part-dynamic.txt:
12800         * docs/design/part-events.txt:
12801         * docs/design/part-seeking.txt:
12802         Some more docs in the works.
12803
12804         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
12805         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
12806         (gst_base_transform_setcaps), (gst_base_transform_get_size),
12807         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
12808         (gst_base_transform_handle_buffer),
12809         (gst_base_transform_sink_activate_push),
12810         (gst_base_transform_src_activate_pull),
12811         (gst_base_transform_set_passthrough),
12812         (gst_base_transform_is_passthrough):
12813         Refcounting fixes.
12814
12815         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
12816         Cleanups.
12817
12818         * gst/gstevent.c: (gst_event_finalize):
12819         Set SRC to NULL.
12820
12821         * gst/gstutils.c: (gst_element_unlink),
12822         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
12823         (gst_pad_proxy_setcaps):
12824         * gst/gstutils.h:
12825         Add _get_parent_element() to get a pads parent as an element.
12826
12827 2005-07-18  Wim Taymans  <wim@fluendo.com>
12828
12829         * check/gst/gstbin.c: (GST_START_TEST):
12830         Remove bogus test.
12831
12832 2005-07-18  Wim Taymans  <wim@fluendo.com>
12833
12834         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
12835         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
12836         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
12837         (gst_base_sink_event), (gst_base_sink_do_sync),
12838         (gst_base_sink_chain), (gst_base_sink_loop),
12839         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
12840         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
12841         Refcounting fixes.
12842         Fix logic for returning ASYNC when not prerolled.
12843
12844 2005-07-18  Wim Taymans  <wim@fluendo.com>
12845
12846         * gst/gstqueue.c: (gst_queue_handle_sink_event):
12847         Fix nasty refcount bug.
12848
12849 2005-07-16 Philippe Khalaf <burger@speedy.org>
12850
12851         * gst/elements/gstfdsrc.c:
12852         * gst/elements/gstfdsrc.h:
12853         * gst/elements/gstelements.c:
12854         * gst/elements/Makefile.am:
12855         Ported fdsrc to 0.9.
12856
12857 2005-07-16  Wim Taymans  <wim@fluendo.com>
12858
12859         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
12860         (gst_base_sink_do_sync):
12861         Fix compile error.
12862
12863 2005-07-16  Wim Taymans  <wim@fluendo.com>
12864
12865         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
12866         (gst_base_sink_event), (gst_base_sink_get_times),
12867         (gst_base_sink_do_sync), (gst_base_sink_change_state):
12868         * gst/base/gstbasesink.h:
12869         Store and use discont values when syncing buffers as described
12870         in design docs.
12871         
12872         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
12873         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
12874         (gst_base_src_activate_push):
12875         Push discont event when starting.
12876
12877         * gst/elements/gstidentity.c: (gst_identity_transform):
12878         Small cleanups.
12879
12880         * gst/gstbin.c: (gst_bin_change_state):
12881         Small cleanups in base_time  distribution.
12882
12883         * gst/gstelement.c: (gst_element_set_base_time),
12884         (gst_element_get_base_time), (gst_element_change_state):
12885         * gst/gstelement.h:
12886         Added methods for the base_time of the element.
12887         Some MT fixes.
12888
12889         * gst/gstpipeline.c: (gst_pipeline_send_event),
12890         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
12891         (gst_pipeline_get_last_stream_time):
12892         * gst/gstpipeline.h:
12893         MT fixes.
12894         Handle seeking as described in design doc, remove stream_time
12895         hack.
12896         Cleanups clock and stream_time selection code. Added accessors
12897         for the stream_time.
12898         
12899
12900 2005-07-16  Andy Wingo  <wingo@pobox.com>
12901
12902         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
12903         (#305291).
12904
12905 2005-07-16  Wim Taymans  <wim@fluendo.com>
12906
12907         * check/gst/gstbin.c: (GST_START_TEST):
12908         Make elements silent as the deep_notify refs the
12909         parent, which might make the test fail.
12910
12911         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
12912         Don't hold the lock for too long.
12913
12914 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
12915
12916         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
12917           Don't unref the caps we passed to gst_caps_make_writable() after
12918           passing them. gst_caps_make_writable() will do that for us.
12919
12920 2005-07-15  Andy Wingo  <wingo@pobox.com>
12921
12922         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
12923         (#157311).
12924
12925         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
12926         own marshalling function for the handoff signal. Properly type the
12927         buffer as a buffer. Fixes some warnings. Should do a more general
12928         solution.
12929         (gst_identity_class_init): Plug into the right marshaller.
12930
12931 2005-07-15  Wim Taymans  <wim@fluendo.com>
12932
12933         * docs/design/part-TODO.txt:
12934         * docs/design/part-clocks.txt:
12935         * docs/design/part-element-sink.txt:
12936         * docs/design/part-events.txt:
12937         * docs/design/part-gstpipeline.txt:
12938         Updated docs, mostly DISCONT related.
12939
12940 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
12941
12942         * docs/pwg/building-pads.xml:
12943           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
12944
12945 2005-07-15  Andy Wingo  <wingo@pobox.com>
12946
12947         * tools/gst-typefind.c: Update, add copyright block.
12948
12949         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
12950         Normalize and truncate caps before fixation.
12951
12952         * gst/gstcaps.h:
12953         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
12954         discards all but the first structure from its argument.
12955
12956 2005-07-15  Wim Taymans  <wim@fluendo.com>
12957
12958         * gst/base/gstbasetransform.c: (gst_base_transform_init),
12959         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
12960         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
12961         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
12962         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
12963         (gst_base_transform_chain), (gst_base_transform_change_state),
12964         (gst_base_transform_set_passthrough),
12965         (gst_base_transform_is_passthrough):
12966         * gst/base/gstbasetransform.h:
12967         Make passthrough work using the bufferpools.
12968         Changed API a bit, subclasses have to write into a buffer
12969         provided by the base class.
12970         More debug info in nego functions.
12971         
12972         * gst/elements/gstidentity.c: (gst_identity_init),
12973         (gst_identity_transform):
12974         Port to new base class.
12975
12976 2005-07-15  Wim Taymans  <wim@fluendo.com>
12977
12978         * gst/gstmessage.c: (gst_message_new_state_changed):
12979         * tools/gst-launch.c: (event_loop), (main):
12980         Totally dump messages in -launch with the -m option.
12981         Fix message name for State messages,
12982
12983 2005-07-14  Wim Taymans  <wim@fluendo.com>
12984
12985         * gst/base/gstbasesrc.c: (gst_base_src_loop):
12986         Post error messages on errors.
12987
12988 2005-07-14  Wim Taymans  <wim@fluendo.com>
12989
12990         * gst/gstcaps.c: (gst_caps_do_simplify):
12991         Remove debug info.
12992
12993         * gst/gsterror.h:
12994         Define error for stream stopped.
12995
12996         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
12997         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
12998         Do proper return values.
12999
13000         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
13001         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
13002         (gst_pad_get_range):
13003         Better return values.
13004
13005         * gst/gstpad.h:
13006         Reorganise return values, add macro to check for fatal errors.
13007
13008         * gst/gstqueue.c: (gst_queue_chain):
13009         Return proper GstFlowReturn values,
13010
13011 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
13012
13013         * docs/gst/gstreamer-sections.txt:
13014         * docs/gst/gstreamer.types:
13015         * docs/gst/tmpl/gst.sgml:
13016         * docs/gst/tmpl/gstbasesink.sgml:
13017         * docs/gst/tmpl/gstbasesrc.sgml:
13018         * docs/gst/tmpl/gstbasetransform.sgml:
13019         * docs/gst/tmpl/gstbin.sgml:
13020         * docs/gst/tmpl/gstbuffer.sgml:
13021         * docs/gst/tmpl/gstcaps.sgml:
13022         * docs/gst/tmpl/gstclock.sgml:
13023         * docs/gst/tmpl/gstcompat.sgml:
13024         * docs/gst/tmpl/gstconfig.sgml:
13025         * docs/gst/tmpl/gstelement.sgml:
13026         * docs/gst/tmpl/gstelementdetails.sgml:
13027         * docs/gst/tmpl/gstelementfactory.sgml:
13028         * docs/gst/tmpl/gstenumtypes.sgml:
13029         * docs/gst/tmpl/gsterror.sgml:
13030         * docs/gst/tmpl/gstevent.sgml:
13031         * docs/gst/tmpl/gstfakesink.sgml:
13032         * docs/gst/tmpl/gstfakesrc.sgml:
13033         * docs/gst/tmpl/gstfilesink.sgml:
13034         * docs/gst/tmpl/gstfilesrc.sgml:
13035         * docs/gst/tmpl/gstfilter.sgml:
13036         * docs/gst/tmpl/gstformat.sgml:
13037         * docs/gst/tmpl/gstghostpad.sgml:
13038         * docs/gst/tmpl/gstimplementsinterface.sgml:
13039         * docs/gst/tmpl/gstindex.sgml:
13040         * docs/gst/tmpl/gstindexfactory.sgml:
13041         * docs/gst/tmpl/gstinfo.sgml:
13042         * docs/gst/tmpl/gstiterator.sgml:
13043         * docs/gst/tmpl/gstmacros.sgml:
13044         * docs/gst/tmpl/gstmemchunk.sgml:
13045         * docs/gst/tmpl/gstminiobject.sgml:
13046         * docs/gst/tmpl/gstobject.sgml:
13047         * docs/gst/tmpl/gstpad.sgml:
13048         * docs/gst/tmpl/gstpadtemplate.sgml:
13049         * docs/gst/tmpl/gstparse.sgml:
13050         * docs/gst/tmpl/gstpipeline.sgml:
13051         * docs/gst/tmpl/gstplugin.sgml:
13052         * docs/gst/tmpl/gstpluginfeature.sgml:
13053         * docs/gst/tmpl/gstquery.sgml:
13054         * docs/gst/tmpl/gstqueue.sgml:
13055         * docs/gst/tmpl/gstregistry.sgml:
13056         * docs/gst/tmpl/gstregistrypool.sgml:
13057         * docs/gst/tmpl/gstscheduler.sgml:
13058         * docs/gst/tmpl/gstschedulerfactory.sgml:
13059         * docs/gst/tmpl/gststructure.sgml:
13060         * docs/gst/tmpl/gstsystemclock.sgml:
13061         * docs/gst/tmpl/gsttaglist.sgml:
13062         * docs/gst/tmpl/gsttagsetter.sgml:
13063         * docs/gst/tmpl/gsttrace.sgml:
13064         * docs/gst/tmpl/gsttrashstack.sgml:
13065         * docs/gst/tmpl/gsttypefind.sgml:
13066         * docs/gst/tmpl/gsttypefindfactory.sgml:
13067         * docs/gst/tmpl/gsttypes.sgml:
13068         * docs/gst/tmpl/gsturihandler.sgml:
13069         * docs/gst/tmpl/gsturitype.sgml:
13070         * docs/gst/tmpl/gstutils.sgml:
13071         * docs/gst/tmpl/gstvalue.sgml:
13072         * docs/gst/tmpl/gstversion.sgml:
13073         * docs/gst/tmpl/gstxml.sgml:
13074         * docs/libs/tmpl/gstcontrol.sgml:
13075         * docs/libs/tmpl/gstdataprotocol.sgml:
13076         * docs/libs/tmpl/gstdparam.sgml:
13077         * docs/libs/tmpl/gstdplinint.sgml:
13078         * docs/libs/tmpl/gstdpman.sgml:
13079         * docs/libs/tmpl/gstdpsmooth.sgml:
13080         * docs/libs/tmpl/gstgetbits.sgml:
13081         * docs/libs/tmpl/gstunitconvert.sgml:
13082         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
13083         (gst_push_src_base_init), (gst_push_src_class_init),
13084         (gst_push_src_init), (gst_push_src_create):
13085         * gst/base/gstpushsrc.h:
13086         * gst/elements/gstelements.c:
13087         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
13088         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
13089         (gst_fake_sink_init), (gst_fake_sink_set_property),
13090         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
13091         (gst_fake_sink_event), (gst_fake_sink_preroll),
13092         (gst_fake_sink_render), (gst_fake_sink_change_state):
13093         * gst/elements/gstfakesink.h:
13094         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
13095         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
13096         (gst_fake_src_base_init), (gst_fake_src_class_init),
13097         (gst_fake_src_init), (gst_fake_src_event_handler),
13098         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
13099         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
13100         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
13101         (gst_fake_src_create_buffer), (gst_fake_src_create),
13102         (gst_fake_src_start), (gst_fake_src_stop):
13103         * gst/elements/gstfakesrc.h:
13104         * gst/elements/gstfilesink.c: (_do_init),
13105         (gst_file_sink_base_init), (gst_file_sink_class_init),
13106         (gst_file_sink_init), (gst_file_sink_dispose),
13107         (gst_file_sink_set_location), (gst_file_sink_set_property),
13108         (gst_file_sink_get_property), (gst_file_sink_open_file),
13109         (gst_file_sink_close_file), (gst_file_sink_query),
13110         (gst_file_sink_event), (gst_file_sink_render),
13111         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
13112         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
13113         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
13114         * gst/elements/gstfilesink.h:
13115         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
13116         (gst_file_src_class_init), (gst_file_src_init),
13117         (gst_file_src_finalize), (gst_file_src_set_location),
13118         (gst_file_src_set_property), (gst_file_src_get_property),
13119         (gst_file_src_map_region), (gst_file_src_map_small_region),
13120         (gst_file_src_create_mmap), (gst_file_src_create_read),
13121         (gst_file_src_create), (gst_file_src_is_seekable),
13122         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
13123         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
13124         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
13125         (gst_file_src_uri_handler_init):
13126         * gst/elements/gstfilesrc.h:
13127           more autistic cleanliness in functions/names/defines
13128
13129 2005-07-13  Andy Wingo  <wingo@pobox.com>
13130
13131         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
13132         source couldn't negotiate.
13133
13134         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
13135         connections again.
13136
13137         * gst/gstutils.h:
13138         * gst/gstutils.c (gst_element_link_pads_filtered): New old
13139         function. I am channeling Hades. Put your boots on suckers!!!
13140
13141 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13142
13143         * testsuite/caps/Makefile.am:
13144         * testsuite/caps/value_compare.c:
13145         * testsuite/caps/value_intersect.c:
13146         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
13147           move two testsuite apps over to the check dir
13148
13149 2005-07-12  Wim Taymans  <wim@fluendo.com>
13150
13151         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
13152         Added more debug info in the negotiate process.
13153
13154         * gst/gstmessage.h:
13155         Prepare for segment playback.
13156
13157         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
13158         Better debugging.
13159
13160         * gst/gstutils.c:
13161         Some more docs.
13162
13163         * tools/gst-launch.c: (main):
13164         NULL pipeline on errors.
13165
13166 2005-07-12  Andy Wingo  <wingo@pobox.com>
13167
13168         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
13169         not it comes from a malloc region. Make sure our copy gets freed.
13170
13171 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
13172
13173         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
13174         * check/gst/gstmessage.c: (GST_START_TEST):
13175         * check/gst/gststructure.c: (GST_START_TEST),
13176         (gst_structure_suite), (main):
13177           more testing
13178         * gst/gstelement.c: (gst_element_message_full):
13179           clean up GError and debug string now that they get copied
13180         * gst/gstmessage.c: (gst_message_new_error),
13181         (gst_message_new_warning), (gst_message_parse_error),
13182         (gst_message_parse_warning):
13183           use GST_TYPE_G_ERROR for structure_new, and take copies of
13184           arguments, so that we don't mess up refcounting
13185
13186 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
13187
13188         * check/Makefile.am:
13189           add per-test valgrind targets
13190         * check/gst-libs/gdp.c: (GST_START_TEST),
13191         (gst_data_protocol_suite), (main):
13192           clean up
13193
13194 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
13195
13196         * check/Makefile.am:
13197           instate more valgrindable tests
13198         * check/elements/gstfakesrc.c: (chain_func), (event_func),
13199         (GST_START_TEST), (fakesrc_suite):
13200         * check/gst/gstpad.c: (GST_START_TEST):
13201         * check/gst/gststructure.c: (GST_START_TEST):
13202           fix test leaks
13203         * docs/gst/tmpl/gstminiobject.sgml:
13204         * gst/gstpad.c: (gst_pad_finalize):
13205           fix the static mutex leak
13206
13207 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
13208
13209         * check/Makefile.am:
13210           add two more tests for valgrinding
13211         * check/gst/gstvalue.c: (GST_START_TEST):
13212           test refcount of deserialized buffer, found a leak
13213         * docs/gst/gstreamer-docs.sgml:
13214         * docs/gst/gstreamer-sections.txt:
13215         * docs/gst/gstreamer.types:
13216         * docs/gst/tmpl/gstminiobject.sgml:
13217           add miniobject to docs
13218         * gst/gstminiobject.c:
13219           add some docs
13220         * gst/gstvalue.c: (gst_value_deserialize_buffer),
13221         (gst_string_unwrap):
13222           fix a hard-to-find invalid write for one of the tests
13223           fix a leak for deserialized buffers
13224
13225 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13226
13227         * docs/pwg/advanced-events.xml:
13228         * docs/pwg/advanced-request.xml:
13229         * docs/pwg/advanced-scheduling.xml:
13230         * docs/pwg/appendix-porting.xml:
13231         * docs/pwg/building-boiler.xml:
13232         * docs/pwg/intro-preface.xml:
13233         * docs/pwg/other-ntoone.xml:
13234           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
13235           of example code and explanation for pad activation, loop() and
13236           getrange() functions and a bit more. Remove old comments pointing
13237           to loop-functions.
13238         * examples/pwg/Makefile.am:
13239           Add loop/getrange examples.
13240
13241 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
13242
13243         * configure.ac:
13244           check for valgrind binary + some fixes
13245         * check/gst.supp:
13246           valgrind suppressions for the tests
13247         * check/Makefile.am:
13248           add a valgrind: target that valgrinds the unit tests
13249         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
13250         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
13251         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
13252         * check/gst/gstghostpad.c:
13253           added some cleanup
13254         * check/gst/gstdata.c:
13255           removed
13256         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
13257         (thread_unref), (gst_mini_object_suite), (main):
13258           added
13259         * gst/gst.c: (gst_deinit):
13260         * gst/gst.h:
13261           add a method to clean up.
13262         * gst/gstsystemclock.c: (gst_system_clock_dispose),
13263         (gst_system_clock_obtain):
13264           allow for disposing the system clock.
13265         * tools/gst-launch.c: (main):
13266           deinit
13267
13268 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
13269
13270         * docs/gst/tmpl/gstbasesrc.sgml:
13271         * docs/gst/tmpl/gstfakesrc.sgml:
13272         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
13273         (gst_base_src_init), (gst_base_src_set_property),
13274         (gst_base_src_get_property), (gst_base_src_get_range),
13275         (gst_base_src_start):
13276         * gst/base/gstbasesrc.h:
13277           add num-buffers property
13278         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
13279         (gst_fakesrc_init), (gst_fakesrc_set_property),
13280         (gst_fakesrc_get_property), (gst_fakesrc_create),
13281         (gst_fakesrc_start):
13282           remove num-buffers property
13283
13284 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
13285
13286         * docs/gst/gstreamer-sections.txt:
13287         * docs/gst/tmpl/gstbasesink.sgml:
13288         * docs/gst/tmpl/gstbasesrc.sgml:
13289         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
13290         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
13291         (gst_base_sink_finalize), (gst_base_sink_set_clock),
13292         (gst_base_sink_set_property), (gst_base_sink_get_property),
13293         (gst_base_sink_handle_object), (gst_base_sink_event),
13294         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
13295         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
13296         (gst_base_sink_loop), (gst_base_sink_deactivate),
13297         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
13298         (gst_base_sink_change_state):
13299         * gst/base/gstbasesink.h:
13300         * gst/base/gstbasesrc.h:
13301         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
13302         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
13303         (gst_filesink_init):
13304           more macro splitting
13305
13306 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
13307
13308         * gst/gstelement.c: (gst_element_get_bus):
13309           add debug
13310         * tools/gst-launch.c: (check_intr), (event_loop):
13311           fix bus leaks
13312
13313 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
13314
13315         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
13316           fix a caps leak
13317
13318 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
13319
13320         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
13321         (gst_base_src_finalize):
13322           add finalize method and clean up properly
13323         * gst/gstpipeline.c: (gst_pipeline_dispose):
13324           add debug
13325
13326 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
13327
13328         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
13329         (gst_bin_suite):
13330           add more things to check
13331         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
13332         * gst/gstelement.c:
13333           more debug
13334
13335 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
13336
13337         * check/elements/gstfakesrc.c: (chain_func), (event_func),
13338         (GST_START_TEST), (fakesrc_suite):
13339         * check/gst-libs/gdp.c: (GST_START_TEST):
13340         * check/gst/gst.c: (GST_START_TEST):
13341         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
13342         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
13343         * check/gst/gstbus.c: (GST_START_TEST):
13344         * check/gst/gstcaps.c: (GST_START_TEST):
13345         * check/gst/gstdata.c: (GST_START_TEST):
13346         * check/gst/gstelement.c: (GST_START_TEST):
13347         * check/gst/gstghostpad.c: (GST_START_TEST):
13348         * check/gst/gstiterator.c: (GST_START_TEST):
13349         * check/gst/gstmessage.c: (GST_START_TEST):
13350         * check/gst/gstobject.c: (GST_START_TEST):
13351         * check/gst/gstpad.c: (GST_START_TEST):
13352         * check/gst/gststructure.c: (GST_START_TEST):
13353         * check/gst/gstsystemclock.c: (GST_START_TEST),
13354         (gst_systemclock_suite):
13355         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
13356         * check/gst/gstvalue.c: (GST_START_TEST):
13357         * check/pipelines/cleanup.c: (GST_START_TEST):
13358         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
13359         * check/states/sinks.c: (GST_START_TEST):
13360         * check/gstcheck.c: (gst_check_init):
13361         * check/gstcheck.h:
13362           add debugging category
13363           use GST_START_TEST now, so we add a debug line
13364
13365 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
13366
13367         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
13368           add test for state change message on a bin
13369         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
13370           add another test
13371         * gst/gstbin.c: (gst_bin_init):
13372         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
13373         * gst/gstelement.c: (gst_element_post_message),
13374         (gst_element_set_state):
13375         * gst/gstelementfactory.c: (gst_element_factory_create):
13376         * gst/gstmessage.c: (gst_message_new):
13377         * gst/gstscheduler.c:
13378           various debugging additions and cleanups
13379
13380 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
13381
13382         * check/Makefile.am:
13383         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
13384         (main):
13385           adding tests for elements
13386         * gst/gstelement.c: (gst_element_dispose):
13387
13388 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
13389
13390         * gst/registries/gstlibxmlregistry.c: (load_feature):
13391           plug more leaks.  A simple gst_init() now is leakfree, yay.
13392
13393 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
13394
13395         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
13396         (gst_xml_registry_load):
13397           plug another memleak
13398
13399 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
13400
13401         * configure.ac:
13402           use GST_SET_ERROR_CFLAGS
13403         * docs/faq/cvs.xml:
13404           change to ERROR_CFLAGS
13405
13406 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
13407
13408         * configure.ac:
13409           make GST_ERROR_CFLAGS overridable and re-enable Werror
13410         * docs/faq/cvs.xml:
13411           add a note about error CFLAGS
13412         * docs/gst/tmpl/gstfakesrc.sgml:
13413         * gst/elements/gstfakesrc.c:
13414           comment out some unused code
13415         * gst/gst.c: (split_and_iterate):
13416         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
13417         (load_feature):
13418           plug some memleaks
13419
13420 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
13421
13422         * common/Makefile.am:
13423         * common/gtk-doc.mak:
13424         * docs/gst/Makefile.am:
13425           factor out gtk-doc.mak
13426
13427 2005-07-07  Wim Taymans  <wim@fluendo.com>
13428
13429         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
13430         (gst_thread_scheduler_dispose):
13431         Unlock the STREAM_LOCK completely.
13432
13433 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
13434
13435         * check/Makefile.am:
13436         * check/elements/.cvsignore:
13437         * check/elements/gstfakesrc.c: (chain_func), (event_func),
13438         (START_TEST), (fakesrc_suite), (main):
13439         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
13440         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
13441         (gst_fakesrc_create), (gst_fakesrc_start):
13442         * gst/elements/gstfakesrc.h:
13443           adding a first element test
13444
13445 2005-07-07  Andy Wingo  <wingo@pobox.com>
13446
13447         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
13448         debug message.
13449
13450 2005-07-07  Wim Taymans  <wim@fluendo.com>
13451
13452         * gst/gstquery.c:
13453         * gst/gstquery.h:
13454         Remove old types
13455
13456 2005-07-07  Wim Taymans  <wim@fluendo.com>
13457
13458         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
13459         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
13460         Allow subclasses to implement their own negotiation.
13461
13462 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
13463
13464         * docs/design/part-gstbin.txt:
13465         * docs/design/part-gstpipeline.txt:
13466           Update design notes to reflect the movement of
13467           responsibility for bus handling from GstPipeline to
13468           GstBin
13469
13470 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
13471
13472         * configure.ac:
13473           Remove unnecessary queue2/3/4 examples.
13474
13475 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
13476
13477         * examples/Makefile.am:
13478         * examples/helloworld/helloworld.c: (event_loop), (main):
13479         * examples/queue/queue.c: (event_loop), (main):
13480         * examples/queue2/queue2.c: (main):
13481           Update a couple of the examples to work again.
13482
13483         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
13484         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
13485          Spelling corrections and extra debug.
13486         
13487         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
13488         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
13489         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
13490         * gst/gstbin.h:
13491         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
13492         (gst_pipeline_change_state):
13493         * gst/gstpipeline.h:
13494           Move the bus handler for children to the GstBin, and create a
13495           separate bus for receiving messages from children to the one the
13496           bus sends 'upwards' on.
13497
13498 2005-07-06  Wim Taymans  <wim@fluendo.com>
13499
13500         * gst/base/README:
13501         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
13502         (gst_base_sink_handle_object), (gst_base_sink_loop),
13503         (gst_base_sink_change_state):
13504         * gst/base/gstbasesink.h:
13505         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
13506         (gst_base_src_init), (gst_base_src_setcaps),
13507         (gst_base_src_getcaps), (gst_base_src_loop),
13508         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
13509         (gst_base_src_start), (gst_base_src_change_state):
13510         * gst/base/gstbasesrc.h:
13511         Make basesrc negotiate.
13512         Handle the case where preroll fails in basesink.
13513         Update README.
13514
13515 2005-07-06  Wim Taymans  <wim@fluendo.com>
13516
13517         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
13518         Implement the fixate function.
13519         Clean up acceptcaps.
13520
13521 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13522
13523         * docs/pwg/building-filterfactory.xml:
13524         * docs/pwg/pwg.xml:
13525           Remove never-written filter-factory chapter; I'll add the various
13526           base classes to part 4 ("other element types") later on.
13527
13528 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13529
13530         * docs/pwg/advanced-negotiation.xml:
13531         * docs/pwg/building-boiler.xml:
13532         * docs/pwg/building-pads.xml:
13533         * docs/pwg/pwg.xml:
13534         * examples/pwg/Makefile.am:
13535           Add a chapter on caps negotiation, simplify the original code
13536           samples a bit w.r.t. caps negotiation, add link to the advanced
13537           section. Add a bunch of examples showing different use cases of
13538           different types of caps negotiation. Upstream renegotiation isn't
13539           fully documented yet since nobody knows how that works.
13540
13541 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
13542
13543         * check/gst/gstpad.c:
13544         * check/gstcheck.c:
13545         * gst/gstpad.c: (gst_pad_get_internal_links_default):
13546           if pad has no parent, return NULL as list of internal links
13547
13548 2005-07-05  Andy Wingo  <wingo@pobox.com>
13549
13550         * gst/elements/gstfilesrc.c:
13551         * gst/elements/gstfakesrc.c: 
13552         * gst/base/gstpushsrc.c:
13553         * gst/base/gstbasesrc.h: 
13554         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
13555         
13556 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
13557
13558         * Makefile.am:
13559           better report generation target (lcov needs a patch)
13560
13561 2005-07-05  Andy Wingo  <wingo@pobox.com>
13562
13563         * gst/elements, testsuite: Null if we got it...
13564
13565 2005-07-05  Wim Taymans  <wim@fluendo.com>
13566
13567         * configure.ac:
13568         * libs/gst/dataprotocol/Makefile.am:
13569         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
13570         * libs/gst/dataprotocol/dataprotocol.h:
13571         * pkgconfig/Makefile.am:
13572         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
13573         * pkgconfig/gstreamer-dataprotocol.pc.in:
13574         Ported dataprotol to 0.9. 
13575         Added pkgconfig files.
13576
13577 2005-07-05  Andy Wingo  <wingo@pobox.com>
13578
13579         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
13580         Default to returning TRUE for the case when tranform_caps returns
13581         a fixed caps, like for identity or volume.
13582
13583         * check/gst/gstbus.c (pound_bus_with_messages): 
13584         * check/gst/gstmessage.c (START_TEST): 
13585         * check/pipelines/simple_launch_lines.c (got_handoff): Application
13586         message API change.
13587
13588         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
13589         logic weaks here: always run transform_caps, trying passthrough
13590         operation only if the original caps intersects with the transform.
13591
13592         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
13593         source and sink caps.
13594
13595         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
13596         Intersect the peer caps with the pad template before going into
13597         transform_caps.
13598         (gst_base_transform_transform_caps): More debugging.
13599
13600         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
13601         src argument.
13602
13603 2005-07-04  Edward Hervey  <edward@fluendo.com>
13604
13605         * gst/gstutils.c:
13606         * gst/gstutils.h:
13607         (gst_pad_add_*_probe): now returns the signal id for better wrapping
13608         in bindings.
13609
13610 2005-07-04  Andy Wingo  <wingo@pobox.com>
13611
13612         * check/gst/gstpad.c: Only set explicit caps on pads.
13613
13614 2005-07-01  Andy Wingo  <wingo@pobox.com>
13615
13616         * tests/network-clock.scm: Commentary update.
13617
13618         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
13619         Didn't really make sense, not implementable with basetransform,
13620         etc.
13621         (gst_identity_transform): Unref inbuf via make_writable. Feeble
13622         attempt at implementing the sync property, needs an unlock method.
13623
13624         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
13625         New func, by default returns the same caps (the identity
13626         transformation).
13627         (gst_base_transform_getcaps): Uses transform_caps to return
13628         something sensible.
13629         (gst_base_transform_setcaps): Complicated logic to get caps on
13630         both pads, even if they are different, and to call set_caps once
13631         for every time both pads get their caps set.
13632         (gst_base_transform_handle_buffer): Give the ref to the transform
13633         function. Allows in-place modification of the buffer.
13634
13635         * gst/base/gstbasetransform.h (transform_caps): New class method.
13636         Given caps on one side, what can I do on the other.
13637         (set_caps): Take two caps, one for each side of the element.
13638
13639         * gst/gstpad.h:
13640         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
13641         caps in place. This is safe because we can check the mutability of
13642         the caps, and a good idea because fixate functions are just called
13643         as a matter of last resort. (Not actually implemented.)
13644         (gst_pad_set_caps): If the caps we're setting is actually the same
13645         as the existing pad caps, just update the pointer without calling
13646         setcaps. Assert that caps is either NULL or fixed, as per the
13647         docs.
13648
13649         * gst/gstghostpad.c: Update for fixate changes.
13650
13651 2005-07-02  Andy Wingo  <wingo@pobox.com>
13652
13653         * gst/gstcaps.c:
13654         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
13655         two refcounts makes it immutable, which is enough. Doc more.
13656
13657 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
13658
13659         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
13660           Put the mini_object into GValue as a mini_object,
13661           not a gpointer, since that's how we declared
13662           the signal.
13663
13664 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13665
13666         * examples/pwg/Makefile.am:
13667           Fix buildbot again.
13668
13669 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13670
13671         * docs/pwg/building-testapp.xml:
13672           Add extra check.
13673         * examples/pwg/Makefile.am:
13674           Fix buildbot.
13675
13676 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13677
13678         * configure.ac:
13679         * examples/Makefile.am:
13680         * examples/pwg/Makefile.am:
13681         * examples/pwg/extract.pl:
13682           Enable building the PWG examples.
13683         * docs/pwg/advanced-interfaces.xml:
13684           Add URI interface stub.
13685         * docs/pwg/advanced-types.xml:
13686         * docs/pwg/other-autoplugger.xml:
13687         * docs/pwg/appendix-porting.xml:
13688         * docs/pwg/pwg.xml:
13689           Add porting guide (mostly stubs), remove autoplugging (see ADM).
13690         * docs/pwg/building-boiler.xml:
13691         * docs/pwg/building-chainfn.xml:
13692         * docs/pwg/building-pads.xml:
13693         * docs/pwg/building-props.xml:
13694         * docs/pwg/building-state.xml:
13695         * docs/pwg/building-testapp.xml:
13696           Update the building-*.xml parts for 0.9 changes. All examples
13697           code blocks compile in examples/pwg/*.
13698
13699 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13700
13701         * docs/manual/advanced-autoplugging.xml:
13702         * docs/manual/appendix-checklist.xml:
13703         * docs/manual/appendix-integration.xml:
13704         * docs/manual/highlevel-components.xml:
13705           Fix playbin/decodebin examples, update docs a bit, mention bus
13706           instead of signals in various places, mention kmplayer and
13707           kaffeine since they have a working GStreamer backend in the KDE
13708           section.
13709
13710 2005-06-30  Wim Taymans  <wim@fluendo.com>
13711
13712         * CHANGES-0.9:
13713         * docs/design/draft-ghostpads.txt:
13714         * docs/design/draft-push-pull.txt:
13715         * docs/design/draft-query.txt:
13716         * docs/design/part-TODO.txt:
13717         * docs/design/part-query.txt:
13718         Added CHANGES-0.9 doc, updated status of other docs.
13719         
13720         * gst/gstquery.h:
13721         Remove "hmm" macro
13722
13723 2005-06-30  Wim Taymans  <wim@fluendo.com>
13724
13725         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
13726         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
13727         (gst_base_sink_change_state):
13728         * gst/base/gstbasesink.h:
13729         Some tweaks, only EOS and a buffer complete a preroll.
13730
13731 2005-06-30  Andy Wingo  <wingo@pobox.com>
13732
13733         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
13734         activate_push down to the internal pad as well.
13735
13736 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
13737
13738         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13739
13740         * gst/gsttaginterface.c:
13741           Some documentation fixes (#307394 and #307397).
13742
13743 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
13744
13745         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13746
13747         * gst/gstvalue.c: (gst_value_intersect_list):
13748           Fix memleak (#309125).
13749
13750 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13751
13752         * docs/manual/advanced-dataaccess.xml:
13753           Fix fakesrc example to compile; doesn't work, bug somewhere...?
13754         * docs/manual/basics-pads.xml:
13755           Add reference for filtered caps to above chapter.
13756
13757 2005-06-30  Wim Taymans  <wim@fluendo.com>
13758
13759         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
13760         (gst_bin_change_state):
13761         Probes are gone.
13762         Lame attempt at making the state change function a bit
13763         more readable.
13764
13765 2005-06-30  Wim Taymans  <wim@fluendo.com>
13766
13767         * docs/design/part-clocks.txt:
13768         * docs/design/part-element-sink.txt:
13769         * docs/design/part-events.txt:
13770         * docs/design/part-preroll.txt:
13771         * docs/design/part-states.txt:
13772         Some more tweeks and additions to the docs.
13773
13774 2005-06-30  Wim Taymans  <wim@fluendo.com>
13775
13776         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
13777         (default_have_data), (gst_pad_class_init), (gst_pad_init),
13778         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
13779         (gst_pad_check_pull_range), (gst_pad_get_range),
13780         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
13781         * gst/gstpad.h:
13782         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
13783         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
13784         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
13785         (gst_pad_remove_buffer_probe):
13786         Removed atomic operations, use existing LOCK.
13787         Move exception handling out of main code path.
13788
13789 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13790
13791         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
13792         (silly_return_true_function), (gst_pad_class_init),
13793         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
13794         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
13795         (gst_pad_send_event):
13796           Fix accumulator, add default value by using _emitv() instead
13797           of _emit() for signal emission.
13798
13799 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13800
13801         * docs/manual/advanced-dataaccess.xml:
13802         * examples/manual/Makefile.am:
13803           Add probe example.
13804         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
13805           Make work (??).
13806
13807 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
13808
13809         * gst/elements/gstfilesink.c: (gst_filesink_render):
13810           Simplify code so that we don't have to handle short
13811           writes and return GST_FLOW_ERROR if an error occured.
13812
13813 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13814
13815         * docs/gst/gstreamer-docs.sgml:
13816           Remove probes more.
13817
13818 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13819
13820         * docs/gst/gstreamer-sections.txt:
13821         * docs/gst/tmpl/gstpad.sgml:
13822         * docs/gst/tmpl/gstprobe.sgml:
13823         * gst/Makefile.am:
13824         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
13825         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
13826         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
13827         (gst_pad_push_event), (gst_pad_send_event):
13828         * gst/gstpad.h:
13829         * gst/gstutils.c: (gst_pad_add_data_probe),
13830         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
13831         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
13832         (gst_pad_remove_buffer_probe):
13833         * gst/gstutils.h:
13834           Remove old probes, add new g-signal-based probes and some utility
13835           functions.
13836
13837 2005-06-29  Edward Hervey  <edward@fluendo.com>
13838
13839         * gst/gstelementfactory.c:
13840         * gst/gstutils.h:
13841         * gst/gstutils.c:
13842         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
13843         the definition to the header file.
13844
13845 2005-06-29  Andy Wingo  <wingo@pobox.com>
13846
13847         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
13848         plugins from the source directory.
13849
13850 2005-06-29  Wim Taymans  <wim@fluendo.com>
13851
13852         * docs/gst/tmpl/gstbuffer.sgml:
13853         * docs/gst/tmpl/gstclock.sgml:
13854         Some fixings for blantently wrong text.
13855
13856 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
13857
13858         * check/Makefile.am:
13859         * gst/gst.c: (add_path_func), (init_pre):
13860         * gst/gstregistry.c: (gst_registry_add_path):
13861           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
13862           only scan the GST_PLUGIN_PATH locations, and not add
13863           system locations
13864
13865 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
13866
13867         * docs/gst/gstreamer-sections.txt:
13868         * docs/gst/tmpl/gstbasesrc.sgml:
13869         * gst/gstelement.c:
13870         * gst/gstelement.h:
13871         * gst/gstevent.c:
13872         * gst/gstutils.c:
13873           doc fixes
13874
13875 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13876
13877         * docs/manual/advanced-autoplugging.xml:
13878           Fix autoplugging example.
13879
13880 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13881
13882         * docs/manual/advanced-autoplugging.xml:
13883         * docs/manual/mime-world.fig:
13884           Try to get autoplugging working, fix type detection. Fix text
13885           in hello-world image.
13886
13887 2005-06-29  Wim Taymans  <wim@fluendo.com>
13888
13889         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13890         (gst_base_sink_change_state):
13891         Small debug line.
13892
13893         * gst/gstclock.h:
13894         map SIGNAL and BROADCAST to the right function.
13895
13896         * gst/gstobject.h:
13897         Remove redundant braces.
13898
13899         * gst/gstpad.c: (gst_pad_set_caps):
13900         Don't call setcaps function when reseting caps to NULL.
13901
13902         * gst/gstsystemclock.c: (gst_system_clock_dispose),
13903         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
13904         (gst_system_clock_id_unschedule):
13905         Use BROADCAST as this is what we do.
13906
13907 2005-06-29  Wim Taymans  <wim@fluendo.com>
13908
13909         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
13910         We are actually prerolling before commiting the state
13911         change. 
13912
13913 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13914
13915         * docs/manual/advanced-clocks.xml:
13916         * docs/manual/advanced-interfaces.xml:
13917         * docs/manual/advanced-metadata.xml:
13918         * docs/manual/advanced-position.xml:
13919         * docs/manual/advanced-schedulers.xml:
13920         * docs/manual/advanced-threads.xml:
13921         * docs/manual/appendix-porting.xml:
13922         * docs/manual/basics-bins.xml:
13923         * docs/manual/basics-bus.xml:
13924         * docs/manual/basics-elements.xml:
13925         * docs/manual/basics-helloworld.xml:
13926         * docs/manual/basics-pads.xml:
13927         * docs/manual/highlevel-components.xml:
13928         * docs/manual/manual.xml:
13929         * docs/manual/thread.fig:
13930           Update (until threads/scheduling) Application Development Manual;
13931           remove GstThread, add GstBus, add simple porting checklist, add
13932           documentation for tag writing, clocks, make all examples until this
13933           part compile and run.
13934         * examples/manual/Makefile.am:
13935           Update from changes to Application Development Manual; add bus
13936           example, remove thread example.
13937
13938 2005-06-28  Wim Taymans  <wim@fluendo.com>
13939
13940         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
13941         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
13942         (gst_bus_source_dispatch):
13943         Add debugging messages.
13944         Make internal methods static.
13945         Handle the case where the bus is flushed in the handler.
13946         
13947         * gst/gstelement.c: (gst_element_get_bus):
13948         Fix refcount in _get_bus();
13949
13950         * gst/gstpipeline.c: (gst_pipeline_change_state),
13951         (gst_pipeline_get_clock_func):
13952         Clock refcounting fixes.
13953         Handle the case where preroll timed out more gracefully.
13954         
13955         * gst/gstsystemclock.c: (gst_system_clock_dispose):
13956         Clean up the internal thread in dispose. This is needed
13957         for subclasses that actually get disposed.
13958         
13959         * gst/schedulers/threadscheduler.c:
13960         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
13961         (gst_thread_scheduler_dispose):
13962         Free thread pool in dispose.
13963
13964 2005-06-28  Andy Wingo  <wingo@pobox.com>
13965
13966         * tests/network-clock-utils.scm (debug, print-event): New utils.
13967
13968         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
13969         (*packet-loss*): Unified loss probability.
13970         (network-time): Report out-of-band events.
13971
13972         * tests/plot-data: Add support for out-of-band events. Hack it
13973         into this script instead of passing it down the pipe; should fix
13974         this later.
13975
13976 2005-06-28  Wim Taymans  <wim@fluendo.com>
13977
13978         * docs/gst/gstreamer.types:
13979         * docs/gst/tmpl/gstbasesrc.sgml:
13980         * docs/gst/tmpl/gstpad.sgml:
13981         Docs fixes.
13982
13983 2005-06-28  Wim Taymans  <wim@fluendo.com>
13984
13985         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
13986         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
13987         (gst_proxy_pad_do_fixatecaps):
13988         Correctly proxy the check_pull_range function.
13989
13990 2005-06-28  Andy Wingo  <wingo@pobox.com>
13991
13992         * tests/network-clock.scm: Removed need for slib.
13993         
13994 2005-06-28  Wim Taymans  <wim@fluendo.com>
13995
13996         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
13997         (gst_basesink_preroll_queue_flush):
13998         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
13999         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
14000         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
14001         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
14002         (gst_proxy_pad_set_property):
14003         * gst/gstpad.c:
14004         * gst/gstpad.h:
14005         * gst/gstqueue.c: (gst_queue_init):
14006         The deprecated pad loop function is removed now.
14007
14008 2005-06-28  Andy Wingo  <wingo@pobox.com>
14009
14010         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
14011         New parameters, simulate network packet loss.
14012
14013         * tests/network-clock-utils.scm: Initialize the RNG.
14014
14015 2005-06-28  Wim Taymans  <wim@fluendo.com>
14016
14017         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
14018         (gst_basesink_event), (gst_basesink_deactivate):
14019         Flushing the preroll queue always needs to unlock the waiters.
14020
14021 2005-06-28  Edward Hervey  <edward@fluendo.com>
14022
14023         * gst/gstpipeline.c: (gst_pipeline_send_event): 
14024         Wheen a seek was successful on a pipeline, set the stream_time to the
14025         seek offset in order to have a synchronized stream_time.
14026
14027 2005-06-28  Wim Taymans  <wim@fluendo.com>
14028
14029         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
14030         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
14031         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
14032         (gst_proxy_pad_do_fixatecaps):
14033         Call wrapper function instead of just calling the function
14034         pointers. This takes care of any locking and whatmore.
14035
14036 2005-06-28  Wim Taymans  <wim@fluendo.com>
14037
14038         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
14039         (gst_pad_pull_range):
14040         * gst/gstpad.h:
14041         CONNECTED -> LINKED.
14042
14043 2005-06-28  Andy Wingo  <wingo@pobox.com>
14044
14045         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
14046         source-munging commit!!!
14047
14048         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
14049         (gst_object_sink): Take gpointer arguments, not GstObject --
14050         avoids casts. Like GLib.
14051
14052         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
14053         activate.
14054
14055 2005-06-27  Andy Wingo  <wingo@pobox.com>
14056
14057         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
14058         remaining buffer.
14059
14060         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
14061         returns a sorted copy of the trace list.
14062         (gst_alloc_trace_print_live): New API, only prints traces with
14063         live objects. Sort the list.
14064         (gst_alloc_trace_print_all): Sort the list.
14065         (gst_alloc_trace_print): Align columns.
14066
14067         * gst/elements/gstttypefindelement.c:
14068         * gst/elements/gsttee.c:
14069         * gst/base/gstbasesrc.c:
14070         * gst/base/gstbasesink.c:
14071         * gst/base/gstbasetransform.c:
14072         * gst/gstqueue.c: Adapt for pad activation changes.
14073
14074         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
14075         sched.
14076         (gst_pipeline_dispose): Drop ref on sched.
14077
14078         * gst/gstpad.c (gst_pad_init): Set the default activate func.
14079         (gst_pad_activate_default): Push mode by default.
14080         (pre_activate_switch, post_activate_switch): New stubs, things to
14081         do before and after switching activation modes on pads.
14082         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
14083         the pad's activate function to choose which mode to activate.
14084         Shortcut on deactivation and call the right function directly.
14085         (gst_pad_activate_pull): New API, (de)activates a pad in pull
14086         mode.
14087         (gst_pad_activate_push): New API, same for push mode.
14088         (gst_pad_set_activate_function) 
14089         (gst_pad_set_activatepull_function) 
14090         (gst_pad_set_activatepush_function): Setters for new API.
14091
14092         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
14093         Trace all miniobjects.
14094         (gst_mini_object_make_writable): Unref the arg if we copy, like
14095         gst_caps_make_writable.
14096
14097         * gst/gstmessage.c (_gst_message_initialize): No trace init.
14098
14099         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
14100         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
14101         Adapt for new pad API.
14102
14103         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
14104
14105         * gst/gstelement.h:
14106         * gst/gstelement.c (gst_element_iterate_src_pads) 
14107         (gst_element_iterate_sink_pads): New API functions.
14108         
14109         * gst/gstelement.c (iterator_fold_with_resync): New utility,
14110         should fold into gstiterator.c in some form.
14111         (gst_element_pads_activate): Simplified via use of fold and
14112         delegation of decisions to gstpad->activate.
14113
14114         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
14115         help in debugging.
14116
14117         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
14118         class once in init, like gstmessage. Didn't run into this issue
14119         but it seems correct. Don't initialize a trace, gstminiobject does
14120         that.
14121
14122         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
14123         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
14124         to the bus.
14125         (assert_live_count): New util function, uses alloc traces to check
14126         cleanup.
14127
14128         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
14129         To be modified when unlink drops the internal pad.
14130
14131 2005-06-27  Wim Taymans  <wim@fluendo.com>
14132
14133         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
14134         (gst_bin_change_state):
14135         Cleanup the get_state() function a little, make sure it
14136         iterates the same set of elements.
14137         Added stub iterate_state_order().
14138
14139 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
14140
14141         * docs/gst/gstreamer-docs.sgml:
14142         * docs/gst/gstreamer-sections.txt:
14143         * docs/gst/gstreamer.types:
14144         * docs/gst/tmpl/gstbasesink.sgml:
14145         * docs/gst/tmpl/gstbasesrc.sgml:
14146         * docs/gst/tmpl/gstbasetransform.sgml:
14147         * docs/gst/tmpl/gstelement.sgml:
14148         * docs/gst/tmpl/gstiterator.sgml:
14149         * gst/base/gstbasesrc.c:
14150         * gst/base/gstbasesrc.h:
14151         * gst/base/gstbasetransform.h:
14152         * gst/gstelement.c:
14153         * gst/gstiterator.h:
14154           adding basetransform and iterator docs
14155
14156 2005-06-27  Andy Wingo  <wingo@pobox.com>
14157
14158         * docs/design/part-activation.txt: Notes on how activation should
14159         work -- not quite implemented yet.
14160
14161 2005-06-25  Wim Taymans  <wim@fluendo.com>
14162
14163         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
14164         At least get the chain function correct, needs more
14165         fixing.
14166
14167 2005-06-25  Wim Taymans  <wim@fluendo.com>
14168
14169         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
14170         (gst_basesink_handle_object), (gst_basesink_event),
14171         (gst_basesink_do_sync), (gst_basesink_handle_event),
14172         (gst_basesink_change_state):
14173         * gst/gsttask.h:
14174         Right, two problems here: ghostpads don't take locks and
14175         glib _rec_mutex_lock_full() with depth==0 still locks.
14176         Catch illegal locking and g_warn them.
14177
14178 2005-06-25  Wim Taymans  <wim@fluendo.com>
14179
14180         * check/states/sinks.c: (START_TEST), (gst_object_suite):
14181         Have to check for completion now...
14182
14183 2005-06-25  Wim Taymans  <wim@fluendo.com>
14184
14185         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
14186         (gst_basesink_handle_object), (gst_basesink_event),
14187         (gst_basesink_do_sync), (gst_basesink_handle_event),
14188         (gst_basesink_change_state):
14189         * gst/gstpad.h:
14190         Unlock STREAM_LOCK whatever the recursion was.
14191
14192 2005-06-25  Wim Taymans  <wim@fluendo.com>
14193
14194         * gst/base/gstbasesink.c: (gst_basesink_set_property),
14195         (gst_basesink_preroll_queue_empty),
14196         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
14197         (gst_basesink_event), (gst_basesink_do_sync),
14198         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
14199         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
14200         (gst_basesink_change_state):
14201         Reworked the base sink, handle event and buffer serialisation
14202         correctly and removed possible deadlock.
14203         Handle EOS correctly.
14204
14205 2005-06-25  Wim Taymans  <wim@fluendo.com>
14206
14207         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
14208         (gst_pipeline_change_state):
14209         * tools/gst-launch.c: (check_intr), (event_loop), (main):
14210         Allow elements to post EOS in the state change function.
14211         Fix up -launch, make it exit the poll loop when the
14212         pipeline actually changed state.
14213         Fix up warning parsing in -launch.
14214
14215 2005-06-25  Wim Taymans  <wim@fluendo.com>
14216
14217         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
14218         (gst_tee_sink_activate):
14219         Core takes STREAM_LOCK for us now.
14220
14221 2005-06-25  Wim Taymans  <wim@fluendo.com>
14222
14223         * gst/gstelement.c: (gst_element_get_state_func),
14224         (gst_element_set_state):
14225         * gst/gstelement.h:
14226         * gst/gstmessage.c: (gst_message_parse_error),
14227         (gst_message_parse_warning):
14228         Keep track of current target state while performing a state
14229         change so that subclasses can do something interesting.
14230         Fix parsing of warning/error messages when GError is NULL.
14231
14232 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
14233
14234         * docs/gst/Makefile.am:
14235         * docs/gst/gstreamer-docs.sgml:
14236         * docs/gst/gstreamer-sections.txt:
14237         * docs/gst/gstreamer.types:
14238         * docs/gst/tmpl/gstbasesink.sgml:
14239         * docs/gst/tmpl/gstbasesrc.sgml:
14240         * docs/gst/tmpl/gstbin.sgml:
14241         * docs/gst/tmpl/gstcompat.sgml:
14242         * docs/gst/tmpl/gstfakesink.sgml:
14243         * docs/gst/tmpl/gstfakesrc.sgml:
14244         * docs/gst/tmpl/gstfilesink.sgml:
14245         * docs/gst/tmpl/gstfilesrc.sgml:
14246         * docs/gst/tmpl/gstindex.sgml:
14247         * docs/manual/appendix-quotes.xml:
14248         * gst/base/gstbasesrc.h:
14249         * gst/elements/gstfakesrc.h:
14250         * gst/gstmessage.h:
14251           start pulling in base classes and elements in our docs
14252
14253 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
14254
14255         * docs/gst/Makefile.am:
14256         * docs/libs/Makefile.am:
14257           fixed make distcheck with gtk-doc 1.3
14258
14259 2005-06-23  Wim Taymans  <wim@fluendo.com>
14260
14261         * gst/gstelement.c: (gst_element_get_state_func),
14262         (gst_element_set_state), (gst_element_change_state):
14263         When the state did not change, also report NO_PREROLL
14264         when it matters.
14265
14266 2005-06-23  Wim Taymans  <wim@fluendo.com>
14267
14268         * gst/gstpad.c: (gst_pad_event_default):
14269         * gst/gstqueue.c: (gst_queue_loop):
14270         No unsafe task pausing please.
14271
14272 2005-06-23  Wim Taymans  <wim@fluendo.com>
14273
14274         * gst/schedulers/threadscheduler.c:
14275         (gst_thread_scheduler_task_start),
14276         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
14277         Ref the task before pushing it on the threadpool. This
14278         makes sure that we have a ref when the threadfunction is
14279         actually called.
14280
14281 2005-06-23  Andy Wingo  <wingo@pobox.com>
14282
14283         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
14284         offset is greater than the file's size.
14285
14286         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
14287         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
14288         * gst/gstobject.c (gst_object_class_init): Make the class lock
14289         recursive. Wim won't let me drop deep_notify. Decodebin works
14290         again, whoopdy doo.
14291
14292         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
14293         internal pad, and hacks accordingly. Doesn't do it on the target
14294         pad because we change its caps. Probably catches all cases of
14295         interest tho.
14296         (gst_ghost_pad_set_property): Connect to notify::caps as
14297         appropritate.
14298
14299         * tests/network-clock.scm (plot-simulation): Pipe data to the
14300         elite python skript.
14301
14302         * tests/network-clock-utils.scm (define-parameter): New macro,
14303         defines a parameter that can be set via the command line.
14304         (set-parameter!, parse-parameter-arguments): Command line args
14305         parser.
14306
14307         * tests/plot-data: Simple matplotlib-based plotter, takes input on
14308         stdin.
14309
14310 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
14311
14312         * gst/elements/gsttypefindelement.c:
14313         (gst_type_find_element_handle_event):
14314           Don't restart typefinding on a discont.
14315         * gst/gstelement.c: (gst_element_set_state):
14316           Debug spelling fix.
14317         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
14318           Allow changing mode of an active pad.
14319           Debug output fixes.
14320         * gst/registries/gstlibxmlregistry.c: (load_feature):
14321           Don't cast a static pad template to a normal pad template.
14322
14323 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
14324
14325         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
14326         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
14327           remove gst_strtoll completely, since it didn't actually do
14328           anything more than what g_ascii_strtoull already does.
14329           check for range errors when deserializing
14330           do a cast for the unsigned cases; but further fixing needs
14331           a decision on what the interpretation of "(int)" and
14332           deserialization should be for values that fall outside the
14333           type's boundaries (ie, refuse, or interpret as casting)
14334
14335 2005-06-23  Wim Taymans  <wim@fluendo.com>
14336
14337         * check/Makefile.am:
14338         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
14339         * docs/design/part-live-source.txt:
14340         * docs/design/part-states.txt:
14341         * gst/base/gstbasesrc.c: (gst_basesrc_init),
14342         (gst_basesrc_set_live), (gst_basesrc_is_live),
14343         (gst_basesrc_get_range), (gst_basesrc_activate),
14344         (gst_basesrc_change_state):
14345         * gst/base/gstbasesrc.h:
14346         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
14347         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
14348         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
14349         * gst/gstelement.c: (gst_element_get_state_func),
14350         (gst_element_set_state):
14351         * gst/gstelement.h:
14352         * gst/gsttypes.h:
14353         * tools/gst-launch.c: (event_loop), (main):
14354         Added support for live sources and other elements that
14355         cannot do preroll.
14356         Updated design docs, added live-source design doc.
14357         Implemented live source functionality in basesrc
14358         Fix error condition in _bin_get_state()
14359         Implement live source handling in -launch.
14360         Added check for live sources.
14361         Fixed case in GstBin where elements were changed state
14362         multiple times.
14363
14364
14365 2005-06-23  Andy Wingo  <wingo@pobox.com>
14366
14367         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
14368         borken refcounting.
14369
14370         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
14371         gst_caps_replace takes care of this for us.
14372
14373         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
14374         gst_pad_set_caps on the target, not just its setcaps() function.
14375
14376         * tests/network-clock.scm: 
14377         * tests/network-clock-utils.scm: A network clock simulator.
14378         Something of an algorithmic testbed before doing something in C.
14379
14380 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
14381
14382         * check/Makefile.am:
14383         * check/gst/capslist.h:
14384           copy over from 0.8, and add two with bitmasks specified with
14385           (int) 0xFF...
14386         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
14387           add test to parse everything from capslist.h
14388         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
14389         (main):
14390           add test for structure deserialization
14391         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
14392           add tests for deserialization of strings to int types
14393         * gst/gststructure.c: (gst_structure_nth_field_name):
14394         * gst/gststructure.h:
14395           add a way to get the name of a field referenced by index
14396         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
14397           instead of checking if the resulting long long lies between
14398           min and max, we check if the long long would fit into
14399           a number of bytes for the final type.
14400           This fixes cases where a string represents 2^32 - 1, which
14401           when cast to int would be the (valid) -1, but is bigger than
14402           G_MAXINT
14403
14404 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
14405
14406         * gst/parse/grammar.y:
14407           add a log line for type deserialization
14408
14409 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
14410
14411         * check/gst/gstvalue.c: (START_TEST):
14412         * gst/gstvalue.c: (gst_value_deserialize):
14413           return long long, not int, so gint64 deserialization actually
14414           works.  Is there any flag that makes the compiler check this ?
14415           Fixes #308559
14416
14417 2005-06-22  Wim Taymans  <wim@fluendo.com>
14418
14419         * gst/gstbuffer.h:
14420         Added convenience macros for setting buffers in GValue.
14421
14422 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
14423
14424         * check/gst/.cvsignore:
14425         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
14426           add a test deserializing int64, and comment part out because
14427           it fails, yay !
14428
14429 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
14430
14431         * check/Makefile.am:
14432         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
14433         * testsuite/Makefile.am:
14434         * testsuite/caps/Makefile.am:
14435         * testsuite/caps/value_serialize.c:
14436         * testsuite/test_gst_init.c:
14437           move a value_serialize test over
14438
14439 2005-06-20  Wim Taymans  <wim@fluendo.com>
14440
14441         * gst/gstpad.c:
14442         Small doc updates.
14443         
14444         * gst/gstvalue.c: (gst_value_compare_buffer),
14445         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
14446         (gst_value_compare_flags), (gst_value_serialize_flags),
14447         (gst_value_deserialize_flags), (_gst_value_initialize):
14448         Fix serialisation of buffers, they are not boxed types anymore
14449
14450 2005-06-20  Wim Taymans  <wim@fluendo.com>
14451
14452         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
14453         Testcase to show error in buffer-on-caps serialisation.
14454
14455 2005-06-20  Andy Wingo  <wingo@pobox.com>
14456
14457         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
14458         will be adding to later.
14459
14460         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
14461         if its socks fill with rocks.
14462         (gst_system_clock_obtain): Set the name on object construction.
14463         Avoid double-checked locking.
14464
14465 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
14466
14467         * gst/gsturi.c: (gst_element_make_from_uri):
14468           Fix potential endless loop.
14469
14470 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
14471
14472         * check/Makefile.am:
14473           add gsttag
14474         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
14475         (main):
14476           move over from testsuite dir and clean up
14477         * configure.ac:
14478         * gst/gsttag.c:
14479         * testsuite/Makefile.am:
14480         * testsuite/tags/.cvsignore:
14481         * testsuite/tags/Makefile.am:
14482         * testsuite/tags/merge.c:
14483           remove testsuite/tags
14484
14485 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
14486
14487         * docs/gst/gstreamer-sections.txt:
14488         * docs/gst/tmpl/gstenumtypes.sgml:
14489         * win32/gstenumtypes.c:
14490           clean up documentation build a little
14491
14492 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
14493
14494         * check/gstcheck.h:
14495           add macros for checking refcounts on objects and caps
14496         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
14497           add some more unit tests
14498         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
14499         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
14500           fix leaked refcounts (I hope :)) so unittest works
14501         * gst/gstpad.h:
14502           whitespace removal
14503
14504 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
14505
14506         * configure.ac: back to HEAD
14507
14508 === release 0.9.1 ===
14509
14510 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
14511
14512         * NEWS:
14513         * RELEASE:
14514           updated
14515
14516 2005-06-17  Andy Wingo  <wingo@pobox.com>
14517
14518         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
14519         assert; it's always possible that the pad gets deactivated in
14520         between the checks in gstpad.c and the implementation. Rely on
14521         finish_preroll() to return a FLUSHING or similar instead of on the
14522         assert.
14523         
14524         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
14525         clock and post an EOS message if we come out of finish_preroll in
14526         the playing state.
14527
14528 2005-06-16  David Schleef  <ds@schleef.org>
14529
14530         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
14531         (gst_capsfilter_set_property): Allow NULL as possible value
14532         for filter_caps property, indicating GST_CAPS_ANY.
14533
14534 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
14535
14536         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
14537           fix debug output
14538         * gst/schedulers/Makefile.am:
14539           use libgst prefix
14540         * gstreamer.spec.in:
14541           fix spec for it
14542
14543 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
14544
14545         * gstreamer.spec.in:
14546           clean up
14547
14548 2005-06-08  Andy Wingo  <wingo@pobox.com>
14549
14550         * gst/gstutils.c: RPAD fixes all around.
14551         (gst_element_link_pads): Refcounting fixes.
14552
14553         * tools/gst-inspect.c:
14554         * tools/gst-xmlinspect.c:
14555         * parse/grammar.y:
14556         * gst/base/gsttypefindhelper.c:
14557         * gst/base/gstbasesink.c:
14558         * gst/gstqueue.c: RPAD fixes.
14559
14560         * gst/gstghostpad.h:
14561         * gst/gstghostpad.c: New ghost pad implementation as full proxy
14562         pads. The tricky thing is they provide both source and sink
14563         interfaces, since they proxy the internal pad for the external
14564         pad, and vice versa. Implement with lower-level ProxyPad objects,
14565         with the interior proxy pad as a child of the exterior ghost pad.
14566         Should write a doc on this.
14567         
14568         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
14569         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
14570         gst_object API.
14571         
14572         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
14573         pads are real pads. No ghost pads in this file. Not documenting
14574         the myriad s/RPAD/PAD/ and REALIZE fixes.
14575         (gst_pad_class_init): Add properties for "direction" and
14576         "template". Both are construct-only, so they can't change during
14577         the life of the pad. Fixes properly deriving from GstPad.
14578         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
14579         derived objects, just set properties when creating the objects via
14580         g_object_new.
14581         (gst_pad_get_parent): Implement as a function, return NULL if the
14582         parent is not an element.
14583         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
14584         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
14585         
14586         * gst/gstobject.c (gst_object_class_init): Make name a construct
14587         property. Don't set it in the object init.
14588
14589         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
14590         with UNKNOWN direction.
14591         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
14592         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
14593         (gst_element_remove_pad): Remove ghost-pad special cases.
14594         (gst_element_pads_activate): Remove rpad cruft.
14595
14596         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
14597         catch the pad's-parent-not-an-element case.
14598
14599         * gst/gst.h: Include gstghostpad.h.
14600
14601         * gst/gst.c (init_post): No more real, ghost pads.
14602
14603         * gst/Makefile.am: Add gstghostpad.[ch].
14604
14605         * check/Makefile.am:
14606         * check/gst/gstbin.c:
14607         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
14608         into a bin creates ghost pads, and that the refcounts are right.
14609         Partly moved from gstbin.c.
14610
14611 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
14612
14613         * check/gst-libs/.cvsignore:
14614         * check/gst/.cvsignore:
14615         * check/pipelines/.cvsignore:
14616           ignore more
14617         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
14618         (START_TEST), (cleanup_suite), (main):
14619           add some tests related to cleanup after running pipelines
14620
14621 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
14622
14623         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
14624           add a testsuite for GstBuffer
14625
14626 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
14627
14628         * gst/gstminiobject.h:
14629           add defines for accessing the refcount
14630
14631 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
14632
14633         * Makefile.am: added support for html unit test coverage reports
14634
14635 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
14636
14637         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
14638           Free existing caps if the capsfilter changes. Add a FIXME about
14639           setting those caps on the pads.
14640
14641         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
14642           Before adding a ghost pad to a parent bin, check that there isn't
14643           already one for the element on the bin. Prevents infinite recursion
14644           when using decodebin in parse pipelines. Andy says he'll rewrite the
14645           way this works anyway, so ignore the hack.
14646
14647 2005-06-02  Andy Wingo  <wingo@pobox.com>
14648
14649         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
14650         file size, pass it on to the type find helper.
14651
14652         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
14653         segment_start and segment_end properly according to the seek
14654         method. Segment_end is still a bit flaky because offset can be
14655         negative for CUR and END cases, but it takes -1 as an "unset"
14656         value.
14657
14658 2005-06-02  Wim Taymans  <wim@fluendo.com>
14659
14660         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
14661         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
14662         (gst_basesink_activate):
14663         * gst/base/gstbasesink.h:
14664         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
14665         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
14666         (gst_pad_query), (gst_pad_start_task):
14667         * gst/gstpad.h:
14668         * gst/gstqueue.c: (gst_queue_bufferalloc),
14669         (gst_queue_handle_sink_event), (gst_queue_chain):
14670         Bufferalloc: return GstFlowReturn to more accuratly report
14671         why allocation failed.
14672
14673 2005-06-02  Wim Taymans  <wim@fluendo.com>
14674
14675         * gst/gstpipeline.c: (gst_pipeline_send_event):
14676         Take snapshot of state without blocking.
14677
14678 2005-06-02  Wim Taymans  <wim@fluendo.com>
14679
14680         * docs/design/part-TODO.txt:
14681         * docs/design/part-caps.txt:
14682         * docs/design/part-clocks.txt:
14683         * docs/design/part-negotiation.txt:
14684         * docs/design/part-preroll.txt:
14685         Small doc updates 
14686
14687 2005-05-30  Wim Taymans  <wim@fluendo.com>
14688
14689         * gst/elements/gstidentity.c: (gst_identity_event),
14690         (gst_identity_transform), (gst_identity_get_property):
14691         Protect last_message property as it is accessed from
14692         multiple threads.
14693
14694 2005-05-30  Wim Taymans  <wim@fluendo.com>
14695
14696         * gst/gstelement.c: (gst_element_init),
14697         (gst_element_pads_activate), (gst_element_change_state):
14698         Slicker pad activation code.
14699
14700 2005-05-30  Wim Taymans  <wim@fluendo.com>
14701
14702         * gst/Makefile.am:
14703         * gst/gstelement.h:
14704         * gst/gstelementfactory.h:
14705         * gst/gsttypes.h:
14706         Move elementfactory methods to separate .h file.
14707
14708 2005-05-30  Wim Taymans  <wim@fluendo.com>
14709
14710         * docs/design/part-overview.txt:
14711         * gst/gstsystemclock.h:
14712         Small typo fixes, doc updates.
14713
14714 2005-05-30  Wim Taymans  <wim@fluendo.com>
14715
14716         * gst/gst.c: (gst_init_get_popt_table), (init_post),
14717         (init_popt_callback):
14718         Remove cpu-opt flag.
14719
14720 2005-05-30  Wim Taymans  <wim@fluendo.com>
14721
14722         * gst/gstbuffer.c: (gst_subbuffer_finalize),
14723         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
14724         * gst/gstbuffer.h:
14725         Avoid typechecking in places where not needed.
14726         Added accessor for malloc_data.
14727
14728 2005-05-30  Wim Taymans  <wim@fluendo.com>
14729
14730         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
14731         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
14732         (gst_pad_configure_sink), (gst_pad_configure_src),
14733         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
14734         (gst_pad_start_task):
14735         Propagate errors from _set_caps() in configure_src/sink
14736         functions instead of returning TRUE.
14737         FLUSH events can travel up and downstream
14738
14739
14740 2005-05-30  Wim Taymans  <wim@fluendo.com>
14741
14742         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
14743         (gst_basesink_activate):
14744         Handle EOS in preroll.
14745
14746 2005-05-30  Wim Taymans  <wim@fluendo.com>
14747
14748         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
14749         (gst_queue_loop), (gst_queue_handle_src_event):
14750         Remove old pieces of code
14751         Flushing the queue in an upstream event is a very bad idea.
14752
14753 2005-05-26  Andy Wingo  <wingo@pobox.com>
14754
14755         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
14756         gst_value_set_mini_object so as to add a ref on the object (which
14757         will be removed when the value is unset).
14758
14759         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
14760         arg type in ::handoff.
14761
14762         * gst/gstelement.c (gst_element_change_state): Also deactivate
14763         pads in READY->NULL, just in case the element didn't make it to
14764         PAUSED. Wingo tested, Wim approved.
14765
14766 2005-05-26  Wim Taymans  <wim@fluendo.com>
14767
14768         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
14769         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
14770         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
14771         A flushing pad cannot be used to alloc_buffer from.
14772
14773 2005-05-26  Wim Taymans  <wim@fluendo.com>
14774
14775         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
14776         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
14777         (gst_bus_source_dispatch), (gst_bus_source_finalize),
14778         (gst_bus_create_watch), (gst_bus_add_watch_full):
14779         * gst/gstbus.h:
14780         Implement a real GSource and use g_main_context_wakeup() to
14781         signal new messages instead of the socketpair.
14782
14783 2005-05-25  Wim Taymans  <wim@fluendo.com>
14784
14785         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
14786         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
14787         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
14788         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
14789         (gst_pad_send_event), (gst_pad_start_task):
14790         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
14791         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
14792         (gst_queue_sink_activate), (gst_queue_src_activate),
14793         (gst_queue_change_state):
14794         * gst/gstqueue.h:
14795         Fix state changes for non sinks. We now change sinks, then elements
14796         with unconnected srcpads, then the rest.
14797         More efficient queue unlocking in flush and state changes.
14798         Set the pad activate mode even if it does not have an activate
14799         function.
14800
14801 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14802
14803         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
14804           Don't go in pull mode for non-seekable sources.
14805         * gst/elements/gsttypefindelement.h:
14806         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
14807         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
14808         (free_entry), (stop_typefinding),
14809         (gst_type_find_element_handle_event), (find_peek),
14810         (gst_type_find_element_chain), (do_pull_typefind),
14811         (gst_type_find_element_change_state):
14812           Allow typefinding (w/o seeking) in push-mode, simplified version
14813           of what was in 0.8.
14814         * gst/gstutils.c: (gst_buffer_join):
14815         * gst/gstutils.h:
14816           gst_buffer_join() from 0.8.
14817
14818 2005-05-25  Wim Taymans  <wim@fluendo.com>
14819
14820         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
14821         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
14822         (gst_pad_send_event), (gst_pad_start_task):
14823         Disable attempt at mode switching until it is figured out.
14824
14825 2005-05-25  Wim Taymans  <wim@fluendo.com>
14826
14827         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
14828         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
14829         (gst_basesink_finish_preroll), (gst_basesink_chain),
14830         (gst_basesink_loop), (gst_basesink_activate),
14831         (gst_basesink_change_state):
14832         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
14833         (gst_basesrc_get_range), (gst_basesrc_loop),
14834         (gst_basesrc_activate):
14835         * gst/elements/gsttee.c: (gst_tee_sink_activate):
14836         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
14837         (gst_real_pad_init), (gst_real_pad_set_property),
14838         (gst_real_pad_get_property), (gst_pad_set_active),
14839         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
14840         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
14841         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
14842         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
14843         (gst_pad_event_default_dispatch), (gst_pad_event_default),
14844         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
14845         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
14846         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
14847         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
14848         (gst_pad_stop_task):
14849         * gst/gstpad.h:
14850         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
14851         (gst_queue_loop), (gst_queue_src_activate):
14852         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
14853         (gst_task_get_state):
14854         * gst/gsttask.h:
14855         * gst/schedulers/threadscheduler.c:
14856         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
14857         Implement gst_pad_pause/start/stop_task(), take STREAM lock
14858         in task function.
14859         Remove ACTIVE pad flag, use FLUSHING everywhere
14860         Added _pad_chain(), _pad_get_range() to call chain/getrange 
14861         functions.
14862         Add locks around IS_FLUSHING when reading.
14863         Take STREAM lock in chain(), get_range() functions so plugins
14864         don't need to take it anymore.
14865         
14866
14867
14868 2005-05-25  Wim Taymans  <wim@fluendo.com>
14869
14870         * tools/gst-launch.c: (event_loop):
14871         Unref message after using its contents instead of
14872         before.
14873
14874 2005-05-24  Wim Taymans  <wim@fluendo.com>
14875
14876         * docs/design/draft-ghostpads.txt:
14877         * docs/design/draft-push-pull.txt:
14878         * docs/design/draft-query.txt:
14879         * docs/design/part-overview.txt:
14880         Docs updates, added general overview doc.
14881
14882 2005-05-21  David Schleef  <ds@schleef.org>
14883
14884         * docs/gst/tmpl/old/GstBin.sgml:
14885         * docs/gst/tmpl/old/GstBuffer.sgml:
14886         * docs/gst/tmpl/old/GstCaps.sgml:
14887         * docs/gst/tmpl/old/GstClock.sgml:
14888         * docs/gst/tmpl/old/GstCompat.sgml:
14889         * docs/gst/tmpl/old/GstData.sgml:
14890         * docs/gst/tmpl/old/GstElement.sgml:
14891         * docs/gst/tmpl/old/GstEvent.sgml:
14892         * docs/gst/tmpl/old/GstIndex.sgml:
14893         * docs/gst/tmpl/old/GstStructure.sgml:
14894         * docs/gst/tmpl/old/GstTag.sgml:
14895         * docs/gst/tmpl/old/cothreads.sgml:
14896         * docs/gst/tmpl/old/cothreads_compat.sgml:
14897         * docs/gst/tmpl/old/gettext.sgml:
14898         * docs/gst/tmpl/old/gobject2gtk.sgml:
14899         * docs/gst/tmpl/old/grammar.tab.sgml:
14900         * docs/gst/tmpl/old/gst-i18n-app.sgml:
14901         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
14902         * docs/gst/tmpl/old/gst_private.sgml:
14903         * docs/gst/tmpl/old/gstaggregator.sgml:
14904         * docs/gst/tmpl/old/gstarch.sgml:
14905         * docs/gst/tmpl/old/gstatomic_impl.sgml:
14906         * docs/gst/tmpl/old/gstbufferstore.sgml:
14907         * docs/gst/tmpl/old/gstdata_private.sgml:
14908         * docs/gst/tmpl/old/gstdisksink.sgml:
14909         * docs/gst/tmpl/old/gstdisksrc.sgml:
14910         * docs/gst/tmpl/old/gstelementfactory.sgml:
14911         * docs/gst/tmpl/old/gstextratypes.sgml:
14912         * docs/gst/tmpl/old/gstfakesink.sgml:
14913         * docs/gst/tmpl/old/gstfakesrc.sgml:
14914         * docs/gst/tmpl/old/gstfdsink.sgml:
14915         * docs/gst/tmpl/old/gstfdsrc.sgml:
14916         * docs/gst/tmpl/old/gstfilesink.sgml:
14917         * docs/gst/tmpl/old/gstfilesrc.sgml:
14918         * docs/gst/tmpl/old/gsthttpsrc.sgml:
14919         * docs/gst/tmpl/old/gstidentity.sgml:
14920         * docs/gst/tmpl/old/gstindexfactory.sgml:
14921         * docs/gst/tmpl/old/gstmarshal.sgml:
14922         * docs/gst/tmpl/old/gstmd5sink.sgml:
14923         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
14924         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
14925         * docs/gst/tmpl/old/gstpadtemplate.sgml:
14926         * docs/gst/tmpl/old/gstpipefilter.sgml:
14927         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
14928         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
14929         * docs/gst/tmpl/old/gstshaper.sgml:
14930         * docs/gst/tmpl/old/gstspider.sgml:
14931         * docs/gst/tmpl/old/gstspideridentity.sgml:
14932         * docs/gst/tmpl/old/gststatistics.sgml:
14933         * docs/gst/tmpl/old/gsttee.sgml:
14934         * docs/gst/tmpl/old/gsttimecache.sgml:
14935         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
14936         * docs/gst/tmpl/old/gstxmlregistry.sgml:
14937         * docs/gst/tmpl/old/gthread-cothreads.sgml:
14938         * docs/gst/tmpl/old/types.sgml:
14939           I didn't intend to add these or check them in.
14940
14941 2005-05-19  David Schleef  <ds@schleef.org>
14942
14943         * configure.ac: Use -no-common everywhere.  In a sane world, it
14944           would be the default in libtool, because without it, you can't
14945           build DLLs on Windows.
14946         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
14947         * docs/gst/gstreamer-sections.txt:
14948         * docs/gst/tmpl/gstcpu.sgml:
14949         * docs/gst/tmpl/gstdata.sgml:
14950         * docs/gst/tmpl/gstthread.sgml:
14951
14952 2005-05-19  David Schleef  <ds@schleef.org>
14953
14954         * gst/gstminiobject.c: (gst_value_set_mini_object),
14955         (gst_value_take_mini_object), (gst_value_get_mini_object):
14956         * gst/gstminiobject.h: Add GValue set/get functions.
14957
14958 2005-05-19  Wim Taymans  <wim@fluendo.com>
14959
14960         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
14961         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
14962         (gst_subbuffer_init), (gst_buffer_is_span_fast):
14963         * gst/gstbuffer.h:
14964         * gst/gstbus.c: (gst_bus_post):
14965         * gst/gstelement.c: (gst_element_get_random_pad):
14966         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
14967         Make subbufer unref the parent in finalize.
14968         some more debugging info.
14969
14970
14971 2005-05-19  Wim Taymans  <wim@fluendo.com>
14972
14973         * gst/base/gstbasesink.c: (gst_basesink_class_init),
14974         (gst_basesink_init), (gst_basesink_finalize),
14975         (gst_basesink_activate), (gst_basesink_change_state):
14976         Don't free preroll queue too early.
14977
14978 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14979
14980         * gst/Makefile.am:
14981         * gst/ROADMAP:
14982           Hi, I'm outdated. Please shoot me.
14983
14984 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14985
14986         * gst/gstpipeline.c: (gst_pipeline_send_event):
14987           Do not access variables after they have been deleted.
14988
14989 2005-05-19  Wim Taymans  <wim@fluendo.com>
14990
14991         * tools/gst-inspect.c: (print_plugin_features):
14992         A plugin feature does unfortunatly not use the
14993         object name yet...
14994
14995 2005-05-18  Wim Taymans  <wim@fluendo.com>
14996
14997         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
14998         Port _span() functions to new subbuffers.
14999
15000 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15001
15002         * gst/gstbin.c: (gst_bin_add_func):
15003           Fix clock settery in bins when adding kids after the clock has
15004           been selected.
15005
15006 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15007
15008         * gst/elements/gstidentity.c: (gst_identity_class_init):
15009           Workaround until signals support GstMiniObject.
15010
15011 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
15012
15013         * gst/gstbuffer.c:
15014         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
15015
15016 2005-05-18  Wim Taymans  <wim@fluendo.com>
15017
15018         * gst/base/Makefile.am:
15019         * gst/base/gstadapter.c: (gst_adapter_base_init),
15020         (gst_adapter_class_init), (gst_adapter_init),
15021         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
15022         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
15023         (gst_adapter_flush), (gst_adapter_available),
15024         (gst_adapter_available_fast):
15025         * gst/base/gstadapter.h:
15026         Ported and added adapter to the base classes.
15027
15028 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
15029
15030         * gst/gst.c:
15031         * gst/gstmessage.c:
15032           Make sure the class is reffed/unreffed once before threads can be
15033           used.  Fixes #304551.
15034
15035 2005-05-17  Wim Taymans  <wim@fluendo.com>
15036
15037         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
15038         (gst_basesink_chain_unlocked), (gst_basesink_activate):
15039         * gst/gstminiobject.c: (gst_mini_object_get_type),
15040         (gst_mini_object_free):
15041         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
15042         (gst_pad_push), (gst_pad_push_event):
15043         * gst/gstqueue.c: (gst_queue_change_state):
15044         Don't queue buffers in basesink when we are flushing.
15045         Unref buffer when flushing in basesink.
15046         Flush queue when going to READY
15047         Unref buffer when _push() returns an error.
15048         Don't free MiniObject instance when refcount is incremented
15049         in _finalize() so that we can recover objects.
15050
15051 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
15052
15053         * docs/manual/advanced-schedulers.xml:
15054         * docs/manual/appendix-checklist.xml:
15055         * docs/pwg/advanced-clock.xml:
15056         * docs/pwg/advanced-interfaces.xml:
15057         * docs/pwg/advanced-request.xml:
15058         * docs/pwg/advanced-types.xml:
15059         * docs/pwg/intro-preface.xml:
15060         * examples/plugins/example.c: (gst_example_get_type),
15061         (gst_example_class_init), (gst_example_chain),
15062         (gst_example_set_property), (gst_example_get_property),
15063         (gst_example_change_state), (plugin_init):
15064         * examples/plugins/example.h:
15065           small doc fixes
15066
15067 2005-05-17  Wim Taymans  <wim@fluendo.com>
15068
15069         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
15070         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
15071         * gst/gstqueue.c: (gst_queue_change_state):
15072         Clear queue when going to READY.
15073         Remove IN_SETCAPS flag too.
15074
15075 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
15076
15077         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
15078           Remove implicit cast from gboolean to GstElementStateReturn;
15079           make sure we still return failure in paused => ready case if
15080           the parent class fails to change state and our own stop 
15081           vfunc succeeds.
15082
15083 2005-05-17  Wim Taymans  <wim@fluendo.com>
15084
15085         * tools/gst-launch.c: (event_loop):
15086         Message was unreffed too soon.
15087
15088 2005-05-16  Andy Wingo  <wingo@pobox.com>
15089
15090         * gst/gstbin.c (sink_iterator_filter): Err... um...
15091
15092         * check/gst/gstbin.c (test_ghost_pads): New test for the
15093         ghosting-if-elements-not-in-same-bin behavior.
15094
15095 2005-05-16  David Schleef  <ds@schleef.org>
15096
15097         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
15098         accessing refcount directly.
15099
15100 2005-05-15  David Schleef  <ds@schleef.org>
15101
15102         * check/Makefile.am: remove GstData checks
15103         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
15104         * gst/Makefile.am: add miniobject, remove data
15105         * gst/gst.h: add miniobject, remove data
15106         * gst/gstdata.c: remove
15107         * gst/gstdata.h: remove
15108         * gst/gstdata_private.h: remove
15109         * gst/gsttypes.h: remove GstEvent and GstMessage
15110         * gst/gstelement.c: (gst_element_post_message): fix for API changes
15111         * gst/gstmarshal.list: change BOXED -> OBJECT
15112
15113         Implement GstMiniObject.
15114         * gst/gstminiobject.c:
15115         * gst/gstminiobject.h:
15116
15117         Modify to be subclasses of GstMiniObject.
15118         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
15119         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
15120         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
15121         (gst_subbuffer_get_type), (gst_subbuffer_init),
15122         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
15123         (gst_buffer_span):
15124         * gst/gstbuffer.h:
15125         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
15126         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
15127         (_gst_event_copy), (gst_event_new):
15128         * gst/gstevent.h:
15129         * gst/gstmessage.c: (_gst_message_initialize),
15130         (gst_message_get_type), (gst_message_class_init),
15131         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
15132         (gst_message_new), (gst_message_new_error),
15133         (gst_message_new_warning), (gst_message_new_tag),
15134         (gst_message_new_state_changed), (gst_message_new_application):
15135         * gst/gstmessage.h:
15136         * gst/gstprobe.c: (gst_probe_perform),
15137         (gst_probe_dispatcher_dispatch):
15138         * gst/gstprobe.h:
15139         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
15140         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
15141         (_gst_query_copy), (gst_query_new):
15142
15143         Update elements for GstData -> GstMiniObject changes
15144         * gst/gstquery.h:
15145         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
15146         (gst_queue_chain), (gst_queue_loop):
15147         * gst/elements/gstbufferstore.c:
15148         (gst_buffer_store_add_buffer_func),
15149         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
15150         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
15151         (gst_fakesink_render):
15152         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
15153         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
15154         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
15155         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
15156         (gst_filesrc_create_read):
15157         * gst/elements/gstidentity.c: (gst_identity_class_init):
15158         * gst/elements/gsttypefindelement.c:
15159         (gst_type_find_element_src_event), (free_entry_buffers),
15160         (gst_type_find_element_handle_event):
15161         * libs/gst/dataprotocol/dataprotocol.c:
15162         (gst_dp_header_from_buffer):
15163         * libs/gst/dataprotocol/dataprotocol.h:
15164         * libs/gst/dataprotocol/dp-private.h:
15165
15166 2005-05-15  David Schleef  <ds@schleef.org>
15167
15168         * gst/elements/gstelements.c: Don't include headers that were
15169         just removed.
15170
15171 2005-05-15  David Schleef  <ds@schleef.org>
15172
15173         * gst/elements/Makefile.am: Remove some elements that don't
15174         need to be in the core (or even exist at all).
15175         * gst/elements/gstaggregator.c:
15176         * gst/elements/gstaggregator.h:
15177         * gst/elements/gstmd5sink.c:
15178         * gst/elements/gstmd5sink.h:
15179         * gst/elements/gstmultifilesrc.c:
15180         * gst/elements/gstmultifilesrc.h:
15181         * gst/elements/gstpipefilter.c:
15182         * gst/elements/gstpipefilter.h:
15183         * gst/elements/gstshaper.c:
15184         * gst/elements/gstshaper.h:
15185         * gst/elements/gststatistics.c:
15186         * gst/elements/gststatistics.h:
15187         * po/POTFILES.in: Remove above files.
15188
15189 2005-05-14  Andy Wingo  <wingo@pobox.com>
15190
15191         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
15192         so as to get the refs right.
15193         (sink_iterator_filter): New function, wraps bin_element_is_sink,
15194         unreffing objects that don't pass the filter.
15195
15196         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
15197         gst_element_set_bus.
15198         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
15199         normal cases, this will destroy the bus.
15200
15201         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
15202         object.
15203
15204         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
15205         has no sinks.
15206
15207 2005-05-13  Andy Wingo  <wingo@pobox.com>
15208
15209         * gst/gstutils.c (gst_element_link_pads): Instead of calling
15210         gst_pad_link, call pad_link_maybe_ghosting,
15211         (pad_link_maybe_ghosting): Links pads, making sure that the
15212         elements being linked are in the same bin.
15213         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
15214         Helpers for pad_link_maybe_ghosting.
15215
15216 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
15217
15218         * configure.ac:
15219           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
15220
15221 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
15222
15223         * docs/design/part-element-source.txt:
15224           Mention GstPushSrc
15225
15226 2005-05-12  Wim Taymans  <wim@fluendo.com>
15227
15228         * gst/base/gstbasesink.c: (gst_basesink_init),
15229         (gst_basesink_activate):
15230         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
15231         (gst_basesrc_is_seekable):
15232         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
15233         (bin_element_is_sink), (gst_bin_change_state):
15234         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
15235         * gst/gstelement.h:
15236         Identify sinks by their flag to avoid overly complicated
15237         checks (fow now).
15238         Do state changes even for elements not reachable from the
15239         sinks.
15240         BaseSink is a sink now :)
15241         Some more debugging info in the basesrc.
15242
15243
15244 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15245
15246         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
15247           Implement _query on a bin, similar to _send_event.
15248
15249 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
15250
15251         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
15252           Discont event offset format should be GST_FORMAT_BYTES,
15253           not GST_FORMAT_TIME.
15254
15255 2005-05-12  Wim Taymans  <wim@fluendo.com>
15256
15257         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
15258         Same fix as Ronald's but without the signal. 
15259
15260 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15261
15262         * gst/gstutils.c: (gst_element_query_position):
15263           No, an element is not a pad.
15264
15265 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15266
15267         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
15268         (gst_bin_get_state):
15269           If a child is removed from a bin while we remove the child from
15270           the bin and while we're retrieving its state, signal this to the
15271           get_state function so we abort the wait (instead of waiting for
15272           a timeout) and can immediately re-iterate over all other elements.
15273
15274 2005-05-12  Wim Taymans  <wim@fluendo.com>
15275
15276         * gst/base/Makefile.am:
15277         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
15278         (gst_basesrc_start):
15279         * gst/base/gstbasesrc.h:
15280         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
15281         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
15282         (gst_pushsrc_init), (gst_pushsrc_create):
15283         * gst/base/gstpushsrc.h:
15284         Added is_seekable to BaseSrc
15285         Added simple PushSrc.
15286
15287 2005-05-11  Wim Taymans  <wim@fluendo.com>
15288
15289         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
15290         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
15291         (gst_element_link_pads), (gst_element_query_position),
15292         (gst_element_query_convert), (intersect_caps_func),
15293         (gst_pad_query_position), (gst_pad_query_convert):
15294         Fix refcounting in utils function.
15295         No point in trying to activate a pad when it's added, it could
15296         be added from the state change function and then we deadlock, the
15297         element has to decide what to do.
15298
15299 2005-05-10  Andy Wingo  <wingo@pobox.com>
15300
15301         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
15302         *all* the arguments.
15303
15304         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
15305         stream lock if it's a FLUSH_DONE; normal flushes don't get the
15306         lock (according to the docs -- if this is wrong change the docs).
15307
15308         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
15309         flush messages in the NULL state.
15310
15311         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
15312         message immediately and return.
15313         (gst_bus_set_flushing): New function. If a bus is flushing, it
15314         flushes out any queued messages and immediately unrefs new
15315         messages. This is so when an element goes to NULL, all of the
15316         unhandled messages coming from it can be freed, and their
15317         references to the element dropped. In other words: message source
15318         ref considered harmful :P
15319
15320         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
15321         we're finished with it.
15322
15323         * gst/gstmessage.c (gst_message_new_state_changed): 
15324
15325 2005-05-10  Wim Taymans  <wim@fluendo.com>
15326
15327         * gst/gstvalue.c: (gst_value_compare_flags),
15328         (gst_value_serialize_flags), (gst_value_deserialize_flags),
15329         (_gst_value_initialize):
15330         Added flags serialize/deserialize/compare code.
15331
15332 2005-05-09  Andy Wingo  <wingo@pobox.com>
15333
15334         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
15335         Intersect the peer's caps with our caps.
15336
15337 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15338
15339         * gst/base/gsttypefindhelper.c: (helper_find_peek):
15340         * gst/elements/gsttypefindelement.c: (find_peek):
15341           Handle negative offsets better. Fixes decodebin.
15342
15343 2005-05-09  Wim Taymans  <wim@fluendo.com>
15344
15345         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
15346         (gst_base_transform_event):
15347         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
15348         Implement accept_caps.
15349         Fix silly lock/unlock mismatch in base class.
15350
15351 2005-05-09  Wim Taymans  <wim@fluendo.com>
15352
15353         * docs/design/draft-push-pull.txt:
15354         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
15355         * gst/elements/gstfilesink.c: (gst_filesink_init),
15356         (gst_filesink_query):
15357         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
15358         (gst_type_find_handle_src_query), (find_element_get_length):
15359         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
15360         * gst/gstelement.h:
15361         * gst/gstmessage.c:
15362         * gst/gstmessage.h:
15363         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
15364         (gst_real_pad_get_caps_unlocked),
15365         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
15366         (gst_pad_event_default_dispatch), (gst_pad_event_default),
15367         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
15368         (gst_real_pad_dispose), (gst_real_pad_finalize),
15369         (gst_pad_load_and_link), (gst_pad_save_thyself),
15370         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
15371         (gst_pad_check_pull_range), (gst_pad_pull_range),
15372         (gst_pad_template_get_type), (gst_pad_template_class_init),
15373         (gst_pad_template_init), (gst_pad_template_dispose),
15374         (name_is_valid), (gst_static_pad_template_get),
15375         (gst_pad_template_new), (gst_static_pad_template_get_caps),
15376         (gst_pad_template_get_caps), (gst_pad_set_element_private),
15377         (gst_pad_get_element_private), (gst_pad_start_task),
15378         (gst_pad_pause_task), (gst_pad_stop_task),
15379         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
15380         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
15381         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
15382         (gst_ghost_pad_new):
15383         * gst/gstpad.h:
15384         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
15385         (gst_query_new_position), (gst_query_set_position),
15386         (gst_query_parse_position), (gst_query_new_convert),
15387         (gst_query_set_convert), (gst_query_parse_convert):
15388         * gst/gstquery.h:
15389         * gst/gstqueryutils.c:
15390         * gst/gstqueryutils.h:
15391         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
15392         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
15393         (gst_queue_handle_src_query):
15394         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
15395         (gst_element_query_position), (gst_element_query_convert),
15396         (intersect_caps_func), (gst_pad_query_position),
15397         (gst_pad_query_convert):
15398         * gst/gstutils.h:
15399         * tools/gst-inspect.c: (print_pad_info):
15400         * tools/gst-xmlinspect.c: (print_element_info):
15401         Remove old query functions. Ported old code.
15402         Added position/convert helper functions to gstutils.
15403         Reordered gstpad.c code, grouping relevant things.
15404         Remove gst_message_new(), always need to speficy a specific
15405         message.
15406
15407
15408 2005-05-09  Andy Wingo  <wingo@pobox.com>
15409
15410         * gst/gstiterator.h: Add some includes.
15411
15412         * gst/gstqueryutils.h: Include more headers.
15413
15414         * gst/gstpad.h:
15415         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
15416         some uses of gst_pad_query.
15417
15418         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
15419         NULL out parameters.
15420         (gst_query_new_position): New proc, allocates a new position
15421         query.
15422
15423         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
15424         gstqueryutils.c to the build.
15425
15426         * gst/gststructure.c (gst_structure_set_valist): Implement with
15427         the generic G_VALUE_COLLECT.
15428         
15429 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
15430
15431         * gst/Makefile.am: (gst_headers):
15432         Added gstqueryutils.h to the list of headers to install, that was
15433         a 'nachty' move wingo :)
15434
15435 2005-05-06  Andy Wingo  <wingo@pobox.com>
15436
15437         * gst/gstquery.h
15438         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
15439         GstData, init a memchunk.
15440         (standard_definitions): Add a few query types, deprecate a few.
15441         (gst_query_get_type): New proc.
15442         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
15443         implementation.
15444         (gst_query_new_application, gst_query_get_structure): New public
15445         procs.
15446
15447         * docs/design/draft-query.txt: Removed LINKS from the query types,
15448         because all the rest can be dispatched to other pads -- seemed
15449         ugly to have a query that couldn't be dispatched. internal_links
15450         is fine as a pad method.
15451
15452         * gst/gstpad.h: Add query2 as a pad method, add the new functions
15453         in gstpad.c, but maintain binary compatibility for the moment.
15454         Will fix before 0.9 is out.
15455
15456         * gst/gstqueryutils.c: 
15457         * gst/gstqueryutils.h: New files, implement 3 methods for each
15458         query type: parse_query, parse_response, and set. Probably need an
15459         allocator as well.
15460
15461         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
15462
15463         * gst/elements/gstfilesink.c (gst_filesink_query2):
15464         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
15465         query_types, and formats methods.
15466
15467         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
15468         (gst_pad_set_query2_function): New functions.
15469         (gst_real_pad_init): Set query2_default as the default query2
15470         function. Basically just dispatches to internally linked pads.
15471
15472         Needs review!
15473         
15474         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
15475         without using the atomic operations. Only one thread can possibly
15476         be accessing the data at this point. Changed so as to avoid
15477         gst_atomic operations.
15478
15479 2005-05-06  Wim Taymans  <wim@fluendo.com>
15480
15481         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
15482         Also set caps if we use the fallback buffer alloc.
15483
15484 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
15485
15486         * docs/gst/Makefile.am:
15487         * docs/gst/gstreamer-docs.sgml:
15488         * docs/gst/gstreamer-sections.txt:
15489         * docs/gst/tmpl/gstatomic.sgml:
15490         * docs/gst/tmpl/gstmemchunk.sgml:
15491         * testsuite/elements/struct_i386.h:
15492         * win32/GStreamer.vcproj:
15493         * win32/Makefile:
15494           Purge GstAtomic stuff from docs and win32 makefiles as well
15495
15496 2005-05-06  Wim Taymans  <wim@fluendo.com>
15497
15498         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
15499         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
15500         * gst/gstpad.c: (gst_pad_peer_get_caps):
15501         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
15502         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
15503         (gst_queue_src_activate), (gst_queue_change_state):
15504         * gst/gstqueue.h:
15505         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
15506         (intersect_caps_func):
15507         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
15508         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
15509         Some fixes for the peer_get_caps() change.
15510
15511 2005-05-06  Wim Taymans  <wim@fluendo.com>
15512
15513         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
15514         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
15515         (gst_basesink_activate):
15516         Actually do something with error codes returned from the push
15517         functions.
15518
15519 2005-05-06  Wim Taymans  <wim@fluendo.com>
15520
15521         * docs/design/part-element-sink.txt:
15522         * docs/design/part-element-source.txt:
15523         * gst/base/gstbasesink.c: (gst_basesink_class_init),
15524         (gst_basesink_event), (gst_basesink_activate):
15525         * gst/base/gstbasesink.h:
15526         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
15527         (gst_basesrc_activate):
15528         * gst/base/gstbasesrc.h:
15529         * gst/gstelement.c: (gst_element_pads_activate):
15530         Some more documentation.
15531         Fixed scheduling decision in _pads_activate().
15532
15533 2005-05-05  Andy Wingo  <wingo@pobox.com>
15534
15535         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
15536         the test suite.
15537
15538 2005-05-05  Wim Taymans  <wim@fluendo.com>
15539
15540         * gst/base/Makefile.am:
15541         * gst/base/gstbasesink.h:
15542         * gst/base/gstbasesrc.c: (gst_basesrc_init),
15543         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
15544         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
15545         (gst_collectpads_class_init), (gst_collectpads_init),
15546         (gst_collectpads_finalize), (gst_collectpads_new),
15547         (gst_collectpads_set_function), (gst_collectpads_add_pad),
15548         (find_pad), (gst_collectpads_remove_pad),
15549         (gst_collectpads_is_active), (gst_collectpads_collect),
15550         (gst_collectpads_collect_range), (gst_collectpads_start),
15551         (gst_collectpads_stop), (gst_collectpads_peek),
15552         (gst_collectpads_pop), (gst_collectpads_available),
15553         (gst_collectpads_read), (gst_collectpads_flush),
15554         (gst_collectpads_chain):
15555         * gst/base/gstcollectpads.h:
15556         * gst/elements/Makefile.am:
15557         * gst/elements/gstelements.c:
15558         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
15559         (gst_fakesink_get_times), (gst_fakesink_event),
15560         (gst_fakesink_preroll), (gst_fakesink_render):
15561         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
15562         (gst_filesink_init), (gst_filesink_set_location),
15563         (gst_filesink_open_file), (gst_filesink_close_file),
15564         (gst_filesink_pad_query), (gst_filesink_event),
15565         (gst_filesink_render), (gst_filesink_change_state):
15566         * gst/elements/gstfilesink.h:
15567         Added object to help in making collect pad based elements.
15568         Ported filesink.
15569         Make event function in sink baseclass return gboolean.
15570
15571 2005-05-05  Wim Taymans  <wim@fluendo.com>
15572
15573         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
15574         (gst_bin_get_by_name):
15575         * gst/gstbuffer.h:
15576         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
15577         (gst_clock_finalize):
15578         * gst/gstdata.c: (gst_data_replace):
15579         * gst/gstdata.h:
15580         * gst/gstelement.c: (gst_element_request_pad),
15581         (gst_element_pads_activate):
15582         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
15583         (gst_object_unref):
15584         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
15585         (gst_pad_set_checkgetrange_function),
15586         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
15587         (gst_pad_check_pull_range), (gst_pad_pull_range),
15588         (gst_static_pad_template_get_caps), (gst_pad_start_task),
15589         (gst_pad_pause_task), (gst_pad_stop_task):
15590         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
15591         (gst_element_request_pad), (gst_pad_proxy_getcaps):
15592         Fix name lookup in GstBin.
15593         Added _data_replace() function and _buffer_replace()
15594         Use finalize method to clean up clock.
15595         Fix refcounting on request pads.
15596         Fix pad schedule mode error.
15597         Some more object refcounting debug info,
15598
15599
15600 2005-05-04  Andy Wingo <wingo@pobox.com>
15601
15602         * check/Makefile.am:
15603         * docs/gst/tmpl/gstatomic.sgml:
15604         * docs/gst/tmpl/gstplugin.sgml:
15605         * gst/base/gstbasesink.c: (gst_basesink_activate):
15606         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
15607         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
15608         (gst_basesrc_query), (gst_basesrc_set_property),
15609         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
15610         (gst_basesrc_activate):
15611         * gst/base/gstbasesrc.h:
15612         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
15613         (gst_base_transform_src_activate):
15614         * gst/elements/gstelements.c:
15615         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
15616         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
15617         * gst/elements/gsttee.c: (gst_tee_sink_activate):
15618         * gst/elements/gsttypefindelement.c: (find_element_get_length),
15619         (gst_type_find_element_checkgetrange),
15620         (gst_type_find_element_activate):
15621         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
15622         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
15623         (gst_caps_load_thyself):
15624         * gst/gstelement.c: (gst_element_pads_activate),
15625         (gst_element_save_thyself), (gst_element_restore_thyself):
15626         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
15627         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
15628         * gst/gstpad.h:
15629         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
15630         (gst_xml_parse_file), (gst_xml_parse_memory),
15631         (gst_xml_get_element), (gst_xml_make_element):
15632         * gst/indexers/gstfileindex.c: (gst_file_index_load),
15633         (_file_index_id_save_xml), (gst_file_index_commit):
15634         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
15635         (read_enum), (load_pad_template), (load_feature), (load_plugin),
15636         (load_paths):
15637         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
15638         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
15639         * tools/gst-complete.c: (main):
15640         * tools/gst-compprep.c: (main):
15641         * tools/gst-inspect.c: (print_element_properties_info):
15642         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
15643         * tools/gst-xmlinspect.c: (print_element_properties):
15644         GCC 4 fixen.
15645         
15646 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
15647
15648         * gst/gstplugin.c: (gst_plugin_check_module),
15649         (gst_plugin_check_file), (gst_plugin_load_file):
15650             apply patch from #172526 to make register work on MacOSX
15651
15652 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
15653
15654         * docs/gst/tmpl/gstconfig.sgml:
15655         * gst/gstconfig.h.in:
15656           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
15657         * testsuite/debug/printf_extension.c: (main):
15658           Do not use GST_PTR_FORMAT on pointers to types with
15659           sizeof < sizeof(gpointer).  Fixes test on 64-bit
15660         * testsuite/elements/property.h:
15661           use correct printf format
15662
15663 2005-05-02  Wim Taymans  <wim@fluendo.com>
15664
15665         * docs/design/draft-push-pull.txt:
15666         * docs/design/draft-query.txt:
15667         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
15668         (gst_basesrc_start):
15669         Added draft for new query API.
15670         Added draft for better selecting scheduling methods.
15671         Make basesrc ignore length if the subclass does not support
15672         it.
15673
15674 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
15675
15676         * gst/Makefile.am:
15677           possible fixes for automake-1.5 - _LIBADD is reserved
15678
15679 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
15680
15681         * docs/faq/Makefile.am:
15682         * docs/manual/Makefile.am:
15683         * docs/manuals.mak:
15684         * docs/pwg/Makefile.am:
15685         * gst/Makefile.am:
15686           possible fixes for automake-1.5
15687
15688 2005-04-28  Wim Taymans  <wim@fluendo.com>
15689
15690         * gst/base/gstbasesink.c: (gst_basesink_base_init),
15691         (gst_basesink_pad_getcaps), (gst_basesink_init),
15692         (gst_basesink_do_sync):
15693         * gst/gstclock.c: (gst_clock_entry_new):
15694         * gst/gstevent.c: (gst_event_discont_get_value):
15695         * gst/gstpipeline.c: (pipeline_bus_handler),
15696         (gst_pipeline_change_state):
15697         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
15698         Better debugging of clocking info.
15699         Allow NULL values when getting discont values.
15700
15701 2005-04-27  Wim Taymans  <wim@fluendo.com>
15702
15703         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
15704         * check/gst/gstpad.c: (gst_pad_suite):
15705         Increase timeout for checks.
15706
15707 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
15708
15709         * check/Makefile.am:
15710           fix the broken rule for cleanup.  Apparently this rule is
15711           only needed on FC2, so maybe this warrants further autotool
15712           inspection.
15713
15714 2005-04-26  Wim Taymans  <wim@fluendo.com>
15715
15716         * gst/gsttrashstack.h:
15717         Ooohh. a nasty one! After having a failed pop() from the stack,
15718         it's possible that the stack is empty. In that case, don't
15719         follow the NULL pointer.
15720
15721 2005-04-25  Wim Taymans  <wim@fluendo.com>
15722
15723         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
15724         (gst_pad_set_checkgetrange_function),
15725         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
15726         (gst_pad_check_pull_range), (gst_pad_pull_range),
15727         (gst_static_pad_template_get_caps), (gst_pad_start_task),
15728         (gst_pad_pause_task), (gst_pad_stop_task):
15729         * gst/gstplugin.c: (gst_plugin_load):
15730         * gst/gstplugin.h:
15731         Remove gst_library_load as it does more harm than good with
15732         the new g_module flags.
15733         Revert bogus caps template check in pad linking, pad caps
15734         are important when linking not the template, which is more
15735         general than the current caps.
15736
15737 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15738
15739         * gst/autoplug/.cvsignore:
15740         * gst/autoplug/Makefile.am:
15741         * gst/autoplug/gstsearchfuncs.c:
15742         * gst/autoplug/gstsearchfuncs.h:
15743         * gst/autoplug/gstspider.c:
15744         * gst/autoplug/gstspider.h:
15745         * gst/autoplug/gstspideridentity.c:
15746         * gst/autoplug/gstspideridentity.h:
15747         * gst/autoplug/spidertest.c:
15748           Die, spider, die.
15749
15750 2005-04-25  Wim Taymans  <wim@fluendo.com>
15751
15752         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
15753         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
15754         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
15755         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
15756         * gst/gstpad.h:
15757         Added stubs for unimplemented functions. 
15758
15759 2005-04-24  David Schleef  <ds@schleef.org>
15760
15761         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
15762         please fix.
15763
15764 2005-04-24  David Schleef  <ds@schleef.org>
15765
15766         Convert everything from GstAtomicInt to g_atomic_int_*, and
15767         remove gstatomic.
15768         * gst/Makefile.am:
15769         * gst/gstatomic.c:
15770         * gst/gstatomic.h:
15771         * gst/gstatomic_impl.h:
15772         * gst/gstbuffer.c:
15773         * gst/gstcaps.c:
15774         * gst/gstcaps.h:
15775         * gst/gstclock.c:
15776         * gst/gstclock.h:
15777         * gst/gstdata.c:
15778         * gst/gstdata.h:
15779         * gst/gstdata_private.h:
15780         * gst/gstevent.c:
15781         * gst/gstinfo.c:
15782         * gst/gstinfo.h:
15783         * gst/gstmessage.c:
15784         * gst/gstobject.c:
15785         * gst/gstobject.h:
15786         * gst/gststructure.c:
15787         * gst/gststructure.h:
15788         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
15789         * gst/gstutils.h:
15790
15791 2005-04-24  David Schleef  <ds@schleef.org>
15792
15793         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
15794         make the regressions tests work.  Remove some code that is no
15795         longer true.
15796         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
15797         Disable warning for pads without templates.
15798
15799 2005-04-24  David Schleef  <ds@schleef.org>
15800
15801         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
15802         functions that handle filtered links.
15803         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
15804         removed functions.
15805         * gst/gstutils.c: Fix/remove utility functions that handle
15806         filtered caps.
15807         * gst/gstutils.h:
15808         * gst/gstvalue.c: Add serialization/deserialization of caps
15809         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
15810         requires fixing so that the filter caps notation creates
15811         a capsfilter element and sets the filter_caps property.  I
15812         think everyone probably wants to keep the shorthand notation.
15813         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
15814         * docs/gst/tmpl/gstpad.sgml:
15815
15816         * gst/elements/gstelements.c: Register capsfilter element.
15817         * gst/Makefile.am: fix spacing
15818         * docs/random/ds/0.9-suggested-changes: random
15819
15820 2005-04-23  David Schleef  <ds@schleef.org>
15821
15822         * gst/elements/Makefile.am:
15823         * gst/elements/gstcapsfilter.c: New element that acts like an
15824         identity, but filters caps.  Will eventually replace filtered
15825         caps in pad linking.
15826         * gst/gstutils.c: (gst_element_create_all_pads): New function
15827         to create all the ALWAYS pads that are registered with an
15828         element class.  This functionality should eventually be
15829         merged in with GstElement initialization.
15830         * gst/gstutils.h:
15831         * testsuite/trigger/README: part of trigger test code that should
15832         have been checked in a long time ago.
15833
15834 2005-04-23  David Schleef  <ds@schleef.org>
15835
15836         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
15837         needed with new versions of libtool (nobody will confirm this),
15838         and hard to carry around.
15839         * gst/autoplug/Makefile.am:
15840         * gst/base/Makefile.am:
15841         * gst/elements/Makefile.am:
15842         * gst/indexers/Makefile.am:
15843         * gst/schedulers/Makefile.am:
15844         * libs/gst/bytestream/Makefile.am:
15845         * libs/gst/control/Makefile.am:
15846         * libs/gst/dataprotocol/Makefile.am:
15847         * libs/gst/getbits/Makefile.am:
15848
15849 2005-04-21  Wim Taymans  <wim@fluendo.com>
15850
15851         * docs/design/draft-push-pull.txt:
15852         * docs/design/part-MT-refcounting.txt:
15853         * docs/design/part-TODO.txt:
15854         * docs/design/part-caps.txt:
15855         * docs/design/part-events.txt:
15856         * docs/design/part-gstbus.txt:
15857         * docs/design/part-gstpipeline.txt:
15858         * docs/design/part-messages.txt:
15859         * docs/design/part-push-pull.txt:
15860         * docs/design/part-query.txt:
15861         Some more docs.
15862
15863 2005-04-21  Wim Taymans  <wim@fluendo.com>
15864
15865         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
15866         (gst_message_new), (gst_message_new_error),
15867         (gst_message_new_warning), (gst_message_new_tag),
15868         (gst_message_new_state_changed), (gst_message_new_application),
15869         (gst_message_get_structure):
15870         * gst/gstmessage.h:
15871         * gst/gststructure.c: (gst_structure_set_parent_refcount),
15872         (gst_structure_copy_conditional):
15873         Use parent refcount in GstMessage to ensure GstStructure
15874         consistency.
15875         Cleaned up headers a bit.
15876         
15877
15878 2005-04-20  Wim Taymans  <wim@fluendo.com>
15879
15880         * gst/base/gstbasesink.c: (gst_basesink_base_init),
15881         (gst_basesink_pad_getcaps), (gst_basesink_init),
15882         (gst_basesink_chain_unlocked):
15883         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
15884         (gst_type_find_helper):
15885         * gst/elements/gsttypefindelement.c:
15886         (gst_type_find_element_have_type), (gst_type_find_element_init),
15887         (stop_typefinding), (gst_type_find_element_handle_event),
15888         (find_suggest), (gst_type_find_element_chain),
15889         (gst_type_find_element_checkgetrange),
15890         (gst_type_find_element_getrange), (do_typefind),
15891         (gst_type_find_element_activate):
15892         * gst/gstbuffer.c: (_gst_buffer_sub_free),
15893         (gst_buffer_default_free), (gst_buffer_default_copy),
15894         (gst_buffer_set_caps):
15895         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
15896         (gst_caps_replace):
15897         * gst/gstmessage.c: (gst_message_new),
15898         (gst_message_new_state_changed):
15899         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
15900         (gst_pad_set_checkgetrange_function),
15901         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
15902         (gst_pad_set_caps), (gst_pad_check_pull_range),
15903         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
15904         * gst/gstpad.h:
15905         * gst/gsttypefind.c: (gst_type_find_register):
15906         Make gst_caps_replace() work like other _replace() functions.
15907         Use _caps_replace() where possible.
15908         Make sure _message_new() initialises its field.
15909         Add gst_static_pad_template_get_caps()
15910
15911
15912 2005-04-18  Andy Wingo  <wingo@pobox.com>
15913
15914         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
15915         on the peer, not the pad. I think that was a typo. Pass an extra
15916         arg to see if random access is possible. Activate the pads as
15917         PULL_RANGE if possible.
15918
15919         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
15920
15921         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
15922         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
15923         to PROP_....
15924
15925 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15926
15927         * docs/faq/using.xml:
15928           Add note on gstreamer-properties (#154996).
15929
15930 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15931
15932         * docs/random/bbb/optional-properties:
15933           Some analysis on optional properties.
15934
15935 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15936
15937         * docs/gst/tmpl/gstelementfactory.sgml:
15938         * gst/gstelement.h:
15939         * gst/gstelementfactory.c: (gst_element_factory_init),
15940         (gst_element_factory_cleanup), (gst_element_register),
15941         (__gst_element_factory_add_static_pad_template),
15942         (gst_element_factory_get_static_pad_templates),
15943         (gst_element_factory_can_src_caps),
15944         (gst_element_factory_can_sink_caps):
15945         * gst/registries/Makefile.am:
15946         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
15947         (gst_xml_registry_class_init), (gst_xml_registry_init),
15948         (gst_xml_registry_new), (gst_xml_registry_set_property),
15949         (gst_xml_registry_get_property), (get_time), (make_dir),
15950         (gst_xml_registry_get_perms_func),
15951         (plugin_times_older_than_recurse), (plugin_times_older_than),
15952         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
15953         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
15954         (add_to_char_array), (read_string), (read_uint), (read_enum),
15955         (load_pad_template), (load_feature), (load_plugin), (load_paths),
15956         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
15957         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
15958         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
15959         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
15960         (gst_xml_registry_rebuild):
15961         * gst/registries/gstlibxmlregistry.h:
15962         * tools/gst-compprep.c: (main):
15963         * tools/gst-inspect.c: (print_pad_templates_info):
15964         * tools/gst-xmlinspect.c: (print_element_info):
15965           Use libxml2 for registry parsing, use staticpadtemplates in
15966           elementfactories. Makes gst_init() +/- 10x faster.
15967
15968 2005-04-12  Wim Taymans  <wim@fluendo.com>
15969
15970         * gst/base/Makefile.am:
15971         * gst/base/gstbasesink.c: (gst_basesink_base_init),
15972         (gst_basesink_pad_getcaps), (gst_basesink_init),
15973         (gst_basesink_event), (gst_basesink_change_state):
15974         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
15975         (gst_basesrc_init), (gst_basesrc_query),
15976         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
15977         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
15978         (gst_basesrc_check_get_range), (gst_basesrc_loop),
15979         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
15980         (gst_basesrc_stop), (gst_basesrc_activate),
15981         (gst_basesrc_change_state):
15982         * gst/base/gsttypefindhelper.c: (helper_find_peek),
15983         (helper_find_suggest), (gst_type_find_helper):
15984         * gst/base/gsttypefindhelper.h:
15985         * gst/elements/Makefile.am:
15986         * gst/elements/gstelements.c:
15987         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
15988         (gst_fakesink_get_times), (gst_fakesink_event),
15989         (gst_fakesink_preroll), (gst_fakesink_render):
15990         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
15991         (gst_fakesrc_init), (gst_fakesrc_event_handler),
15992         (gst_fakesrc_get_property), (gst_fakesrc_create),
15993         (gst_fakesrc_start), (gst_fakesrc_stop):
15994         * gst/elements/gstfakesrc.h:
15995         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
15996         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
15997         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
15998         (gst_filesrc_create_read), (gst_filesrc_create),
15999         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
16000         (gst_filesrc_start):
16001         * gst/elements/gsttypefindelement.c:
16002         (gst_type_find_element_have_type), (gst_type_find_element_init),
16003         (start_typefinding), (stop_typefinding), (push_buffer_store),
16004         (gst_type_find_element_handle_event),
16005         (gst_type_find_element_chain),
16006         (gst_type_find_element_checkgetrange),
16007         (gst_type_find_element_getrange), (do_typefind),
16008         (gst_type_find_element_activate),
16009         (gst_type_find_element_change_state):
16010         * gst/elements/gsttypefindelement.h:
16011         * gst/gstpipeline.c: (pipeline_bus_handler):
16012         Added typefind helper.
16013         Small preroll fix in the base sink.
16014         Disable typefind code in basesrc.
16015         Crude port of typefindelement.
16016         Fakesrc cleanups.
16017
16018
16019 2005-04-11  Wim Taymans  <wim@fluendo.com>
16020
16021         * check/gst/gstbus.c: (gstbus_suite):
16022         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
16023         * check/gstcheck.h:
16024           Fix up the timeout so that the test does not fail.
16025
16026 2005-04-06  Wim Taymans  <wim@fluendo.com>
16027
16028         * gst/base/README:
16029         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
16030         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
16031         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
16032         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
16033         (gst_basesrc_check_get_range), (gst_basesrc_loop),
16034         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
16035         (gst_basesrc_stop), (gst_basesrc_activate),
16036         (gst_basesrc_change_state), (basesrc_find_peek),
16037         (basesrc_find_suggest), (gst_basesrc_type_find):
16038         * gst/base/gstbasesrc.h:
16039         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
16040         (gst_filesrc_class_init), (gst_filesrc_init),
16041         (gst_filesrc_finalize), (gst_filesrc_set_location),
16042         (gst_filesrc_set_property), (gst_filesrc_get_property),
16043         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
16044         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
16045         (gst_filesrc_create_read), (gst_filesrc_create),
16046         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
16047         * gst/elements/gstfilesrc.h:
16048         * gst/gstelement.c: (gst_element_get_state_func),
16049         (gst_element_lost_state), (gst_element_pads_activate):
16050         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
16051         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
16052         (gst_pad_pull_range):
16053         * gst/gstpad.h:
16054         More work on the generic source base class, implement seeking,
16055         query.
16056         Make filesrc extend the base source class.
16057         Added gst_pad_set_checkgetrange_function to GstPad.
16058
16059 2005-04-06  Andy Wingo  <wingo@pobox.com>
16060
16061         * pkgconfig/gstreamer-base.pc.in:
16062         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
16063
16064         * pkgconfig/Makefile.am:
16065         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
16066
16067 2005-04-04  Wim Taymans  <wim@fluendo.com>
16068
16069         * gst/base/Makefile.am:
16070         * gst/base/README:
16071         * gst/base/gstbasesink.c: (gst_basesink_base_init),
16072         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
16073         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
16074         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
16075         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
16076         (gst_basesrc_base_init), (gst_basesrc_class_init),
16077         (gst_basesrc_init), (gst_basesrc_get_formats),
16078         (gst_basesrc_get_query_types), (gst_basesrc_query),
16079         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
16080         (gst_basesrc_set_property), (gst_basesrc_get_property),
16081         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
16082         (gst_basesrc_loop), (gst_basesrc_activate),
16083         (gst_basesrc_change_state):
16084         * gst/base/gstbasesrc.h:
16085         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
16086         (gst_fakesrc_class_init), (gst_fakesrc_init),
16087         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
16088         (gst_fakesrc_get_property), (gst_fakesrc_create):
16089         * gst/elements/gstfakesrc.h:
16090         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
16091         (gst_filesrc_open_file), (gst_filesrc_loop),
16092         (gst_filesrc_activate), (filesrc_find_peek),
16093         (gst_filesrc_type_find):
16094         Made base source class, make fakesrc extend it.
16095         Add comments to basesink class.
16096         Some filesrc cleanup.
16097
16098 2005-03-31  David Schleef  <ds@schleef.org>
16099
16100         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
16101         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
16102         expected to link against libgstreamer.
16103         * gst/base/Makefile.am: link against libgstreamer
16104         * gst/elements/Makefile.am: same
16105
16106 2005-03-31  Andy Wingo  <wingo@pobox.com>
16107
16108         * tests/instantiate/Makefile.am:
16109         * tests/instantiate/caps.c: Add test to test speed of caps copy
16110         and free.
16111
16112         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
16113         GMemChunk to be fair.
16114
16115         * gst/gsttrashstack.h: Remove warning about using the fallback
16116         trash stack implementation, it's still faster than malloc.
16117
16118 2005-03-30  Andy Wingo  <wingo@pobox.com>
16119
16120         * tests/complexity.c: Add a copyright.
16121
16122 2005-03-31  Wim Taymans  <wim@fluendo.com>
16123
16124         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
16125         (gst_base_transform_class_init), (gst_base_transform_init),
16126         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
16127         (gst_base_transform_get_property),
16128         (gst_base_transform_sink_activate),
16129         (gst_base_transform_src_activate),
16130         (gst_base_transform_change_state):
16131         * gst/base/gstbasetransform.h:
16132         * gst/elements/gstidentity.c: (gst_identity_class_init),
16133         (gst_identity_event), (gst_identity_check_perfect),
16134         (gst_identity_transform), (gst_identity_start),
16135         (gst_identity_stop):
16136         Added start/stop methods to transform base class so subclasses 
16137         don't need to deal with state changes even.
16138
16139 2005-03-31  Wim Taymans  <wim@fluendo.com>
16140
16141         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
16142         (gst_event_new_discontinuous), (gst_event_discont_get_value):
16143         * gst/gstevent.h:
16144         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
16145         (gst_pad_pull_range):
16146         Added rate to the discont event to prepare for variable speed
16147         and reverse playback.
16148
16149 2005-03-29  David Schleef  <ds@schleef.org>
16150
16151         * configure.ac:
16152         * testsuite/trigger/Makefile.am:
16153         * testsuite/trigger/trigger.c: A little example program to show
16154         how trigger-based elements can work.
16155
16156 2005-03-29  Wim Taymans  <wim@fluendo.com>
16157
16158         * gst/base/Makefile.am:
16159         * gst/base/README:
16160         * gst/base/gstbasesink.c: (gst_basesink_get_type),
16161         (gst_basesink_base_init), (gst_basesink_class_init),
16162         (gst_basesink_pad_getcaps), (gst_basesink_init),
16163         (gst_basesink_activate), (gst_basesink_change_state):
16164         * gst/base/gstbasesink.h:
16165         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
16166         (gst_base_transform_base_init), (gst_base_transform_finalize),
16167         (gst_base_transform_class_init), (gst_base_transform_init),
16168         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
16169         (gst_base_transform_event), (gst_base_transform_getrange),
16170         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
16171         (gst_base_transform_set_property),
16172         (gst_base_transform_get_property),
16173         (gst_base_transform_sink_activate),
16174         (gst_base_transform_src_activate),
16175         (gst_base_transform_change_state):
16176         * gst/base/gstbasetransform.h:
16177         * gst/elements/gstidentity.c: (gst_identity_finalize),
16178         (gst_identity_class_init), (gst_identity_init),
16179         (gst_identity_event), (gst_identity_check_perfect),
16180         (gst_identity_transform), (gst_identity_set_property),
16181         (gst_identity_get_property), (gst_identity_change_state):
16182         * gst/elements/gstidentity.h:
16183         * gst/gstelement.c: (gst_element_get_state_func),
16184         (gst_element_lost_state), (gst_element_pads_activate):
16185         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
16186         (gst_pad_check_pull_range), (gst_pad_pull_range):
16187         * gst/gstpad.h:
16188         Simplify pad activation.
16189         Added function to check if pull_range can be performed.
16190         Error out when pulling inactive or flushing pads.
16191         Removed const from refcounted types as it does not make sense.
16192         Simplify pad templates in basesink
16193         Added base class for simple 1-to-1 transforms.
16194         Make identity subclass the base transform.
16195
16196 2005-03-29  Andy Wingo  <wingo@pobox.com>
16197
16198         * docs/libs/gstreamer-libs-overrides.txt: 
16199         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
16200         really don't understand what's going on, but like whatever. I want
16201         green buildbot!
16202
16203         * docs/gst/Makefile.am:
16204         * docs/libs/Makefile.am: Dist the overrides files.
16205
16206         * check/Makefile.am (clean-local): Remove .libs directories.
16207
16208         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
16209         elements to EXTRA_DIST, so po/ files are happy.
16210
16211         * po/POTFILES.in: Er, remove it here.
16212
16213         * po/POTFILES: Remove gstspider.c.
16214
16215         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
16216
16217         * docs/libs/gstreamer-libs-docs.sgml: 
16218         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
16219         bytestream.
16220
16221         * tests/complexity.c (main): Set the length of the preroll queue
16222         on the sinks to prevent a lockup.
16223
16224         * libs/gst/dataprotocol/Makefile.am: 
16225         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
16226         the same as the one in check/gst-libs/gdp.c.
16227
16228         * po/, docs/gst/: Commit automatic changes to docs and po files.
16229
16230         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
16231         the versioned libgstbase.
16232
16233         * check/Makefile.am: Depend on an unversioned gst-register, seems
16234         to make autoconf happier.
16235
16236         * gst/base/Makefile.am: Make libgstbase a versioned lib.
16237
16238 2005-03-28  Wim Taymans  <wim@fluendo.com>
16239
16240         * configure.ac:
16241         * docs/design/part-gstelement.txt:
16242         * docs/design/part-negotiation.txt:
16243         * docs/design/part-preroll.txt:
16244         * docs/design/part-scheduling.txt:
16245         * docs/design/part-states.txt:
16246         * gst/Makefile.am:
16247         * gst/base/Makefile.am:
16248         * gst/base/README:
16249         * gst/base/gstbasesink.c: (gst_basesink_get_template),
16250         (gst_basesink_base_init), (gst_basesink_class_init),
16251         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
16252         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
16253         (gst_basesink_set_pad_functions),
16254         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
16255         (gst_basesink_set_property), (gst_basesink_get_property),
16256         (gst_base_sink_get_template), (gst_base_sink_get_caps),
16257         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
16258         (gst_basesink_preroll_queue_push),
16259         (gst_basesink_preroll_queue_empty),
16260         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
16261         (gst_basesink_event), (gst_basesink_get_times),
16262         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
16263         (gst_basesink_chain_unlocked), (gst_basesink_chain),
16264         (gst_basesink_loop), (gst_basesink_activate),
16265         (gst_basesink_change_state):
16266         * gst/base/gstbasesink.h:
16267         * gst/elements/Makefile.am:
16268         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
16269         (gst_fakesink_class_init), (gst_fakesink_init),
16270         (gst_fakesink_set_property), (gst_fakesink_get_property),
16271         (gst_fakesink_get_times), (gst_fakesink_event),
16272         (gst_fakesink_preroll), (gst_fakesink_render),
16273         (gst_fakesink_change_state):
16274         * gst/elements/gstfakesink.h:
16275         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
16276         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
16277         * gst/gstelement.c: (gst_element_add_pad),
16278         (gst_element_get_state_func), (gst_element_abort_state),
16279         (gst_element_commit_state), (gst_element_lost_state),
16280         (gst_element_set_state), (gst_element_pads_activate):
16281         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
16282         * gst/gstpipeline.c: (gst_pipeline_send_event),
16283         (gst_pipeline_change_state):
16284         Added state change code.
16285         Added/updated docs.
16286         Added sink base class, make fakesink extend the base class.
16287         Small cleanups in GstPipeline.
16288
16289 2005-03-26  David Schleef  <ds@schleef.org>
16290
16291         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
16292         is broken and should be implemented in a different library.
16293         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
16294         * gst/gst.h: remove gstcpu.h
16295         * gst/gstcpu.c: remove
16296         * gst/gstcpu.h: remove
16297         * gst/Makefile.am.future: Remove this file.  It's ancient.
16298
16299 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16300
16301         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
16302         (gst_bin_send_event):
16303           Add default event/set_manager handlers. The set_manager handler
16304           takes care that the manager is distributed over kids that were
16305           already in the bin before the manager was set. The event handler
16306           is a utility virtual function that sends the event over all sinks,
16307           so that gst_element_send_event (bin, event); has the expected
16308           behaviour.
16309         * gst/gstpad.c: (gst_pad_event_default):
16310           Re-install default event handling for discontinuities, so that
16311           seeking works without requiring hacks in applications or extra
16312           code in sinks.
16313         * gst/gstpipeline.c: (gst_pipeline_class_init),
16314         (gst_pipeline_send_event):
16315           Half hack, half utility: set a pipeline to PAUSED for seek events,
16316           since that is the only way we can guarantee a/v sync. Means that
16317           you can do gst_element_seek (pipeline, method, pos); on a pipeline
16318           and it "just works".
16319
16320 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16321
16322         * gst/gstpipeline.c: (gst_pipeline_use_clock):
16323           Lock/unlock mismatch.
16324
16325 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
16326
16327         * docs/faq/gst-uninstalled:
16328           add gst-plugins-base
16329         * docs/gst/Makefile.am:
16330           don't error out until docs are fixed
16331         * docs/gst/gstreamer.types:
16332           remove thread
16333
16334 2005-03-22  Wim Taymans  <wim@fluendo.com>
16335
16336         * check/Makefile.am:
16337         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
16338         * gst/gststructure.c: (gst_structure_set_valist),
16339         (gst_structure_copy_conditional):
16340         Activated more tests.
16341         Added message test.
16342         Added G_TYPE_POINTER to GstStructure.
16343         
16344
16345 2005-03-22  Wim Taymans  <wim@fluendo.com>
16346
16347         * docs/design/part-TODO.txt:
16348         * docs/design/part-events.txt:
16349         * docs/design/part-gstbin.txt:
16350         * docs/design/part-gstbus.txt:
16351         * docs/design/part-gstpipeline.txt:
16352         * docs/design/part-messages.txt:
16353         * gst/gstbus.c:
16354         * gst/gstmessage.c:
16355         Docs updates
16356
16357 2005-03-21  Wim Taymans  <wim@fluendo.com>
16358
16359         * gst/gstbus.c: (gst_bus_post):
16360         Fix copy-and-paste error.
16361
16362 2005-03-21  Wim Taymans  <wim@fluendo.com>
16363
16364         * check/Makefile.am:
16365         * gst/Makefile.am:
16366         * gst/elements/Makefile.am:
16367         * gst/elements/gstelements.c:
16368         * gst/elements/gstfakesink.c: (gst_fakesink_init),
16369         (gst_fakesink_event), (gst_fakesink_chain):
16370         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
16371         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
16372         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
16373         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
16374         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
16375         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
16376         (gst_fakesrc_loop), (gst_fakesrc_activate),
16377         (gst_fakesrc_change_state):
16378         * gst/elements/gstfakesrc.h:
16379         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
16380         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
16381         (gst_filesrc_open_file), (gst_filesrc_loop),
16382         (gst_filesrc_activate), (gst_filesrc_change_state),
16383         (filesrc_find_peek), (filesrc_find_suggest),
16384         (gst_filesrc_type_find):
16385         * gst/elements/gstidentity.c: (gst_identity_finalize),
16386         (gst_identity_class_init), (gst_identity_init),
16387         (gst_identity_proxy_getcaps), (identity_queue_push),
16388         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
16389         (gst_identity_getrange), (gst_identity_chain),
16390         (gst_identity_sink_loop), (gst_identity_src_loop),
16391         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
16392         (gst_identity_set_property), (gst_identity_get_property),
16393         (gst_identity_change_state):
16394         * gst/elements/gstidentity.h:
16395         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
16396         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
16397         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
16398         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
16399         (gst_tee_sink_activate):
16400         * gst/elements/gsttee.h:
16401         * gst/gst.c: (gst_register_core_elements), (init_post):
16402         * gst/gst.h:
16403         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
16404         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
16405         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
16406         (gst_bin_change_state):
16407         * gst/gstbin.h:
16408         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
16409         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
16410         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
16411         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
16412         (gst_bus_set_sync_handler), (gst_bus_create_watch),
16413         (bus_watch_callback), (bus_watch_destroy),
16414         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
16415         (poll_timeout), (gst_bus_poll):
16416         * gst/gstbus.h:
16417         * gst/gstcaps.h:
16418         * gst/gstdata.h:
16419         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
16420         (gst_element_post_message), (gst_element_message_full),
16421         (gst_element_get_state_func), (gst_element_get_state),
16422         (gst_element_abort_state), (gst_element_commit_state),
16423         (gst_element_lost_state), (gst_element_set_state),
16424         (gst_element_pads_activate), (gst_element_change_state),
16425         (gst_element_dispose), (gst_element_set_manager_func),
16426         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
16427         (gst_element_set_manager), (gst_element_get_manager),
16428         (gst_element_set_bus), (gst_element_get_bus),
16429         (gst_element_set_scheduler), (gst_element_get_scheduler):
16430         * gst/gstelement.h:
16431         * gst/gstevent.c: (gst_event_new_segment_seek),
16432         (gst_event_new_flush):
16433         * gst/gstevent.h:
16434         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
16435         (_gst_message_free), (gst_message_get_type), (gst_message_new),
16436         (gst_message_new_eos), (gst_message_new_error),
16437         (gst_message_new_warning), (gst_message_new_tag),
16438         (gst_message_new_state_changed), (gst_message_new_application),
16439         (gst_message_get_structure), (gst_message_parse_tag),
16440         (gst_message_parse_state_changed), (gst_message_parse_error),
16441         (gst_message_parse_warning):
16442         * gst/gstmessage.h:
16443         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
16444         (gst_real_pad_set_property), (gst_pad_set_active),
16445         (gst_pad_is_active), (gst_pad_set_blocked_async),
16446         (gst_pad_set_blocked), (gst_pad_is_blocked),
16447         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
16448         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
16449         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
16450         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
16451         (gst_pad_link_filtered), (gst_pad_relink_filtered),
16452         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
16453         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
16454         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
16455         (gst_pad_set_caps), (gst_pad_configure_sink),
16456         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
16457         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
16458         (gst_real_pad_dispose), (gst_real_pad_finalize),
16459         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
16460         (gst_pad_event_default_dispatch), (gst_pad_event_default),
16461         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
16462         * gst/gstpad.h:
16463         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
16464         (pipeline_bus_handler), (gst_pipeline_change_state),
16465         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
16466         * gst/gstpipeline.h:
16467         * gst/gstprobe.h:
16468         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
16469         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
16470         (gst_queue_link_src), (gst_queue_bufferalloc),
16471         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
16472         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
16473         (gst_queue_loop), (gst_queue_handle_src_event),
16474         (gst_queue_handle_src_query), (gst_queue_src_activate),
16475         (gst_queue_change_state):
16476         * gst/gstqueue.h:
16477         * gst/gstscheduler.c: (gst_scheduler_init),
16478         (gst_scheduler_dispose), (gst_scheduler_create_task),
16479         (gst_scheduler_factory_create):
16480         * gst/gstscheduler.h:
16481         * gst/gststructure.c: (gst_structure_get_type),
16482         (gst_structure_copy_conditional):
16483         * gst/gststructure.h:
16484         * gst/gsttaginterface.h:
16485         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
16486         (gst_task_init), (gst_task_dispose), (gst_task_create),
16487         (gst_task_get_state), (gst_task_start), (gst_task_stop),
16488         (gst_task_pause):
16489         * gst/gsttask.h:
16490         * gst/gstthread.c:
16491         * gst/gstthread.h:
16492         * gst/gsttypes.h:
16493         * gst/schedulers/Makefile.am:
16494         * gst/schedulers/cothreads_compat.h:
16495         * gst/schedulers/entryscheduler.c:
16496         * gst/schedulers/faircothreads.c:
16497         * gst/schedulers/faircothreads.h:
16498         * gst/schedulers/fairscheduler.c:
16499         * gst/schedulers/gstbasicscheduler.c:
16500         * gst/schedulers/gstoptimalscheduler.c:
16501         * gst/schedulers/gthread-cothreads.h:
16502         * gst/schedulers/threadscheduler.c:
16503         (gst_thread_scheduler_task_get_type),
16504         (gst_thread_scheduler_task_class_init),
16505         (gst_thread_scheduler_task_init),
16506         (gst_thread_scheduler_task_start),
16507         (gst_thread_scheduler_task_stop),
16508         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
16509         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
16510         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
16511         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
16512         (plugin_init):
16513         * libs/gst/Makefile.am:
16514         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
16515         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
16516         (gst_file_pad_parent_set):
16517         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
16518         (gst_dp_event_from_packet):
16519         * tests/complexity.c: (main):
16520         * tests/mass_elements.c: (main):
16521         * testsuite/states/locked.c: (message_received), (main):
16522         * testsuite/states/parent.c: (main):
16523         * tools/gst-inspect.c: (print_element_flag_info),
16524         (print_implementation_info), (print_pad_info):
16525         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
16526         (main):
16527         * tools/gst-md5sum.c: (event_loop), (main):
16528         * tools/gst-typefind.c: (main):
16529         * tools/gst-xmlinspect.c: (print_element_info):
16530         Next big merge.
16531         Added GstBus for mainloop integration.
16532         Added GstMessage for sending notifications on the bus.
16533         Added GstTask as an abstraction for pipeline entry points.
16534         Removed GstThread.
16535         Removed Schedulers.
16536         Simplified GstQueue for multithreaded core.
16537         Made _link threadsafe, removed old capsnego.
16538         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
16539         Added pad blocking functions.
16540         Reworked scheduling functions in GstPad to prepare for
16541         scheduling updates soon.
16542         Moved events out of data stream.
16543         Simplified GstEvent types.
16544         Added return values to push/pull.
16545         Removed clocking from GstElement.
16546         Added prototypes for state change function for next merge.
16547         Removed iterate from bins and state change management.
16548         Fixed some elements, disabled others for now.
16549         Fixed -inspect and -launch.
16550         Added check for GstBus.
16551
16552 2005-03-10  Wim Taymans  <wim@fluendo.com>
16553
16554         * docs/design/part-MT-refcounting.txt:
16555         * docs/design/part-clocks.txt:
16556         * docs/design/part-gstelement.txt:
16557         * docs/design/part-gstobject.txt:
16558         * docs/design/part-standards.txt:
16559         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
16560         (gst_bin_remove_func), (gst_bin_remove):
16561         * gst/gstbin.h:
16562         * gst/gstbuffer.c:
16563         * gst/gstcaps.h:
16564         * testsuite/clock/clock1.c: (main):
16565         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
16566         (main):
16567         * testsuite/dlopen/loadgst.c: (do_test):
16568         * testsuite/refcounting/bin.c: (add_remove_test1),
16569         (add_remove_test2), (main):
16570         * testsuite/refcounting/element.c: (main):
16571         * testsuite/refcounting/element_pad.c: (main):
16572         * testsuite/refcounting/pad.c: (main):
16573         * tools/gst-launch.c: (sigint_handler_sighandler):
16574         * tools/gst-typefind.c: (main):
16575         Doc updates.
16576         Added doc about clock.
16577         removed gst_bin_iterate_recurse_up(), marked methods
16578         for removal.
16579         Fix more testsuites.
16580
16581 2005-03-09  Wim Taymans  <wim@fluendo.com>
16582
16583         * gst/gstpad.c: (gst_pad_get_direction),
16584         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
16585         (gst_pad_collect_valist):
16586         * testsuite/bins/interface.c: (main):
16587         * testsuite/caps/audioscale.c: (test_caps):
16588         * testsuite/caps/caps.c: (test1), (test2), (test3):
16589         * testsuite/caps/deserialize.c: (main):
16590         * testsuite/caps/enumcaps.c: (main):
16591         * testsuite/caps/filtercaps.c: (main):
16592         * testsuite/caps/intersect2.c: (main):
16593         * testsuite/caps/random.c: (main):
16594         * testsuite/caps/renegotiate.c: (my_fixate), (main):
16595         * testsuite/caps/sets.c: (check_caps):
16596         * testsuite/caps/simplify.c: (check_caps), (main):
16597         * testsuite/caps/subtract.c: (check_caps):
16598         Fix _pad_get_direction wrt ghostpads.
16599         Fix caps testsuite.
16600
16601 2005-03-09  Wim Taymans  <wim@fluendo.com>
16602
16603         * check/Makefile.am:
16604         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
16605         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
16606         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
16607         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
16608         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
16609         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
16610         (gst_bin_remove), (gst_bin_iterate_recurse_up),
16611         (bin_element_is_sink), (gst_bin_iterate_sinks),
16612         (gst_bin_iterate_all_by_interface):
16613         * gst/gstbin.h:
16614         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
16615         (gst_element_change_state), (gst_element_dispose),
16616         (gst_element_finalize), (gst_element_set_loop_function):
16617         * gst/gstelement.h:
16618         * gst/gstiterator.c: (find_custom_fold_func):
16619         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
16620         (gst_pad_collectv), (gst_pad_collect_valist),
16621         (gst_pad_template_new):
16622         * gst/gstpipeline.c: (gst_pipeline_class_init),
16623         (gst_pipeline_dispose), (gst_pipeline_set_property),
16624         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
16625         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
16626         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
16627         * gst/gstutils.h:
16628         * gst/schedulers/entryscheduler.c:
16629         * gst/schedulers/gstbasicscheduler.c:
16630         (gst_basic_scheduler_cothreaded_chain),
16631         (gst_basic_scheduler_chain_add_element):
16632         * testsuite/bins/interface.c: (main):
16633         Added GstBin test.
16634         Added GstSystemClock test.
16635         Implemented clock distribution code in GstBin.
16636         Implemented iterate sinks method for future use.
16637         Rearranged gstelement.h
16638         Fix GstIterator comparison bug.
16639         Moved some code to GstPipeline, mostly clocking related.
16640
16641 2005-03-09  Wim Taymans  <wim@fluendo.com>
16642
16643         * configure.ac:
16644         * gst/gst_private.h:
16645         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
16646         (gst_bin_remove_func), (gst_bin_remove),
16647         (gst_bin_get_by_name_recurse_up):
16648         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
16649         (gst_clock_id_compare_func), (gst_clock_id_wait),
16650         (gst_clock_id_wait_async), (gst_clock_init),
16651         (gst_clock_adjust_unlocked), (gst_clock_get_time):
16652         * gst/gstelement.h:
16653         * gst/gstinfo.c: (_gst_debug_init):
16654         * gst/gstobject.h:
16655         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
16656         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
16657         * gst/gstpad.h:
16658         Bump version number, we're now 0.9.0
16659         Add future debugging category.
16660         Fix NULL _unref() in _get_by_name_recurse_up
16661         Rearrange gstpad.h.
16662         Update some docs.
16663
16664 2005-03-08  Wim Taymans  <wim@fluendo.com>
16665
16666         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
16667         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
16668         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
16669         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
16670         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
16671         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
16672         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
16673         * gst/elements/gstidentity.c: (gst_identity_class_init):
16674         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
16675         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
16676         * gst/elements/gstshaper.c: (gst_shaper_class_init):
16677         * gst/elements/gststatistics.c: (gst_statistics_class_init):
16678         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
16679         (gst_tee_link):
16680         * gst/gstelement.c: (gst_element_class_init),
16681         (gst_element_base_class_init), (gst_element_init),
16682         (gst_element_get_random_pad), (gst_element_wait_state_change),
16683         (gst_element_change_state), (gst_element_dispose),
16684         (gst_element_finalize), (gst_element_set_loop_function):
16685         * gst/gstelement.h:
16686         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
16687         * gst/gstthread.c: (gst_thread_class_init),
16688         (gst_thread_release_children_locks), (gst_thread_change_state):
16689         * gst/schedulers/gstbasicscheduler.c:
16690         (gst_basic_scheduler_loopfunc_wrapper),
16691         (gst_basic_scheduler_chain_wrapper),
16692         (gst_basic_scheduler_src_wrapper),
16693         (gst_basic_scheduler_remove_element):
16694         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
16695         Remove threadsafe properties. Fix elements because GObject
16696         complains when installing a property before declaring a
16697         set/get_property handler.
16698         Rearrange gstelement.h file, use STATE macros for state locks.
16699         Free mutexes in the finalize method instead of dispose.
16700
16701 2005-03-08  Wim Taymans  <wim@fluendo.com>
16702
16703         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
16704         * gst/gstthread.c: (gst_thread_release_children_locks):
16705         Added parentage check.
16706         Fix build og GstThread again.
16707
16708 2005-03-08  Wim Taymans  <wim@fluendo.com>
16709
16710         * docs/design/part-MT-refcounting.txt:
16711         * docs/design/part-conventions.txt:
16712         * docs/design/part-gstobject.txt:
16713         * docs/design/part-relations.txt:
16714         * docs/design/part-standards.txt:
16715         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
16716         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
16717         (gst_bin_get_by_name), (gst_bin_get_by_interface),
16718         (gst_bin_iterate_all_by_interface):
16719         * gst/gstbuffer.h:
16720         * gst/gstclock.h:
16721         * gst/gstelement.c: (gst_element_class_init),
16722         (gst_element_change_state), (gst_element_set_loop_function):
16723         * gst/gstelement.h:
16724         * gst/gstiterator.c:
16725         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
16726         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
16727         (gst_object_dispatch_properties_changed), (gst_object_set_name),
16728         (gst_object_set_parent), (gst_object_unparent),
16729         (gst_object_check_uniqueness):
16730         * gst/gstobject.h:
16731         Docs updates, clean up some headers.
16732
16733 2005-03-07  Wim Taymans  <wim@fluendo.com>
16734
16735         * check/.cvsignore:
16736         * check/Makefile.am:
16737         * check/gst-libs/.cvsignore:
16738         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
16739         * check/gst/.cvsignore:
16740         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
16741         (START_TEST), (gstbus_suite), (main):
16742         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
16743         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
16744         (gst_data_suite), (main):
16745         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
16746         (add_fold_func), (gstiterator_suite), (main):
16747         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
16748         (thread_name_object), (thread_name_object_default),
16749         (gst_object_name_compare), (gst_object_suite), (main):
16750         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
16751         (gst_pad_suite), (main):
16752         * check/gstcheck.c: (gst_check_log_message_func),
16753         (gst_check_log_critical_func), (gst_check_init):
16754         * check/gstcheck.h:
16755         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
16756         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
16757         Added checks.
16758
16759 2005-03-07  Wim Taymans  <wim@fluendo.com>
16760
16761         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
16762         (gst_list_iterator_next), (gst_list_iterator_resync),
16763         (gst_list_iterator_free), (gst_iterator_new_list),
16764         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
16765         (gst_iterator_free), (gst_iterator_push), (filter_next),
16766         (filter_resync), (filter_uninit), (filter_free),
16767         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
16768         (gst_iterator_foreach), (find_custom_fold_func),
16769         (gst_iterator_find_custom):
16770         * gst/gstiterator.h:
16771         Added missing files.
16772
16773 2005-03-07  Wim Taymans  <wim@fluendo.com>
16774
16775         * Makefile.am:
16776         * configure.ac:
16777         * docs/design/part-MT-refcounting.txt:
16778         * docs/design/part-conventions.txt:
16779         * docs/design/part-gstobject.txt:
16780         * docs/design/part-relations.txt:
16781         * examples/mixer/mixer.c: (main):
16782         * examples/thread/thread.c: (eos), (main):
16783         * gst/Makefile.am:
16784         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
16785         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
16786         (gst_spider_plug_from_srcpad):
16787         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
16788         (gst_spider_identity_change_state),
16789         (gst_spider_identity_sink_loop_type_finding):
16790         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
16791         * gst/elements/gstidentity.c: (gst_identity_init):
16792         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
16793         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
16794         * gst/elements/gsttypefindelement.c: (free_entry):
16795         * gst/gst.c:
16796         * gst/gst.h:
16797         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
16798         (gst_bin_set_clock_func), (gst_bin_auto_clock),
16799         (gst_bin_set_index), (gst_bin_set_element_sched),
16800         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
16801         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
16802         (gst_bin_iterate_elements), (iterate_child_recurse),
16803         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
16804         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
16805         (compare_interface), (gst_bin_get_by_interface),
16806         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
16807         * gst/gstbin.h:
16808         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
16809         (gst_buffer_default_free), (gst_buffer_default_copy),
16810         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
16811         (gst_buffer_create_sub):
16812         * gst/gstbuffer.h:
16813         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
16814         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
16815         (gst_caps_unref), (gst_static_caps_get),
16816         (gst_caps_remove_and_get_structure), (gst_caps_append),
16817         (gst_caps_append_structure), (gst_caps_remove_structure),
16818         (gst_caps_copy_nth), (gst_caps_set_simple),
16819         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
16820         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
16821         (gst_caps_structure_intersect_field), (gst_caps_intersect),
16822         (gst_caps_structure_subtract_field), (gst_caps_subtract),
16823         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
16824         (gst_caps_structure_figure_out_union),
16825         (gst_caps_switch_structures), (gst_caps_do_simplify),
16826         (gst_caps_replace), (gst_caps_from_string),
16827         (gst_caps_copy_conditional):
16828         * gst/gstcaps.h:
16829         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
16830         (_gst_clock_id_free), (gst_clock_id_unref),
16831         (gst_clock_id_compare_func), (gst_clock_id_wait),
16832         (gst_clock_id_wait_async), (gst_clock_class_init),
16833         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
16834         (gst_clock_get_time), (gst_clock_set_time_adjust),
16835         (gst_clock_set_property), (gst_clock_get_property):
16836         * gst/gstclock.h:
16837         * gst/gstcompat.h:
16838         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
16839         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
16840         * gst/gstdata.h:
16841         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
16842         (gst_element_requires_clock), (gst_element_provides_clock),
16843         (gst_element_set_clock), (gst_element_clock_wait),
16844         (gst_element_wait), (gst_element_set_time_delay),
16845         (gst_element_is_indexable), (gst_element_add_pad),
16846         (gst_element_add_ghost_pad), (gst_element_remove_pad),
16847         (pad_compare_name), (gst_element_get_static_pad),
16848         (gst_element_request_pad), (gst_element_get_request_pad),
16849         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
16850         (gst_element_class_get_pad_template_list),
16851         (gst_element_class_get_pad_template), (gst_element_error_func),
16852         (gst_element_get_random_pad), (gst_element_get_event_masks),
16853         (gst_element_send_event), (gst_element_seek),
16854         (gst_element_get_query_types), (gst_element_query),
16855         (gst_element_get_formats), (gst_element_convert),
16856         (gst_element_is_locked_state), (gst_element_set_locked_state),
16857         (gst_element_sync_state_with_parent), (gst_element_change_state),
16858         (gst_element_finalize), (gst_element_yield),
16859         (gst_element_interrupt), (gst_element_set_scheduler),
16860         (gst_element_get_scheduler), (gst_element_set_loop_function):
16861         * gst/gstelement.h:
16862         * gst/gstevent.h:
16863         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
16864         (gst_format_get_by_nick), (gst_format_get_details),
16865         (gst_format_iterate_definitions):
16866         * gst/gstformat.h:
16867         * gst/gstindex.c: (gst_index_gtype_resolver):
16868         * gst/gstinfo.c:
16869         * gst/gstinfo.h:
16870         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
16871         (gst_mem_chunk_free):
16872         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
16873         (gst_object_ref), (gst_object_unref), (gst_object_sink),
16874         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
16875         (gst_object_dispatch_properties_changed),
16876         (gst_object_set_name_default), (gst_object_set_name),
16877         (gst_object_get_name), (gst_object_set_name_prefix),
16878         (gst_object_get_name_prefix), (gst_object_set_parent),
16879         (gst_object_get_parent), (gst_object_unparent),
16880         (gst_object_check_uniqueness), (gst_object_save_thyself),
16881         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
16882         (gst_object_set_property), (gst_object_get_property),
16883         (gst_object_get_path_string):
16884         * gst/gstobject.h:
16885         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
16886         (gst_real_pad_init), (gst_real_pad_get_property),
16887         (gst_pad_custom_new), (gst_pad_get_direction),
16888         (gst_pad_set_active), (gst_pad_is_active),
16889         (gst_pad_set_event_function), (gst_pad_is_linked),
16890         (gst_pad_link_free), (gst_pad_link_intersect),
16891         (gst_pad_link_fixate), (gst_pad_set_caps),
16892         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
16893         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
16894         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
16895         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
16896         (gst_pad_get_caps), (gst_pad_peer_get_caps),
16897         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
16898         (gst_pad_realize), (gst_pad_get_allowed_caps),
16899         (gst_real_pad_dispose), (gst_real_pad_finalize),
16900         (gst_pad_collectv), (gst_pad_collect_valist),
16901         (gst_pad_template_dispose), (gst_pad_template_new),
16902         (gst_pad_get_internal_links):
16903         * gst/gstpad.h:
16904         * gst/gstpipeline.c: (gst_pipeline_dispose),
16905         (gst_pipeline_change_state):
16906         * gst/gstpipeline.h:
16907         * gst/gstplugin.c:
16908         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
16909         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
16910         * gst/gstpluginfeature.h:
16911         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
16912         * gst/gstquery.c: (_gst_query_type_initialize),
16913         (gst_query_type_register), (gst_query_type_get_by_nick),
16914         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
16915         * gst/gstquery.h:
16916         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
16917         * gst/gstscheduler.c: (gst_scheduler_add_element),
16918         (gst_scheduler_factory_create):
16919         * gst/gststructure.c: (gst_structure_set_parent_refcount),
16920         (gst_structure_free), (gst_structure_set_name),
16921         (gst_structure_id_set_value), (gst_structure_set_value),
16922         (gst_structure_set_valist), (gst_structure_remove_field),
16923         (gst_structure_remove_fields),
16924         (gst_structure_remove_fields_valist),
16925         (gst_structure_remove_all_fields), (gst_structure_foreach),
16926         (gst_structure_map_in_place),
16927         (gst_caps_structure_fixate_field_nearest_int),
16928         (gst_caps_structure_fixate_field_nearest_double):
16929         * gst/gststructure.h:
16930         * gst/gstsystemclock.c: (gst_system_clock_class_init),
16931         (gst_system_clock_init), (gst_system_clock_dispose),
16932         (gst_system_clock_async_thread),
16933         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
16934         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
16935         * gst/gstsystemclock.h:
16936         * gst/gsttag.c: (gst_tag_list_add_value_internal),
16937         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
16938         * gst/gsttaginterface.c:
16939         * gst/gstthread.c: (gst_thread_dispose),
16940         (gst_thread_release_children_locks), (gst_thread_change_state),
16941         (gst_thread_main_loop):
16942         * gst/gsttrashstack.h:
16943         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
16944         * gst/gsttypes.h:
16945         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
16946         (gst_element_request_pad), (gst_element_get_pad_from_template),
16947         (gst_element_request_compatible_pad),
16948         (gst_element_get_compatible_pad_filtered),
16949         (gst_element_get_compatible_pad), (gst_element_state_get_name),
16950         (gst_element_link_pads_filtered), (gst_element_link_filtered),
16951         (gst_element_link_many), (gst_element_link),
16952         (gst_element_link_pads), (gst_element_unlink_pads),
16953         (gst_element_unlink_many), (gst_element_unlink),
16954         (gst_pad_can_link_filtered), (gst_pad_can_link),
16955         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
16956         (gst_object_default_error), (gst_bin_add_many),
16957         (gst_bin_remove_many), (gst_element_populate_std_props),
16958         (gst_element_class_install_std_props), (gst_buffer_merge),
16959         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
16960         (link_fold_func), (gst_pad_proxy_setcaps):
16961         * gst/gstutils.h:
16962         * gst/gstvalue.c: (gst_value_deserialize_string):
16963         * gst/parse/grammar.y:
16964         * gst/schedulers/gstbasicscheduler.c:
16965         (gst_basic_scheduler_cothreaded_chain),
16966         (gst_basic_scheduler_chain_recursive_add),
16967         (gst_basic_scheduler_pad_link):
16968         * gst/schedulers/gstoptimalscheduler.c:
16969         (get_group_schedule_function),
16970         (gst_opt_scheduler_state_transition),
16971         (gst_opt_scheduler_add_element), (element_get_reachables_func):
16972         * libs/gst/bytestream/bytestream.c:
16973         * libs/gst/dataprotocol/dataprotocol.c:
16974         (gst_dp_header_from_buffer):
16975         * po/nb.po:
16976         * po/ru.po:
16977         * tests/threadstate/threadstate2.c: (eos):
16978         * tools/gst-compprep.c: (main):
16979         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
16980         (print_pad_info), (print_children_info):
16981         * tools/gst-launch.c: (idle_func), (main):
16982         * tools/gst-md5sum.c: (idle_func), (main):
16983         * tools/gst-xmlinspect.c: (print_element_info):
16984         First THREADED backport attempt, focusing on adding locks and
16985         making sure the API is threadsafe. Needs more work. More docs
16986         follow this week.
16987
16988 2005-02-24  Andy Wingo  <wingo@pobox.com>
16989
16990         * tests/bench-complexity.scm:
16991         * tests/complexity.gnuplot: New files, good for running complexity
16992         benchmarks.
16993
16994         * tests/Makefile.am:
16995         * tests/complexity.c: New test, sets up N elements, at each level
16996         teeing into M streams per element. Eeeenteresting.
16997
16998         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
16999         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
17000         running bench-mass_elements.scm.
17001
17002         * tests/bench-mass_elements.scm: New script, runs mass_elements
17003         for various numbers of identities, outputting the results to a
17004         file. Requires guile 1.6. Just for testing.
17005
17006 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
17007
17008         * gst/schedulers/fairscheduler.c:
17009           compile with debug disabled
17010
17011 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
17012
17013         * configure.ac:
17014           hunting season on 0.9 is now OPEN