autogen.sh: Darwin's libtoolize is in fact called glibtoolize.
[platform/upstream/gstreamer.git] / ChangeLog
1 2006-05-08  Edward Hervey  <edward@fluendo.com>
2
3         * autogen.sh: (CONFIGURE_DEF_OPT): 
4         Darwin's libtoolize is in fact called glibtoolize.
5         Adding glibtoolize to the list of accepted names for libtoolize.
6
7 2006-05-08  Wim Taymans  <wim@fluendo.com>
8
9         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
10         Unify error handling, don't post an error message
11         when a push() returns EOS but perform our normal EOS
12         handling code. Fixes #340772.
13
14 2006-05-08  Wim Taymans  <wim@fluendo.com>
15
16         * docs/design/part-overview.txt:
17         Make upsteam/downstream concepts more clear.
18         Give an example of serialized/non-serialized events.
19
20         * docs/design/part-events.txt:
21         * docs/design/part-streams.txt:
22         Mention applied_rate.
23
24         * docs/design/part-trickmodes.txt:
25         Mention applied rate, flesh out some more use cases.
26
27         * gst/gstevent.c: (gst_event_new_new_segment),
28         (gst_event_parse_new_segment), (gst_event_new_new_segment_full),
29         (gst_event_parse_new_segment_full), (gst_event_new_tag),
30         (gst_event_parse_tag), (gst_event_new_buffer_size),
31         (gst_event_parse_buffer_size), (gst_event_new_qos),
32         (gst_event_parse_qos), (gst_event_parse_seek),
33         (gst_event_new_navigation):
34         * gst/gstevent.h:
35         Add applied_rate field to NEWSEGMENT event.
36         API: gst_event_new_new_segment_full()
37         API: gst_event_parse_new_segment_full()
38
39         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_seek),
40         (gst_segment_set_newsegment), (gst_segment_set_newsegment_full),
41         (gst_segment_to_stream_time), (gst_segment_to_running_time):
42         * gst/gstsegment.h:
43         Add applied_rate to GstSegment structure.
44         Make calculation of stream_time and running_time more correct
45         wrt rate/applied_rate.
46         Add some more docs.
47         API: GstSegment::applied_rate field
48         API: gst_segment_set_newsegment_full();
49
50         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
51         (gst_base_sink_get_sync_times), (gst_base_sink_get_position):
52         * libs/gst/base/gstbasetransform.c:
53         (gst_base_transform_sink_eventfunc),
54         (gst_base_transform_handle_buffer):
55         Parse and use applied_rate in the GstSegment field.
56
57         * tests/check/gst/gstevent.c: (GST_START_TEST):
58         Add check for applied_rate field.
59
60         * tests/check/gst/gstsegment.c: (GST_START_TEST),
61         (gstsegments_suite):
62         Add more checks for various GstSegment operations.
63
64 2006-05-08  Wim Taymans  <wim@fluendo.com>
65
66         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
67         (gst_base_sink_do_sync), (gst_base_sink_chain_unlocked),
68         (gst_base_sink_get_position), (gst_base_sink_change_state):
69         Store the sync time of the buffer end position separatly in a
70         new variable eos_rtime so we can properly sync the EOS event.
71         Fixes #340697.
72         Fix the docs for gst_base_sink_set_qos_enabled().
73         Don't set segment start to invalid value when we receive a 
74         non TIME newsegment.
75         get closer to handling position reporting for negative rates 
76         correctly.
77
78 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
79
80         * gst/gstcaps.c:
81         Docs about how to print caps for debug purposes.
82
83         * gst/gstpadtemplate.c: (gst_static_pad_template_get):
84         use gst_caps_make_writable instead of gst_caps_copy, Fixes #340608
85
86 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
87
88         * gst/gstelement.c:
89           use full enum names and preprend a '%' in docs strings to make recent 
90           gtk-doc turn that into a link
91
92 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
93
94         * docs/manual/basics-bins.xml:
95         * docs/manual/basics-bus.xml:
96         * docs/manual/basics-pads.xml:
97           Some typo fixes, some additions, some clarifications. 
98
99 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
100
101         * tools/gst-inspect.c: (main):
102         * tools/gst-launch.c: (main):
103         * tools/gst-run.c: (main):
104         * tools/gst-typefind.c: (main):
105         * tools/gst-xmlinspect.c: (main):
106           Use the string passed to g_option_context_new() for
107           what it's intended for - the program name is already
108           printed elsewhere.
109
110 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
111
112         * tools/Makefile.am:
113         * tools/gst-inspect.c: (main):
114         * tools/gst-launch.c: (main):
115         * tools/gst-xmlinspect.c: (main):
116         * tools/tools.h:
117           Add back --version command line option (#340460).
118
119         * tools/gst-typefind.c: (have_type_handler), (typefind_file), (main):
120           Add --version option and use GOption for argument parsing; refactor a
121           bit; accept directories as arguments and recurse into them; lastly,
122           print a decent error message when things go wrong.
123
124 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
125
126         * docs/manual/basics-bins.xml:
127         Don't mention GstThread (#340611)
128         * docs/manual/basics-elements.xml:
129         Update link to GObject tutorial (#340607)
130         
131 2006-05-05  Wim Taymans  <wim@fluendo.com>
132
133         * gst/gstbuffer.h:
134         * gst/gstminiobject.c:
135         Add note about refcounting and miniobject/buffer writeability
136         to docs. Fixes #340604
137
138         * gst/gstelementfactory.h:
139         Added some explanation about @klass.
140
141 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
142
143         * docs/manual/intro-motivation.xml:
144         * docs/manual/manual.xml:
145         Avoid CORBA & Bonobo references (#340598)
146
147 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
148
149         * docs/manual/basics-bus.xml:
150         * docs/manual/basics-pads.xml:
151         Fix up some inaccuracies and omissions (#340609)
152         
153 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
154
155         * gst/gstghostpad.c:
156           Small typo in docs (#340625)
157
158 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
159
160         * gst/parse/Makefile.am:
161           Make 'make -j' proof (see #340698).
162
163 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
164
165         * configure.ac:
166           Require GLib-2.8 here as well.
167
168 2006-05-05  Wim Taymans  <wim@fluendo.com>
169
170         * gst/glib-compat.c:
171         * gst/gst.c: (init_pre):
172         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
173         (gst_object_unref), (gst_object_replace), (gst_object_dispose),
174         (gst_object_dispatch_properties_changed):
175         * gst/gstobject.h:
176         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
177         * gst/gststructure.c: (gst_structure_set_valist):
178         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
179         Remove pre glib2.8 compatibility, fixes #340508
180
181 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
182
183         * gst/gsttaglist.h:
184           Mention type of tags in doc blurbs.
185
186 2006-05-04  Jan Schmidt  <thaytan@mad.scientist.com>
187
188         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
189         (gst_pad_configure_src), (gst_pad_push):
190         Restore acceptcaps checking behaviour now that good plugins have
191         been released.
192
193 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
194
195         Patch by: James Andrewartha <trs80 at tartarus uwa edu au>
196
197         * gst/gst.c:
198         * gst/gstbus.c:
199         * gst/gstclock.c:
200         * gst/gstevent.c:
201         * gst/gstformat.c:
202         * gst/gstmessage.c:
203         * gst/gstparse.c:
204         * gst/gstquery.c:
205         * gst/gstutils.c:
206         * gst/parse/Makefile.am:
207         * libs/gst/base/gstadapter.c:
208         * libs/gst/base/gstbasesrc.c:
209         * libs/gst/base/gstpushsrc.c:
210         * libs/gst/base/gsttypefindhelper.c:
211         * plugins/elements/gstfakesrc.c:
212         * plugins/elements/gstidentity.c:
213           Make sure gstprivate.h and/or config.h are
214           always included first, otherwise some of our
215           defines (like _FILE_OFFSET_BITS) might be
216           redefined in the system headers. Fixes build
217           on opensolaris (#340016).
218
219 2006-05-04  Wim Taymans  <wim@fluendo.com>
220
221         * docs/libs/gstreamer-libs-sections.txt:
222         API: addition: gst_adapter_take_buffer()
223         
224         * libs/gst/base/gstadapter.c: (gst_adapter_push),
225         (gst_adapter_peek), (gst_adapter_take), (gst_adapter_take_buffer),
226         (gst_adapter_available_fast):
227         * libs/gst/base/gstadapter.h:
228         Prepare for optimizing the hell out of this hugely inefficient
229         piece of code. 
230         Added gst_adapter_take_buffer() so we can at least start thinking
231         about subbuffering and merging.
232         Added some comments.
233
234         * tests/check/Makefile.am:
235         * tests/check/libs/adapter.c: (GST_START_TEST),
236         (gst_adapter_suite), (main):
237         Added GstAdapter check.
238
239 2006-05-04  Wim Taymans  <wim@fluendo.com>
240
241         * docs/design/part-overview.txt:
242         Fix some typos, add blurb about buffer flags.
243
244 2006-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
245
246         * docs/libs/gstreamer-libs-sections.txt:
247           make sure GstBaseTransformClass shows up in the docs
248         * libs/gst/base/gstbasetransform.c:
249         * libs/gst/base/gstbasetransform.h:
250           move docs so gtk-doc picks it up now
251
252 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
253
254         * docs/libs/gstreamer-libs-sections.txt:
255           add missing symbols to docs
256
257 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
258
259         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
260           back out the newsegment handling change, see #340060 for ongoing
261           discussion
262
263 2006-04-30  Tim-Philipp Müller  <tim at centricular dot net>
264
265         * tools/gst-run.c: (get_candidates), (main):
266           Fix wrong g_file_test() usage (see glib docs for why it doesn't
267           work); fix typo in error message. Fixes #340079.
268
269 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
270
271         * common/Makefile.am:
272         * docs/Makefile.am:
273         * docs/faq/Makefile.am:
274         * docs/gst/Makefile.am:
275         * docs/libs/Makefile.am:
276         * docs/manual/Makefile.am:
277         * docs/plugins/Makefile.am:
278         * docs/pwg/Makefile.am:
279         * docs/slides/Makefile.am:
280         * docs/upload.mak:
281         * common/upload.mak:
282           move upload.mak to common
283
284 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
285
286         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
287           add more asserts on refcounts
288           do more cleanup at end of tests
289           fix test leaks showing in FC5
290
291 2006-04-29  Stefan Kost  <ensonic@users.sf.net>
292
293         * plugins/elements/gsttypefindelement.c:
294         (gst_type_find_element_handle_event):
295         reverted wrong change and reflowed code to avoid others falling into
296         this trap
297
298 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
299
300         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
301           fix changelog entry about last collectpads change,
302           add notes about proper fix
303
304 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
305
306         * gst/gst.c:
307         * gst/gstregistry.c: (gst_registry_scan_path_level),
308         (gst_registry_scan_path):
309         * gst/gstregistry.h:
310           only write out registry if it has changed, fixes #338339
311
312 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
313
314         * gst/gstbin.c:
315         * gst/gstpipeline.c:
316         * plugins/elements/gstcapsfilter.c:
317         * plugins/elements/gstfakesink.c:
318         * plugins/elements/gstfakesrc.c:
319         * plugins/elements/gstfdsink.c:
320         * plugins/elements/gstfdsrc.c:
321         * plugins/elements/gstfilesink.c:
322         * plugins/elements/gstfilesrc.c:
323         * plugins/elements/gstidentity.c:
324         * plugins/elements/gstqueue.c:
325         * plugins/elements/gsttee.c:
326         * plugins/elements/gsttypefindelement.c:
327         (gst_type_find_element_handle_event):
328           make GstElementDetails const
329
330 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
331
332         * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
333         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
334         (gst_collect_pads_is_collected), (gst_collect_pads_event):
335           more detailed debug and formatting cleanup,
336           forward newsegments to src-pad (so that e.g. adder not eats them)
337
338 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
339
340         * gst/gstutils.c: (gst_element_link_pads):
341           cleanup double code
342
343 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
344
345         * libs/gst/controller/gstcontroller.c:
346         (gst_controller_sync_values):
347           some little tuning
348         * tests/check/libs/controller.c: (GST_START_TEST),
349         (gst_controller_suite):
350           a new test for live value handling
351
352 2006-04-28  Wim Taymans  <wim@fluendo.com>
353
354         * gst/gstutils.c: (push_and_ref):
355         Added some more docs.
356         Fix refcount issue whith gst_element_found_tags() helper 
357         function. Fixes #338335
358
359         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
360         Added testsuite for gst_element_found_tags().
361
362 2006-04-28  Michael Smith  <msmith@fluendo.com>
363
364         * gst/gstvalue.c: (gst_value_serialize_flags):
365           Avoid NULL dereference when trying to serialize flags containing
366           invalid values.
367
368 2006-04-28  Michael Smith  <msmith@fluendo.com>
369
370         * plugins/elements/gsttypefindelement.c:
371         (gst_type_find_element_handle_event):
372           If we get EOS before any data is accumulated, don't use
373           uninitialised local variables.
374
375 2006-04-28  Michael Smith  <msmith@fluendo.com>
376
377         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
378         (gst_dp_event_from_packet):
379           Fixes in reading/writing events over GDP (not currently used?) - 
380           dereferencing NULL events for unknown/invalid event types, memory
381           leak, and change g_warning to GST_WARNING.
382
383 2006-04-28  Wim Taymans  <wim@fluendo.com>
384
385         * libs/gst/base/gstbasesink.c: (gst_base_sink_is_too_late),
386         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
387         (gst_base_sink_get_position), (gst_base_sink_change_state):
388         When frame dropping is enabled, we should not ignore frames
389         without a duration.
390         Update some documentation.
391
392 2006-04-28  Wim Taymans  <wim@fluendo.com>
393
394         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
395         (gst_base_src_send_event), (gst_base_src_change_state):
396         Documentation updates.
397
398 2006-04-28  Wim Taymans  <wim@fluendo.com>
399
400         * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
401         (gst_fd_sink_check_fd), (gst_fd_sink_update_fd):
402         handle EAGAIN, EINTR and short writes correctly. Also clean
403         up some error cases, avoid a deadlock on bad file descriptors and
404         use GST_DEBUG_OBJECT.
405         Fixes #339843
406
407 2006-04-28  Wim Taymans  <wim@fluendo.com>
408
409         * gst/gstvalue.c: (gst_value_serialize_buffer),
410         (gst_value_deserialize_buffer):
411         Don't try to serialize a GValue with a NULL buffer. 
412         Fixes #339821.
413
414         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
415         Added check for serialisation of NULL buffers.
416
417 2006-04-28  Wim Taymans  <wim@fluendo.com>
418
419         * gst/gstminiobject.c: (gst_value_take_mini_object):
420         Taking a NULL miniobject is valid, fix the case where
421         we try to unref the NULL miniobject.
422
423 2006-04-28  Wim Taymans  <wim@fluendo.com>
424
425         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
426
427         * gst/gstbin.c: (gst_bin_handle_message_func):
428         Update docs.
429         Don't leak bin refcount when a state recalc is
430         in progress and we delay another one #339808.
431
432 2006-04-28  Wim Taymans  <wim@fluendo.com>
433
434         * docs/design/part-TODO.txt:
435         Mention QoS as an ongoing work item.
436
437         * docs/design/part-buffering.txt:
438         New doc about buffering that needs to be fleshed out
439         at some point.
440
441         * docs/design/part-qos.txt:
442         More QoS policy for decoders/demuxers/transforms
443
444         * docs/design/part-trickmodes.txt:
445         Small update.
446
447 2006-04-28  Thomas Vander Stichele  <thomas at apestaart dot org>
448
449         * configure.ac:
450           back to HEAD
451
452 === release 0.10.5 ===
453
454 2006-04-28  Thomas Vander Stichele <thomas at apestaart dot org>
455
456         * configure.ac:
457           releasing 0.10.5, "Fogo"
458
459 2006-04-22  Thomas Vander Stichele  <thomas at apestaart dot org>
460
461         patch by: Wim Taymans
462
463         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
464         (gst_pad_configure_src), (gst_pad_push):
465         * gst/gstpipeline.c: (gst_pipeline_init):
466           Fix internal data flow errors.  Fixes #338711.
467
468 2006-04-12  Wim Taymans  <wim@fluendo.com>
469
470         * tests/check/gst/gstelement.c: (GST_START_TEST):
471         Don't leak the factory.
472
473 2006-04-12  Thomas Vander Stichele  <thomas at apestaart dot org>
474
475         * configure.ac:
476         * win32/common/config.h:
477           prerelease
478
479 2006-04-12  Tim-Philipp Müller  <tim at centricular dot net>
480
481         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
482         (gst_controller_unset_all):
483           Free allocated GstTimedValues when freeing list nodes.
484           Should fix leaks 'make check-valgrind' complains about.
485
486         * win32/common/libgstcontroller.def:
487           Add gst_controller_unset_all.
488
489 2006-04-11  Stefan Kost  <ensonic@users.sf.net>
490
491         * docs/libs/gstreamer-libs-sections.txt:
492         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
493         (gst_controller_unset_all):
494         * libs/gst/controller/gstcontroller.h:
495         API: Added new method gst_controller_unset_all()
496         fixed gst_controller_unset()
497         * tests/check/libs/controller.c: (GST_START_TEST),
498         (gst_controller_suite):
499         Added two testcases for new and fixed method
500
501 2006-04-11  Tim-Philipp Müller  <tim at centricular dot net>
502
503         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
504           MSG_DONTWAIT is not defined on Cygwin, so work
505           around that (fixes #317048).
506           
507 2006-04-11  Wim Taymans  <wim@fluendo.com>
508
509         * gst/gstelementfactory.c: (gst_element_register),
510         (gst_element_factory_create), (gst_element_factory_make):
511         Some cleanups.
512         Fixed a FIXME.
513         Updated docs (Fixes #131079)
514
515         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
516         Small cleanups.
517
518         * tests/check/gst/gstelement.c: (GST_START_TEST),
519         (gst_element_suite):
520         Added testcase for elementfactory class field.
521
522 2006-04-10  Wim Taymans  <wim@fluendo.com>
523
524         * gst/gstsegment.c:
525         Added some more docs.
526
527         * libs/gst/base/gstbasesink.c: (gst_base_sink_perform_qos),
528         (gst_base_sink_reset_qos):
529         Calculate more accurate rate values.
530
531 2006-04-09  Sebastien Moutte  <sebastien@moutte.net>
532
533         * gst/gst_private.h:
534           add a new #ifdef to use __declspec(dllimport) only for
535           other modules and not for gstreamer core
536         * gst/gstbasesink.c: (gst_base_sink_perform_qos):
537           use gst_guint64_to_gdouble for conversion
538         * win32/common/libgstreamer.def:
539           add new exported functions
540         * win32/vs6/gst_inspect.dsp:
541         * win32/vs6/gst_launch.dsp:
542         * win32/vs6/libgstbase.dsp:
543         * win32/vs6/libgstcontroller.dsp:
544         * win32/vs6/libgstcoreelements.dsp:
545         * win32/vs6/libgstdataprotocol.dsp:
546         * win32/vs6/libgstnet.dsp:
547           update project files
548
549 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
550
551         * gst/gstbuffer.c: (gst_subbuffer_class_init):
552         * gst/gstclock.c: (gst_clock_class_init):
553         * gst/gstelement.c: (gst_element_class_init):
554         * gst/gstindex.c: (gst_index_class_init):
555         * gst/gstindexfactory.c: (gst_index_factory_class_init):
556         * gst/gstobject.c: (gst_object_class_init),
557         (gst_signal_object_class_init):
558         * gst/gstpad.c: (gst_pad_class_init):
559         * gst/gstpadtemplate.c: (gst_pad_template_class_init):
560         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init):
561         * gst/gstregistry.c: (gst_registry_class_init):
562         * gst/gstsystemclock.c: (gst_system_clock_class_init):
563         * gst/gsttask.c: (gst_task_class_init):
564         * gst/gstxml.c: (gst_xml_class_init):
565         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
566         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
567         (gst_base_src_loop):
568         * libs/gst/controller/gstcontroller.c:/
569         (_gst_controller_class_init):
570         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
571         * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
572         * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init):
573         * tests/old/examples/plugins/example.c: (gst_example_class_init):
574         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
575         Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent)
576
577 2006-04-08  Tim-Philipp Müller  <tim at centricular dot net>
578
579         * gst/gstpad.c: (gst_pad_link):
580           Must set peer pads before calling the link function, otherwise
581           a task started from a link function might get a flow-not-linked
582           result when trying to push because the other thread where the
583           linking happens hasn't had a chance to set the peers yet. This
584           might happen for example when a queue gets linked to a downstream
585           element, as queue starts a streaming task when its source pad
586           gets linked. Happens in real life when playing back flac/musepack
587           files in playbin (#332390).
588           
589 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
590
591         * gst/gstindex.h:
592         * gst/gstxml.h:
593         * libs/gst/base/gstadapter.h:
594         * libs/gst/base/gstbasesink.h:
595         * libs/gst/base/gstbasesrc.h:
596         * libs/gst/base/gstbasetransform.h:
597         * libs/gst/base/gstcollectpads.h:
598         * libs/gst/base/gstpushsrc.h:
599         Fix broken GObject macros
600
601 2006-04-07  Wim Taymans  <wim@fluendo.com>
602
603         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
604         Initialize start and stop times, thanks valgrind.
605
606 2006-04-07  Wim Taymans  <wim@fluendo.com>
607
608         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
609         Be a bit nicer to badly behaving upstream elements that expect
610         us to deal with non TIME segments and timestamps (such as fakesrc
611         in the testsuite).
612
613 2006-04-07  Wim Taymans  <wim@fluendo.com>
614
615         * gst/gstbus.c:
616         Small documentation clarification about the signal watch.
617
618         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
619         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
620         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
621         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
622         (gst_base_sink_get_position_last),
623         (gst_base_sink_get_position_paused), (gst_base_sink_change_state):
624         Convert and store timestamps in stream time and running time, the
625         raw timestamps are not usefull, also document this better.
626         Use different window sizes for good and bad QoS observations so
627         we react to badness a little quicker.
628         Keep track of the amount of rendered and dropped buffers.
629         Send QoS timestamps in running time.
630
631         * libs/gst/base/gstbasetransform.c:
632         (gst_base_transform_sink_eventfunc),
633         (gst_base_transform_handle_buffer):
634         Compare QoS timestamps against running time.
635
636 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
637
638         * gst/gstpad.c:
639           Typo fixes in docs.
640
641 2006-04-06  Michael Smith  <msmith@fluendo.com>
642
643         * gst/gstpad.c: (gst_pad_set_property):
644           Use g_value_get_object() instead of g_value_dup_gst_object(),
645           to avoid double-reffing the pad template (which we then sink,
646           so this worked previously if (and only if) the pad template
647           was floating.
648
649         * gst/gstpadtemplate.c: (gst_pad_template_init),
650         (gst_pad_template_pad_created):
651           Never return floating references to pad templates, create
652           them as initially-sunken.
653
654           Document an extra function (and make this stop sinking our
655           pad template, since that is now guaranteed to do nothing,
656           since we created it sunken).
657
658         * gst/gstghostpad.c:
659           Fix docs typo.
660
661 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
662
663         * gst/gstinfo.c: (__gst_in_valgrind):
664           Add some newlines.
665
666         * plugins/elements/gsttypefindelement.c:
667         (gst_type_find_element_chain):
668           Don't leak buffer caps.
669
670 2006-04-06  Michael Smith  <msmith@fluendo.com>
671
672         * gst/parse/grammar.y:
673           Fix a leak in parse-launch for any source-or-sink named element 
674           references used.
675
676         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
677           Unref the pipeline if it exists after we've failed parsing.
678
679 2006-04-05  Michael Smith  <msmith@fluendo.com>
680
681         * gst/gstpipeline.c: (gst_pipeline_init):
682           When we create a pipeline bus, initially create it in flushing mode.
683           Fixes leaks in at least one test, and makes a new pipeline work the
684           same as one that has gone to READY and then back to NULL.
685
686         * gst/gstelement.c:
687           Typo fix in docs.
688
689 2006-04-05  Michael Smith  <msmith@fluendo.com>
690
691         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
692           Unref a pad we reffed.
693         * tests/check/gst/gstutils.c: (GST_START_TEST):
694           Unref bins
695
696 2006-04-05  Michael Smith  <msmith@fluendo.com>
697
698         * gst/gstquery.c: (gst_query_set_formats),
699         (gst_query_set_formatsv):
700           Fix leaking GValues in queries, as shown by valgrind/testsuite.
701
702 2006-04-05  Michael Smith  <msmith@fluendo.com>
703
704         * tests/check/generic/sinks.c: (GST_START_TEST):
705           Fix a variety of memleaks in sinks check, which are only sometimes 
706           shown by running the tests under valgrind (weird?).
707
708 2006-04-05  Jan Schmidt  <thaytan@mad.scientist.com>
709
710         * docs/version.entities.in:
711           Fix the substituted entity name after thomas' changes on the
712           weekend.
713
714 2006-04-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
715
716         * gst/gstinfo.c: (__gst_in_valgrind): Use printf instead of
717         VALGRIND_PRINTF
718         
719 2006-04-05  Andy Wingo  <wingo@pobox.com>
720
721         * gst/gstpad.c (gst_pad_set_blocked_async): More debug.
722
723         * libs/gst/base/gstbasetransform.c
724         (gst_base_transform_sink_eventfunc): When resetting our segment on
725         FLUSH_STOP, also update the flag saying we haven't seen a
726         newsegment.
727
728 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
729
730         Patch by: Paolo Borelli  <pborelli at katamail dot com>
731
732         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
733         (gst_plugin_check_license):
734           minor clean-ups: G_DEFINE_TYPE already takes care of the
735           parent_class stuff, no need to do it twice. Mark array of
736           license strings as constant. (#337103)
737           
738 2006-04-04  Michael Smith  <msmith@fluendo.com>
739
740         * tools/gst-inspect.c: (print_element_list):
741           Free the right plugin list; fixes a memory leak.
742
743 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
744
745         Patch by: Mark Nauwelaerts  <manauw at skynet dot be>
746
747         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
748           Don't error out on empty buffers (#336945).
749           
750 2006-04-04  Jan Schmidt  <thaytan@mad.scientist.com>
751
752         * docs/libs/gstreamer-libs-sections.txt:
753         * gst/gsttaglist.c:
754         * libs/gst/base/gstbasesink.c:
755         * libs/gst/base/gstbasesink.h:
756         * libs/gst/base/gstbasesrc.c:
757         * libs/gst/base/gstbasesrc.h:
758           Documentation updates. Make BaseSink and BaseSrc docs contain the
759           class structure so that people can actually see the prototypes for
760           virtual functions they're supposed to be overriding.
761
762 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
763
764         * plugins/elements/gsttypefindelement.c:
765         (gst_type_find_element_chain):
766           More debug info; when skipping typefinding, send cached
767           events in all cases.
768
769 2006-04-01  Thomas Vander Stichele  <thomas at apestaart dot org>
770
771         * configure.ac:
772           use new AS_VERSION and AS_NANO macros
773         * gst/gst-i18n-lib.h:
774         * gst/gst.c:
775         * gst/gsterror.c:
776         * gst/gstversion.h.in:
777         * win32/common/config.h:
778         * win32/common/config.h.in:
779           update accordingly
780
781 2006-03-31  Michael Smith  <msmith@fluendo.com>
782
783         * plugins/elements/gsttypefindelement.c:
784         (gst_type_find_element_chain):
785           Do not typefind content if the buffers already have caps.
786           Neccesary for icydemux (#333657), and the right thing to do anyway.
787
788 2006-03-30  Wim Taymans  <wim@fluendo.com>
789
790         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
791         (gst_base_sink_finalize), (gst_base_sink_set_qos_enabled),
792         (gst_base_sink_is_qos_enabled), (gst_base_sink_do_sync),
793         (gst_base_sink_record_qos_observation),
794         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
795         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
796         (gst_base_sink_change_state):
797         More QoS measurements as described in the design doc.
798         Get rid of ringbuffer with observations, running average is
799         more simple and equally good.
800         Calculates valid proportion now.
801         Added beginning of flood measurement.
802
803 2006-03-29  Wim Taymans  <wim@fluendo.com>
804
805         * docs/design/part-qos.txt:
806         * gst/gstclock.c:
807         Small documentation updates and additions.
808
809 2006-03-29  Wim Taymans  <wim@fluendo.com>
810
811         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
812         (gst_base_src_send_event), (gst_base_src_loop),
813         (gst_base_src_change_state):
814         Perform the EOS logic when we reach the segment stop position.
815         Fix compilation on gcc4.1
816
817 2006-03-29  Wim Taymans  <wim@fluendo.com>
818
819         Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
820
821         * plugins/elements/gstqueue.c: (gst_queue_init),
822         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
823         (gst_queue_set_property):
824         * plugins/elements/gstqueue.h:
825         In queue, when EOS is received, if minimum threshold > max_size -
826         current_level, there is chance that queue blocks forever in conditional
827         item del wait. This is because the queue is not emptied completely due
828         to minimum threshold.  Here is another approach. Instead of setting
829         cur_levels to max in EOS, just zero all minimum threshold levels. This
830         should make sure that queue gives out all data. When going to READY
831         (stop) state, just reset the original minimum threshold levels.
832         Fixes #336336.
833
834 2006-03-29  Tim-Philipp Müller  <tim at centricular dot net>
835
836         * plugins/elements/gsttypefindelement.c: (stop_typefinding),
837         (gst_type_find_element_handle_event),
838         (gst_type_find_element_send_cached_events),
839         (gst_type_find_element_change_state):
840         * plugins/elements/gsttypefindelement.h:
841           When typefinding is done in push mode, we should cache
842           events we receive during typefinding instead of just
843           dropping them (e.g. newsegment, custom events from
844           dvdreadsrc etc.) and then send them out once we've
845           determined the type of the stream (and decodebin
846           has had a chance to plug in a decoder/demuxer).
847           
848 2006-03-27  Wim Taymans  <wim@fluendo.com>
849
850         * docs/design/part-qos.txt:
851         First QoS ideas.
852
853 2006-03-27  Wim Taymans  <wim@fluendo.com>
854
855         Inspired by a patch of: Lutz Mueller <lutz at topfrose dot de>
856
857         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
858         (gst_base_src_send_event), (gst_base_src_change_state):
859         Handle element seek correctly when we are streaming.
860         Fixes #326998.
861
862 2006-03-24  Michael Smith  <msmith@fluendo.com>
863
864         * docs/faq/gst-uninstalled:
865           Set up LD_LIBRARY_PATH to point at all the gstreamer libs. This will
866           allow you to correctly run intalled applications built against old 
867           core, using plugins that require updated core (e.g. running
868           installed totem against a full uninstalled gstreamer stack)
869
870 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
871
872         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
873         more debug details
874
875 2006-03-24  Wim Taymans  <wim@fluendo.com>
876
877         * docs/gst/gstreamer-sections.txt:
878         Rearrange the order of the methods so that related methods
879         are grouped together in sections.
880
881 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
882
883         * gst/gstelement.c:
884           Little clarification in the docs
885
886 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
887
888         * docs/README:
889         formatting fix
890         * plugins/elements/gstidentity.c:
891         * plugins/elements/gstqueue.c:
892         * plugins/elements/gsttee.c:
893         * plugins/elements/gsttypefindelement.c:
894         GST_ELEMENT_DETAILS formatting
895
896 2006-03-24  Wim Taymans  <wim@fluendo.com>
897
898         * libs/gst/base/gstbasesink.h:
899         Only add fields, not insert or we break ABI.
900
901 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
902
903         * win32/common/libgstbase.def:
904         * win32/common/libgstreamer.def:
905           Update, add recently added functions.
906
907 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
908
909         * docs/gst/gstreamer-sections.txt:
910         * gst/gstutils.c: (gst_pad_query_peer_position),
911         (gst_pad_query_peer_duration), (gst_pad_query_peer_convert):
912         * gst/gstutils.h:
913           API: add some new utility functions:
914            - gst_pad_query_peer_position()
915            - gst_pad_query_peer_duration()
916            - gst_pad_query_peer_convert()
917           
918 2006-03-23  Wim Taymans  <wim@fluendo.com>
919
920         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
921         (gst_base_sink_init), (gst_base_sink_finalize),
922         (gst_base_sink_set_qos_enabled), (gst_base_sink_is_qos_enabled),
923         (gst_base_sink_set_property), (gst_base_sink_get_property),
924         (gst_base_sink_commit_state), (gst_base_sink_get_sync_times),
925         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
926         (gst_base_sink_add_qos_observation), (gst_base_sink_send_qos),
927         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
928         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
929         (gst_base_sink_preroll_object), (gst_base_sink_event),
930         (gst_base_sink_chain_unlocked), (gst_base_sink_get_position_last),
931         (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
932         (gst_base_sink_query), (gst_base_sink_change_state):
933         Decouple max-lateness and the fact that QoS messages are generated
934         with a new property (qos).
935         added API: GstBaseSink::async_play()
936         Add vmethod so subclasses can be notified of ASYNC playing
937         state changes.
938         Collect timestamp start and stop to report better current
939         position in EOS/PLAYING/PAUSED/READY/NULL.
940         Refactor QoS/frame dropping and other measurements.
941         API: GstBaseSrc::qos
942         Fixes #326311
943
944         * libs/gst/base/gstbasesink.h:
945         Added Private struct.
946         API: gst_base_sink_set_qos_enabled()
947         API: gst_base_sink_is_qos_enabled()
948
949 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
950
951         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
952           If compiling against GLib-2.8 or newer, try to read the
953           registry file using GMappedFile first before falling back
954           to fopen() + fread() (#332151).
955
956 2006-03-22  Wim Taymans  <wim@fluendo.com>
957
958         * gst/gstinfo.c: (gst_debug_set_active),
959         (gst_debug_category_set_threshold):
960         Disable debugging unless explicitly activated.
961         Fixes #335480.
962
963 2006-03-22  Wim Taymans  <wim@fluendo.com>
964
965         * gst/gstelement.c: (gst_element_set_locked_state),
966         (gst_element_dispose):
967         Cleanup the error case.
968
969         * gst/gstobject.c: (gst_object_dispose):
970         print a critical when some object was disposed with
971         a parent, also revive the object since it might
972         crash the parent.
973
974 2006-03-22  Tim-Philipp Müller  <tim at centricular dot net>
975
976         * tools/gst-launch.1.in:
977           Fix another typo.
978
979 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
980
981         * configure.ac:
982         * tests/check/Makefile.am:
983           disable some tests when we don't have a registry
984         * tests/check/gst/gstutils.c: (gst_utils_suite):
985           don't build the part that needs parsing
986
987 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
988
989         * gst/Makefile.am
990         * tests/examples/Makefile.am:
991           fix --disable-parse build
992
993 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
994
995         * tools/gst-feedback.1.in:
996           Fix typo: s/feeback/feedback/ (#133494).
997
998 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
999
1000         * tools/Makefile.am:
1001         * tools/gst-launch.1.in:
1002           Add FILES section and correct entry about GST_REGISTRY_PATH
1003           environment variable (#133495; #133494).
1004
1005 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
1006
1007         * tools/Makefile.am:
1008         * tools/gst-md5sum.1.in:
1009         * tools/gst-md5sum.c:
1010           Remove gst-md5sum and man page (the md5sink element
1011           required was removed ages ago)
1012
1013 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
1014
1015         * gst/gststructure.c: (gst_structure_id_set_value):
1016           Make sure that string fields in structures/taglists
1017           contain valid UTF-8 - we don't want to pass rubbish to
1018           applications because of a buggy plugin (cp. #334167).
1019
1020 2006-03-21  Edward Hervey  <edward@fluendo.com>
1021
1022         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
1023         (gst_bin_handle_message_func):
1024         * gst/gstclock.c: (gst_clock_dispose), (gst_clock_set_master):
1025         * gst/gstelement.c: (gst_element_set_clock), (gst_element_dispose),
1026         (gst_element_set_bus_func):
1027         * gst/gstghostpad.c: (gst_proxy_pad_dispose):
1028         * gst/gstminiobject.c: (gst_value_set_mini_object),
1029         (gst_value_take_mini_object):
1030         * gst/gstpad.c: (gst_pad_set_pad_template):
1031         * gst/gstpipeline.c: (gst_pipeline_dispose),
1032         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
1033         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop),
1034         (gst_collect_pads_chain):
1035         * libs/gst/net/gstnettimeprovider.c:
1036         (gst_net_time_provider_set_property):
1037         Series of fixes for dereferenced pointers that gcc 4.1 complains about.
1038         It's in fact all issues with gst_*object_replace().
1039
1040 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
1041
1042         Patch by: Loïc Minier  <lool + gnome at via dot ecp dot fr>
1043         
1044         * pkgconfig/gstreamer-check-uninstalled.pc.in:
1045         * pkgconfig/gstreamer-check.pc.in:
1046           Use @CHECK_LIBS@ here instead of hard-coding -lcheck (#334109).
1047
1048 2006-03-21  Edward Hervey  <edward@fluendo.com>
1049
1050         * gst/gstbuffer.h:
1051         * gst/gstevent.h:
1052         * gst/gstmessage.h:
1053         gst_[buffer|event|message]_ref() macros are replaced by a static
1054         inline functions because gcc-4.1 will about if the return value
1055         isn't used.
1056         * tests/check/gst/gstevent.c: (event_probe):
1057         gst_event_ref now has to be given a GstEvent* , fix check accordingly.
1058
1059 2006-03-20  Jan Schmidt  <thaytan@mad.scientist.com>
1060
1061         * gst/gstutils.h:
1062         Add G_UNLIKELY to our boilerplate to optimise the 'already registered
1063         the type' case. (Closes: #335195 for now). In the future, when we
1064         depend on GLib 2.10, we could also intern the type name using
1065         g_intern_static_string()
1066
1067 2006-03-20  Wim Taymans  <wim@fluendo.com>
1068
1069         * gst/gstbin.c: (gst_bin_handle_message_func),
1070         (bin_query_max_init), (bin_query_position_fold),
1071         (bin_query_position_done), (gst_bin_query):
1072         Position query should also take max of all streams.
1073
1074 2006-03-20  Wim Taymans  <wim@fluendo.com>
1075
1076         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
1077         (gst_fake_src_finalize):
1078         Fix leaks in fakesrc.
1079
1080         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
1081         Fix leaks in the testcase.
1082
1083 2006-03-19  Sebastien Moutte  <sebastien@moutte.net>
1084
1085         * gst/gst_private.h:
1086           add win32 specific import decoration(__declspec(dllimport)) 
1087           for all extern GstDebugCategory * variables
1088         * win32/common/libgstbase.def:
1089         * win32/common/libgstcontroller.def:
1090         * win32/common/libgstreamer.def:
1091           Add some exports, remove empty lines
1092         * win32/common/libgstdataprotocol.def:
1093         * win32/common/libgstdataprotocol.dsp:
1094         * win32/common/libgstnet.def:
1095         * win32/common/libgstnet.dsp:
1096           new project files and exportation files added
1097         
1098 2006-03-19  Wim Taymans  <wim@fluendo.com>
1099
1100         * tests/check/libs/basesrc.c: (eos_event_counter):
1101         Use proper return value for probe.
1102
1103 2006-03-17  Wim Taymans  <wim@fluendo.com>
1104
1105         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
1106         (gst_pad_push):
1107         Don't leak buffers, caps and pads on negotiation errors.
1108
1109 2006-03-16  Stefan Kost  <ensonic@users.sf.net>
1110
1111         * docs/faq/cvs.xml:
1112         * docs/faq/dependencies.xml:
1113         * docs/faq/developing.xml:
1114         * docs/faq/faq.xml:
1115         * docs/faq/general.xml:
1116         * docs/faq/getting.xml:
1117         * docs/faq/legal.xml:
1118         * docs/faq/troubleshooting.xml:
1119         * docs/faq/using.xml:
1120         Faq review and update.
1121
1122 2006-03-16  Jan Schmidt  <thaytan@mad.scientist.com>
1123
1124         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
1125         (gst_pad_push):
1126         Don't pound the cpu to pieces by checking get_caps when accept_caps
1127         is called with the same caps as the pad already has.
1128         Use GST_DEBUG_OBJECT when outputting caps change information.
1129
1130 2006-03-15  Wim Taymans  <wim@fluendo.com>
1131
1132         * gst/gstclock.c: (gst_clock_class_init):
1133         Fix docs.
1134
1135 2006-03-15  Jan Schmidt  <thaytan@mad.scientist.com>
1136
1137         * gst/gstbuffer.h:
1138         Documentation fix.
1139
1140         * gst/gstpad.c: (gst_pad_init), (gst_pad_acceptcaps_default),
1141         (gst_pad_accept_caps), (gst_pad_configure_sink),
1142         (gst_pad_configure_src), (gst_pad_chain), (gst_pad_push):
1143         Make the default acceptcaps behaviour be to check the requested 
1144         caps against the gst_pad_get_caps output. 
1145
1146         Ensure that gst_pad_accept_caps is used to check caps when a pad
1147         doesn't have a setcaps function, so that pads automatically refuse 
1148         caps that they don't allow in their pad template. (Fixes #332986)
1149
1150         When a buffer with attached caps is pushed, ensure that the source 
1151         pad receives those caps even if the element didn't call
1152         gst_pad_set_caps first.
1153
1154 2006-03-15  Wim Taymans  <wim@fluendo.com>
1155
1156         * libs/gst/base/gstadapter.c:
1157         Add some docs.
1158
1159 2006-03-15  Tim-Philipp Müller  <tim at centricular dot net>
1160
1161         * win32/common/libgstbase.def:
1162         * win32/common/libgstcontroller.def:
1163         * win32/common/libgstreamer.def:
1164           Add a whole bunch of missing functions (#334434).
1165
1166 2006-03-14  Wim Taymans  <wim@fluendo.com>
1167
1168         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
1169         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
1170         (gst_base_sink_do_sync), (gst_base_sink_do_qos):
1171         Better debug info when we receive a segment event.
1172         Reorganize a bit so we can pass the get_times() results around.
1173         Use the segment format when calculating the running time.
1174         Don't do QoS is sync is disabled or we have no clock or the
1175         element does not want us to sync to the clock.
1176         Don't drop buffers if QoS is disabled for now.
1177
1178 2006-03-14  Wim Taymans  <wim@fluendo.com>
1179
1180         * gst/gstclock.c: (gst_clock_class_init), (do_linear_regression):
1181         Marked the stats property as unimplemented so people don't get
1182         wild ideas.
1183         Add debug message when regression goes wrong.
1184         Added some more docs.
1185
1186 2006-03-14  Wim Taymans  <wim@fluendo.com>
1187
1188         * gst/gstsegment.c: (gst_segment_to_stream_time):
1189         Return correct return type in case of errors.
1190
1191 2006-03-14  Wim Taymans  <wim@fluendo.com>
1192
1193         * gst/gstformat.c: (gst_format_get_name), (gst_format_to_quark):
1194           Don't segfault on invalid formats.
1195
1196 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
1197
1198         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
1199           Can't use gst_segment_to_running_time() when the segment
1200           is not in GST_TIME_FORMAT (like with filesink, for example).
1201           Stops flac encoding pipelines from spewing critical warnings
1202           at EOS (#331248).
1203           
1204 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
1205
1206         * gst/gstpipeline.c: (gst_pipeline_class_init):
1207           Add 'Since: 0.10.5' to gtk-doc blurb for added property.
1208
1209         * plugins/elements/gsttypefindelement.c:
1210         (gst_type_find_element_handle_event):
1211           Don't try to typefind empty streams.
1212
1213 2006-03-14  Wim Taymans  <wim@fluendo.com>
1214
1215         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
1216         (gst_base_sink_do_qos):
1217         Separate QoS calculation.
1218         Only drop buffers when lateness is bigger than the 
1219         duration of the buffer.
1220
1221 2006-03-13  Wim Taymans  <wim@fluendo.com>
1222
1223         * gst/gstpipeline.c: (gst_pipeline_set_property),
1224         (gst_pipeline_get_property), (do_pipeline_seek),
1225         (gst_pipeline_change_state), (gst_pipeline_set_delay),
1226         (gst_pipeline_get_delay):
1227         Don't deadlock when reading properties.
1228
1229 2006-03-13  Wim Taymans  <wim@fluendo.com>
1230
1231         * libs/gst/base/gstbasetransform.c:
1232         (gst_base_transform_class_init), (gst_base_transform_init),
1233         (gst_base_transform_sink_event),
1234         (gst_base_transform_sink_eventfunc),
1235         (gst_base_transform_src_event), (gst_base_transform_src_eventfunc),
1236         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
1237         (gst_base_transform_set_property),
1238         (gst_base_transform_get_property),
1239         (gst_base_transform_change_state), (gst_base_transform_update_qos),
1240         (gst_base_transform_set_qos_enabled),
1241         (gst_base_transform_is_qos_enabled):
1242         * libs/gst/base/gstbasetransform.h:
1243         Make basetransform virtual method for src events too.
1244         Handle QOS in basetransform.
1245         API: gst_base_transform_update_qos()
1246         API: gst_base_transform_set_qos_enabled()
1247         API: gst_base_transform_is_qos_enabled()
1248
1249 2006-03-13  Wim Taymans  <wim@fluendo.com>
1250
1251         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
1252         (gst_base_sink_do_sync):
1253         Small cleanups.
1254         Use QOS debug category.
1255
1256 2006-03-13  Wim Taymans  <wim@fluendo.com>
1257
1258         * plugins/elements/gstqueue.c:
1259         Very small doc update.
1260
1261 2006-03-13  Wim Taymans  <wim@fluendo.com>
1262
1263         * gst/gst_private.h:
1264         * gst/gstinfo.c: (_gst_debug_init):
1265         Added QOS debug category
1266
1267 2006-03-13  Wim Taymans  <wim@fluendo.com>
1268
1269         * docs/gst/gstreamer-sections.txt:
1270         * gst/gstbin.c: (bin_bus_handler), (gst_bin_handle_message_func):
1271         * gst/gstbin.h:
1272         * gst/gstbus.c: (gst_bus_class_init):
1273         * gst/gstbus.h:
1274         * gst/gstclock.c:
1275         * gst/gstelement.c: (gst_element_set_locked_state):
1276         * gst/gstsegment.c:
1277         Documentation updates.
1278
1279         * gst/gstpipeline.c: (gst_pipeline_get_type),
1280         (gst_pipeline_class_init), (gst_pipeline_init),
1281         (gst_pipeline_dispose), (gst_pipeline_set_property),
1282         (gst_pipeline_get_property), (do_pipeline_seek),
1283         (gst_pipeline_send_event), (gst_pipeline_change_state),
1284         (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay),
1285         (gst_pipeline_get_delay):
1286         * gst/gstpipeline.h:
1287         Added methods for setting the delay.
1288         API: gst_pipeline_set_delay()
1289         API: gst_pipeline_get_delay()
1290         Add pipeline debug category
1291         Various cleanups.
1292         Updated docs.
1293         Don't reset stream time when seek failed.
1294
1295 2006-03-13  Wim Taymans  <wim@fluendo.com>
1296
1297         * docs/design/draft-klass.txt:
1298         * docs/design/part-clocks.txt:
1299         * docs/design/part-events.txt:
1300         * docs/design/part-gstbin.txt:
1301         * docs/design/part-gstpipeline.txt:
1302         * docs/design/part-messages.txt:
1303         * docs/design/part-negotiation.txt:
1304         * docs/design/part-overview.txt:
1305         * docs/design/part-preroll.txt:
1306         * docs/design/part-seeking.txt:
1307         * docs/design/part-states.txt:
1308         * docs/design/part-streams.txt:
1309         Documentation updates.
1310
1311 2006-03-12  Julien MOUTTE  <julien@moutte.net>
1312
1313         * gst/gsttaglist.c: Fix rubbish docs that are encouraging
1314         us to leak strings...
1315
1316 2006-03-12  Thomas Vander Stichele  <thomas at apestaart dot org>
1317
1318         * libs/gst/net/gstnettimeprovider.c:
1319           fix docs
1320         * win32/common/config.h:
1321           update
1322
1323 2006-03-12  Tim-Philipp Müller  <tim at centricular dot net>
1324
1325         Patch by: Julio M. Merino Vidal <jmmv at netbsd org>
1326
1327         * configure.ac:
1328           Don't check for libgnomeui (leftover from old examples
1329           that aren't built or disted any longer) (#334303).
1330           
1331 2006-03-11  Tim-Philipp Müller  <tim at centricular dot net>
1332
1333         * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
1334         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
1335           Emit RESOURCE_NO_SPACE_LEFT error here as well when
1336           there's no space left on the device.
1337
1338 2006-03-10  Tim-Philipp Müller  <tim at centricular dot net>
1339
1340         * gst/gstclock.h:
1341           Fix GST_CLOCK_TIME_IS_VALID signedness issues - we need
1342           to cast the input to GstClockTime before comparing with
1343           another GstClockTime value.
1344
1345 2006-03-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1346
1347         * configure.ac:
1348           back to trunk
1349
1350 === release 0.10.4 ===
1351
1352 2006-03-10  Thomas Vander Stichele <thomas at apestaart dot org>
1353
1354         * configure.ac:
1355           releasing 0.10.4, "Light"
1356
1357 2006-03-10  Michael Smith  <msmith@fluendo.com>
1358
1359         * libs/gst/dataprotocol/dataprotocol.c:
1360           Fix docs for dataprocotol to not get the return types completely
1361           wrong for a few functions.
1362
1363 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
1364
1365         * docs/gst/gstreamer-sections.txt:
1366         * gst/gstpipeline.c: (gst_pipeline_class_init),
1367         (gst_pipeline_init), (gst_pipeline_set_property),
1368         (gst_pipeline_get_property), (gst_pipeline_change_state),
1369         (gst_pipeline_set_auto_flush_bus),
1370         (gst_pipeline_get_auto_flush_bus):
1371         * gst/gstpipeline.h:
1372           Add new API: gst_pipeline_set_auto_flush_bus() and
1373           gst_pipeline_get_auto_flush_bus() to disable automatic
1374           flushing of the pipeline's GstBus when going from READY
1375           to NULL state (#332045).
1376
1377 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
1378
1379         * docs/gst/gstreamer-sections.txt:
1380         * gst/gsturi.c: (gst_uri_has_protocol):
1381         * gst/gsturi.h:
1382            Add new API: gst_uri_has_protocol() (#333779).
1383
1384 2006-03-09  Wim Taymans  <wim@fluendo.com>
1385
1386         * gst/gstclock.c: (gst_clock_entry_new),
1387         (gst_clock_id_compare_func), (gst_clock_id_wait),
1388         (gst_clock_id_wait_async), (gst_clock_id_unschedule),
1389         (gst_clock_init), (gst_clock_get_internal_time),
1390         (gst_clock_set_master), (do_linear_regression),
1391         (gst_clock_add_observation), (gst_clock_set_property):
1392         * gst/gstclock.h:
1393         Review docs.
1394         Small cleanups.
1395         Fix a possible segfault when the window-size is made smaller.
1396         Calculate jitter before performing the clock wait. Ideally
1397         the clock implementation should calculate jitter but we need
1398         API breakage for that.
1399
1400         * gst/gstsystemclock.c: (gst_system_clock_init):
1401         Docs review.
1402         
1403         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
1404         Remove leftover else
1405
1406         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
1407         (gst_systemclock_suite):
1408         Added check to test GST_CLOCK_DIFF.
1409
1410 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
1411
1412         * libs/gst/base/gsttypefindhelper.c: (helper_find_get_length),
1413         (gst_type_find_helper_get_range):
1414           If we are provided with the size, we should implement
1415           GstTypeFind::get_length, so that typefind functions who
1416           want to can actually peek at the middle of a file.
1417
1418 2006-03-08  Tim-Philipp Müller  <tim at centricular dot net>
1419
1420         * docs/manual/advanced-dataaccess.xml:
1421           Add some very very basic error checking.
1422
1423         * docs/pwg/appendix-checklist.xml:
1424           Some updates to the list of things to check when writing an element.
1425
1426 2006-03-08  Wim Taymans  <wim@fluendo.com>
1427
1428         * docs/design/part-element-transform.txt:
1429         Added some docs about the design of tranform elements.
1430
1431         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
1432         (gst_base_src_loop), (gst_base_src_change_state):
1433         Mark buffers with the DISCONT flag.
1434
1435 2006-03-08  Michael Smith  <msmith@fluendo.com>
1436
1437         * gst/gstregistry.h:
1438         * gst/gstregistryxml.c: (gst_registry_save),
1439         (gst_registry_save_escaped), (gst_registry_xml_save_caps),
1440         (gst_registry_xml_save_pad_template),
1441         (gst_registry_xml_save_feature), (gst_registry_xml_save_plugin),
1442         (gst_registry_xml_write_cache):
1443           Rewrite registry-saving to avoid race conditions and check for
1444           failed writes.
1445
1446 2006-03-08  Wim Taymans  <wim@fluendo.com>
1447
1448         * libs/gst/base/gstbasetransform.c:
1449         (gst_base_transform_transform_caps),
1450         (gst_base_transform_transform_size),
1451         (gst_base_transform_prepare_output_buffer),
1452         (gst_base_transform_get_unit_size),
1453         (gst_base_transform_buffer_alloc),
1454         (gst_base_transform_handle_buffer),
1455         (gst_base_transform_change_state):
1456         Cleanups, separate normal flow from errors, add sensible
1457         DEBUG lines.
1458         Don't try to renegotiate when allocating an output buffer.
1459         Also copy DISCONT buffer flag when copying a buffer.
1460         Reset the transform after we finish streaming, not during.
1461
1462 2006-03-08  Wim Taymans  <wim@fluendo.com>
1463
1464         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
1465         Use last buffer timestamp in qos message.
1466
1467 2006-03-07  Wim Taymans  <wim@fluendo.com>
1468
1469         Patch by: Christophe Fergeau
1470
1471         * docs/pwg/advanced-tagging.xml:
1472         * docs/pwg/building-pads.xml:
1473           fixes #333416
1474
1475 2006-03-07  Wim Taymans  <wim@fluendo.com>
1476
1477         * docs/libs/gstreamer-libs-sections.txt:
1478         Added basesink new methods.
1479
1480         * gst/gstevent.c:
1481         * gst/gstevent.h:
1482         Docs updates. Flesh out the QoS docs.
1483
1484         * libs/gst/base/gstadapter.c:
1485         Small doc clarification about ownership and flushing.
1486
1487         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_sync),
1488         (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
1489         (gst_base_sink_get_max_lateness), (gst_base_sink_set_property),
1490         (gst_base_sink_get_property), (gst_base_sink_do_sync):
1491         * libs/gst/base/gstbasesink.h:
1492         API additions: 
1493         Added new methods to allow subclass to control max-lateness 
1494         and sync.
1495         Generate very basic QoS events based on last sync observation.
1496         Updated docs, fix typo, added some QoS blurb.
1497
1498         * libs/gst/base/gstbasesrc.c:
1499         Remove obsolete _get_state() calls from docs.
1500
1501 2006-03-07  Wim Taymans  <wim@fluendo.com>
1502
1503         * docs/libs/gstreamer-libs-sections.txt:
1504         * libs/gst/base/gstbasetransform.h:
1505         API addition: Fix #333669, Add pad accessor defines for GstBaseTransform
1506         Fix docs for GstBaseSrc.
1507
1508 2006-03-07  Wim Taymans  <wim@fluendo.com>
1509
1510         * docs/gst/gstreamer-sections.txt:
1511         * gst/gstbuffer.h:
1512         * gst/gstvalue.c:
1513         * libs/gst/base/gstbasetransform.h:
1514         Small documentation fixes.
1515
1516 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
1517
1518         * gst/gstvalue.c:
1519           Document thread-unsafety of gst_value_register_foo_func()
1520           when used at the same time as gst_value_foo() (#322628).
1521
1522 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
1523
1524         * libs/gst/base/gstpushsrc.c: (gst_push_src_class_init),
1525         (gst_push_src_check_get_range):
1526           Push sources don't support pull mode by default.
1527
1528 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
1529
1530         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
1531         (gst_base_src_init), (gst_base_src_pad_check_get_range),
1532         (gst_base_src_default_check_get_range):
1533         * libs/gst/base/gstbasesrc.h:
1534           API addition:  Add ::check_get_range() vfunc to GstBaseSrc (#332611),
1535           provide default implementation, and rename
1536           gst_base_src_check_get_range() to
1537           gst_base_src_pad_check_get_range() for clarity.
1538
1539 2006-03-06  Wim Taymans  <wim@fluendo.com>
1540
1541         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
1542         Make property overridable.
1543
1544 2006-03-06  Wim Taymans  <wim@fluendo.com>
1545
1546         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
1547         (gst_base_sink_init), (gst_base_sink_set_property),
1548         (gst_base_sink_get_property), (gst_base_sink_do_sync):
1549         * libs/gst/base/gstbasesink.h:
1550         API addition: Make max-lateness a property.
1551
1552 2006-03-06  Wim Taymans  <wim@fluendo.com>
1553
1554         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock),
1555         (gst_base_sink_do_sync), (gst_base_sink_render_object):
1556         Don't ever draw a frame that is >10ms late.
1557
1558 2006-03-06  Michael Smith  <msmith@fluendo.com>
1559
1560         * gst/gstmessage.c: (_gst_message_copy):
1561           When copying a message, set the parent_refcount of the enclosed
1562           structure to point at the copy, not the original message.
1563
1564 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
1565
1566         Patch by: Christophe Fergeau
1567
1568         * gst/gstutils.h:
1569           Do proper cast here to make GST_BOILERPLATE_WITH_INTERFACE
1570           usable in c++ code (#333417)
1571
1572 2006-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
1573
1574         * gst/gstclock.h:
1575           Show GST_CLOCK_TIME_NONE as 99:99:99.999999999
1576
1577 2006-03-05  Tim-Philipp Müller  <tim at centricular dot net>
1578
1579         * libs/gst/base/gstbasetransform.c:
1580         (gst_base_transform_transform_caps):
1581           Make sure caps are writable before passing them to
1582           gst_caps_append().
1583
1584 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
1585
1586         * gst/gsterror.h:
1587           Fix some minor docs errors.
1588
1589 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
1590
1591           Patch by: Ross Burton <ross at burtonini dot com>
1592
1593         * gst/gsterror.c: (_gst_resource_errors_init):
1594         * gst/gsterror.h:
1595           Add GST_RESOURCE_ERROR_NO_SPACE_LEFT (for #333352;
1596
1597 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
1598
1599         * gst/gst.c:
1600         Add a check and output a g_warning when GStreamer is built
1601         against GLib 2.6 but running against 2.8 or higher, and vice 
1602         versa. (Closes: #323542)
1603
1604 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
1605
1606         * gst/parse/parse.l:
1607           Commit patch for parse_launch syntax from #331255. Removes 
1608           support for quoted strings and mimetypes when writing filtered 
1609           caps. See the bug report for more details - I'm pretty sure this
1610           obscure feature is not in use by _anyone_ anywhere.
1611
1612           With this simple change, the size of the gstreamer.so here 
1613           drops from 2193KB to 1565KB.
1614
1615 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
1616
1617         * plugins/elements/gsttypefindelement.h:
1618         * plugins/elements/gsttypefindelement.c:
1619         (gst_type_find_element_src_event), (start_typefinding),
1620         (stop_typefinding), (gst_type_find_element_handle_event),
1621         (gst_type_find_element_chain),
1622         (gst_type_find_element_chain_do_typefinding):
1623           Use gst_type_find_helper_for_buffer() for chain-based
1624           typefinding.
1625
1626 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
1627
1628         * plugins/elements/gsttypefindelement.c:
1629         (gst_type_find_element_class_init),
1630         (gst_type_find_element_set_property),
1631         (gst_type_find_element_get_property):
1632           Deprecate "maximum" property (not only was it only taken into
1633           account for typefinding in push-mode anyway, it also was never
1634           actually possible to set it in the first place because the
1635           property was registered with the numeric property ID for the
1636           "minimum" property). Register "maximum" property correctly,
1637           for the sake of future copy'n'pasters. Remove some cruft
1638           from property get/set functions.
1639
1640 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
1641
1642         * plugins/elements/gsttypefindelement.c:
1643         (gst_type_find_element_activate):
1644           Use gst_type_find_helper_get_range() here, so we
1645           can honour the "minimum" property and also emit
1646           the signal with the correct probability of the found caps.
1647
1648 2006-03-02  Tim-Philipp Müller  <tim at centricular dot net>
1649
1650         * docs/libs/gstreamer-libs-sections.txt:
1651         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
1652         (helper_find_suggest), (gst_type_find_helper_get_range),
1653         (gst_type_find_helper):
1654         * libs/gst/base/gsttypefindhelper.h:
1655           New API: gst_type_find_helper_get_range() (#333042).
1656
1657 2006-03-02  Michael Smith  <msmith@fluendo.com>
1658
1659         * gst/gstregistryxml.c: (load_feature):
1660           Asserting on a failure to read part of the registry is Not Cool.
1661           Just log a warning and return NULL (which is already handled)
1662
1663 2006-02-28  Sebastien Moutte  <sebastien@moutte.net>
1664
1665         * win32/common/libgstbase.def:
1666           added export of gst_type_find_helper_for_buffer
1667         * win32/common/libgstbase.def:
1668           added some exports : gst_bin_iterate_elements, gst_iterator_resync,
1669           gst_ghost_pad_get_target
1670
1671 2006-02-28  Wim Taymans  <wim@fluendo.com>
1672
1673         * docs/design/draft-klass.txt:
1674         We use Filter now.
1675         Added Connector to mark elements that are only used to
1676         allow pipeline connections.
1677         Moved Debug to extra feature since most of them are 
1678         functionally something else.
1679
1680 2006-02-28  Wim Taymans  <wim@fluendo.com>
1681
1682         * docs/design/draft-klass.txt:
1683         Some updates and clarifications.
1684
1685 2006-02-28  Wim Taymans  <wim@fluendo.com>
1686
1687         * docs/design/draft-klass.txt:
1688         Proposal for klass field values.
1689
1690         * docs/design/part-streams.txt:
1691         Start of a doc describing stream anatomy.
1692
1693 2006-02-28  Wim Taymans  <wim@fluendo.com>
1694
1695         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_handle_message_func):
1696         Help the compiler a bit with type registration.
1697         Use existing forward cod path instead of duplicating it when 
1698         handling a message.
1699         
1700         * gst/gstbus.c: (gst_bus_get_type):
1701         * gst/gstcaps.c: (gst_caps_get_type), (gst_static_caps_get_type):
1702         * gst/gstchildproxy.c: (gst_child_proxy_get_type):
1703         * gst/gstclock.c: (gst_clock_get_type):
1704         * gst/gstelement.c: (gst_element_get_type),
1705         * gst/gstelementfactory.c: (gst_element_factory_get_type):
1706         * gst/gstindexfactory.c: (gst_index_factory_get_type):
1707         * gst/gstminiobject.c: (gst_mini_object_get_type):
1708         * gst/gstpad.c: (gst_pad_get_type):
1709         * gst/gstsegment.c: (gst_segment_get_type):
1710         * gst/gststructure.c: (gst_structure_get_type):
1711         * gst/gstsystemclock.c: (gst_system_clock_get_type):
1712         * gst/gsttask.c: (gst_task_get_type), (gst_task_join):
1713         * gst/gstvalue.c:
1714         Help compiler with type registration.
1715
1716         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
1717         Small doc update.
1718
1719 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
1720
1721         * plugins/elements/gsttypefindelement.c:
1722         (gst_type_find_element_handle_event):
1723           When we get an EOS event and have not found a type yet
1724           (most likely because we had not yet accumulated
1725           TYPE_FIND_MIN_SIZE of data yet), try to determine the
1726           type given the data we have so far. Fixes typefinding
1727           for very short streams again, most notably quicktime
1728           redirections as used on Apple's trailer site (#331701).
1729
1730 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
1731
1732         * libs/gst/base/gsttypefindhelper.c: (type_find_factory_rank_cmp),
1733         (gst_type_find_helper):
1734           Try typefinding factories with the highest rank first.
1735
1736 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
1737
1738         * docs/libs/gstreamer-libs-docs.sgml:
1739         * docs/libs/gstreamer-libs-sections.txt:
1740         * libs/gst/base/gsttypefindhelper.c:
1741           Add section for typefind helper and add documentation
1742           for the old and the new function.
1743
1744 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
1745
1746         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek),
1747         (buf_helper_find_suggest), (type_find_factory_rank_cmp),
1748         (gst_type_find_helper_for_buffer):
1749         * libs/gst/base/gsttypefindhelper.h:
1750           New API: gst_type_find_helper_for_buffer() (#332723).
1751           
1752 2006-02-27  Michael Smith  <msmith@fluendo.com>
1753
1754         Patch by: Loïc Minier
1755
1756         * configure.ac:
1757         * docs/Makefile.am:
1758         * docs/slides/Makefile.am:
1759           prevent CVS directories getting disted.
1760
1761 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
1762
1763         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref):
1764           Use the REFCOUNTING category for caps refcounting.
1765           
1766 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
1767
1768         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
1769           This should be 0 not GST_CLOCK_TIME_NONE (see #331701).
1770
1771 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
1772
1773         * plugins/elements/gsttypefindelement.c:
1774         (gst_type_find_element_activate):
1775           Use gst_pad_check_pull_range() before _activate_pull()
1776           to avoid unnecessary open/close (see #331690).
1777
1778 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
1779
1780         * gst/gstutils.c:
1781           Docs enhancement: make it crystal clear what the
1782           gst_pad_add_*_probe() callbacks should look like.
1783
1784 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
1785
1786         * libs/gst/base/gstbasesrc.c:
1787           Document how applications can stop recording from
1788           live sources (see #330996).
1789
1790 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
1791
1792         * tests/check/Makefile.am:
1793         * tests/check/libs/basesrc.c: (eos_event_counter),
1794         (basesrc_eos_events_pull), (basesrc_eos_events_push),
1795         (basesrc_eos_events_push_live_op), (basesrc_eos_events_pull_live_op),
1796         (gst_basesrc_suite), (main):
1797           ... and add some tests for the base source EOS stuff.
1798
1799 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
1800
1801         * tests/check/gst/gstutils.c: (test_buffer_probe_n_times):
1802           Test case originally showed the problem fixed below,
1803           but was then amended. Add checks back at the place
1804           where they used to be.
1805
1806 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
1807
1808         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
1809         (gst_base_src_init), (gst_base_src_loop),
1810         (gst_base_src_activate_push), (gst_base_src_activate_pull),
1811         (gst_base_src_change_state):
1812         * libs/gst/base/gstbasesrc.h:
1813           Don't unconditionally send EOS when going from PAUSED to
1814           READY state, esp. make sure we don't send two EOS events
1815           in some cases (e.g. one when reaching EOS and one when
1816           going from PAUSED to READY). Also, we don't want to send
1817           EOS events when operating in pull mode. However, we do
1818           want to send an EOS event when shutting down a live
1819           source explicitly, for example (fixes #330996).
1820           
1821 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
1822
1823         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
1824           Update src->read_position after a seek when not using mmap.
1825           Fixes #332277, patch by: Renchi Raju <renchi gmail com>
1826
1827 2006-02-21  Jan Schmidt  <thaytan@mad.scientist.com>
1828
1829         * gst/Makefile.am:
1830         * gst/gstparse.h:
1831         * gst/gstutils.c:
1832         * gst/gstutils.h:
1833         Make things work with --disable-parse as they do with 
1834         --disable-load-save - the symbols involved disappear, but the
1835         header is still installed and GST_DISABLE_PARSE is included via
1836         gstconfig.h
1837
1838 2006-02-20  Julien MOUTTE  <julien@moutte.net>
1839
1840         * libs/gst/base/gstbasetransform.c:
1841         (gst_base_transform_change_state): Fix a stupid bug. I was 
1842         sure I compiled that.
1843
1844 2006-02-20  Julien MOUTTE  <julien@moutte.net>
1845
1846         * gst/gstpad.c: (gst_pad_set_blocked_async):
1847         * gst/gstutils.c: (gst_pad_add_data_probe),
1848         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
1849         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
1850         (gst_pad_remove_buffer_probe): Make those function act on the
1851         ghostpad target when it's a ghostpad. (Closes #331727)
1852
1853 2006-02-20  Julien MOUTTE  <julien@moutte.net>
1854
1855         * libs/gst/base/gstbasetransform.c:
1856         (gst_base_transform_change_state): Make basetransform reusable.
1857         (Closes #331898)
1858
1859 2006-02-20  Jan Schmidt  <thaytan@mad.scientist.com>
1860
1861         * docs/random/release:
1862         Move the current documentation of how to do a release to the top
1863         of the file.
1864
1865         * gst/gstbin.c: (gst_bin_class_init),
1866         (gst_bin_handle_message_func):
1867         Allow multiple state-recalculation threads. (Closes #328873)
1868
1869 2006-02-19  Julien MOUTTE  <julien@moutte.net>
1870
1871         * gst/gstinfo.h: Add GST_STR_NULL to the second string.
1872         * gst/gstpad.c: (gst_pad_set_event_function),
1873         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
1874         (gst_pad_set_getcaps_function): GST_DEBUG_PAD_NAME evaluates to
1875         2 strings. You can't use the STR_NULL macro on that.
1876
1877 2006-02-19  Sebastien Moutte <sebastien@moutte.net>
1878
1879         * gst/gstpad.c: (gst_pad_set_event_function),
1880         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
1881         (gst_pad_set_getcaps_function)
1882         * gst/parse/grammar.y: (gst_parse_found_pad), (gst_parse_perform_delayed_link)
1883           Fixed NULL pointer used in GST_CAT_DEBUG using GST_STR_NULL macro
1884           So now, we can use --gst-debug-level=5 on Windows
1885         * win32/common/libgstcontroller.def:
1886           Added export of gst_controller_init
1887         * win32/vs6/libgstcontroller.dsp:
1888           Fixed Release post build configuration
1889
1890 2006-02-17  Wim Taymans  <wim@fluendo.com>
1891
1892         * tests/check/gst/gstquery.c: (GST_START_TEST):
1893         Added another check.
1894
1895 2006-02-15  Tim-Philipp Müller  <tim at centricular dot net>
1896
1897         * plugins/elements/gsttypefindelement.c: (find_peek):
1898           We can do peeks at non-zero offsets, as long as they
1899           fall within the buffer we have.
1900
1901 2006-02-15  Jan Schmidt  <thaytan@mad.scientist.com>
1902
1903         * tests/check/Makefile.am:
1904         * tests/check/pipelines/parse-launch.c: (setup_pipeline),
1905         (expected_fail_pipe), (check_pipeline_runs), (GST_START_TEST),
1906         (parse_suite), (main):
1907           Add testsuite for parse launch syntax
1908
1909 2006-02-14  Tim-Philipp Müller  <tim at centricular dot net>
1910
1911         * plugins/elements/gsttypefindelement.c:
1912         (gst_type_find_element_chain):
1913           When typefinding is unsuccessful in the chain function, don't
1914           error out immediately. Only error out with NO_CAPS_FOUND if
1915           the amount of data is at least MAX_TYPEFIND_SIZE bytes,
1916           otherwise simply wait for more data so we can try typefinding
1917           again with more data later. Also, don't attempt to typefind
1918           if we have less than MIN_TYPEFIND_SIZE data available. Overall,
1919           this should improve typefinding from network sources where the
1920           size of the first buffer can be somewhat random.
1921
1922 2006-02-14  Wim Taymans  <wim@fluendo.com>
1923
1924         * docs/gst/gstreamer-sections.txt:
1925         * gst/gstpadtemplate.c:
1926         * gst/gstpadtemplate.h:
1927         Fix padtemplate docs, fixes #328805.
1928
1929 2006-02-14  Wim Taymans  <wim@fluendo.com>
1930
1931         * tools/gst-launch.c: (main):
1932         NO_PREROLL is not an ERROR so don't send confusing messages
1933         to the user.
1934
1935 2006-02-14  Wim Taymans  <wim@fluendo.com>
1936
1937         Patch by: Torsten Schoenfeld
1938
1939         * gst/gstregistry.c: (gst_registry_get_default),
1940         (_gst_registry_cleanup):
1941         Protect default registry with lock and ref/sink it.
1942         Fixes #324818
1943
1944 2006-02-14  Wim Taymans  <wim@fluendo.com>
1945
1946         * gst/gstbuffer.c:
1947         * gst/gstquery.c: (gst_query_list_add_format),
1948         (gst_query_set_formatsv), (gst_query_parse_formats_length),
1949         (gst_query_parse_formats_nth):
1950         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
1951         Docs fixes.
1952
1953 2006-02-14  Wim Taymans  <wim@fluendo.com>
1954
1955         * docs/gst/gstreamer-sections.txt:
1956         Reworked query docs.
1957
1958         * gst/gstquery.c: (gst_query_new_formats),
1959         (gst_query_list_add_format), (gst_query_set_formats),
1960         (gst_query_set_formatsv), (gst_query_parse_formats_length),
1961         (gst_query_parse_formats_nth):
1962         * gst/gstquery.h:
1963         Flesh out formats query, added some new methods.
1964         Fix part of #324398.
1965
1966         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite):
1967         Added query creation tests.
1968
1969 2006-02-14  Jan Schmidt  <thaytan@mad.scientist.com>
1970
1971         * gst/gstpad.c: (fixate_value):
1972         Add a default fixation for fraction lists.
1973
1974 2006-02-13  Wim Taymans  <wim@fluendo.com>
1975
1976         * gst/gsttask.c: (gst_task_init), (gst_task_func),
1977         (gst_task_set_lock), (gst_task_start), (gst_task_pause),
1978         (gst_task_join):
1979         * gst/gsttask.h:
1980         Detect and warn for obvious deadlocks. fixes #320340
1981         Fix error case where lock was not released.
1982
1983         * tests/check/Makefile.am:
1984         * tests/check/gst/gsttask.c: (task_func2), (GST_START_TEST),
1985         (task_func), (gst_element_suite), (main):
1986         Add task check.
1987
1988 2006-02-13  Wim Taymans  <wim@fluendo.com>
1989
1990         * docs/gst/gstreamer-sections.txt:
1991         * gst/gstbus.c:
1992         Add new functions to docs.
1993
1994 2006-02-13  Wim Taymans  <wim@fluendo.com>
1995
1996         * docs/design/part-TODO.txt:
1997         Updated TODO list, basesrc supports seeking to non-bytes
1998         formats.
1999
2000         * docs/design/part-element-sink.txt:
2001         Update docs.
2002
2003         * gst/gstbin.c: (bin_replace_message),
2004         (gst_bin_handle_message_func):
2005         * gst/gstbus.c: (gst_bus_post), (gst_bus_pop):
2006         * gst/gstevent.c: (gst_event_finalize):
2007         * gst/gstpad.c: (gst_pad_event_default_dispatch),
2008         (gst_pad_send_event):
2009         Use shiny new _TYPE_NAME macros.
2010
2011         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
2012         Move debug statement up.
2013
2014         * gst/gstelement.c: (gst_element_set_locked_state):
2015         Add some debugging.
2016
2017 2006-02-13  Tim-Philipp Müller  <tim at centricular dot net>
2018
2019         * docs/gst/gstreamer-sections.txt:
2020         * gst/gstmessage.h:
2021         * gst/gstquery.h:
2022           New API: add GST_MESSAGE_TYPE_NAME and GST_QUERY_TYPE_NAME
2023           macros (#330906). Also, document the already existing
2024           GST_QUERY_TYPE macro.
2025
2026 2006-02-13  Wim Taymans  <wim@fluendo.com>
2027
2028         * tests/check/gst/gstutils.c: (data_probe), (buffer_probe),
2029         (event_probe), (GST_START_TEST):
2030         Only events up to the pipeline EOS are counted, there are
2031         some more when going to NULL currently which we don't care
2032         about for now.
2033
2034 2006-02-13  Wim Taymans  <wim@fluendo.com>
2035
2036         * gst/gstpad.c: (gst_pad_send_event):
2037         Correctly check flushing and emit probes. fixes #330125
2038
2039 2006-02-10  Andy Wingo  <wingo@pobox.com>
2040
2041         * gst/gstbus.c (gst_bus_class_init): Declare our private data
2042         structure.
2043         (gst_bus_init): Cache the location of the private data in the
2044         instance structure.
2045         (gst_bus_enable_sync_message_emission) 
2046         (gst_bus_disable_sync_message_emission): Implement new public
2047         functions.
2048         (gst_bus_post): Emit the sync-message signal if the user asked for
2049         it. Fixes #330684.
2050
2051         * gst/gstbus.h (GstBus): Use a padding pointer to cache the
2052         location of the bus-private structure.
2053         (gst_bus_enable_sync_message_emission)
2054         (gst_bus_disable_sync_message_emission): API addition
2055
2056 2006-02-10  Jan Schmidt  <thaytan@mad.scientist.com>
2057
2058         Patch by: Vincent Torri
2059
2060         * docs/pwg/building-boiler.xml:
2061         PWG patch from #326800
2062
2063 2006-02-09  Tim-Philipp Müller  <tim at centricular dot net>
2064
2065         * configure.ac:
2066         * docs/Makefile.am:
2067         * docs/design/Makefile.am:
2068           Dist design docs.
2069
2070 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
2071
2072         * configure.ac:
2073           back to CVS
2074
2075 === release 0.10.3 ===
2076
2077 2006-02-08  Jan Schmidt <thaytan@mad.scientist.com>
2078
2079         * configure.ac:
2080           releasing 0.10.3, "Like a virgin"
2081
2082 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
2083
2084         * configure.ac:
2085           2nd prerelease of 0.10.3
2086           Bump libtool versioning.
2087
2088 2006-02-07  Andy Wingo  <wingo@pobox.com>
2089
2090         * libs/gst/base/gstcollectpads.c (gst_collect_pads_chain): Only
2091         update last_stop if we're in TIME format and the timestamp is
2092         valid.
2093
2094         * libs/gst/base/gstcollectpads.c (gst_collect_pads_event) 
2095         * libs/gst/base/gstbasetransform.c (gst_base_transform_eventfunc): 
2096         * libs/gst/base/gstbasesink.c (gst_base_sink_configure_segment):
2097         If we get a new newsegment with a different format, adapt
2098         accordingly.
2099
2100         * gst/gstclock.c (gst_clock_set_calibration): Accept a numerator
2101         of 0. Not a problem, really.
2102
2103         * libs/gst/base/gstbasesink.c (gst_base_sink_chain_unlocked): Only
2104         warn if sync=true.
2105
2106 2006-02-06  Jan Schmidt  <thaytan@mad.scientist.com>
2107
2108         * configure.ac:
2109           Prelease of 0.10.3
2110
2111 2006-02-06  Sebastien Moutte  <sebastien@moutte.net>
2112
2113         * win32/vs7:
2114           project files updated to the default vs7 configuration
2115         * win32/common/libgstbase.def:
2116         * win32/common/libgstreamer.def:
2117           added new symbols,
2118           removed empty lines,
2119           sorted all exported symbols alphabetically
2120         * win32/common/dirent.c:
2121         * win32/common/dirent.h:
2122         * win32/common/gchar.h:
2123           use windows line end.
2124           
2125 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
2126
2127         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
2128           Send EOS event when stopping.
2129
2130 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
2131
2132         * docs/README:
2133           Tell folks what to do if the plugin-foobar.xml file
2134           hasn't been generated for a newly-added plugin.
2135
2136 2006-02-05  Julien MOUTTE  <julien@moutte.net>
2137
2138         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
2139         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
2140         (gst_collect_pads_start), (gst_collect_pads_stop),
2141         (gst_collect_pads_event): Collectpads now holds a reference
2142         to the GstPad that was added. Indeed we don't want to look
2143         at pads that might just go away with no warning...
2144
2145 2006-02-05  Julien MOUTTE  <julien@moutte.net>
2146
2147         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
2148         (gst_collect_pads_start), (gst_collect_pads_stop),
2149         (gst_collect_pads_event), (gst_collect_pads_chain):
2150         * libs/gst/base/gstcollectpads.h: Handle flush. Adapted from
2151         Mark Nauwelaerts's patch on bug #328491.
2152
2153 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
2154
2155         * tests/check/gst/gstutils.c: (test_parse_bin_from_description),
2156         (gst_utils_suite):
2157           Add some simple tests for gst_parse_bin_from_description() and
2158           gst_bin_find_unconnected_pad() (#329069).
2159
2160 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
2161
2162         * tools/gst-launch.c: (event_loop), (main):
2163           Catch errors during preroll (#320084).
2164
2165 2006-02-03  Tim-Philipp Müller  <tim at centricular dot net>
2166
2167         * plugins/elements/gsttypefindelement.c:
2168         (gst_type_find_element_activate):
2169           Post TYPE_NOT_FOUND error message when typefinding
2170           is unsuccessful in the activate function as well.
2171
2172 2006-02-02  Wim Taymans  <wim@fluendo.com>
2173
2174         * docs/design/part-element-sink.txt:
2175         Updated doc.
2176
2177 2006-02-02  Wim Taymans  <wim@fluendo.com>
2178
2179         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
2180         (gst_base_sink_render_object),
2181         (gst_base_sink_queue_object_unlocked):
2182         Only keep track of prerollable items when we are 
2183         prerolling.
2184         Before rendering after preroll, always check if we
2185         have queued items.
2186         Added some more debugging.
2187
2188 2006-02-02  Wim Taymans  <wim@fluendo.com>
2189
2190         * gst/gstelement.c: (gst_element_continue_state),
2191         (gst_element_set_state_func), (gst_element_change_state):
2192         Fixed #326576, been running this for quite some time with
2193         no regressions at all.
2194
2195 2006-02-02  Wim Taymans  <wim@fluendo.com>
2196
2197         * common/gst.supp:
2198         Added more suppressions
2199
2200 2006-02-02  Wim Taymans  <wim@fluendo.com>
2201
2202         * docs/design/part-element-sink.txt:
2203         Updated document.
2204
2205         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
2206         (gst_base_sink_finalize), (gst_base_sink_preroll_queue_flush),
2207         (gst_base_sink_configure_segment), (gst_base_sink_commit_state),
2208         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
2209         (gst_base_sink_do_sync), (gst_base_sink_render_object),
2210         (gst_base_sink_preroll_object),
2211         (gst_base_sink_queue_object_unlocked),
2212         (gst_base_sink_queue_object), (gst_base_sink_event),
2213         (gst_base_sink_chain_unlocked), (gst_base_sink_chain),
2214         (gst_base_sink_loop), (gst_base_sink_activate_pull),
2215         (gst_base_sink_get_position), (gst_base_sink_change_state):
2216         * libs/gst/base/gstbasesink.h:
2217         Totally refactored matching the design doc.
2218         Use two segments, one to clip incomming buffers and another to
2219         perform sync.
2220         Handle queueing correctly, bypass the queue when playing.
2221         Make EOS cancelable.
2222         Handle errors correctly when operating in pull based mode.
2223
2224         * tests/check/elements/fakesink.c: (GST_START_TEST),
2225         (fakesink_suite):
2226         Added new check for sinks.
2227
2228 2006-02-02  Wim Taymans  <wim@fluendo.com>
2229
2230         * gst/gstsegment.c: (gst_segment_clip):
2231         No reason to refuse to clip when start == -1
2232
2233 2006-02-02  Stefan Kost  <ensonic@users.sf.net>
2234
2235         * docs/README:
2236         * docs/manual/intro-basics.xml:
2237         * docs/manual/intro-preface.xml:
2238         * docs/manual/manual.xml:
2239         * docs/pwg/advanced-dparams.xml:
2240         * docs/pwg/intro-basics.xml:
2241         * docs/pwg/intro-preface.xml:
2242         * docs/pwg/pwg.xml:
2243           describe dparams (controller) for plugins
2244           unify docs a little more
2245
2246 2006-02-02  Tim-Philipp Müller  <tim at centricular dot net>
2247
2248         * docs/gst/gstreamer-sections.txt:
2249         * gst/gstutils.c: (element_find_unconnected_pad),
2250         (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description):
2251         * gst/gstutils.h:
2252           Add new API: gst_parse_bin_from_description() and
2253           gst_bin_find_unconnected_pad() (#329069).
2254
2255 2006-02-01  Stefan Kost  <ensonic@users.sf.net>
2256
2257         * docs/manual/README:
2258           uncover a nasty detail of the docs build
2259
2260 2006-01-31  Wim Taymans  <wim@fluendo.com>
2261
2262         * gst/gstbin.c: (bin_remove_messages), (bin_query_duration_done):
2263         Don't cache duration messages if we're not going to use or
2264         free them.
2265
2266 2006-01-31  Stefan Kost  <ensonic@users.sf.net>
2267
2268         * docs/manual/advanced-dparams.xml:
2269         * docs/pwg/advanced-dparams.xml:
2270           more dparam docs
2271         * gst/gstindex.c:
2272           fix docs
2273         * libs/gst/controller/lib.c: (gst_controller_init):
2274           init just once
2275
2276 2006-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
2277
2278         * gst/gstelement.c: (gst_element_message_full):
2279           also show file/line/func if no additional debug was given
2280
2281 2006-01-31  Sebastien Moutte  <sebastien@moutte.net>
2282         
2283         * win32/vs7/grammar.vcproj:
2284           activate copy of autogenerated files for Release mode
2285
2286 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
2287         
2288         * win32/common/libgstreamer.def:
2289           export gst_value_compare
2290
2291 2006-01-30  Jan Schmidt  <thaytan@mad.scientist.com>
2292
2293         * plugins/elements/Makefile.am:
2294         * plugins/elements/gstelements.c:
2295         * plugins/elements/gstfdsink.c: (_do_init),
2296         (gst_fd_sink_base_init), (gst_fd_sink_class_init),
2297         (gst_fd_sink_init), (gst_fd_sink_dispose), (gst_fd_sink_query),
2298         (gst_fd_sink_render), (gst_fd_sink_check_fd), (gst_fd_sink_start),
2299         (gst_fd_sink_stop), (gst_fd_sink_unlock), (gst_fd_sink_update_fd),
2300         (gst_fd_sink_set_property), (gst_fd_sink_uri_get_type),
2301         (gst_fd_sink_uri_get_protocols), (gst_fd_sink_uri_get_uri),
2302         (gst_fd_sink_uri_set_uri), (gst_fd_sink_uri_handler_init):
2303         * plugins/elements/gstfdsink.h:
2304         Port fdsink to 0.10 (patch by Philippe Rouquier) (Fixes #325490)
2305
2306 2006-01-30  Stefan Kost  <ensonic@users.sf.net>
2307
2308         * docs/manual/advanced-dparams.xml:
2309           describe controller
2310         * docs/manual/advanced-position.xml:
2311         * docs/manual/basics-init.xml:
2312         * docs/manual/manual.xml:
2313         * docs/manual/titlepage.xml:
2314         * docs/pwg/pwg.xml:
2315         * docs/pwg/titlepage.xml:
2316           cleanup xml (more to come)
2317         * libs/gst/controller/gstcontroller.c:
2318           fix typo
2319
2320 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
2321         
2322         * win32/vs6/grammar.dsp:
2323           add autogen of gstmarshal.c,h for Release mode
2324                 
2325 2006-01-30  Wim Taymans  <wim@fluendo.com>
2326
2327         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
2328         (gst_base_sink_preroll_queue_empty), (gst_base_sink_commit_state),
2329         (gst_base_sink_handle_object), (gst_base_sink_event),
2330         (gst_base_sink_is_prerolled), (gst_base_sink_wait),
2331         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
2332         (gst_base_sink_handle_buffer), (gst_base_sink_set_flushing),
2333         (gst_base_sink_deactivate), (gst_base_sink_activate),
2334         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
2335         (gst_base_sink_query), (gst_base_sink_change_state):
2336         Basesink cleanups, remove some old code.
2337         Handle the case where a subclass can preroll in the render
2338         method (mostly audiosinks).
2339         Handle more events.
2340         Remove some locks around variables that are now protected
2341         with the PREROLL_LOCK (clock_id, flushing, ..).
2342         Optimize position query some more, do correct locking.
2343         Remove old code to push queue in state change, this is not
2344         needed anymore since preroll blocks on all prerollable items 
2345         now.
2346         Almost implemented as described in design doc.
2347
2348 2006-01-30  Wim Taymans  <wim@fluendo.com>
2349
2350         * tests/check/gst/gstbin.c: (GST_START_TEST):
2351         Wait for refcount to settle down before checking.
2352
2353 2006-01-30  Wim Taymans  <wim@fluendo.com>
2354
2355         * docs/design/part-element-sink.txt:
2356         Pseudo code overview of desired sink behaviour regarding
2357         preroll.
2358
2359 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
2360         * win32/vs6/grammar.dsp:
2361           fix some bugs in Release mode for autogenerated files
2362                 
2363 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
2364         * win32/common/libgstbase.def:
2365         * win32/common/libgstreamer.def:
2366           export some new symbols: gst_base_src_set_format,
2367           gst_iterator_next, gst_structure_set_valist
2368
2369 2006-01-29  Julien MOUTTE  <julien@moutte.net>
2370
2371         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
2372         Set pad functions unconditionally. Fixes #329105.
2373
2374 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
2375         * win32/vs8:
2376           add vs8 project files created by Sergey Scobich
2377
2378 2006-01-28  Jan Schmidt  <thaytan@mad.scientist.com>
2379
2380         * gst/gstutils.c: (gst_element_unlink_pads):
2381         Don't leak pad references.
2382
2383         * tests/check/elements/fakesink.c: (GST_START_TEST):
2384         * tests/check/generic/sinks.c: (GST_START_TEST):
2385         * tests/check/generic/states.c: (GST_START_TEST):
2386         * tests/check/gst/gstbin.c: (GST_START_TEST):
2387         * tests/check/gst/gstcaps.c: (GST_START_TEST):
2388         * tests/check/gst/gstelement.c: (GST_START_TEST):
2389         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
2390         * tests/check/gst/gstiterator.c: (GST_START_TEST):
2391         * tests/check/gst/gstvalue.c: (GST_START_TEST):
2392         Fix a bunch of leaks. Make generic/sinks.c
2393         use a bit less cpu by slowing the buffer rate
2394         between fakesrc and fakesink.
2395         
2396 2006-01-27  Stefan Kost  <ensonic@users.sf.net>
2397         * gst/gstcaps.c:
2398         * gst/gstelement.c: (gst_element_send_event):
2399         * gst/gstevent.c:
2400         * gst/gstinfo.c:
2401         * gst/gstiterator.c:
2402         * gst/gstiterator.h:
2403         * gst/gstpad.c: (gst_pad_send_event):
2404         * gst/gststructure.c:
2405         * gst/gsturi.c:
2406         * gst/gstutils.c:
2407         * gst/gstvalue.c:
2408         * libs/gst/base/gstadapter.c:
2409           doc fixes, to link to function, just write gst_cool_function(), don't
2410           prefix with '#'
2411
2412 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
2413
2414         * plugins/elements/gsttee.c: (gst_tee_do_push),
2415         (gst_tee_handle_buffer):
2416         Always prefer an actual return value from a src
2417         pad in place of NOT_LINKED. This means we return
2418         WRONG_STATE when all src pads are WRONG_STATE
2419         instead of NOT_LINKED.
2420
2421         Lock when replacing the last message to prevent
2422         racing with the get_property method.
2423
2424         Add debug output
2425
2426 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
2427
2428         * tests/check/Makefile.am:
2429         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite),
2430         (main):
2431         Add a very simple check that should have caught the memleak I fixed
2432         last night (if not for the slice allocator hiding it)
2433
2434 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
2435
2436         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
2437         (gst_bin_remove_func), (gst_bin_handle_message_func),
2438         (bin_query_duration_fold), (bin_query_generic_fold):
2439         Clean up references to the clock provider when disposed or when
2440         handling a clock-lost message from it.
2441
2442         Unref sinks when performing a query via gst_iterator_fold, as the
2443         gst_bin_iterate_sinks iterator refs each item. (Fixes #323874)
2444
2445         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_dispose),
2446         (gst_clock_set_master):
2447         Drop our reference to the master clock, if any, when we are disposed.
2448
2449         * gst/gsttypefindfactory.c: (gst_type_find_factory_dispose):
2450         Chain up in dispose. 
2451
2452 2006-01-26  Wim Taymans  <wim@fluendo.com>
2453
2454         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
2455         Add some debugging.
2456
2457 2006-01-26  Julien MOUTTE  <julien@moutte.net>
2458
2459         * plugins/elements/gsttee.c: (gst_tee_do_push),
2460         (gst_tee_handle_buffer): Apply patch from #328715. Tee now
2461         handles pad being NOT_LINKED or in WRONG_STATE.
2462
2463 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
2464
2465         * win32/MANIFEST:
2466           more updating
2467
2468 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
2469
2470         * win32/MANIFEST:
2471           remove obsolete entry
2472
2473 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
2474
2475         * docs/gst/gstreamer-sections.txt:
2476         * gst/gstbin.c: (bin_element_is_src), (src_iterator_filter),
2477         (gst_bin_iterate_sources), (gst_bin_send_event):
2478         * gst/gstbin.h:
2479         * gst/gstelement.c: (gst_element_send_event):
2480         * gst/gstevent.c:
2481         * gst/gstpad.c: (gst_pad_send_event):
2482           added code for downstream events, reviewed docs in gstevent.c
2483
2484 2006-01-25  Julien MOUTTE  <julien@moutte.net>
2485
2486         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
2487         We only query position using the clock in the playing state.
2488         Query peer in the other cases.
2489         * win32/common/config.h: Updates.
2490
2491 2006-01-24  Wim Taymans  <wim@fluendo.com>
2492
2493         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
2494         A clock entry that is scheduled for the exact time of the
2495         clock is still in time.
2496
2497         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
2498         (gst_base_sink_do_sync):
2499         Add some more debug info.
2500
2501 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
2502
2503         * win32/vs7:
2504           Add new vs7 project files and solution.
2505
2506 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
2507
2508         * win32/vs7:
2509           all files removed as they were out-dated.
2510
2511 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
2512
2513         * docs/random/release:
2514           update notes
2515         * gst/gstbin.c: (gst_bin_init):
2516         * gst/gstbus.c: (gst_bus_new):
2517         * gst/gstbus.h:
2518         * gst/gstpipeline.c: (gst_pipeline_init):
2519           use gst_bus_new(), improve logging, fix docs
2520         * win32/common/config.h:
2521           update for cvs build
2522
2523 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
2524
2525         * autogen.sh:
2526           up required version of automake to 1.7
2527
2528 2006-01-20  Sebastien Moutte  <sebastien@moutte.net>
2529
2530         * win32/common/libgstreamer.def:
2531           export gst_buffer_is_metadata_writable
2532
2533 2006-01-20  Tim-Philipp Müller  <tim at centricular dot net>
2534
2535         * docs/gst/gstreamer-sections.txt:
2536         * gst/gstevent.h:
2537           Add gst_event_replace() (#327001)
2538
2539 2006-01-20  Wim Taymans  <wim@fluendo.com>
2540
2541         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
2542         Make it actually compile too..
2543
2544 2006-01-20  Wim Taymans  <wim@fluendo.com>
2545
2546         * gst/gstcaps.c:
2547         Clarify behaviour of _is_equal() when passing NULL parameters.
2548
2549         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
2550         (gst_pad_set_caps):
2551         Cleanups. Don't unref NULL caps.
2552         When setting the same caps, protect caps of the pad with
2553         proper lock.
2554         Use full functionality of _is_equal() when comparing caps.
2555
2556 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
2557
2558         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
2559         Don't loop infinitely if there are no buffers to present. Partially
2560         fixes #327197, but collectpads is just broken for reusing elements
2561         to do multiple encodes atm.
2562
2563 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
2564
2565         * tools/gst-inspect.c: (print_element_features):
2566         * tools/gst-xmlinspect.c: (main):
2567         URL_HANDLER is not a plugin feature we can search for in
2568         the registry.
2569
2570 2006-01-19  Edward Hervey  <edward@fluendo.com>
2571
2572         * gst/gstelement.c: (gst_element_pads_activate): 
2573         When activating, do src pads first, then sink pads.
2574         When de-activating, do sink pads first, then src pads.
2575
2576 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
2577
2578         * docs/gst/gstreamer-sections.txt:
2579         Add gst_index_add_associationv to the docs
2580
2581 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
2582
2583         * gst/gstevent.c:
2584           Fix docs typo
2585
2586         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event),
2587         (gst_queue_chain), (gst_queue_push_one), (gst_queue_loop):
2588           Do some refactoring. Doesn't actually change functionality,
2589           but makes landing the DRAIN event easier later.
2590
2591 2006-01-19  Tim-Philipp Müller  <tim at centricular dot net>
2592
2593         * docs/pwg/advanced-scheduling.xml:
2594           Update from 0.9.x to 0.10 API and make example a bit
2595           clearer.
2596
2597 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
2598
2599         * docs/gst/gstreamer-sections.txt:
2600         Add gst_buffer_(is|make)_metadata_writable methods.
2601
2602 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
2603
2604         * docs/design/part-sparsestreams.txt:
2605         Update sparse streams doc, hopefully for greater clarity
2606
2607 2006-01-18  Jan Schmidt  <thaytan@mad.scientist.com>
2608
2609         * docs/design/part-events.txt:
2610         Remove mention of FILLER events.
2611         Add DRAIN event.
2612
2613         * docs/design/part-sparsestreams.txt:
2614         Write some things about using NEWSEGMENT to keep sparse streams
2615         flowing.
2616
2617 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
2618
2619         * gst/gstbin.c: (gst_bin_dispose):
2620           Guard gst_object_unref call against a NULL object (dispose
2621           can theoretically be called multiple times).
2622           
2623 2006-01-18  Wim Taymans  <wim@fluendo.com>
2624
2625         * gst/gstbin.c: (gst_bin_element_set_state):
2626         * gst/gstclock.c: (gst_clock_id_wait):
2627         Added some more debug info.
2628
2629         * libs/gst/base/gstadapter.c:
2630         Added more docs.
2631
2632         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
2633         (gst_base_sink_do_sync), (gst_base_sink_chain):
2634         Added some comments.
2635
2636 2006-01-18  Wim Taymans  <wim@fluendo.com>
2637
2638         * tests/check/Makefile.am:
2639         * tests/check/elements/fakesink.c: (chain_async_buffer),
2640         (chain_async), (chain_async_return), (GST_START_TEST),
2641         (fakesink_suite), (main):
2642         Added fakesink test that checks prerolling and clipping
2643         behaviour.
2644
2645         * tests/check/gst/gstutils.c: (GST_START_TEST):
2646         Make check run faster so that buildbots don't timeout.
2647
2648 2006-01-18  Wim Taymans  <wim@fluendo.com>
2649
2650         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
2651         (gst_base_sink_do_sync):
2652         Some cleanups.
2653         When the sink finishes blocking on the preroll buffer, it can
2654         immediatly render it instead of rendering when the next buffer
2655         arrives.
2656
2657 2006-01-18  Wim Taymans  <wim@fluendo.com>
2658
2659         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_property),
2660         (gst_base_sink_get_property), (gst_base_sink_do_sync),
2661         (gst_base_sink_chain):
2662         Small cleanups.
2663         GST_ELEMENT_CLOCK and sync are protected with LOCK.
2664         Don't store _last_stop if the buffer is dropped.
2665
2666 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
2667
2668         * plugins/elements/gsttypefindelement.c:
2669         (gst_type_find_element_class_init):
2670           'have-type' signal needs to be G_SIGNAL_RUN_FIRST, as it is the
2671           object method handler that sets the caps on the pad and we want
2672           that to happen before we emit the signal (fixes e.g. feeding a
2673           plain text file to decodebin).
2674
2675 2006-01-18  Christian Schaller  <Christian@fluendo.com>
2676
2677         * gst/gstplugin.c: Add MPL and Proprietary as license options
2678
2679 2006-01-18  Andy Wingo  <wingo@pobox.com>
2680
2681         * gst/gstindex.h (gst_index_add_associationv): Add to header. The
2682         symbol was exported before, it appears this was just an oversight.
2683         Fixes #168703.
2684         Patch by: Torsten Schoenfeld <kaffeetisch at gmx.de>
2685
2686         * gst/gstindex.c (gst_index_add_associationv): Changed int in
2687         prototype to gint. OK since this prototype was not in the header.
2688
2689 2006-01-17  Andy Wingo  <wingo@pobox.com>
2690
2691         * gst/gstregistry.c (_gst_registry_remove_cache_plugins): Lock the
2692         registry while we remove plugins.
2693
2694         * tools/gst-inspect.c (print_element_info): Don't unref the
2695         factory arg, that should be the responsibility of whatever code
2696         received the ref. Fixes a double-free when called from
2697         print_element_list via gst-inspect-0.10 -a. Fixes #327324.
2698         (main): Unref the factory if we have one.
2699         (print_element_list): No change -- relies on the
2700         plugin_feature_list_free to free the list of features.
2701
2702 2006-01-17  Jan Schmidt  <thaytan@mad.scientist.com>
2703
2704         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
2705         (gst_buffer_make_metadata_writable):
2706         * gst/gstbuffer.h:
2707         * libs/gst/base/gstbasetransform.c:
2708         (gst_base_transform_prepare_output_buf):
2709         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
2710         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
2711           Replace gst_buffer_(make|is)_metadata_writable patch now
2712           that the release is out.
2713
2714 2006-01-17  Andy Wingo  <wingo@pobox.com>
2715
2716         * gst/gstregistry.c: Reflow design comment. Update so as to speak
2717         in the present tense without reference to versions.
2718
2719         * gst/gstregistry.c (gst_registry_add_plugin)
2720         (gst_registry_remove_plugin, gst_registry_remove_feature)
2721         (gst_registry_find_feature, gst_registry_get_feature_list)
2722         (gst_registry_get_plugin_list, gst_registry_lookup_feature)
2723         (gst_registry_lookup, gst_registry_scan_path)
2724         (_gst_registry_remove_cache_plugins)
2725         (gst_registry_get_feature_list_by_plugin): Add argument
2726         validation.
2727
2728 === release 0.10.2 ===
2729
2730 2006-01-16  Thomas Vander Stichele <thomas at apestaart dot org>
2731
2732         * configure.ac:
2733           releasing 0.10.2, "If man is five"
2734
2735 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
2736
2737         * gst/gstbuffer.c:
2738         * gst/gstbuffer.h:
2739         * libs/gst/base/gstbasetransform.c:
2740         (gst_base_transform_prepare_output_buf):
2741         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
2742         * tests/check/gst/gstbuffer.c: (gst_test_suite):
2743           Back out patch until after the release.
2744
2745 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
2746
2747         * gst/gstminiobject.c:
2748           Spelling fix in docs.
2749         * ChangeLog - remove conflict indicator
2750
2751 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
2752
2753         Reviewed By: Andy Wingo
2754
2755         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
2756         (gst_buffer_make_metadata_writable):
2757         * gst/gstbuffer.h:
2758           Add gst_buffer_(is|make)_metadata_writable as analogues of
2759           gst_buffer_(is|make)_writable.
2760
2761         * libs/gst/base/gstbasetransform.c:
2762         (gst_base_transform_prepare_output_buf):
2763         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
2764           Use name gst_buffer_(is|make)_metadata_writable functions.
2765
2766         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
2767           Test gst_buffer_(is|make)_metadata_writable
2768         
2769           (Closes: #324162)
2770
2771 2006-01-14  Thomas Vander Stichele  <thomas at apestaart dot org>
2772
2773         * docs/manual/Makefile.am:
2774           don't do parallel make
2775         * configure.ac:
2776           AC_SUBST HOST_CPU
2777         * win32/common/config.h.in:
2778           add generations for HOST_CPU and GST_MAJORMINOR
2779         * win32/common/config.h:
2780           commit generated result
2781
2782 2006-01-13  Tim-Philipp Müller  <tim at centricular dot net>
2783
2784         * docs/manual/appendix-integration.xml:
2785           Update GNOME integration section to use gst_init_get_option_group()
2786           instead of the old popt stuff (#322911). Also, GNOME applications
2787           should  now use gconf*sink and gconf*src instead of the old gconf
2788           helper lib we had.
2789
2790 2006-01-13  Stefan Kost  <ensonic@users.sf.net>
2791
2792
2793         * docs/gst/gstreamer-docs.sgml:
2794         * docs/gst/gstreamer-sections.txt:
2795         * docs/libs/gstreamer-libs-sections.txt:
2796           add new API entries to the docs
2797         * libs/gst/controller/Makefile.am:
2798         * libs/gst/controller/gstcontroller.c:
2799         * libs/gst/controller/gstcontroller.h:
2800         * libs/gst/controller/gstcontrollerprivate.h:
2801         * libs/gst/controller/gsthelper.c:
2802         * libs/gst/controller/gstinterpolation.c:
2803           move private structs to private header
2804         * po/README:
2805           gstreamer-0.7 -> gstreamer-0.10
2806         * tests/check/libs/struct_i386.h:
2807           remove private structs
2808
2809 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
2810
2811         * plugins/indexers/Makefile.am:
2812           Fixes as part of #317048
2813
2814 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
2815
2816         * plugins/indexers/Makefile.am:
2817           fix #316086 - compilation when mmap is missing
2818
2819 2006-01-12  Sebastien Moutte  <sebastien@moutte.net>
2820
2821         * libs/gst/base/gstbasesink.c:
2822           *cur = (now - base) * basesink->segment.abs_rate + time; replaced by 
2823           *cur = gst_guint64_to_gdouble(now - base) * basesink->segment.abs_rate + time; for vs6
2824         * win32/common/config.h:
2825           added some defines GST_MAJORMINOR and HOST_CPU
2826         * win32/common/libgstbase.def:
2827         * win32/common/libgstreamer.def:
2828           added some exported functions.
2829
2830 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
2831
2832         * libs/gst/controller/gstcontroller.c:
2833         (gst_controlled_property_set_interpolation_mode),
2834         (gst_controlled_property_new):
2835         * libs/gst/controller/gstcontroller.h:
2836         * libs/gst/controller/gstinterpolation.c:
2837         (interpolate_none_get_string_value_array):
2838           make G_TYPE_STRING controlable
2839
2840 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
2841
2842         * tools/README:
2843         * tools/gst-feedback.1.in:
2844         * tools/gst-inspect.1.in:
2845         * tools/gst-launch.1.in:
2846         * tools/gst-md5sum.1.in:
2847         * tools/gst-typefind.1.in:
2848         * tools/gst-xmlinspect.1.in:
2849         * tools/gst-xmllaunch.1.in:
2850           cleanup man-pages, remove reference to gst-register, document env-vars
2851
2852 2006-01-12  Jan Schmidt  <thaytan@mad.scientist.com>
2853
2854         * gst/gstbuffer.c: (gst_buffer_span):
2855           gst_buffer_span should copy the timestamp of the first buffer
2856           if they were both originally overlapping subbuffers of the 
2857           same parent, using the same logic as the 'slow copy' case.
2858
2859 2006-01-11  Jan Schmidt  <thaytan@mad.scientist.com>
2860
2861         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop):
2862           Need to awaken ALL the pads when we pop a buffer, otherwise
2863           collectpads only works when there is 2 input streams.
2864
2865 2006-01-11  Stefan Kost  <ensonic@users.sf.net>
2866
2867         * docs/random/ensonic/media-device-daemon.txt:
2868           more ideas (dbus)
2869         * gst/gstbuffer.c:
2870           fix doc example, add clarification
2871         * tools/gst-launch.1.in:
2872           add initial info about GST_PLUGIN_PATH, needs more work
2873
2874 2006-01-11  Tim-Philipp Müller  <tim at centricular dot net>
2875
2876         * docs/manual/basics-bins.xml:
2877         * docs/manual/basics-elements.xml:
2878         * docs/manual/intro-basics.xml:
2879           Some more minor docs additions and updates.
2880
2881 2006-01-11  Wim Taymans  <wim@fluendo.com>
2882
2883         * docs/manual/basics-bins.xml:
2884         * docs/manual/basics-elements.xml:
2885         Some small fixes as pointed out by Ser-ver on IRC.
2886
2887 2006-01-10  Edward Hervey  <edward@fluendo.com>
2888
2889         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
2890         Set the buffer offset/offset_end to GST_CLOCK_TIME_NONE when using
2891         the single-segment mode.
2892
2893 2006-01-10  Brian Cameron  <brian dot cameron at sun dot com>
2894
2895         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
2896
2897         * libs/gst/base/gstbasesrc.c: (gst_base_src_init),
2898         (gst_base_src_perform_seek), (gst_base_src_send_event),
2899         (gst_base_src_set_property), (gst_base_src_get_property),
2900         (gst_base_src_loop), (gst_base_src_start),
2901         (gst_base_src_activate_push):
2902         * libs/gst/base/gstbasesrc.h:
2903           Name (private) union; makes Sun's Forte compiler happy (#324900).
2904
2905 2006-01-09  Tim-Philipp Müller  <tim at centricular dot net>
2906
2907         * README:
2908           gst-register is gone.
2909
2910 2006-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
2911
2912         * gst/gstvalue.c: (_gst_value_initialize):
2913           make the G_TYPE_DATE instantiation work if debug is disabled
2914
2915 2006-01-06  Tim-Philipp Müller  <tim at centricular dot net>
2916
2917         * gst/gstmessage.c: (gst_message_parse_tag),
2918         (gst_message_parse_error), (gst_message_parse_warning):
2919           Don't crash when return location for error/warning debug
2920           string is NULL; add fact that return locations can be
2921           NULL to docs where appropriate.
2922
2923 2006-01-05  Wim Taymans  <wim@fluendo.com>
2924
2925         * gst/gstplugin.c: (gst_plugin_load_file):
2926         Replace strdup by g_strdup.
2927
2928 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
2929
2930         * docs/pwg/advanced-types.xml:
2931           fix doc borkage
2932
2933 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
2934
2935         submitted by: Abel Cheung
2936
2937         * po/LINGUAS:
2938         * po/zh_TW.po:
2939           Added Chinese (traditional) translation
2940
2941 2006-01-04  Wim Taymans  <wim@fluendo.com>
2942
2943         * docs/manual/basics-pads.xml:
2944         * docs/plugins/Makefile.am:
2945         * docs/plugins/gstreamer-plugins-docs.sgml:
2946         * docs/plugins/gstreamer-plugins-sections.txt:
2947         * docs/pwg/advanced-clock.xml:
2948         * docs/pwg/advanced-scheduling.xml:
2949         * docs/pwg/advanced-types.xml:
2950         * plugins/elements/gstfdsink.c:
2951         * plugins/elements/gstfdsrc.c:
2952         * plugins/elements/gstfdsrc.h:
2953         * plugins/elements/gstidentity.c: (gst_identity_class_init):
2954         * plugins/elements/gstidentity.h:
2955         * plugins/elements/gstqueue.h:
2956         * plugins/elements/gsttee.c:
2957         * plugins/elements/gsttee.h:
2958         * plugins/elements/gsttypefindelement.c:
2959         (gst_type_find_element_class_init):
2960         * plugins/elements/gsttypefindelement.h:
2961         Small updates to various docs.
2962         Added core plugins to docs.
2963
2964 2006-01-03  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
2965
2966         * common/gst.supp:
2967           add a suppression for liboil's uninitialized variable
2968
2969 2006-01-02  James Livingston  <jrl at ids dot org dot au>
2970
2971         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
2972
2973         * gst/gstutils.h:
2974           Add prototype for _get_type() function to GST_BOILERPLATE_FULL
2975           macro, so that gcc doesn't complain if the -Wmissing-prototypes
2976           compiler switch is being used (#325429).
2977
2978 2005-12-29  Tim-Philipp Müller  <tim at centricular dot net>
2979
2980         * gst/gstbin.c: (gst_bin_query):
2981           Disable duration query caching in bins until it gets
2982           fixed (see #324807).
2983
2984 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
2985
2986         * tools/gst-inspect.c: (print_element_properties_info):
2987           Handle properties of POINTER and BOXED type.
2988
2989 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
2990
2991         * gst/gst.c: (init_post):
2992           Init tags stuff and some other things before loading
2993           any static plugins (there may be other static plugins
2994           than just the GStreamer ones, and they may want to
2995           register their own tags or formats or whatever, and
2996           preferably without segfaulting).
2997
2998         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
2999           Print at least a warning in the debug logs if we drop a
3000           query just because we don't know how to adjust the value
3001           in the particular format.
3002
3003 2005-12-24  David Schleef  <ds@schleef.org>
3004
3005         * tools/gstreamer-completion:
3006           Replacement for gst-complete written in sh and sed.  Only
3007           completes names of features, but that's 90% of what I want
3008           it for.  Properties are not available in registry.xml.  (Maybe
3009           they should be...)
3010
3011 === release 0.10.1 ===
3012
3013 2005-12-23  Thomas Vander Stichele <thomas at apestaart dot org>
3014
3015         * configure.ac:
3016           releasing 0.10.1, "Nollaig chridheil"
3017
3018 2005-12-22  Tim-Philipp Müller  <tim at centricular dot net>
3019
3020         * docs/faq/cvs.xml:
3021           Add missing quote, should be make ERROR_CFLAGS="".
3022
3023 2005-12-20  Wim Taymans  <wim@fluendo.com>
3024
3025         * docs/design/part-trickmodes.txt:
3026         More documentation on trickmodes.
3027
3028 2005-12-20  Edward Hervey  <edward@fluendo.com>
3029
3030         * gst/gstcaps.c: (gst_static_caps_get_type):
3031         * gst/gstcaps.h:
3032           API addition: GST_TYPE_STATIC_CAPS
3033         Added gpointer GType for GstStaticCaps so we can wrap them in bindings.
3034         * gst/gstpadtemplate.c: (gst_static_pad_template_get_type):
3035         * gst/gstpadtemplate.h:
3036           API addition: GST_TYPE_STATIC_PAD_TEMPLATE
3037         Added gpointer GType for GstStaticPadTemplate so we can wrap them in
3038         bindings.
3039
3040 2005-12-18  Wim Taymans  <wim@fluendo.com>
3041
3042         * libs/gst/base/gstadapter.c:
3043         * libs/gst/base/gstadapter.h:
3044         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
3045         (gst_base_sink_get_position):
3046         * libs/gst/base/gstbasesink.h:
3047         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
3048         (gst_base_src_default_query), (gst_base_src_default_do_seek),
3049         (gst_base_src_do_seek), (gst_base_src_perform_seek),
3050         (gst_base_src_send_event), (gst_base_src_update_length),
3051         (gst_base_src_get_range), (gst_base_src_loop),
3052         (gst_base_src_start):
3053         * libs/gst/base/gstbasesrc.h:
3054         * libs/gst/base/gstbasetransform.h:
3055         * libs/gst/base/gstcollectpads.h:
3056         * libs/gst/base/gstpushsrc.c:
3057         * libs/gst/base/gstpushsrc.h:
3058         * libs/gst/dataprotocol/dataprotocol.c:
3059         * libs/gst/dataprotocol/dataprotocol.h:
3060         * libs/gst/net/gstnetclientclock.h:
3061         * libs/gst/net/gstnettimeprovider.h:
3062         Documentation updates.
3063
3064 2005-12-18  Tim-Philipp Müller  <tim at centricular dot net>
3065
3066         * docs/manual/basics-helloworld.xml:
3067           Remove superfluous closing bracket in helloworld example.
3068
3069 2005-12-17  Tim-Philipp Müller  <tim at centricular dot net>
3070
3071         * tools/gst-launch.1.in:
3072           Update gst-launch man page; add a section with useful
3073           environment variables. Fixes #323882.
3074
3075 2005-12-16  Stefan Kost  <ensonic@users.sf.net>
3076
3077         * gst/gst.c:
3078         * gst/gst_private.h:
3079           change some char* into char[]
3080
3081 2005-12-16  Wim Taymans  <wim@fluendo.com>
3082
3083         * gst/gstregistryxml.c: (load_feature):
3084         Cleanups.
3085         Don't use g_object_unref on GstObjects so that we avoid
3086         leaks on unsafe glibs.
3087
3088 2005-12-16  Wim Taymans  <wim@fluendo.com>
3089
3090         * gst/gstbin.c: (gst_bin_recalc_state):
3091         Small doc updates.
3092
3093 2005-12-16  Wim Taymans  <wim@fluendo.com>
3094
3095         * common/check.mak:
3096         Added make forever target for check.
3097
3098 2005-12-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3099
3100         * gst/gst.c: (init_post):
3101           make the registry cache file HOST_CPU-dependent
3102
3103 2005-12-16  Andy Wingo  <wingo@pobox.com>
3104
3105         * plugins/elements/gstbufferstore.c
3106         (gst_buffer_store_cleared_func): Pay attention to g_list_append
3107         return value.
3108
3109         * tests/check/gst/gstobject.c
3110         (test_fake_object_name_threaded_unique): Pay attention to
3111         g_list_sort return value.
3112
3113 2005-12-16  Tim-Philipp Müller  <tim at centricular dot net>
3114
3115         * tools/gst-feedback-m.m:
3116           Update for 0.9/0.10 (fixes #323870).
3117
3118 2005-12-15  Tim-Philipp Müller  <tim at centricular dot net>
3119
3120         * gst/gstminiobject.c: (gst_value_mini_object_lcopy):
3121           Fix lcopy for mini objects, the mini object needs to be ref'ed.
3122           
3123         * tests/check/gst/gstminiobject.c: (my_foo_init),
3124         (my_foo_get_property), (my_foo_set_property), (my_foo_class_init),
3125         (test_value_collection), (gst_mini_object_suite):
3126           Add test to ensure refcounts end up as expected when passing
3127           GstMiniObjects through g_object_get() and g_object_set().
3128
3129 2005-12-14  Julien MOUTTE  <julien@moutte.net>
3130
3131         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
3132         (gst_collect_pads_remove_pad), (gst_collect_pads_is_collected),
3133         (gst_collect_pads_event), (gst_collect_pads_chain): Refactoring
3134         of collectpads. This version removes a lot of races without
3135         touching API/ABI. Yay !
3136
3137 2005-12-14  Jan Schmidt  <thaytan@mad.scientist.com>
3138
3139         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_link_prepare):
3140           Don't allow activation of a srcpad in pull_range if it has no
3141           getrange function.
3142           Change some debug statements to be a little clearer
3143
3144         * plugins/elements/gsttypefindelement.c:
3145         (gst_type_find_handle_src_query):
3146           Check that we have a peer before executing queries thereupon.
3147
3148         * tests/examples/metadata/read-metadata.c: (message_loop):
3149           Use gst_bus_pop instead of gst_bus_poll when we just want it to
3150           immediately return us any available message with 0 timeout.
3151
3152 2005-12-12  Michael Smith  <msmith@fluendo.com>
3153
3154         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
3155           Don't unref factories after calling them.
3156         * libs/gst/base/gsttypefindhelper.c: (gst_type_find_helper):
3157         * plugins/elements/gsttypefindelement.c:
3158         (gst_type_find_element_chain):
3159           Free lists of factories after using them. Fixing typefinding memory
3160           leaks.
3161
3162 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
3163
3164         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
3165         (gst_plugin_feature_load):
3166           more meaningful debug output
3167         * configure.ac:
3168         * tests/Makefile.am:
3169         * tests/old/examples/Makefile.am:
3170           make make distcheck happy again
3171
3172 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
3173
3174         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
3175           Catch the special case where we are operating chain-based,
3176           but the downstream peer pad has no chain function. Emit a
3177           custom error message in this case instead of letting the
3178           core generate one implying that this is some sort of core
3179           bug. It's not, it just means that whatever got plugged
3180           into the pipeline downstream when we announced the type
3181           can only operate pull-based, while our source can only
3182           operate push-based (e.g. http://foo/bar.mov ! qtdemux ! ...)
3183           Error string has not been marked for translation yet, as
3184           it probably needs some more work first.
3185
3186         (gst_type_find_element_get_best_possibility):
3187           Add helper function to find the best of all available
3188           found possibilities that qualify given the min. threshold.
3189
3190         (gst_type_find_element_handle_event):
3191           Fix the case where we get an EOS while still in TYPEFIND
3192           mode (we want to chose the best of all possible types,
3193           not just the first type that happens to be in our unsorted
3194           list of possible types).
3195
3196         (gst_type_find_element_chain):
3197           Make sure we return GST_FLOW_ERROR when we errored out
3198           in stop_typefinding(); also, don't just find the best of
3199           all found type entries and then use the last examined
3200           type entry, but actually use the best entry.
3201
3202 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
3203
3204         * tests/examples/typefind/typefind.c: (type_found):
3205         * tests/examples/xml/runxml.c: (xml_loaded):
3206           More gcc4 fixes and a mem leak fix.
3207
3208 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
3209
3210         * tests/examples/xml/createxml.c: (object_saved):
3211           gcc 4 fixes
3212
3213 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
3214
3215         * tests/Makefile.am:
3216           enable the examples even more
3217
3218 2005-12-12  Andy Wingo  <wingo@pobox.com>
3219
3220         * libs/gst/net/gstnettimeprovider.c
3221         (gst_net_time_provider_class_init, gst_net_time_provider_init)
3222         (gst_net_time_provider_set_property)
3223         (gst_net_time_provider_get_property):
3224         API addition: Export "active" as a GObject property.
3225         (gst_net_time_provider_thread): Only respond to time queries if
3226         the time provider is active.
3227
3228         * libs/gst/net/gstnettimeprovider.h: Add an "active" boolean to
3229         NetTimeProvider, preserving binary compat.
3230
3231 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
3232
3233         * tests/examples/controller/audio-example.c: (main):
3234         * tests/examples/launch/Makefile.am:
3235           convert comments again
3236
3237 2005-12-12  Wim Taymans  <wim@fluendo.com>
3238
3239         * libs/gst/base/gstpushsrc.c:
3240         Fix typo.
3241
3242 2005-12-12  Wim Taymans  <wim@fluendo.com>
3243
3244         * docs/libs/gstreamer-libs-sections.txt:
3245         Added new symbol to docs.
3246
3247         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
3248         (gst_base_src_init), (gst_base_src_set_format),
3249         (gst_base_src_default_query), (gst_base_src_query),
3250         (gst_base_src_default_do_seek), (gst_base_src_do_seek),
3251         (gst_base_src_perform_seek), (gst_base_src_send_event),
3252         (gst_base_src_default_event), (gst_base_src_event_handler),
3253         (gst_base_src_set_property), (gst_base_src_get_property),
3254         (gst_base_src_wait), (gst_base_src_do_sync),
3255         (gst_base_src_update_length), (gst_base_src_get_range),
3256         (gst_base_src_check_get_range), (gst_base_src_loop),
3257         (gst_base_src_default_negotiate), (gst_base_src_start),
3258         (gst_base_src_activate_push), (gst_base_src_activate_pull),
3259         (gst_base_src_change_state):
3260         * libs/gst/base/gstbasesrc.h:
3261         Implement seeking to other formats than _BYTES.
3262         Implement more seeking methods correctly.
3263         Doc updates.
3264         Added query vmethod.
3265         Added do_seek vmethod to make life easier for subclasses
3266         when seeking.
3267         API addition: gst_base_src_set_format()
3268
3269 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
3270
3271         * tests/examples/Makefile.am:
3272           added that too
3273
3274 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
3275
3276         * configure.ac:
3277         * docs/random/ensonic/media-device-daemon.txt:
3278         * tests/examples/controller/.cvsignore:
3279         * tests/examples/controller/Makefile.am:
3280         * tests/examples/controller/audio-example.c: (main):
3281         * tests/examples/helloworld/.cvsignore:
3282         * tests/examples/helloworld/Makefile.am:
3283         * tests/examples/helloworld/helloworld.c: (event_loop), (main):
3284         * tests/examples/launch/.cvsignore:
3285         * tests/examples/launch/Makefile.am:
3286         * tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
3287         * tests/examples/metadata/.cvsignore:
3288         * tests/examples/metadata/Makefile.am:
3289         * tests/examples/metadata/read-metadata.c: (message_loop),
3290         (make_pipeline), (print_tag), (main):
3291         * tests/examples/queue/.cvsignore:
3292         * tests/examples/queue/Makefile.am:
3293         * tests/examples/queue/queue.c: (event_loop), (main):
3294         * tests/examples/typefind/.cvsignore:
3295         * tests/examples/typefind/Makefile.am:
3296         * tests/examples/typefind/typefind.c: (type_found), (event_loop),
3297         (main):
3298         * tests/examples/xml/.cvsignore:
3299         * tests/examples/xml/Makefile.am:
3300         * tests/examples/xml/createxml.c: (object_saved), (main):
3301         * tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
3302         * tests/old/examples/Makefile.am:
3303         * tests/old/examples/TODO:
3304         * tests/old/examples/controller/.cvsignore:
3305         * tests/old/examples/controller/Makefile.am:
3306         * tests/old/examples/controller/audio-example.c:
3307         * tests/old/examples/helloworld/.cvsignore:
3308         * tests/old/examples/helloworld/Makefile.am:
3309         * tests/old/examples/helloworld/helloworld.c:
3310         * tests/old/examples/launch/.cvsignore:
3311         * tests/old/examples/launch/Makefile.am:
3312         * tests/old/examples/launch/mp3parselaunch.c:
3313         * tests/old/examples/launch/mp3play:
3314         * tests/old/examples/manual/Makefile.am:
3315         * tests/old/examples/metadata/Makefile.am:
3316         * tests/old/examples/metadata/read-metadata.c:
3317         * tests/old/examples/queue/.cvsignore:
3318         * tests/old/examples/queue/Makefile.am:
3319         * tests/old/examples/queue/queue.c:
3320         * tests/old/examples/typefind/.cvsignore:
3321         * tests/old/examples/typefind/Makefile.am:
3322         * tests/old/examples/typefind/typefind.c:
3323         * tests/old/examples/xml/.cvsignore:
3324         * tests/old/examples/xml/Makefile.am:
3325         * tests/old/examples/xml/createxml.c:
3326         * tests/old/examples/xml/runxml.c:
3327           applied some simple fixing to some examples
3328           re-enabled the working examples
3329
3330 2005-12-12  Wim Taymans  <wim@fluendo.com>
3331
3332         * gst/gstsegment.c: (gst_segment_init),
3333         (gst_segment_set_last_stop), (gst_segment_set_seek),
3334         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
3335         (gst_segment_to_running_time):
3336         Added more documentation.
3337         Make sure the last_pos value is updated properly.
3338         Make sure to_stream_time and to_running_time don't
3339         operate on wrong values.
3340
3341         * tests/check/gst/gstsegment.c: (GST_START_TEST):
3342         Update check.
3343
3344 2005-12-12  Michael Smith  <msmith@fluendo.com>
3345
3346         * plugins/elements/gsttypefindelement.c: (free_entry),
3347         (gst_type_find_element_chain):
3348           Now that we're not leaking factories, make sure we keep references
3349           to them while we need them.
3350
3351 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
3352
3353         * tests/check/gst/struct_i386.h:
3354           ifdef out the XML structs
3355
3356 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
3357
3358         * gst/gstvalue.c: (gst_value_transform_double_fraction):
3359           floor is not needed, F is always positive; this obviates the
3360           need for adding -lm when building without libxml
3361
3362 2005-12-12  Wim Taymans  <wim@fluendo.com>
3363
3364         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
3365         Take current playback rate into account when reporting
3366         the position.
3367
3368 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
3369
3370         * docs/manual/mime-world.fig:
3371           Let's try this again, this time with a file that is
3372           actually in XFig format.
3373
3374 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
3375
3376         * docs/manual/mime-world.fig:
3377           Add audioconvert element to diagram so that it
3378           matches the text and the code (fixes #319526).
3379
3380 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
3381
3382         * docs/pwg/building-chainfn.xml:
3383         * docs/pwg/building-pads.xml:
3384         * docs/pwg/building-state.xml:
3385         * docs/pwg/other-source.xml:
3386           Update state change stuff for 0.10 (fixes #322969).
3387
3388 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
3389
3390         * docs/manual/advanced-dataaccess.xml:
3391         * docs/manual/appendix-checklist.xml:
3392         * docs/manual/appendix-programs.xml:
3393         * docs/manual/basics-pads.xml:
3394         * docs/manual/highlevel-components.xml:
3395         * docs/manual/manual.xml:
3396           Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
3397           add converters in front of pipelines; remove curly
3398           brackets for threads stuff, they no longer exist; use
3399           GST_TYPE_FRACTION for framerates; update some pieces of
3400           code to 0.10, but there's plenty more to do.
3401
3402         * docs/manual/appendix-porting.xml:
3403           Expand on asynchroneous state changes; s/0.9/0.10/;
3404           mention disappearance of gst_init_get_popt_table()
3405           (fixes #322916).
3406
3407 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
3408
3409         * docs/faq/using.xml:
3410           Spider no longer exists, and neither does gst-launch-ext.
3411           Update examples to use decodebin and playbin and put
3412           converters in front of sinks (fixes #323726).
3413
3414 2005-12-09  Michael Smith  <msmith@fluendo.com>
3415
3416         * plugins/elements/gsttypefindelement.c: (find_peek),
3417         (gst_type_find_element_chain):
3418           Fix leaking element factories in typefinding.
3419           Fix problem where we forgot about a probable type on non-seekable
3420           files, and thus later mis-typefound it.
3421
3422 2005-12-09  Michael Smith  <msmith@fluendo.com>
3423
3424         * common/m4/gst-makecontext.m4:
3425         * common/m4/gst-mcsc.m4:
3426         * configure.ac:
3427         * win32/common/config.h:
3428         * win32/common/config.h.in:
3429           Remove makecontext stuff; not used in 0.10 and causes problems on
3430           HPUX according to bug #322441
3431
3432 2005-12-07  Wim Taymans  <wim@fluendo.com>
3433
3434         * tests/check/Makefile.am:
3435         * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
3436         (main):
3437         * tests/check/libs/struct_i386.h:
3438         Added ABI check for libs
3439
3440 2005-12-07  Wim Taymans  <wim@fluendo.com>
3441
3442         * tests/check/Makefile.am:
3443         And add the struct_i386.h to dist.
3444
3445 2005-12-07  Wim Taymans  <wim@fluendo.com>
3446
3447         * tests/check/Makefile.am:
3448         * tests/check/gst/.cvsignore:
3449         * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
3450         (main):
3451         * tests/check/gst/struct_i386.h:
3452         Added check for ABI compatibility.
3453
3454 2005-12-07  Wim Taymans  <wim@fluendo.com>
3455
3456         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
3457         (gst_fake_src_get_times), (gst_fake_src_create):
3458         Fix broken sync option, fixes #323259
3459
3460 2005-12-07  Wim Taymans  <wim@fluendo.com>
3461
3462         * gst/gstbuffer.c:
3463         Small docs update.
3464
3465         * gst/gstcaps.c: (gst_caps_is_equal):
3466         Don't assert on NULL <--> X. Fixes #323260
3467
3468         * gst/gstminiobject.c: (gst_mini_object_replace):
3469         If we're doing atomic operations, we might just as well use
3470         the proper way to get an atomic pointer.
3471
3472         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
3473         Clean up debugging.
3474
3475 2005-12-07  Michael Smith  <msmith@fluendo.com>
3476
3477         * gst/parse/grammar.y:
3478           Remove handling of { } for threads.
3479
3480 2005-12-06  David Schleef  <ds@schleef.org>
3481
3482         * libs/gst/base/gstbasetransform.c: speling fix.
3483
3484 2005-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
3485
3486         * docs/libs/tmpl/gstdataprotocol.sgml:
3487         * docs/random/omega/testing/gstobject.c:
3488         * gst/gst.c:
3489         * gst/gstclock.c:
3490         * gst/gstelement.c:
3491         * gst/gstelementfactory.c:
3492         * gst/gsterror.c:
3493         * gst/gstevent.c:
3494         * gst/gstghostpad.c:
3495         * gst/gstinfo.c:
3496         * gst/gstpadtemplate.c:
3497         * gst/gstregistryxml.c:
3498         * gst/gsttaglist.c:
3499         * gst/gsttagsetter.c:
3500         * gst/gsttypefind.c:
3501         * gst/gstvalue.c:
3502         * libs/gst/base/gstbasesrc.c:
3503         * libs/gst/net/gstnetclientclock.c:
3504         * libs/gst/net/gstnettimeprovider.c:
3505         * plugins/elements/gstfakesrc.c:
3506         * plugins/elements/gstfdsrc.c:
3507         * plugins/elements/gstfilesrc.c:
3508         * plugins/elements/gstidentity.c:
3509         * plugins/elements/gstqueue.c:
3510         * plugins/elements/gsttypefindelement.c:
3511         * plugins/indexers/gstfileindex.c:
3512         * plugins/indexers/gstmemindex.c:
3513         * tests/check/gst/gsttag.c:
3514         * tests/old/examples/cutter/cutter.c:
3515         * tests/old/examples/mixer/mixer.c:
3516         * tests/old/examples/xml/runxml.c: (main):
3517         * tests/old/testsuite/caps/normalisation.c:
3518         * tests/old/testsuite/debug/global.c:
3519         * tests/old/testsuite/parse/parse1.c:
3520         * tools/gst-xmlinspect.c:
3521         * win32/common/dirent.c:
3522           expand tabs
3523
3524 === release 0.10.0 ===
3525
3526 2005-12-05   <thomas (at) apestaart (dot) org>
3527
3528         * configure.ac:
3529           releasing 0.10.0, "Maroilles"
3530
3531 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
3532
3533         submitted by: Funda Wang <fundawang@linux.net.cn>
3534
3535         * po/LINGUAS:
3536         * po/zh_CN.po:
3537           added Chinese (Traditional) translation
3538
3539 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
3540
3541         * docs/gst/gstreamer-sections.txt:
3542         * docs/libs/tmpl/gstdataprotocol.sgml:
3543         * docs/random/thomasvs/TODO:
3544         * gst/gstutils.c:
3545         * gst/gstutils.h:
3546           fix docs
3547
3548 2005-12-05  Andy Wingo  <wingo@pobox.com>
3549
3550         patch by: Wim Taymans <wim@fluendo.com>
3551
3552         * libs/gst/base/gstbasetransform.c
3553         (gst_base_transform_prepare_output_buf)
3554         (gst_base_transform_buffer_alloc):
3555         * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
3556         alloc_buffer_and_set_caps.
3557
3558         * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
3559         set_caps on the source pad.
3560         (gst_pad_alloc_buffer_and_set_caps): New function, does what
3561         alloc_buffer used to do. Fixes #322874.
3562
3563         * docs/gst/gstreamer-sections.txt: 
3564         * docs/design/part-negotiation.txt: 
3565         * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
3566         changes.
3567
3568 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
3569
3570         patch by: Sebastien Moutte
3571
3572         * win32/MANIFEST:
3573         * win32/common/config.h.in:
3574         * win32/vs6/libgstcontroller.dsp:
3575           win32 build fixes
3576
3577 2005-12-05  Wim Taymans  <wim@fluendo.com>
3578
3579         * gst/gstcaps.c: (gst_caps_is_equal):
3580         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
3581         (gst_fake_src_create):
3582         Back out previous code changes, leave doc updates, file bugs 
3583         instead. 
3584
3585 2005-12-05  Wim Taymans  <wim@fluendo.com>
3586
3587         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
3588         (gst_fake_src_get_times), (gst_fake_src_create):
3589         * plugins/elements/gstfakesrc.h:
3590         Fix broken sync code.
3591
3592 2005-12-05  Wim Taymans  <wim@fluendo.com>
3593
3594         * gst/gstcaps.c: (gst_caps_is_equal):
3595         Comparing NULL against !NULL yields different caps, not a
3596         failure.
3597
3598 2005-12-05  Wim Taymans  <wim@fluendo.com>
3599
3600         * gst/gstpipeline.c:
3601         Fix small typo in docs.
3602
3603 2005-12-05  Andy Wingo  <wingo@pobox.com>
3604
3605         patch by: Thomas Vander Stichele  <thomas at apestaart dot org>
3606
3607         * gst/gst.c (init_post): remove hard-coded 0.9 location for
3608         registries/plugins with a MAJORMINOR one.
3609         (plugin_desc): Rename library from gstcoreleements to
3610         staticelements. Fixes #323222.
3611
3612 2005-12-05  Tim-Philipp Müller  <tim at centricular dot net>
3613
3614         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
3615           Change debug category to 'collectpads' from 'collect_pads'
3616           (fixes #323250).
3617
3618 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
3619
3620         patch by: Sebastien Moutte
3621
3622         * libs/gst/controller/gstinterpolation.c:
3623           use convert function for uint64/double
3624         * win32/vs6/libgstcontroller.dsp:
3625           link to GLib
3626
3627 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
3628
3629         * gst/gstutils.c: (gst_util_guint64_to_gdouble),
3630         (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
3631         * gst/gstutils.h:
3632         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
3633           add tests that seem to show that the guint64/gdouble conversions
3634           are correct.
3635
3636 2005-12-02  Wim Taymans  <wim@fluendo.com>
3637
3638         * gst/gstregistry.c: (gst_registry_add_path):
3639         * gst/gstregistry.h:
3640         * gst/gstregistryxml.c:
3641         Fix docs again.
3642
3643 2005-12-02  Wim Taymans  <wim@fluendo.com>
3644
3645         * gst/gstutils.c: (gst_util_uint64_scale_int64),
3646         (gst_util_uint64_scale_int):
3647         Small cleanup.
3648
3649         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
3650         Add debug log line.
3651
3652         * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
3653         Add FIXME.
3654
3655 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3656
3657         * win32/MANIFEST:
3658         * win32/common/config.h:
3659         * win32/vs6/gstreamer.dsw:
3660         * win32/vs6/libgstcoreelements.dsp:
3661         * win32/vs6/libgstelements.dsp:
3662           renamed core elements plugin
3663
3664 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3665
3666         * tools/gst-run.c: (compare_major_minor), (find_highest_version),
3667         (get_candidates):
3668           do piece-wise major/minor comparison so 0.9 < 0.10
3669           also allow .exe extensions for tools
3670
3671 2005-12-02  Michael Smith  <msmith@fluendo.com>
3672
3673         * gst/gst.c:
3674           Escape a % to make gtkdoc happier; bug 322958.
3675
3676 === release 0.9.7 ===
3677
3678 2005-12-01   <thomas (at) apestaart (dot) org>
3679
3680         * configure.ac:
3681           releasing 0.9.7, "My Dog Has No Nose"
3682
3683 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
3684
3685         * common/gst-xmlinspect.py:
3686         * configure.ac:
3687         * docs/libs/tmpl/gstdataprotocol.sgml:
3688         * docs/random/release:
3689         * po/af.po:
3690         * po/az.po:
3691         * po/bg.po:
3692         * po/ca.po:
3693         * po/cs.po:
3694         * po/de.po:
3695         * po/en_GB.po:
3696         * po/fr.po:
3697         * po/it.po:
3698         * po/nb.po:
3699         * po/nl.po:
3700         * po/ru.po:
3701         * po/sq.po:
3702         * po/sr.po:
3703         * po/sv.po:
3704         * po/tr.po:
3705         * po/uk.po:
3706         * po/vi.po:
3707         * win32/common/config.h:
3708         * win32/common/config.h.in:
3709         * win32/vs6/gst_inspect.dsp:
3710         * win32/vs6/gst_launch.dsp:
3711         * win32/vs6/libgstbase.dsp:
3712         * win32/vs6/libgstelements.dsp:
3713         * win32/vs6/libgstreamer.dsp:
3714         * win32/vs7/GStreamer.vcproj:
3715         * win32/vs7/gst-inspect.vcproj:
3716         * win32/vs7/gst-launch.vcproj:
3717         * win32/vs7/libgstbase.vcproj:
3718           bump GST_MAJORMINOR to 0.10
3719           reset libtool version
3720
3721 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
3722
3723         * po/LINGUAS:
3724         * po/bg.po:
3725           Added Bulgarian translation by (Alexander Shopov)
3726
3727 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
3728
3729         * tests/check/gst/gstplugin.c:
3730           fix test
3731
3732 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
3733
3734         * common/gst-xmlinspect.py:
3735         * common/gtk-doc-plugins.mak:
3736         * configure.ac:
3737         * docs/Makefile.am:
3738         * docs/gst/Makefile.am:
3739         * docs/gst/gstreamer-docs.sgml:
3740         * docs/gst/gstreamer-sections.txt:
3741         * docs/gst/gstreamer.types:
3742         * docs/gst/gstreamer.types.in:
3743         * docs/plugins/Makefile.am:
3744         * docs/plugins/gstreamer-plugins-docs.sgml:
3745         * docs/plugins/gstreamer-plugins-sections.txt:
3746         * docs/plugins/gstreamer-plugins.types:
3747         * docs/plugins/inspect.stamp:
3748         * docs/plugins/inspect/plugin-coreelements.xml:
3749         * docs/plugins/inspect/plugin-coreindexers.xml:
3750         * docs/plugins/scanobj-build.stamp:
3751         * gstreamer.spec.in:
3752         * plugins/elements/Makefile.am:
3753         * plugins/elements/gstelements.c:
3754         * plugins/elements/gstfakesink.c:
3755         * plugins/elements/gstfakesrc.c:
3756         * plugins/elements/gstfilesink.c:
3757         * plugins/elements/gstfilesrc.c:
3758         * plugins/elements/gstqueue.c:
3759         * plugins/indexers/Makefile.am:
3760         * plugins/indexers/gstindexers.c:
3761           document core plugins in a separate document just like all the
3762           others
3763           rename these plugins to something starting with core
3764
3765 2005-12-01  Andy Wingo  <wingo@pobox.com>
3766
3767         * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
3768         padding here before, but it missed the commit.
3769
3770 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
3771
3772         * libs/gst/controller/gstinterpolation.c:
3773           whitespace prices have crashed, we should feel free to use some now
3774           use gst_guint64_to_gdouble
3775
3776 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
3777
3778         * libs/gst/controller/gstcontroller.c:
3779         * libs/gst/controller/gsthelper.c:
3780         * libs/gst/controller/gstinterpolation.c:
3781         * libs/gst/controller/lib.c:
3782           wrap config.h include
3783
3784 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
3785
3786         * docs/gst/gstreamer-sections.txt:
3787           update docs
3788
3789 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
3790
3791         * plugins/elements/gstelements.c:
3792         * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
3793         (gst_fd_sink__class_init), (gst_fd_sink__init),
3794         (gst_fd_sink__chain), (gst_fd_sink__set_property),
3795         (gst_fd_sink__get_property):
3796         * plugins/elements/gstfdsink.h:
3797         * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
3798         (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
3799         (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
3800         (gst_fd_src_unlock), (gst_fd_src_set_property),
3801         (gst_fd_src_get_property), (gst_fd_src_create),
3802         (gst_fd_src_is_seekable), (gst_fd_src_get_size),
3803         (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
3804         (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
3805         (gst_fd_src_uri_handler_init):
3806         * plugins/elements/gstfdsrc.h:
3807         * plugins/elements/gstqueue.c: (gst_queue_get_type):
3808           more anal cleanup
3809
3810 2005-11-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
3811
3812         * docs/gst/Makefile.am:
3813         * docs/gst/gstreamer.types.in:
3814         * gst/Makefile.am:
3815           fix the docs build
3816
3817 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
3818
3819         * configure.ac:
3820         * gst/Makefile.am:
3821         * gst/gst.c:
3822         * gst/gstplugin.h:
3823         * gst/gstregistry.h:
3824         * tests/benchmarks/complexity.c:
3825         * tests/benchmarks/mass-elements.c:
3826         * tests/check/Makefile.am:
3827         * tools/Makefile.am:
3828         * tools/gst-inspect.c:
3829         * tools/gst-xmlinspect.c:
3830           various fixes to make
3831           --disable-nls --disable-registry --disable-loadsave
3832           --disable-parse --disable-gst-debug
3833           work and get the core .so down to 360444 bytes after stripping
3834
3835 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
3836
3837         * Makefile.am:
3838         * configure.ac:
3839           descend into tests
3840         * docs/random/thomasvs/TODO:
3841         * tests/Makefile.am:
3842         * tests/README:
3843           add a README
3844
3845 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
3846
3847         * win32/GStreamer.vcproj:
3848         * win32/MANIFEST:
3849         * win32/Makefile:
3850         * win32/Makefile.inspect:
3851         * win32/Makefile.launch:
3852         * win32/Makefile.register:
3853         * win32/README.txt:
3854         * win32/gst-inspect.vcproj:
3855         * win32/gst-launch.vcproj:
3856         * win32/gst-register.vcproj:
3857         * win32/gstelements.vcproj:
3858         * win32/gstgetbits.def:
3859         * win32/gstgetbits.vcproj:
3860         * win32/gstreamer-dbg.def:
3861         * win32/gstreamer.def:
3862         * win32/libgstbase.def:
3863         * win32/libgstbase.vcproj:
3864         * win32/link_oldruntime.c:
3865         * win32/mman.c:
3866         * win32/mman.h:
3867         * win32/mman.inl:
3868         * win32/msvc71.sln:
3869           move even more stuff, win32/ is nice and clean now
3870
3871 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
3872
3873         * libs/gst/control/.cvsignore:
3874         * win32/MANIFEST:
3875         * win32/config.h:
3876         * win32/dirent.c:
3877         * win32/dirent.h:
3878         * win32/gstbytestream.def:
3879         * win32/gstbytestream.vcproj:
3880         * win32/gstconfig.h:
3881         * win32/gstenumtypes.c:
3882         * win32/gstenumtypes.h:
3883         * win32/gstoptimalscheduler.vcproj:
3884         * win32/gstversion.h:
3885         * win32/gtchar.h:
3886         * win32/testsuite/bins.vcproj:
3887         * win32/testsuite/bytestream.vcproj:
3888         * win32/testsuite/caps.vcproj:
3889         * win32/testsuite/cleanup.vcproj:
3890         * win32/testsuite/clock.vcproj:
3891         * win32/testsuite/debug.vcproj:
3892         * win32/testsuite/dlopen.vcproj:
3893         * win32/testsuite/dynparams.vcproj:
3894         * win32/testsuite/elements.vcproj:
3895         * win32/testsuite/ghostpads.vcproj:
3896         * win32/testsuite/indexers.vcproj:
3897         * win32/testsuite/negotiation.vcproj:
3898         * win32/testsuite/parse.vcproj:
3899         * win32/testsuite/plugin.vcproj:
3900         * win32/testsuite/refcounting.vcproj:
3901         * win32/testsuite/schedulers.vcproj:
3902         * win32/testsuite/states.vcproj:
3903         * win32/testsuite/tags.vcproj:
3904         * win32/testsuite/threads.vcproj:
3905           remove old win32 stuff that isn't maintained and should be
3906           reorganized
3907
3908 2005-11-30  Andy Wingo  <wingo@pobox.com>
3909
3910         * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
3911         loading the gst.interfaces python module bork.
3912
3913         * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
3914         available since GLib 2.2. Fixes #318031.
3915
3916 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
3917
3918         * Makefile.am:
3919         * check/.cvsignore:
3920         * check/Makefile.am:
3921         * check/elements/.cvsignore:
3922         * check/elements/fakesrc.c:
3923         * check/elements/fdsrc.c:
3924         * check/elements/identity.c:
3925         * check/generic/.cvsignore:
3926         * check/generic/states.c:
3927         * check/gst-libs/.cvsignore:
3928         * check/gst-libs/controller.c:
3929         * check/gst-libs/gdp.c:
3930         * check/gst/.cvsignore:
3931         * check/gst/capslist.h:
3932         * check/gst/gst.c:
3933         * check/gst/gstbin.c:
3934         * check/gst/gstbuffer.c:
3935         * check/gst/gstbus.c:
3936         * check/gst/gstcaps.c:
3937         * check/gst/gstelement.c:
3938         * check/gst/gstevent.c:
3939         * check/gst/gstghostpad.c:
3940         * check/gst/gstiterator.c:
3941         * check/gst/gstmessage.c:
3942         * check/gst/gstminiobject.c:
3943         * check/gst/gstobject.c:
3944         * check/gst/gstpad.c:
3945         * check/gst/gstpipeline.c:
3946         * check/gst/gstplugin.c:
3947         * check/gst/gstsegment.c:
3948         * check/gst/gststructure.c:
3949         * check/gst/gstsystemclock.c:
3950         * check/gst/gsttag.c:
3951         * check/gst/gstutils.c:
3952         * check/gst/gstvalue.c:
3953         * check/net/.cvsignore:
3954         * check/net/gstnetclientclock.c:
3955         * check/net/gstnettimeprovider.c:
3956         * check/pipelines/.cvsignore:
3957         * check/pipelines/cleanup.c:
3958         * check/pipelines/simple_launch_lines.c:
3959         * check/pipelines/stress.c:
3960         * check/states/.cvsignore:
3961         * check/states/sinks.c:
3962         * configure.ac:
3963         * examples/Makefile.am:
3964         * examples/appreader/.cvsignore:
3965         * examples/appreader/Makefile.am:
3966         * examples/appreader/appreader.c:
3967         * examples/controller/.cvsignore:
3968         * examples/controller/Makefile.am:
3969         * examples/controller/audio-example.c:
3970         * examples/cutter/.cvsignore:
3971         * examples/cutter/Makefile.am:
3972         * examples/cutter/cutter.c:
3973         * examples/cutter/cutter.h:
3974         * examples/events/Makefile.am:
3975         * examples/events/seek.c:
3976         * examples/helloworld/.cvsignore:
3977         * examples/helloworld/Makefile.am:
3978         * examples/helloworld/helloworld.c:
3979         * examples/helloworld2/.cvsignore:
3980         * examples/helloworld2/Makefile.am:
3981         * examples/helloworld2/helloworld2.c:
3982         * examples/launch/.cvsignore:
3983         * examples/launch/Makefile.am:
3984         * examples/launch/mp3parselaunch.c:
3985         * examples/launch/mp3play:
3986         * examples/manual/.cvsignore:
3987         * examples/manual/Makefile.am:
3988         * examples/manual/extract.pl:
3989         * examples/metadata/Makefile.am:
3990         * examples/metadata/read-metadata.c:
3991         * examples/mixer/.cvsignore:
3992         * examples/mixer/Makefile.am:
3993         * examples/mixer/mixer.c:
3994         * examples/mixer/mixer.h:
3995         * examples/pingpong/.cvsignore:
3996         * examples/pingpong/Makefile.am:
3997         * examples/pingpong/pingpong.c:
3998         * examples/plugins/.cvsignore:
3999         * examples/plugins/Makefile.am:
4000         * examples/plugins/example.c:
4001         * examples/plugins/example.h:
4002         * examples/pwg/.cvsignore:
4003         * examples/pwg/Makefile.am:
4004         * examples/pwg/extract.pl:
4005         * examples/queue/.cvsignore:
4006         * examples/queue/Makefile.am:
4007         * examples/queue/queue.c:
4008         * examples/queue2/.cvsignore:
4009         * examples/queue2/Makefile.am:
4010         * examples/queue2/queue2.c:
4011         * examples/queue3/.cvsignore:
4012         * examples/queue3/Makefile.am:
4013         * examples/queue3/queue3.c:
4014         * examples/queue4/.cvsignore:
4015         * examples/queue4/Makefile.am:
4016         * examples/queue4/queue4.c:
4017         * examples/retag/.cvsignore:
4018         * examples/retag/Makefile.am:
4019         * examples/retag/retag.c:
4020         * examples/retag/transcode.c:
4021         * examples/thread/.cvsignore:
4022         * examples/thread/Makefile.am:
4023         * examples/thread/thread.c:
4024         * examples/typefind/.cvsignore:
4025         * examples/typefind/Makefile.am:
4026         * examples/typefind/typefind.c:
4027         * examples/xml/.cvsignore:
4028         * examples/xml/Makefile.am:
4029         * examples/xml/createxml.c:
4030         * examples/xml/runxml.c:
4031         * tests/Makefile.am:
4032         * tests/check/Makefile.am:
4033         * testsuite/.cvsignore:
4034         * testsuite/Makefile.am:
4035         * testsuite/Rules:
4036         * testsuite/caps/.cvsignore:
4037         * testsuite/caps/Makefile.am:
4038         * testsuite/caps/app_fixate.c:
4039         * testsuite/caps/audioscale.c:
4040         * testsuite/caps/caps.c:
4041         * testsuite/caps/caps.h:
4042         * testsuite/caps/caps_strings:
4043         * testsuite/caps/compatibility.c:
4044         * testsuite/caps/deserialize.c:
4045         * testsuite/caps/enumcaps.c:
4046         * testsuite/caps/eratosthenes.c:
4047         * testsuite/caps/filtercaps.c:
4048         * testsuite/caps/fixed.c:
4049         * testsuite/caps/fraction-convert.c:
4050         * testsuite/caps/fraction-multiply-and-zero.c:
4051         * testsuite/caps/intersect2.c:
4052         * testsuite/caps/intersection.c:
4053         * testsuite/caps/normalisation.c:
4054         * testsuite/caps/random.c:
4055         * testsuite/caps/renegotiate.c:
4056         * testsuite/caps/sets.c:
4057         * testsuite/caps/simplify.c:
4058         * testsuite/caps/string-conversions.c:
4059         * testsuite/caps/structure.c:
4060         * testsuite/caps/subtract.c:
4061         * testsuite/caps/union.c:
4062         * testsuite/debug/.cvsignore:
4063         * testsuite/debug/Makefile.am:
4064         * testsuite/debug/category.c:
4065         * testsuite/debug/commandline.c:
4066         * testsuite/debug/global.c:
4067         * testsuite/debug/output.c:
4068         * testsuite/debug/printf_extension.c:
4069         * testsuite/dlopen/.cvsignore:
4070         * testsuite/dlopen/Makefile.am:
4071         * testsuite/dlopen/dlopen_gst.c:
4072         * testsuite/dlopen/loadgst.c:
4073         * testsuite/elements/.cvsignore:
4074         * testsuite/elements/Makefile.am:
4075         * testsuite/elements/gst-inspect-check.in:
4076         * testsuite/elements/struct_i386.h:
4077         * testsuite/elements/struct_size.c:
4078         * testsuite/indexers/.cvsignore:
4079         * testsuite/indexers/Makefile.am:
4080         * testsuite/indexers/cache1.c:
4081         * testsuite/indexers/indexdump.c:
4082         * testsuite/parse/.cvsignore:
4083         * testsuite/parse/Makefile.am:
4084         * testsuite/parse/parse1.c:
4085         * testsuite/parse/parse2.c:
4086         * testsuite/plugin/.cvsignore:
4087         * testsuite/plugin/Makefile.am:
4088         * testsuite/plugin/README:
4089         * testsuite/plugin/dynamic.c:
4090         * testsuite/plugin/linked.c:
4091         * testsuite/plugin/loading.c:
4092         * testsuite/plugin/registry.c:
4093         * testsuite/plugin/static.c:
4094         * testsuite/plugin/static2.c:
4095         * testsuite/plugin/testplugin.c:
4096         * testsuite/plugin/testplugin2.c:
4097         * testsuite/plugin/testplugin2_s.c:
4098         * testsuite/plugin/testplugin_s.c:
4099         * testsuite/refcounting/.cvsignore:
4100         * testsuite/refcounting/Makefile.am:
4101         * testsuite/refcounting/bin.c:
4102         * testsuite/refcounting/element.c:
4103         * testsuite/refcounting/element_pad.c:
4104         * testsuite/refcounting/mainloop.c:
4105         * testsuite/refcounting/mem.c:
4106         * testsuite/refcounting/mem.h:
4107         * testsuite/refcounting/object.c:
4108         * testsuite/refcounting/pad.c:
4109         * testsuite/refcounting/sched.c:
4110         * testsuite/refcounting/thread.c:
4111         * testsuite/states/.cvsignore:
4112         * testsuite/states/Makefile.am:
4113         * testsuite/states/bin.c:
4114         * testsuite/states/locked.c:
4115         * testsuite/states/parent.c:
4116         * testsuite/threads/.cvsignore:
4117         * testsuite/threads/159566.c:
4118         * testsuite/threads/159852.c:
4119         * testsuite/threads/Makefile.am:
4120         * testsuite/threads/queue.c:
4121         * testsuite/threads/signals.c:
4122         * testsuite/threads/staticrec.c:
4123         * testsuite/threads/thread.c:
4124         * testsuite/threads/threadb.c:
4125         * testsuite/threads/threadc.c:
4126         * testsuite/threads/threadd.c:
4127         * testsuite/threads/threade.c:
4128         * testsuite/threads/threadf.c:
4129         * testsuite/threads/threadg.c:
4130         * testsuite/threads/threadh.c:
4131         * testsuite/threads/threadi.c:
4132           move all of these under tests
4133
4134 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
4135
4136         * configure.ac:
4137         * tests/Makefile.am:
4138           fix distcheck
4139
4140 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
4141
4142         * docs/gst/gstreamer-sections.txt:
4143         * tests/sched/.cvsignore:
4144         * tests/sched/Makefile.am:
4145         * tests/sched/cases/(fs-fs).xml:
4146         * tests/sched/cases/(fs-i-fs).xml:
4147         * tests/sched/cases/(fs-i-i-fs).xml:
4148         * tests/sched/cases/(fs-i-q[i-fs]).xml:
4149         * tests/sched/dynamic-pipeline.c:
4150         * tests/sched/interrupt1.c:
4151         * tests/sched/interrupt2.c:
4152         * tests/sched/interrupt3.c:
4153         * tests/sched/runtestcases:
4154         * tests/sched/runxml.c:
4155         * tests/sched/sched-stress.c:
4156         * tests/sched/sort.c:
4157         * tests/sched/testcases:
4158         * tests/sched/testcases1.tc:
4159         * tests/seeking/.cvsignore:
4160         * tests/seeking/Makefile.am:
4161         * tests/seeking/seeking1.c:
4162         * tests/threadstate/.cvsignore:
4163         * tests/threadstate/Makefile.am:
4164         * tests/threadstate/test1.c:
4165         * tests/threadstate/test2.c:
4166         * tests/threadstate/threadstate1.c:
4167         * tests/threadstate/threadstate2.c:
4168         * tests/threadstate/threadstate3.c:
4169         * tests/threadstate/threadstate4.c:
4170         * tests/threadstate/threadstate5.c:
4171           remove obsolete tests
4172         * configure.ac:
4173         * tests/bench-complexity.scm:
4174         * tests/bench-mass_elements.scm:
4175         * tests/complexity.c:
4176         * tests/complexity.gnuplot:
4177         * tests/instantiate/.cvsignore:
4178         * tests/instantiate/Makefile.am:
4179         * tests/instantiate/caps.c:
4180         * tests/mass_elements.c:
4181         * tests/network-clock-utils.scm:
4182         * tests/network-clock.scm:
4183         * tests/plot-data:
4184         First pass at cleaning up tests/ dir before moving the rest
4185         Combined with CVS surgery
4186
4187 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
4188
4189         * po/POTFILES.in:
4190           queue has moved, update
4191
4192 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
4193
4194         * docs/gst/gstreamer-sections.txt:
4195           remove double entries from the docs
4196         * gst/gst_private.h:
4197         * gst/gstinfo.c: (_gst_debug_init):
4198           remove the THREAD debug category
4199         * gst/Makefile.am:
4200         * gst/gstqueue.c:
4201         * gst/gstqueue.h:
4202         * docs/gst/gstreamer.types:
4203         * plugins/elements/gstqueue.c: (gst_queue_get_type),
4204         (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
4205           completely move queue and fix up debugging categories
4206
4207 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
4208
4209         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
4210           make initialization portable, using LL is not
4211
4212 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
4213
4214         * win32/common/gstconfig.h:
4215           add large padding
4216
4217 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
4218
4219         * win32/common/libgstreamer.def:
4220           rename symbols; sort base section
4221
4222 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
4223
4224         * gst/gstclock.c: (do_linear_regression):
4225           remove crack non-portable handrolled DEBUG macro
4226
4227 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
4228
4229         * docs/random/release:
4230           update notes
4231         * win32/common/gstenumtypes.c: (register_gst_object_flags),
4232         (gst_object_flags_get_type), (register_gst_bin_flags),
4233         (gst_bin_flags_get_type), (register_gst_buffer_flag),
4234         (gst_buffer_flag_get_type), (register_gst_bus_flags),
4235         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
4236         (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
4237         (gst_caps_flags_get_type), (register_gst_clock_return),
4238         (gst_clock_return_get_type), (register_gst_clock_entry_type),
4239         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
4240         (gst_clock_flags_get_type), (register_gst_state),
4241         (gst_state_get_type), (register_gst_state_change_return),
4242         (gst_state_change_return_get_type), (register_gst_state_change),
4243         (gst_state_change_get_type), (register_gst_element_flags),
4244         (gst_element_flags_get_type), (register_gst_core_error),
4245         (gst_core_error_get_type), (register_gst_library_error),
4246         (gst_library_error_get_type), (register_gst_resource_error),
4247         (gst_resource_error_get_type), (register_gst_stream_error),
4248         (gst_stream_error_get_type), (register_gst_event_type_flags),
4249         (gst_event_type_flags_get_type), (register_gst_event_type),
4250         (gst_event_type_get_type), (register_gst_seek_type),
4251         (gst_seek_type_get_type), (register_gst_seek_flags),
4252         (gst_seek_flags_get_type), (register_gst_format),
4253         (gst_format_get_type), (register_gst_index_certainty),
4254         (gst_index_certainty_get_type), (register_gst_index_entry_type),
4255         (gst_index_entry_type_get_type),
4256         (register_gst_index_lookup_method),
4257         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
4258         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
4259         (gst_index_resolver_method_get_type), (register_gst_index_flags),
4260         (gst_index_flags_get_type), (register_gst_debug_level),
4261         (gst_debug_level_get_type), (register_gst_debug_color_flags),
4262         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
4263         (gst_iterator_result_get_type), (register_gst_iterator_item),
4264         (gst_iterator_item_get_type), (register_gst_message_type),
4265         (gst_message_type_get_type), (register_gst_mini_object_flags),
4266         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
4267         (gst_pad_link_return_get_type), (register_gst_flow_return),
4268         (gst_flow_return_get_type), (register_gst_activate_mode),
4269         (gst_activate_mode_get_type), (register_gst_pad_direction),
4270         (gst_pad_direction_get_type), (register_gst_pad_flags),
4271         (gst_pad_flags_get_type), (register_gst_pad_presence),
4272         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
4273         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
4274         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
4275         (gst_plugin_error_get_type), (register_gst_plugin_flags),
4276         (gst_plugin_flags_get_type), (register_gst_rank),
4277         (gst_rank_get_type), (register_gst_query_type),
4278         (gst_query_type_get_type), (register_gst_tag_merge_mode),
4279         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
4280         (gst_tag_flag_get_type), (register_gst_task_state),
4281         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
4282         (gst_alloc_trace_flags_get_type),
4283         (register_gst_type_find_probability),
4284         (gst_type_find_probability_get_type), (register_gst_uri_type),
4285         (gst_uri_type_get_type), (register_gst_parse_error),
4286         (gst_parse_error_get_type):
4287         * win32/common/gstenumtypes.h:
4288         * win32/common/gstversion.h:
4289           update visual studio generated files
4290
4291 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
4292
4293         * win32/vs6/libgstbase.dsp:
4294         * win32/vs6/libgstelements.dsp:
4295           update project files for new locations
4296
4297 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
4298
4299         * Makefile.am:
4300           remove some files
4301         * README:
4302           reinstate and update
4303         * DEVEL:
4304         * REQUIREMENTS:
4305           removed
4306         * LICENSE:
4307         * docs/random/LICENSE:
4308           moved to random
4309
4310 2005-11-30  Edward Hervey  <edward@fluendo.com>
4311
4312         * gst/gsttypefind.c: (gst_type_find_register):
4313         * gst/gsttypefind.h:
4314         * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
4315         (gst_type_find_factory_dispose):
4316         * gst/gsttypefindfactory.h:
4317         Fix memory leak in GstTypeFindFactory.
4318
4319 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
4320
4321         * gst/gst.c:
4322         * plugins/elements/Makefile.am:
4323         * plugins/elements/gstelements.c:
4324         * plugins/elements/gstqueue.c:
4325           move queue from core to the elements plugin
4326
4327 2005-11-29  Andy Wingo  <wingo@pobox.com>
4328
4329         * libs/gst/base/gstbasetransform.h: 
4330         * libs/gst/base/gstbasesrc.h: 
4331         * libs/gst/base/gstbasesink.h: en-LARGE the padding.
4332
4333         * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
4334         of pointers by which to pad very extensible base classes (like the
4335         ones in libs/gst/base).
4336
4337 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
4338
4339         * docs/gst/gstreamer-docs.sgml:
4340         * docs/gst/gstreamer-sections.txt:
4341         * docs/libs/gstreamer-libs-docs.sgml:
4342         * docs/libs/gstreamer-libs-sections.txt:
4343           moving documentation from core to lib
4344
4345 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
4346
4347         * check/Makefile.am:
4348         * configure.ac:
4349         * docs/gst/Makefile.am:
4350         * gst/Makefile.am:
4351         * gst/base/.cvsignore:
4352         * gst/base/Makefile.am:
4353         * gst/base/README:
4354         * gst/base/gstadapter.c:
4355         * gst/base/gstadapter.h:
4356         * gst/base/gstbasesink.c:
4357         * gst/base/gstbasesink.h:
4358         * gst/base/gstbasesrc.c:
4359         * gst/base/gstbasesrc.h:
4360         * gst/base/gstbasetransform.c:
4361         * gst/base/gstbasetransform.h:
4362         * gst/base/gstcollectpads.c:
4363         * gst/base/gstcollectpads.h:
4364         * gst/base/gstpushsrc.c:
4365         * gst/base/gstpushsrc.h:
4366         * gst/base/gsttypefindhelper.c:
4367         * gst/base/gsttypefindhelper.h:
4368         * gst/check/Makefile.am:
4369         * gst/check/gstcheck.c:
4370         * gst/check/gstcheck.h:
4371         * gst/net/Makefile.am:
4372         * gst/net/gstnet.h:
4373         * gst/net/gstnetclientclock.c:
4374         * gst/net/gstnetclientclock.h:
4375         * gst/net/gstnettimepacket.c:
4376         * gst/net/gstnettimepacket.h:
4377         * gst/net/gstnettimeprovider.c:
4378         * gst/net/gstnettimeprovider.h:
4379         * libs/gst/Makefile.am:
4380         * libs/gst/base/Makefile.am:
4381         * libs/gst/base/gstbasetransform.c:
4382         * libs/gst/check/Makefile.am:
4383         * plugins/elements/Makefile.am:
4384         * po/POTFILES.in:
4385           CVS surgery + support to move base, check, and net out of gst
4386           and into libs/gst
4387
4388 2005-11-29  Andy Wingo  <wingo@pobox.com>
4389
4390         * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
4391
4392         * gst/gststructure.h (struct _GstStructure): Only one pointer of
4393         padding.
4394
4395         * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
4396
4397         * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
4398
4399         * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
4400
4401         * gst/gstobject.h: (struct _GstObject): Only one pointer of
4402         padding; reduces object size by about 30%. We don't expect
4403         anything else to go into gstobject.
4404
4405         * gst/gstminiobject.h (struct _GstMiniObject)
4406         (struct _GstMiniObjectClass): Only one pointer of padding; the
4407         payload is only a pointer and two ints anyway. For the class there
4408         are only two methods as well.
4409         
4410         * gst/gstelement.h (struct _GstElementClass): Removed
4411         the state_changed signal callback, it is not used.
4412
4413 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
4414
4415         * docs/gst/gstreamer.types:
4416           fix includes, though they are a little dinky
4417
4418 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
4419
4420         * check/Makefile.am:
4421           look in the right place for elements, a lot more chance of
4422           success
4423         * gst/Makefile.am:
4424           remove indexers and elements subdirs
4425         * plugins/Makefile.am:
4426           make indexers conditional
4427
4428 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
4429
4430         * Makefile.am:
4431         * configure.ac:
4432         * plugins/elements/Makefile.am:
4433         * plugins/elements/gstcapsfilter.c:
4434         * plugins/elements/gstfilesink.c:
4435         * plugins/elements/gstfilesrc.c:
4436         * plugins/elements/gstidentity.c:
4437         * plugins/indexers/Makefile.am:
4438           do CVS surgery and related build fixery to move elements
4439           and indexers in a new gstreamer/plugins directory, out of the
4440           gst/ directory
4441
4442 2005-11-29  Andy Wingo  <wingo@pobox.com>
4443
4444         * check/Makefile.am:
4445         * pkgconfig/gstreamer-net-uninstalled.pc.in:
4446         * pkgconfig/gstreamer-net.pc.in:
4447         * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
4448         #322257.
4449
4450 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
4451
4452         * tools/Makefile.am:
4453         * tools/gst-complete.1.in:
4454         * tools/gst-complete.c:
4455         * tools/gst-compprep.1.in:
4456         * tools/gst-compprep.c:
4457           removing -compprep and -complete
4458
4459 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
4460
4461         * gst/gstevent.c: (gst_event_new_new_segment),
4462         (gst_event_parse_new_segment):
4463         * gst/gstevent.h:
4464           fix #320529 - clean up new_segment API and structure.
4465           Let's hope everyone was using the methods, and not the structure.
4466
4467 2005-11-29  Edward Hervey  <edward@fluendo.com>
4468
4469         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4470         (gst_base_sink_event), (gst_base_sink_do_sync),
4471         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
4472         Properly handle non GST_FORMAT_TIME segment
4473         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
4474         Properly handle non GST_FORMAT_TIME segment
4475         * gst/gstsegment.c:
4476         This function is valid if the accumulator is 0 and the format
4477         is different from the requested format.
4478         
4479 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
4480
4481         * docs/gst/gstreamer-sections.txt:
4482         Add gst_query_new_seeking and gst_query_parse_seeking to the
4483         docs.
4484
4485 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
4486
4487         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
4488           Treat a pad alloc with new caps the same as if we were not
4489           negotiated, in order to allow a changing upstream output
4490           to produce a new format of data.
4491
4492 2005-11-29  Edward Hervey  <edward@fluendo.com>
4493
4494         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
4495         (gst_base_transform_event), (gst_base_transform_eventfunc):
4496         The event virtual method is now properly implemented, with a default
4497         handler
4498         Sub classes should call the parent_class event method. They should
4499         return FALSE if they had a problem handling the given event, or don't
4500         want GstBaseTransform to send that even downstream
4501         * gst/elements/gstidentity.c: (gst_identity_class_init),
4502         (gst_identity_init), (gst_identity_event),
4503         (gst_identity_transform_ip), (gst_identity_set_property),
4504         (gst_identity_get_property):
4505         * gst/elements/gstidentity.h:
4506         Added the single-segment boolean property.
4507         If set to TRUE, it will output a single segment of data, starting from
4508         0, will eat up all incoming newsegment, and modify the timestamp of the
4509         buffers accordingly
4510
4511 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
4512
4513         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
4514           Don't ref NULL target pad (#322751). Improve docs.
4515
4516 2005-11-29  Michael Smith  <msmith@fluendo.com>
4517
4518         * gst/gstregistryxml.c: (load_plugin):
4519           Don't crash if we failed to load a feature from a plugin. 
4520
4521 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
4522
4523         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
4524         (GST_START_TEST):
4525           use more check API and less GLib API
4526
4527 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
4528
4529         * Makefile.am:
4530           don't run checks if we don't have check
4531         * common/check.mak:
4532           remove the registry when running make torture
4533         * docs/gst/gstreamer-sections.txt:
4534           remove second multiply
4535         * gst/gstqueue.c: (gst_queue_loop):
4536           fix a compile warning when disabling debug
4537
4538 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
4539
4540         * gst/gstinfo.h:
4541         Hey! Let's print the pad name if the pointer != NULL instead
4542         of when it == NULL :-)
4543
4544 2005-11-28  Wim Taymans  <wim@fluendo.com>
4545
4546         * check/gst/gstutils.c: (GST_START_TEST):
4547         Updated check, add some scaling accuracy checking code.
4548
4549         * gst/gstutils.c: (gst_util_div128_64),
4550         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
4551         (gst_util_uint64_scale_int):
4552         Fix 6 times faster division code. Optimize for common 
4553         1/1 and less common X/1 cases.
4554
4555 2005-11-28  Wim Taymans  <wim@fluendo.com>
4556
4557         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
4558         More checks.
4559
4560         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
4561         (do_linear_regression), (gst_clock_add_observation):
4562         Cleanups.
4563         Release lock when the clock cannot be slaved.
4564         Catch the case where the regression returned an invalid denominator.
4565
4566         * gst/gstutils.c: (gst_util_div128_64_iterate),
4567         (gst_util_div128_64), (gst_util_uint64_scale_int64),
4568         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
4569         Add protentially more performant non-iterative 128/64 divide function
4570         that unfortunatly does not work yet.
4571         Shortcut the trivial 0/X = 0 case.
4572         Remove the warnings on overflow.
4573
4574 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
4575
4576         * gst/gstplugin.c: (gst_plugin_register_func):
4577           everything causing a plugin not to load should be at least a WARNING
4578
4579 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
4580
4581         * docs/random/ensonic/dparams.txt:
4582           some TODOs for the next dev cycle
4583         * libs/gst/controller/gstcontroller.c:
4584         (gst_controlled_property_set_interpolation_mode),
4585         (gst_controlled_property_new):
4586         * libs/gst/controller/gstcontroller.h:
4587           use base type to assign acccessor functions
4588
4589 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
4590
4591         * check/Makefile.am:
4592         Oops, that should have been top_srcdir
4593
4594 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
4595
4596         * check/Makefile.am:
4597         * check/elements/fdsrc.c: (GST_START_TEST):
4598         Use a cmdline define to specify the location of a file to use for
4599         testing, to avoid breaking distcheck.
4600
4601 2005-11-28  Andy Wingo  <wingo@pobox.com>
4602
4603         * gst/gstpad.c (fixate_value): Use array functions for arrays.
4604
4605 2005-11-28  Edward Hervey  <edward@fluendo.com>
4606
4607         * tools/gst-launch.c: (main):
4608         Clarify the output strings, makes it easier to translate.
4609         Fixes #322626
4610
4611 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
4612
4613         * gst/Makefile.am:
4614           don't try and build net if we don't even have <sys/socket.h>
4615
4616 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
4617
4618         * check/Makefile.am:
4619         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
4620         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
4621           Add tests for fdsrc seekability
4622
4623         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
4624         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
4625         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
4626         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
4627         * gst/elements/gstfdsrc.h:
4628           fdsrc should not be a 'live' source.
4629           Implement seeking on seekable fd's.
4630
4631         * gst/gstquery.c: (gst_query_new_seeking),
4632         (gst_query_parse_seeking):
4633         * gst/gstquery.h:
4634           Implement SEEKING query functions: 
4635             *_new_seeking and *_parse_seeking
4636
4637 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
4638
4639         * gst/gstelement.c: (gst_element_dispose):
4640           don't loop forever
4641
4642         * gst/gstiterator.c:
4643         * gst/gststructure.c:
4644           doc fixes
4645
4646         * libs/gst/controller/gstcontroller.c:
4647         (gst_controlled_property_set_interpolation_mode):
4648         * libs/gst/controller/gstcontroller.h:
4649         * libs/gst/controller/gstinterpolation.c:
4650         (interpolate_none_get_enum_value_array):
4651           support controlling enums
4652
4653 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
4654
4655         * gst/gstvalue.c:
4656           Improve documentation for gst_value_union().
4657
4658         * gst/gstvalue.h:
4659           Change return value for union, intersect and subtract functions
4660           from gint to gboolean.
4661
4662 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
4663
4664         * gst/gstvalue.c: (gst_value_serialize_any_list),
4665         (gst_value_transform_any_list_string),
4666         (gst_value_deserialize_list), (gst_value_deserialize_array),
4667         (gst_value_set_int_range), (gst_value_deserialize_int_range),
4668         (gst_value_set_double_range), (gst_value_deserialize_double_range),
4669         (gst_value_set_fraction_range_full),
4670         (gst_value_deserialize_fraction_range),
4671         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
4672         (gst_value_deserialize_boolean),
4673         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
4674         (gst_value_serialize_float), (gst_value_deserialize_float),
4675         (gst_string_wrap), (gst_value_deserialize_string),
4676         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
4677         (gst_value_union_int_range_int_range),
4678         (gst_value_intersect_int_range_int_range),
4679         (gst_value_intersect_double_range_double_range),
4680         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
4681         (gst_value_subtract_int_range_int_range),
4682         (gst_value_subtract_double_double_range),
4683         (gst_value_subtract_double_range_double_range),
4684         (gst_value_deserialize_fraction):
4685         * gst/gstvalue.h:
4686           Use gint, gdouble and gchar in our API instead of int, double and
4687           char (and make usage in gstvalue.c more consistent).
4688
4689 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
4690
4691         * check/Makefile.am:
4692         * libs/gst/controller/Makefile.am:
4693         * libs/gst/dataprotocol/Makefile.am:
4694           fix up Makefile.am and remove GST_ENABLE_NEW
4695
4696 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
4697
4698         * configure.ac:
4699         * gst/Makefile.am:
4700         * gst/base/Makefile.am:
4701         * gst/check/Makefile.am:
4702         * gst/elements/Makefile.am:
4703         * gst/net/Makefile.am:
4704           update LDFLAGS use some more
4705
4706 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
4707
4708         * common/m4/gst-doc.m4:
4709           Fixes #312589
4710
4711 2005-11-26  Edward Hervey  <edward@fluendo.com>
4712
4713         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
4714         This shouldn't issue a g_warning since it returns NULL if it
4715         couldn't find the plugin, and all functions using this behave
4716         properly on a NULL return. Switching to a GST_WARNING.
4717
4718 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
4719
4720         * gst/gstbin.c: (gst_bin_handle_message_func):
4721         Don't leak clock messages.
4722
4723 2005-11-25  Wim Taymans  <wim@fluendo.com>
4724
4725         * gst/gstutils.c: (gst_util_uint64_scale_int64),
4726         (gst_util_uint64_scale_int):
4727         Optimisations, remove unneeded vars.
4728
4729 2005-11-25  Wim Taymans  <wim@fluendo.com>
4730
4731         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
4732         Added more checks for the high precision uint64 cases.
4733
4734         * gst/gstutils.c: (gst_util_uint64_scale_int64),
4735         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
4736         Implement high precision (guint64 * guint64) / guint64.
4737
4738 2005-11-24  Wim Taymans  <wim@fluendo.com>
4739
4740         * gst/base/gstbasesrc.c: (gst_base_src_query):
4741         Fix wrong percentage query.
4742
4743         * gst/gstutils.c: (gst_util_uint64_scale),
4744         (gst_util_uint64_scale_int):
4745         Add some more common cases that can be handled 
4746         efficiently to _scale.
4747
4748 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
4749
4750         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
4751         (gst_mini_object_suite):
4752           don't use check calls from threads; check probably isn't
4753           threadsafe and using a lock to make it threadsafe would
4754           defeat the purpose of this check
4755         * gst/check/gstcheck.c:
4756         * gst/check/gstcheck.h:
4757           use GST_DEBUG some more
4758
4759 2005-11-24  Wim Taymans  <wim@fluendo.com>
4760
4761         * gst/gstutils.c: (gst_util_uint64_scale),
4762         (gst_util_uint64_scale_int):
4763         Chain trivial case to _scale_int.
4764
4765 2005-11-24  Wim Taymans  <wim@fluendo.com>
4766
4767         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
4768         Added test for scaling.
4769
4770         * gst/gstclock.h:
4771         Small doc fix.
4772
4773         * gst/gstutils.c: (gst_util_uint64_scale_int):
4774         Implemented high precision scaling code.
4775
4776 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
4777
4778         * gst/gstinfo.h:
4779           do not crash on pad==NULL
4780
4781 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
4782
4783         Patch by: Stefan Kost
4784
4785         * common/gtk-doc.mak:
4786         * docs/gst/Makefile.am:
4787         * docs/libs/Makefile.am:
4788           Fix distcheck issues for the libraries docs build
4789           Closes #319599.
4790
4791 2005-11-24  Michael Smith <msmith@fluendo.com>
4792
4793         * docs/manual/basics-helloworld.xml:
4794           Fix bug #315027: memory leak in example code in docs.
4795
4796 2005-11-24  Michael Smith <msmith@fluendo.com>
4797
4798         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
4799           Unlock the PREROLL_LOCK in a failure case.
4800
4801 2005-11-24  Wim Taymans  <wim@fluendo.com>
4802
4803         * docs/gst/gstreamer-sections.txt:
4804         * gst/base/gstadapter.h:
4805         * gst/base/gstbasesink.h:
4806         * gst/base/gstbasesrc.h:
4807         * gst/base/gstbasetransform.h:
4808         * gst/base/gstpushsrc.h:
4809         * gst/elements/gstfakesink.h:
4810         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
4811         * gst/elements/gstfakesrc.h:
4812         * gst/elements/gstfilesink.h:
4813         * gst/elements/gstfilesrc.h:
4814         * gst/gst.c:
4815         * gst/gstbin.c:
4816         * gst/gstbuffer.c: (_gst_buffer_copy):
4817         * gst/gstbus.h:
4818         * gst/gstcaps.c:
4819         * gst/gstchildproxy.c:
4820         * gst/gstclock.c:
4821         * gst/gstelement.c:
4822         * gst/gstelementfactory.c:
4823         * gst/gstelementfactory.h:
4824         * gst/gstevent.c:
4825         * gst/gstghostpad.h:
4826         * gst/gstindex.h:
4827         * gst/gstinterface.h:
4828         * gst/gstminiobject.c:
4829         * gst/gstminiobject.h:
4830         * gst/gstpad.c:
4831         * gst/gstpad.h:
4832         * gst/gstpadtemplate.h:
4833         * gst/gstpipeline.h:
4834         * gst/gstpluginfeature.h:
4835         * gst/gstquery.h:
4836         * gst/gstqueue.h:
4837         * gst/gsttaglist.c:
4838         * gst/gsttaglist.h:
4839         * gst/gsttagsetter.c:
4840         * gst/gsttagsetter.h:
4841         * gst/gsttrace.c:
4842         * gst/gsttrace.h:
4843         * gst/gsttypefind.h:
4844         * gst/gsturi.h:
4845         * gst/gstvalue.c:
4846         * gst/net/gstnetclientclock.c:
4847         * gst/net/gstnetclientclock.h:
4848         * gst/net/gstnettimepacket.c:
4849         * gst/net/gstnettimeprovider.c:
4850         * gst/net/gstnettimeprovider.h:
4851         Doc fixes.
4852
4853 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
4854
4855         * configure.ac: back to HEAD
4856
4857 === release 0.9.6 ===
4858
4859 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
4860
4861         * configure.ac:
4862           releasing 0.9.6, "Always On Time"
4863
4864 2005-11-23  Wim Taymans  <wim@fluendo.com>
4865
4866         * docs/gst/gstreamer-sections.txt:
4867         * gst/glib-compat.c:
4868         * gst/gsttagsetter.c:
4869         * gst/gstvalue.c:
4870         * gst/net/gstnetclientclock.c:
4871         * gst/net/gstnettimepacket.h:
4872         Doc updates.
4873
4874 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
4875
4876         * docs/faq/using.xml:
4877         * docs/libs/tmpl/gstcontrol.sgml:
4878         * docs/manual/advanced-dparams.xml:
4879         * docs/manual/appendix-checklist.xml:
4880         * docs/manual/basics-elements.xml:
4881         * docs/pwg/other-source.xml:
4882         * docs/random/moving-plugins:
4883         * gst/gstpad.c:
4884         * tools/gst-launch.1.in:
4885           remove mentions of sinesrc
4886
4887 2005-11-23  Michael Smith <msmith@fluendo.com>
4888
4889         * docs/gst/gstreamer-sections.txt:
4890           Update for new API and API changes.
4891         * gst/gstobject.h:
4892           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
4893         * gst/gstvalue.c:
4894           Documentation typo fix.
4895         * gst/net/gstnettimepacket.c:
4896           Documentation fixes for arguments.
4897
4898 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
4899
4900         * gst/gststructure.c: (gst_structure_get_fraction),
4901         (gst_structure_parse_value),
4902         (gst_structure_fixate_field_nearest_fraction):
4903         * gst/gststructure.h:
4904         * gst/gstutils.c: (gst_util_uint64_scale_int):
4905         * gst/gstutils.h:
4906         * scripts/update-funcnames:
4907         API Changes. 
4908         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
4909         Make gst_structure_fixate_field_nearest_fraction take a numerator
4910         and denominator argument instead of a GValue
4911         add gst_structure_get_fraction helper function.
4912
4913 2005-11-23  Wim Taymans  <wim@fluendo.com>
4914
4915         * docs/design/part-TODO.txt:
4916         Update TODO.
4917
4918         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
4919         * gst/net/gstnetclientclock.h:
4920         Use parent fields for timeout and window_size.
4921
4922 2005-11-23  Andy Wingo  <wingo@pobox.com>
4923
4924         * check/net/gstnetclientclock.c (test_functioning): Adjust to
4925         rate_num/rate_denom change.
4926
4927         * gst/net/gstnetclientclock.c
4928         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
4929         OBJECT_LOCK. Don't call add_observation with the lock.
4930
4931         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
4932         fraction.
4933         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
4934         rate fraction.
4935         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
4936         deal with rate as a fraction whose numerator and denominator are
4937         GstClockTime values.
4938         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
4939         master; the other fields are protected by the SLAVE_LOCK.
4940         (do_linear_regression): Note that this must be called with the
4941         SLAVE_LOCK.
4942         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
4943         OBJECT_LOCK. Call set_calibration instead of touching the
4944         variables directly.
4945         (gst_clock_set_property, gst_clock_get_property): Protect
4946         master/slave parameters with the SLAVE_LOCK.
4947
4948         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
4949         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
4950         note that all of the instance variables that add_observation and
4951         the set_master functions use are protected by that lock and not
4952         the OBJECT_LOCK.
4953         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
4954
4955         * gst/gstclock.c (gst_clock_add_observation): No longer requires
4956         the caller to take the object lock.
4957
4958 2005-11-23  Wim Taymans  <wim@fluendo.com>
4959
4960         * gst/gsterror.c: (_gst_core_errors_init):
4961         * gst/gsterror.h:
4962         Add error for clock stuff.
4963
4964         * gst/gstpipeline.c: (gst_pipeline_change_state),
4965         (gst_pipeline_set_clock):
4966         Post clock error when clock cannot be used in a pipeline.
4967
4968 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
4969
4970         * docs/gst/gstreamer-sections.txt:
4971           make two symbols from gstinfo private for the docs
4972         * gst/base/gstcollectpads.h:
4973         * gst/gstutils.c:
4974           fix doc typos, update docs
4975
4976 2005-11-22  Wim Taymans  <wim@fluendo.com>
4977
4978         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
4979         (gst_base_sink_wait), (gst_base_sink_do_sync),
4980         (gst_base_sink_handle_event):
4981         * gst/base/gstbasesink.h:
4982         No need to store the clock, the parent element class already
4983         has it.
4984
4985         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
4986         Updates for clock_set returning a gboolean
4987
4988         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
4989         (gst_clock_id_wait_async), (gst_clock_class_init),
4990         (gst_clock_init), (gst_clock_finalize),
4991         (gst_clock_get_internal_time), (gst_clock_get_time),
4992         (gst_clock_slave_callback), (gst_clock_set_master),
4993         (gst_clock_get_master), (do_linear_regression),
4994         (gst_clock_add_observation), (gst_clock_set_property),
4995         (gst_clock_get_property):
4996         * gst/gstclock.h:
4997         Implement master/slave. When setting a clock as a slave, a
4998         periodic timeout is scheduled to sample master and slave times.
4999         Then the slave clock is recalibrated to match offset and rate
5000         of the master clock.
5001         Update logging a bit.
5002         Add flag so that a clock can state that is cannot be slaved to
5003         another clock.
5004
5005         * gst/gstelement.c: (gst_element_set_clock):
5006         * gst/gstelement.h:
5007         The set clock returns a gboolean for when an element cannot
5008         deal with the selected clock in the pipeline. 
5009
5010         * gst/gstpipeline.c: (gst_pipeline_change_state),
5011         (gst_pipeline_set_clock):
5012         * gst/gstpipeline.h:
5013         Handle the case where the selected clock cannot be set on
5014         the pipeline.
5015
5016         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
5017         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
5018         (gst_net_client_clock_set_property),
5019         (gst_net_client_clock_get_property),
5020         (gst_net_client_clock_observe_times):
5021         * gst/net/gstnetclientclock.h:
5022         Use regression code in GstClock parent, remove duplicated
5023         functionality.
5024
5025 2005-11-22  Michael Smith <msmith@fluendo.com>
5026
5027         * gst/gstutils.c: (gst_util_clock_time_scale):
5028         * gst/gstutils.h:
5029         * docs/gst/gstreamer-sections.txt:
5030           Rename method to have extra underscore.
5031
5032 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
5033
5034         * gst/elements/Makefile.am:
5035         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
5036         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
5037         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
5038         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
5039         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
5040         * gst/elements/gstfakesrc.h:
5041         * gst/gstqueue.c: (queue_leaky_get_type):
5042           correctly fix GEnumValues so that nick is the short lowercase
5043           dashed tag
5044         * tools/gst-inspect.c: (print_element_properties_info):
5045           also show the nick, since it's useful to use from parse_launch
5046           syntax
5047           Fixes #322139
5048
5049 2005-11-22  Michael Smith <msmith@fluendo.com>
5050
5051         * gst/gstutils.c: (gst_util_clocktime_scale):
5052         * gst/gstutils.h:
5053         * docs/gst/gstreamer-sections.txt:
5054           Add util method for scaling a clocktime by a fraction. Useful 
5055           implementation is left as an exercise for the reader.
5056
5057 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
5058
5059         * gst/gstvalue.c: (gst_value_collect_fraction_range):
5060         If needed, allocate storage in the destination value during
5061         collection.
5062
5063 2005-11-22  Edward Hervey  <edward@fluendo.com>
5064
5065         * docs/gst/gstreamer-sections.txt:
5066         * gst/Makefile.am:
5067         * gst/gst.h:
5068         * gst/gsturitype.c:
5069         * gst/gsturitype.h:
5070         * gst/gstutils.c: (gst_util_set_object_arg):
5071         * tools/gst-compprep.c: (main):
5072         * tools/gst-inspect.c: (print_element_properties_info):
5073         Removed GstURI, closes bug #321061
5074
5075 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
5076
5077         * check/gst/gststructure.c: (GST_START_TEST):
5078         * gst/gststructure.c: (gst_structure_parse_value):
5079           Oops, broke automatic string type parsing.
5080           Add a test to catch it in future.
5081
5082 2005-11-22  Andy Wingo  <wingo@pobox.com>
5083
5084         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
5085         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
5086         Actually rename the function implementations. Grr.
5087
5088 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
5089
5090         * check/gst/capslist.h:
5091           Comment test cases
5092         * check/gst/gststructure.c: (GST_START_TEST),
5093         (gst_structure_suite):
5094           Test automatic value type detection in gst_structure_from_string.
5095         * gst/gststructure.c: (gst_structure_parse_value):
5096           Add fraction as a type we try and guess automatically in
5097           caps/structure strings.
5098
5099 2005-11-22  Andy Wingo  <wingo@pobox.com>
5100
5101         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
5102
5103         * gst/gsttagsetter.h:
5104         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
5105         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
5106         (gst_tag_setter_add_tag_valist)
5107         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
5108         _add_values, _add_valist, and _add_valist_values. Since this is an
5109         interface the function suffixes should be more explicit so
5110         language binding don't end up with element.add_valist ->
5111         gst_tag_setter_add_valist, for example. Fixes #322069.
5112
5113 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
5114
5115         * check/gst/gstcaps.c: (GST_START_TEST):
5116           Extend caps string tests to check that a caps to string
5117           conversion is reversible and produces the same caps.
5118
5119         * gst/gststructure.c: (gst_structure_value_get_generic_type):
5120           Output "fraction" as the generic type fraction range, so caps
5121           serialisation and deserialisation works.
5122         * check/gst/capslist.h:
5123         * gst/gstvalue.c: (gst_value_deserialize_fraction):
5124           Support 'MIN' and 'MAX' for deserialising fractions.
5125
5126 2005-11-22  Andy Wingo  <wingo@pobox.com>
5127
5128         * gst/gstevent.h (gst_event_new_new_segment)
5129         (gst_event_parse_new_segment, gst_event_new_buffer_size)
5130         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
5131         Renamed from *_newsegment, *_buffersize, *_notarget.
5132
5133         * scripts/update-funcnames: New script, performs the changes
5134         listed above.
5135
5136 2005-11-22  Wim Taymans  <wim@fluendo.com>
5137
5138         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
5139         Make sure the GstFlowReturn is returned.
5140
5141         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
5142         (gst_bus_add_signal_watch):
5143         * gst/gstbus.h:
5144         add gst_bus_add_signal_watch_full.
5145
5146         * gst/gstplugin.c: (gst_plugin_load_file):
5147         Small style cleanup.
5148
5149 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
5150
5151         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
5152           Block the fakesrc srcpad when we send an event, to avoid
5153           contention on the stream_lock causing random test failures.
5154
5155 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
5156
5157         * check/gst/gstvalue.c: (GST_START_TEST):
5158         * gst/gstvalue.c: (gst_value_fraction_subtract):
5159           Fix subtraction.
5160
5161 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
5162
5163         * gst/gst.h:
5164           include "gstchildproxy.h"
5165         * gst/gstchildproxy.h:
5166         * libs/gst/controller/gstcontroller.h:
5167           use G_GNUC_NULL_TERMINATED
5168
5169 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
5170
5171         * check/gst/capslist.h:
5172         * check/gst/gstcaps.c: (GST_START_TEST):
5173         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
5174         * gst/gststructure.c: (gst_structure_parse_range),
5175         (gst_structure_fixate_field_nearest_fraction):
5176         * gst/gststructure.h:
5177         * gst/gstvalue.c: (gst_value_init_fraction_range),
5178         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
5179         (gst_value_collect_fraction_range),
5180         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
5181         (gst_value_set_fraction_range_full),
5182         (gst_value_get_fraction_range_min),
5183         (gst_value_get_fraction_range_max),
5184         (gst_value_serialize_fraction_range),
5185         (gst_value_transform_fraction_range_string),
5186         (gst_value_compare_fraction_range),
5187         (gst_value_deserialize_fraction_range),
5188         (gst_value_intersect_fraction_fraction_range),
5189         (gst_value_intersect_fraction_range_fraction_range),
5190         (gst_value_subtract_fraction_fraction_range),
5191         (gst_value_subtract_fraction_range_fraction),
5192         (gst_value_subtract_fraction_range_fraction_range),
5193         (gst_value_collect_fraction), (gst_value_fraction_multiply),
5194         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
5195         (gst_value_transform_string_fraction), (_gst_value_initialize):
5196         * gst/gstvalue.h:
5197           Implement fraction ranges and extend GstFraction to support
5198           arithmetic subtraction, as well as deserialization from integer
5199           strings such as "100"
5200           Add a testsuite as for int and double range set operations
5201
5202 2005-11-21  Andy Wingo  <wingo@pobox.com>
5203
5204         * gst/gsttaglist.h: 
5205         * gst/gstcaps.h: 
5206         * gst/gststructure.h: Add glib-compat.h.
5207
5208 2005-11-21  Wim Taymans  <wim@fluendo.com>
5209
5210         * gst/gstbin.c: (gst_bin_change_state_func):
5211         Fix for #321595
5212
5213 2005-11-21  Wim Taymans  <wim@fluendo.com>
5214
5215         * gst/gstsegment.h:
5216         And add a nice define too.
5217
5218 2005-11-21  Wim Taymans  <wim@fluendo.com>
5219
5220         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
5221         (gst_segment_new), (gst_segment_free), (gst_segment_init),
5222         (gst_segment_set_duration), (gst_segment_set_last_stop),
5223         (gst_segment_set_seek), (gst_segment_set_newsegment),
5224         (gst_segment_to_stream_time), (gst_segment_to_running_time),
5225         (gst_segment_clip):
5226         * gst/gstsegment.h:
5227         Make binding friendly.
5228
5229 2005-11-21  Andy Wingo  <wingo@pobox.com>
5230
5231         * gst/gsttagsetter.h: 
5232         * gst/gsttaglist.h: 
5233         * gst/gststructure.h: 
5234         * gst/gstcaps.h: 
5235         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
5236         #319940.
5237
5238         * gst/gsterror.c (_gst_core_errors_init):
5239         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
5240         category.
5241
5242         * gst/Makefile.am (gst_headers): Add glib-compat.h.
5243         (noinst_HEADERS): noinst the -private.
5244
5245 2005-11-21  Michael Smith <msmith@fluendo.com>
5246
5247         * gst/gstplugin.h:
5248         * gst/gstregistry.h:
5249           Remove unimplemented declarations for which we can see no sensible
5250           use.
5251
5252 2005-11-21  Andy Wingo  <wingo@pobox.com>
5253
5254         * gst/gst.h: Include glib-compat.h.
5255
5256         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
5257
5258         * gst/glib-compat.c: Include the public and the private header.
5259
5260         * gst/glib-compat-private.h: Copied here from glib-compat.h.
5261
5262         * gst/gstvalue.c: 
5263         * gst/gstpad.c: 
5264         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
5265
5266         * check/gst/gstevent.c (create_custom_events): Check that
5267         FLUSH_STOP is serialized.
5268
5269         * check/elements/identity.c (event_func): 
5270         * check/elements/fakesrc.c (event_func): No stream lock, the core
5271         takes it.
5272
5273         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
5274         stream lock taking, yay.
5275
5276         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
5277         ensure that core takes the stream lock.
5278
5279         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
5280         lock name change.
5281
5282         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
5283         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
5284         it already. For the flush start we do take it though so we get the
5285         right preroll state change messages.
5286
5287         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
5288         the stream lock here, the core does it for us.
5289
5290         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
5291         GST_STREAM_GET_LOCK.
5292         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
5293         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
5294         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
5295         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
5296         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
5297         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
5298
5299         * gst/gstpad.c: Update for stream lock name change.
5300
5301         * gst/base/gstbasesink.c: Update for preroll lock name change.
5302
5303 2005-11-21  Wim Taymans  <wim@fluendo.com>
5304
5305         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
5306         (gst_clock_get_master):
5307         * gst/gstclock.h:
5308         * gst/gstsystemclock.c: (gst_system_clock_init):
5309         Convert Clock flags to object flags.
5310         Added methods to manage master/slave clocks.
5311
5312 2005-11-21  Wim Taymans  <wim@fluendo.com>
5313
5314         * check/gst/gstsegment.c: (GST_START_TEST):
5315         * docs/design/part-TODO.txt:
5316         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5317         (gst_base_sink_event), (gst_base_sink_do_sync),
5318         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
5319         (gst_base_sink_query), (gst_base_sink_change_state):
5320         * gst/base/gstbasesink.h:
5321         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
5322         (gst_base_src_default_newsegment),
5323         (gst_base_src_configure_segment), (gst_base_src_do_seek),
5324         (gst_base_src_get_range), (gst_base_src_loop),
5325         (gst_base_src_change_state):
5326         * gst/base/gstbasesrc.h:
5327         * gst/base/gstbasetransform.c:
5328         (gst_base_transform_prepare_output_buf),
5329         (gst_base_transform_event), (gst_base_transform_change_state):
5330         * gst/base/gstbasetransform.h:
5331         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
5332         (gst_collect_pads_event):
5333         * gst/base/gstcollectpads.h:
5334         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
5335         (gst_fake_src_create):
5336         * gst/elements/gstfakesrc.h:
5337         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
5338         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
5339         (gst_segment_set_last_stop), (gst_segment_set_seek),
5340         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
5341         (gst_segment_to_running_time), (gst_segment_clip):
5342         * gst/gstsegment.h:
5343         More segment updates, replace code in plugins with segment
5344         helper functions.
5345
5346 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
5347
5348         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
5349         Don't ignore sscanf results
5350
5351 2005-11-21  Andy Wingo  <wingo@pobox.com>
5352
5353         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
5354
5355         * *.h:
5356         * *.c: Ran scripts/update-macros. Oh yes.
5357
5358         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
5359         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
5360         GST_GET_LOCK, etc.
5361
5362         * scripts/update-macros: New script. Run it on your files to
5363         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
5364         well.
5365
5366 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
5367
5368         * docs/gst/Makefile.am:
5369         * docs/gst/gstreamer-docs.sgml:
5370         * docs/gst/gstreamer-sections.txt:
5371         * docs/gst/gstreamer.types:
5372         * gst/gstinfo.h:
5373           more docs fixes, add new api to the docs
5374
5375 2005-11-21  Andy Wingo  <wingo@pobox.com>
5376
5377         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
5378         state_broadcast call.
5379
5380         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
5381
5382 2005-11-21  Julien MOUTTE  <julien@moutte.net>
5383
5384         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
5385         function calls for arrays.
5386
5387 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
5388
5389         * docs/random/ensonic/media-device-daemon.txt:
5390           wild idea, can this be done?
5391         * docs/gst/gstreamer-sections.txt:
5392         * gst/gsterror.h:
5393         * gst/gstfilter.c:
5394         * gst/gstfilter.h:
5395         * gst/gstplugin.h:
5396         * gst/gstpluginfeature.c:
5397         * gst/gsttrace.c:
5398         * gst/gstvalue.c:
5399         * gst/gstvalue.h:
5400           doc fixes and additions
5401
5402 2005-11-21  Andy Wingo  <wingo@pobox.com>
5403
5404         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
5405         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
5406         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
5407         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
5408         private to the basesrc implementation.
5409
5410         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
5411         behalf of event function if necessary. It should no longer be
5412         necessary to take the stream lock in pad's event functions. Fixes
5413         #320299.
5414
5415 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
5416         * docs/gst/gstreamer-sections.txt:
5417         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
5418         (gst_structure_fixate_field_nearest_double),
5419         (gst_structure_fixate_field_boolean):
5420         * gst/gststructure.h:
5421         * win32/common/libgstreamer.def:
5422         * win32/gstreamer.def:
5423
5424         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
5425         (#322027)
5426
5427 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
5428
5429         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
5430         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
5431         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
5432         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
5433         (gst_fdsrc_uri_handler_init):
5434         * gst/elements/gstfdsrc.h:
5435           Port fd:// URI handler from 0.8 to fdsrc
5436
5437 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
5438
5439         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
5440         (gst_value_serialize_fourcc):
5441         * gst/gstvalue.h:
5442           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
5443           consistent with our other format defines (#320324).
5444
5445 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
5446
5447         * gst/gstvalue.c: (gst_value_is_fixed):
5448           Revert previous commit. Value lists are by definition
5449           not fixed, as they are a list of possible values.
5450
5451 2005-11-21  Andy Wingo  <wingo@pobox.com>
5452
5453         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
5454         during the stable series if we need it. Fixes #319178.
5455
5456         * gst/gstevent.c (gst_event_new_filler): Removed.
5457
5458         * check/gst/gstevent.c: Update comment about filler events.
5459
5460 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
5461
5462         * gst/gstvalue.c: (gst_value_is_fixed):
5463           Should handle both value arrays and value lists.
5464
5465 2005-11-21  Andy Wingo  <wingo@pobox.com>
5466
5467         patch by: Alessandro Dessina <alessandro nnva org>
5468
5469         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
5470         functions to access arrays. Fixes #321962.
5471
5472 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
5473
5474         * docs/gst/gstreamer.types:
5475           gst_collectpads_get_type => gst_collect_pads_get_type.
5476           
5477         * gst/base/gstbasetransform.c:
5478           Remove unused SIGNAL_HANDOFF enum.
5479
5480 2005-11-21  Andy Wingo  <wingo@pobox.com>
5481
5482         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
5483         the event type (upstream, downstream, serialized). Renamed
5484         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
5485         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
5486         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
5487
5488         * gst/gstevent.c: Update for new CUSTOM event names.
5489
5490         * check/gst/gstevent.c: Update check for new CUSTOM event names.
5491
5492         * gst/gstevent.h:
5493         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
5494         bug #319392.
5495
5496 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
5497
5498         * docs/gst/gstreamer-sections.txt:
5499         * win32/common/libgstbase.def:
5500         * win32/libgstbase.def:
5501         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
5502         (gst_collect_pads_class_init), (gst_collect_pads_init),
5503         (gst_collect_pads_finalize), (gst_collect_pads_new),
5504         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
5505         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
5506         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
5507         (gst_collect_pads_start), (gst_collect_pads_stop),
5508         (gst_collect_pads_peek), (gst_collect_pads_pop),
5509         (gst_collect_pads_available), (gst_collect_pads_read),
5510         (gst_collect_pads_flush), (gst_collect_pads_event),
5511         (gst_collect_pads_chain):
5512         * gst/base/gstcollectpads.h:
5513           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
5514           unimplemented functions as unimplemented. Add padding to
5515           GstCollectData. (#320766, #320423)
5516
5517 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
5518
5519         * gst/gstmessage.c:
5520           Improve docs for DURATION message (usage of duration parameter)
5521           (#320113)
5522
5523 2005-11-20  Wim Taymans  <wim@fluendo.com>
5524
5525         * check/Makefile.am:
5526         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
5527         (main):
5528         * gst/Makefile.am:
5529         * gst/gst.h:
5530         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
5531         (gst_segment_set_seek), (gst_segment_set_newsegment),
5532         (gst_segment_to_stream_time), (gst_segment_to_running_time),
5533         (gst_segment_clip):
5534         * gst/gstsegment.h:
5535         Added segment helper structure and methods. Not fully implemented
5536         yet.
5537         Added segment check.
5538
5539 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
5540
5541         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
5542           Add a deserialisation test for fractions
5543         * examples/metadata/read-metadata.c: (message_loop),
5544         (make_pipeline), (main):
5545           Fix up metadata reading sample.
5546         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
5547           Debug format fix
5548         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
5549           Don't try and fixate empty caps
5550         * gst/gst_private.h:
5551           Wrap in G_BEGIN_DECLS/G_END_DECLS
5552         * gst/gstvalue.c: (gst_value_collect_fraction),
5553         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
5554         (gst_value_transform_string_fraction),
5555         (gst_value_compare_fraction):
5556           Add some extra guards to ensure that we don't end up 
5557           with an invalid denominator of 0 in a gstfraction and
5558           that fractions always get reduced.
5559
5560 2005-11-20  Wim Taymans  <wim@fluendo.com>
5561
5562         * docs/gst/gstreamer-sections.txt:
5563         * gst/gstbuffer.h:
5564         * gst/gstelement.c:
5565         * gst/gstformat.c:
5566         * gst/gstformat.h:
5567         * gst/gstindex.h:
5568         * gst/gstquery.c:
5569         * gst/gstquery.h:
5570         * gst/gstvalue.c:
5571         Doc fixes.
5572
5573 2005-11-20  Wim Taymans  <wim@fluendo.com>
5574
5575         * docs/design/part-TODO.txt:
5576         * gst/gstcaps.h:
5577         Make a proper enum of the flag.
5578
5579 2005-11-19  Wim Taymans  <wim@fluendo.com>
5580
5581         * docs/design/part-TODO.txt:
5582         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
5583         (gst_format_to_quark), (gst_format_register):
5584         * gst/gstformat.h:
5585         * gst/gstquery.c: (_gst_query_initialize),
5586         (gst_query_type_get_name), (gst_query_type_to_quark),
5587         (gst_query_type_register):
5588         * gst/gstquery.h:
5589         Add type to quark and type to string conversions.
5590
5591 2005-11-19  Andy Wingo  <wingo@pobox.com>
5592
5593         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
5594         #320097.
5595
5596 2005-11-19  Wim Taymans  <wim@fluendo.com>
5597
5598         * docs/design/part-TODO.txt:
5599         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
5600         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
5601         (gst_bin_handle_message_func):
5602         * gst/gstbin.h:
5603         Make message handling overridable.
5604
5605 2005-11-19  Andy Wingo  <wingo@pobox.com>
5606
5607         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
5608
5609         * gst/gstclock.h:
5610         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
5611         be a GstClockTime.
5612         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
5613         is a GstClockTime. Fixes #321710.
5614
5615         * gst/gstclock.h (GstClock): Remove offset property. Add
5616         internal_calibration and external_calibration. Fix padding. Pad
5617         also by GstClockTime so we don't run into problems.
5618
5619         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
5620         (gst_clock_get_rate_offset): Remove.
5621         (gst_clock_set_time_adjust): Remove. Fixes #321712.
5622
5623         * gst/gstutils.h:
5624         * gst/gstutils.c (g_static_rec_cond_wait)
5625         (g_static_rec_cond_timed_wait): Removed, no longer needed.
5626
5627         * gst/gstbin.c: Remove terrible continue_state prototype.
5628
5629         * gst/gstelement.h (gst_element_continue_state): Make public.
5630
5631         * gst/gstelement.h:
5632         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
5633         by continue_state. Fixes #319389.
5634
5635         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
5636         Really fixes #168438. However I don't see anywhere where the
5637         filter function is called... stupid GStreamer...
5638         
5639         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
5640         don't have a dispose function, so it won't get called when the
5641         object is unreffed, but oh well!
5642
5643         * gst/gstindex.c (gst_index_set_filter_full): New API function,
5644         allows a destroy function to be set so user_data can be freed.
5645         Fixes #168438.
5646         (gst_index_set_filter): Call gst_index_set_filter_full.
5647
5648         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
5649
5650         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
5651         string should produce an error, given the lack of a way to
5652         represent NULL strings. Fixes #165650.
5653         
5654         * gst/gstvalue.h: 
5655         * gst/gstvalue.c (gst_value_array_append_value) 
5656         (gst_value_array_prepend_value, gst_value_array_get_size) 
5657         (gst_value_array_get_value): New API, copied from
5658         gst_value_list_*, only operates on arrays.
5659         (gst_value_list_append_value, gst_value_list_prepend_value) 
5660         (gst_value_list_concat, gst_value_list_get_size) 
5661         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
5662
5663         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
5664         init_list, because it works on both.
5665         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
5666         (gst_value_copy_list_or_array): Renamed from copy_list.
5667         (gst_value_free_list_or_array): Renamed from free_list.
5668         (gst_value_collect_list_or_array): Renamed from collect_list.
5669         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
5670         (gst_value_list_or_array_peek_pointer): Renamed from
5671         list_peek_pointer.
5672         (_gst_value_array_value_table, _gst_value_list_value_table):
5673         Update value table functions.
5674         (gst_value_compare_list_or_array): Renamed from compare_list.
5675
5676         * gsttaglist.h: Whoops, foreach function returns void. Also fix
5677         some constness.
5678
5679         * gst/gsttaglist.c:
5680         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
5681         GstTagList*. Fixes #143472.
5682
5683         * gst/gststructure.h: Clarify what the foreach/map functions can
5684         or can't do to their arguments.
5685
5686 2005-11-18  Wim Taymans  <wim@fluendo.com>
5687
5688         * gst/gstclock.c: (gst_clock_set_calibration),
5689         (gst_clock_get_calibration):
5690         Doc and API fixes.
5691         Calibration can be set with internal time equal to current
5692         internal time too.
5693
5694 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
5695
5696         * gst/gsterror.c:
5697         * gst/gsterror.h:
5698           document
5699
5700 2005-11-18  Andy Wingo  <wingo@pobox.com>
5701
5702         * configure.ac: 
5703         * pkgconfig/gstreamer-net.pc.in:
5704         * pkgconfig/gstreamer-net-uninstalled.pc.in:
5705         * pkgconfig/Makefile.am: Add net pkgconfig files.
5706
5707 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
5708
5709         * gst/gstcaps.c:
5710         * gst/gstghostpad.c:
5711         * gst/gsttrace.c:
5712         * gst/gstvalue.c:
5713         * gst/gstvalue.h:
5714           docs fixes
5715
5716 2005-11-18  Andy Wingo  <wingo@pobox.com>
5717
5718         * gst/net/gstnetclientclock.c: Turn off debugging.
5719
5720         * check/net/gstnetclientclock.c (test_functioning): Assert that the
5721         times connverge somewhat. Can't make a real test.
5722
5723         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
5724         integer arithmetic. Return the minimum of the domain, which can be
5725         set as "internal" for gst_clock_set_calibration.
5726         (gst_net_client_clock_observe_times): Call _set_calibration.
5727         (gst_net_client_clock_new): Call _set_calibration instead of
5728         rate_offset.
5729
5730         * check/net/gstnetclientclock.c (test_functioning): Use the right
5731         adjustment api.
5732
5733         * gst/gstclock.h:
5734         * gst/gstclock.c (gst_clock_get_calibration) 
5735         (gst_clock_set_calibration): New functions, obsolete the ones I
5736         added yesterday. Doh. Precision issues mean we have to extrapolate
5737         from a point in the more recent past than 1970.
5738         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
5739         obsolete.
5740         (gst_clock_adjust_unlocked): Use the right calibration data.
5741
5742 2005-11-18  Edward Hervey  <edward@fluendo.com>
5743
5744         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
5745         Also reset the ->current_* values in READY->PAUSED
5746
5747 2005-11-18  Andy Wingo  <wingo@pobox.com>
5748
5749         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
5750         Whoops, check the right fd. Also add some debugging.
5751         (gst_net_client_clock_observe_times): Adjust for int64 offset.
5752         (do_linear_regression): Add a crapload of debugging. Subtract off
5753         the minimum values from the input series to discard unneeded bits.
5754         Use only int arithmetic. There is still double arithmetic when
5755         calculating the intercept that needs fixing. Return boolean to
5756         indicate success; FALSE would mean the domain or range is too
5757         great. Still needs fixes.
5758
5759 2005-11-18  Wim Taymans  <wim@fluendo.com>
5760
5761         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
5762         For the current position in stream time, we need to subtract
5763         accumulated time.
5764         
5765         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
5766         Release lock before calling the callback function of async
5767         entries.
5768
5769 2005-11-18  Andy Wingo  <wingo@pobox.com>
5770
5771         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
5772         Port goes all the way to MAXUINT16.
5773
5774         * gst/net/gstnettimeprovider.c: Make the port range the same as
5775         for the kernel: 0 assigns, otherwise ports are less than
5776         MAXUINT16.
5777
5778         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
5779         port change.
5780
5781         * check/net/gstnetclientclock.c (test_functioning): Add the start
5782         of another test. 
5783
5784 2005-11-18  Wim Taymans  <wim@fluendo.com>
5785
5786         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
5787         (gst_bin_remove_func), (bin_bus_handler):
5788         * gst/gstbin.h:
5789         Removing a clock provider from a bin, triggers a clock lost message
5790         so that a new clock will be selected.
5791         Adding a clock to a bin triggers a clock provider message.
5792         Make sure we reselect a clock when we received a clock lost message.
5793         Keep a reference to the element that provided the clock.
5794
5795 2005-11-18  Andy Wingo  <wingo@pobox.com>
5796
5797         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
5798         the clock initially so it produces values around the base time.
5799         (gst_net_client_clock_class_init): Typo fix.
5800         (gst_net_client_clock_thread): Add note on when the socket gets
5801         closed.
5802
5803 2005-11-17  Wim Taymans  <wim@fluendo.com>
5804
5805         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
5806         Free remote and local time arrays.
5807
5808 2005-11-17  Wim Taymans  <wim@fluendo.com>
5809
5810         * gst/net/gstnetclientclock.c: (do_linear_regression),
5811         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
5812         Fix compilation, uninitialized vars and a forgotten continue.
5813
5814 2005-11-17  Andy Wingo  <wingo@pobox.com>
5815
5816         * check/Makefile.am (check_PROGRAMS): 
5817         * check/net/gstnetclientclock.c: Add a most minimal test for the
5818         net client clock. More to come later.
5819
5820         * gst/net/gstnet.h: 
5821         * gst/net/Makefile.am: Add netclientclock.
5822
5823         * gst/net/gstnetclientclock.h:
5824         * gst/net/gstnetclientclock.c: New files, implement an untested
5825         GstClock that takes its time from a network time provider.
5826         Implements the algorithm in network-clock.scm.
5827
5828         * tests/network-clock.scm (*window-size*): Rename from
5829         *queue-length*.
5830         * tests/network-clock.scm (network-time): 
5831         * tests/network-clock-utils.scm (q-push): Update callers.
5832
5833 2005-11-17  Wim Taymans  <wim@fluendo.com>
5834
5835         * gst/gstbin.c: (gst_bin_provide_clock_func),
5836         (gst_bin_sort_iterator_new):
5837         And unref the child too..
5838
5839 2005-11-17  Wim Taymans  <wim@fluendo.com>
5840
5841         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
5842         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
5843         Refactor the sort iterator so it can be used while holding the
5844         LOCK too.
5845         Make clock selection select a clock closest to the source.
5846
5847 2005-11-17  Michael Smith <msmith@fluendo.com>
5848
5849         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
5850         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
5851         * gst/gstclock.h:
5852           Anonymous structs are a gcc (and some other compilers) extension, so
5853           don't use them. Since this is only for ABI-compatibility, and our
5854           API/ABI freeze is over in a few days, this whole thing will only
5855           last a few days, so don't bother trying to think up a meaningful
5856           name for the struct.
5857
5858 2005-11-17  Andy Wingo  <wingo@pobox.com>
5859
5860         * gst/gstclock.h (GstClock): Add rate and offset properties,
5861         preserving ABI stability. Add rate/offset accessors. Will file bug
5862         for the freeze break.
5863
5864         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
5865         and offset, trying to keep precision and avoiding
5866         underflow/overflow.
5867         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
5868         functions. Make gst_clock_set_time_adjust obsolete.
5869         (gst_clock_set_time_adjust): Note that this function is obsolete.
5870         Will file bug soon.
5871
5872         * gst/base/gstbasetransform.h: Make the ABI-stability hack
5873         greppable by using GST_PADDING-1+1.
5874
5875 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
5876
5877         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
5878
5879         * gst/gstmessage.c: (gst_message_parse_clock_lost):
5880           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
5881
5882         * gst/gstpadtemplate.h:
5883         * gst/gstpluginfeature.h:
5884           Don't use c++ style comments in headers (#321638).
5885
5886 2005-11-16  Andy Wingo  <wingo@pobox.com>
5887
5888         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
5889         buffer.
5890
5891         * check/net/gstnettimeprovider.c: Check to see that the time
5892         provider actually provides times. Works, yo!
5893
5894 2005-11-16  Wim Taymans  <wim@fluendo.com>
5895
5896         * check/Makefile.am:
5897         Enable more tests.
5898
5899         * check/elements/fakesrc.c: (GST_START_TEST):
5900         Set element to NULL before disposing it.
5901
5902 2005-11-16  Andy Wingo  <wingo@pobox.com>
5903
5904         * gst/net/Makefile.am:
5905         * gst/net/gstnet.h:
5906         * gst/net/gstnettimeprovider.c: 
5907         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
5908         provider, include it from gstnet.h, and add it to the build.
5909
5910         * gst/net/gstnettimepacket.h: 
5911         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
5912         sending and receiving.
5913
5914 2005-11-16  Wim Taymans  <wim@fluendo.com>
5915
5916         * check/Makefile.am:
5917         Enable valgrind check.
5918
5919         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
5920         (gst_fake_src_alloc_buffer):
5921         Fix memleak.
5922
5923 2005-11-16  Wim Taymans  <wim@fluendo.com>
5924
5925         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
5926         Call parent finalize too.
5927
5928 2005-11-16  Wim Taymans  <wim@fluendo.com>
5929
5930         * check/Makefile.am:
5931         Enable valgrind check that should work fine now.
5932
5933         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
5934         * gst/gstqueue.c: (gst_queue_init):
5935         Fix memleaks in pad allocation.
5936
5937 2005-11-16  Andy Wingo  <wingo@pobox.com>
5938
5939         * gst/net/Makefile.am:
5940         * gst/net/gstnet.h: New part of core to hold network elements and
5941         objects. Put in core because it exposes API that applications want
5942         to use. The library is named libgstnet-tempname right now because
5943         of the existing libgstnet in gst-plugins-base. Solution is
5944         probably to rename the one in plugins-base; will file a bug for
5945         the freeze break.
5946
5947         * gst/net/gstnettimeprovider.c: 
5948         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
5949         get_time call over the network.
5950
5951         * configure.ac: 
5952         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
5953
5954         * check/Makefile.am:
5955         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
5956         get additions shortly.
5957
5958 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
5959
5960         * gst/gstpad.c: (gst_pad_new_from_static_template):
5961         * gst/gstpad.h:
5962           add gst_pad_new_from_static_template functions
5963         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
5964         (gst_check_setup_sink_pad):
5965         * gst/elements/gsttee.c: (gst_tee_init):
5966           and use them
5967
5968 2005-11-16  Wim Taymans  <wim@fluendo.com>
5969
5970         * gst/gstpad.c: (gst_pad_pause_task):
5971         Removed warning, it's not really an error either.
5972
5973 2005-11-16  Wim Taymans  <wim@fluendo.com>
5974
5975         * gst/base/gstbasetransform.c:
5976         (gst_base_transform_prepare_output_buf),
5977         (gst_base_transform_event):
5978         Check if the caps are NULL, this can happen if the element
5979         is shutting down and the pad caps are set to NULL.
5980
5981 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
5982
5983         * gst/elements/gsttee.c: (gst_tee_init):
5984           fix pad template leak in tee
5985
5986 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
5987
5988         * gst/glib-compat.c: (g_value_dup_gst_object):
5989         * gst/glib-compat.h:
5990         * gst/gstpad.c: (gst_pad_set_property):
5991           use gst_object_ref when setting the pad template; this will
5992           trigger the pad template leaks on GLib 2.6 and the slaves
5993
5994 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
5995
5996         * gst/glib-compat.c: (gst_flags_get_first_value):
5997         * gst/glib-compat.h:
5998         * gst/gstregistryxml.c:
5999           remove functions copied from GLib 2.6
6000
6001 2005-11-16  Michael Smith <msmith@fluendo.com>
6002
6003         * gst/Makefile.am:
6004           Don't link against VALGRIND_LIBS. That was always the wrong thing to
6005           do, but only breaks with newer valgrind versions. We're not a
6006           valgrind tool, we have no link-time dependencies on libcoregrind.
6007
6008 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6009
6010         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
6011           some debug changes
6012         * gst/gstmessage.h:
6013           typo fixes
6014
6015 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6016
6017         * gst/base/gstbasesrc.c: (gst_base_src_init):
6018         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
6019         * gst/gstqueue.c: (gst_queue_init):
6020         * gst/gstregistryxml.c: (load_feature):
6021           Revert all these unrefs, they don't even pass make check !
6022
6023 2005-11-15  Johan Dahlin  <johan@gnome.org>
6024
6025         * gst/base/gstbasesrc.c: (gst_base_src_init):
6026         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
6027         * gst/gstqueue.c: (gst_queue_init): 
6028         Free pad templates, fixes a couple of leaks.
6029
6030 2005-11-15  Daniel Fischer  <dan at f3c dot com>
6031
6032         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
6033
6034         * gst/gstpad.c: (gst_pad_get_property):
6035           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
6036           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
6037           (#321452)
6038
6039 2005-11-15  Wim Taymans  <wim@fluendo.com>
6040
6041         * gst/gstevent.c:
6042         Small doc update.
6043
6044 2005-11-15  Andy Wingo  <wingo@pobox.com>
6045
6046         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
6047
6048         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
6049         using GST_CLOCK_TIME_NONE to disable base time management.
6050         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
6051         time if it was NONE before.
6052         (gst_pipeline_change_state): Only munge the base time if
6053         stream_time != GST_CLOCK_TIME_NONE.
6054
6055         * check/gst/gstpipeline.c (test_base_time): Punt around the
6056         problem of the probe not being called, because that's not the
6057         issue I'm looking at. Add a check that setting stream_time to NONE
6058         disables base time management.
6059         
6060 2005-11-15  Wim Taymans  <wim@fluendo.com>
6061
6062         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
6063         segment_stop == -1 at startup.
6064
6065         * gst/base/gstbasetransform.c: (gst_base_transform_event),
6066         (gst_base_transform_change_state):
6067         Init segment values at start.
6068
6069 2005-11-15  Wim Taymans  <wim@fluendo.com>
6070
6071         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6072         0 segment values are 0 in any format.
6073
6074         * gst/base/gstbasetransform.c: (gst_base_transform_event):
6075         * gst/base/gstbasetransform.h:
6076         Parse newsegment correctly in basetransform
6077
6078         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
6079         Sync to clock using updated segment values.
6080
6081 2005-11-15  Andy Wingo  <wingo@pobox.com>
6082
6083         * check/gst/gstpipeline.c (test_base_time): Add check that the
6084         base time and stream time are reset correctly.
6085
6086 2005-11-15  Wim Taymans  <wim@fluendo.com>
6087
6088         * docs/design/part-TODO.txt:
6089         Some more TODO items.
6090
6091 2005-11-15  Andy Wingo  <wingo@pobox.com>
6092
6093         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
6094         error if the user selected "no clock" as the clocking method.
6095
6096         * check/gst/gstpipeline.c (test_base_time): New test for buffer
6097         timestamps with live capture.
6098
6099         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
6100         is 0 but we are a live source, timestamp the buffers using the
6101         element's clock.
6102
6103 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
6104
6105         * docs/gst/gstreamer-sections.txt:
6106         * gst/gsterror.c:
6107         * gst/gstghostpad.c:
6108         * gst/gstobject.h:
6109         * gst/gstxml.c:
6110           more section docs
6111
6112 2005-11-14  Wim Taymans  <wim@fluendo.com>
6113
6114         * common/gst.supp:
6115           add suppressions from Wim's Debian machine
6116
6117 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
6118
6119         * common/gst.supp:
6120           add suppressions from Andy's AMD64 Ubuntu machine
6121
6122 2005-11-14  Andy Wingo  <wingo@pobox.com>
6123
6124         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
6125         STATE_LOCK not necessary. Fixes #311489.
6126
6127         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
6128         #305291.
6129
6130         * gst/gstindex.c (gst_index_add_object): Note in the docs that
6131         this function is not implemented.
6132
6133 2005-11-14  Julien MOUTTE  <julien@moutte.net>
6134
6135         * gst/base/gstbasetransform.c:
6136         (gst_base_transform_prepare_output_buf):
6137         Ref the source pad caps while we need them.
6138         Fixes (#321386)
6139
6140 2005-11-11  Wim Taymans  <wim@fluendo.com>
6141
6142         * docs/gst/gstreamer-sections.txt:
6143         Added some docs for GstCollectData.
6144
6145         * gst/base/gstadapter.c:
6146         Some small code example fix.
6147
6148         * gst/base/gstcollectpads.c:
6149         * gst/base/gstcollectpads.h:
6150         Document some more.
6151
6152 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6153
6154         * configure.ac: back to HEAD
6155
6156 === release 0.9.5 ===
6157
6158 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
6159
6160         * configure.ac:
6161           releasing 0.9.5, "Bike Lunch Day"
6162
6163 2005-11-11  Wim Taymans  <wim@fluendo.com>
6164
6165         * gst/gstbuffer.c: (_gst_buffer_copy):
6166         Copy more flags.
6167
6168         * gst/gstcaps.c: (gst_caps_is_equal):
6169         Fix some docs.
6170         Make _is_equal fast in the trivial cases.
6171
6172         * gst/gstminiobject.c:
6173         * gst/gstminiobject.h:
6174         More docs. Spifify .h file.
6175
6176         * gst/gstutils.c:
6177         Small doc update.
6178
6179 2005-11-11  Wim Taymans  <wim@fluendo.com>
6180
6181         * gst/base/gstbasetransform.c:
6182         (gst_base_transform_prepare_output_buf),
6183         (gst_base_transform_handle_buffer):
6184         Small cleanups.
6185         If we're processing a buffer and need to allocate an output
6186         buffer, we cannot accept a format change. If we did get a 
6187         format change, we have to alloc a buffer ourselves of the 
6188         right size.
6189
6190 2005-11-11  Wim Taymans  <wim@fluendo.com>
6191
6192         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
6193         While checking the flag for reentrancy in the gstcaps function
6194         is nice to detect recursive invocations, it also makes it 
6195         impossible to call getcaps from multiple threads, which must be
6196         possible. So, checking for recursive calls has to go.
6197
6198 2005-11-11  Michael Smith <msmith@fluendo.com>
6199
6200         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
6201           Don't sync on buffers that fall partially outside our current
6202           segment. Prevents an assertion failure/abort playing some files.
6203
6204 2005-11-10  Andy Wingo  <wingo@pobox.com>
6205
6206         * check/gst/gstbin.c (test_message_state_changed_children): Style
6207         fix..
6208
6209         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
6210         gst_bus_poll with the signal watch. Ensures that poll and a signal
6211         watch see the same messages.
6212
6213         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
6214         a poll and a watch at the same time get the same messages.
6215
6216 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
6217
6218         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
6219         * gst/gstcaps.c: (gst_caps_intersect):
6220           Don't call gst_caps_do_simplify - it doesn't respect order of caps
6221           and it's not needed.
6222
6223 2005-11-10  Wim Taymans  <wim@fluendo.com>
6224
6225         * docs/design/part-TODO.txt:
6226         Updated todo.
6227
6228 2005-11-10  Wim Taymans  <wim@fluendo.com>
6229
6230         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
6231         * gst/base/gstbasesrc.c: (gst_base_src_wait),
6232         (gst_base_src_do_sync), (gst_base_src_get_range):
6233         Implement clock sync in base class.
6234
6235 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
6236
6237         patch by: Tim-Philipp Müller <tim at centricular dot net>
6238
6239         * gst/gststructure.c: (gst_structure_parse_field),
6240         (gst_structure_from_string):
6241           Forward-port a 0.8 patch to handle escaped spaces in structure string,
6242           so that gst_parse_launch() can deal with spaces in filtered link
6243           caps (fixes #164479)
6244         * check/gst/capslist.h:
6245         * check/gst/gststructure.c: (GST_START_TEST):
6246           add unit tests for this change
6247
6248 2005-11-10  Wim Taymans  <wim@fluendo.com>
6249
6250         * docs/gst/gstreamer-sections.txt:
6251         * gst/gstelement.c:
6252         * gst/gstelement.h:
6253         Fix docs, move some STATE macros to private.
6254
6255 2005-11-10  Wim Taymans  <wim@fluendo.com>
6256
6257         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
6258         Added check for bug #317341
6259
6260         * gst/gstbuffer.c:
6261         * gst/gstbuffer.h:
6262         Some more spiffifying.
6263
6264         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
6265         Call peer linkfunction if we are a source pad. Totally fixes
6266         #317341
6267
6268         * gst/gstpad.c:
6269         Update docs, source pads should call the peer linkfunction
6270         so they can atomically perform the pad link.
6271
6272 2005-11-09  Wim Taymans  <wim@fluendo.com>
6273
6274         * gst/gstbuffer.c:
6275         * gst/gstbuffer.h:
6276         Uber-spiffy-spiffify some more.
6277
6278 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
6279
6280         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
6281         * gst/elements/gstfilesink.c: (gst_file_sink_init):
6282         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
6283         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
6284         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
6285         * gst/gstpad.c: (gst_pad_init):
6286           Use GST_DEBUG_FUNCPTR() more extensively.
6287
6288 2005-11-09  Wim Taymans  <wim@fluendo.com>
6289
6290         * gst/gstobject.c: (gst_object_class_init):
6291         * gst/gstobject.h:
6292         Documentation fixes.
6293
6294 2005-11-09  Edward Hervey  <edward@fluendo.com>
6295
6296         * gst/gsttypefindfactory.c:
6297         Fix docs.
6298         
6299 2005-11-09  Edward Hervey  <edward@fluendo.com>
6300
6301         * gst/base/gsttypefindhelper.c:
6302         * gst/gsttypefind.c:
6303         * gst/gsttypefind.h:
6304         Fix docs.
6305
6306 2005-11-09  Wim Taymans  <wim@fluendo.com>
6307
6308         * gst/gstiterator.c:
6309         Fix revision data.
6310
6311         * gst/gsttask.c:
6312         * gst/gsttask.h:
6313         Fix docs.
6314
6315 2005-11-09  Wim Taymans  <wim@fluendo.com>
6316
6317         * gst/gstevent.h:
6318         * gst/gsturi.h:
6319         Fix docs.
6320
6321 2005-11-09  Wim Taymans  <wim@fluendo.com>
6322
6323         * docs/gst/gstreamer-sections.txt:
6324         Moved the message async delivery private lock and cond
6325         to the private section.
6326
6327         * gst/gstmessage.c:
6328         * gst/gstmessage.h:
6329         Fixed docs.
6330
6331 2005-11-09  Edward Hervey  <edward@fluendo.com>
6332
6333         * docs/gst/gstreamer-sections.txt:
6334         * gst/gsturi.c:
6335         * gst/gsturi.h:
6336         Document GstURIHandler
6337
6338 2005-11-09  Wim Taymans  <wim@fluendo.com>
6339
6340         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
6341         (gst_iterator_find_custom):
6342         * gst/gstiterator.h:
6343         Fix iterator docs.
6344
6345 2005-11-09  Wim Taymans  <wim@fluendo.com>
6346
6347         * gst/gstbin.h:
6348         Document another field.
6349
6350         * gst/gststructure.c:
6351         * gst/gststructure.h:
6352         Document.
6353
6354 2005-11-09  Wim Taymans  <wim@fluendo.com>
6355
6356         * gst/gstbin.h:
6357         Documented structs.
6358
6359 2005-11-09  Wim Taymans  <wim@fluendo.com>
6360
6361         * docs/gst/gstreamer-sections.txt:
6362         Added some new macros.
6363
6364         * gst/gstclock.c:
6365         * gst/gstclock.h:
6366         * gst/gstobject.h:
6367         Docs updates.
6368
6369 2005-11-09  Wim Taymans  <wim@fluendo.com>
6370
6371         * docs/design/part-TODO.txt:
6372         Some more items for the TODO
6373
6374         * gst/gstcaps.c:
6375         * gst/gstcaps.h:
6376         Document GstCaps.
6377
6378 2005-11-09  Andy Wingo  <wingo@pobox.com>
6379
6380         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
6381         to work on something else now tho...
6382
6383         * gst/base/gstadapter.c: More adapter docs.
6384
6385         * gst/elements/gstfilesink.c (gst_file_sink_start) 
6386         (gst_file_sink_stop): New functions, replace the state change
6387         handler.
6388         (gst_file_sink_class_init): Hook up the start and stop functions.
6389         (gst_file_sink_base_init): Don't set the state change handler any
6390         more. It was a bit ugly too, being set from here...
6391         (gst_file_sink_get_property, gst_file_sink_set_property):
6392         Cleanups...
6393         (gst_file_sink_set_location): More robust check that doesn't call
6394         GST_STATE. Ugggggg.
6395
6396 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
6397
6398         * gst/base/gstbasetransform.c: (gst_base_transform_event):
6399           Hold STREAM_LOCK while pushing newsegment or tag events as well.
6400
6401 2005-11-08  Wim Taymans  <wim@fluendo.com>
6402
6403         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
6404         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
6405         (gst_base_sink_chain), (gst_base_sink_change_state):
6406         * gst/base/gstbasesink.h:
6407         * gst/base/gstbasesrc.h:
6408         * gst/gstelement.h:
6409         * gst/gstevent.h:
6410         Avoid excessive typechecking in macros.
6411
6412         * gst/gstminiobject.c: (gst_mini_object_get_type),
6413         (gst_mini_object_init), (gst_mini_object_new),
6414         (gst_mini_object_free):
6415         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
6416         (gst_object_finalize):
6417         Remove cruft code, optimize alloc_trace.
6418
6419 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
6420
6421         * docs/faq/gst-uninstalled:
6422           fix up PS1 for systems that try to reset it
6423
6424 2005-11-07  Wim Taymans  <wim@fluendo.com>
6425
6426         * gst/base/gstbasesrc.c: (gst_base_src_init),
6427         (gst_base_src_get_range):
6428         Set the segment_end to -1 initially. Fixed typefind.
6429
6430 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
6431
6432         * gst/base/gstadapter.c:
6433           Debug category should be 'adapter', not 'GstAdapter'.
6434           
6435         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
6436         (gst_collectpads_class_init), (gst_collectpads_init),
6437         (gst_collectpads_peek), (gst_collectpads_pop),
6438         (gst_collectpads_event), (gst_collectpads_chain):
6439           Add debug category and some debugging output. Use boilerplate
6440           macros. Remove some extraneous words from docs.
6441
6442 2005-11-05  Andy Wingo  <wingo@pobox.com>
6443
6444         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
6445         macro.
6446
6447 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
6448
6449         * docs/gst/gstreamer-sections.txt:
6450         * gst/gstcaps.h:
6451         * gst/gstinfo.c:
6452         * gst/gstminiobject.h:
6453         * gst/gstobject.h:
6454         * gst/gstutils.h:
6455           more docs added
6456
6457 2005-11-04  Wim Taymans  <wim@fluendo.com>
6458
6459         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
6460         Small update to stop at the configured segment_end
6461         position.
6462
6463 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
6464
6465         * gst/gstregistry.c:
6466         * gst/gstregistry.h:
6467           added missing docs
6468
6469 2005-11-04  Edward Hervey  <edward@fluendo.com>
6470
6471         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
6472         Check if we are doing a segment seek and have arrived at the
6473         end of that segment.
6474
6475 2005-11-04  Wim Taymans  <wim@fluendo.com>
6476
6477         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
6478         Don't leak a mutex unlock in case of an error.
6479
6480         * gst/gstbus.h:
6481         Doc fixes.
6482
6483 2005-11-04  Wim Taymans  <wim@fluendo.com>
6484
6485         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
6486         (gst_bus_post):
6487         Get the context to wake up only once.
6488
6489 2005-11-03  Wim Taymans  <wim@fluendo.com>
6490
6491         * check/states/sinks.c: (GST_START_TEST):
6492         Uncomment fixed check.
6493
6494         * docs/design/part-TODO.txt:
6495         Updated TODO.
6496
6497         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
6498         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
6499         (gst_base_sink_get_position):
6500         If we are going to PLAYING, post the right pending state
6501         when we post the intermediate paused message.
6502
6503         * gst/gstelement.c: (gst_element_continue_state),
6504         (gst_element_set_state_func), (gst_element_change_state):
6505         Don't post state changes that were between the same state
6506         and were not ASYNC.
6507
6508 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
6509
6510         * docs/gst/gstreamer-sections.txt:
6511         * gst/gstcaps.h:
6512         * gst/gstinfo.c:
6513         * gst/gstminiobject.h:
6514         * gst/gstobject.h:
6515         * gst/gstutils.h:
6516           more docs and doc style fixes
6517
6518 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
6519
6520         * docs/gst/gstreamer-sections.txt:
6521         * gst/gstelement.c:
6522         * gst/gstminiobject.c:
6523         doc fixes
6524
6525 2005-11-03  Andy Wingo  <wingo@pobox.com>
6526
6527         * check/states/sinks.c (test_livesrc_sink): Add checks that the
6528         state-changed messages actually have the right order and the right
6529         values.
6530
6531 2005-11-03  Wim Taymans  <wim@fluendo.com>
6532
6533         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
6534         Added some more checks. Specifically the case where NO_PREROLL
6535         elements are in the pipeline.
6536
6537         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
6538         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
6539         (gst_base_sink_get_position):
6540         Post READY->PAUSED state change messages too.
6541         Fix bug where VOID was posted as pending state...
6542
6543         * gst/gstbin.c: (gst_bin_recalc_state):
6544         use _element_continue_state() to continue the state change.
6545
6546         * gst/gstelement.c: (gst_element_continue_state),
6547         (gst_element_commit_state), (gst_element_set_state_func),
6548         (gst_element_change_state), (gst_element_change_state_func):
6549         Lots of state change cleanups, assign the STATE_RETURN in
6550         a new continue_state() function that also propagates the
6551         last return value from a state change to the app.
6552         Update some debug statements with proper category.
6553
6554 2005-11-03  Wim Taymans  <wim@fluendo.com>
6555
6556         * docs/design/part-events.txt:
6557         * docs/design/part-gstpipeline.txt:
6558         * docs/design/part-messages.txt:
6559         * docs/design/part-overview.txt:
6560         * docs/design/part-seeking.txt:
6561         * docs/design/part-states.txt:
6562         * docs/design/part-trickmodes.txt:
6563         * docs/manual/advanced-position.xml:
6564         Small docs updates.
6565
6566         * gst/gstobject.h:
6567         People think !! is ugly, this looks better.
6568
6569         * gst/gstpad.c: (gst_pad_set_blocked_async):
6570         Remove !! since it's fixed elsewhere now.
6571
6572 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
6573
6574         * gst/gstminiobject.h:
6575         * gst/gstobject.h:
6576           Add !! to _FLAG_IS_SET macros to make the result boolean.
6577
6578 2005-11-03  Edward Hervey  <edward@fluendo.com>
6579
6580         * gst/gstpad.c: (gst_pad_set_blocked_async):
6581         comparing a flag and a gboolean rarely returns coherent results...
6582         Added two characters (!!) to make that work correctly.
6583         
6584 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
6585
6586         * gst/gstbus.c: (gst_bus_class_init):
6587           Fix some typos.
6588           
6589         * gst/gstqueue.c: (gst_queue_loop):
6590           Don't assume a miniobject that isn't a buffer is an
6591           event (it could be that there is a refcounting
6592           problem somewhere and the pointer is stale and
6593           refers to an already destroyed miniobject).
6594
6595 2005-11-03  Julien MOUTTE  <julien@moutte.net>
6596
6597         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
6598
6599 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
6600
6601         * docs/manual/advanced-position.xml:
6602           Update seek example and explanations to current 0.9 API.
6603
6604         * gst/elements/gsttypefindelement.c:
6605         (gst_type_find_element_activate):
6606           Remove FIXME comment now that the found caps
6607           are unreffed.
6608
6609 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
6610
6611         * gst/gstregistryxml.c: (load_feature):
6612           Add another GST_STR_NULL instance
6613
6614 2005-11-02  Edward Hervey  <edward@fluendo.com>
6615
6616         * gst/gstpad.c: (handle_pad_block):
6617         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
6618         
6619 2005-11-02  Wim Taymans  <wim@fluendo.com>
6620
6621         * gst/gstbin.c:
6622         Fix typo in docs.
6623
6624         * gst/gstelement.c: (gst_element_commit_state):
6625         Remove unused value.
6626
6627         * gst/gstiterator.c:
6628         Mention that the returned element is reffed in the docs.
6629
6630 2005-11-02  Wim Taymans  <wim@fluendo.com>
6631
6632         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
6633         (gst_pad_push), (gst_pad_push_event):
6634         Unlock blocked pads when they are flushed.
6635
6636 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
6637
6638         * docs/README:
6639         * docs/gst/gstreamer-sections.txt:
6640         * gst/gstbin.c:
6641           doc updates
6642         * gst/gstregistry.c: (gst_registry_scan_path_level):
6643           fix for a nasty little missed situation where an installed plug-in
6644           which was in the cache did not get overridden by an uninstalled one
6645           which was earlier in the plugin path because the newly created plugin
6646           for the uninstalled one (not in the registry) didn't get its
6647           ->registered set to TRUE
6648
6649 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
6650
6651         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
6652         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
6653         (gst_collectpads_is_active), (gst_collectpads_collect),
6654         (gst_collectpads_collect_range), (gst_collectpads_start),
6655         (gst_collectpads_stop), (gst_collectpads_peek),
6656         (gst_collectpads_pop), (gst_collectpads_available),
6657         (gst_collectpads_read), (gst_collectpads_flush):
6658           Guard public API with assertions.
6659         
6660         * gst/gstpad.c:
6661           Fix docs for gst_pad_set_link_function().
6662
6663 2005-11-02  Johan Dahlin  <johan@gnome.org>
6664
6665         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
6666         Unref found_caps after we used it.
6667
6668 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
6669
6670         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
6671           Don't try to ref NULL.
6672
6673 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
6674
6675         * win32/common/config.h.in:
6676           provide a GST_FUNCTION that just gives a string for now
6677
6678 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
6679
6680         * win32/common/gstenumtypes.c: (register_gst_object_flags),
6681         (gst_object_flags_get_type), (register_gst_bin_flags),
6682         (gst_bin_flags_get_type), (register_gst_buffer_flag),
6683         (gst_buffer_flag_get_type), (register_gst_bus_flags),
6684         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
6685         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
6686         (gst_clock_return_get_type), (register_gst_clock_entry_type),
6687         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
6688         (gst_clock_flags_get_type), (register_gst_state),
6689         (gst_state_get_type), (register_gst_state_change_return),
6690         (gst_state_change_return_get_type), (register_gst_state_change),
6691         (gst_state_change_get_type), (register_gst_element_flags),
6692         (gst_element_flags_get_type), (register_gst_core_error),
6693         (gst_core_error_get_type), (register_gst_library_error),
6694         (gst_library_error_get_type), (register_gst_resource_error),
6695         (gst_resource_error_get_type), (register_gst_stream_error),
6696         (gst_stream_error_get_type), (register_gst_event_type),
6697         (gst_event_type_get_type), (register_gst_seek_type),
6698         (gst_seek_type_get_type), (register_gst_seek_flags),
6699         (gst_seek_flags_get_type), (register_gst_format),
6700         (gst_format_get_type), (register_gst_index_certainty),
6701         (gst_index_certainty_get_type), (register_gst_index_entry_type),
6702         (gst_index_entry_type_get_type),
6703         (register_gst_index_lookup_method),
6704         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
6705         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
6706         (gst_index_resolver_method_get_type), (register_gst_index_flags),
6707         (gst_index_flags_get_type), (register_gst_debug_level),
6708         (gst_debug_level_get_type), (register_gst_debug_color_flags),
6709         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
6710         (gst_iterator_result_get_type), (register_gst_iterator_item),
6711         (gst_iterator_item_get_type), (register_gst_message_type),
6712         (gst_message_type_get_type), (register_gst_mini_object_flags),
6713         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
6714         (gst_pad_link_return_get_type), (register_gst_flow_return),
6715         (gst_flow_return_get_type), (register_gst_activate_mode),
6716         (gst_activate_mode_get_type), (register_gst_pad_direction),
6717         (gst_pad_direction_get_type), (register_gst_pad_flags),
6718         (gst_pad_flags_get_type), (register_gst_pad_presence),
6719         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
6720         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
6721         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
6722         (gst_plugin_error_get_type), (register_gst_plugin_flags),
6723         (gst_plugin_flags_get_type), (register_gst_rank),
6724         (gst_rank_get_type), (register_gst_query_type),
6725         (gst_query_type_get_type), (register_gst_tag_merge_mode),
6726         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
6727         (gst_tag_flag_get_type), (register_gst_task_state),
6728         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
6729         (gst_alloc_trace_flags_get_type),
6730         (register_gst_type_find_probability),
6731         (gst_type_find_probability_get_type), (register_gst_uri_type),
6732         (gst_uri_type_get_type), (register_gst_parse_error),
6733         (gst_parse_error_get_type):
6734         * win32/common/gstversion.h:
6735           update win32 copies
6736
6737 2005-11-01  Luca Ognibene  <luogni@tin.it>
6738
6739         * gst/gst.c:
6740           fix docs. popt is dead, long live GOption.
6741
6742 2005-10-31  Wim Taymans  <wim@fluendo.com>
6743
6744         * gst/gstbuffer.h:
6745         Small doc fix.
6746
6747 2005-10-31  Andy Wingo  <wingo@pobox.com>
6748
6749         * Boo!
6750
6751         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
6752
6753         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
6754         need to serialize property notifications on GLib 2.8. GLib 2.6 has
6755         the possibility of deadlocks here if code calling notify() or
6756         set() has a lock that can be taken in another notify handler (ABBA
6757         with class lock and e.g. python GIL state lock).
6758
6759 2005-10-28  Julien MOUTTE  <julien@moutte.net>
6760
6761         * gst/gstbus.c: Doc updates.
6762
6763 2005-10-28  Wim Taymans  <wim@fluendo.com>
6764
6765         * docs/design/part-TODO.txt:
6766         * gst/gstiterator.c:
6767         * gst/gstsystemclock.c:
6768         * gst/gstsystemclock.h:
6769         Doc updates.
6770
6771 2005-10-28  Edward Hervey  <edward@fluendo.com>
6772
6773         * docs/gst/gstreamer-docs.sgml:
6774         * docs/gst/gstreamer-sections.txt:
6775         the GstURIType documentation page is private, it only defines GstURIType
6776         which should be defined in the GstURIHandler page
6777         
6778 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
6779
6780         * gst/gstbin.c: (gst_bin_class_init):
6781         * gst/gstbin.h:
6782         * gst/gstutils.c:
6783         Documentation updates.
6784
6785 2005-10-28  Wim Taymans  <wim@fluendo.com>
6786
6787         * docs/gst/gstreamer-sections.txt:
6788         * gst/gstclock.c:
6789         * gst/gstclock.h:
6790         Documented the clocks.
6791
6792 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
6793
6794         * docs/gst/gstreamer-sections.txt:
6795           move some macros to private sections
6796         * gst/gstminiobject.c:
6797         * gst/gstminiobject.h:
6798           add descriptions provided by ds and some more
6799         * gst/gstpad.h:
6800           mark macro as to be removed
6801
6802 2005-10-28  Wim Taymans  <wim@fluendo.com>
6803
6804         * docs/design/part-TODO.txt:
6805         Add an item to TODO.
6806
6807         * gst/gstiterator.c: (gst_iterator_fold),
6808         (gst_iterator_find_custom):
6809         * gst/gstiterator.h:
6810         Add iterator docs.
6811
6812 2005-10-28  Wim Taymans  <wim@fluendo.com>
6813
6814         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
6815         (gst_base_transform_init):
6816         Don't leak class.
6817
6818         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
6819         An EOS event marks the queue as completely filled.
6820
6821 2005-10-27  Wim Taymans  <wim@fluendo.com>
6822
6823         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6824         (gst_base_sink_do_sync), (gst_base_sink_get_position):
6825         Some more debugging.
6826
6827         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
6828         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
6829         (gst_base_transform_event), (gst_base_transform_getrange),
6830         (gst_base_transform_chain):
6831         * gst/base/gstbasetransform.h:
6832         Fix debugging,
6833         Protect transform and concurrent buffer alloc with a new lock.
6834         Try not to break ABI/API.
6835
6836 2005-10-27  Wim Taymans  <wim@fluendo.com>
6837
6838         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
6839         (gst_base_src_init), (gst_base_src_query),
6840         (gst_base_src_default_newsegment),
6841         (gst_base_src_configure_segment), (gst_base_src_do_seek),
6842         (gst_base_src_send_event), (gst_base_src_event_handler),
6843         (gst_base_src_pad_get_range), (gst_base_src_loop),
6844         (gst_base_src_unlock), (gst_base_src_default_negotiate),
6845         (gst_base_src_start), (gst_base_src_deactivate),
6846         (gst_base_src_activate_push), (gst_base_src_change_state):
6847         Move some stuff around and cleanup things.
6848
6849 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
6850
6851         * gst/base/gstbasesrc.c: (gst_base_src_query):
6852           Add missing break statements.
6853
6854 2005-10-27  Wim Taymans  <wim@fluendo.com>
6855
6856         * check/gst/gstbin.c: (GST_START_TEST):
6857         An extra refcount is taken in basesrc.
6858
6859         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
6860         (gst_base_src_get_range), (gst_base_src_pad_get_range),
6861         (gst_base_src_loop):
6862         Small cleanups, check for flushing after being unlocked from the 
6863         LIVE_LOCK. take refcounts correctly (not yet everywhere).
6864         Don't send out EOS when going to READY.
6865
6866 2005-10-27  Wim Taymans  <wim@fluendo.com>
6867
6868         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6869         (gst_base_sink_get_position):
6870         Some more debug.
6871
6872         * gst/gstbin.c: (message_check), (bin_replace_message),
6873         (bin_remove_messages), (is_eos), (gst_bin_add_func),
6874         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
6875         (bin_query_duration_init), (bin_query_duration_fold),
6876         (bin_query_duration_done), (bin_query_generic_fold),
6877         (gst_bin_query):
6878         * tools/gst-launch.c: (main):
6879         Remove old option.
6880
6881 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
6882
6883         * examples/controller/audio-example.c: (main):
6884         * examples/queue/queue.c: (event_loop):
6885         * gst/base/gstbasetransform.h:
6886         * gst/gstelement.c: (gst_element_send_event):
6887         * gst/gstevent.h:
6888         * gst/gstpad.c: (gst_pad_send_event):
6889           fixing examples
6890           fixing docs typos
6891           changing log priority in error situations
6892
6893 2005-10-25  Wim Taymans  <wim@fluendo.com>
6894
6895         * gst/gstbin.c: (message_check), (bin_replace_message),
6896         (bin_remove_messages), (is_eos), (gst_bin_add_func),
6897         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
6898         (bin_query_duration_init), (bin_query_duration_fold),
6899         (bin_query_duration_done), (bin_query_generic_fold),
6900         (gst_bin_query):
6901         Some doc and debug updates.
6902         Cache previously requested query DURATION for speed. invalidate
6903         cached duration if element posts a DURATION message.
6904
6905 2005-10-25  Wim Taymans  <wim@fluendo.com>
6906
6907         * docs/design/part-TODO.txt:
6908         Update TODO.
6909
6910         * gst/gstbin.c: (message_check), (bin_replace_message),
6911         (bin_remove_messages), (is_eos), (gst_bin_add_func),
6912         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
6913         (bin_query_duration_init), (bin_query_duration_fold),
6914         (bin_query_duration_done), (bin_query_generic_fold),
6915         (gst_bin_query):
6916         Handle SEGMENT_START/DONE messages correctly.
6917         More evolved query algorithm that handles duration queries
6918         correctly.
6919
6920         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
6921         (gst_element_get_state_func), (gst_element_abort_state),
6922         (gst_element_commit_state), (gst_element_lost_state):
6923         Some more debugging.
6924
6925         * gst/gstmessage.h:
6926         Added doc.
6927
6928 2005-10-25  Wim Taymans  <wim@fluendo.com>
6929
6930         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
6931         Don't use invalid stream_time.
6932
6933         * gst/gstevent.c: (gst_event_new_newsegment):
6934         stream_time in newsegment cannot be undefined.
6935
6936 2005-10-24  Wim Taymans  <wim@fluendo.com>
6937
6938         * gst/gstbus.c:
6939         Doc fix.
6940
6941         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
6942         (gst_queue_loop):
6943         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
6944
6945 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
6946
6947         * docs/libs/tmpl/gstdparam.sgml:
6948         * docs/libs/tmpl/gstdplinint.sgml:
6949         * docs/libs/tmpl/gstdpman.sgml:
6950         * docs/libs/tmpl/gstdpsmooth.sgml:
6951         * docs/libs/tmpl/gstunitconvert.sgml:
6952           these are obsolete
6953
6954 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
6955
6956         * configure.ac:
6957           back to HEAD
6958
6959 === release 0.9.4 ===
6960
6961 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6962
6963         * configure.ac:
6964           releasing 0.9.4, "Tyrannosaurus Rex"
6965
6966 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
6967
6968         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
6969         (gst_file_sink_get_current_offset):
6970           Use fseeko() and ftello() if available. When falling back on
6971           lseek() to get the current offset, fflush() first to make sure
6972           everything is up-to-date and we get the right offset.
6973
6974 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6975
6976         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6977         * gst/base/gstbasesrc.c: (gst_base_src_loop):
6978         * gst/gsterror.c: (_gst_stream_errors_init):
6979         * gst/gsterror.h:
6980         * gst/gstqueue.c: (gst_queue_loop):
6981         * po/POTFILES.in:
6982           remove prematurely added error category and clean up the instances
6983
6984 2005-10-21  Wim Taymans  <wim@fluendo.com>
6985
6986         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
6987         (gst_base_sink_get_position), (gst_base_sink_query),
6988         (gst_base_sink_change_state):
6989         Simply set the right flag when going to playing, that's all
6990         we need to do instead of calling a function inside the object
6991         lock (that could take the lock as well and deadlock)
6992
6993 2005-10-21  Wim Taymans  <wim@fluendo.com>
6994
6995         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
6996         (gst_base_src_loop):
6997         Don't warn, the peer element knows what to do best when
6998         the seek failed, it might try something else.
6999
7000 2005-10-21  Wim Taymans  <wim@fluendo.com>
7001
7002         * gst/base/gstbasesrc.c: (gst_base_src_init),
7003         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
7004         Fix seeking.
7005
7006 2005-10-21  Wim Taymans  <wim@fluendo.com>
7007
7008         * docs/design/part-segments.txt:
7009         More docs.
7010
7011         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
7012         Correctly set caps, even on the subbufer.
7013
7014 2005-10-21  Wim Taymans  <wim@fluendo.com>
7015
7016         * docs/gst/gstreamer-docs.sgml:
7017         * docs/gst/gstreamer-sections.txt:
7018         * gst/gstelement.h:
7019         * gst/gstevent.c:
7020         * gst/gstevent.h:
7021         * gst/gstmessage.h:
7022         * gst/gstpad.h:
7023         * gst/gstparse.h:
7024         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
7025         * gst/gsttask.h:
7026         * gst/gstutils.c:
7027         * gst/gstutils.h:
7028         And 2% more doc coverage.
7029
7030 2005-10-21  Andy Wingo  <wingo@pobox.com>
7031
7032         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
7033         position reporting.
7034
7035 2005-10-20  Wim Taymans  <wim@fluendo.com>
7036
7037         * gst/gsterror.c: (gst_error_get_message):
7038         * gst/gstparse.h:
7039         * gst/gstquery.h:
7040         * gst/gststructure.c:
7041         * gst/gsttrace.c:
7042         * gst/gstutils.c:
7043         More docs.
7044
7045 2005-10-20  Wim Taymans  <wim@fluendo.com>
7046
7047         * gst/gstbuffer.h:
7048         * gst/gstpad.c:
7049         * gst/gstparse.c:
7050         Another 1% more coverage.
7051
7052 2005-10-20  Wim Taymans  <wim@fluendo.com>
7053
7054         * docs/gst/gstreamer-sections.txt:
7055         * gst/gstelement.c: (gst_element_get_state_func),
7056         (gst_element_abort_state), (gst_element_commit_state),
7057         (gst_element_lost_state):
7058         * gst/gstevent.h:
7059         * gst/gstquery.c: (gst_query_set_position),
7060         (gst_query_parse_position), (gst_query_set_duration),
7061         (gst_query_parse_duration), (gst_query_new_convert):
7062         * gst/gstutils.c:
7063         Yay! 1% more docs coverage.
7064
7065 2005-10-20  Wim Taymans  <wim@fluendo.com>
7066
7067         * gst/gstpad.h:
7068         * gst/gstquery.c: (gst_query_set_position),
7069         (gst_query_parse_position), (gst_query_set_duration),
7070         (gst_query_parse_duration), (gst_query_new_convert):
7071         * gst/gstquery.h:
7072         * gst/gstutils.c: (gst_element_query_convert):
7073         * gst/gstutils.h:
7074         Docs and consistency fixes.
7075
7076 2005-10-20  Wim Taymans  <wim@fluendo.com>
7077
7078         * gst/gsttask.c:
7079         * gst/gsttask.h:
7080         More docs.
7081
7082 2005-10-20  Wim Taymans  <wim@fluendo.com>
7083
7084         * gst/gstbin.c: (message_check), (bin_replace_message),
7085         (bin_remove_messages), (is_eos), (gst_bin_add_func),
7086         (update_degree), (gst_bin_sort_iterator_next),
7087         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
7088         Reworked the message handling a bit, cache the messages instead of
7089         only the senders. alows us to do more in the future.
7090
7091 2005-10-20  Wim Taymans  <wim@fluendo.com>
7092
7093         * docs/design/part-TODO.txt:
7094         Update TODO
7095
7096         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
7097         (gst_base_sink_query):
7098         Don't use clock time to report position when in EOS.
7099
7100 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
7101
7102         * tools/gst-inspect.c: (print_interfaces),
7103         (print_element_properties_info), (print_element_info):
7104           Fix interface output with gst-inspect -a; don't print
7105           newlines after double/float properties.
7106
7107 2005-10-20  Wim Taymans  <wim@fluendo.com>
7108
7109         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
7110         (gst_base_sink_query):
7111         Speed up current position calculation.
7112
7113         * gst/base/gstbasesrc.c: (gst_base_src_query),
7114         (gst_base_src_default_newsegment):
7115         Correctly set stream position in newsegment.
7116
7117         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
7118         (update_degree), (gst_bin_sort_iterator_next),
7119         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
7120         * gst/gstmessage.c: (gst_message_new_custom):
7121         Clean up debugging info
7122
7123         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
7124         (gst_queue_loop), (gst_queue_handle_src_query):
7125         Pause task faster.
7126
7127 2005-10-19  Wim Taymans  <wim@fluendo.com>
7128
7129         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
7130         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
7131         Fix query handling again.
7132
7133 2005-10-19  Wim Taymans  <wim@fluendo.com>
7134
7135         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
7136         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
7137         * gst/base/gstbasesrc.c: (gst_base_src_query):
7138         * gst/elements/gstfilesink.c: (gst_file_sink_query):
7139         * gst/elements/gsttypefindelement.c:
7140         (gst_type_find_handle_src_query), (find_element_get_length),
7141         (gst_type_find_element_activate):
7142         API change fix.
7143
7144         * gst/gstquery.c: (gst_query_new_position),
7145         (gst_query_set_position), (gst_query_parse_position),
7146         (gst_query_new_duration), (gst_query_set_duration),
7147         (gst_query_parse_duration), (gst_query_set_segment),
7148         (gst_query_parse_segment):
7149         * gst/gstquery.h:
7150         Bundling query position/duration is not a good idea since duration
7151         does not change much and we don't want to recalculate it for every
7152         position query, so they are separated again..
7153         Base value in segment query is not needed.
7154
7155         * gst/gstqueue.c: (gst_queue_handle_src_query):
7156         * gst/gstutils.c: (gst_element_query_position),
7157         (gst_element_query_duration), (gst_pad_query_position),
7158         (gst_pad_query_duration):
7159         * gst/gstutils.h:
7160         Updates for query API change.
7161         Added some docs here and there.
7162
7163 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
7164
7165         * check/gst/gstbin.c: (GST_START_TEST):
7166         * check/gst/gstghostpad.c: (GST_START_TEST):
7167         * check/pipelines/cleanup.c: (GST_START_TEST):
7168           wait on thread to die so we can check refcount correctly
7169
7170 2005-10-18  Wim Taymans  <wim@fluendo.com>
7171
7172         * check/pipelines/stress.c: (GST_START_TEST):
7173         Make check a little more time consuming.
7174
7175 2005-10-18  Wim Taymans  <wim@fluendo.com>
7176
7177         * check/Makefile.am:
7178         * check/pipelines/stress.c: (GST_START_TEST),
7179         (simple_launch_lines_suite), (main):
7180         Small state change torture test.
7181
7182         * docs/design/part-states.txt:
7183         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
7184         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
7185         (gst_base_sink_change_state):
7186         Never take state lock from streaming thread, clean up ugly
7187         hacks. Unfortunatly core does not yet support nice ways to
7188         async commit state.
7189         
7190         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
7191         (bin_bus_handler):
7192         Start state recalc if a STATE_DIRTY message is posted, but only
7193         on the toplevel bin.
7194
7195         * gst/gstelement.c: (gst_element_sync_state_with_parent),
7196         (gst_element_get_state_func), (gst_element_abort_state),
7197         (gst_element_commit_state), (gst_element_lost_state),
7198         (gst_element_set_state_func), (gst_element_change_state):
7199         * gst/gstelement.h:
7200         State variables are now protected with the LOCK, the state
7201         lock is only used to serialize _set_state().
7202
7203 2005-10-18  Wim Taymans  <wim@fluendo.com>
7204
7205         * check/gst/gstbin.c: (GST_START_TEST):
7206         * check/gst/gstmessage.c: (GST_START_TEST):
7207         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
7208         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
7209         (bin_bus_handler):
7210         * gst/gstelement.c: (gst_element_abort_state),
7211         (gst_element_commit_state), (gst_element_lost_state):
7212         * gst/gstmessage.c: (gst_message_new_state_changed),
7213         (gst_message_new_state_dirty), (gst_message_new_segment_start),
7214         (gst_message_new_segment_done), (gst_message_new_duration),
7215         (gst_message_parse_state_changed),
7216         (gst_message_parse_segment_start),
7217         (gst_message_parse_segment_done), (gst_message_parse_duration):
7218         * gst/gstmessage.h:
7219         * tools/gst-launch.c: (event_loop):
7220         Seriously, this is better than a previous commit as we only need
7221         to notify the fact that an element changed state in a streaming
7222         thread, marking the state of the parents dirty, hence the 
7223         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
7224         message.
7225
7226 2005-10-18  Wim Taymans  <wim@fluendo.com>
7227
7228         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
7229         (gst_bin_recalc_func):
7230         * gst/gstelement.c: (gst_element_set_clock),
7231         (gst_element_abort_state), (gst_element_lost_state):
7232         Cleanups, prepare for state change fixes.
7233
7234 2005-10-18  Wim Taymans  <wim@fluendo.com>
7235
7236         * gst/gstbin.h:
7237         * gst/gstelement.c: (gst_element_class_init),
7238         (gst_element_set_state), (gst_element_set_state_func):
7239         * gst/gstelement.h:
7240         Pending ABI changes.
7241         GThreadPool in GstBinClass to monitor async state changes.
7242         state_cookie in GstElement to detect concurrent gst/set state.
7243         set_state is now virtual too in case a very complicated element
7244         has to be constructed.
7245
7246 2005-10-18  Wim Taymans  <wim@fluendo.com>
7247
7248         * check/gst/gstbin.c: (GST_START_TEST):
7249         * check/gst/gstmessage.c: (GST_START_TEST):
7250         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
7251         * gst/gstbin.c: (bin_bus_handler):
7252         * gst/gstelement.c: (gst_element_commit_state),
7253         (gst_element_lost_state):
7254         * gst/gstmessage.c: (gst_message_new_state_changed),
7255         (gst_message_new_segment_start), (gst_message_new_segment_done),
7256         (gst_message_new_duration), (gst_message_parse_state_changed),
7257         (gst_message_parse_segment_start),
7258         (gst_message_parse_segment_done), (gst_message_parse_duration):
7259         * gst/gstmessage.h:
7260         * tools/gst-launch.c: (event_loop):
7261         Make messages future proof.
7262         state-change gets a flag if it was a message comming from the
7263         streaming thread.
7264         segment-start/stop can also be specified in other formats.
7265         A message to notify an app that a pipeline changed playback 
7266         duration.
7267         Also fix a GstMessage leak in -launch
7268
7269 2005-10-18  Andy Wingo  <wingo@pobox.com>
7270
7271         * gst/gstelement.c (gst_element_dispose): More helpful message.
7272
7273 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
7274
7275         reviewed by: <delete if not using a buddy>
7276
7277         * common/gtk-doc.mak:
7278
7279 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
7280
7281         * gst/gstregistry.c: (gst_registry_scan_path_level):
7282           unref a plug-in we get that was already initialized
7283
7284 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
7285
7286         * docs/gst/gstreamer-sections.txt:
7287         * docs/libs/gstreamer-libs-sections.txt:
7288         * gst/gstelement.h:
7289           add new api entries
7290           hide internal macro
7291
7292 2005-10-17  Andy Wingo  <wingo@pobox.com>
7293
7294         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
7295         cleanup.
7296
7297         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
7298
7299         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
7300
7301         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
7302         (gst_element_get_state_func): Better debug message.
7303         (gst_element_commit_state): s/INFO/DEBUG/.
7304         (gst_element_lost_state, gst_element_change_state): 
7305
7306         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
7307         (gst_message_new_custom): s/INFO/LOG/.
7308
7309 2005-10-17  Michael Smith <msmith@fluendo.com>
7310
7311         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
7312           Check if end time is valid using end time, not start time.
7313
7314 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
7315
7316         * check/gst-libs/controller.c: (GST_START_TEST),
7317         (gst_controller_suite):
7318         * libs/gst/controller/gstcontroller.c:
7319         (gst_controlled_property_set_interpolation_mode):
7320         * libs/gst/controller/gstcontroller.h:
7321         * libs/gst/controller/gstinterpolation.c:
7322         * testsuite/controller/.cvsignore:
7323         * testsuite/controller/Makefile.am:
7324         * testsuite/controller/interpolator.c:
7325           merge controller testsuites
7326           fix broken tests
7327           remove mem-chunk from docs
7328
7329 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
7330
7331         * gst/gstmemchunk.c:
7332         * gst/gstmemchunk.h:
7333         * gst/gsttrashstack.c:
7334         * gst/gsttrashstack.h:
7335           out.  get out.  you're fired.  to the Attic !
7336
7337 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
7338
7339         * gst/gstcaps.c: (gst_caps_intersect):
7340           fix signedness issues in a (hopefully) correct way
7341         * gst/gstelement.c: (gst_element_pads_activate):
7342           some debugging
7343         * gst/gstobject.c: (gst_object_set_parent):
7344           some debugging
7345
7346 2005-10-17  Julien MOUTTE  <julien@moutte.net>
7347
7348         * gst/gstvalue.h: Fix prototypes.
7349
7350 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7351
7352         * docs/gst/gstreamer-sections.txt:
7353         * gst/gst.c: (gst_version_string):
7354         * gst/gst.h:
7355         * gst/gstversion.h.in:
7356         * win32/common/libgstreamer.def:
7357           add gst_version_string ()
7358
7359 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7360
7361         * configure.ac:
7362           clean up further
7363         * gst/gst.c: (init_post):
7364         * win32/common/config.h.in:
7365           it's PLUGINDIR now
7366         * gst/gstcaps.c: (gst_caps_intersect):
7367           use gint64, the range could be bigger than a guint
7368
7369 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7370
7371         * gst/gstclock.h:
7372           document potential problem in 2038
7373
7374 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7375
7376         * gst/gstcaps.c: (gst_caps_intersect):
7377           Fix guint j diving under 0
7378
7379 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7380
7381         * configure.ac:
7382         * win32/common/config.h:
7383         * win32/common/config.h.in:
7384           check for process.h, declares getpid() on Windows
7385         * gst/gstinfo.c:
7386           include process.h if we have it
7387         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
7388         * gst/gstmemchunk.h:
7389           fix signedness issues
7390         * win32/common/libgstreamer.def:
7391           fix get_type's
7392
7393 2005-10-16  Julien MOUTTE  <julien@moutte.net>
7394
7395         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
7396         fix. Because of unsigned ints, caps intersection was going nuts and
7397         trying to access structures with G_MAXUINT index. That fixes
7398         videotestsrc ! ffmpegcolorspace ! fakesink
7399         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
7400         consistency.
7401
7402 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7403
7404         * configure.ac:
7405           use the gettext macro
7406         * gst/elements/gstelements.c:
7407         * gst/gst.c:
7408         * gst/indexers/gstindexers.c:
7409           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
7410         * win32/common/config.h:
7411           updated config.h
7412         * win32/common/config.h.in:
7413           add the template to generate config.h
7414         * win32/common/gstenumtypes.c:
7415         * win32/common/gstversion.h:
7416           updated copies
7417
7418 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7419
7420         * gst/gst.c: (gst_version):
7421         * gst/gstversion.h.in:
7422           add the nano
7423
7424 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
7425
7426         * gst/gstevent.h:
7427           Oops, add missing closing bracket.
7428
7429 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
7430
7431         * configure.ac:
7432           use common m4's for argument checking
7433
7434 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
7435
7436         * docs/gst/gstreamer-sections.txt:
7437         * gst/gstevent.h:
7438           Add GST_EVENT_TYPE_NAME() macro.
7439
7440 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
7441
7442         * gst/gstinfo.c:
7443         * gst/gstpluginfeature.c:
7444         * gst/gsttask.c:
7445           privatize more symbols
7446
7447 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
7448
7449         * configure.ac:
7450           add srcdir, builddir includes to GST_ALL_CFLAGS, since
7451           everything that uses GStreamer API should have the includes
7452
7453 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
7454
7455         * docs/gst/gstreamer-sections.txt:
7456         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
7457         * gst/gstvalue.h:
7458           give each value a _get_type, removes the DATA exports
7459
7460 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
7461
7462         * gst/gst.c:
7463         * gst/gst.h:
7464           remove _gst_registry_auto_load, not used anymore
7465         * gst/gstbin.c: (gst_bin_get_type):
7466         * gst/gstbin.h:
7467         * gst/gstelement.c: (gst_element_get_type):
7468         * gst/gstelement.h:
7469         * gst/gstobject.c: (gst_object_get_type):
7470         * gst/gstobject.h:
7471         * gst/gstpad.c: (gst_pad_get_type):
7472         * gst/gstpad.h:
7473           make _get_type functions similar, fixes data export from library
7474
7475 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
7476
7477         * configure.ac:
7478           correctly make conditionals
7479         * gst/elements/Makefile.am:
7480         * gst/elements/gstelements.c:
7481           fix typo causing fdsrc not to build
7482
7483 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
7484
7485         * testsuite/Makefile.am:
7486         * testsuite/bytestream/.cvsignore:
7487         * testsuite/bytestream/Makefile.am:
7488         * testsuite/bytestream/filepadsink.c:
7489         * testsuite/bytestream/gstbstest.c:
7490         * testsuite/bytestream/test1.c:
7491         * testsuite/bytestream/testfile1:
7492         * testsuite/caps/normalisation.c:
7493         * testsuite/caps/random.c: (main):
7494         * testsuite/cleanup/.cvsignore:
7495         * testsuite/cleanup/Makefile.am:
7496         * testsuite/cleanup/cleanup1.c:
7497         * testsuite/cleanup/cleanup2.c:
7498         * testsuite/cleanup/cleanup3.c:
7499         * testsuite/cleanup/cleanup4.c:
7500         * testsuite/cleanup/cleanup5.c:
7501         * testsuite/controller/interpolator.c:
7502         * testsuite/debug/printf_extension.c: (main):
7503         * testsuite/elements/tee.c:
7504         * testsuite/negotiation/.cvsignore:
7505         * testsuite/negotiation/Makefile.am:
7506         * testsuite/negotiation/pad_link.c:
7507         * testsuite/pad/Makefile.am:
7508         * testsuite/pad/chainnopull.c:
7509         * testsuite/pad/getnopush.c:
7510         * testsuite/pad/link.c:
7511         * testsuite/refcounting/sched.c: (create_pipeline):
7512         * testsuite/registry/Makefile.am:
7513         * testsuite/registry/gst-print-formats.c:
7514         * testsuite/schedulers/.cvsignore:
7515         * testsuite/schedulers/142183-2.c:
7516         * testsuite/schedulers/142183.c:
7517         * testsuite/schedulers/143777-2.c:
7518         * testsuite/schedulers/143777.c:
7519         * testsuite/schedulers/147713.c:
7520         * testsuite/schedulers/147819.c:
7521         * testsuite/schedulers/147894-2.c:
7522         * testsuite/schedulers/147894.c:
7523         * testsuite/schedulers/Makefile.am:
7524         * testsuite/schedulers/group_link.c:
7525         * testsuite/schedulers/queue_link.c:
7526         * testsuite/schedulers/relink.c:
7527         * testsuite/schedulers/unlink.c:
7528         * testsuite/schedulers/unref.c:
7529         * testsuite/schedulers/useless_iteration.c:
7530         * testsuite/states/bin.c:
7531           clean out/remove some stuff from the testsuite directories
7532
7533 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
7534
7535         * configure.ac:
7536           check for some headers
7537         * gst/elements/Makefile.am:
7538         * gst/elements/gstelements.c:
7539           don't compile fdsrc without sys/socket.h
7540         * gst/indexers/Makefile.am:
7541         * gst/indexers/gstindexers.c: (plugin_init):
7542           don't compile fileindex without mmap
7543
7544 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
7545
7546         * configure.ac:
7547           reorganize
7548           clean up
7549           document more
7550           remove cruft
7551         * check/Makefile.am:
7552         * docs/gst/Makefile.am:
7553         * examples/helloworld/Makefile.am:
7554         * gst/Makefile.am:
7555         * gst/base/Makefile.am:
7556         * gst/check/Makefile.am:
7557         * gst/elements/Makefile.am:
7558         * gst/indexers/Makefile.am:
7559         * gst/parse/Makefile.am:
7560         * libs/gst/controller/Makefile.am:
7561         * libs/gst/dataprotocol/Makefile.am:
7562         * examples/helloworld/helloworld.c: (event_loop):
7563           compile fixes, though it's not being compiled currently
7564
7565 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
7566
7567         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
7568           Add some simple tests for the new taglist date API.
7569
7570 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
7571
7572         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
7573         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
7574           Beautify 'last-message' output: print 'none' for buffer timestamps
7575           and durations if none is set; improve alignment with next messages.
7576
7577 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
7578
7579         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
7580         * gst/gstpluginfeature.h:
7581         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
7582         * gst/gstregistry.h:
7583         * docs/gst/gstreamer-sections.txt:
7584           Add new API to check plugin feature version requirements.
7585
7586         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
7587           Some basic tests for the above.         
7588
7589 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
7590
7591         * gst/gststructure.c: (gst_structure_to_string):
7592           guard against NULL printf - happens when for example
7593           a message structure with GstClock gets serialized
7594
7595 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
7596
7597         * gst/base/gstcollectpads.c: (gst_collectpads_event):
7598           Fix presumable copy'n'pasto.
7599
7600 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
7601
7602         * gst/elements/gstfakesrc.h:
7603         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
7604         * gst/elements/gsttypefindelement.c:
7605           fix some signedness
7606         * gst/elements/gstfilesink.c: (gst_file_sink_render):
7607           I wonder if this could actually write +2GB files before
7608
7609 2005-10-13  Andy Wingo  <wingo@pobox.com>
7610
7611         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
7612         Fix Timmeke Waymans bug.
7613         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
7614         string of the proper length to gst_caps_from_string. There's a
7615         potential for, before this fix, that this could cause someone
7616         connecting over the network to cause a segfault if the payload is
7617         not NUL-terminated.
7618
7619 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
7620
7621         * docs/design/draft-push-pull.txt:
7622         * docs/design/part-overview.txt:
7623         * docs/random/TODO-pre-0.9:
7624         * docs/random/old/ChangeLog.gstreamer:
7625         * gst/base/gstpushsrc.c:
7626         * gst/gstclock.c:
7627           fixed typos
7628
7629 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
7630
7631         * gst/glib-compat.c: (gst_flags_get_first_value):
7632         * gst/glib-compat.h:
7633         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
7634         (gst_value_compare_double), (gst_value_serialize_flags):
7635           GLib 2.6 g_flags_get_first_value has a bug that triggers an
7636           infinite loop
7637
7638 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
7639
7640         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7641         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
7642           fix up debugging
7643         * tools/gst-launch.c: (event_loop):
7644           print out clock nicely
7645
7646 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
7647
7648         * docs/gst/gstreamer-sections.txt:
7649         * gst/gsttaglist.h:
7650         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
7651         (gst_tag_list_get_date_index):
7652           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
7653           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
7654
7655 2005-10-13  Julien MOUTTE  <julien@moutte.net>
7656
7657         * gst/base/gstcollectpads.c: (gst_collectpads_event),
7658         (gst_collectpads_chain):
7659         * gst/base/gstcollectpads.h: Handle newsegment and store informations
7660         in CollectData.
7661
7662 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
7663
7664         * docs/gst/gstreamer-sections.txt:
7665         * gst/gst.c:
7666         * gst/gsterror.h:
7667         * tools/gst-inspect.c: (main):
7668         * tools/gst-launch.c: (main):
7669         * tools/gst-run.c: (main):
7670         * tools/gst-xmlinspect.c: (main):
7671           fix GOption context leaks
7672           doc fixes
7673
7674 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
7675
7676         * gst/gstbus.c:
7677           use HAVE_UNISTD_H
7678         * win32/common/config.h:
7679           update config
7680         * win32/vs6/grammar.dsp:
7681         * win32/vs6/libgstelements.dsp:
7682         * win32/vs6/libgstreamer.dsp:
7683           update vs6 files
7684
7685 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
7686
7687         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7688         * gst/base/gstbasesrc.c: (gst_base_src_query):
7689           fix more guint64<->gdouble conversions
7690
7691 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
7692
7693         * Makefile.am:
7694           add win32-update target
7695         * win32/common/gstconfig.h:
7696         * win32/common/gstenumtypes.c:
7697         * win32/common/gstenumtypes.h:
7698         * win32/common/gstversion.h:
7699           add files that visual studio can't generate
7700
7701 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
7702
7703         * Makefile.am:
7704           add a win32-update target
7705         * configure.ac:
7706
7707 2005-10-12  Wim Taymans  <wim@fluendo.com>
7708
7709         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
7710         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
7711         * gst/gstelement.c: (gst_element_commit_state),
7712         (gst_element_set_state):
7713         Protect flags with proper lock.
7714         unref provided cached clock in dispose.
7715
7716 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
7717
7718         * gst/gst.c:
7719         * gst/gstminiobject.h:
7720         * gst/gstpad.h:
7721         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
7722           removed unused flags from miniobject
7723           doc fixes
7724
7725 2005-10-12  Wim Taymans  <wim@fluendo.com>
7726
7727         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
7728         (gst_file_sink_event), (gst_file_sink_render):
7729         Flush before seeking.
7730
7731 2005-10-12  Andy Wingo  <wingo@pobox.com>
7732
7733         * gst/gst.c (gst_init_check): Ignore unknown options, as has
7734         always been the case.
7735
7736 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
7737
7738         * check/gst/gstbin.c: (GST_START_TEST):
7739         * docs/gst/gstreamer-sections.txt:
7740         * gst/base/gstbasesink.c: (gst_base_sink_init):
7741         * gst/base/gstbasesrc.c: (gst_base_src_init),
7742         (gst_base_src_get_range), (gst_base_src_check_get_range),
7743         (gst_base_src_start), (gst_base_src_stop):
7744         * gst/base/gstbasesrc.h:
7745         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
7746         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
7747         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
7748         (bin_bus_handler):
7749         * gst/gstbin.h:
7750         * gst/gstbuffer.h:
7751         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
7752         * gst/gstbus.h:
7753         * gst/gstelement.c: (gst_element_is_locked_state),
7754         (gst_element_set_locked_state), (gst_element_commit_state),
7755         (gst_element_set_state):
7756         * gst/gstelement.h:
7757         * gst/gstindex.c: (gst_index_init):
7758         * gst/gstindex.h:
7759         * gst/gstminiobject.h:
7760         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
7761         (gst_object_set_parent):
7762         * gst/gstobject.h:
7763         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
7764         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
7765         * gst/gstpad.h:
7766         * gst/gstpadtemplate.h:
7767         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
7768         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
7769         * gst/gstpipeline.h:
7770         * gst/indexers/gstfileindex.c: (gst_file_index_load),
7771         (gst_file_index_commit):
7772         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
7773         * testsuite/pad/link.c: (gst_test_src_init),
7774         (gst_test_filter_init), (gst_test_sink_init):
7775         * testsuite/states/locked.c: (main):
7776           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
7777           moved bitshift from macro to enum definition
7778
7779 2005-10-12  Wim Taymans  <wim@fluendo.com>
7780
7781         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
7782         * gst/elements/gstfilesink.c: (gst_file_sink_event),
7783         (gst_file_sink_render):
7784         Some more debugging info.
7785
7786 2005-10-12  Wim Taymans  <wim@fluendo.com>
7787
7788         * docs/design/part-states.txt:
7789         * tools/gst-launch.c: (main):
7790         Some doc updates.
7791         Revert non-intentional change.
7792
7793 2005-10-12  Wim Taymans  <wim@fluendo.com>
7794
7795         * check/gst/gstbin.c: (GST_START_TEST):
7796         * check/gst/gstelement.c: (GST_START_TEST):
7797         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
7798         * check/gst/gstghostpad.c: (GST_START_TEST):
7799         * check/gst/gstpipeline.c: (GST_START_TEST):
7800         * check/pipelines/simple_launch_lines.c: (run_pipeline):
7801         * check/states/sinks.c: (GST_START_TEST):
7802         * gst/elements/gsttypefindelement.c: (stop_typefinding):
7803         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
7804         (gst_bin_remove_func), (gst_bin_get_state_func),
7805         (gst_bin_recalc_state), (gst_bin_change_state_func),
7806         (bin_bus_handler):
7807         * gst/gstelement.c: (gst_element_get_state_func),
7808         (gst_element_get_state), (gst_element_abort_state),
7809         (gst_element_commit_state), (gst_element_set_state),
7810         (gst_element_change_state), (gst_element_change_state_func):
7811         * gst/gstelement.h:
7812         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
7813         (gst_pipeline_provide_clock_func):
7814         * gst/gstutils.c: (gst_element_link_pads_filtered):
7815         * tools/gst-launch.c: (main):
7816         * tools/gst-typefind.c: (main):
7817         Use GstClockTime in _get_state() instead of GTimeVal.
7818         Remove old code in gstutils.c
7819
7820 2005-10-12  Andy Wingo  <wingo@pobox.com>
7821
7822         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
7823         removed.
7824
7825         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
7826         there is no task. Shouldn't affect any code, as nothing in our
7827         plugins checks this return value.
7828         (gst_pad_stop_task): Also take the stream lock if the pad has no
7829         task. Docs updated.
7830
7831 2005-10-12  Wim Taymans  <wim@fluendo.com>
7832
7833         * gst/gstpad.c: (pre_activate), (post_activate),
7834         (gst_pad_activate_pull), (gst_pad_activate_push):
7835         Cleanup activation code. Reset old state if
7836         activation failed.
7837
7838 2005-10-12  Wim Taymans  <wim@fluendo.com>
7839
7840         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7841         (gst_base_sink_change_state):
7842         No need to prerol after receiving EOS.
7843
7844         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
7845         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
7846         * gst/elements/gstidentity.c: (gst_identity_event):
7847         Print events more verbosely.
7848
7849 2005-10-12  Wim Taymans  <wim@fluendo.com>
7850
7851         * check/Makefile.am:
7852         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
7853         * check/states/sinks2.c:
7854         Moved sinks2 testcode in sinks check.
7855
7856         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
7857         (gst_bin_remove_func), (gst_bin_recalc_state),
7858         (gst_bin_change_state_func), (bin_bus_handler):
7859         Fix potential race condition when _get_state() iterated over an
7860         ASYNC element right before it posted a state completion.
7861
7862         * gst/gstclock.h:
7863         Do proper cast here.
7864
7865         * gst/gstevent.c: (gst_event_new_newsegment),
7866         (gst_event_parse_newsegment):
7867         A playback rate of 0.0 is not allowed.
7868
7869 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
7870
7871         * win32/common/config.h:
7872         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
7873         (_trewinddir), (_ttelldir), (_tseekdir):
7874         * win32/common/dirent.h:
7875         * win32/common/gtchar.h:
7876         * win32/common/libgstbase.def:
7877         * win32/common/libgstreamer.def:
7878         * win32/vs6/grammar.dsp:
7879         * win32/vs6/gst_inspect.dsp:
7880         * win32/vs6/gst_launch.dsp:
7881         * win32/vs6/gstreamer.dsw:
7882         * win32/vs6/libgstbase.dsp:
7883         * win32/vs6/libgstelements.dsp:
7884         * win32/vs6/libgstreamer.dsp:
7885           Visual Studio 6 project files, and a new common directory.
7886           Phear.
7887
7888 2005-10-11  Wim Taymans  <wim@fluendo.com>
7889
7890         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7891         (gst_base_sink_do_sync), (gst_base_sink_query),
7892         (gst_base_sink_change_state):
7893         * gst/base/gstbasesink.h:
7894         Correctly parse newsegment info.
7895
7896 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
7897
7898         * gst/gst.c: (init_post):
7899           split plugin paths correctly
7900
7901 2005-10-11  Wim Taymans  <wim@fluendo.com>
7902
7903         * check/gst/gstevent.c: (GST_START_TEST):
7904         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7905         (gst_base_sink_change_state):
7906         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
7907         * gst/base/gstbasetransform.c: (gst_base_transform_event):
7908         * gst/elements/gstfilesink.c: (gst_file_sink_event):
7909         * gst/gstevent.c: (gst_event_new_newsegment),
7910         (gst_event_parse_newsegment):
7911         * gst/gstevent.h:
7912         Added extra flag to newsegment for future API freeze.
7913         Updated check and base elements.
7914
7915 2005-10-11  Julien MOUTTE  <julien@moutte.net>
7916
7917         * gst/base/gstcollectpads.c: (gst_collectpads_init),
7918         (gst_collectpads_add_pad), (gst_collectpads_pop),
7919         (gst_collectpads_event), (gst_collectpads_chain):
7920         * gst/base/gstcollectpads.h: Handle EOS correctly.
7921
7922 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
7923
7924         * tools/gst-launch.c: (main):
7925           more null protecting
7926
7927 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
7928
7929         * gst/gst-i18n-lib.h:
7930           check for ENABLE_NLS, not GETTEXT_PACKAGE
7931         * gst/gstregistry.c: (gst_registry_add_plugin),
7932         (gst_registry_scan_path_level),
7933         (_gst_registry_remove_cache_plugins):
7934           protect possibly NULL strings
7935         * gst/parse/types.h:
7936           config.h already included before
7937         * tools/gst-inspect.c: (main):
7938           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
7939           check for ENABLE_NLS, not GETTEXT_PACKAGE
7940         * tools/gst-launch.c: (main):
7941           check for ENABLE_NLS, not GETTEXT_PACKAGE
7942
7943 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
7944
7945         * configure.ac:
7946           if we don't have glib, fail before testing 2.8
7947         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
7948           fix a leak, should fix plugins-base testsuite
7949
7950 2005-10-11  Andy Wingo  <wingo@pobox.com>
7951
7952         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
7953         take the mode we're going to as an arg. Go head and set the mode
7954         and flushing flags now, so that if the activate function starts a
7955         thread all the flags will be in the right state.
7956         (post_activate): Renamed also. Just handle making sure streaming
7957         finishes for the deactivation case, and setting the deactivated
7958         mode.
7959         (gst_pad_set_active): Complain loudly if deactivation fails.
7960         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
7961         (gst_pad_activate_push): Adapt to pre/post_activate changes,
7962         remove the terrible hack.
7963
7964 2005-10-11  Wim Taymans  <wim@fluendo.com>
7965
7966         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
7967         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
7968         (gst_bin_recalc_state), (gst_bin_change_state_func),
7969         (gst_bin_dispose), (bin_bus_handler):
7970         * gst/gstbin.h:
7971         Prepare to make current EOS message queue more generic.
7972         Fix some typos.
7973
7974         * gst/gstevent.c: (gst_event_new_newsegment),
7975         (gst_event_parse_newsegment):
7976         * gst/gstevent.h:
7977         Rename base to stream_time.
7978
7979         * gst/gstmessage.h:
7980         Fix typo in docs.
7981
7982 2005-10-11  Wim Taymans  <wim@fluendo.com>
7983
7984         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
7985         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
7986         (gst_bin_change_state_func), (bin_bus_handler):
7987         * gst/gstbin.h:
7988         Work on proper clock selection.
7989
7990 2005-10-11  Edward Hervey  <edward@fluendo.com>
7991
7992         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
7993         * libs/gst/controller/gstcontroller.h:
7994         Added GList* version of _remove_properties() in order to be able to wrap
7995         it in bindings.
7996
7997 2005-10-11  Wim Taymans  <wim@fluendo.com>
7998
7999         * docs/design/part-states.txt:
8000         Some more docs.
8001
8002         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
8003         (gst_bin_change_state_func), (bin_bus_handler):
8004         Doc updates. Don't distribute the same clock over and over again.
8005
8006         * gst/gstclock.c:
8007         * gst/gstclock.h:
8008         Doc updates.
8009
8010         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
8011         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
8012         (gst_pad_send_event):
8013         * gst/gstpad.h:
8014         Make probe emission threadsafe again.
8015         Register quarks and move _get_name() from utils.
8016         Doc updates.
8017
8018         * gst/gstpipeline.c: (gst_pipeline_class_init),
8019         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
8020         Only redistribute the clock of it changed.
8021
8022         * gst/gstsystemclock.h:
8023         Doc updates. 
8024
8025         * gst/gstutils.c:
8026         * gst/gstutils.h:
8027         Moved the _flow_get_name() to GstPad.
8028
8029 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8030
8031         * check/gst-libs/gdp.c: (GST_START_TEST):
8032         * check/gst/gstcaps.c: (GST_START_TEST):
8033         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
8034         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
8035         (gst_dp_packet_from_caps):
8036           fix more valgrind warnings before turning up the heat
8037
8038 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8039
8040         * gst/parse/grammar.y:
8041           some cleanup before the hacking
8042
8043 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8044
8045         * gst/base/gstbasesrc.c: (gst_base_src_query):
8046           use conversions
8047         * gst/gstutils.c: (gst_guint64_to_gdouble),
8048         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
8049         * gst/gstutils.h:
8050           externalize, basesrc uses it
8051           obviously the implementation needs testing
8052
8053 2005-10-10  Wim Taymans  <wim@fluendo.com>
8054
8055         * tests/sched/Makefile.am:
8056         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
8057         (make_pipeline3), (make_pipeline4), (print_elem), (main):
8058
8059 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8060
8061         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
8062           apparently converting from guint64 to double is not implemented
8063           on MSVC
8064
8065 2005-10-10  Wim Taymans  <wim@fluendo.com>
8066
8067         * check/Makefile.am:
8068         * check/generic/states.c: (GST_START_TEST):
8069         * check/gst/gstbin.c: (GST_START_TEST):
8070         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
8071         * check/states/sinks.c: (GST_START_TEST):
8072         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
8073         (main):
8074         Check fixes, use API as stated in design docs, remove hacks.
8075
8076         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8077         (gst_base_sink_change_state):
8078         Catch stopping our task while we're shutting down.
8079
8080         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
8081         (gst_bin_remove_func), (gst_bin_get_state_func),
8082         (gst_bin_recalc_state), (gst_bin_change_state_func),
8083         (bin_bus_handler):
8084         * gst/gstbin.h:
8085         * gst/gstelement.c: (gst_element_init),
8086         (gst_element_get_state_func), (gst_element_abort_state),
8087         (gst_element_commit_state), (gst_element_lost_state),
8088         (gst_element_set_state), (gst_element_change_state),
8089         (gst_element_change_state_func):
8090         * gst/gstelement.h:
8091         New state change algorithm (see #318116)
8092
8093         * gst/gstpipeline.c: (gst_pipeline_class_init),
8094         (gst_pipeline_init), (gst_pipeline_set_property),
8095         (gst_pipeline_get_property), (do_pipeline_seek),
8096         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
8097         * gst/gstpipeline.h:
8098         Remove crude state change hacks.
8099
8100         * gst/gstutils.h:
8101         Remove crude hacks.
8102
8103         * tools/gst-launch.c: (main):
8104         Fixes for state change. Needs some more work to fully use the
8105         new stuff.
8106
8107 2005-10-10  Andy Wingo  <wingo@pobox.com>
8108
8109         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
8110
8111         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
8112         this flag, but it's not even in GLib 2.6. Odd. Hack around the
8113         issue.
8114
8115 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
8116
8117         * gst/gstiterator.c: (gst_iterator_new):
8118           Fix my previous commit: GTypes passed to gst_iterator_new()
8119           can be fundamental types.
8120
8121 2005-10-10  Wim Taymans  <wim@fluendo.com>
8122
8123         * gst/gstelement.c: (gst_element_iterate_pad_list),
8124         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
8125         (gst_element_iterate_sink_pads):
8126         Use src/sink pads lists for the respective iterators instead
8127         of filtering.
8128
8129 2005-10-10  Andy Wingo  <wingo@pobox.com>
8130
8131         Merged in popt removal + GOption addition patch from Ronald, bug
8132         #169772.
8133
8134         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
8135         GstElement macros around, remove popt-related symbols, add goption
8136         stuff.
8137
8138         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
8139         
8140         * docs/gst/Makefile.am:
8141         * docs/libs/Makefile.am: No POPT_CFLAGS.
8142         
8143         * examples/manual/Makefile.am:
8144         * docs/manual/basics-init.xml: Doc updates with an example.
8145         
8146         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
8147         (gst_init), (parse_one_option), (parse_goption_arg):
8148         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
8149         bit of hand merging and debugging to get the GOption stuff working
8150         tho.
8151         
8152         * tests/Makefile.am:
8153         * tools/Makefile.am:
8154         * tools/gst-inspect.c: (main):
8155         * tools/gst-launch.c: (main):
8156         * tools/gst-run.c: (main):
8157         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
8158
8159 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
8160
8161         * gst/gstiterator.c: (gst_iterator_new):
8162           Add assertions to make sure passed GType is likely to really
8163           be a GType (as the compiler won't catch it if the size and
8164           GType arguments get mixed up, see #318447).
8165
8166 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
8167
8168         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
8169
8170         * gst/gstbin.c: (gst_bin_iterate_sorted):
8171           Pass GType and size arguments to gst_iterator_new() in the right
8172           order (maybe we should make _new() take the GType as first argument
8173           just like _new_list()?) (#318447).
8174           
8175
8176 2005-10-10  Wim Taymans  <wim@fluendo.com>
8177
8178         * gst/gstelement.c: (gst_element_finalize):
8179         And free the GStaticRecMutex too
8180
8181 2005-10-10  Andy Wingo  <wingo@pobox.com>
8182
8183         * gst/gstelement.c (gst_element_init, gst_element_finalize):
8184         Allocate and free the mutex properly.
8185
8186         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
8187         New macros.
8188         (GstElement): The state_lock is now recursive. Rebuild your
8189         plugins, suckers. Old macros adapted.
8190
8191         * docs/gst/gstreamer-sections.txt: Doc updates.
8192
8193         * gst/gstutils.h:
8194         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
8195         (g_static_rec_cond_wait): Ported from state changes patch, while
8196         we wait on bug #317802 to be solved in a well-distributed GLib.
8197
8198         * gst/gstelement.c (gst_element_change_state_func): Renamed from
8199         gst_element_change_state, variable name changes.
8200         (gst_element_change_state): Split out of gst_element_set_state in
8201         preparation for the state change merge. Doesn't pay attention to
8202         the 'transition' argument.
8203         (gst_element_set_state): Updates, hopefully purely cosmetic.
8204         (gst_element_sync_state_with_parent): MT-safety. Ported from the
8205         state change patch.
8206         (gst_element_get_state_func): Renamed from get_state, cosmetic
8207         changes.
8208
8209 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8210
8211         * gst/elements/gstelements.c:
8212         * win32/GStreamer.vcproj:
8213         * win32/config.h:
8214         * win32/dirent.c: (_tseekdir):
8215         * win32/gst-inspect.vcproj:
8216         * win32/gst-launch.vcproj:
8217         * win32/gstconfig.h:
8218         * win32/gstelements.vcproj:
8219         * win32/gstenumtypes.c: (gst_object_flags_get_type):
8220         * win32/gstreamer.def:
8221         * win32/msvc71.sln:
8222           updates for the win32 build (patch from Sebastien Moutte)
8223
8224 2005-10-10  Andy Wingo  <wingo@pobox.com>
8225
8226         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
8227         gst_bin_get_state, cleaned up (but no logic changes).
8228         (bin_element_is_sink): Comment updates.
8229         (sink_iterator_filter): Remove needless cast.
8230         (gst_bin_iterate_sinks): Doc update.
8231         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
8232         cleaned up (but no logic changes).
8233
8234         * check/states/sinks.c (test_src_sink): Cleanups from the state
8235         change patch.
8236         (test_livesrc_sink): Sync on the state.
8237
8238         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
8239         the state change patch.
8240
8241         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
8242         change patch.
8243
8244         * check/gst/gstbin.c: Merge in some style fixes and additional
8245         checks from Wim's state change patch.
8246
8247 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
8248
8249         * gst/base/gsttypefindhelper.c: (helper_find_peek),
8250         (gst_type_find_helper):
8251           Check whether we have the requested data already in our list of
8252           cached buffers before pulling a new buffer; also make the buffer
8253           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
8254
8255 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8256
8257         * gst/gstcaps.c:
8258         * gst/gstevent.c:
8259           doc updates
8260         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
8261           don't use long long, it's not portable.  Replacing with
8262           gint64 seems to work; let's hope no skeletons fall out of the closet.
8263
8264 2005-10-10  Andy Wingo  <wingo@pobox.com>
8265
8266         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
8267
8268 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
8269
8270         * docs/gst/gstreamer-sections.txt:
8271         * gst/gstevent.c:
8272         * gst/gstevent.h:
8273         * gst/gstinfo.c:
8274         * gst/gstinfo.h:
8275         * gst/gstmessage.c: (gst_message_parse_state_changed):
8276         * gst/gstpad.c:
8277         * gst/gstpad.h:
8278           more docs, fix compilation
8279
8280 2005-10-09  Philippe Khalaf <burger@speedy.org>
8281         * gst/gstmessage.c:
8282           Fixed a few forgotten variables on previous commit
8283
8284 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
8285
8286         * gst/base/gsttypefindhelper.c: (helper_find_peek):
8287           Fix evil typefind crasher: getrange() might return a short
8288           buffer at the end of a file, but gst_type_find_peek() must
8289           either return the full data as requested or NULL, but
8290           never a short buffer.
8291
8292 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
8293
8294         * gst/gstmessage.c: (gst_message_new_state_changed),
8295         (gst_message_parse_state_changed):
8296         * gst/gstmessage.h:
8297           don't use "new", it's a C++ keyword
8298
8299 2005-10-08  Wim Taymans  <wim@fluendo.com>
8300
8301         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
8302         * gst/gstelement.c: (gst_element_post_message):
8303         * gst/gstpipeline.c: (gst_pipeline_change_state):
8304         Small docs and debug updates.
8305
8306 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
8307
8308         * docs/gst/gstreamer-sections.txt:
8309         * gst/gstelementfactory.c:
8310         * gst/gstevent.c:
8311         * gst/gsttaglist.c:
8312           more docs
8313
8314 2005-10-08  Wim Taymans  <wim@fluendo.com>
8315
8316         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
8317         (gst_bin_dispose), (bin_bus_handler):
8318         Fix typos, add comments.
8319         Clear EOS list when going to PAUSED from any direction and do it
8320         in a threadsafe way.
8321         Get base time in a threadsafe way too.
8322         Fix confusing debug in the change_state function.
8323         Various other small cleanups.
8324         
8325         * gst/gstelement.c: (gst_element_post_message):
8326         Fix very verbose bus posting code.
8327
8328         * gst/gstpipeline.c: (gst_pipeline_class_init),
8329         (gst_pipeline_set_property), (gst_pipeline_get_property),
8330         (gst_pipeline_change_state):
8331         Small ARG_ -> PROP_ cleanup
8332
8333 2005-10-08  Wim Taymans  <wim@fluendo.com>
8334
8335         * gst/gstbin.c: (is_eos), (bin_bus_handler):
8336         Do a less CPU demanding EOS check because we can.
8337
8338 2005-10-08  Wim Taymans  <wim@fluendo.com>
8339
8340         * libs/gst/dataprotocol/dataprotocol.c:
8341         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
8342         (gst_dp_packet_from_event):
8343         * libs/gst/dataprotocol/dataprotocol.h:
8344         * libs/gst/dataprotocol/dp-private.h:
8345         It's about time we bump the version number.
8346         Since event types don't fit in the guint8 anymore describing
8347         the payload type, make payload type 16 bits wide.
8348
8349 2005-10-08  Wim Taymans  <wim@fluendo.com>
8350
8351         * docs/design/part-TODO.txt:
8352         * docs/design/part-clocks.txt:
8353         * docs/design/part-events.txt:
8354         * docs/design/part-gstbin.txt:
8355         * docs/design/part-gstelement.txt:
8356         * docs/design/part-gstpipeline.txt:
8357         * docs/design/part-live-source.txt:
8358         * docs/design/part-messages.txt:
8359         * docs/design/part-overview.txt:
8360         * docs/design/part-states.txt:
8361         Many doc updates.
8362
8363 2005-10-08  Wim Taymans  <wim@fluendo.com>
8364
8365         * gst/gstevent.c:
8366         * gst/gstevent.h:
8367         Fix event quark registration.
8368         Add some space between events so we can insert them in the
8369         right groups.
8370
8371 2005-10-08  Wim Taymans  <wim@fluendo.com>
8372
8373         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8374         (gst_base_sink_handle_buffer):
8375         Better log message.
8376
8377         * gst/gstbus.h:
8378         * gst/gstelement.h:
8379         More docs.
8380
8381         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
8382         (gst_queue_set_property), (gst_queue_get_property):
8383         * gst/gstqueue.h:
8384         Remove old unused properties.
8385
8386 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
8387         * docs/gst/gstreamer-sections.txt:
8388         * gst/gstmessage.c:
8389         * gst/gstmessage.h:
8390         * gst/gstminiobject.c:
8391         * gst/gstminiobject.h:
8392         * gst/gstobject.h:
8393         * gst/gstpad.h:
8394         * gst/gstutils.h:
8395           lots of new docs and doc fixes
8396
8397 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
8398
8399         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
8400         * gst/gstplugin.h:
8401         * gst/gstregistry.c: (gst_registry_lookup_locked),
8402         (gst_registry_scan_path_level):
8403         * gst/gstregistryxml.c: (load_plugin):
8404           Only ever load one plugin for a given plugin basename.
8405           This ensures correct overriding of GST_PLUGIN_PATH over
8406           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
8407           system installed plugins.
8408
8409 2005-10-08  Wim Taymans  <wim@fluendo.com>
8410
8411         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8412         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
8413         Prepare for doing QOS.
8414
8415 2005-10-08  Wim Taymans  <wim@fluendo.com>
8416
8417         * check/gst/gstbin.c: (GST_START_TEST):
8418         * check/pipelines/cleanup.c: (GST_START_TEST):
8419         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
8420         Allow new clock message too.
8421
8422 2005-10-08  Wim Taymans  <wim@fluendo.com>
8423
8424         * gst/gstmessage.c: (gst_message_new_error),
8425         (gst_message_new_warning), (gst_message_new_tag),
8426         (gst_message_new_state_changed), (gst_message_new_clock_provide),
8427         (gst_message_new_clock_lost), (gst_message_new_new_clock),
8428         (gst_message_new_segment_start), (gst_message_new_segment_done),
8429         (gst_message_parse_state_changed),
8430         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
8431         (gst_message_parse_new_clock):
8432         * gst/gstmessage.h:
8433         Also carry the clock in question.
8434
8435 2005-10-08  Wim Taymans  <wim@fluendo.com>
8436
8437         * gst/gstmessage.c: (gst_message_new_custom),
8438         (gst_message_new_eos), (gst_message_new_error),
8439         (gst_message_new_warning), (gst_message_new_tag),
8440         (gst_message_new_state_changed), (gst_message_new_clock_provide),
8441         (gst_message_new_new_clock), (gst_message_new_segment_start),
8442         (gst_message_new_segment_done), (gst_message_parse_state_changed),
8443         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
8444         * gst/gstmessage.h:
8445         Clean up.
8446         Added clock related messages.
8447
8448         * gst/gstpipeline.c: (gst_pipeline_change_state):
8449         Post message when the clock changed.
8450
8451         * tools/gst-launch.c: (event_loop):
8452         Print new clock.
8453
8454 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
8455
8456         * tools/gst-inspect.c: (print_element_properties_info):
8457           Can't pass NULL strings to g_print() on windows.
8458
8459 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
8460
8461         * docs/Makefile.am:
8462         * docs/gst/Makefile.am:
8463         * docs/gst/gstreamer-docs.sgml:
8464         * docs/gst/running.xml:
8465         * docs/version.entities.in:
8466           add a chapter on running GStreamer.
8467           document GST_DEBUG and GST_PLUGIN* env vars
8468
8469 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
8470
8471         * Makefile.am:
8472           remove include dir
8473         * configure.ac:
8474           remove PLUGINS_BUILDDIR stuff
8475         * gst/gst.c: (init_post):
8476           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
8477         * idiottest.mak:
8478           remove, it was condescending and not needed
8479
8480 2005-10-08  Wim Taymans  <wim@fluendo.com>
8481
8482         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
8483         (gst_base_sink_handle_object), (gst_base_sink_event),
8484         (gst_base_sink_wait), (gst_base_sink_handle_event),
8485         (gst_base_sink_change_state):
8486         * gst/base/gstbasesink.h:
8487         Repost EOS message while going to PLAYING if still EOS.
8488         Make sure that when receiving a FLUSH_START we don't attempt
8489         to sync on the clock anymore.
8490
8491 2005-10-08  Wim Taymans  <wim@fluendo.com>
8492
8493         * tools/gst-launch.c: (event_loop):
8494         Better message printout.
8495
8496 2005-10-08  Wim Taymans  <wim@fluendo.com>
8497
8498         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
8499         (gst_bin_child_proxy_get_children_count):
8500         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
8501         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
8502         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
8503         (gst_child_proxy_set_valist):
8504         * gst/parse/grammar.y:
8505         Make ChildProxy threadsafe and fix mem leaks.
8506
8507 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
8508
8509         * gst/gst.c: (init_post):
8510           debug the GST_PLUGIN_ env vars
8511
8512 2005-10-08  Wim Taymans  <wim@fluendo.com>
8513
8514         * check/gst/gstbin.c: (GST_START_TEST):
8515         * check/gst/gstmessage.c: (GST_START_TEST):
8516         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
8517         * gst/gstelement.c: (gst_element_commit_state),
8518         (gst_element_lost_state):
8519         * gst/gstmessage.c: (gst_message_new_state_changed),
8520         (gst_message_parse_state_changed):
8521         * gst/gstmessage.h:
8522         * tools/gst-launch.c: (event_loop):
8523         Added extra field to STATE_CHANGE message with the pending
8524         state, which will be different from the new state soon.
8525
8526 2005-10-08  Wim Taymans  <wim@fluendo.com>
8527
8528         * gst/gstbus.c: (gst_bus_pop):
8529         * gst/gstclock.c:
8530         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
8531         Small cleanups and doc updates.
8532
8533 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
8534
8535         * gst/gst.c: (init_pre):
8536         * gst/gstbin.c: (gst_bin_add_func):
8537           log distributing clocks and base time
8538         * gst/gstregistry.c: (gst_registry_add_plugin),
8539         (gst_registry_scan_path_level), (gst_registry_scan_path):
8540           clean up the debugging output a little
8541         * gst/gstutils.c: (gst_element_state_get_name):
8542           warn about a memleak (I've actually seen this be used, though
8543           it was probably a bug)
8544
8545 2005-10-07  Wim Taymans  <wim@fluendo.com>
8546
8547         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
8548         (gst_base_src_init), (gst_base_src_default_newsegment),
8549         (gst_base_src_newsegment), (gst_base_src_do_seek),
8550         (gst_base_src_loop), (gst_base_src_start):
8551         * gst/base/gstbasesrc.h:
8552         Make the newsegment event customizable by subclasses.
8553
8554 2005-10-07  Wim Taymans  <wim@fluendo.com>
8555
8556         * gst/gstevent.c: (gst_event_new_buffersize),
8557         (gst_event_parse_buffersize):
8558         * gst/gstevent.h:
8559         New event for future idea.
8560
8561 2005-10-07  Andy Wingo  <wingo@pobox.com>
8562
8563         * gst/gstelement.c (gst_element_post_message): Doc update.
8564
8565         * docs/gst/gstreamer-sections.txt: Update.
8566
8567         * gst/gstmessage.c (gst_message_new_application): Made into a
8568         function like honest API calls.
8569         (gst_message_new_element): New message type.
8570
8571         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
8572
8573         * check/elements/fakesrc.c (test_no_preroll): New check, checks
8574         that setting a live fakesrc to PAUSED returns NO_PREROLL both
8575         times.
8576
8577         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
8578         NO_PREROLL from gst_element_change_state to fall through.
8579
8580 2005-10-07  Wim Taymans  <wim@fluendo.com>
8581
8582         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
8583         (gst_ghost_pad_do_activate_push):
8584         Activating a ghostpad with no internal pad in push mode
8585         is ok.
8586
8587 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
8588
8589         * gst/gstobject.h:
8590           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
8591           Fixes compilation on Windows.
8592
8593 2005-10-07  Michael Smith <msmith@fluendo.com>
8594
8595         * tools/gst-inspect.c:
8596           Print out feature and plugin count at the end when printing out
8597           all features.
8598
8599 2005-10-04  Michael Smith <msmith@fluendo.com>
8600
8601         * gst/gsterror.c: (_gst_stream_errors_init):
8602           Add another error string used in a few existing plugins.
8603
8604         * gst/gstplugin.c:
8605         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
8606         * tools/gst-inspect.c: (print_element_info):
8607           When a feature disappears from a plugin (and the feature exists in
8608           the cached registry file), things went horribly wrong. This isn't a
8609           complete fix, we should actually be removing the 'missing' features
8610           from the features list when we load the actual plugin. That's not
8611           yet implemented. 
8612
8613 2005-10-04  Johan Dahlin  <johan@gnome.org>
8614
8615         * check/gst/gstiterator.c: (GST_START_TEST):
8616         * gst/gstbin.c: (gst_bin_iterate_elements),
8617         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
8618         * gst/gstelement.c: (gst_element_iterate_pads):
8619         * gst/gstformat.c: (gst_format_iterate_definitions):
8620         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
8621         (gst_iterator_new_list), (gst_iterator_filter):
8622         * gst/gstiterator.h:
8623         * gst/gstquery.c: (gst_query_type_iterate_definitions):
8624         Add a GType to GstIterator, update callsites and tests.
8625
8626 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8627
8628         * gst/gstpad.c: (gst_pad_event_default_dispatch):
8629           give events a chance to be handled by event probes when the pad
8630           is not linked
8631
8632 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8633
8634         * gst/gstevent.c: (gst_event_type_get_name),
8635         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
8636         * gst/gstevent.h:
8637           add string representations for event types
8638
8639 2005-10-06  Wim Taymans  <wim@fluendo.com>
8640
8641         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
8642         Don't use NULL pointers.
8643
8644 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8645
8646         * gst/gst_private.h:
8647         * gst/gstbus.c:
8648         * gst/gstelement.c:
8649         * gst/gstinfo.c:
8650         * gst/gstpluginfeature.c:
8651           widen the debug category in output to fit the biggest one we have
8652           add a bus category and use it
8653           play with the colors
8654           fix up some categories
8655
8656 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8657
8658         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
8659           add push activation of sink ghost pads.
8660           Andye, please verify
8661
8662 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
8663
8664         * gst/gstutils.c: (gst_element_link_pads):
8665           fix a bug in the case where neither element has a pad
8666         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
8667           add a test for that case
8668
8669 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
8670
8671         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
8672           emit have-data before checking for peers.  This allows
8673           for probe handlers to connect elements.  This helps autopluggers.
8674         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
8675         (gst_pad_suite):
8676           add six checks, linked/unlinked with no/true/false probe
8677
8678 2005-10-04  Wim Taymans  <wim@fluendo.com>
8679
8680         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
8681         (gst_fake_sink_event), (gst_fake_sink_preroll),
8682         (gst_fake_sink_render), (gst_fake_sink_change_state):
8683         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
8684         (gst_fake_src_get_property), (gst_fake_src_create),
8685         (gst_fake_src_stop):
8686         * gst/elements/gstidentity.c: (gst_identity_stop):
8687         Protect last_message with lock.
8688
8689 2005-10-04  Edward Hervey  <edward@fluendo.com>
8690
8691         * gst/gstformat.h: 
8692         Added precision in the comments for GST_FORMAT_DEFAULT
8693
8694 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
8695
8696         * tools/gst-launch.c: (main):
8697           Don't try to run erroneous pipelines.
8698
8699 2005-10-04  Julien MOUTTE  <julien@moutte.net>
8700
8701         * gst/gstbus.c: We don't need this header.
8702
8703 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
8704
8705         * configure.ac:
8706           back to development
8707
8708 === release 0.9.3 ===
8709
8710 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
8711
8712         * README:
8713         * configure.ac:
8714           Releasing 0.9.3, "Unregistered"
8715
8716 2005-10-03  Andy Wingo  <wingo@pobox.com>
8717
8718         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
8719         whereby calling a pad's activatepush() function can start a thread
8720         that starts to push or pull before the pad gets the FLUSHING flag
8721         unset. Hack around it by holding the stream lock until the flag is
8722         set. Need to replace this with a proper solution. Together with
8723         the ghost pad fixes, this fixes mp3 playing/tagreading.
8724
8725         * docs/design/part-gstghostpad.txt: Add a note about activation of
8726         proxy pads outside of ghost pads.
8727
8728         * gst/gstghostpad.c: Implement the ghost pad activation design.
8729
8730 2005-10-02  Andy Wingo  <wingo@pobox.com>
8731
8732         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
8733         It is volatile, after all.
8734
8735         * docs/design/part-gstghostpad.txt: Flesh out activation with
8736         ghost pads.
8737
8738         * gst/base/gstbasesrc.c (gst_base_src_init): Use
8739         GST_DEBUG_FUNCPTR.
8740
8741 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
8742
8743         * configure.ac:
8744           Fix (unused) AM_CONDITIONAL tests.
8745
8746 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
8747
8748         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
8749
8750         * gst/gstutils.c: (gst_pad_query_convert):
8751           Add assertion that makes sure src_val is >=0, just like
8752           gst_query_new_convert() has. (#315895)
8753
8754 2005-09-30  Edward Hervey  <edward@fluendo.com>
8755
8756         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
8757         Let's not iterate pads we're not interested in, it avoids getting 
8758         sky-high refcounts on sinkpad.
8759
8760 2005-09-30  Wim Taymans  <wim@fluendo.com>
8761
8762         * gst/gstelement.c: (gst_element_set_state),
8763         (gst_element_change_state):
8764         Small tweak, element in ASYNC remains ASYNC.
8765
8766 2005-09-30  Wim Taymans  <wim@fluendo.com>
8767
8768         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
8769         Only error is an error.
8770
8771         * gst/gstbin.c: (gst_bin_change_state):
8772         Better debugging.
8773
8774         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
8775         Also call pad_block in pad alloc.
8776
8777         * gst/gstutils.c: (gst_flow_get_name):
8778         Better debugging.
8779
8780 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
8781
8782         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
8783         (gst_base_src_get_range):
8784           Fix documentation typos. Add some more debug info.
8785
8786 2005-09-29  David Schleef  <ds@schleef.org>
8787
8788         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
8789           more end-user friendly.
8790         * tools/gst-inspect.c: (main): Check if command-line argument is
8791           a file and attempt to load that file as a plugin.
8792
8793 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
8794
8795         * check/gst/gstbin.c:
8796         * check/states/sinks.c:
8797           fix tests for the new warning
8798         * check/gst/gstpipeline.c:
8799           add a test for pipeline and bus interaction
8800         * gst/gstelement.c:
8801           elements should be NULL if they get disposed; add a warning if not
8802
8803 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
8804
8805         * gst/gstobject.c:
8806           for 2.6 refcounting, make debug log more correct by printing
8807           the actual refcounts at the time of swap (Wim)
8808
8809 2005-09-29  Andy Wingo  <wingo@pobox.com>
8810
8811         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
8812         removes signal watches previously added via
8813         gst_bus_add_signal_watch.
8814         (gst_bus_add_signal_watch): Don't return the source id, just store
8815         it on the bus if there wasn't an id already.
8816
8817         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
8818         add_signal_watch and remove_signal_watch.
8819
8820 2005-09-29  Edward Hervey  <edward@fluendo.com>
8821
8822         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
8823         Better if we actually iterate the list :)
8824
8825 2005-09-29  Wim Taymans  <wim@fluendo.com>
8826
8827         * check/gst/gstbin.c: (GST_START_TEST):
8828         Change for new bus API.
8829
8830         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
8831         (send_messages), (GST_START_TEST), (gstbus_suite):
8832         Change for new bus signal API.
8833
8834         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
8835         (gst_bus_source_prepare), (gst_bus_source_check),
8836         (gst_bus_create_watch), (gst_bus_add_watch_full),
8837         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
8838         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
8839         * gst/gstbus.h:
8840         Remove support for multiple GSources operating on different
8841         message types as it is too complex and unneeded when using
8842         signals.
8843         Added support for receiving signals from the bus.
8844
8845 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
8846
8847         * docs/libs/tmpl/gstdataprotocol.sgml:
8848         * docs/manual/advanced-dataaccess.xml:
8849         * gst/elements/gstcapsfilter.c:
8850         * gst/gstutils.c:
8851           rename filter-caps to caps property
8852
8853 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
8854
8855         * gst/gstvalue.c: (gst_value_deserialize_fraction):
8856           More robust fraction string parsing.
8857
8858         * docs/pwg/appendix-porting.xml:
8859           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
8860
8861 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
8862
8863         * gst/gstcaps.c: (gst_caps_do_simplify):
8864           Thou shalt not free a structure and then continue using it
8865           in the next loop iteration.
8866
8867         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
8868         (gst_caps_suite):
8869           Add test case for caps simplification.
8870
8871 2005-09-29  Wim Taymans  <wim@fluendo.com>
8872
8873         * check/gst/gstbin.c: (GST_START_TEST):
8874         Oops.
8875
8876 2005-09-29  Wim Taymans  <wim@fluendo.com>
8877
8878         * check/gst/gstbin.c: (GST_START_TEST):
8879         Add bus to bin.
8880
8881         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
8882         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
8883         (find_element), (gst_bin_sort_iterator_next),
8884         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
8885         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
8886         (gst_bin_change_state), (gst_bin_dispose):
8887         A bin does not have a bus, it gets the bus from the parent.
8888
8889         * gst/gstelement.c: (gst_element_requires_clock),
8890         (gst_element_provides_clock), (gst_element_is_indexable),
8891         (gst_element_is_locked_state), (gst_element_change_state),
8892         (gst_element_set_bus_func):
8893         Small cleanups.
8894
8895         * gst/gstpipeline.c: (gst_pipeline_class_init),
8896         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
8897         The pipeline provides a bus.
8898
8899 2005-09-28  Johan Dahlin  <johan@gnome.org>
8900
8901         * gst/gstmessage.c (gst_message_parse_state_changed): Use
8902         gst_structure_get_enum instead of gst_structure_get_int
8903
8904         * gst/gststructure.c (gst_structure_get_enum): Impl.
8905
8906         * gst/gststructure.h (gst_structure_get_enum): Add
8907
8908         * docs/gst/gstreamer-sections.txt: Ditto
8909
8910         * gst/gstmessage.c (gst_message_new_state_changed): Use
8911         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
8912         which does introspection.
8913         Reviewed by Christian Schaller
8914
8915 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
8916
8917         * gst/gstinfo.c: (gst_debug_log_default):
8918           don't do dummy g_strdup()s
8919         * libs/gst/controller/gstcontroller.c:
8920         (on_object_controlled_property_changed),
8921         (gst_controlled_property_new), (gst_controller_new_valist),
8922         (gst_controller_new_list),
8923         (gst_controller_remove_properties_valist), (gst_controller_set),
8924         (gst_controller_get), (gst_controller_sync_values),
8925         (gst_controller_get_value_array), (_gst_controller_class_init),
8926         (gst_controller_get_type):
8927         * libs/gst/controller/gstcontroller.h:
8928         * libs/gst/controller/gstinterpolation.c:
8929         (gst_controlled_property_find_timed_value_node):
8930           convert // to /**/ comments
8931
8932 2005-09-28  Wim Taymans  <wim@fluendo.com>
8933
8934         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
8935         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
8936         (gst_bus_sync_signal_handler):
8937         * gst/gstbus.h:
8938         Added async-message and sync-message signals to the bus.
8939         Added helper BusFunc to emit signals for all posted messages.
8940
8941         * gst/gstmessage.c: (gst_message_type_get_name),
8942         (gst_message_type_to_quark), (gst_message_get_type):
8943         * gst/gstmessage.h:
8944         Register quarks for message names.
8945
8946 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
8947
8948         * docs/libs/gstreamer-libs-sections.txt:
8949         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
8950         (gst_controller_new_list):
8951         * libs/gst/controller/gstcontroller.h:
8952           added another constructor for language bindings
8953
8954 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
8955
8956         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
8957           add another check
8958         * gst/gstbus.c:
8959           add some doc
8960         * gst/gstinfo.c: (_gst_debug_init):
8961           slightly more readable color for refcount debugging
8962
8963 2005-09-28  Wim Taymans  <wim@fluendo.com>
8964
8965         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
8966         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
8967         (find_element), (gst_bin_sort_iterator_next),
8968         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
8969         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
8970         (gst_bin_change_state), (gst_bin_dispose):
8971         Small doc fixes. get_clock -> provide_clock.
8972
8973         * gst/gstelement.c: (gst_element_class_init),
8974         (gst_element_provides_clock), (gst_element_provide_clock),
8975         (gst_element_get_clock), (gst_element_commit_state),
8976         (gst_element_lost_state):
8977         * gst/gstelement.h:
8978         Make get/set_clock() symetric. Add provide_clock vmethod since
8979         that is actually what this function does.
8980
8981         * gst/gstpipeline.c: (gst_pipeline_class_init),
8982         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
8983         (gst_pipeline_get_clock):
8984         get_clock -> provide_clock.
8985
8986 2005-09-28  Andy Wingo  <wingo@pobox.com>
8987
8988         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
8989         lieu of real docs...
8990
8991         * gst/elements/gstfdsrc.c: Cleaned up a bit.
8992
8993 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
8994
8995         * gst/elements/gstcapsfilter.c:
8996         * gst/elements/gstfakesink.c:
8997         * gst/elements/gstfakesrc.c:
8998         * gst/elements/gstfdsink.c:
8999         * gst/elements/gstfdsrc.c:
9000         * gst/elements/gstfilesink.c:
9001         * gst/elements/gstfilesrc.c:
9002         * gst/elements/gstidentity.c:
9003         * gst/elements/gsttee.c:
9004         * gst/elements/gsttypefindelement.c:
9005           Make element details static.
9006
9007 2005-09-28  Wim Taymans  <wim@fluendo.com>
9008
9009         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
9010         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
9011         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
9012         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
9013         (gst_bin_change_state), (gst_bin_dispose):
9014         Some documentation updates.
9015         Clean up dispose handlers.
9016
9017         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
9018         * gst/gstpad.c: (gst_pad_dispose):
9019         Clean up dispose handler.
9020
9021         * gst/gstpipeline.c: (gst_pipeline_change_state):
9022         Removed spurious UNLOCK.
9023
9024 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
9025
9026         * docs/gst/gstreamer-sections.txt:
9027         * gst/base/gstbasesrc.h:
9028         * gst/gstelement.h:
9029         * gst/gstevent.h:
9030         * gst/gstobject.h:
9031         * gst/gstpad.h:
9032         * gst/gstpipeline.c:
9033         * gst/gstpipeline.h:
9034         * gst/gstutils.h:
9035         * gst/gstxml.h:
9036           added two new functions to the docs
9037                 documents all undocumented GstXXXFlags
9038                 completed some incomplete docs 
9039
9040 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
9041
9042         * gst/gstbin.c: (gst_bin_dispose):
9043         * gst/gstelement.c: (gst_element_dispose):
9044           remove now useless and leaky resurrection code in dispose
9045         * gst/base/gstbasesrc.c: (gst_base_src_init):
9046         * gst/gstelementfactory.c: (gst_element_factory_create):
9047         * gst/gstobject.c: (gst_object_set_parent):
9048           add some debugging
9049
9050 2005-09-27  Wim Taymans  <wim@fluendo.com>
9051
9052         * docs/design/part-TODO.txt:
9053         Update TODO.
9054
9055         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
9056         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
9057         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
9058         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
9059         (gst_bin_change_state):
9060         * gst/gstelement.h:
9061         Remove element variable, we keep element info in the iterator now.
9062
9063 2005-09-27  Andy Wingo  <wingo@pobox.com>
9064
9065         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
9066         values.
9067
9068 2005-09-27  Wim Taymans  <wim@fluendo.com>
9069
9070         * check/gst/gstbin.c: (GST_START_TEST):
9071         Enable check that works now.
9072
9073         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
9074         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
9075         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
9076         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
9077         (gst_bin_change_state):
9078         * gst/gstbin.h:
9079         Redid the state change algorithm using a topological sort algo.
9080         Handles all cases correctly.
9081         Exposed iterator for state change order.
9082
9083         * gst/gstelement.h:
9084         Temp storage for state changes. Need to get rid of this soon.
9085
9086 2005-09-27  Wim Taymans  <wim@fluendo.com>
9087
9088         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
9089         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
9090         (link_fold_func), (gst_pad_proxy_setcaps):
9091         Leak fixes, the fold functions need to unref the passed object and
9092         _get_parent_*() returns ref to parent.
9093
9094 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
9095
9096         * check/gst/gstbuffer.c: (test_make_writable):
9097           Plug leak in test case and fix 'make check-valgrind'
9098
9099 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
9100
9101         * gst/gstbuffer.c: (gst_subbuffer_init):
9102           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
9103           works correctly in all circumstances (we could have just copied
9104           the parent buffer's readonly flag, but conceptually it seems
9105           cleaner to mark all subbuffers as read-only). (based on patch
9106           by Alessandro Decina, #314710).
9107         
9108         * check/gst/gstbuffer.c: (create_read_only_buffer),
9109         (test_make_writable), (test_subbuffer_make_writable),
9110         (gst_test_suite):
9111           Add some tests for gst_buffer_make_writable().
9112
9113 2005-09-27  Wim Taymans  <wim@fluendo.com>
9114
9115         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
9116         use gst_object_has_ancestor().
9117
9118         * gst/gstobject.c: (gst_object_has_ancestor):
9119         * gst/gstobject.h:
9120         gst_object_has_ancestor() copied from gstbin.c as it is a
9121         usefull function.
9122
9123         * tests/instantiate/create.c: (create_all_elements):
9124         * tests/lat.c: (handoff_src), (handoff_sink):
9125         * tests/sched/runxml.c: (main):
9126         * tests/seeking/seeking1.c: (main):
9127         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
9128         (main):
9129         Fix compilation of some tests.
9130
9131 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
9132
9133         * gst/gsterror.h:
9134           Remove comment. GST_TYPE_G_ERROR is here to stay,
9135           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
9136           (#316961, #300610).
9137
9138 2005-09-26  Wim Taymans  <wim@fluendo.com>
9139
9140         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
9141         Added check that shows error in state change order.
9142
9143 2005-09-26  Wim Taymans  <wim@fluendo.com>
9144
9145         * gst/gstbin.c: (gst_bin_change_state):
9146         Make state change function use 3 queues again, we were
9147         adding elements in the wrong order.
9148
9149         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
9150         Some debug info,
9151
9152         * gst/gstpad.c: (gst_pad_dispose):
9153         Added some debug info first.
9154
9155 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
9156
9157         * docs/design/draft-push-pull.txt:
9158         * docs/design/part-events.txt:
9159         * docs/design/part-overview.txt:
9160         * docs/design/part-scheduling.txt:
9161           Replace all _pull_region() with _pull_range()
9162           
9163 2005-09-26  Andy Wingo  <wingo@pobox.com>
9164
9165         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
9166
9167         * check/gst-libs/controller.c: Update for controller api change.
9168
9169         * configure.ac: 
9170         * tests/Makefile.am:
9171         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
9172         over by GLib bug 118439.
9173         
9174         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
9175         routines to a function.
9176
9177         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
9178
9179         * libs/gst/controller/gsthelper.c:
9180         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
9181         (gst_object_sync_values): Renamed from sink_values. Ugh.
9182
9183         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
9184
9185         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
9186         Renamed from controller_key, as it is exported.
9187
9188         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
9189
9190 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
9191
9192         * gst/Makefile.am:
9193         * gst/gst.h:
9194         * gst/gstpad.h:
9195         * gst/gstpadtemplate.h:
9196         * gst/gstquery.c:
9197         * gst/gstquery.h:
9198         * gst/gstqueryutils.c:
9199         * gst/gstqueryutils.h:
9200           remove queryutils headers after moving the two used functions
9201           to gstquery.  also fixes build problem for gstsiddec
9202
9203 2005-09-26  Michael Smith <msmith@fluendo.com>
9204
9205         * tools/gst-launch.1.in:
9206         Correct documentation in manpage of debug syntax
9207
9208 2005-09-26  Wim Taymans  <wim@fluendo.com>
9209
9210         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
9211         (gst_base_src_is_seekable), (gst_base_src_change_state):
9212         Some more debugging info.
9213
9214 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
9215
9216         * docs/gst/gstreamer-sections.txt:
9217         * gst/base/gstbasetransform.h:
9218         * gst/gstindex.h:
9219           added more docs
9220
9221 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
9222
9223         * docs/gst/.cvsignore:
9224         * docs/gst/tmpl/.cvsignore:
9225         * docs/gst/tmpl/gstpipeline.sgml:
9226         * docs/gst/tmpl/gstplugin.sgml:
9227         * gst/gstpipeline.c:
9228         * gst/gstplugin.c:
9229         * gst/gstplugin.h:
9230           inlined the last two docs files
9231           removed the tmpl directory from cvs (no more conflicts here!)
9232
9233 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
9234
9235         * docs/gst/gstreamer-sections.txt:
9236         * docs/gst/tmpl/.cvsignore:
9237         * docs/gst/tmpl/gstpad.sgml:
9238         * docs/gst/tmpl/gstpadtemplate.sgml:
9239         * gst/Makefile.am:
9240         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
9241         (gst_pad_finalize), (gst_pad_set_pad_template):
9242         * gst/gstpad.h:
9243         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
9244         (gst_pad_template_class_init), (gst_pad_template_init),
9245         (gst_pad_template_dispose), (name_is_valid),
9246         (gst_static_pad_template_get), (gst_pad_template_new),
9247         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
9248         (gst_pad_template_pad_created):
9249         * gst/gstpadtemplate.h:
9250           inlined two more docs
9251           factored gstpadtemplate out of gstpad
9252
9253 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
9254
9255         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
9256         (test_children_state_change_order_semi_sink):
9257           Fix test case: we can't rely on a fixed state change order when
9258           going from READY => PAUSED because the sink might commit its 
9259           new state first when the first buffer created by the source 
9260           reaches the sink before the source has finished its change state.
9261           (Test case still fails at times, see #316856, comment 5 onwards)
9262
9263 2005-09-24  Wim Taymans  <wim@fluendo.com>
9264
9265         * docs/design/part-events.txt:
9266         * docs/design/part-gstbus.txt:
9267         * docs/design/part-gstpipeline.txt:
9268         * docs/design/part-messages.txt:
9269         * docs/design/part-overview.txt:
9270         * docs/design/part-segments.txt:
9271         * gst/gstbin.c:
9272         * gst/gstbuffer.c:
9273         * gst/gstclock.c:
9274         * gst/gstelement.c:
9275         * gst/gstevent.c:
9276         * gst/gstfilter.c:
9277         * gst/gstiterator.c:
9278         Various documentation updates.
9279
9280 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
9281
9282         * gst/gstclock.h:
9283           Well, that's embarassing.  Luckily we weren't using
9284           GST_CLOCK_DIFF anywhere.
9285
9286 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
9287
9288         * common/gtk-doc.mak:
9289           don't fail on building XML, FC4 slave shows a bunch of doc
9290           missing bits that I don't get
9291         * gst/gstpad.c:
9292         * gst/gstpipeline.c:
9293         * gst/gststructure.c:
9294           some doc updates
9295
9296 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
9297
9298         * docs/design/part-gstbin.txt:
9299         * docs/design/part-gstbus.txt:
9300         * gst/gstbus.c:
9301           Add blurb about how the bus goes into flushing mode and
9302           drops all messages when its bin goes from READY into NULL 
9303           state.
9304
9305 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
9306
9307         * docs/gst/gstreamer-sections.txt:
9308         * gst/gststructure.c: (gst_structure_get_clock_time):
9309         * gst/gststructure.h:
9310           add a method to get a GstClockTime out of a structure
9311
9312 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
9313
9314         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
9315         (test_children_state_change_order_semi_sink), (gst_bin_suite):
9316           Added test to check state change order in bins (can still be made
9317           to fail here under heavy disk load; bails out with 'Push on pad
9318           fakesink:sink0, but it was not activated in push mode').
9319
9320         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
9321           Fix state change order when there is only a semi sink (#316856)
9322
9323         * gst/gstbus.c: (gst_bus_class_init):
9324           Use _class_peek_parent(), not _class_ref(); fix docs to say
9325           'default main context' instead of 'mainloop' where that is
9326           what's meant.
9327
9328         * gst/gstelement.c: (gst_element_commit_state),
9329         (gst_element_set_state):
9330           Fix typos in debug messages
9331
9332 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
9333
9334         * docs/README:
9335         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
9336         * gst/gstpluginfeature.c:
9337         * gst/gstutils.c:
9338           various doc updates
9339         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
9340           change an assert into an error until it gets fixed properly
9341
9342 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
9343
9344         * docs/gst/gstreamer-sections.txt:
9345         * docs/gst/tmpl/.cvsignore:
9346         * docs/gst/tmpl/gstelement.sgml:
9347         * docs/gst/tmpl/gstinfo.sgml:
9348         * docs/gst/tmpl/gstobject.sgml:
9349         * gst/gstelement.c:
9350         * gst/gstelement.h:
9351         * gst/gstinfo.c:
9352         * gst/gstinfo.h:
9353         * gst/gstobject.c: (gst_object_class_init):
9354         * gst/gstobject.h:
9355           inlined 3 more biiiig doc files and added some missing docs on the fly
9356
9357 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
9358
9359         * check/gst/.cvsignore:
9360         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
9361         * gst/gstregistryxml.c: (load_plugin),
9362         (gst_registry_xml_save_plugin):
9363           put back source in registry.  add checks for find_plugin.
9364         * testsuite/states/bin.c: (assert_state), (empty_bin),
9365         (test_adding_one_element), (main):
9366         * testsuite/states/locked.c: (main):
9367           some compile/run fixes
9368
9369 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
9370
9371         * check/gst/gstvalue.c: (GST_START_TEST):
9372           fix leaks in the test itself
9373
9374 2005-09-22  Wim Taymans  <wim@fluendo.com>
9375
9376         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
9377         (gst_base_sink_send_event), (gst_base_sink_peer_query),
9378         (gst_base_sink_query):
9379         Prepare for more accurate position reporting and query
9380         handling.
9381
9382         * gst/gstelement.c: (gst_element_send_event),
9383         (gst_element_set_state):
9384         Add some comment.
9385
9386 2005-09-22  Wim Taymans  <wim@fluendo.com>
9387
9388         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
9389         (gst_query_parse_segment):
9390         * gst/gstquery.h:
9391         More documentation.
9392         Add segment query for future use.
9393
9394 2005-09-22  Wim Taymans  <wim@fluendo.com>
9395
9396         * gst/gstbin.c: (gst_bin_add_func):
9397         Some more debug info.
9398
9399         * gst/gstelement.c: (gst_element_send_event):
9400         Simplify send_event
9401
9402         * gst/gstelement.h:
9403         Don't know how flags got broken.
9404
9405         * gst/gstquery.h:
9406         Added new query.
9407
9408 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
9409
9410         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
9411           Add simplistic test suite for GST_TYPE_DATE serialisation and
9412           deserialisation.
9413
9414 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
9415
9416         * docs/gst/gstreamer-sections.txt:
9417         * gst/gststructure.c: (gst_structure_set_valist),
9418         (gst_structure_get_date):
9419         * gst/gststructure.h:
9420         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
9421         (gst_date_copy), (gst_value_compare_date),
9422         (gst_value_serialize_date), (gst_value_deserialize_date),
9423         (gst_value_transform_date_string),
9424         (gst_value_transform_string_date), (_gst_value_initialize):
9425         * gst/gstvalue.h:
9426           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
9427           bunch of utility functions along with a hack that checks that
9428           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
9429           is required. Part of the grand scheme in #170777.
9430
9431 2005-09-22  Andy Wingo  <wingo@pobox.com>
9432
9433         * gst/gstconfig.h.in: Psych out gtk-doc.
9434
9435         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
9436
9437         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
9438
9439         * tools/gst-inspect.c (print_element_list): Plug some
9440         inconsequential leaks.
9441
9442         * gst/gstregistry.c (gst_registry_get_default): Doc.
9443
9444         * check/gst/gstplugin.c: 
9445         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
9446         * gst/gstelementfactory.c (gst_element_factory_create): 
9447         * gst/gstindexfactory.c (gst_index_factory_create): Update for
9448         refcount changes.
9449
9450         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
9451         (gst_plugin_feature_load): Doc, don't eat refs.
9452
9453         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
9454         (gst_plugin_list_free): Doc.
9455         (gst_plugin_load_file): Doc updates.
9456
9457         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
9458         accessors returning refcounted objects, return a ref.
9459
9460         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
9461         accessor for caps. IDEMPOTENCE. Oh yes.
9462
9463 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
9464
9465         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
9466
9467         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
9468         (_gst_debug_register_funcptr):
9469           Add mutex to serialise access to the hash table with
9470           the function pointer => function name string mapping;
9471           make that hash table static scope (#316809).
9472
9473         * gst/registries/.cvsignore:
9474           Remove left-over file.
9475
9476 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
9477
9478         * docs/pwg/appendix-porting.xml:
9479           And something about newsegment events and caps-on-buffers to
9480           the porting guide (feel free to improve).
9481
9482 2005-09-21  Andy Wingo  <wingo@pobox.com>
9483
9484         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
9485         data and event probes on the same pad.
9486         (test_buffer_probe_once): Test that removing probes from within
9487         the probe functions works.
9488
9489 2005-09-21  Andy Wingo  <wingo@pobox.com>
9490
9491         * check/gst/gstutils.c: New file.
9492         (test_buffer_probe_n_times): A simple buffer probe test. More to
9493         come, foolios.
9494
9495         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
9496         have-data::buffer, not have-data.
9497         (gst_pad_add_event_probe): Likewise for have-data::event.
9498         (gst_pad_add_data_probe): More docs. The part about 'resolving the
9499         peer' isn't quite right yet though.
9500         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
9501         (gst_pad_remove_data_probe): Change to take the guint handler_id
9502         as their arg, not the function+data, which is more glib-like.
9503
9504         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
9505         the signal emission to indicate if the data is a buffer or an
9506         event.
9507         (gst_pad_get_type): Initialize buffer and event quarks.
9508         (gst_pad_class_init): have-data is now a detailed signal, yes it
9509         is.
9510
9511 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
9512
9513         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
9514         * gst/gstutils.c: (gst_util_set_value_from_string),
9515         (gst_util_set_object_arg):
9516           Don't put functional code in g_return_if_fail() or
9517           g_return_val_if_fail() statements, otherwise things will 
9518           break when G_DISABLE_CHECKS is defined during compilation.
9519
9520 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
9521
9522         * docs/gst/tmpl/.cvsignore:
9523         * docs/gst/tmpl/gstvalue.sgml:
9524         * gst/gstvalue.c:
9525         * gst/gstvalue.h:
9526           inlied another one and added  some obvious docs
9527
9528 2005-09-21  Wim Taymans  <wim@fluendo.com>
9529
9530         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
9531         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
9532         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
9533         (gst_fdsrc_get_property), (gst_fdsrc_create):
9534         * gst/elements/gstfdsrc.h:
9535         Properly implement fdsrc. Removed signal and timeout,
9536         better implemented somewhere else.
9537
9538 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
9539
9540         * docs/gst/tmpl/.cvsignore:
9541         * docs/gst/tmpl/gstimplementsinterface.sgml:
9542         * gst/gstinterface.c:
9543           inlined more docs
9544
9545 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
9546
9547         * docs/gst/gstreamer-sections.txt:
9548         * docs/gst/tmpl/.cvsignore:
9549         * docs/gst/tmpl/gstenumtypes.sgml:
9550           remove obsolete doc file
9551
9552 2005-09-21  David Schleef  <ds@schleef.org>
9553
9554         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
9555         little beer, fix a little leak.
9556
9557 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
9558
9559         * docs/gst/gstreamer-docs.sgml:
9560         * docs/gst/gstreamer-sections.txt:
9561         * docs/gst/tmpl/.cvsignore:
9562         * gst/Makefile.am:
9563         * gst/gst.h:
9564         * gst/gstbin.c:
9565         * gst/gstelement.h:
9566         * gst/gstindex.c: (gst_index_class_init):
9567         * gst/gstindex.h:
9568         * gst/gstindexfactory.c: (gst_index_factory_get_type),
9569         (gst_index_factory_class_init), (gst_index_factory_init),
9570         (gst_index_factory_finalize), (gst_index_factory_new),
9571         (gst_index_factory_destroy), (gst_index_factory_find),
9572         (gst_index_factory_create), (gst_index_factory_make):
9573         * gst/gstindexfactory.h:
9574         * gst/gstpluginfeature.c:
9575         * gst/gstpluginfeature.h:
9576         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
9577           more docs inlined, splitted gstindex.{c,h}
9578
9579 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9580
9581         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
9582           fix a leak
9583
9584 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
9585
9586         * gst/elements/gstfilesink.c: (gst_file_sink_init):
9587           Set sync to FALSE by default.
9588
9589 2005-09-20  Wim Taymans  <wim@fluendo.com>
9590
9591         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
9592         (gst_base_sink_init):
9593         Make sync property settable from subclass.
9594
9595         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
9596         (gst_fake_sink_change_state):
9597         Set sync to FALSE by default.
9598
9599 2005-09-20  Wim Taymans  <wim@fluendo.com>
9600
9601         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
9602         * tools/gst-launch.c: (main):
9603         The timeout handler should have lower priority than the source
9604         so we don't timeout before popping a message with 0 timeout.
9605         Dump error messages after failed state change.
9606
9607 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
9608
9609         * tools/gst-inspect.c: (print_element_properties_info):
9610           Fix two typos.
9611
9612 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9613
9614         * check/gst/gstevent.c:
9615         * gst/elements/gstfakesink.c:
9616         * gst/elements/gstfakesink.h:
9617           remove the sync property from fakesink.
9618           has the side effect of setting sync TRUE
9619           for fakesink, which is a change.  Anyone who knows how
9620           to fix this nicely in a GObject-y way, feel free.
9621
9622 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
9623
9624         * docs/gst/gstreamer-docs.sgml:
9625           remove probe refsection
9626
9627 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
9628
9629         * check/Makefile.am:
9630           disable valgrinding the controller test again
9631         * docs/gst/gstreamer-sections.txt:
9632           update for api-changes
9633
9634 2005-09-20  Wim Taymans  <wim@fluendo.com>
9635
9636         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
9637         (gst_base_sink_set_property), (gst_base_sink_get_property),
9638         (gst_base_sink_do_sync):
9639         * gst/base/gstbasesink.h:
9640         Added sync property to basesink to disable clock sync.
9641
9642 2005-09-20  Andy Wingo  <wingo@pobox.com>
9643
9644         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
9645         eating the caller's refcount.
9646
9647         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
9648         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
9649         refcount.
9650
9651         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
9652         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
9653         of GLib 2.8 public, so we can know which refcount to check in
9654         tests.
9655
9656         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
9657         (gst_object_init): Only set the gst refcount if we're going ahead
9658         with the refcount hack.
9659
9660 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
9661
9662         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
9663         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
9664           more leaks plumbed, added more debug-logging
9665         * gst/gstmacros.h:
9666           whitespace fix
9667
9668 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9669
9670         * gst/gstmessage.c:
9671           remove include of gstmemchunk.h
9672
9673 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9674
9675         * gst/gstclock.c: (_gst_clock_id_free):
9676           Commit from the Political Party For More Atomic CVS Commits,
9677           so that people don't waste too much of their day fishing
9678           out obvious leaks out of massive commits.
9679           Oh, and fix a pretty damn obvious leak in the memchunk
9680           removal code.
9681
9682 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
9683
9684         * check/Makefile.am:
9685         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
9686           plug mem-leak, re-add to valgrindable tests
9687
9688 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9689
9690         * gst/gstplugin.h:
9691           unbreak the build for those who have chronic arthritis
9692           and typing "make check" is just too taxing on the hands
9693
9694 2005-09-20  Andy Wingo  <wingo@pobox.com>
9695
9696         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
9697         really want it out, you should fix plugins at the same time.
9698
9699 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
9700
9701         * configure.ac:
9702         * docs/gst/gstreamer-sections.txt:
9703         * gst/gstobject.c:
9704           added missing symbols to api docs
9705           disable ref-count hack if we have glib >= 2.8
9706
9707 2005-09-19  David Schleef  <ds@schleef.org>
9708
9709         * docs/gst/Makefile.am: Ignore a few more internal headers
9710         * docs/gst/gstreamer-docs.sgml: Remove old sections
9711         * docs/gst/gstreamer-sections.txt: Remove old sections
9712         * docs/gst/tmpl/gstobject.sgml: update
9713         * docs/gst/tmpl/gstplugin.sgml: update
9714         * docs/gst/tmpl/gstpluginfeature.sgml: update
9715         * docs/random/ds/0.9-suggested-changes: update.
9716         * gst/Makefile.am: remove memchunk and trashstack, since they're
9717           not used.
9718         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
9719         * gst/gst.h: don't include some headers
9720         * gst/gstchildproxy.c: add gstmarshal.h
9721         * gst/gstclock.c: Don't use memchunks
9722         * gst/gstminiobject.c: Add some docs
9723         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
9724         * gst/gstobject.h: same
9725         * gst/gstplugin.c: include gstmacros.h
9726         * gst/gstplugin.h: don't include gstmacros.h, since it's private
9727         * gst/gstquery.c: don't use memchunks
9728         * gst/gstregistry.c: rename gst_registry_deinit()
9729         * gst/gstregistry.h: same
9730
9731 2005-09-19  David Schleef  <ds@schleef.org>
9732
9733         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
9734         * docs/libs/gstreamer-libs-sections.txt:
9735         * docs/libs/tmpl/gstgetbits.sgml:
9736         * docs/libs/tmpl/gstputbits.sgml:
9737
9738 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
9739
9740         * win32/gstenumtypes.c:
9741         * win32/gstenumtypes.h:
9742           Update.
9743
9744 2005-09-19  Wim Taymans  <wim@fluendo.com>
9745
9746         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
9747         Automatically PAUSE and RESUME a pipeline when a flushing seek
9748         is performed.
9749
9750 2005-09-19  Andy Wingo  <wingo@pobox.com>
9751
9752         * gst/gstregistry.h: Spacing fixen.
9753
9754 2005-09-19  Wim Taymans  <wim@fluendo.com>
9755
9756         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
9757         Handle state change failure more correctly.
9758
9759 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9760
9761         * check/Makefile.am:
9762         * check/pipelines/cleanup.c: (run_pipeline):
9763         * check/pipelines/simple_launch_lines.c: (run_pipeline),
9764         (GST_START_TEST):
9765           enable cleanup again after fixing the leak
9766         * docs/README:
9767           some more info on docs
9768
9769 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9770
9771         * check/Makefile.am:
9772           re-enable tests now that leaks are plugged
9773         * check/gst/gst.c:
9774         * check/gst/gstbin.c:
9775         * check/gst/gstpipeline.c:
9776           add some more tests while fixing leaks
9777         * common/check.mak:
9778           make sure binaries are uptodate when valgrinding/gdbing
9779         * gst/gst.c:
9780         * gst/gstelementfactory.c:
9781           remove a ref too many, and add a FIXME for when we get
9782           round to disposing of classes
9783         * gst/gstplugin.c:
9784           fix the refcounting when loading a plugin from a file and
9785           the code pretends that the pointer is the same even though
9786           of course it can change
9787         * gst/gstpluginfeature.c:
9788           unref plugins marked cached (a bit confusing as a name)
9789           as the docs state should be done
9790           various doc additions to explain refcounting
9791         * gst/gstregistry.c:
9792         * gst/gstregistryxml.c:
9793           debugging
9794
9795 2005-09-19  Wim Taymans  <wim@fluendo.com>
9796
9797         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
9798         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
9799         (send_messages), (GST_START_TEST), (gstbus_suite):
9800         * check/gst/gstpipeline.c: (GST_START_TEST):
9801         * check/pipelines/cleanup.c: (run_pipeline):
9802         * check/pipelines/simple_launch_lines.c: (run_pipeline),
9803         (GST_START_TEST):
9804         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
9805         (gst_bus_source_check), (gst_bus_source_dispatch),
9806         (gst_bus_create_watch), (gst_bus_add_watch_full),
9807         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
9808         * gst/gstbus.h:
9809         * tools/gst-launch.c: (event_loop):
9810         * tools/gst-md5sum.c: (event_loop):
9811         GstBusHandler -> GstBusFunc, return value has the same meaning as
9812         any other GSource (FALSE == remove source).
9813         _add_watch() and _add_watch_full() now take a MessageType mask to
9814         only handle specific types of messages.
9815         _poll() returns the GstMessage instead of the message type to avoid
9816         race conditions.
9817         _have_pending() takes a MessageType mask now too.
9818         Added testsuite for multiple bus watches.
9819         Fix testsuites and applications for new bus API.
9820
9821 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9822
9823         * check/Makefile.am:
9824           mark a bunch of the tests as to fix until we fix them
9825
9826 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
9827
9828         * common/check.mak:
9829           use GST_PLUGIN settings for valgrind tests as well, so we're
9830           valgrinding the correct thing
9831         * gst/gst.c: (init_post):
9832           plug another leak
9833
9834 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
9835
9836         * gst/gst.c: (init_post), (gst_deinit):
9837         * gst/gstelementfactory.c: (gst_element_factory_class_init),
9838         (gst_element_factory_finalize), (gst_element_factory_cleanup):
9839         * gst/gstindex.c: (gst_index_factory_class_init),
9840         (gst_index_factory_finalize):
9841         * gst/gstobject.c: (gst_object_dispose):
9842         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
9843         (gst_plugin_load_file), (gst_plugin_desc_free):
9844         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
9845         (gst_plugin_feature_finalize):
9846         * gst/gstregistry.c: (gst_registry_class_init),
9847         (gst_registry_init), (gst_registry_finalize),
9848         (gst_registry_get_default), (gst_registry_deinit):
9849         * gst/gstregistry.h:
9850         * gst/gstregistryxml.c: (load_feature), (load_plugin):
9851           various cleanups and memleak plugging.  make valgrind is happy now.
9852
9853 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
9854
9855         * common/check.mak:
9856           add a check-valgrind target
9857
9858 2005-09-18  David Schleef  <ds@schleef.org>
9859
9860         * tools/gst-inspect.c: Revert the GOption code.
9861
9862 2005-09-17  David Schleef  <ds@schleef.org>
9863
9864         * check/Makefile.am: Fix environment variables.
9865         * check/gst/gstplugin.c: Fix for API changes.
9866         * tools/gst-inspect.c: Fix for API changes.
9867         * tools/gst-xmlinspect.c: Fix for API changes.
9868         * gst/gstelementfactory.c:
9869         * gst/gstplugin.c:
9870         * gst/gstplugin.h:
9871         * gst/gstpluginfeature.c:
9872         * gst/gstpluginfeature.h:
9873         * gst/gstregistry.c:
9874         * gst/gstregistry.h:
9875         * gst/gstregistryxml.c:
9876         * gst/gsttypefind.c:
9877         * gst/gsttypefindfactory.c:
9878         * gst/indexers/gstfileindex.c:
9879         * gst/indexers/gstmemindex.c:
9880         * gst/schedulers/Makefile.am:
9881           Change registry to keep track of both plugins and features,
9882           removing the feature tracking from plugins themselves.
9883
9884 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
9885
9886         * check/Makefile.am:
9887         * tools/gst-register.1.in:
9888           remove gst-register
9889
9890 2005-09-15  David Schleef  <ds@schleef.org>
9891
9892         * check/gst/gstplugin.c:
9893         * gst/gstelementfactory.c:
9894         * gst/gstplugin.c:
9895         * gst/gstpluginfeature.c:
9896         * gst/gstregistry.c:
9897           Getting tired of debugging.  Disabled all the unreffing of
9898           plugins and features, which fixes the segfaults, but of
9899           course leaks like crazy.  At least playbin works.
9900
9901 2005-09-15  David Schleef  <ds@schleef.org>
9902
9903         * check/gst/gstplugin.c: (register_check_elements),
9904         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
9905         More testing
9906         * gst/elements/gsttypefindelement.c: Fix refcounting.
9907         * gst/gsttypefind.c:
9908         * gst/gsttypefindfactory.c:
9909         * gst/gsttypefindfactory.h:
9910
9911 2005-09-15  David Schleef  <ds@schleef.org>
9912
9913         * gst/gstindex.c: get refcounting correct.
9914         * gst/gstregistry.c: Handle the case where a feature/plugin is
9915           not found.
9916
9917 2005-09-15  David Schleef  <ds@schleef.org>
9918
9919         * check/Makefile.am:
9920         * check/gst/gstplugin.c: Add test
9921         * gst/gstplugin.c: Fix problems noticed by testsuite
9922         * gst/gstplugin.h:
9923         * gst/gstregistry.c: 
9924         * gst/gstregistry.h:
9925
9926 2005-09-15  David Schleef  <ds@schleef.org>
9927
9928         * gst/gstplugin.c: Implement semi-decent recounting and locking
9929           in plugins and plugin features.
9930         * gst/gstplugin.h:
9931         * gst/gstpluginfeature.c:
9932         * gst/gstpluginfeature.h:
9933         * gst/gstregistry.c:
9934
9935 2005-09-15  Michael Smith <msmith@fluendo.com>
9936
9937         * gst/gstregistry.c: (gst_registry_get_feature_list):
9938           Implement this. Makes oggdemux work; decodebin still broken.
9939
9940 2005-09-14  David Schleef  <ds@schleef.org>
9941
9942         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
9943           #316076)
9944         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
9945         * gst/check/Makefile.am:
9946         * libs/gst/controller/Makefile.am:
9947         * libs/gst/dataprotocol/Makefile.am:
9948
9949 2005-09-14  David Schleef  <ds@schleef.org>
9950
9951         * configure.ac: Remove getbits library.  Nothing uses it, and
9952           it should be in something like liboil if someone did want
9953           to use it.
9954         * libs/gst/Makefile.am:
9955         * libs/gst/getbits/Makefile.am:
9956         * libs/gst/getbits/gbtest.c:
9957         * libs/gst/getbits/getbits.c:
9958         * libs/gst/getbits/getbits.h:
9959         * libs/gst/getbits/gstgetbits_generic.c:
9960         * libs/gst/getbits/gstgetbits_i386.s:
9961         * libs/gst/getbits/gstgetbits_inl.h:
9962
9963 2005-09-14  David Schleef  <ds@schleef.org>
9964
9965         * gst/Makefile.am: Dist glib-compat.h
9966
9967 2005-09-14  David Schleef  <ds@schleef.org>
9968
9969         * configure.ac: Remove gst/registries, since it's no longer used.
9970         * gst/registries/Makefile.am:
9971         * gst/registries/gstlibxmlregistry.c:
9972         * gst/registries/gstlibxmlregistry.h:
9973         * gst/registries/gstxmlregistry.c:
9974         * gst/registries/gstxmlregistry.h:
9975         * gst/registries/registrytest.c:
9976
9977 2005-09-14  David Schleef  <ds@schleef.org>
9978
9979         * gst/glib-compat.h:
9980         * gst/gstregistryxml.c:
9981           Convergence is near.  Seriously.
9982
9983 2005-09-14  David Schleef  <ds@schleef.org>
9984
9985         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
9986         * gst/glib-compat.h:
9987           Attempt #4 to appease the buildbots.
9988
9989 2005-09-14  David Schleef  <ds@schleef.org>
9990
9991         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
9992           Attempt #3.
9993
9994 2005-09-14  David Schleef  <ds@schleef.org>
9995
9996         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
9997         Attempt #2.
9998
9999 2005-09-14  David Schleef  <ds@schleef.org>
10000
10001         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
10002           the new functions.
10003
10004 2005-09-14  David Schleef  <ds@schleef.org>
10005
10006         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
10007         * gst/glib-compat.h: Add some functions that are in newer versions
10008           of glib than we care to require.
10009         * gst/gstregistryxml.c: Use them.
10010
10011 2005-09-14  David Schleef  <ds@schleef.org>
10012
10013         * po/POTFILES.in: remove gst-register.c
10014
10015 2005-09-14  David Schleef  <ds@schleef.org>
10016
10017         * docs/gst/gstreamer-docs.sgml:
10018         * docs/gst/gstreamer-sections.txt:
10019         * docs/gst/gstreamer.types:
10020         * docs/gst/tmpl/gstelement.sgml:
10021         * docs/gst/tmpl/gstplugin.sgml:
10022         * docs/gst/tmpl/gstpluginfeature.sgml:
10023           Documentation updates for registry changes.
10024
10025 2005-09-14  David Schleef  <ds@schleef.org>
10026
10027         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
10028           because we don't require glib-2.8.
10029
10030 2005-09-14  David Schleef  <ds@schleef.org>
10031
10032         * gst/gstregistryxml.c: Added.  Essentially moved out of the
10033           registries directory.
10034
10035 2005-09-14  David Schleef  <ds@schleef.org>
10036
10037         * check/Makefile.am:
10038         * check/generic/states.c:
10039         * gst/Makefile.am:
10040         * gst/gst.c:
10041         * gst/gst.h:
10042         * gst/gst_private.h:
10043         * gst/gstelementfactory.c:
10044         * gst/gstindex.c:
10045         * gst/gstinfo.c:
10046         * gst/gstplugin.c:
10047         * gst/gstplugin.h:
10048         * gst/gstpluginfeature.c:
10049         * gst/gstpluginfeature.h:
10050         * gst/gstregistry.c:
10051         * gst/gstregistry.h:
10052         * gst/gstregistrypool.c: remove
10053         * gst/gstregistrypool.h: remove
10054         * gst/gsttypefind.c:
10055         * gst/gsttypefindfactory.c:
10056         * gst/gsturi.c:
10057         * tools/Makefile.am:
10058         * tools/gst-compprep.c:
10059         * tools/gst-inspect.c:
10060         * tools/gst-register.c: remove
10061         * tools/gst-xmlinspect.c:
10062           Registry rewrite.  Changes registry from being a file created
10063           by a tool into a simple cache file created automatically by 
10064           libgstreamer.  Removed gst-register (because it's no longer
10065           needed).  Remove registry pools, because we only have one
10066           registry implementation (XML).  Fix up other subsystems as
10067           necessary.
10068
10069 2005-09-13  Michael Smith <msmith@fluendo.com>
10070
10071         * gst/gstconfig.h.in:
10072           Don't Use windows linking attributes for MinGW. Fixes #316157
10073
10074 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
10075
10076         * gst/gstutils.c: (set_state_async_thread_func),
10077         (gst_element_set_state_async):
10078           Apparently people think it's better if this function doesn't
10079           try to set the state to whatever state was asked for on the first
10080           call to this function for any object.  Seriously.
10081
10082 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
10083
10084         * check/gst/gstpipeline.c: (GST_START_TEST):
10085         * docs/gst/gstreamer-sections.txt:
10086         * gst/gstutils.c: (set_state_async_thread_func),
10087         (gst_element_set_state_async):
10088         * gst/gstutils.h:
10089           add a "gst_element_set_state_async" method that
10090           sets the state and starts a thread to make sure the state
10091           change completes as best as it can
10092
10093 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
10094
10095         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
10096           codify design+behaviour in testsuite after discussion
10097
10098 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
10099
10100         * docs/gst/tmpl/gstelement.sgml:
10101         * docs/manual/appendix-quotes.xml:
10102           add a quote
10103         * gst/gstelement.c: (gst_element_set_state):
10104           add some debug
10105
10106 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
10107
10108         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
10109         (gst_base_transform_prepare_output_buf),
10110         (gst_base_transform_handle_buffer):
10111         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
10112         (gst_capsfilter_prepare_buf):
10113           Remove the requirement for sub-classes to call the parent
10114           implementation of prepare_output_buffer with a wrapper function.
10115           
10116         * gst/gsttaglist.h:
10117         * gst/gsttagsetter.h:
10118           Fix #define wrapper
10119
10120 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
10121
10122         * docs/gst/gstreamer-sections.txt:
10123           more doc cleanups
10124
10125 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
10126
10127         * docs/gst/gstreamer-sections.txt:
10128         * docs/gst/tmpl/gstelement.sgml:
10129         * docs/gst/tmpl/gstplugin.sgml:
10130         * gst/gstminiobject.c:
10131         * gst/gstvalue.h:
10132           docs now stop throwing warnings
10133
10134 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
10135
10136         * docs/gst/gstreamer-sections.txt:
10137         * docs/gst/gstreamer.types:
10138         * docs/gst/tmpl/gstpad.sgml:
10139         * docs/gst/tmpl/gsttypes.sgml:
10140         * gst/base/gstadapter.h:
10141         * gst/base/gstbasesink.h:
10142         * gst/base/gstbasesrc.h:
10143         * gst/gstbin.h:
10144         * gst/gstbuffer.h:
10145         * gst/gstbus.h:
10146         * gst/gstcaps.h:
10147         * gst/gstclock.h:
10148         * gst/gstelement.h:
10149         * gst/gstevent.h:
10150         * gst/gstmessage.h:
10151         * gst/gstpad.h:
10152         * gst/gststructure.c:
10153         * gst/registries/gstlibxmlregistry.h:
10154           various documentation fixes
10155
10156 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
10157
10158         * docs/gst/gstreamer-sections.txt:
10159         * docs/gst/tmpl/gstvalue.sgml:
10160           rearrange gstvalue section
10161         * gst/gstutils.c: (gst_element_state_get_name):
10162           NONE -> VOID
10163         * gst/gstvalue.c: (_gst_value_initialize):
10164         * gst/gstvalue.h:
10165           doc updates
10166
10167 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
10168
10169         * check/gst-libs/controller.c:
10170           Header include fix.
10171         * gst/base/gstbasetransform.c:
10172         (gst_base_transform_default_prepare_buf),
10173         (gst_base_transform_handle_buffer):
10174         * gst/base/gstbasetransform.h:
10175           Some more basetransform changes and fixes to enable sub-classes
10176           that modify buffer metadata only.
10177         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
10178         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
10179         (gst_capsfilter_prepare_buf):
10180           If the output pad has fixed allowed caps and input buffers 
10181           don't have any, set the fixed caps on outgoing buffers.
10182
10183 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
10184         * check/elements/identity.c: (GST_START_TEST):
10185           Make the error a little clearer when the test fails because
10186           identity made a copy of the buffer.
10187         * docs/gst/gstreamer-sections.txt:
10188           New symbols in gstbasetransform.h
10189         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
10190         (gst_base_transform_init), (gst_base_transform_transform_size),
10191         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
10192         (gst_base_transform_default_prepare_buf),
10193         (gst_base_transform_get_unit_size),
10194         (gst_base_transform_buffer_alloc),
10195         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
10196         (gst_base_transform_change_state),
10197         (gst_base_transform_set_passthrough),
10198         (gst_base_transform_set_in_place),
10199         (gst_base_transform_is_in_place):
10200         * gst/base/gstbasetransform.h:
10201           Change BaseTransform to separate in_place operate from same_caps
10202           output. in_place implies that the element can perform the transform
10203           on incoming buffers in-place, even if the caps on the output are
10204           different.
10205           Sub-class elements can now implement special buffer allocation
10206           methods for outgoing buffers if they wish to.
10207           Big documentation addition.
10208         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
10209         * gst/elements/gstelements.c:
10210           Changes for basetransform modifications.
10211         * gst/elements/Makefile.am:
10212         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
10213           Compile fix. Extra debug output.
10214
10215 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10216
10217         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
10218         (gst_pad_suite):
10219           add tests for valid pad naming
10220         * gst/check/gstcheck.c: (gst_check_log_message_func),
10221         (gst_check_log_critical_func):
10222           add ASSERT_WARNING
10223           remove printing of code, it is fragile when the code contains
10224           % and the line number is enough info
10225         * gst/check/gstcheck.h:
10226         * gst/gstpad.c: (gst_pad_template_new):
10227           fix memleaks
10228
10229 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10230
10231         * configure.ac:
10232           say what CHECK flags we use
10233         * docs/libs/gstreamer-libs.types:
10234         * libs/gst/controller/Makefile.am:
10235         * libs/gst/controller/gst-controller.c:
10236         * libs/gst/controller/gst-controller.h:
10237         * libs/gst/controller/gst-helper.c:
10238         * libs/gst/controller/gst-interpolation.c:
10239         * libs/gst/controller/gstcontroller.c:
10240         * libs/gst/controller/gsthelper.c:
10241         * libs/gst/controller/gstinterpolation.c:
10242         * tools/gst-inspect.c: (print_plugin_info):
10243           we don't use dashes in header names
10244
10245 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10246
10247         * check/Makefile.am:
10248         * check/gst/.cvsignore:
10249         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
10250         (gst_pipeline_suite), (main):
10251           adding a test for pipelines and state changes
10252         * gst/gstutils.c: (get_state_func):
10253           add some debugging
10254         * gstreamer.spec.in:
10255           fix up spec file
10256
10257 2005-09-08  Michael Smith <msmith@fluendo.com>
10258
10259         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
10260         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
10261         (gst_file_src_is_seekable), (gst_file_src_get_size),
10262         (gst_file_src_start):
10263         * gst/elements/gstfilesrc.h:
10264           Various fixes for unseekable, unmmapable, and non-normal files, so
10265           that fallback to read() rather than mmap() works.
10266         * gst/gstevent.c: (gst_event_new_newsegment):
10267           Allow newsegment events with segment_start == segment_end, as will
10268           correctly happen if you use filesrc on a zero-size file, for
10269           example.
10270
10271 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
10272
10273         * gst/gstplugin.c: (gst_plugin_load_file):
10274           Call g_module_close when we don't load the module
10275
10276         * gst/registries/gstlibxmlregistry.c:
10277         (gst_xml_registry_get_property):
10278           Port leak fix from 0.8
10279
10280 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
10281
10282         * docs/gst/gstreamer-docs.sgml:
10283         * docs/gst/tmpl/.cvsignore:
10284         * docs/gst/tmpl/gsttrace.sgml:
10285         * docs/gst/tmpl/gsttrashstack.sgml:
10286         * gst/Makefile.am:
10287         * gst/gst.h:
10288         * gst/gstelement.h:
10289         * gst/gstevent.h:
10290         * gst/gstmessage.c:
10291         * gst/gstmessage.h:
10292         * gst/gsttag.c:
10293         * gst/gsttag.h:
10294         * gst/gsttaginterface.c:
10295         * gst/gsttaginterface.h:
10296         * gst/gsttaglist.c:
10297         * gst/gsttaglist.h:
10298         * gst/gsttagsetter.c:
10299         * gst/gsttagsetter.h:
10300         * gst/gsttrace.c:
10301         * gst/gsttrace.h:
10302         * gst/gsttrashstack.c:
10303           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
10304           inlined docs for gsttrace, gsttrashstack
10305
10306 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
10307
10308         * gst/Makefile.am:
10309         * gst/elements/gstbufferstore.h:
10310         * gst/elements/gsttypefindelement.c:
10311         * gst/elements/gsttypefindelement.h:
10312         * gst/gst.h:
10313         * gst/gsttypefind.c:
10314         * gst/gsttypefind.h:
10315         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
10316         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
10317         (gst_type_find_factory_dispose),
10318         (gst_type_find_factory_unload_thyself),
10319         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
10320         (gst_type_find_factory_get_caps),
10321         (gst_type_find_factory_get_extensions),
10322         (gst_type_find_factory_call_function):
10323         * gst/gsttypefindfactory.h:
10324         * gst/registries/gstlibxmlregistry.c:
10325         * gst/registries/gstxmlregistry.c:
10326           splitted gsttypefind into gsttypefind, gsttypefindfactory
10327
10328 2005-09-07  Andy Wingo  <wingo@pobox.com>
10329
10330         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
10331         condition whereby the pad's task function is entered before the
10332         pad_mode variable was set.
10333
10334 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
10335
10336         * gst/gstpad.c: (gst_pad_alloc_buffer):
10337           Catch misbehaving pad_alloc functions that don't
10338           set up caps and do it for them.
10339
10340 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
10341
10342         * check/pipelines/simple_launch_lines.c: (run_pipeline):
10343           test for pipe!=NULL
10344         * docs/gst/tmpl/.cvsignore:
10345         * docs/gst/tmpl/gstmemchunk.sgml:
10346         * docs/gst/tmpl/gstparse.sgml:
10347         * docs/gst/tmpl/gsttaglist.sgml:
10348         * docs/gst/tmpl/gsttagsetter.sgml:
10349         * docs/gst/tmpl/gsttypefind.sgml:
10350         * docs/gst/tmpl/gsttypefindfactory.sgml:
10351         * gst/gstmemchunk.c:
10352         * gst/gstparse.c:
10353         * gst/gsttag.c:
10354         * gst/gsttaginterface.c:
10355         * gst/gsttypefind.c:
10356         * gst/gsttypefind.h:
10357           inlined more docs
10358
10359 === release 0.9.2 ===
10360
10361 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
10362
10363         * NEWS:
10364         * RELEASE:
10365         * configure.ac:
10366           releasing 0.9.2, "South"
10367
10368 2005-09-05  Andy Wingo  <wingo@pobox.com>
10369
10370         * gst/registries/gstxmlregistry.h:
10371         * gst/registries/gstxmlregistry.c: Um... resurrect...
10372         
10373         * gst/registries/gstxmlregistry.h:
10374         * gst/registries/gstxmlregistry.c: and update to newer API.
10375         Incidentally they should be a bit faster now that they don't have
10376         to parse the caps.
10377         
10378 2005-09-05  Andy Wingo  <wingo@pobox.com>
10379
10380         * gst/registries/gstxmlregistry.h:
10381         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
10382         replaced by the libxml registry a while back
10383
10384 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
10385
10386         * docs/gst/tmpl/gstplugin.sgml:
10387         * gst/elements/gstelements.c:
10388         * gst/gst.c:
10389         * gst/gstplugin.c: (gst_plugin_register_func),
10390         (gst_plugin_desc_copy), (gst_plugin_desc_free),
10391         (gst_plugin_get_source):
10392         * gst/gstplugin.h:
10393         * gst/registries/gstlibxmlregistry.c: (load_plugin),
10394         (gst_xml_registry_save_plugin):
10395         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
10396         (gst_xml_registry_save_plugin):
10397         * tools/gst-inspect.c: (print_plugin_info):
10398           add a "source" plugin description field, to represent the source
10399           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
10400           will set it to PACKAGE, which is automake's idea of the name of
10401           the source project.
10402
10403 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
10404
10405         * Makefile.am:
10406         * autogen.sh:
10407         * configure.ac:
10408         * docs/Makefile.am:
10409         * docs/faq/Makefile.am:
10410         * docs/gst/tmpl/gstelement.sgml:
10411         * docs/gst/tmpl/gsttypes.sgml:
10412         * docs/htmlinstall.mak:
10413         * docs/manual/Makefile.am:
10414         * docs/pwg/Makefile.am:
10415           reorganize doc build a little
10416           split out docbook and gtk-doc stuff
10417           have two separate --enable's and enable them through autogen
10418           but disable by default in configure (to be similar to other
10419           projects)
10420         * gstreamer.spec.in:
10421           clean up docs install
10422         * po/af.po:
10423         * po/az.po:
10424         * po/ca.po:
10425         * po/cs.po:
10426         * po/de.po:
10427         * po/en_GB.po:
10428         * po/fr.po:
10429         * po/it.po:
10430         * po/nb.po:
10431         * po/nl.po:
10432         * po/ru.po:
10433         * po/sq.po:
10434         * po/sr.po:
10435         * po/sv.po:
10436         * po/tr.po:
10437         * po/uk.po:
10438         * po/vi.po:
10439           translation updates
10440
10441 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
10442
10443         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
10444           Add comment.
10445           
10446         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
10447         (gst_fake_sink_change_state):
10448           Make state change function thread-safe.
10449           
10450         * gst/gstpad.c: (gst_pad_alloc_buffer):
10451           Set offset on generic buffer allocated by fallback.
10452
10453 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
10454
10455         * docs/gst/gstreamer-sections.txt:
10456         * docs/gst/tmpl/gstelement.sgml:
10457         * gst/gstpad.c:
10458         * libs/gst/controller/gst-controller.c:
10459         (gst_controlled_property_set_interpolation_mode),
10460         (gst_controlled_property_new),
10461         (gst_controller_find_controlled_property):
10462          run the wingo-magic script against the docs
10463
10464 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
10465
10466         * docs/gst/gstreamer-docs.sgml:
10467         * docs/gst/gstreamer-sections.txt:
10468         * docs/gst/tmpl/.cvsignore:
10469         * docs/gst/tmpl/gstelementdetails.sgml:
10470         * docs/gst/tmpl/gstelementfactory.sgml:
10471         * gst/gst.c:
10472         * gst/gstbus.c:
10473         * gst/gstelementfactory.c:
10474         * gst/gstelementfactory.h:
10475           merged elementdetails docs into elementfactory docs
10476           inlined both
10477
10478 2005-09-02  Andy Wingo  <wingo@pobox.com>
10479
10480         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
10481         consider this enum an enum and not a flags.
10482
10483 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
10484
10485         * docs/gst/gstreamer-docs.sgml:
10486         * docs/gst/tmpl/.cvsignore:
10487         * docs/gst/tmpl/gstghostpad.sgml:
10488         * docs/gst/tmpl/gstiterator.sgml:
10489         * docs/gst/tmpl/gstmacros.sgml:
10490         * docs/gst/tmpl/gstrealpad.sgml:
10491         * docs/gst/tmpl/gstregistry.sgml:
10492         * docs/gst/tmpl/gstregistrypool.sgml:
10493         * docs/gst/tmpl/gststructure.sgml:
10494         * docs/gst/tmpl/gstsystemclock.sgml:
10495         * docs/gst/tmpl/gsttrace.sgml:
10496         * gst/gstghostpad.c:
10497         * gst/gstmacros.h:
10498         * gst/gstmemchunk.c:
10499         * gst/gstmemchunk.h:
10500         * gst/gstqueue.c:
10501         * gst/gstregistry.c:
10502         * gst/gstregistrypool.c:
10503         * gst/gststructure.c:
10504         * gst/gstsystemclock.c:
10505           more docs inlined
10506
10507 2005-09-02  Andy Wingo  <wingo@pobox.com>
10508
10509         * gst/gstelement.h (GstState): Renamed from GstElementState,
10510         changed to be a normal enum instead of flags.
10511         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
10512         munged to be GST_STATE_CHANGE_*.
10513         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
10514         work with the new state representation.
10515         (GstStateChange): New enumeration of possible state transitions.
10516         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
10517         (GstElementClass::change_state): Pass the GstStateChange along as
10518         an argument. Helps language bindings, so they don't have to use
10519         tricky lock-needing macros like GST_STATE_CHANGE ().
10520
10521         * scripts/update-states (file): New script. Run it on a file to
10522         update it for state naming and API changes. Updates files in
10523         place.
10524
10525         * All files updated for the new API.
10526
10527 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10528
10529         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
10530         * gst/gstutils.c: (gst_util_set_value_from_string),
10531         (gst_util_set_object_arg):
10532           fix a bunch of unchecked return values
10533         * tools/gst-complete.c: (main):
10534         * gstreamer.spec.in:
10535           clean up a little
10536
10537 2005-09-01  Wim Taymans  <wim@fluendo.com>
10538
10539         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10540         (gst_base_sink_event), (gst_base_sink_do_sync),
10541         (gst_base_sink_handle_event):
10542         * gst/base/gstbasesink.h:
10543         Handle newsegments more correctly.
10544
10545         * gst/gstbus.c:
10546         Fix docs.
10547
10548         * gst/gstevent.c: (gst_event_new_newsegment):
10549         A newsegment cannot have a start_time of -1
10550
10551 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
10552
10553         * win32/gstenumtypes.c:
10554         * win32/gstenumtypes.h:
10555           Update
10556
10557 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
10558
10559         * libs/gst/controller/gst-controller.c:
10560         (gst_controlled_property_set_interpolation_mode),
10561         (gst_controlled_property_new):
10562          fixed boolean again
10563
10564 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
10565
10566         * docs/faq/gst-uninstalled:
10567           add -good
10568         * gst/gstevent.c:
10569         * gst/gstevent.h:
10570           remove wrong docs
10571         * gst/gstutils.c: (gst_element_link_filtered):
10572         * gst/gstutils.h:
10573           add gst_element_link_filtered
10574
10575 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
10576
10577         * docs/gst/gstreamer-docs.sgml:
10578         * docs/gst/gstreamer-sections.txt:
10579         * docs/gst/tmpl/.cvsignore:
10580         * docs/gst/tmpl/gsterror.sgml:
10581         * docs/gst/tmpl/gstfilter.sgml:
10582         * docs/gst/tmpl/gsturihandler.sgml:
10583         * docs/gst/tmpl/gsturitype.sgml:
10584         * docs/gst/tmpl/gstutils.sgml:
10585         * docs/gst/tmpl/gstxml.sgml:
10586         * gst/gsterror.c:
10587         * gst/gsterror.h:
10588         * gst/gstfilter.c:
10589         * gst/gsturi.c:
10590         * gst/gsturitype.c:
10591         * gst/gstutils.c:
10592         * gst/gstxml.c:
10593           inlined more docs, fixed double id-ref
10594
10595 2005-08-31  Wim Taymans  <wim@fluendo.com>
10596
10597         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
10598         (gst_base_transform_handle_buffer):
10599         Passthrough elements don't need the caps as they don't care.
10600
10601 2005-08-31  Wim Taymans  <wim@fluendo.com>
10602
10603         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
10604         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
10605         Don't leak refcounts on buffers.
10606
10607 2005-08-31  Wim Taymans  <wim@fluendo.com>
10608
10609         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
10610         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
10611         (gst_base_transform_chain), (gst_base_transform_change_state):
10612         * gst/base/gstbasetransform.h:
10613         Handle the case where we are not negotiated more gracefully.
10614
10615 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
10616
10617         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
10618         (gst_file_src_map_region):
10619           Set READONLY flag on mmap'ed buffers, otherwise
10620           gst_buffer_make_writable() won't work properly (#314708).
10621
10622 2005-08-31  Wim Taymans  <wim@fluendo.com>
10623
10624         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
10625         passthrough elements can even do inplace on non writable
10626         buffers (as they don't touch them).
10627
10628 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
10629
10630         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
10631         (gst_test_mono_source_set_property),
10632         (gst_test_mono_source_class_init), (GST_START_TEST),
10633         (gst_controller_suite):
10634           more tests (hehe I have the most)
10635         * gst/gstbus.c:
10636           describe popping messages whenusing mulltiple sources
10637         * libs/gst/controller/gst-controller.c:
10638         (gst_controlled_property_set_interpolation_mode),
10639         (gst_controlled_property_new):
10640         * libs/gst/controller/gst-controller.h:
10641         * libs/gst/controller/gst-interpolation.c:
10642           implement boolean properties
10643
10644 2005-08-31  Wim Taymans  <wim@fluendo.com>
10645
10646         * gst/gstminiobject.c: (gst_mini_object_ref):
10647         Cannot assert that the refcount has to be positive
10648         since a disposed object can be resurrected.
10649
10650 2005-08-31  Wim Taymans  <wim@fluendo.com>
10651
10652         * gst/gstpad.c: (gst_pad_init):
10653         Revert change, need to first fix badly behaving 
10654         apps.
10655
10656 2005-08-30  Wim Taymans  <wim@fluendo.com>
10657
10658         * check/elements/fakesrc.c: (setup_fakesrc):
10659         * check/elements/identity.c: (setup_identity):
10660         Activate pads before using them.
10661
10662 2005-08-30  Wim Taymans  <wim@fluendo.com>
10663
10664         * gst/base/gstadapter.c: (gst_adapter_flush):
10665         Flushing out 0 bytes is ok for this function.
10666
10667         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
10668         no newsegment gives a warning and sets the start/stop to 
10669         invalid.
10670
10671         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
10672         (gst_base_transform_set_passthrough):
10673         Some debug info.
10674
10675         * gst/gstminiobject.c: (gst_mini_object_ref):
10676         Check refcount here too.
10677
10678         * gst/gstpad.c: (gst_pad_init):
10679         Pads are initially flushing and refusing data.
10680
10681         * gst/gstutils.c: (gst_element_link_pads_filtered):
10682         When adding a capsfilter element make sure it has the
10683         same state as the parent bin.
10684
10685 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
10686
10687         * docs/gst/tmpl/.cvsignore:
10688         * docs/gst/tmpl/gstformat.sgml:
10689         * docs/gst/tmpl/gstversion.sgml:
10690         * gst/gstbus.h:
10691         * gst/gstformat.c:
10692         * gst/gstformat.h:
10693         * gst/gstversion.h.in:
10694           more docs and two more inlined
10695
10696 2005-08-30  Wim Taymans  <wim@fluendo.com>
10697
10698         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
10699         Don't sync to clock.
10700
10701 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
10702
10703         * docs/gst/gstreamer-sections.txt:
10704           ultral33t func10ns deserve to appear in the docs actually
10705         * docs/gst/tmpl/.cvsignore:
10706         * docs/gst/tmpl/gstcompat.sgml:
10707         * docs/gst/tmpl/gstconfig.sgml:
10708         * gst/check/gstcheck.c:
10709         * gst/gstcompat.h:
10710         * gst/gstconfig.h.in:
10711           inlined more docs
10712
10713 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
10714
10715         * docs/gst/tmpl/.cvsignore:
10716         * docs/gst/tmpl/gstquery.sgml:
10717         * docs/gst/tmpl/gstutils.sgml:
10718         * gst/gstquery.c:
10719         * gst/gstquery.h:
10720           inlined and extended docs
10721
10722 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
10723
10724         * check/gst-libs/controller.c: (GST_START_TEST),
10725         (gst_controller_suite):
10726           more tests
10727         * docs/gst/tmpl/gstutils.sgml:
10728         * docs/libs/gstreamer-libs-sections.txt:
10729         * docs/libs/tmpl/gstdataprotocol.sgml:
10730           include path fixes
10731         * examples/controller/audio-example.c: (main):
10732           controller example works now
10733         * gst/gstclock.h:
10734           doc fixes
10735         * tools/gst-inspect.c: (print_element_properties_info):
10736           show param spec flags
10737
10738 2005-08-29  Andy Wingo  <wingo@pobox.com>
10739
10740         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
10741
10742 2005-08-28  Andy Wingo  <wingo@pobox.com>
10743
10744         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
10745         as having two arguments instead of just one. Allows superclasses
10746         to access information on subclasses -- see the terrible for() loop
10747         in gtype.c:g_type_create_instance for the reason why. All callers
10748         changed.
10749
10750 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
10751
10752         * docs/design/part-messages.txt:
10753           update info
10754         * docs/gst/tmpl/.cvsignore:
10755         * docs/gst/tmpl/gstcaps.sgml:
10756         * docs/gst/tmpl/gstclock.sgml:
10757         * gst/gstbus.c:
10758         * gst/gstcaps.c:
10759         * gst/gstcaps.h:
10760         * gst/gstclock.c:
10761         * gst/gstclock.h:
10762         * gst/gstmessage.c:
10763           added descriptions for bus and message
10764           inline caps and clock docs
10765
10766 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
10767
10768         * gst/gstmessage.c:
10769         * gst/gstmessage.h:
10770           doc fixes
10771
10772 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
10773
10774         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
10775           fix div-by-zero
10776
10777 2005-08-26  Andy Wingo  <wingo@pobox.com>
10778
10779         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
10780         element_set_state's return val.
10781         (test_2_elements): Add test that's been disabled for months.
10782
10783         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
10784         can-activate-pull properties.
10785
10786         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
10787         can-activate-pull properties. Implement is_seekable so fakesrc can
10788         operate in pull mode.
10789
10790         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
10791         properties.
10792         (gst_base_sink_activate, gst_base_sink_activate_pull)
10793         (gst_base_sink_activate_push): Make activation mode choosing work.
10794         Cleanups.
10795         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
10796         is right. Make pull mode work. Post an eos before pausing in pull
10797         mode.
10798         (gst_base_sink_change_state): Pay attention to the core's
10799         change_state() return val.
10800         
10801         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
10802         has-getrange properties. Cleanups.
10803         
10804         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
10805         has_getrange and replace with can_activate_pull and
10806         can_activate_push.
10807
10808         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
10809         locking comments. Remove has_loop, has_chain and replace with
10810         can_activate_pull and can_activate_push.
10811
10812 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
10813
10814         * configure.ac:
10815         * examples/Makefile.am:
10816         * examples/metadata/Makefile.am:
10817         * examples/metadata/read-metadata.c: (message_loop),
10818         (have_pad_handler), (make_pipeline), (print_tag), (main):
10819           Add metadata reading example that loops over a list of filenames,
10820           dumping any tags found.
10821
10822         * gst/gstbus.c: (gst_bus_dispose):
10823         * gst/gstelement.c: (gst_element_dispose):
10824           Release a few potentially-held references in dispose.
10825
10826 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
10827
10828         * docs/gst/tmpl/gstminiobject.sgml:
10829           do *not* add tmpl/*.sgml files to CVS!
10830
10831 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
10832
10833         * libs/gst/bytestream/.cvsignore:
10834         * libs/gst/bytestream/Makefile.am:
10835         * libs/gst/bytestream/adapter.c:
10836         * libs/gst/bytestream/adapter.h:
10837         * libs/gst/bytestream/bytestream.c:
10838         * libs/gst/bytestream/bytestream.h:
10839         * libs/gst/bytestream/filepad.c:
10840         * libs/gst/bytestream/filepad.h:
10841           removing obsolete files
10842
10843 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
10844
10845         * docs/gst/gstreamer-docs.sgml:
10846         * docs/libs/gstreamer-libs-docs.sgml:
10847           disabed additional index entries again, as this makes docs-gen just
10848           slow and they aren't useful yet
10849         * docs/libs/gstreamer-libs-sections.txt:
10850           little -section.txt cleanup for libs
10851
10852 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
10853
10854         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
10855         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
10856           fix up some debugging
10857         (gst_base_transform_get_unit_size),
10858         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
10859         (gst_base_transform_handle_buffer):
10860         * gst/base/gstbasetransform.h:
10861           handle and store timed NEWSEGMENT events so that subclasses that
10862           calculate time by counting samples have a segment_start time they
10863           need to add to their timestamps - see audioresample
10864
10865 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
10866
10867         * gst/gstbin.h:
10868           removed ';' from the end of macro defs
10869         * docs/gst/gstreamer-docs.sgml:
10870         * docs/gst/gstreamer-sections.txt:
10871         * docs/gst/tmpl/.cvsignore:
10872         * gst/gstbus.h:
10873         * gst/gstelement.c: (gst_element_class_init),
10874         (gst_element_set_state), (activate_pads),
10875         (gst_element_save_thyself):
10876         * gst/gstevent.c: (gst_event_new_newsegment):
10877         * gst/gstevent.h:
10878         * gst/gstiterator.c:
10879         * gst/gstiterator.h:
10880         * gst/gstpad.c:
10881         * gst/gstprobe.h:
10882         * gst/gstutils.c: (gst_pad_query_convert):
10883         * gst/gstutils.h:
10884           fixed parameter name mismatches between source, header and docs
10885           added some more docs, resolved the last batch of unused elements in
10886           docs (now someone needs to doc them)
10887
10888 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
10889
10890         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
10891         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
10892           don't walk through the plugins backwards.  Where is all this
10893           reversed logic coming from ?
10894
10895 2005-08-25  Wim Taymans  <wim@fluendo.com>
10896
10897         * gst/base/gstbasetransform.c: (gst_base_transform_init),
10898         (gst_base_transform_transform_size),
10899         (gst_base_transform_configure_caps),
10900         (gst_base_transform_get_unit_size),
10901         (gst_base_transform_buffer_alloc),
10902         (gst_base_transform_change_state):
10903         * gst/base/gstbasetransform.h:
10904         Cache caps unit_size.
10905         Make sure we cannot negotiate up and downstream at the
10906         same time.
10907
10908 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
10909
10910         * gst/gst.c: (init_pre), (init_post):
10911           register the installed plugin path after the env var
10912         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
10913         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
10914           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
10915           directories, so the tests can prefer uninstalled over installed
10916
10917 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
10918
10919         * gst/base/gstbasetransform.h:
10920           comment
10921         * gst/gstpad.c:
10922           add to docs
10923
10924 2005-08-25  Wim Taymans  <wim@fluendo.com>
10925
10926         * gst/gstbin.c: (bin_bus_handler):
10927         Be a bit more conservative about the posted message.
10928         
10929         * gst/gstbus.c: (gst_bus_post):
10930         Some cleanups, warn wrong return values.
10931
10932 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
10933
10934         * check/gst/gstbin.c: (GST_START_TEST):
10935         * gst/gstbin.c: (bin_bus_handler):
10936         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
10937         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
10938         (gst_message_new_warning), (gst_message_new_tag),
10939         (gst_message_new_state_changed), (gst_message_new_segment_start),
10940         (gst_message_new_segment_done), (gst_message_new_custom):
10941         * gst/gstmessage.h:
10942         * tools/gst-launch.c: (event_loop):
10943         * tools/gst-md5sum.c: (event_loop):
10944           Revert unpopular change for GST_MESSAGE_SRC to GObject.
10945
10946 2005-08-25  Wim Taymans  <wim@fluendo.com>
10947
10948         * check/generic/states.c: (GST_START_TEST):
10949         Cleanup can be done at the end.
10950
10951         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
10952         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
10953         (gst_task_get_state), (gst_task_start), (gst_task_pause):
10954         Oh boy.. Thanks for finding this, Thomas. 
10955
10956 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
10957
10958         * docs/gst/gstreamer.types:
10959           added missing types
10960
10961 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
10962
10963         * docs/gst/gstreamer-docs.sgml:
10964         * docs/gst/gstreamer-sections.txt:
10965         * docs/gst/tmpl/.cvsignore:
10966         * gst/gstbin.c:
10967         * gst/gstiterator.c:
10968         * gst/gstutils.c:
10969         * gst/registries/gstxmlregistry.h:
10970           added missing classes and symbols (123 more to go)
10971           removed removed symbols from section file
10972           fixed many doc-comments
10973
10974 2005-08-24  Wim Taymans  <wim@fluendo.com>
10975
10976         * check/generic/states.c: (GST_START_TEST):
10977         Make sure all tasks are stopped.
10978
10979         * check/gst/gstbin.c: (GST_START_TEST):
10980         Unref after usage for proper valgrinding.
10981
10982         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
10983         Really wait for the task to stop before destroying the
10984         mutex.
10985
10986         * gst/gstqueue.c: (gst_queue_sink_activate_push),
10987         (gst_queue_src_activate_push):
10988         Small cleanups. Don't stop the task when we did not start
10989         it.
10990
10991         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
10992         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
10993         (gst_task_get_state), (gst_task_start), (gst_task_pause),
10994         (gst_task_join):
10995         * gst/gsttask.h:
10996         Protect the stream lock with the object lock.
10997         Disallow setting the stream lock when running.
10998         Add cleanup_all to wait for the threadpool to finish.
10999         Remove code to autoallocate a mutex if none was provided.
11000         Add _join() to wait for a task to stop.
11001         Protect the thread pool with a global lock.
11002
11003 2005-08-24  Wim Taymans  <wim@fluendo.com>
11004
11005         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
11006         (gst_base_sink_get_times), (gst_base_sink_do_sync),
11007         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
11008         * gst/base/gstbasesink.h:
11009         Handle newsegment events correctly.
11010         Drop buffers out of the segment range.
11011
11012 2005-08-22  Andy Wingo  <wingo@pobox.com>
11013
11014         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
11015         macro, implements an interface and gstimplementsinterface for a
11016         new type.
11017
11018 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
11019
11020         * check/Makefile.am:
11021         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
11022           add a test that does a bunch of state changes on elements
11023           needs some fixing for valgrind
11024         * check/states/sinks.c: (gst_object_suite):
11025           whitespace
11026         * gst/gstcaps.h:
11027           add prototype for gst_caps_is_equal_fixed
11028         * gst/gstplugin.c:
11029         * gst/gstregistrypool.c:
11030           doc fixes
11031
11032 2005-08-24  Andy Wingo  <wingo@pobox.com>
11033
11034         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
11035         convert a negative value. Doesn't make much sense. Mostly this is
11036         here to force callers to ensure -1 maps to -1.
11037
11038 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
11039
11040         * docs/pwg/advanced-types.xml:
11041           Well done to Michael for catching my deliberate introduction
11042           of this spelling mistake. 
11043         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
11044         * gst/gstelement.h:
11045           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
11046           unlink pads before removing the element from the bin.
11047
11048 2005-08-24  Andy Wingo  <wingo@pobox.com>
11049
11050         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
11051         the same thing as GST_DEBUG=*:4.
11052         (parse_debug_level, parse_debug_category): New helper parsers.
11053
11054 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
11055
11056         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
11057         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
11058         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
11059         (gst_base_transform_buffer_alloc),
11060         (gst_base_transform_handle_buffer):
11061           use gboolean return values and pointers to size so we can use the
11062           full GST_BUFFER_SIZE range (guint) for buffer sizes
11063           use GstPadDirection for transform_caps
11064         * gst/base/gstbasetransform.h:
11065           rename get_size to get_unit_size since that's what it is
11066         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
11067           use GstPadDirection for transform_caps
11068         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
11069         * gst/gstutils.h:
11070           cleanup and debugging
11071
11072 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
11073
11074         * gst/gstelement.c: (gst_element_class_init),
11075         (gst_element_set_state), (activate_pads),
11076         (gst_element_save_thyself):
11077         * tools/gst-compprep.c: (main):
11078         * tools/gst-inspect.c: (print_element_properties_info):
11079         * tools/gst-xmlinspect.c: (print_element_properties):
11080           Fixed long standing mem-leak
11081
11082 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
11083
11084         * check/gst/gstbin.c: (GST_START_TEST):
11085         * gst/gstbin.c: (bin_bus_handler):
11086         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
11087         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
11088         (gst_message_new_warning), (gst_message_new_tag),
11089         (gst_message_new_state_changed), (gst_message_new_segment_start),
11090         (gst_message_new_segment_done), (gst_message_new_custom):
11091         * gst/gstmessage.h:
11092         * tools/gst-launch.c: (event_loop):
11093         * tools/gst-md5sum.c: (event_loop):
11094           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
11095           that applications can sensibly post custom messages with references
11096           to their own objects.
11097
11098 2005-08-24  Andy Wingo  <wingo@pobox.com>
11099
11100         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
11101         already.
11102
11103 2005-08-24  Wim Taymans  <wim@fluendo.com>
11104
11105         * gst/base/gstbasetransform.c: (gst_base_transform_init),
11106         (gst_base_transform_transform_caps),
11107         (gst_base_transform_transform_size),
11108         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
11109         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
11110         (gst_base_transform_handle_buffer):
11111         * gst/base/gstbasetransform.h:
11112         Many fixes and new features added by Thomas. Can now also do
11113         transforms with variable sizes and a custom fixate_caps function.
11114
11115 2005-08-24  Wim Taymans  <wim@fluendo.com>
11116
11117         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
11118         Some debugging.
11119
11120         * gst/gstclock.h:
11121         Cast to ClockTime before formatting to time.
11122
11123         * gst/gstutils.h:
11124         Cleanups.
11125
11126 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
11127
11128         * check/gst-libs/controller.c: (GST_START_TEST),
11129         (gst_controller_suite):
11130         * docs/gst/tmpl/gstcaps.sgml:
11131         * docs/gst/tmpl/gstghostpad.sgml:
11132         * docs/gst/tmpl/gstquery.sgml:
11133         * docs/gst/tmpl/gstutils.sgml:
11134         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
11135         (gst_object_sink_values), (gst_object_get_value_arrays),
11136         (gst_object_get_value_array):
11137           gracefully handle helper method calls to objects that are not beeing
11138           controlled, added test case for that          
11139
11140 2005-08-23  Wim Taymans  <wim@fluendo.com>
11141
11142         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
11143         (gst_event_new_newsegment), (gst_event_parse_newsegment),
11144         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
11145         (gst_event_parse_qos), (gst_event_new_seek),
11146         (gst_event_parse_seek):
11147         * gst/gstevent.h:
11148         Some more debugging output and doc cleanups.
11149
11150         * gst/gstqueue.c: (gst_queue_handle_sink_event):
11151         Fix possible deadlock.
11152
11153 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
11154
11155         * docs/gst/gstreamer-docs.sgml:
11156         * docs/gst/gstreamer-sections.txt:
11157         * docs/gst/gstreamer.types:
11158         * docs/gst/tmpl/.cvsignore:
11159         * gst/gstbin.h:
11160         * gst/gstbus.c:
11161         * gst/gstelement.c:
11162         * gst/gstevent.h:
11163           added 100 symbols from gstreamer-unused.txt to the right sections
11164           fixed more broken comments
11165           added GstBus to docs
11166
11167 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
11168
11169         * docs/gst/gstreamer-sections.txt:
11170         * docs/gst/tmpl/.cvsignore:
11171         * docs/gst/tmpl/gstbin.sgml:
11172         * docs/gst/tmpl/gstbuffer.sgml:
11173         * gst/base/gstbasesrc.c:
11174         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
11175         * gst/gstbuffer.c:
11176         * gst/gstbuffer.h:
11177         * tools/gst-launch.1.in:
11178           inlined more doc comments, added missing comments and fixed comments
11179           fixed typos
11180
11181 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
11182
11183         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
11184           some debugging
11185         * gst/gstcaps.h:
11186           whitespace fixes
11187         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
11188           more debugging
11189         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
11190         * gst/gststructure.h:
11191           add a fixate function for booleans; add a FIXME that these func
11192           names should probably be gst_structure_fixate_*
11193
11194 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
11195
11196         * docs/gst/gstreamer-docs.sgml:
11197         * docs/gst/gstreamer-sections.txt:
11198         * gst/Makefile.am:
11199         * gst/gstbin.c: (gst_bin_get_type),
11200         (gst_bin_child_proxy_get_child_by_index),
11201         (gst_bin_child_proxy_get_children_count),
11202         (gst_bin_child_proxy_init):
11203         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
11204         (gst_child_proxy_get_child_by_index),
11205         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
11206         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
11207         (gst_child_proxy_get), (gst_child_proxy_set_property),
11208         (gst_child_proxy_set_valist), (gst_child_proxy_set),
11209         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
11210         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
11211         * gst/gstchildproxy.h:
11212         * gst/parse/grammar.y:
11213         * tools/gst-inspect.c: (print_interfaces),
11214         (print_element_properties_info), (print_element_info):
11215           ported gstchildproxy over from 0.8
11216           ported gst-inspect fixes and enhancements over from 0.8
11217
11218 2005-08-22  Wim Taymans  <wim@fluendo.com>
11219
11220         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
11221         (gst_base_transform_handle_buffer):
11222         Also call the transform function if we have ANY caps.
11223
11224         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
11225         Fix debug info.
11226
11227 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
11228
11229         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
11230           Don't pretend to handle seek events if the source is not seekable
11231
11232 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
11233
11234         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
11235           Remove extra parameter to debug output
11236
11237         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
11238         (gst_base_src_do_seek), (gst_base_src_activate_push):
11239           Fix seek event handling.
11240
11241         * gst/gstpipeline.c: (gst_pipeline_change_state):
11242         * gst/gstqueue.c: (gst_queue_handle_sink_event),
11243         (gst_queue_src_activate_push):
11244           Don't start the src pad task on FLUSH_STOP if the pad
11245           isn't linked.
11246           Debug changes.
11247
11248 2005-08-22  Wim Taymans  <wim@fluendo.com>
11249
11250         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
11251         Added check for gst_static_caps_get() refcounting.
11252
11253 2005-08-22  Wim Taymans  <wim@fluendo.com>
11254
11255         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
11256         Make _static_caps_get() refcounting sane.
11257         
11258         * gst/gstelement.c: (gst_element_set_state):
11259         Add g_return_val_if_fail() to protect against segfaults.
11260
11261 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
11262
11263         * docs/gst/tmpl/gstevent.sgml:
11264         * gst/gstevent.c:
11265         * gst/gstevent.h:
11266           inlined remaining docs, added missing doc comments
11267
11268 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
11269
11270         * check/gst/gstbin.c: (GST_START_TEST):
11271           since we don't know when preroll is done, use refcount range
11272           check for the sink
11273         * gst/check/gstcheck.h:
11274           add macro for checking refcount range
11275
11276 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
11277
11278         * check/Makefile.am:
11279           clean up environment for when registry gets built versus
11280           when actual tests are run; valgrind seems to not report
11281           leaks if GST_PLUGIN_PATH is set to some specific values
11282         * check/gst/gstbin.c: (GST_START_TEST):
11283           add more refcounting checks; maybe this exposes a
11284           preroll lock bug ?
11285         * common/check.mak:
11286         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
11287         * gst/check/gstcheck.h:
11288         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
11289         (gst_bin_change_state):
11290         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
11291           add/fix debugging/whitespace
11292
11293 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
11294
11295         * check/gst/gstevent.c: (event_probe), (test_event),
11296         (GST_START_TEST):
11297          Er, don't call gst_bin_watch_for_state_change you idiot.
11298
11299 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
11300
11301         * check/Makefile.am:
11302           Use CHECK_CFLAGS and CHECK_LIBS
11303         * check/gst/gstevent.c: (event_probe), (test_event),
11304         (GST_START_TEST):
11305           Don't leak events.
11306         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
11307         (gst_base_src_start), (gst_base_src_stop),
11308         (gst_base_src_activate_push), (gst_base_src_activate_pull),
11309         (gst_base_src_change_state):
11310           Sprinkle gst_base_src_stop liberally around error paths to fix
11311           problems reusing a source after failed state changes.
11312         * gst/base/gsttypefindhelper.c: (helper_find_peek),
11313         (helper_find_suggest), (gst_type_find_helper):
11314           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
11315         * gst/gstevent.h:
11316         * docs/gst/tmpl/gstevent.sgml:
11317           Migrate part of the docs from the SGML file. Wait for ensonic to
11318           tell me how I did it wrong ;)
11319         * tools/gst-typefind.c: (main):
11320           Extra robustness to state changes between files.
11321
11322 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
11323
11324         * check/Makefile.am:
11325           don't valgrind the controller test - it's leaking - Stefan, HELP
11326         * gst/check/gstcheck.c: (gst_check_message_error),
11327         (gst_check_chain_func), (gst_check_setup_element),
11328         (gst_check_teardown_element), (gst_check_setup_src_pad),
11329         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
11330         (gst_check_teardown_sink_pad):
11331         * gst/check/gstcheck.h:
11332           add a bunch of methods to set up elements, and src and sink pads
11333         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
11334         * check/elements/identity.c: (setup_identity), (cleanup_identity),
11335         (GST_START_TEST):
11336           use them
11337         * gst/gstmessage.c:
11338         * gst/gsttag.h:
11339           whitespace/doc fixes
11340
11341 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
11342
11343         * gst/gstelement.h:
11344           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
11345           be handled by the application and not always printed as well
11346
11347 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
11348
11349         * check/Makefile.am:
11350           set GST_TOOLS_DIR
11351         * gst/check/gstcheck.c: (gst_check_message_error):
11352         * gst/check/gstcheck.h:
11353           add a fail_unless_equals_int
11354           add fail_unless for error messages
11355
11356 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
11357
11358         * check/Makefile.am:
11359         * check/gst.supp:
11360         * common/Makefile.am:
11361         * common/check.mak:
11362         * common/gst.supp:
11363           factor out some of the common stuff so we can use it
11364
11365 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
11366
11367         * check/Makefile.am:
11368         * check/gst/gstiterator.c: (GST_START_TEST):
11369         * check/gst/gstsystemclock.c: (GST_START_TEST),
11370         (gst_systemclock_suite):
11371         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
11372         * gst/gstclock.c:
11373           valgrind more tests
11374
11375 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
11376
11377         * check/elements/.cvsignore:
11378         * check/elements/gstfakesrc.c:
11379           rename to name of element
11380         * check/elements/identity.c: (chain_func), (event_func),
11381         (setup_identity), (cleanup_identity), (GST_START_TEST),
11382         (identity_suite), (main):
11383           add a test for identity
11384         * check/Makefile.am:
11385         * pkgconfig/Makefile.am:
11386         * pkgconfig/gstreamer-check.pc.in:
11387         * pkgconfig/gstreamer-check-uninstalled.pc.in:
11388         * gst/check:
11389         * gst/Makefile.am:
11390         * configure.ac:
11391           move the check stuff to a library that gets installed
11392         * check/gst-libs/controller.c: (GST_START_TEST):
11393         * check/gst-libs/gdp.c:
11394         * check/gst/gst.c: (GST_START_TEST):
11395         * check/gst/gstbin.c:
11396         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
11397         * check/gst/gstbus.c:
11398         * check/gst/gstcaps.c: (GST_START_TEST):
11399         * check/gst/gstelement.c:
11400         * check/gst/gstghostpad.c:
11401         * check/gst/gstiterator.c:
11402         * check/gst/gstmessage.c:
11403         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
11404         * check/gst/gstobject.c:
11405         * check/gst/gstpad.c: (GST_START_TEST):
11406         * check/gst/gststructure.c: (GST_START_TEST):
11407         * check/gst/gstsystemclock.c: (GST_START_TEST),
11408         (gst_systemclock_suite):
11409         * check/gst/gsttag.c: (gst_tag_suite):
11410         * check/gst/gstvalue.c:
11411         * check/pipelines/cleanup.c:
11412         * check/pipelines/simple_launch_lines.c:
11413         * check/states/sinks.c:
11414           change include statement
11415
11416         * docs/gst/gstreamer-sections.txt:
11417         * docs/gst/tmpl/gstpad.sgml:
11418           document more pad stuff
11419         * gst/gstminiobject.c: (gst_mini_object_ref),
11420         (gst_mini_object_unref):
11421           debug refcounting
11422
11423 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
11424
11425         * docs/gst/tmpl/gst.sgml:
11426         * gst/gst.c:
11427           eliminate another tmpl file, fix spelling in the long-description
11428
11429 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
11430
11431         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
11432         (test_event), (timediff), (gstevents_suite):
11433           Should fix build on 64-bit arch's
11434
11435 2005-08-18  Andy Wingo  <wingo@pobox.com>
11436
11437         Make sure that when a pipeline goes to PLAYING, that data has
11438         actually hit the sink.
11439
11440         * check/states/sinks.c (test_sink): A sink that doesn't get any
11441         data shouldn't return SUCCESS for going to either PLAYING or
11442         PAUSED. Test also the return values on the way back down.
11443
11444         * gst/gstelement.c (gst_element_set_state): When changing the
11445         state of an element currently changing state asynchronously, go to
11446         lost-state after commiting the pending state. Makes future calls
11447         to get_state continue to return ASYNC.
11448
11449         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
11450         ASYNC when going to PLAYING if we still don't have preroll, as can
11451         happen with live sources.
11452
11453 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
11454
11455         * docs/pwg/advanced-types.xml:
11456           Hack long paragraph into 2 chunks as a workaround for buggy
11457           jadetex version in sid and breezy that loops infinitely and
11458           eats all RAM.
11459
11460 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
11461
11462         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
11463         (test_event), (timediff), (gstevents_suite):
11464           Provide more error margin in clock measurements to allow for 
11465           g_get_current_time inaccuracies.
11466
11467 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
11468
11469         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
11470         (test_event), (timediff), (gstevents_suite):
11471            Fix error message output so I might be able to tell why the
11472            test works here but fails on the build farm.
11473
11474 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
11475
11476         * check/Makefile.am:
11477         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
11478         (test_event), (timediff), (gstevents_suite), (main):
11479           I wrote a test!
11480
11481         * docs/design/part-seeking.txt:
11482           Spelling correction
11483
11484         * docs/gst/tmpl/gstevent.sgml:
11485         * docs/gst/tmpl/gstfakesrc.sgml:
11486           Docs updates.
11487
11488         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
11489           Treat a buffer-without-newsegment the same as a receiving 
11490           a newsegment not in time format, and disable syncing to the clock
11491           with a warning.
11492
11493         * gst/gstbus.c: (gst_bus_set_sync_handler):
11494           Assert if anyone tries to replace the existing sync_handler for bus, 
11495           as only the owner should be setting it.
11496
11497         * gst/gstevent.h:
11498           Have a fixed set of custom event enums with events identified by
11499           their structure name (as in 0.8), rather than a free-for-all
11500           allowing collisions between enum values from different plugins.
11501
11502         * gst/gstpad.c: (gst_pad_class_init):
11503           Docs change.
11504           
11505         * gst/gstqueue.c: (gst_queue_handle_sink_event):
11506           Handle out-of-band downstream events from the sending thread.
11507
11508 2005-08-17  Andy Wingo  <wingo@pobox.com>
11509
11510         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
11511         play-timeout==0 to mean no timeout at all. In that case, don't
11512         bother with a get_state or a warning, just return directly, even
11513         if it's ASYNC.
11514
11515         * gst/base/gstbasetransform.c: Debug changes.
11516
11517         * gst/gstutils.h:
11518         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
11519         ensure bins post state change messages. A bit of a hack but I can't
11520         think of a way to avoid it.
11521
11522         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
11523
11524 2005-08-16  Andy Wingo  <wingo@pobox.com>
11525
11526         * gst/base/gstadapter.h:
11527         * gst/base/gstadapter.c (gst_adapter_take): New function, like
11528         peek() but you own the data. Not terribly efficient atm.
11529
11530 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11531
11532         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
11533         (gst_element_found_tags):
11534         * gst/gstutils.h:
11535           Add two utility functions for tag handling.
11536
11537 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11538
11539         * docs/manual/advanced-dataaccess.xml:
11540         * docs/manual/basics-helloworld.xml:
11541           Fix docs to use _bin_add() before _link(), which fixes the examples
11542           with recent core versions (reported by Madhan Raj M
11543           <raj_madan@rediffmail.com>, #313199).
11544
11545 2005-08-16  Wim Taymans  <wim@fluendo.com>
11546
11547         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
11548         Added subtract checks.
11549
11550         * docs/design/part-events.txt:
11551         Some more docs about newsegment
11552
11553         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
11554         Fix FIXME
11555
11556         * gst/gstcaps.c: (gst_caps_to_string):
11557         Add comments, cleanups.
11558         
11559         * gst/gstelement.c: (gst_element_save_thyself):
11560         cleanups
11561         
11562         * gst/gstvalue.c: (gst_value_collect_int_range),
11563         (gst_string_unwrap), (gst_value_union_int_int_range),
11564         (gst_value_union_int_range_int_range),
11565         (gst_value_intersect_int_int_range),
11566         (gst_value_intersect_int_range_int_range),
11567         (gst_value_intersect_double_double_range),
11568         (gst_value_intersect_double_range_double_range),
11569         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
11570         (gst_value_subtract_int_range_int),
11571         (gst_value_subtract_double_range_double),
11572         (gst_value_subtract_double_range_double_range),
11573         (gst_value_subtract_from_list), (gst_value_subtract_list),
11574         (gst_value_can_compare), (gst_value_compare_fraction):
11575         Cleanups, add comments, remove unneeded asserts.
11576
11577 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
11578
11579         * tools/gst-launch.c: (event_loop):
11580           don't convert NULL structures to strings
11581
11582 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
11583
11584         * docs/gst/gstreamer-sections.txt:
11585           made some defines private
11586         * docs/gst/tmpl/gstconfig.sgml:
11587         * docs/gst/tmpl/gstqueue.sgml:
11588         * docs/gst/tmpl/gsttaglist.sgml:
11589         * docs/gst/tmpl/gsttypes.sgml:
11590         * docs/gst/tmpl/gstutils.sgml:
11591         * docs/pwg/appendix-porting.xml:
11592         * gst/base/gstbasesink.h:
11593         * gst/base/gstbasesrc.c:
11594         * gst/base/gstbasesrc.h:
11595         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
11596         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
11597         * gst/gstelement.c: (gst_element_class_init):
11598         * gst/gstpad.c: (gst_pad_class_init):
11599         * gst/gstqueue.c: (gst_queue_class_init):
11600         * gst/gstxml.c: (gst_xml_class_init):
11601           documented all undocumented signal inline
11602         * libs/gst/controller/gst-controller.h:
11603           added padding
11604
11605 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11606
11607         * docs/pwg/appendix-porting.xml:
11608           Document _set_link_function -> _set_setcaps_function.
11609
11610 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
11611
11612         * check/Makefile.am:
11613           add a .check target for running the check
11614         * check/gst-libs/controller.c: (GST_START_TEST):
11615           cosmetic fixups
11616         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
11617           complete checks for gstbuffer; would be nice if I could get the
11618           gcov stuff to work so I can see if I actually completed gstbuffer.c
11619         * check/gstcheck.h:
11620           add ASSERT_BUFFER_REFCOUNT
11621
11622 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
11623
11624         * docs/gst/gstreamer-sections.txt:
11625         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
11626         * gst/gsttag.h:
11627           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
11628           spew out a warning if a tag that is already registered
11629           is re-registered, unless it is re-registered with a 
11630           different type (#308438).
11631
11632 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
11633
11634         * docs/pwg/appendix-porting.xml:
11635         * docs/pwg/building-state.xml:
11636           Add some paragraphs about state changes in 0.9 to the PWG
11637           and the porting guide, in particular about the new meaning
11638           of GST_STATE_PAUSED and how to write state change functions
11639           with concurrent access by multiple threads in mind.
11640
11641 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
11642
11643         * docs/gst/gstreamer-docs.sgml:
11644         * docs/libs/gstreamer-libs-docs.sgml:
11645           added deprecation and since indexes
11646         * libs/gst/controller/gst-controller.c:
11647         * libs/gst/controller/gst-helper.c:
11648           added since tags
11649
11650
11651 2005-08-11  Wim Taymans  <wim@fluendo.com>
11652
11653         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
11654         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
11655         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
11656         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
11657         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
11658         (gst_ghost_pad_set_target):
11659         Actually implement (re)setting the target on a ghostpad
11660         as described in the docs.
11661
11662 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
11663
11664         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
11665           Check whether GST_DEBUG_NO_COLOR environment variable is
11666           set and disable coloured debug output if that is the case.
11667
11668 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
11669
11670         * gst/base/gsttypefindhelper.c: (helper_find_peek),
11671         (gst_type_find_helper):
11672           The memory returned by gst_type_find_peek() needs to
11673           stay valid until the end of a typefind function, and
11674           typefind functions may keep results from different 
11675           offsets around, so we can't just unref the buffer from
11676           the previous _peek(), but have to save all buffers 
11677           returned by _peek() until typefinding is done and only
11678           free them then.
11679
11680 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
11681
11682         * docs/gst/gstreamer-sections.txt:
11683         * gst/gstutils.h:
11684           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
11685
11686 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11687
11688         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
11689           Fix a pretty good memleak.
11690
11691 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
11692
11693         * gst/gstiterator.h:
11694           Fix wrong include and 'make distcheck'.
11695
11696 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11697
11698         * gst/gstbin.c: (bin_bus_handler):
11699           Use gst_element_post_message() instead.
11700
11701 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
11702
11703         * gst/base/gstadapter.h:
11704         * gst/base/gstbasesink.h:
11705         * gst/base/gstbasesrc.h:
11706         * gst/base/gstbasetransform.h:
11707         * gst/base/gstcollectpads.h:
11708         * gst/base/gstpushsrc.h:
11709         * gst/gstiterator.h:
11710           Add padding to our base elements' class and instance structs and
11711           to GstIterator (you will need to rebuild all plugins and apps!)
11712
11713 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11714
11715         * gst/gstbin.c: (bin_bus_handler):
11716           Make default message forwarding from child->bus to bin->bus
11717           threadsafe and make it not emit warnings if the parent has no bus.
11718
11719 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11720
11721         * gst/gstelement.c: (activate_pads):
11722           On paused->ready, set pad->caps to NULL, as is the documented
11723           behaviour in this state change. Fixes playback of series of
11724           media files when visualization is enabled in Totem.
11725
11726 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11727
11728         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
11729           Allow NULL as filter-caps (which means "any").
11730
11731 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
11732
11733         * docs/libs/gstreamer-libs-sections.txt:
11734         * libs/gst/controller/gst-controller.c:
11735         * libs/gst/controller/gst-controller.h:
11736         * libs/gst/controller/gst-helper.c:
11737           adding more entries to the docs and fix small doc-bugs
11738
11739 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
11740
11741         * docs/gst/gstreamer-docs.sgml:
11742         * docs/gst/gstreamer-sections.txt:
11743         * docs/gst/gstreamer.types:
11744         * docs/gst/tmpl/gstbasesink.sgml:
11745         * docs/gst/tmpl/gstbasesrc.sgml:
11746         * docs/gst/tmpl/gstbasetransform.sgml:
11747         * docs/gst/tmpl/gstfakesrc.sgml:
11748         * gst/base/gstcollectpads.c:
11749         * gst/base/gstcollectpads.h:
11750         * libs/gst/controller/gst-controller.c:
11751         * libs/gst/controller/gst-controller.h:
11752         * libs/gst/controller/gst-helper.c:
11753         * libs/gst/controller/gst-interpolation.c:
11754         * libs/gst/controller/lib.c:
11755           added long/short desc for controller docs
11756           added collectpads base class docs
11757           added correct includes to base-class docs
11758
11759 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
11760
11761         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
11762         (gst_test_mono_source_set_property),
11763         (gst_test_mono_source_class_init), (GST_START_TEST),
11764         (gst_controller_suite):
11765         * docs/gst/gstreamer-docs.sgml:
11766         * docs/gst/gstreamer-sections.txt:
11767         * docs/gst/gstreamer.types:
11768         * docs/libs/gstreamer-libs-docs.sgml:
11769         * docs/libs/gstreamer-libs-sections.txt:
11770         * gst/base/gstadapter.c:
11771         * libs/gst/controller/gst-controller.c:
11772         (gst_controlled_property_new), (gst_controlled_property_free),
11773         (gst_controller_new_valist),
11774         (gst_controller_remove_properties_valist),
11775         (gst_controller_sink_values), (_gst_controller_finalize):
11776         * libs/gst/controller/gst-controller.h:
11777         * libs/gst/controller/gst-helper.c:
11778         (gst_object_control_properties), (gst_object_uncontrol_properties),
11779         (gst_object_get_controller), (gst_object_set_controller),
11780         (gst_object_sink_values), (gst_object_get_value_arrays),
11781         (gst_object_get_value_array):
11782           more tests (and fixes) for the controller
11783           more docs for the controller
11784           integrated companies docs for the adapter 
11785
11786 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
11787
11788         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
11789         (GST_START_TEST), (fakesrc_suite):
11790           add tests for sizetype
11791
11792 2005-08-04  Andy Wingo  <wingo@pobox.com>
11793
11794         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
11795         fixes buffer_alloc proxying among other things.
11796
11797         * gst/base/gstbasetransform.c:
11798         * gst/base/gstbasetransform.h:
11799         Revert patch to gstbasetransform from 7-28 removing
11800         delay_configure.
11801
11802         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
11803         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
11804         Semantics changed, should return not the size of the output buffer
11805         but the byte size of a buffer with a given caps.
11806
11807         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
11808         debug object.
11809         (gst_base_transform_configure_caps): Don't set out_size here: (in,
11810         out) are not the pad caps until setcaps finishes.
11811         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
11812         not-in-place case as well. Deal with changing from in-place to
11813         not-in-place within calling pad_alloc_buffer. Still a bit
11814         concerned about the overhead here...
11815
11816 2005-08-03  Andy Wingo  <wingo@pobox.com>
11817
11818         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
11819         fixating is an error.
11820
11821 2005-08-04  Edward Hervey  <edward@fluendo.com>
11822
11823         * gst/base/gstadapter.h: 
11824         Added gst_adapter_get_type() to the header
11825
11826 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
11827
11828         * check/Makefile.am:
11829         * check/gst-libs/controller.c:
11830         * libs/gst/controller/gst-controller.c:
11831         (gst_controller_new_valist):
11832           added check test suite for the controller
11833         * gst/base/gstpushsrc.c:
11834           fixed a doc typo
11835
11836 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
11837
11838         * docs/gst/Makefile.am:
11839         * docs/gst/gstreamer-docs.sgml:
11840         * docs/gst/gstreamer-sections.txt:
11841         * docs/gst/gstreamer.types:
11842         * docs/gst/tmpl/gstfakesrc.sgml:
11843         * gst/base/README:
11844         * gst/base/gstbasesink.c:
11845         * gst/base/gstbasesink.h:
11846         * gst/base/gstbasesrc.c:
11847         * gst/base/gstbasesrc.h:
11848         * gst/base/gstbasetransform.c:
11849         * gst/base/gstpushsrc.c:
11850         * gst/base/gstpushsrc.h:
11851           add short/long description docs to base classes
11852           add pushsrc to the docs
11853           remove consolidated doc fragments
11854
11855 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
11856
11857         * configure.ac:
11858         * docs/libs/Makefile.am:
11859         * docs/libs/gstreamer-libs-docs.sgml:
11860         * docs/libs/gstreamer-libs-sections.txt:
11861         * docs/libs/gstreamer-libs.types:
11862         * examples/Makefile.am:
11863         * examples/controller/.cvsignore:
11864         * examples/controller/Makefile.am:
11865         * examples/controller/audio-example.c: (main):
11866         * libs/gst/Makefile.am:
11867         * libs/gst/controller/.cvsignore:
11868         * libs/gst/controller/Makefile.am:
11869         * libs/gst/controller/gst-controller.c:
11870         (on_object_controlled_property_changed), (gst_timed_value_compare),
11871         (gst_timed_value_find),
11872         (gst_controlled_property_set_interpolation_mode),
11873         (gst_controlled_property_new), (gst_controlled_property_free),
11874         (gst_controller_find_controlled_property),
11875         (gst_controller_new_valist), (gst_controller_new),
11876         (gst_controller_remove_properties_valist),
11877         (gst_controller_remove_properties), (gst_controller_set),
11878         (gst_controller_set_from_list), (gst_controller_unset),
11879         (gst_controller_get), (gst_controller_get_all),
11880         (gst_controller_sink_values), (gst_controller_get_value_arrays),
11881         (gst_controller_get_value_array),
11882         (gst_controller_set_interpolation_mode),
11883         (_gst_controller_finalize), (_gst_controller_init),
11884         (_gst_controller_class_init), (gst_controller_get_type):
11885         * libs/gst/controller/gst-controller.h:
11886         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
11887         (g_object_uncontrol_properties), (g_object_get_controller),
11888         (g_object_set_controller), (g_object_sink_values),
11889         (g_object_get_value_arrays), (g_object_get_value_array):
11890         * libs/gst/controller/gst-interpolation.c:
11891         (gst_controlled_property_find_timed_value_node),
11892         (interpolate_none_get), (interpolate_trigger_get),
11893         (interpolate_trigger_get_value_array):
11894         * libs/gst/controller/lib.c: (gst_controller_init):
11895         * pkgconfig/Makefile.am:
11896         * pkgconfig/gstreamer-control-uninstalled.pc.in:
11897         * pkgconfig/gstreamer-control.pc.in:
11898         * testsuite/Makefile.am:
11899         * testsuite/controller/.cvsignore:
11900         * testsuite/controller/Makefile.am:
11901         * testsuite/controller/interpolator.c: (main):
11902           added controller code
11903           removed dparam pc files
11904
11905 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
11906         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
11907         (gst_collectpads_stop):
11908           Broadcast the condition when shutting down, to make sure we wake all
11909           threads up. Shut down pads on finalize, for safety.
11910
11911 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
11912         * gst/base/gstbasetransform.c: (gst_base_transform_init),
11913         (gst_base_transform_handle_buffer),
11914         (gst_base_transform_change_state):
11915           Handle PAUSED->READY->PAUSED transition after negotiation
11916           occurred already.
11917         * gst/gstmessage.c: (gst_message_init):
11918           Extra piece of debug for new messages.
11919
11920 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
11921
11922         * configure.ac:
11923         * docs/gst/tmpl/gstbasesrc.sgml:
11924         * docs/gst/tmpl/gstelement.sgml:
11925         * docs/gst/tmpl/gstevent.sgml:
11926         * docs/gst/tmpl/gstfakesrc.sgml:
11927         * docs/gst/tmpl/gstformat.sgml:
11928         * docs/gst/tmpl/gstghostpad.sgml:
11929         * docs/gst/tmpl/gstpad.sgml:
11930         * docs/gst/tmpl/gstquery.sgml:
11931         * docs/gst/tmpl/gststructure.sgml:
11932         * docs/gst/tmpl/gsttaglist.sgml:
11933         * docs/gst/tmpl/gstvalue.sgml:
11934         * docs/libs/gstreamer-libs-docs.sgml:
11935         * docs/libs/gstreamer-libs-sections.txt:
11936         * docs/libs/gstreamer-libs.types:
11937         * libs/gst/Makefile.am:
11938         * libs/gst/control/.cvsignore:
11939         * libs/gst/control/Makefile.am:
11940         * libs/gst/control/control.c:
11941         * libs/gst/control/control.h:
11942         * libs/gst/control/dparam.c:
11943         * libs/gst/control/dparam.h:
11944         * libs/gst/control/dparam_smooth.c:
11945         * libs/gst/control/dparam_smooth.h:
11946         * libs/gst/control/dparamcommon.h:
11947         * libs/gst/control/dparammanager.c:
11948         * libs/gst/control/dparammanager.h:
11949         * libs/gst/control/dplinearinterp.c:
11950         * libs/gst/control/dplinearinterp.h:
11951         * libs/gst/control/unitconvert.c:
11952         * libs/gst/control/unitconvert.h:
11953         * testsuite/Makefile.am:
11954         * testsuite/dynparams/.cvsignore:
11955         * testsuite/dynparams/Makefile.am:
11956         * testsuite/dynparams/dparamstest.c:
11957         * tools/Makefile.am:
11958         * tools/gst-inspect.c: (print_element_info), (main):
11959         * tools/gst-xmlinspect.c: (print_element_info), (main):
11960           deactivate and remove dparams (libgstcontrol)
11961
11962 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
11963
11964         * gst/elements/gsttypefindelement.c:
11965         (gst_type_find_element_have_type), (gst_type_find_element_init),
11966         (stop_typefinding), (gst_type_find_element_handle_event),
11967         (gst_type_find_element_chain), (gst_type_find_element_getrange):
11968         * gst/elements/gsttypefindelement.h:
11969           Set caps on all outgoing buffers, not just the first one.
11970
11971 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
11972
11973         * gst/elements/gsttypefindelement.c:
11974         (gst_type_find_element_have_type),
11975         (gst_type_find_element_check_set_buffer_caps),
11976         (gst_type_find_element_init), (stop_typefinding),
11977         (gst_type_find_element_handle_event),
11978         (gst_type_find_element_chain), (gst_type_find_element_getrange):
11979         * gst/elements/gsttypefindelement.h:
11980           Set caps on first outgoing buffer when we've found the type.
11981
11982 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
11983
11984         * docs/gst/gstreamer-docs.sgml:
11985         * docs/gst/gstreamer-sections.txt:
11986         * docs/gst/tmpl/gstscheduler.sgml:
11987         * docs/gst/tmpl/gstschedulerfactory.sgml:
11988           Remove some old cruft from docs.
11989
11990 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
11991
11992         * gst/gstpad.h:
11993           Fix inline docs for GstPadLinkReturn.
11994           
11995         * gst/gststructure.c: (gst_structure_has_name):
11996         * gst/gststructure.h:
11997         * docs/gst/gstreamer-sections.txt:
11998           New API: gst_structure_has_name().
11999
12000 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
12001
12002         * configure.ac:
12003           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
12004           and _LARGEFILE_SOURCE in config.h as required. Do not 
12005           export those flags in our .pc files any longer (#142209).
12006
12007           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
12008
12009         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
12010         (gst_file_sink_do_seek), (gst_file_sink_event),
12011         (gst_file_sink_get_current_offset), (gst_file_sink_render):
12012           Redo seek/tell calls with large file support in mind; add some
12013           debugging messages; add log message that tells us when large
12014           file support is unavailable or not enabled for some reason.
12015
12016         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
12017           Add log message that tells us when large file support 
12018           is unavailable or not enabled for some reason.
12019
12020 2005-07-29  Wim Taymans  <wim@fluendo.com>
12021
12022         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
12023         Added test for removing an element with ghostpad from a bin.
12024         Fixed test as current implementation does the right thing.
12025
12026         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
12027         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
12028         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
12029         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
12030         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
12031         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
12032         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
12033         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
12034         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
12035         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
12036         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
12037         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
12038         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
12039         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
12040         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
12041         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
12042         * gst/gstghostpad.h:
12043         Clean up ghostpads, remove properties for internal stuff.
12044         Make threadsafe.
12045         Fix refcounting.
12046         Prepare for switching targets, not all use cases work yet.
12047
12048 2005-07-29  Wim Taymans  <wim@fluendo.com>
12049
12050         * docs/design/part-gstghostpad.txt:
12051         Small update.
12052
12053         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
12054         (gst_bin_remove_func):
12055         Unlinking pads while holding the bin LOCK is not a good
12056         idea.
12057
12058         * gst/gstpad.c: (gst_pad_class_init),
12059         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
12060         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
12061         No prob setting template after creating the pad.
12062
12063 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
12064
12065         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
12066         (gst_bus_peek), (gst_bus_source_dispatch),
12067         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
12068         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
12069           gst_bus_poll may be called from other threads. Handle
12070           this nicely by not making poll_data disappear off the
12071           stack once gst_bus_poll returns.
12072           gst_bus_peek now increments the refcount on the returned
12073           message.
12074
12075 2005-07-29  Wim Taymans  <wim@fluendo.com>
12076
12077         * docs/design/part-gstghostpad.txt:
12078         Overview of current GhostPad datastructures and use
12079         cases for changing the target.
12080
12081 2005-07-28  Wim Taymans  <wim@fluendo.com>
12082
12083         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
12084         Added checks for hierarchy consistency whan adding linked
12085         elements to bins.
12086
12087         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
12088         Added check to test element scheduling without bin/pipeline.
12089
12090         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
12091         First add elements to bin, then link.
12092         
12093         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
12094         (gst_bin_remove_func):
12095         Unlink pads from elements added/removed from bin to maintain
12096         hierarchy consistency.
12097
12098 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12099
12100         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
12101         (gst_base_transform_handle_buffer):
12102         * gst/base/gstbasetransform.h:
12103           Remove broken delay_configure (fixes renegotiation of software
12104           scaling pipelines); remove some leftover printf()s.
12105
12106 2005-07-28  Wim Taymans  <wim@fluendo.com>
12107
12108         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
12109         Added some more tests for wrong hierarchy
12110
12111         * docs/design/part-overview.txt:
12112         Some updates.
12113
12114         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
12115         Cleanups.
12116
12117         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
12118         (gst_element_dispose):
12119         Some more cleanups.
12120
12121         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
12122         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
12123         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
12124         (gst_pad_set_caps), (gst_pad_send_event):
12125         Check for correct hierarchy when linking pads. Moving to
12126         strict requirement for ghostpads when linking elements in
12127         different bins.
12128
12129         * gst/gstpad.h:
12130         Clean ups. Added WRONG_HIERARCHY return value.
12131
12132 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12133
12134         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
12135           Better debug if no transform is possible.
12136
12137 2005-07-27  Wim Taymans  <wim@fluendo.com>
12138
12139         * docs/random/wtay/network-transp:
12140         Some old doc I had.
12141
12142 2005-07-27  Wim Taymans  <wim@fluendo.com>
12143
12144         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
12145         (gst_dp_event_from_packet):
12146         Fix serialization of seek events.
12147
12148 2005-07-27  Wim Taymans  <wim@fluendo.com>
12149
12150         * check/gst-libs/gdp.c: (GST_START_TEST):
12151         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
12152         Fix compilation and fix event serialization.
12153
12154 2005-07-27  Wim Taymans  <wim@fluendo.com>
12155
12156         * CHANGES-0.9:
12157         * docs/design/part-TODO.txt:
12158         * docs/design/part-events.txt:
12159         Some docs updates
12160
12161         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
12162         (gst_base_sink_event), (gst_base_sink_do_sync),
12163         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
12164         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
12165         (gst_base_src_do_seek), (gst_base_src_event_handler),
12166         (gst_base_src_loop):
12167         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
12168         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
12169         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
12170         (gst_base_transform_event), (gst_base_transform_handle_buffer),
12171         (gst_base_transform_set_passthrough),
12172         (gst_base_transform_is_passthrough):
12173         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
12174         * gst/elements/gstfilesink.c: (gst_file_sink_event):
12175         Event updates.
12176
12177         * gst/gstbuffer.h:
12178         Use faster casts.
12179
12180         * gst/gstelement.c: (gst_element_seek):
12181         * gst/gstelement.h:
12182         Update gst_element_seek.
12183
12184         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
12185         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
12186         (gst_event_new_flush_start), (gst_event_new_flush_stop),
12187         (gst_event_new_eos), (gst_event_new_newsegment),
12188         (gst_event_parse_newsegment), (gst_event_new_tag),
12189         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
12190         (gst_event_parse_qos), (gst_event_new_seek),
12191         (gst_event_parse_seek), (gst_event_new_navigation):
12192         * gst/gstevent.h:
12193         Make GstEvent use GstStructure. Add parsing code, make sure the
12194         API is sufficiently generic.
12195         Mark possible directions of events and serialization.
12196
12197         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
12198         (_gst_message_copy), (gst_message_new_segment_start),
12199         (gst_message_new_segment_done), (gst_message_new_custom),
12200         (gst_message_parse_segment_start),
12201         (gst_message_parse_segment_done):
12202         Small cleanups.
12203
12204         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
12205         (gst_pad_set_caps), (gst_pad_send_event):
12206         Update for new events. 
12207         Catch events sent in wrong directions.
12208
12209         * gst/gstqueue.c: (gst_queue_link_src),
12210         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
12211         (gst_queue_handle_src_query):
12212         Event updates.
12213
12214         * gst/gsttag.c:
12215         * gst/gsttag.h:
12216         Remove event code from this file.
12217
12218         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
12219         (gst_dp_event_from_packet):
12220         Event updates.
12221
12222 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12223
12224         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
12225         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
12226         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
12227           Make debugging actually useful.
12228
12229 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12230
12231         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
12232         (gst_pad_fixate_caps):
12233           Implement default fixation once again, so that gst_pad_fixate()
12234           actually does anything at all. This probably needs to be some
12235           sort of a last resort, and use profile-based fixation first, but
12236           since that doesn't exist yet, this is the best we have. Fixes
12237           visualization in Totem.
12238
12239 2005-07-22  Wim Taymans  <wim@fluendo.com>
12240
12241         * docs/design/part-events.txt:
12242         Small update.
12243
12244         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
12245         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
12246         (gst_base_sink_activate_pull):
12247         Some more comments.
12248
12249         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
12250         (gst_fake_src_create):
12251         Fix handoff marshall.
12252
12253         * gst/elements/gstidentity.c: (gst_identity_class_init),
12254         (gst_identity_transform_ip):
12255         We're a real inplace element.
12256
12257         * gst/gstbus.c: (gst_bus_post):
12258         Added some comments.
12259
12260         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
12261         * tests/muxing/case1.c: (main):
12262         * tests/sched/dynamic-pipeline.c: (main):
12263         * tests/sched/interrupt1.c: (main):
12264         * tests/sched/interrupt2.c: (main):
12265         * tests/sched/interrupt3.c: (main):
12266         * tests/sched/runxml.c: (main):
12267         * tests/sched/sched-stress.c: (main):
12268         * tests/seeking/seeking1.c: (event_received), (main):
12269         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
12270         (main):
12271         * tests/threadstate/threadstate3.c: (main):
12272         * tests/threadstate/threadstate4.c: (main):
12273         * tests/threadstate/threadstate5.c: (main):
12274         Fix the tests.
12275
12276 2005-07-21  Wim Taymans  <wim@fluendo.com>
12277
12278         * docs/design/part-seeking.txt:
12279         Some small additions.
12280
12281         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
12282         (gst_base_sink_get_times), (gst_base_sink_do_sync),
12283         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
12284         * gst/base/gstbasesink.h:
12285         discont values are gint64, handle the math correctly.
12286
12287         * gst/base/gstbasesrc.c: (gst_base_src_loop):
12288         Make the basesrc report error if the source pad is not linked.
12289
12290         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
12291         (gst_queue_loop), (gst_queue_handle_src_query),
12292         (gst_queue_src_activate_push):
12293         Make queue collect data even if the srcpad is not linked.
12294         Start pushing out data as soon as it is linked.
12295
12296         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
12297         * gst/gstutils.h:
12298         Added gst_flow_get_name() to ease error reporting.
12299
12300 2005-07-20  Wim Taymans  <wim@fluendo.com>
12301
12302         * gst/gstmessage.c: (gst_message_new_segment_start),
12303         (gst_message_new_segment_done), (gst_message_parse_segment_start),
12304         (gst_message_parse_segment_done):
12305         * gst/gstmessage.h:
12306         Added a bunch of messages for advanced seeking.
12307
12308         * gst/parse/grammar.y:
12309         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
12310         (gst_dpman_state_changed):
12311         Fix some new-pad -> pad-added signals
12312
12313 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12314
12315         * docs/manual/appendix-porting.xml:
12316         * docs/pwg/appendix-porting.xml:
12317           Document new-pad/state-change signal renames and the FixedList
12318           type rename.
12319
12320 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12321
12322         * docs/manual/advanced-autoplugging.xml:
12323         * docs/manual/basics-helloworld.xml:
12324         * docs/manual/basics-pads.xml:
12325         * docs/random/ds/0.9-suggested-changes:
12326         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
12327         * gst/gstelement.h:
12328         * gst/gstevent.h:
12329         * gst/gstformat.h:
12330         * gst/gstquery.h:
12331         * gst/gststructure.c: (gst_structure_value_get_generic_type),
12332         (gst_structure_parse_array), (gst_structure_parse_value):
12333         * gst/gstvalue.c: (gst_type_is_fixed),
12334         (gst_value_list_prepend_value), (gst_value_list_append_value),
12335         (gst_value_list_get_size), (gst_value_list_get_value),
12336         (gst_value_transform_array_string), (gst_value_serialize_array),
12337         (gst_value_deserialize_array), (gst_value_intersect_array),
12338         (gst_value_is_fixed), (_gst_value_initialize):
12339         * gst/gstvalue.h:
12340           GstElement::new-pad -> pad-added, GstElement::state-change ->
12341           state-changed, GstValueFixedList -> GstValueArray, add format and
12342           flags as their own arguments in gst_element_seek() (should improve
12343           "bindeability"), remove function generators since they don't work
12344           under a whole bunch of compilers (they were deprecated already
12345           anyway).
12346
12347 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12348
12349         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
12350         (_gst_debug_register_funcptr):
12351         * gst/gstinfo.h:
12352           Fix illegal cast on some platforms (#309253).
12353
12354 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12355
12356         * gst/gstmessage.c: (gst_message_new_custom):
12357         * gst/gstmessage.h:
12358           Add _new_custom, make _new_application a macro to _new_custom.
12359
12360 2005-07-20  Wim Taymans  <wim@fluendo.com>
12361
12362         * gst/base/gstbasesrc.c: (gst_base_src_init),
12363         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
12364         * gst/base/gstbasesrc.h:
12365         Add a gboolean to decide when to push out a discont.
12366
12367         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
12368         (gst_queue_loop), (gst_queue_handle_src_query),
12369         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
12370         (gst_queue_set_property), (gst_queue_get_property):
12371         Some cleanups.
12372
12373         * tests/threadstate/threadstate1.c: (main):
12374         Make a thread test compile and run... very silly..
12375
12376
12377 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12378
12379         * docs/manual/appendix-porting.xml:
12380           Mention removal of libgstgconf-0.9.la and existence of gconf
12381           elements.
12382
12383 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12384
12385         * docs/pwg/advanced-clock.xml:
12386         * docs/pwg/appendix-porting.xml:
12387         * docs/pwg/intro-preface.xml:
12388         * docs/pwg/other-base.xml:
12389         * docs/pwg/other-manager.xml:
12390         * docs/pwg/other-nton.xml:
12391         * docs/pwg/other-ntoone.xml:
12392         * docs/pwg/other-oneton.xml:
12393         * docs/pwg/pwg.xml:
12394           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
12395           demuxer), remove n-to-n (was never written), fix some code examples
12396           and links and update the porting section to include all this.
12397
12398 2005-07-19  Wim Taymans  <wim@fluendo.com>
12399
12400         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
12401         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
12402         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
12403         (gst_queue_src_activate_push), (gst_queue_change_state),
12404         (gst_queue_get_property):
12405         * gst/gstqueue.h:
12406         Propagate GstFlowReturn more intelligently upstream and output
12407         an ERROR/EOS when streaming stopped due to fatal error.
12408
12409 2005-07-19  Wim Taymans  <wim@fluendo.com>
12410
12411         * tools/gst-launch.c: (check_intr), (event_loop), (main):
12412         Don't block forever for the state change to complete, the
12413         pipeline already did with a sensible timeout.
12414
12415 2005-07-19  Wim Taymans  <wim@fluendo.com>
12416
12417         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
12418         Make sure we never call the create function is we
12419         got deactivated.
12420
12421 2005-07-19  Andy Wingo  <wingo@pobox.com>
12422
12423         * gst/parse/parse.l: Attempt to solve bug #172815.
12424
12425 2005-07-19  Wim Taymans  <wim@fluendo.com>
12426
12427         * docs/design/part-clocks.txt:
12428         * docs/design/part-events.txt:
12429         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
12430         Small docs updates.
12431         Only update the seeking values when we are not
12432         busy streaming.
12433
12434 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
12435
12436         * gst/base/gstbasesrc.c: (gst_base_src_loop):
12437           Oops, ignore the result of gst_pad_push_event here.
12438
12439 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
12440
12441         * gst/base/gstbasesrc.c: (gst_base_src_loop),
12442         (gst_base_src_activate_push):
12443           Send discont event from the loop function, as pads
12444           aren't activated yet in the activate_push handler.
12445
12446         * gst/gstbin.c: (bin_bus_handler):
12447           Don't leak element name.
12448
12449 2005-07-18  Andy Wingo  <wingo@pobox.com>
12450
12451         * configure.ac: Use AS_LIBTOOL_TAGS.
12452
12453 2005-07-18  Wim Taymans  <wim@fluendo.com>
12454
12455         * docs/gst/gstreamer.types:
12456         Remove deleted types.
12457
12458 2005-07-18  Wim Taymans  <wim@fluendo.com>
12459
12460         * check/elements/gstfakesrc.c: (GST_START_TEST):
12461         * configure.ac:
12462         * gst/Makefile.am:
12463         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
12464         (init_popt_callback):
12465         * gst/gst.h:
12466         * gst/gst_private.h:
12467         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
12468         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
12469         * gst/gstbin.h:
12470         * gst/gstbus.h:
12471         * gst/gstconfig.h.in:
12472         * gst/gstelement.c: (gst_element_class_init),
12473         (gst_element_set_base_time), (gst_element_get_base_time),
12474         (iterator_fold_with_resync), (gst_element_change_state),
12475         (gst_element_dispose), (gst_element_get_bus):
12476         * gst/gstelement.h:
12477         * gst/gstelementfactory.h:
12478         * gst/gsterror.c: (_gst_core_errors_init):
12479         * gst/gsterror.h:
12480         * gst/gstevent.h:
12481         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
12482         * gst/gstindex.c:
12483         * gst/gstinfo.c: (_gst_debug_init):
12484         * gst/gstmessage.c: (_gst_message_copy):
12485         * gst/gstmessage.h:
12486         * gst/gstminiobject.h:
12487         * gst/gstobject.c:
12488         * gst/gstobject.h:
12489         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
12490         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
12491         * gst/gstpad.h:
12492         * gst/gstparse.h:
12493         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
12494         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
12495         (gst_pipeline_get_last_stream_time):
12496         * gst/gstpipeline.h:
12497         * gst/gstpluginfeature.h:
12498         * gst/gstquery.h:
12499         * gst/gstscheduler.c:
12500         * gst/gstscheduler.h:
12501         * gst/gststructure.h:
12502         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
12503         (gst_task_finalize), (gst_task_func), (gst_task_create),
12504         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
12505         (gst_task_stop), (gst_task_pause):
12506         * gst/gsttask.h:
12507         * gst/gsttypefind.h:
12508         * gst/gsttypes.h:
12509         * gst/registries/gstlibxmlregistry.c: (load_feature),
12510         (gst_xml_registry_load), (gst_xml_registry_save_feature):
12511         * gst/registries/gstxmlregistry.c:
12512         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
12513         * gst/schedulers/threadscheduler.c:
12514         * libs/gst/control/dparammanager.h:
12515         * tools/gst-inspect.c: (print_element_list),
12516         (print_plugin_features), (print_element_features):
12517         * tools/gst-xmlinspect.c: (print_element_list),
12518         (print_plugin_info), (main):
12519         Removed plugable schedulers.
12520         Removed Scheduler/Manager from elements.
12521         Removed gsttypes.h, rearranged includes.
12522         Removed dependency pad<->element, element<>pipeline, and
12523         various others,  fix includes.
12524         implement gst_pad_get_parent() with gst_object_get_parent()
12525         Make GstTask sefcontained.
12526         Fix _get_state() on GstBin, it did not return ASYNC with a 0
12527         timeout.
12528         Fix endless loop in iterator_fold_with_resync.
12529
12530
12531 2005-07-18  Wim Taymans  <wim@fluendo.com>
12532
12533         * gst/Makefile.am:
12534         * gst/gstarch.h:
12535         Remove old file.
12536
12537 2005-07-18  Wim Taymans  <wim@fluendo.com>
12538
12539         * gst/Makefile.am:
12540         No more cothreads.h
12541
12542 2005-07-18  Wim Taymans  <wim@fluendo.com>
12543
12544         * gst/cothreads.c:
12545         * gst/cothreads.h:
12546         Let's remove these.
12547
12548 2005-07-18  Wim Taymans  <wim@fluendo.com>
12549
12550         * docs/design/part-dynamic.txt:
12551         * docs/design/part-events.txt:
12552         * docs/design/part-seeking.txt:
12553         Some more docs in the works.
12554
12555         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
12556         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
12557         (gst_base_transform_setcaps), (gst_base_transform_get_size),
12558         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
12559         (gst_base_transform_handle_buffer),
12560         (gst_base_transform_sink_activate_push),
12561         (gst_base_transform_src_activate_pull),
12562         (gst_base_transform_set_passthrough),
12563         (gst_base_transform_is_passthrough):
12564         Refcounting fixes.
12565
12566         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
12567         Cleanups.
12568
12569         * gst/gstevent.c: (gst_event_finalize):
12570         Set SRC to NULL.
12571
12572         * gst/gstutils.c: (gst_element_unlink),
12573         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
12574         (gst_pad_proxy_setcaps):
12575         * gst/gstutils.h:
12576         Add _get_parent_element() to get a pads parent as an element.
12577
12578 2005-07-18  Wim Taymans  <wim@fluendo.com>
12579
12580         * check/gst/gstbin.c: (GST_START_TEST):
12581         Remove bogus test.
12582
12583 2005-07-18  Wim Taymans  <wim@fluendo.com>
12584
12585         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
12586         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
12587         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
12588         (gst_base_sink_event), (gst_base_sink_do_sync),
12589         (gst_base_sink_chain), (gst_base_sink_loop),
12590         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
12591         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
12592         Refcounting fixes.
12593         Fix logic for returning ASYNC when not prerolled.
12594
12595 2005-07-18  Wim Taymans  <wim@fluendo.com>
12596
12597         * gst/gstqueue.c: (gst_queue_handle_sink_event):
12598         Fix nasty refcount bug.
12599
12600 2005-07-16 Philippe Khalaf <burger@speedy.org>
12601
12602         * gst/elements/gstfdsrc.c:
12603         * gst/elements/gstfdsrc.h:
12604         * gst/elements/gstelements.c:
12605         * gst/elements/Makefile.am:
12606         Ported fdsrc to 0.9.
12607
12608 2005-07-16  Wim Taymans  <wim@fluendo.com>
12609
12610         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
12611         (gst_base_sink_do_sync):
12612         Fix compile error.
12613
12614 2005-07-16  Wim Taymans  <wim@fluendo.com>
12615
12616         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
12617         (gst_base_sink_event), (gst_base_sink_get_times),
12618         (gst_base_sink_do_sync), (gst_base_sink_change_state):
12619         * gst/base/gstbasesink.h:
12620         Store and use discont values when syncing buffers as described
12621         in design docs.
12622         
12623         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
12624         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
12625         (gst_base_src_activate_push):
12626         Push discont event when starting.
12627
12628         * gst/elements/gstidentity.c: (gst_identity_transform):
12629         Small cleanups.
12630
12631         * gst/gstbin.c: (gst_bin_change_state):
12632         Small cleanups in base_time  distribution.
12633
12634         * gst/gstelement.c: (gst_element_set_base_time),
12635         (gst_element_get_base_time), (gst_element_change_state):
12636         * gst/gstelement.h:
12637         Added methods for the base_time of the element.
12638         Some MT fixes.
12639
12640         * gst/gstpipeline.c: (gst_pipeline_send_event),
12641         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
12642         (gst_pipeline_get_last_stream_time):
12643         * gst/gstpipeline.h:
12644         MT fixes.
12645         Handle seeking as described in design doc, remove stream_time
12646         hack.
12647         Cleanups clock and stream_time selection code. Added accessors
12648         for the stream_time.
12649         
12650
12651 2005-07-16  Andy Wingo  <wingo@pobox.com>
12652
12653         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
12654         (#305291).
12655
12656 2005-07-16  Wim Taymans  <wim@fluendo.com>
12657
12658         * check/gst/gstbin.c: (GST_START_TEST):
12659         Make elements silent as the deep_notify refs the
12660         parent, which might make the test fail.
12661
12662         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
12663         Don't hold the lock for too long.
12664
12665 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
12666
12667         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
12668           Don't unref the caps we passed to gst_caps_make_writable() after
12669           passing them. gst_caps_make_writable() will do that for us.
12670
12671 2005-07-15  Andy Wingo  <wingo@pobox.com>
12672
12673         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
12674         (#157311).
12675
12676         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
12677         own marshalling function for the handoff signal. Properly type the
12678         buffer as a buffer. Fixes some warnings. Should do a more general
12679         solution.
12680         (gst_identity_class_init): Plug into the right marshaller.
12681
12682 2005-07-15  Wim Taymans  <wim@fluendo.com>
12683
12684         * docs/design/part-TODO.txt:
12685         * docs/design/part-clocks.txt:
12686         * docs/design/part-element-sink.txt:
12687         * docs/design/part-events.txt:
12688         * docs/design/part-gstpipeline.txt:
12689         Updated docs, mostly DISCONT related.
12690
12691 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
12692
12693         * docs/pwg/building-pads.xml:
12694           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
12695
12696 2005-07-15  Andy Wingo  <wingo@pobox.com>
12697
12698         * tools/gst-typefind.c: Update, add copyright block.
12699
12700         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
12701         Normalize and truncate caps before fixation.
12702
12703         * gst/gstcaps.h:
12704         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
12705         discards all but the first structure from its argument.
12706
12707 2005-07-15  Wim Taymans  <wim@fluendo.com>
12708
12709         * gst/base/gstbasetransform.c: (gst_base_transform_init),
12710         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
12711         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
12712         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
12713         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
12714         (gst_base_transform_chain), (gst_base_transform_change_state),
12715         (gst_base_transform_set_passthrough),
12716         (gst_base_transform_is_passthrough):
12717         * gst/base/gstbasetransform.h:
12718         Make passthrough work using the bufferpools.
12719         Changed API a bit, subclasses have to write into a buffer
12720         provided by the base class.
12721         More debug info in nego functions.
12722         
12723         * gst/elements/gstidentity.c: (gst_identity_init),
12724         (gst_identity_transform):
12725         Port to new base class.
12726
12727 2005-07-15  Wim Taymans  <wim@fluendo.com>
12728
12729         * gst/gstmessage.c: (gst_message_new_state_changed):
12730         * tools/gst-launch.c: (event_loop), (main):
12731         Totally dump messages in -launch with the -m option.
12732         Fix message name for State messages,
12733
12734 2005-07-14  Wim Taymans  <wim@fluendo.com>
12735
12736         * gst/base/gstbasesrc.c: (gst_base_src_loop):
12737         Post error messages on errors.
12738
12739 2005-07-14  Wim Taymans  <wim@fluendo.com>
12740
12741         * gst/gstcaps.c: (gst_caps_do_simplify):
12742         Remove debug info.
12743
12744         * gst/gsterror.h:
12745         Define error for stream stopped.
12746
12747         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
12748         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
12749         Do proper return values.
12750
12751         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
12752         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
12753         (gst_pad_get_range):
12754         Better return values.
12755
12756         * gst/gstpad.h:
12757         Reorganise return values, add macro to check for fatal errors.
12758
12759         * gst/gstqueue.c: (gst_queue_chain):
12760         Return proper GstFlowReturn values,
12761
12762 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
12763
12764         * docs/gst/gstreamer-sections.txt:
12765         * docs/gst/gstreamer.types:
12766         * docs/gst/tmpl/gst.sgml:
12767         * docs/gst/tmpl/gstbasesink.sgml:
12768         * docs/gst/tmpl/gstbasesrc.sgml:
12769         * docs/gst/tmpl/gstbasetransform.sgml:
12770         * docs/gst/tmpl/gstbin.sgml:
12771         * docs/gst/tmpl/gstbuffer.sgml:
12772         * docs/gst/tmpl/gstcaps.sgml:
12773         * docs/gst/tmpl/gstclock.sgml:
12774         * docs/gst/tmpl/gstcompat.sgml:
12775         * docs/gst/tmpl/gstconfig.sgml:
12776         * docs/gst/tmpl/gstelement.sgml:
12777         * docs/gst/tmpl/gstelementdetails.sgml:
12778         * docs/gst/tmpl/gstelementfactory.sgml:
12779         * docs/gst/tmpl/gstenumtypes.sgml:
12780         * docs/gst/tmpl/gsterror.sgml:
12781         * docs/gst/tmpl/gstevent.sgml:
12782         * docs/gst/tmpl/gstfakesink.sgml:
12783         * docs/gst/tmpl/gstfakesrc.sgml:
12784         * docs/gst/tmpl/gstfilesink.sgml:
12785         * docs/gst/tmpl/gstfilesrc.sgml:
12786         * docs/gst/tmpl/gstfilter.sgml:
12787         * docs/gst/tmpl/gstformat.sgml:
12788         * docs/gst/tmpl/gstghostpad.sgml:
12789         * docs/gst/tmpl/gstimplementsinterface.sgml:
12790         * docs/gst/tmpl/gstindex.sgml:
12791         * docs/gst/tmpl/gstindexfactory.sgml:
12792         * docs/gst/tmpl/gstinfo.sgml:
12793         * docs/gst/tmpl/gstiterator.sgml:
12794         * docs/gst/tmpl/gstmacros.sgml:
12795         * docs/gst/tmpl/gstmemchunk.sgml:
12796         * docs/gst/tmpl/gstminiobject.sgml:
12797         * docs/gst/tmpl/gstobject.sgml:
12798         * docs/gst/tmpl/gstpad.sgml:
12799         * docs/gst/tmpl/gstpadtemplate.sgml:
12800         * docs/gst/tmpl/gstparse.sgml:
12801         * docs/gst/tmpl/gstpipeline.sgml:
12802         * docs/gst/tmpl/gstplugin.sgml:
12803         * docs/gst/tmpl/gstpluginfeature.sgml:
12804         * docs/gst/tmpl/gstquery.sgml:
12805         * docs/gst/tmpl/gstqueue.sgml:
12806         * docs/gst/tmpl/gstregistry.sgml:
12807         * docs/gst/tmpl/gstregistrypool.sgml:
12808         * docs/gst/tmpl/gstscheduler.sgml:
12809         * docs/gst/tmpl/gstschedulerfactory.sgml:
12810         * docs/gst/tmpl/gststructure.sgml:
12811         * docs/gst/tmpl/gstsystemclock.sgml:
12812         * docs/gst/tmpl/gsttaglist.sgml:
12813         * docs/gst/tmpl/gsttagsetter.sgml:
12814         * docs/gst/tmpl/gsttrace.sgml:
12815         * docs/gst/tmpl/gsttrashstack.sgml:
12816         * docs/gst/tmpl/gsttypefind.sgml:
12817         * docs/gst/tmpl/gsttypefindfactory.sgml:
12818         * docs/gst/tmpl/gsttypes.sgml:
12819         * docs/gst/tmpl/gsturihandler.sgml:
12820         * docs/gst/tmpl/gsturitype.sgml:
12821         * docs/gst/tmpl/gstutils.sgml:
12822         * docs/gst/tmpl/gstvalue.sgml:
12823         * docs/gst/tmpl/gstversion.sgml:
12824         * docs/gst/tmpl/gstxml.sgml:
12825         * docs/libs/tmpl/gstcontrol.sgml:
12826         * docs/libs/tmpl/gstdataprotocol.sgml:
12827         * docs/libs/tmpl/gstdparam.sgml:
12828         * docs/libs/tmpl/gstdplinint.sgml:
12829         * docs/libs/tmpl/gstdpman.sgml:
12830         * docs/libs/tmpl/gstdpsmooth.sgml:
12831         * docs/libs/tmpl/gstgetbits.sgml:
12832         * docs/libs/tmpl/gstunitconvert.sgml:
12833         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
12834         (gst_push_src_base_init), (gst_push_src_class_init),
12835         (gst_push_src_init), (gst_push_src_create):
12836         * gst/base/gstpushsrc.h:
12837         * gst/elements/gstelements.c:
12838         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
12839         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
12840         (gst_fake_sink_init), (gst_fake_sink_set_property),
12841         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
12842         (gst_fake_sink_event), (gst_fake_sink_preroll),
12843         (gst_fake_sink_render), (gst_fake_sink_change_state):
12844         * gst/elements/gstfakesink.h:
12845         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
12846         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
12847         (gst_fake_src_base_init), (gst_fake_src_class_init),
12848         (gst_fake_src_init), (gst_fake_src_event_handler),
12849         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
12850         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
12851         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
12852         (gst_fake_src_create_buffer), (gst_fake_src_create),
12853         (gst_fake_src_start), (gst_fake_src_stop):
12854         * gst/elements/gstfakesrc.h:
12855         * gst/elements/gstfilesink.c: (_do_init),
12856         (gst_file_sink_base_init), (gst_file_sink_class_init),
12857         (gst_file_sink_init), (gst_file_sink_dispose),
12858         (gst_file_sink_set_location), (gst_file_sink_set_property),
12859         (gst_file_sink_get_property), (gst_file_sink_open_file),
12860         (gst_file_sink_close_file), (gst_file_sink_query),
12861         (gst_file_sink_event), (gst_file_sink_render),
12862         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
12863         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
12864         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
12865         * gst/elements/gstfilesink.h:
12866         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
12867         (gst_file_src_class_init), (gst_file_src_init),
12868         (gst_file_src_finalize), (gst_file_src_set_location),
12869         (gst_file_src_set_property), (gst_file_src_get_property),
12870         (gst_file_src_map_region), (gst_file_src_map_small_region),
12871         (gst_file_src_create_mmap), (gst_file_src_create_read),
12872         (gst_file_src_create), (gst_file_src_is_seekable),
12873         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
12874         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
12875         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
12876         (gst_file_src_uri_handler_init):
12877         * gst/elements/gstfilesrc.h:
12878           more autistic cleanliness in functions/names/defines
12879
12880 2005-07-13  Andy Wingo  <wingo@pobox.com>
12881
12882         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
12883         source couldn't negotiate.
12884
12885         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
12886         connections again.
12887
12888         * gst/gstutils.h:
12889         * gst/gstutils.c (gst_element_link_pads_filtered): New old
12890         function. I am channeling Hades. Put your boots on suckers!!!
12891
12892 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
12893
12894         * testsuite/caps/Makefile.am:
12895         * testsuite/caps/value_compare.c:
12896         * testsuite/caps/value_intersect.c:
12897         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
12898           move two testsuite apps over to the check dir
12899
12900 2005-07-12  Wim Taymans  <wim@fluendo.com>
12901
12902         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
12903         Added more debug info in the negotiate process.
12904
12905         * gst/gstmessage.h:
12906         Prepare for segment playback.
12907
12908         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
12909         Better debugging.
12910
12911         * gst/gstutils.c:
12912         Some more docs.
12913
12914         * tools/gst-launch.c: (main):
12915         NULL pipeline on errors.
12916
12917 2005-07-12  Andy Wingo  <wingo@pobox.com>
12918
12919         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
12920         not it comes from a malloc region. Make sure our copy gets freed.
12921
12922 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12923
12924         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
12925         * check/gst/gstmessage.c: (GST_START_TEST):
12926         * check/gst/gststructure.c: (GST_START_TEST),
12927         (gst_structure_suite), (main):
12928           more testing
12929         * gst/gstelement.c: (gst_element_message_full):
12930           clean up GError and debug string now that they get copied
12931         * gst/gstmessage.c: (gst_message_new_error),
12932         (gst_message_new_warning), (gst_message_parse_error),
12933         (gst_message_parse_warning):
12934           use GST_TYPE_G_ERROR for structure_new, and take copies of
12935           arguments, so that we don't mess up refcounting
12936
12937 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12938
12939         * check/Makefile.am:
12940           add per-test valgrind targets
12941         * check/gst-libs/gdp.c: (GST_START_TEST),
12942         (gst_data_protocol_suite), (main):
12943           clean up
12944
12945 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12946
12947         * check/Makefile.am:
12948           instate more valgrindable tests
12949         * check/elements/gstfakesrc.c: (chain_func), (event_func),
12950         (GST_START_TEST), (fakesrc_suite):
12951         * check/gst/gstpad.c: (GST_START_TEST):
12952         * check/gst/gststructure.c: (GST_START_TEST):
12953           fix test leaks
12954         * docs/gst/tmpl/gstminiobject.sgml:
12955         * gst/gstpad.c: (gst_pad_finalize):
12956           fix the static mutex leak
12957
12958 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
12959
12960         * check/Makefile.am:
12961           add two more tests for valgrinding
12962         * check/gst/gstvalue.c: (GST_START_TEST):
12963           test refcount of deserialized buffer, found a leak
12964         * docs/gst/gstreamer-docs.sgml:
12965         * docs/gst/gstreamer-sections.txt:
12966         * docs/gst/gstreamer.types:
12967         * docs/gst/tmpl/gstminiobject.sgml:
12968           add miniobject to docs
12969         * gst/gstminiobject.c:
12970           add some docs
12971         * gst/gstvalue.c: (gst_value_deserialize_buffer),
12972         (gst_string_unwrap):
12973           fix a hard-to-find invalid write for one of the tests
12974           fix a leak for deserialized buffers
12975
12976 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12977
12978         * docs/pwg/advanced-events.xml:
12979         * docs/pwg/advanced-request.xml:
12980         * docs/pwg/advanced-scheduling.xml:
12981         * docs/pwg/appendix-porting.xml:
12982         * docs/pwg/building-boiler.xml:
12983         * docs/pwg/intro-preface.xml:
12984         * docs/pwg/other-ntoone.xml:
12985           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
12986           of example code and explanation for pad activation, loop() and
12987           getrange() functions and a bit more. Remove old comments pointing
12988           to loop-functions.
12989         * examples/pwg/Makefile.am:
12990           Add loop/getrange examples.
12991
12992 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
12993
12994         * configure.ac:
12995           check for valgrind binary + some fixes
12996         * check/gst.supp:
12997           valgrind suppressions for the tests
12998         * check/Makefile.am:
12999           add a valgrind: target that valgrinds the unit tests
13000         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
13001         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
13002         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
13003         * check/gst/gstghostpad.c:
13004           added some cleanup
13005         * check/gst/gstdata.c:
13006           removed
13007         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
13008         (thread_unref), (gst_mini_object_suite), (main):
13009           added
13010         * gst/gst.c: (gst_deinit):
13011         * gst/gst.h:
13012           add a method to clean up.
13013         * gst/gstsystemclock.c: (gst_system_clock_dispose),
13014         (gst_system_clock_obtain):
13015           allow for disposing the system clock.
13016         * tools/gst-launch.c: (main):
13017           deinit
13018
13019 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
13020
13021         * docs/gst/tmpl/gstbasesrc.sgml:
13022         * docs/gst/tmpl/gstfakesrc.sgml:
13023         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
13024         (gst_base_src_init), (gst_base_src_set_property),
13025         (gst_base_src_get_property), (gst_base_src_get_range),
13026         (gst_base_src_start):
13027         * gst/base/gstbasesrc.h:
13028           add num-buffers property
13029         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
13030         (gst_fakesrc_init), (gst_fakesrc_set_property),
13031         (gst_fakesrc_get_property), (gst_fakesrc_create),
13032         (gst_fakesrc_start):
13033           remove num-buffers property
13034
13035 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
13036
13037         * docs/gst/gstreamer-sections.txt:
13038         * docs/gst/tmpl/gstbasesink.sgml:
13039         * docs/gst/tmpl/gstbasesrc.sgml:
13040         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
13041         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
13042         (gst_base_sink_finalize), (gst_base_sink_set_clock),
13043         (gst_base_sink_set_property), (gst_base_sink_get_property),
13044         (gst_base_sink_handle_object), (gst_base_sink_event),
13045         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
13046         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
13047         (gst_base_sink_loop), (gst_base_sink_deactivate),
13048         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
13049         (gst_base_sink_change_state):
13050         * gst/base/gstbasesink.h:
13051         * gst/base/gstbasesrc.h:
13052         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
13053         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
13054         (gst_filesink_init):
13055           more macro splitting
13056
13057 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
13058
13059         * gst/gstelement.c: (gst_element_get_bus):
13060           add debug
13061         * tools/gst-launch.c: (check_intr), (event_loop):
13062           fix bus leaks
13063
13064 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
13065
13066         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
13067           fix a caps leak
13068
13069 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
13070
13071         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
13072         (gst_base_src_finalize):
13073           add finalize method and clean up properly
13074         * gst/gstpipeline.c: (gst_pipeline_dispose):
13075           add debug
13076
13077 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
13078
13079         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
13080         (gst_bin_suite):
13081           add more things to check
13082         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
13083         * gst/gstelement.c:
13084           more debug
13085
13086 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
13087
13088         * check/elements/gstfakesrc.c: (chain_func), (event_func),
13089         (GST_START_TEST), (fakesrc_suite):
13090         * check/gst-libs/gdp.c: (GST_START_TEST):
13091         * check/gst/gst.c: (GST_START_TEST):
13092         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
13093         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
13094         * check/gst/gstbus.c: (GST_START_TEST):
13095         * check/gst/gstcaps.c: (GST_START_TEST):
13096         * check/gst/gstdata.c: (GST_START_TEST):
13097         * check/gst/gstelement.c: (GST_START_TEST):
13098         * check/gst/gstghostpad.c: (GST_START_TEST):
13099         * check/gst/gstiterator.c: (GST_START_TEST):
13100         * check/gst/gstmessage.c: (GST_START_TEST):
13101         * check/gst/gstobject.c: (GST_START_TEST):
13102         * check/gst/gstpad.c: (GST_START_TEST):
13103         * check/gst/gststructure.c: (GST_START_TEST):
13104         * check/gst/gstsystemclock.c: (GST_START_TEST),
13105         (gst_systemclock_suite):
13106         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
13107         * check/gst/gstvalue.c: (GST_START_TEST):
13108         * check/pipelines/cleanup.c: (GST_START_TEST):
13109         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
13110         * check/states/sinks.c: (GST_START_TEST):
13111         * check/gstcheck.c: (gst_check_init):
13112         * check/gstcheck.h:
13113           add debugging category
13114           use GST_START_TEST now, so we add a debug line
13115
13116 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
13117
13118         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
13119           add test for state change message on a bin
13120         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
13121           add another test
13122         * gst/gstbin.c: (gst_bin_init):
13123         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
13124         * gst/gstelement.c: (gst_element_post_message),
13125         (gst_element_set_state):
13126         * gst/gstelementfactory.c: (gst_element_factory_create):
13127         * gst/gstmessage.c: (gst_message_new):
13128         * gst/gstscheduler.c:
13129           various debugging additions and cleanups
13130
13131 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
13132
13133         * check/Makefile.am:
13134         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
13135         (main):
13136           adding tests for elements
13137         * gst/gstelement.c: (gst_element_dispose):
13138
13139 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
13140
13141         * gst/registries/gstlibxmlregistry.c: (load_feature):
13142           plug more leaks.  A simple gst_init() now is leakfree, yay.
13143
13144 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
13145
13146         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
13147         (gst_xml_registry_load):
13148           plug another memleak
13149
13150 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
13151
13152         * configure.ac:
13153           use GST_SET_ERROR_CFLAGS
13154         * docs/faq/cvs.xml:
13155           change to ERROR_CFLAGS
13156
13157 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
13158
13159         * configure.ac:
13160           make GST_ERROR_CFLAGS overridable and re-enable Werror
13161         * docs/faq/cvs.xml:
13162           add a note about error CFLAGS
13163         * docs/gst/tmpl/gstfakesrc.sgml:
13164         * gst/elements/gstfakesrc.c:
13165           comment out some unused code
13166         * gst/gst.c: (split_and_iterate):
13167         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
13168         (load_feature):
13169           plug some memleaks
13170
13171 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
13172
13173         * common/Makefile.am:
13174         * common/gtk-doc.mak:
13175         * docs/gst/Makefile.am:
13176           factor out gtk-doc.mak
13177
13178 2005-07-07  Wim Taymans  <wim@fluendo.com>
13179
13180         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
13181         (gst_thread_scheduler_dispose):
13182         Unlock the STREAM_LOCK completely.
13183
13184 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
13185
13186         * check/Makefile.am:
13187         * check/elements/.cvsignore:
13188         * check/elements/gstfakesrc.c: (chain_func), (event_func),
13189         (START_TEST), (fakesrc_suite), (main):
13190         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
13191         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
13192         (gst_fakesrc_create), (gst_fakesrc_start):
13193         * gst/elements/gstfakesrc.h:
13194           adding a first element test
13195
13196 2005-07-07  Andy Wingo  <wingo@pobox.com>
13197
13198         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
13199         debug message.
13200
13201 2005-07-07  Wim Taymans  <wim@fluendo.com>
13202
13203         * gst/gstquery.c:
13204         * gst/gstquery.h:
13205         Remove old types
13206
13207 2005-07-07  Wim Taymans  <wim@fluendo.com>
13208
13209         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
13210         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
13211         Allow subclasses to implement their own negotiation.
13212
13213 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
13214
13215         * docs/design/part-gstbin.txt:
13216         * docs/design/part-gstpipeline.txt:
13217           Update design notes to reflect the movement of
13218           responsibility for bus handling from GstPipeline to
13219           GstBin
13220
13221 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
13222
13223         * configure.ac:
13224           Remove unnecessary queue2/3/4 examples.
13225
13226 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
13227
13228         * examples/Makefile.am:
13229         * examples/helloworld/helloworld.c: (event_loop), (main):
13230         * examples/queue/queue.c: (event_loop), (main):
13231         * examples/queue2/queue2.c: (main):
13232           Update a couple of the examples to work again.
13233
13234         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
13235         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
13236          Spelling corrections and extra debug.
13237         
13238         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
13239         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
13240         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
13241         * gst/gstbin.h:
13242         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
13243         (gst_pipeline_change_state):
13244         * gst/gstpipeline.h:
13245           Move the bus handler for children to the GstBin, and create a
13246           separate bus for receiving messages from children to the one the
13247           bus sends 'upwards' on.
13248
13249 2005-07-06  Wim Taymans  <wim@fluendo.com>
13250
13251         * gst/base/README:
13252         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
13253         (gst_base_sink_handle_object), (gst_base_sink_loop),
13254         (gst_base_sink_change_state):
13255         * gst/base/gstbasesink.h:
13256         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
13257         (gst_base_src_init), (gst_base_src_setcaps),
13258         (gst_base_src_getcaps), (gst_base_src_loop),
13259         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
13260         (gst_base_src_start), (gst_base_src_change_state):
13261         * gst/base/gstbasesrc.h:
13262         Make basesrc negotiate.
13263         Handle the case where preroll fails in basesink.
13264         Update README.
13265
13266 2005-07-06  Wim Taymans  <wim@fluendo.com>
13267
13268         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
13269         Implement the fixate function.
13270         Clean up acceptcaps.
13271
13272 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13273
13274         * docs/pwg/building-filterfactory.xml:
13275         * docs/pwg/pwg.xml:
13276           Remove never-written filter-factory chapter; I'll add the various
13277           base classes to part 4 ("other element types") later on.
13278
13279 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13280
13281         * docs/pwg/advanced-negotiation.xml:
13282         * docs/pwg/building-boiler.xml:
13283         * docs/pwg/building-pads.xml:
13284         * docs/pwg/pwg.xml:
13285         * examples/pwg/Makefile.am:
13286           Add a chapter on caps negotiation, simplify the original code
13287           samples a bit w.r.t. caps negotiation, add link to the advanced
13288           section. Add a bunch of examples showing different use cases of
13289           different types of caps negotiation. Upstream renegotiation isn't
13290           fully documented yet since nobody knows how that works.
13291
13292 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
13293
13294         * check/gst/gstpad.c:
13295         * check/gstcheck.c:
13296         * gst/gstpad.c: (gst_pad_get_internal_links_default):
13297           if pad has no parent, return NULL as list of internal links
13298
13299 2005-07-05  Andy Wingo  <wingo@pobox.com>
13300
13301         * gst/elements/gstfilesrc.c:
13302         * gst/elements/gstfakesrc.c: 
13303         * gst/base/gstpushsrc.c:
13304         * gst/base/gstbasesrc.h: 
13305         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
13306         
13307 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
13308
13309         * Makefile.am:
13310           better report generation target (lcov needs a patch)
13311
13312 2005-07-05  Andy Wingo  <wingo@pobox.com>
13313
13314         * gst/elements, testsuite: Null if we got it...
13315
13316 2005-07-05  Wim Taymans  <wim@fluendo.com>
13317
13318         * configure.ac:
13319         * libs/gst/dataprotocol/Makefile.am:
13320         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
13321         * libs/gst/dataprotocol/dataprotocol.h:
13322         * pkgconfig/Makefile.am:
13323         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
13324         * pkgconfig/gstreamer-dataprotocol.pc.in:
13325         Ported dataprotol to 0.9. 
13326         Added pkgconfig files.
13327
13328 2005-07-05  Andy Wingo  <wingo@pobox.com>
13329
13330         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
13331         Default to returning TRUE for the case when tranform_caps returns
13332         a fixed caps, like for identity or volume.
13333
13334         * check/gst/gstbus.c (pound_bus_with_messages): 
13335         * check/gst/gstmessage.c (START_TEST): 
13336         * check/pipelines/simple_launch_lines.c (got_handoff): Application
13337         message API change.
13338
13339         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
13340         logic weaks here: always run transform_caps, trying passthrough
13341         operation only if the original caps intersects with the transform.
13342
13343         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
13344         source and sink caps.
13345
13346         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
13347         Intersect the peer caps with the pad template before going into
13348         transform_caps.
13349         (gst_base_transform_transform_caps): More debugging.
13350
13351         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
13352         src argument.
13353
13354 2005-07-04  Edward Hervey  <edward@fluendo.com>
13355
13356         * gst/gstutils.c:
13357         * gst/gstutils.h:
13358         (gst_pad_add_*_probe): now returns the signal id for better wrapping
13359         in bindings.
13360
13361 2005-07-04  Andy Wingo  <wingo@pobox.com>
13362
13363         * check/gst/gstpad.c: Only set explicit caps on pads.
13364
13365 2005-07-01  Andy Wingo  <wingo@pobox.com>
13366
13367         * tests/network-clock.scm: Commentary update.
13368
13369         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
13370         Didn't really make sense, not implementable with basetransform,
13371         etc.
13372         (gst_identity_transform): Unref inbuf via make_writable. Feeble
13373         attempt at implementing the sync property, needs an unlock method.
13374
13375         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
13376         New func, by default returns the same caps (the identity
13377         transformation).
13378         (gst_base_transform_getcaps): Uses transform_caps to return
13379         something sensible.
13380         (gst_base_transform_setcaps): Complicated logic to get caps on
13381         both pads, even if they are different, and to call set_caps once
13382         for every time both pads get their caps set.
13383         (gst_base_transform_handle_buffer): Give the ref to the transform
13384         function. Allows in-place modification of the buffer.
13385
13386         * gst/base/gstbasetransform.h (transform_caps): New class method.
13387         Given caps on one side, what can I do on the other.
13388         (set_caps): Take two caps, one for each side of the element.
13389
13390         * gst/gstpad.h:
13391         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
13392         caps in place. This is safe because we can check the mutability of
13393         the caps, and a good idea because fixate functions are just called
13394         as a matter of last resort. (Not actually implemented.)
13395         (gst_pad_set_caps): If the caps we're setting is actually the same
13396         as the existing pad caps, just update the pointer without calling
13397         setcaps. Assert that caps is either NULL or fixed, as per the
13398         docs.
13399
13400         * gst/gstghostpad.c: Update for fixate changes.
13401
13402 2005-07-02  Andy Wingo  <wingo@pobox.com>
13403
13404         * gst/gstcaps.c:
13405         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
13406         two refcounts makes it immutable, which is enough. Doc more.
13407
13408 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
13409
13410         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
13411           Put the mini_object into GValue as a mini_object,
13412           not a gpointer, since that's how we declared
13413           the signal.
13414
13415 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13416
13417         * examples/pwg/Makefile.am:
13418           Fix buildbot again.
13419
13420 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13421
13422         * docs/pwg/building-testapp.xml:
13423           Add extra check.
13424         * examples/pwg/Makefile.am:
13425           Fix buildbot.
13426
13427 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13428
13429         * configure.ac:
13430         * examples/Makefile.am:
13431         * examples/pwg/Makefile.am:
13432         * examples/pwg/extract.pl:
13433           Enable building the PWG examples.
13434         * docs/pwg/advanced-interfaces.xml:
13435           Add URI interface stub.
13436         * docs/pwg/advanced-types.xml:
13437         * docs/pwg/other-autoplugger.xml:
13438         * docs/pwg/appendix-porting.xml:
13439         * docs/pwg/pwg.xml:
13440           Add porting guide (mostly stubs), remove autoplugging (see ADM).
13441         * docs/pwg/building-boiler.xml:
13442         * docs/pwg/building-chainfn.xml:
13443         * docs/pwg/building-pads.xml:
13444         * docs/pwg/building-props.xml:
13445         * docs/pwg/building-state.xml:
13446         * docs/pwg/building-testapp.xml:
13447           Update the building-*.xml parts for 0.9 changes. All examples
13448           code blocks compile in examples/pwg/*.
13449
13450 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13451
13452         * docs/manual/advanced-autoplugging.xml:
13453         * docs/manual/appendix-checklist.xml:
13454         * docs/manual/appendix-integration.xml:
13455         * docs/manual/highlevel-components.xml:
13456           Fix playbin/decodebin examples, update docs a bit, mention bus
13457           instead of signals in various places, mention kmplayer and
13458           kaffeine since they have a working GStreamer backend in the KDE
13459           section.
13460
13461 2005-06-30  Wim Taymans  <wim@fluendo.com>
13462
13463         * CHANGES-0.9:
13464         * docs/design/draft-ghostpads.txt:
13465         * docs/design/draft-push-pull.txt:
13466         * docs/design/draft-query.txt:
13467         * docs/design/part-TODO.txt:
13468         * docs/design/part-query.txt:
13469         Added CHANGES-0.9 doc, updated status of other docs.
13470         
13471         * gst/gstquery.h:
13472         Remove "hmm" macro
13473
13474 2005-06-30  Wim Taymans  <wim@fluendo.com>
13475
13476         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
13477         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
13478         (gst_base_sink_change_state):
13479         * gst/base/gstbasesink.h:
13480         Some tweaks, only EOS and a buffer complete a preroll.
13481
13482 2005-06-30  Andy Wingo  <wingo@pobox.com>
13483
13484         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
13485         activate_push down to the internal pad as well.
13486
13487 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
13488
13489         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13490
13491         * gst/gsttaginterface.c:
13492           Some documentation fixes (#307394 and #307397).
13493
13494 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
13495
13496         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13497
13498         * gst/gstvalue.c: (gst_value_intersect_list):
13499           Fix memleak (#309125).
13500
13501 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13502
13503         * docs/manual/advanced-dataaccess.xml:
13504           Fix fakesrc example to compile; doesn't work, bug somewhere...?
13505         * docs/manual/basics-pads.xml:
13506           Add reference for filtered caps to above chapter.
13507
13508 2005-06-30  Wim Taymans  <wim@fluendo.com>
13509
13510         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
13511         (gst_bin_change_state):
13512         Probes are gone.
13513         Lame attempt at making the state change function a bit
13514         more readable.
13515
13516 2005-06-30  Wim Taymans  <wim@fluendo.com>
13517
13518         * docs/design/part-clocks.txt:
13519         * docs/design/part-element-sink.txt:
13520         * docs/design/part-events.txt:
13521         * docs/design/part-preroll.txt:
13522         * docs/design/part-states.txt:
13523         Some more tweeks and additions to the docs.
13524
13525 2005-06-30  Wim Taymans  <wim@fluendo.com>
13526
13527         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
13528         (default_have_data), (gst_pad_class_init), (gst_pad_init),
13529         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
13530         (gst_pad_check_pull_range), (gst_pad_get_range),
13531         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
13532         * gst/gstpad.h:
13533         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
13534         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
13535         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
13536         (gst_pad_remove_buffer_probe):
13537         Removed atomic operations, use existing LOCK.
13538         Move exception handling out of main code path.
13539
13540 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13541
13542         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
13543         (silly_return_true_function), (gst_pad_class_init),
13544         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
13545         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
13546         (gst_pad_send_event):
13547           Fix accumulator, add default value by using _emitv() instead
13548           of _emit() for signal emission.
13549
13550 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13551
13552         * docs/manual/advanced-dataaccess.xml:
13553         * examples/manual/Makefile.am:
13554           Add probe example.
13555         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
13556           Make work (??).
13557
13558 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
13559
13560         * gst/elements/gstfilesink.c: (gst_filesink_render):
13561           Simplify code so that we don't have to handle short
13562           writes and return GST_FLOW_ERROR if an error occured.
13563
13564 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13565
13566         * docs/gst/gstreamer-docs.sgml:
13567           Remove probes more.
13568
13569 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13570
13571         * docs/gst/gstreamer-sections.txt:
13572         * docs/gst/tmpl/gstpad.sgml:
13573         * docs/gst/tmpl/gstprobe.sgml:
13574         * gst/Makefile.am:
13575         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
13576         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
13577         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
13578         (gst_pad_push_event), (gst_pad_send_event):
13579         * gst/gstpad.h:
13580         * gst/gstutils.c: (gst_pad_add_data_probe),
13581         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
13582         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
13583         (gst_pad_remove_buffer_probe):
13584         * gst/gstutils.h:
13585           Remove old probes, add new g-signal-based probes and some utility
13586           functions.
13587
13588 2005-06-29  Edward Hervey  <edward@fluendo.com>
13589
13590         * gst/gstelementfactory.c:
13591         * gst/gstutils.h:
13592         * gst/gstutils.c:
13593         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
13594         the definition to the header file.
13595
13596 2005-06-29  Andy Wingo  <wingo@pobox.com>
13597
13598         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
13599         plugins from the source directory.
13600
13601 2005-06-29  Wim Taymans  <wim@fluendo.com>
13602
13603         * docs/gst/tmpl/gstbuffer.sgml:
13604         * docs/gst/tmpl/gstclock.sgml:
13605         Some fixings for blantently wrong text.
13606
13607 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
13608
13609         * check/Makefile.am:
13610         * gst/gst.c: (add_path_func), (init_pre):
13611         * gst/gstregistry.c: (gst_registry_add_path):
13612           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
13613           only scan the GST_PLUGIN_PATH locations, and not add
13614           system locations
13615
13616 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
13617
13618         * docs/gst/gstreamer-sections.txt:
13619         * docs/gst/tmpl/gstbasesrc.sgml:
13620         * gst/gstelement.c:
13621         * gst/gstelement.h:
13622         * gst/gstevent.c:
13623         * gst/gstutils.c:
13624           doc fixes
13625
13626 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13627
13628         * docs/manual/advanced-autoplugging.xml:
13629           Fix autoplugging example.
13630
13631 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13632
13633         * docs/manual/advanced-autoplugging.xml:
13634         * docs/manual/mime-world.fig:
13635           Try to get autoplugging working, fix type detection. Fix text
13636           in hello-world image.
13637
13638 2005-06-29  Wim Taymans  <wim@fluendo.com>
13639
13640         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13641         (gst_base_sink_change_state):
13642         Small debug line.
13643
13644         * gst/gstclock.h:
13645         map SIGNAL and BROADCAST to the right function.
13646
13647         * gst/gstobject.h:
13648         Remove redundant braces.
13649
13650         * gst/gstpad.c: (gst_pad_set_caps):
13651         Don't call setcaps function when reseting caps to NULL.
13652
13653         * gst/gstsystemclock.c: (gst_system_clock_dispose),
13654         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
13655         (gst_system_clock_id_unschedule):
13656         Use BROADCAST as this is what we do.
13657
13658 2005-06-29  Wim Taymans  <wim@fluendo.com>
13659
13660         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
13661         We are actually prerolling before commiting the state
13662         change. 
13663
13664 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13665
13666         * docs/manual/advanced-clocks.xml:
13667         * docs/manual/advanced-interfaces.xml:
13668         * docs/manual/advanced-metadata.xml:
13669         * docs/manual/advanced-position.xml:
13670         * docs/manual/advanced-schedulers.xml:
13671         * docs/manual/advanced-threads.xml:
13672         * docs/manual/appendix-porting.xml:
13673         * docs/manual/basics-bins.xml:
13674         * docs/manual/basics-bus.xml:
13675         * docs/manual/basics-elements.xml:
13676         * docs/manual/basics-helloworld.xml:
13677         * docs/manual/basics-pads.xml:
13678         * docs/manual/highlevel-components.xml:
13679         * docs/manual/manual.xml:
13680         * docs/manual/thread.fig:
13681           Update (until threads/scheduling) Application Development Manual;
13682           remove GstThread, add GstBus, add simple porting checklist, add
13683           documentation for tag writing, clocks, make all examples until this
13684           part compile and run.
13685         * examples/manual/Makefile.am:
13686           Update from changes to Application Development Manual; add bus
13687           example, remove thread example.
13688
13689 2005-06-28  Wim Taymans  <wim@fluendo.com>
13690
13691         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
13692         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
13693         (gst_bus_source_dispatch):
13694         Add debugging messages.
13695         Make internal methods static.
13696         Handle the case where the bus is flushed in the handler.
13697         
13698         * gst/gstelement.c: (gst_element_get_bus):
13699         Fix refcount in _get_bus();
13700
13701         * gst/gstpipeline.c: (gst_pipeline_change_state),
13702         (gst_pipeline_get_clock_func):
13703         Clock refcounting fixes.
13704         Handle the case where preroll timed out more gracefully.
13705         
13706         * gst/gstsystemclock.c: (gst_system_clock_dispose):
13707         Clean up the internal thread in dispose. This is needed
13708         for subclasses that actually get disposed.
13709         
13710         * gst/schedulers/threadscheduler.c:
13711         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
13712         (gst_thread_scheduler_dispose):
13713         Free thread pool in dispose.
13714
13715 2005-06-28  Andy Wingo  <wingo@pobox.com>
13716
13717         * tests/network-clock-utils.scm (debug, print-event): New utils.
13718
13719         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
13720         (*packet-loss*): Unified loss probability.
13721         (network-time): Report out-of-band events.
13722
13723         * tests/plot-data: Add support for out-of-band events. Hack it
13724         into this script instead of passing it down the pipe; should fix
13725         this later.
13726
13727 2005-06-28  Wim Taymans  <wim@fluendo.com>
13728
13729         * docs/gst/gstreamer.types:
13730         * docs/gst/tmpl/gstbasesrc.sgml:
13731         * docs/gst/tmpl/gstpad.sgml:
13732         Docs fixes.
13733
13734 2005-06-28  Wim Taymans  <wim@fluendo.com>
13735
13736         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
13737         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
13738         (gst_proxy_pad_do_fixatecaps):
13739         Correctly proxy the check_pull_range function.
13740
13741 2005-06-28  Andy Wingo  <wingo@pobox.com>
13742
13743         * tests/network-clock.scm: Removed need for slib.
13744         
13745 2005-06-28  Wim Taymans  <wim@fluendo.com>
13746
13747         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
13748         (gst_basesink_preroll_queue_flush):
13749         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
13750         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
13751         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
13752         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
13753         (gst_proxy_pad_set_property):
13754         * gst/gstpad.c:
13755         * gst/gstpad.h:
13756         * gst/gstqueue.c: (gst_queue_init):
13757         The deprecated pad loop function is removed now.
13758
13759 2005-06-28  Andy Wingo  <wingo@pobox.com>
13760
13761         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
13762         New parameters, simulate network packet loss.
13763
13764         * tests/network-clock-utils.scm: Initialize the RNG.
13765
13766 2005-06-28  Wim Taymans  <wim@fluendo.com>
13767
13768         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
13769         (gst_basesink_event), (gst_basesink_deactivate):
13770         Flushing the preroll queue always needs to unlock the waiters.
13771
13772 2005-06-28  Edward Hervey  <edward@fluendo.com>
13773
13774         * gst/gstpipeline.c: (gst_pipeline_send_event): 
13775         Wheen a seek was successful on a pipeline, set the stream_time to the
13776         seek offset in order to have a synchronized stream_time.
13777
13778 2005-06-28  Wim Taymans  <wim@fluendo.com>
13779
13780         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
13781         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
13782         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
13783         (gst_proxy_pad_do_fixatecaps):
13784         Call wrapper function instead of just calling the function
13785         pointers. This takes care of any locking and whatmore.
13786
13787 2005-06-28  Wim Taymans  <wim@fluendo.com>
13788
13789         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
13790         (gst_pad_pull_range):
13791         * gst/gstpad.h:
13792         CONNECTED -> LINKED.
13793
13794 2005-06-28  Andy Wingo  <wingo@pobox.com>
13795
13796         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
13797         source-munging commit!!!
13798
13799         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
13800         (gst_object_sink): Take gpointer arguments, not GstObject --
13801         avoids casts. Like GLib.
13802
13803         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
13804         activate.
13805
13806 2005-06-27  Andy Wingo  <wingo@pobox.com>
13807
13808         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
13809         remaining buffer.
13810
13811         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
13812         returns a sorted copy of the trace list.
13813         (gst_alloc_trace_print_live): New API, only prints traces with
13814         live objects. Sort the list.
13815         (gst_alloc_trace_print_all): Sort the list.
13816         (gst_alloc_trace_print): Align columns.
13817
13818         * gst/elements/gstttypefindelement.c:
13819         * gst/elements/gsttee.c:
13820         * gst/base/gstbasesrc.c:
13821         * gst/base/gstbasesink.c:
13822         * gst/base/gstbasetransform.c:
13823         * gst/gstqueue.c: Adapt for pad activation changes.
13824
13825         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
13826         sched.
13827         (gst_pipeline_dispose): Drop ref on sched.
13828
13829         * gst/gstpad.c (gst_pad_init): Set the default activate func.
13830         (gst_pad_activate_default): Push mode by default.
13831         (pre_activate_switch, post_activate_switch): New stubs, things to
13832         do before and after switching activation modes on pads.
13833         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
13834         the pad's activate function to choose which mode to activate.
13835         Shortcut on deactivation and call the right function directly.
13836         (gst_pad_activate_pull): New API, (de)activates a pad in pull
13837         mode.
13838         (gst_pad_activate_push): New API, same for push mode.
13839         (gst_pad_set_activate_function) 
13840         (gst_pad_set_activatepull_function) 
13841         (gst_pad_set_activatepush_function): Setters for new API.
13842
13843         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
13844         Trace all miniobjects.
13845         (gst_mini_object_make_writable): Unref the arg if we copy, like
13846         gst_caps_make_writable.
13847
13848         * gst/gstmessage.c (_gst_message_initialize): No trace init.
13849
13850         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
13851         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
13852         Adapt for new pad API.
13853
13854         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
13855
13856         * gst/gstelement.h:
13857         * gst/gstelement.c (gst_element_iterate_src_pads) 
13858         (gst_element_iterate_sink_pads): New API functions.
13859         
13860         * gst/gstelement.c (iterator_fold_with_resync): New utility,
13861         should fold into gstiterator.c in some form.
13862         (gst_element_pads_activate): Simplified via use of fold and
13863         delegation of decisions to gstpad->activate.
13864
13865         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
13866         help in debugging.
13867
13868         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
13869         class once in init, like gstmessage. Didn't run into this issue
13870         but it seems correct. Don't initialize a trace, gstminiobject does
13871         that.
13872
13873         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
13874         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
13875         to the bus.
13876         (assert_live_count): New util function, uses alloc traces to check
13877         cleanup.
13878
13879         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
13880         To be modified when unlink drops the internal pad.
13881
13882 2005-06-27  Wim Taymans  <wim@fluendo.com>
13883
13884         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
13885         (gst_bin_change_state):
13886         Cleanup the get_state() function a little, make sure it
13887         iterates the same set of elements.
13888         Added stub iterate_state_order().
13889
13890 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
13891
13892         * docs/gst/gstreamer-docs.sgml:
13893         * docs/gst/gstreamer-sections.txt:
13894         * docs/gst/gstreamer.types:
13895         * docs/gst/tmpl/gstbasesink.sgml:
13896         * docs/gst/tmpl/gstbasesrc.sgml:
13897         * docs/gst/tmpl/gstbasetransform.sgml:
13898         * docs/gst/tmpl/gstelement.sgml:
13899         * docs/gst/tmpl/gstiterator.sgml:
13900         * gst/base/gstbasesrc.c:
13901         * gst/base/gstbasesrc.h:
13902         * gst/base/gstbasetransform.h:
13903         * gst/gstelement.c:
13904         * gst/gstiterator.h:
13905           adding basetransform and iterator docs
13906
13907 2005-06-27  Andy Wingo  <wingo@pobox.com>
13908
13909         * docs/design/part-activation.txt: Notes on how activation should
13910         work -- not quite implemented yet.
13911
13912 2005-06-25  Wim Taymans  <wim@fluendo.com>
13913
13914         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
13915         At least get the chain function correct, needs more
13916         fixing.
13917
13918 2005-06-25  Wim Taymans  <wim@fluendo.com>
13919
13920         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
13921         (gst_basesink_handle_object), (gst_basesink_event),
13922         (gst_basesink_do_sync), (gst_basesink_handle_event),
13923         (gst_basesink_change_state):
13924         * gst/gsttask.h:
13925         Right, two problems here: ghostpads don't take locks and
13926         glib _rec_mutex_lock_full() with depth==0 still locks.
13927         Catch illegal locking and g_warn them.
13928
13929 2005-06-25  Wim Taymans  <wim@fluendo.com>
13930
13931         * check/states/sinks.c: (START_TEST), (gst_object_suite):
13932         Have to check for completion now...
13933
13934 2005-06-25  Wim Taymans  <wim@fluendo.com>
13935
13936         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
13937         (gst_basesink_handle_object), (gst_basesink_event),
13938         (gst_basesink_do_sync), (gst_basesink_handle_event),
13939         (gst_basesink_change_state):
13940         * gst/gstpad.h:
13941         Unlock STREAM_LOCK whatever the recursion was.
13942
13943 2005-06-25  Wim Taymans  <wim@fluendo.com>
13944
13945         * gst/base/gstbasesink.c: (gst_basesink_set_property),
13946         (gst_basesink_preroll_queue_empty),
13947         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
13948         (gst_basesink_event), (gst_basesink_do_sync),
13949         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
13950         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
13951         (gst_basesink_change_state):
13952         Reworked the base sink, handle event and buffer serialisation
13953         correctly and removed possible deadlock.
13954         Handle EOS correctly.
13955
13956 2005-06-25  Wim Taymans  <wim@fluendo.com>
13957
13958         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
13959         (gst_pipeline_change_state):
13960         * tools/gst-launch.c: (check_intr), (event_loop), (main):
13961         Allow elements to post EOS in the state change function.
13962         Fix up -launch, make it exit the poll loop when the
13963         pipeline actually changed state.
13964         Fix up warning parsing in -launch.
13965
13966 2005-06-25  Wim Taymans  <wim@fluendo.com>
13967
13968         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
13969         (gst_tee_sink_activate):
13970         Core takes STREAM_LOCK for us now.
13971
13972 2005-06-25  Wim Taymans  <wim@fluendo.com>
13973
13974         * gst/gstelement.c: (gst_element_get_state_func),
13975         (gst_element_set_state):
13976         * gst/gstelement.h:
13977         * gst/gstmessage.c: (gst_message_parse_error),
13978         (gst_message_parse_warning):
13979         Keep track of current target state while performing a state
13980         change so that subclasses can do something interesting.
13981         Fix parsing of warning/error messages when GError is NULL.
13982
13983 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
13984
13985         * docs/gst/Makefile.am:
13986         * docs/gst/gstreamer-docs.sgml:
13987         * docs/gst/gstreamer-sections.txt:
13988         * docs/gst/gstreamer.types:
13989         * docs/gst/tmpl/gstbasesink.sgml:
13990         * docs/gst/tmpl/gstbasesrc.sgml:
13991         * docs/gst/tmpl/gstbin.sgml:
13992         * docs/gst/tmpl/gstcompat.sgml:
13993         * docs/gst/tmpl/gstfakesink.sgml:
13994         * docs/gst/tmpl/gstfakesrc.sgml:
13995         * docs/gst/tmpl/gstfilesink.sgml:
13996         * docs/gst/tmpl/gstfilesrc.sgml:
13997         * docs/gst/tmpl/gstindex.sgml:
13998         * docs/manual/appendix-quotes.xml:
13999         * gst/base/gstbasesrc.h:
14000         * gst/elements/gstfakesrc.h:
14001         * gst/gstmessage.h:
14002           start pulling in base classes and elements in our docs
14003
14004 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
14005
14006         * docs/gst/Makefile.am:
14007         * docs/libs/Makefile.am:
14008           fixed make distcheck with gtk-doc 1.3
14009
14010 2005-06-23  Wim Taymans  <wim@fluendo.com>
14011
14012         * gst/gstelement.c: (gst_element_get_state_func),
14013         (gst_element_set_state), (gst_element_change_state):
14014         When the state did not change, also report NO_PREROLL
14015         when it matters.
14016
14017 2005-06-23  Wim Taymans  <wim@fluendo.com>
14018
14019         * gst/gstpad.c: (gst_pad_event_default):
14020         * gst/gstqueue.c: (gst_queue_loop):
14021         No unsafe task pausing please.
14022
14023 2005-06-23  Wim Taymans  <wim@fluendo.com>
14024
14025         * gst/schedulers/threadscheduler.c:
14026         (gst_thread_scheduler_task_start),
14027         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
14028         Ref the task before pushing it on the threadpool. This
14029         makes sure that we have a ref when the threadfunction is
14030         actually called.
14031
14032 2005-06-23  Andy Wingo  <wingo@pobox.com>
14033
14034         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
14035         offset is greater than the file's size.
14036
14037         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
14038         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
14039         * gst/gstobject.c (gst_object_class_init): Make the class lock
14040         recursive. Wim won't let me drop deep_notify. Decodebin works
14041         again, whoopdy doo.
14042
14043         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
14044         internal pad, and hacks accordingly. Doesn't do it on the target
14045         pad because we change its caps. Probably catches all cases of
14046         interest tho.
14047         (gst_ghost_pad_set_property): Connect to notify::caps as
14048         appropritate.
14049
14050         * tests/network-clock.scm (plot-simulation): Pipe data to the
14051         elite python skript.
14052
14053         * tests/network-clock-utils.scm (define-parameter): New macro,
14054         defines a parameter that can be set via the command line.
14055         (set-parameter!, parse-parameter-arguments): Command line args
14056         parser.
14057
14058         * tests/plot-data: Simple matplotlib-based plotter, takes input on
14059         stdin.
14060
14061 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
14062
14063         * gst/elements/gsttypefindelement.c:
14064         (gst_type_find_element_handle_event):
14065           Don't restart typefinding on a discont.
14066         * gst/gstelement.c: (gst_element_set_state):
14067           Debug spelling fix.
14068         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
14069           Allow changing mode of an active pad.
14070           Debug output fixes.
14071         * gst/registries/gstlibxmlregistry.c: (load_feature):
14072           Don't cast a static pad template to a normal pad template.
14073
14074 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
14075
14076         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
14077         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
14078           remove gst_strtoll completely, since it didn't actually do
14079           anything more than what g_ascii_strtoull already does.
14080           check for range errors when deserializing
14081           do a cast for the unsigned cases; but further fixing needs
14082           a decision on what the interpretation of "(int)" and
14083           deserialization should be for values that fall outside the
14084           type's boundaries (ie, refuse, or interpret as casting)
14085
14086 2005-06-23  Wim Taymans  <wim@fluendo.com>
14087
14088         * check/Makefile.am:
14089         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
14090         * docs/design/part-live-source.txt:
14091         * docs/design/part-states.txt:
14092         * gst/base/gstbasesrc.c: (gst_basesrc_init),
14093         (gst_basesrc_set_live), (gst_basesrc_is_live),
14094         (gst_basesrc_get_range), (gst_basesrc_activate),
14095         (gst_basesrc_change_state):
14096         * gst/base/gstbasesrc.h:
14097         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
14098         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
14099         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
14100         * gst/gstelement.c: (gst_element_get_state_func),
14101         (gst_element_set_state):
14102         * gst/gstelement.h:
14103         * gst/gsttypes.h:
14104         * tools/gst-launch.c: (event_loop), (main):
14105         Added support for live sources and other elements that
14106         cannot do preroll.
14107         Updated design docs, added live-source design doc.
14108         Implemented live source functionality in basesrc
14109         Fix error condition in _bin_get_state()
14110         Implement live source handling in -launch.
14111         Added check for live sources.
14112         Fixed case in GstBin where elements were changed state
14113         multiple times.
14114
14115
14116 2005-06-23  Andy Wingo  <wingo@pobox.com>
14117
14118         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
14119         borken refcounting.
14120
14121         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
14122         gst_caps_replace takes care of this for us.
14123
14124         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
14125         gst_pad_set_caps on the target, not just its setcaps() function.
14126
14127         * tests/network-clock.scm: 
14128         * tests/network-clock-utils.scm: A network clock simulator.
14129         Something of an algorithmic testbed before doing something in C.
14130
14131 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
14132
14133         * check/Makefile.am:
14134         * check/gst/capslist.h:
14135           copy over from 0.8, and add two with bitmasks specified with
14136           (int) 0xFF...
14137         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
14138           add test to parse everything from capslist.h
14139         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
14140         (main):
14141           add test for structure deserialization
14142         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
14143           add tests for deserialization of strings to int types
14144         * gst/gststructure.c: (gst_structure_nth_field_name):
14145         * gst/gststructure.h:
14146           add a way to get the name of a field referenced by index
14147         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
14148           instead of checking if the resulting long long lies between
14149           min and max, we check if the long long would fit into
14150           a number of bytes for the final type.
14151           This fixes cases where a string represents 2^32 - 1, which
14152           when cast to int would be the (valid) -1, but is bigger than
14153           G_MAXINT
14154
14155 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
14156
14157         * gst/parse/grammar.y:
14158           add a log line for type deserialization
14159
14160 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
14161
14162         * check/gst/gstvalue.c: (START_TEST):
14163         * gst/gstvalue.c: (gst_value_deserialize):
14164           return long long, not int, so gint64 deserialization actually
14165           works.  Is there any flag that makes the compiler check this ?
14166           Fixes #308559
14167
14168 2005-06-22  Wim Taymans  <wim@fluendo.com>
14169
14170         * gst/gstbuffer.h:
14171         Added convenience macros for setting buffers in GValue.
14172
14173 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
14174
14175         * check/gst/.cvsignore:
14176         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
14177           add a test deserializing int64, and comment part out because
14178           it fails, yay !
14179
14180 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
14181
14182         * check/Makefile.am:
14183         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
14184         * testsuite/Makefile.am:
14185         * testsuite/caps/Makefile.am:
14186         * testsuite/caps/value_serialize.c:
14187         * testsuite/test_gst_init.c:
14188           move a value_serialize test over
14189
14190 2005-06-20  Wim Taymans  <wim@fluendo.com>
14191
14192         * gst/gstpad.c:
14193         Small doc updates.
14194         
14195         * gst/gstvalue.c: (gst_value_compare_buffer),
14196         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
14197         (gst_value_compare_flags), (gst_value_serialize_flags),
14198         (gst_value_deserialize_flags), (_gst_value_initialize):
14199         Fix serialisation of buffers, they are not boxed types anymore
14200
14201 2005-06-20  Wim Taymans  <wim@fluendo.com>
14202
14203         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
14204         Testcase to show error in buffer-on-caps serialisation.
14205
14206 2005-06-20  Andy Wingo  <wingo@pobox.com>
14207
14208         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
14209         will be adding to later.
14210
14211         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
14212         if its socks fill with rocks.
14213         (gst_system_clock_obtain): Set the name on object construction.
14214         Avoid double-checked locking.
14215
14216 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
14217
14218         * gst/gsturi.c: (gst_element_make_from_uri):
14219           Fix potential endless loop.
14220
14221 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
14222
14223         * check/Makefile.am:
14224           add gsttag
14225         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
14226         (main):
14227           move over from testsuite dir and clean up
14228         * configure.ac:
14229         * gst/gsttag.c:
14230         * testsuite/Makefile.am:
14231         * testsuite/tags/.cvsignore:
14232         * testsuite/tags/Makefile.am:
14233         * testsuite/tags/merge.c:
14234           remove testsuite/tags
14235
14236 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
14237
14238         * docs/gst/gstreamer-sections.txt:
14239         * docs/gst/tmpl/gstenumtypes.sgml:
14240         * win32/gstenumtypes.c:
14241           clean up documentation build a little
14242
14243 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
14244
14245         * check/gstcheck.h:
14246           add macros for checking refcounts on objects and caps
14247         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
14248           add some more unit tests
14249         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
14250         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
14251           fix leaked refcounts (I hope :)) so unittest works
14252         * gst/gstpad.h:
14253           whitespace removal
14254
14255 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
14256
14257         * configure.ac: back to HEAD
14258
14259 === release 0.9.1 ===
14260
14261 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
14262
14263         * NEWS:
14264         * RELEASE:
14265           updated
14266
14267 2005-06-17  Andy Wingo  <wingo@pobox.com>
14268
14269         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
14270         assert; it's always possible that the pad gets deactivated in
14271         between the checks in gstpad.c and the implementation. Rely on
14272         finish_preroll() to return a FLUSHING or similar instead of on the
14273         assert.
14274         
14275         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
14276         clock and post an EOS message if we come out of finish_preroll in
14277         the playing state.
14278
14279 2005-06-16  David Schleef  <ds@schleef.org>
14280
14281         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
14282         (gst_capsfilter_set_property): Allow NULL as possible value
14283         for filter_caps property, indicating GST_CAPS_ANY.
14284
14285 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
14286
14287         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
14288           fix debug output
14289         * gst/schedulers/Makefile.am:
14290           use libgst prefix
14291         * gstreamer.spec.in:
14292           fix spec for it
14293
14294 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
14295
14296         * gstreamer.spec.in:
14297           clean up
14298
14299 2005-06-08  Andy Wingo  <wingo@pobox.com>
14300
14301         * gst/gstutils.c: RPAD fixes all around.
14302         (gst_element_link_pads): Refcounting fixes.
14303
14304         * tools/gst-inspect.c:
14305         * tools/gst-xmlinspect.c:
14306         * parse/grammar.y:
14307         * gst/base/gsttypefindhelper.c:
14308         * gst/base/gstbasesink.c:
14309         * gst/gstqueue.c: RPAD fixes.
14310
14311         * gst/gstghostpad.h:
14312         * gst/gstghostpad.c: New ghost pad implementation as full proxy
14313         pads. The tricky thing is they provide both source and sink
14314         interfaces, since they proxy the internal pad for the external
14315         pad, and vice versa. Implement with lower-level ProxyPad objects,
14316         with the interior proxy pad as a child of the exterior ghost pad.
14317         Should write a doc on this.
14318         
14319         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
14320         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
14321         gst_object API.
14322         
14323         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
14324         pads are real pads. No ghost pads in this file. Not documenting
14325         the myriad s/RPAD/PAD/ and REALIZE fixes.
14326         (gst_pad_class_init): Add properties for "direction" and
14327         "template". Both are construct-only, so they can't change during
14328         the life of the pad. Fixes properly deriving from GstPad.
14329         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
14330         derived objects, just set properties when creating the objects via
14331         g_object_new.
14332         (gst_pad_get_parent): Implement as a function, return NULL if the
14333         parent is not an element.
14334         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
14335         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
14336         
14337         * gst/gstobject.c (gst_object_class_init): Make name a construct
14338         property. Don't set it in the object init.
14339
14340         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
14341         with UNKNOWN direction.
14342         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
14343         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
14344         (gst_element_remove_pad): Remove ghost-pad special cases.
14345         (gst_element_pads_activate): Remove rpad cruft.
14346
14347         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
14348         catch the pad's-parent-not-an-element case.
14349
14350         * gst/gst.h: Include gstghostpad.h.
14351
14352         * gst/gst.c (init_post): No more real, ghost pads.
14353
14354         * gst/Makefile.am: Add gstghostpad.[ch].
14355
14356         * check/Makefile.am:
14357         * check/gst/gstbin.c:
14358         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
14359         into a bin creates ghost pads, and that the refcounts are right.
14360         Partly moved from gstbin.c.
14361
14362 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
14363
14364         * check/gst-libs/.cvsignore:
14365         * check/gst/.cvsignore:
14366         * check/pipelines/.cvsignore:
14367           ignore more
14368         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
14369         (START_TEST), (cleanup_suite), (main):
14370           add some tests related to cleanup after running pipelines
14371
14372 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
14373
14374         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
14375           add a testsuite for GstBuffer
14376
14377 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
14378
14379         * gst/gstminiobject.h:
14380           add defines for accessing the refcount
14381
14382 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
14383
14384         * Makefile.am: added support for html unit test coverage reports
14385
14386 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
14387
14388         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
14389           Free existing caps if the capsfilter changes. Add a FIXME about
14390           setting those caps on the pads.
14391
14392         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
14393           Before adding a ghost pad to a parent bin, check that there isn't
14394           already one for the element on the bin. Prevents infinite recursion
14395           when using decodebin in parse pipelines. Andy says he'll rewrite the
14396           way this works anyway, so ignore the hack.
14397
14398 2005-06-02  Andy Wingo  <wingo@pobox.com>
14399
14400         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
14401         file size, pass it on to the type find helper.
14402
14403         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
14404         segment_start and segment_end properly according to the seek
14405         method. Segment_end is still a bit flaky because offset can be
14406         negative for CUR and END cases, but it takes -1 as an "unset"
14407         value.
14408
14409 2005-06-02  Wim Taymans  <wim@fluendo.com>
14410
14411         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
14412         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
14413         (gst_basesink_activate):
14414         * gst/base/gstbasesink.h:
14415         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
14416         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
14417         (gst_pad_query), (gst_pad_start_task):
14418         * gst/gstpad.h:
14419         * gst/gstqueue.c: (gst_queue_bufferalloc),
14420         (gst_queue_handle_sink_event), (gst_queue_chain):
14421         Bufferalloc: return GstFlowReturn to more accuratly report
14422         why allocation failed.
14423
14424 2005-06-02  Wim Taymans  <wim@fluendo.com>
14425
14426         * gst/gstpipeline.c: (gst_pipeline_send_event):
14427         Take snapshot of state without blocking.
14428
14429 2005-06-02  Wim Taymans  <wim@fluendo.com>
14430
14431         * docs/design/part-TODO.txt:
14432         * docs/design/part-caps.txt:
14433         * docs/design/part-clocks.txt:
14434         * docs/design/part-negotiation.txt:
14435         * docs/design/part-preroll.txt:
14436         Small doc updates 
14437
14438 2005-05-30  Wim Taymans  <wim@fluendo.com>
14439
14440         * gst/elements/gstidentity.c: (gst_identity_event),
14441         (gst_identity_transform), (gst_identity_get_property):
14442         Protect last_message property as it is accessed from
14443         multiple threads.
14444
14445 2005-05-30  Wim Taymans  <wim@fluendo.com>
14446
14447         * gst/gstelement.c: (gst_element_init),
14448         (gst_element_pads_activate), (gst_element_change_state):
14449         Slicker pad activation code.
14450
14451 2005-05-30  Wim Taymans  <wim@fluendo.com>
14452
14453         * gst/Makefile.am:
14454         * gst/gstelement.h:
14455         * gst/gstelementfactory.h:
14456         * gst/gsttypes.h:
14457         Move elementfactory methods to separate .h file.
14458
14459 2005-05-30  Wim Taymans  <wim@fluendo.com>
14460
14461         * docs/design/part-overview.txt:
14462         * gst/gstsystemclock.h:
14463         Small typo fixes, doc updates.
14464
14465 2005-05-30  Wim Taymans  <wim@fluendo.com>
14466
14467         * gst/gst.c: (gst_init_get_popt_table), (init_post),
14468         (init_popt_callback):
14469         Remove cpu-opt flag.
14470
14471 2005-05-30  Wim Taymans  <wim@fluendo.com>
14472
14473         * gst/gstbuffer.c: (gst_subbuffer_finalize),
14474         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
14475         * gst/gstbuffer.h:
14476         Avoid typechecking in places where not needed.
14477         Added accessor for malloc_data.
14478
14479 2005-05-30  Wim Taymans  <wim@fluendo.com>
14480
14481         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
14482         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
14483         (gst_pad_configure_sink), (gst_pad_configure_src),
14484         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
14485         (gst_pad_start_task):
14486         Propagate errors from _set_caps() in configure_src/sink
14487         functions instead of returning TRUE.
14488         FLUSH events can travel up and downstream
14489
14490
14491 2005-05-30  Wim Taymans  <wim@fluendo.com>
14492
14493         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
14494         (gst_basesink_activate):
14495         Handle EOS in preroll.
14496
14497 2005-05-30  Wim Taymans  <wim@fluendo.com>
14498
14499         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
14500         (gst_queue_loop), (gst_queue_handle_src_event):
14501         Remove old pieces of code
14502         Flushing the queue in an upstream event is a very bad idea.
14503
14504 2005-05-26  Andy Wingo  <wingo@pobox.com>
14505
14506         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
14507         gst_value_set_mini_object so as to add a ref on the object (which
14508         will be removed when the value is unset).
14509
14510         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
14511         arg type in ::handoff.
14512
14513         * gst/gstelement.c (gst_element_change_state): Also deactivate
14514         pads in READY->NULL, just in case the element didn't make it to
14515         PAUSED. Wingo tested, Wim approved.
14516
14517 2005-05-26  Wim Taymans  <wim@fluendo.com>
14518
14519         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
14520         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
14521         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
14522         A flushing pad cannot be used to alloc_buffer from.
14523
14524 2005-05-26  Wim Taymans  <wim@fluendo.com>
14525
14526         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
14527         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
14528         (gst_bus_source_dispatch), (gst_bus_source_finalize),
14529         (gst_bus_create_watch), (gst_bus_add_watch_full):
14530         * gst/gstbus.h:
14531         Implement a real GSource and use g_main_context_wakeup() to
14532         signal new messages instead of the socketpair.
14533
14534 2005-05-25  Wim Taymans  <wim@fluendo.com>
14535
14536         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
14537         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
14538         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
14539         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
14540         (gst_pad_send_event), (gst_pad_start_task):
14541         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
14542         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
14543         (gst_queue_sink_activate), (gst_queue_src_activate),
14544         (gst_queue_change_state):
14545         * gst/gstqueue.h:
14546         Fix state changes for non sinks. We now change sinks, then elements
14547         with unconnected srcpads, then the rest.
14548         More efficient queue unlocking in flush and state changes.
14549         Set the pad activate mode even if it does not have an activate
14550         function.
14551
14552 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14553
14554         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
14555           Don't go in pull mode for non-seekable sources.
14556         * gst/elements/gsttypefindelement.h:
14557         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
14558         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
14559         (free_entry), (stop_typefinding),
14560         (gst_type_find_element_handle_event), (find_peek),
14561         (gst_type_find_element_chain), (do_pull_typefind),
14562         (gst_type_find_element_change_state):
14563           Allow typefinding (w/o seeking) in push-mode, simplified version
14564           of what was in 0.8.
14565         * gst/gstutils.c: (gst_buffer_join):
14566         * gst/gstutils.h:
14567           gst_buffer_join() from 0.8.
14568
14569 2005-05-25  Wim Taymans  <wim@fluendo.com>
14570
14571         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
14572         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
14573         (gst_pad_send_event), (gst_pad_start_task):
14574         Disable attempt at mode switching until it is figured out.
14575
14576 2005-05-25  Wim Taymans  <wim@fluendo.com>
14577
14578         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
14579         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
14580         (gst_basesink_finish_preroll), (gst_basesink_chain),
14581         (gst_basesink_loop), (gst_basesink_activate),
14582         (gst_basesink_change_state):
14583         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
14584         (gst_basesrc_get_range), (gst_basesrc_loop),
14585         (gst_basesrc_activate):
14586         * gst/elements/gsttee.c: (gst_tee_sink_activate):
14587         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
14588         (gst_real_pad_init), (gst_real_pad_set_property),
14589         (gst_real_pad_get_property), (gst_pad_set_active),
14590         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
14591         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
14592         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
14593         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
14594         (gst_pad_event_default_dispatch), (gst_pad_event_default),
14595         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
14596         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
14597         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
14598         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
14599         (gst_pad_stop_task):
14600         * gst/gstpad.h:
14601         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
14602         (gst_queue_loop), (gst_queue_src_activate):
14603         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
14604         (gst_task_get_state):
14605         * gst/gsttask.h:
14606         * gst/schedulers/threadscheduler.c:
14607         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
14608         Implement gst_pad_pause/start/stop_task(), take STREAM lock
14609         in task function.
14610         Remove ACTIVE pad flag, use FLUSHING everywhere
14611         Added _pad_chain(), _pad_get_range() to call chain/getrange 
14612         functions.
14613         Add locks around IS_FLUSHING when reading.
14614         Take STREAM lock in chain(), get_range() functions so plugins
14615         don't need to take it anymore.
14616         
14617
14618
14619 2005-05-25  Wim Taymans  <wim@fluendo.com>
14620
14621         * tools/gst-launch.c: (event_loop):
14622         Unref message after using its contents instead of
14623         before.
14624
14625 2005-05-24  Wim Taymans  <wim@fluendo.com>
14626
14627         * docs/design/draft-ghostpads.txt:
14628         * docs/design/draft-push-pull.txt:
14629         * docs/design/draft-query.txt:
14630         * docs/design/part-overview.txt:
14631         Docs updates, added general overview doc.
14632
14633 2005-05-21  David Schleef  <ds@schleef.org>
14634
14635         * docs/gst/tmpl/old/GstBin.sgml:
14636         * docs/gst/tmpl/old/GstBuffer.sgml:
14637         * docs/gst/tmpl/old/GstCaps.sgml:
14638         * docs/gst/tmpl/old/GstClock.sgml:
14639         * docs/gst/tmpl/old/GstCompat.sgml:
14640         * docs/gst/tmpl/old/GstData.sgml:
14641         * docs/gst/tmpl/old/GstElement.sgml:
14642         * docs/gst/tmpl/old/GstEvent.sgml:
14643         * docs/gst/tmpl/old/GstIndex.sgml:
14644         * docs/gst/tmpl/old/GstStructure.sgml:
14645         * docs/gst/tmpl/old/GstTag.sgml:
14646         * docs/gst/tmpl/old/cothreads.sgml:
14647         * docs/gst/tmpl/old/cothreads_compat.sgml:
14648         * docs/gst/tmpl/old/gettext.sgml:
14649         * docs/gst/tmpl/old/gobject2gtk.sgml:
14650         * docs/gst/tmpl/old/grammar.tab.sgml:
14651         * docs/gst/tmpl/old/gst-i18n-app.sgml:
14652         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
14653         * docs/gst/tmpl/old/gst_private.sgml:
14654         * docs/gst/tmpl/old/gstaggregator.sgml:
14655         * docs/gst/tmpl/old/gstarch.sgml:
14656         * docs/gst/tmpl/old/gstatomic_impl.sgml:
14657         * docs/gst/tmpl/old/gstbufferstore.sgml:
14658         * docs/gst/tmpl/old/gstdata_private.sgml:
14659         * docs/gst/tmpl/old/gstdisksink.sgml:
14660         * docs/gst/tmpl/old/gstdisksrc.sgml:
14661         * docs/gst/tmpl/old/gstelementfactory.sgml:
14662         * docs/gst/tmpl/old/gstextratypes.sgml:
14663         * docs/gst/tmpl/old/gstfakesink.sgml:
14664         * docs/gst/tmpl/old/gstfakesrc.sgml:
14665         * docs/gst/tmpl/old/gstfdsink.sgml:
14666         * docs/gst/tmpl/old/gstfdsrc.sgml:
14667         * docs/gst/tmpl/old/gstfilesink.sgml:
14668         * docs/gst/tmpl/old/gstfilesrc.sgml:
14669         * docs/gst/tmpl/old/gsthttpsrc.sgml:
14670         * docs/gst/tmpl/old/gstidentity.sgml:
14671         * docs/gst/tmpl/old/gstindexfactory.sgml:
14672         * docs/gst/tmpl/old/gstmarshal.sgml:
14673         * docs/gst/tmpl/old/gstmd5sink.sgml:
14674         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
14675         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
14676         * docs/gst/tmpl/old/gstpadtemplate.sgml:
14677         * docs/gst/tmpl/old/gstpipefilter.sgml:
14678         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
14679         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
14680         * docs/gst/tmpl/old/gstshaper.sgml:
14681         * docs/gst/tmpl/old/gstspider.sgml:
14682         * docs/gst/tmpl/old/gstspideridentity.sgml:
14683         * docs/gst/tmpl/old/gststatistics.sgml:
14684         * docs/gst/tmpl/old/gsttee.sgml:
14685         * docs/gst/tmpl/old/gsttimecache.sgml:
14686         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
14687         * docs/gst/tmpl/old/gstxmlregistry.sgml:
14688         * docs/gst/tmpl/old/gthread-cothreads.sgml:
14689         * docs/gst/tmpl/old/types.sgml:
14690           I didn't intend to add these or check them in.
14691
14692 2005-05-19  David Schleef  <ds@schleef.org>
14693
14694         * configure.ac: Use -no-common everywhere.  In a sane world, it
14695           would be the default in libtool, because without it, you can't
14696           build DLLs on Windows.
14697         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
14698         * docs/gst/gstreamer-sections.txt:
14699         * docs/gst/tmpl/gstcpu.sgml:
14700         * docs/gst/tmpl/gstdata.sgml:
14701         * docs/gst/tmpl/gstthread.sgml:
14702
14703 2005-05-19  David Schleef  <ds@schleef.org>
14704
14705         * gst/gstminiobject.c: (gst_value_set_mini_object),
14706         (gst_value_take_mini_object), (gst_value_get_mini_object):
14707         * gst/gstminiobject.h: Add GValue set/get functions.
14708
14709 2005-05-19  Wim Taymans  <wim@fluendo.com>
14710
14711         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
14712         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
14713         (gst_subbuffer_init), (gst_buffer_is_span_fast):
14714         * gst/gstbuffer.h:
14715         * gst/gstbus.c: (gst_bus_post):
14716         * gst/gstelement.c: (gst_element_get_random_pad):
14717         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
14718         Make subbufer unref the parent in finalize.
14719         some more debugging info.
14720
14721
14722 2005-05-19  Wim Taymans  <wim@fluendo.com>
14723
14724         * gst/base/gstbasesink.c: (gst_basesink_class_init),
14725         (gst_basesink_init), (gst_basesink_finalize),
14726         (gst_basesink_activate), (gst_basesink_change_state):
14727         Don't free preroll queue too early.
14728
14729 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14730
14731         * gst/Makefile.am:
14732         * gst/ROADMAP:
14733           Hi, I'm outdated. Please shoot me.
14734
14735 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14736
14737         * gst/gstpipeline.c: (gst_pipeline_send_event):
14738           Do not access variables after they have been deleted.
14739
14740 2005-05-19  Wim Taymans  <wim@fluendo.com>
14741
14742         * tools/gst-inspect.c: (print_plugin_features):
14743         A plugin feature does unfortunatly not use the
14744         object name yet...
14745
14746 2005-05-18  Wim Taymans  <wim@fluendo.com>
14747
14748         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
14749         Port _span() functions to new subbuffers.
14750
14751 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14752
14753         * gst/gstbin.c: (gst_bin_add_func):
14754           Fix clock settery in bins when adding kids after the clock has
14755           been selected.
14756
14757 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14758
14759         * gst/elements/gstidentity.c: (gst_identity_class_init):
14760           Workaround until signals support GstMiniObject.
14761
14762 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
14763
14764         * gst/gstbuffer.c:
14765         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
14766
14767 2005-05-18  Wim Taymans  <wim@fluendo.com>
14768
14769         * gst/base/Makefile.am:
14770         * gst/base/gstadapter.c: (gst_adapter_base_init),
14771         (gst_adapter_class_init), (gst_adapter_init),
14772         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
14773         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
14774         (gst_adapter_flush), (gst_adapter_available),
14775         (gst_adapter_available_fast):
14776         * gst/base/gstadapter.h:
14777         Ported and added adapter to the base classes.
14778
14779 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
14780
14781         * gst/gst.c:
14782         * gst/gstmessage.c:
14783           Make sure the class is reffed/unreffed once before threads can be
14784           used.  Fixes #304551.
14785
14786 2005-05-17  Wim Taymans  <wim@fluendo.com>
14787
14788         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
14789         (gst_basesink_chain_unlocked), (gst_basesink_activate):
14790         * gst/gstminiobject.c: (gst_mini_object_get_type),
14791         (gst_mini_object_free):
14792         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
14793         (gst_pad_push), (gst_pad_push_event):
14794         * gst/gstqueue.c: (gst_queue_change_state):
14795         Don't queue buffers in basesink when we are flushing.
14796         Unref buffer when flushing in basesink.
14797         Flush queue when going to READY
14798         Unref buffer when _push() returns an error.
14799         Don't free MiniObject instance when refcount is incremented
14800         in _finalize() so that we can recover objects.
14801
14802 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
14803
14804         * docs/manual/advanced-schedulers.xml:
14805         * docs/manual/appendix-checklist.xml:
14806         * docs/pwg/advanced-clock.xml:
14807         * docs/pwg/advanced-interfaces.xml:
14808         * docs/pwg/advanced-request.xml:
14809         * docs/pwg/advanced-types.xml:
14810         * docs/pwg/intro-preface.xml:
14811         * examples/plugins/example.c: (gst_example_get_type),
14812         (gst_example_class_init), (gst_example_chain),
14813         (gst_example_set_property), (gst_example_get_property),
14814         (gst_example_change_state), (plugin_init):
14815         * examples/plugins/example.h:
14816           small doc fixes
14817
14818 2005-05-17  Wim Taymans  <wim@fluendo.com>
14819
14820         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
14821         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
14822         * gst/gstqueue.c: (gst_queue_change_state):
14823         Clear queue when going to READY.
14824         Remove IN_SETCAPS flag too.
14825
14826 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
14827
14828         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
14829           Remove implicit cast from gboolean to GstElementStateReturn;
14830           make sure we still return failure in paused => ready case if
14831           the parent class fails to change state and our own stop 
14832           vfunc succeeds.
14833
14834 2005-05-17  Wim Taymans  <wim@fluendo.com>
14835
14836         * tools/gst-launch.c: (event_loop):
14837         Message was unreffed too soon.
14838
14839 2005-05-16  Andy Wingo  <wingo@pobox.com>
14840
14841         * gst/gstbin.c (sink_iterator_filter): Err... um...
14842
14843         * check/gst/gstbin.c (test_ghost_pads): New test for the
14844         ghosting-if-elements-not-in-same-bin behavior.
14845
14846 2005-05-16  David Schleef  <ds@schleef.org>
14847
14848         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
14849         accessing refcount directly.
14850
14851 2005-05-15  David Schleef  <ds@schleef.org>
14852
14853         * check/Makefile.am: remove GstData checks
14854         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
14855         * gst/Makefile.am: add miniobject, remove data
14856         * gst/gst.h: add miniobject, remove data
14857         * gst/gstdata.c: remove
14858         * gst/gstdata.h: remove
14859         * gst/gstdata_private.h: remove
14860         * gst/gsttypes.h: remove GstEvent and GstMessage
14861         * gst/gstelement.c: (gst_element_post_message): fix for API changes
14862         * gst/gstmarshal.list: change BOXED -> OBJECT
14863
14864         Implement GstMiniObject.
14865         * gst/gstminiobject.c:
14866         * gst/gstminiobject.h:
14867
14868         Modify to be subclasses of GstMiniObject.
14869         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
14870         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
14871         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
14872         (gst_subbuffer_get_type), (gst_subbuffer_init),
14873         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
14874         (gst_buffer_span):
14875         * gst/gstbuffer.h:
14876         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
14877         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
14878         (_gst_event_copy), (gst_event_new):
14879         * gst/gstevent.h:
14880         * gst/gstmessage.c: (_gst_message_initialize),
14881         (gst_message_get_type), (gst_message_class_init),
14882         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
14883         (gst_message_new), (gst_message_new_error),
14884         (gst_message_new_warning), (gst_message_new_tag),
14885         (gst_message_new_state_changed), (gst_message_new_application):
14886         * gst/gstmessage.h:
14887         * gst/gstprobe.c: (gst_probe_perform),
14888         (gst_probe_dispatcher_dispatch):
14889         * gst/gstprobe.h:
14890         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
14891         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
14892         (_gst_query_copy), (gst_query_new):
14893
14894         Update elements for GstData -> GstMiniObject changes
14895         * gst/gstquery.h:
14896         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
14897         (gst_queue_chain), (gst_queue_loop):
14898         * gst/elements/gstbufferstore.c:
14899         (gst_buffer_store_add_buffer_func),
14900         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
14901         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
14902         (gst_fakesink_render):
14903         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
14904         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
14905         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
14906         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
14907         (gst_filesrc_create_read):
14908         * gst/elements/gstidentity.c: (gst_identity_class_init):
14909         * gst/elements/gsttypefindelement.c:
14910         (gst_type_find_element_src_event), (free_entry_buffers),
14911         (gst_type_find_element_handle_event):
14912         * libs/gst/dataprotocol/dataprotocol.c:
14913         (gst_dp_header_from_buffer):
14914         * libs/gst/dataprotocol/dataprotocol.h:
14915         * libs/gst/dataprotocol/dp-private.h:
14916
14917 2005-05-15  David Schleef  <ds@schleef.org>
14918
14919         * gst/elements/gstelements.c: Don't include headers that were
14920         just removed.
14921
14922 2005-05-15  David Schleef  <ds@schleef.org>
14923
14924         * gst/elements/Makefile.am: Remove some elements that don't
14925         need to be in the core (or even exist at all).
14926         * gst/elements/gstaggregator.c:
14927         * gst/elements/gstaggregator.h:
14928         * gst/elements/gstmd5sink.c:
14929         * gst/elements/gstmd5sink.h:
14930         * gst/elements/gstmultifilesrc.c:
14931         * gst/elements/gstmultifilesrc.h:
14932         * gst/elements/gstpipefilter.c:
14933         * gst/elements/gstpipefilter.h:
14934         * gst/elements/gstshaper.c:
14935         * gst/elements/gstshaper.h:
14936         * gst/elements/gststatistics.c:
14937         * gst/elements/gststatistics.h:
14938         * po/POTFILES.in: Remove above files.
14939
14940 2005-05-14  Andy Wingo  <wingo@pobox.com>
14941
14942         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
14943         so as to get the refs right.
14944         (sink_iterator_filter): New function, wraps bin_element_is_sink,
14945         unreffing objects that don't pass the filter.
14946
14947         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
14948         gst_element_set_bus.
14949         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
14950         normal cases, this will destroy the bus.
14951
14952         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
14953         object.
14954
14955         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
14956         has no sinks.
14957
14958 2005-05-13  Andy Wingo  <wingo@pobox.com>
14959
14960         * gst/gstutils.c (gst_element_link_pads): Instead of calling
14961         gst_pad_link, call pad_link_maybe_ghosting,
14962         (pad_link_maybe_ghosting): Links pads, making sure that the
14963         elements being linked are in the same bin.
14964         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
14965         Helpers for pad_link_maybe_ghosting.
14966
14967 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
14968
14969         * configure.ac:
14970           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
14971
14972 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
14973
14974         * docs/design/part-element-source.txt:
14975           Mention GstPushSrc
14976
14977 2005-05-12  Wim Taymans  <wim@fluendo.com>
14978
14979         * gst/base/gstbasesink.c: (gst_basesink_init),
14980         (gst_basesink_activate):
14981         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
14982         (gst_basesrc_is_seekable):
14983         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
14984         (bin_element_is_sink), (gst_bin_change_state):
14985         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
14986         * gst/gstelement.h:
14987         Identify sinks by their flag to avoid overly complicated
14988         checks (fow now).
14989         Do state changes even for elements not reachable from the
14990         sinks.
14991         BaseSink is a sink now :)
14992         Some more debugging info in the basesrc.
14993
14994
14995 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14996
14997         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
14998           Implement _query on a bin, similar to _send_event.
14999
15000 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
15001
15002         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
15003           Discont event offset format should be GST_FORMAT_BYTES,
15004           not GST_FORMAT_TIME.
15005
15006 2005-05-12  Wim Taymans  <wim@fluendo.com>
15007
15008         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
15009         Same fix as Ronald's but without the signal. 
15010
15011 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15012
15013         * gst/gstutils.c: (gst_element_query_position):
15014           No, an element is not a pad.
15015
15016 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15017
15018         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
15019         (gst_bin_get_state):
15020           If a child is removed from a bin while we remove the child from
15021           the bin and while we're retrieving its state, signal this to the
15022           get_state function so we abort the wait (instead of waiting for
15023           a timeout) and can immediately re-iterate over all other elements.
15024
15025 2005-05-12  Wim Taymans  <wim@fluendo.com>
15026
15027         * gst/base/Makefile.am:
15028         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
15029         (gst_basesrc_start):
15030         * gst/base/gstbasesrc.h:
15031         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
15032         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
15033         (gst_pushsrc_init), (gst_pushsrc_create):
15034         * gst/base/gstpushsrc.h:
15035         Added is_seekable to BaseSrc
15036         Added simple PushSrc.
15037
15038 2005-05-11  Wim Taymans  <wim@fluendo.com>
15039
15040         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
15041         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
15042         (gst_element_link_pads), (gst_element_query_position),
15043         (gst_element_query_convert), (intersect_caps_func),
15044         (gst_pad_query_position), (gst_pad_query_convert):
15045         Fix refcounting in utils function.
15046         No point in trying to activate a pad when it's added, it could
15047         be added from the state change function and then we deadlock, the
15048         element has to decide what to do.
15049
15050 2005-05-10  Andy Wingo  <wingo@pobox.com>
15051
15052         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
15053         *all* the arguments.
15054
15055         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
15056         stream lock if it's a FLUSH_DONE; normal flushes don't get the
15057         lock (according to the docs -- if this is wrong change the docs).
15058
15059         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
15060         flush messages in the NULL state.
15061
15062         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
15063         message immediately and return.
15064         (gst_bus_set_flushing): New function. If a bus is flushing, it
15065         flushes out any queued messages and immediately unrefs new
15066         messages. This is so when an element goes to NULL, all of the
15067         unhandled messages coming from it can be freed, and their
15068         references to the element dropped. In other words: message source
15069         ref considered harmful :P
15070
15071         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
15072         we're finished with it.
15073
15074         * gst/gstmessage.c (gst_message_new_state_changed): 
15075
15076 2005-05-10  Wim Taymans  <wim@fluendo.com>
15077
15078         * gst/gstvalue.c: (gst_value_compare_flags),
15079         (gst_value_serialize_flags), (gst_value_deserialize_flags),
15080         (_gst_value_initialize):
15081         Added flags serialize/deserialize/compare code.
15082
15083 2005-05-09  Andy Wingo  <wingo@pobox.com>
15084
15085         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
15086         Intersect the peer's caps with our caps.
15087
15088 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15089
15090         * gst/base/gsttypefindhelper.c: (helper_find_peek):
15091         * gst/elements/gsttypefindelement.c: (find_peek):
15092           Handle negative offsets better. Fixes decodebin.
15093
15094 2005-05-09  Wim Taymans  <wim@fluendo.com>
15095
15096         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
15097         (gst_base_transform_event):
15098         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
15099         Implement accept_caps.
15100         Fix silly lock/unlock mismatch in base class.
15101
15102 2005-05-09  Wim Taymans  <wim@fluendo.com>
15103
15104         * docs/design/draft-push-pull.txt:
15105         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
15106         * gst/elements/gstfilesink.c: (gst_filesink_init),
15107         (gst_filesink_query):
15108         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
15109         (gst_type_find_handle_src_query), (find_element_get_length):
15110         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
15111         * gst/gstelement.h:
15112         * gst/gstmessage.c:
15113         * gst/gstmessage.h:
15114         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
15115         (gst_real_pad_get_caps_unlocked),
15116         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
15117         (gst_pad_event_default_dispatch), (gst_pad_event_default),
15118         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
15119         (gst_real_pad_dispose), (gst_real_pad_finalize),
15120         (gst_pad_load_and_link), (gst_pad_save_thyself),
15121         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
15122         (gst_pad_check_pull_range), (gst_pad_pull_range),
15123         (gst_pad_template_get_type), (gst_pad_template_class_init),
15124         (gst_pad_template_init), (gst_pad_template_dispose),
15125         (name_is_valid), (gst_static_pad_template_get),
15126         (gst_pad_template_new), (gst_static_pad_template_get_caps),
15127         (gst_pad_template_get_caps), (gst_pad_set_element_private),
15128         (gst_pad_get_element_private), (gst_pad_start_task),
15129         (gst_pad_pause_task), (gst_pad_stop_task),
15130         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
15131         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
15132         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
15133         (gst_ghost_pad_new):
15134         * gst/gstpad.h:
15135         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
15136         (gst_query_new_position), (gst_query_set_position),
15137         (gst_query_parse_position), (gst_query_new_convert),
15138         (gst_query_set_convert), (gst_query_parse_convert):
15139         * gst/gstquery.h:
15140         * gst/gstqueryutils.c:
15141         * gst/gstqueryutils.h:
15142         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
15143         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
15144         (gst_queue_handle_src_query):
15145         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
15146         (gst_element_query_position), (gst_element_query_convert),
15147         (intersect_caps_func), (gst_pad_query_position),
15148         (gst_pad_query_convert):
15149         * gst/gstutils.h:
15150         * tools/gst-inspect.c: (print_pad_info):
15151         * tools/gst-xmlinspect.c: (print_element_info):
15152         Remove old query functions. Ported old code.
15153         Added position/convert helper functions to gstutils.
15154         Reordered gstpad.c code, grouping relevant things.
15155         Remove gst_message_new(), always need to speficy a specific
15156         message.
15157
15158
15159 2005-05-09  Andy Wingo  <wingo@pobox.com>
15160
15161         * gst/gstiterator.h: Add some includes.
15162
15163         * gst/gstqueryutils.h: Include more headers.
15164
15165         * gst/gstpad.h:
15166         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
15167         some uses of gst_pad_query.
15168
15169         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
15170         NULL out parameters.
15171         (gst_query_new_position): New proc, allocates a new position
15172         query.
15173
15174         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
15175         gstqueryutils.c to the build.
15176
15177         * gst/gststructure.c (gst_structure_set_valist): Implement with
15178         the generic G_VALUE_COLLECT.
15179         
15180 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
15181
15182         * gst/Makefile.am: (gst_headers):
15183         Added gstqueryutils.h to the list of headers to install, that was
15184         a 'nachty' move wingo :)
15185
15186 2005-05-06  Andy Wingo  <wingo@pobox.com>
15187
15188         * gst/gstquery.h
15189         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
15190         GstData, init a memchunk.
15191         (standard_definitions): Add a few query types, deprecate a few.
15192         (gst_query_get_type): New proc.
15193         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
15194         implementation.
15195         (gst_query_new_application, gst_query_get_structure): New public
15196         procs.
15197
15198         * docs/design/draft-query.txt: Removed LINKS from the query types,
15199         because all the rest can be dispatched to other pads -- seemed
15200         ugly to have a query that couldn't be dispatched. internal_links
15201         is fine as a pad method.
15202
15203         * gst/gstpad.h: Add query2 as a pad method, add the new functions
15204         in gstpad.c, but maintain binary compatibility for the moment.
15205         Will fix before 0.9 is out.
15206
15207         * gst/gstqueryutils.c: 
15208         * gst/gstqueryutils.h: New files, implement 3 methods for each
15209         query type: parse_query, parse_response, and set. Probably need an
15210         allocator as well.
15211
15212         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
15213
15214         * gst/elements/gstfilesink.c (gst_filesink_query2):
15215         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
15216         query_types, and formats methods.
15217
15218         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
15219         (gst_pad_set_query2_function): New functions.
15220         (gst_real_pad_init): Set query2_default as the default query2
15221         function. Basically just dispatches to internally linked pads.
15222
15223         Needs review!
15224         
15225         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
15226         without using the atomic operations. Only one thread can possibly
15227         be accessing the data at this point. Changed so as to avoid
15228         gst_atomic operations.
15229
15230 2005-05-06  Wim Taymans  <wim@fluendo.com>
15231
15232         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
15233         Also set caps if we use the fallback buffer alloc.
15234
15235 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
15236
15237         * docs/gst/Makefile.am:
15238         * docs/gst/gstreamer-docs.sgml:
15239         * docs/gst/gstreamer-sections.txt:
15240         * docs/gst/tmpl/gstatomic.sgml:
15241         * docs/gst/tmpl/gstmemchunk.sgml:
15242         * testsuite/elements/struct_i386.h:
15243         * win32/GStreamer.vcproj:
15244         * win32/Makefile:
15245           Purge GstAtomic stuff from docs and win32 makefiles as well
15246
15247 2005-05-06  Wim Taymans  <wim@fluendo.com>
15248
15249         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
15250         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
15251         * gst/gstpad.c: (gst_pad_peer_get_caps):
15252         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
15253         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
15254         (gst_queue_src_activate), (gst_queue_change_state):
15255         * gst/gstqueue.h:
15256         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
15257         (intersect_caps_func):
15258         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
15259         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
15260         Some fixes for the peer_get_caps() change.
15261
15262 2005-05-06  Wim Taymans  <wim@fluendo.com>
15263
15264         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
15265         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
15266         (gst_basesink_activate):
15267         Actually do something with error codes returned from the push
15268         functions.
15269
15270 2005-05-06  Wim Taymans  <wim@fluendo.com>
15271
15272         * docs/design/part-element-sink.txt:
15273         * docs/design/part-element-source.txt:
15274         * gst/base/gstbasesink.c: (gst_basesink_class_init),
15275         (gst_basesink_event), (gst_basesink_activate):
15276         * gst/base/gstbasesink.h:
15277         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
15278         (gst_basesrc_activate):
15279         * gst/base/gstbasesrc.h:
15280         * gst/gstelement.c: (gst_element_pads_activate):
15281         Some more documentation.
15282         Fixed scheduling decision in _pads_activate().
15283
15284 2005-05-05  Andy Wingo  <wingo@pobox.com>
15285
15286         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
15287         the test suite.
15288
15289 2005-05-05  Wim Taymans  <wim@fluendo.com>
15290
15291         * gst/base/Makefile.am:
15292         * gst/base/gstbasesink.h:
15293         * gst/base/gstbasesrc.c: (gst_basesrc_init),
15294         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
15295         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
15296         (gst_collectpads_class_init), (gst_collectpads_init),
15297         (gst_collectpads_finalize), (gst_collectpads_new),
15298         (gst_collectpads_set_function), (gst_collectpads_add_pad),
15299         (find_pad), (gst_collectpads_remove_pad),
15300         (gst_collectpads_is_active), (gst_collectpads_collect),
15301         (gst_collectpads_collect_range), (gst_collectpads_start),
15302         (gst_collectpads_stop), (gst_collectpads_peek),
15303         (gst_collectpads_pop), (gst_collectpads_available),
15304         (gst_collectpads_read), (gst_collectpads_flush),
15305         (gst_collectpads_chain):
15306         * gst/base/gstcollectpads.h:
15307         * gst/elements/Makefile.am:
15308         * gst/elements/gstelements.c:
15309         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
15310         (gst_fakesink_get_times), (gst_fakesink_event),
15311         (gst_fakesink_preroll), (gst_fakesink_render):
15312         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
15313         (gst_filesink_init), (gst_filesink_set_location),
15314         (gst_filesink_open_file), (gst_filesink_close_file),
15315         (gst_filesink_pad_query), (gst_filesink_event),
15316         (gst_filesink_render), (gst_filesink_change_state):
15317         * gst/elements/gstfilesink.h:
15318         Added object to help in making collect pad based elements.
15319         Ported filesink.
15320         Make event function in sink baseclass return gboolean.
15321
15322 2005-05-05  Wim Taymans  <wim@fluendo.com>
15323
15324         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
15325         (gst_bin_get_by_name):
15326         * gst/gstbuffer.h:
15327         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
15328         (gst_clock_finalize):
15329         * gst/gstdata.c: (gst_data_replace):
15330         * gst/gstdata.h:
15331         * gst/gstelement.c: (gst_element_request_pad),
15332         (gst_element_pads_activate):
15333         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
15334         (gst_object_unref):
15335         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
15336         (gst_pad_set_checkgetrange_function),
15337         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
15338         (gst_pad_check_pull_range), (gst_pad_pull_range),
15339         (gst_static_pad_template_get_caps), (gst_pad_start_task),
15340         (gst_pad_pause_task), (gst_pad_stop_task):
15341         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
15342         (gst_element_request_pad), (gst_pad_proxy_getcaps):
15343         Fix name lookup in GstBin.
15344         Added _data_replace() function and _buffer_replace()
15345         Use finalize method to clean up clock.
15346         Fix refcounting on request pads.
15347         Fix pad schedule mode error.
15348         Some more object refcounting debug info,
15349
15350
15351 2005-05-04  Andy Wingo <wingo@pobox.com>
15352
15353         * check/Makefile.am:
15354         * docs/gst/tmpl/gstatomic.sgml:
15355         * docs/gst/tmpl/gstplugin.sgml:
15356         * gst/base/gstbasesink.c: (gst_basesink_activate):
15357         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
15358         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
15359         (gst_basesrc_query), (gst_basesrc_set_property),
15360         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
15361         (gst_basesrc_activate):
15362         * gst/base/gstbasesrc.h:
15363         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
15364         (gst_base_transform_src_activate):
15365         * gst/elements/gstelements.c:
15366         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
15367         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
15368         * gst/elements/gsttee.c: (gst_tee_sink_activate):
15369         * gst/elements/gsttypefindelement.c: (find_element_get_length),
15370         (gst_type_find_element_checkgetrange),
15371         (gst_type_find_element_activate):
15372         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
15373         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
15374         (gst_caps_load_thyself):
15375         * gst/gstelement.c: (gst_element_pads_activate),
15376         (gst_element_save_thyself), (gst_element_restore_thyself):
15377         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
15378         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
15379         * gst/gstpad.h:
15380         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
15381         (gst_xml_parse_file), (gst_xml_parse_memory),
15382         (gst_xml_get_element), (gst_xml_make_element):
15383         * gst/indexers/gstfileindex.c: (gst_file_index_load),
15384         (_file_index_id_save_xml), (gst_file_index_commit):
15385         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
15386         (read_enum), (load_pad_template), (load_feature), (load_plugin),
15387         (load_paths):
15388         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
15389         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
15390         * tools/gst-complete.c: (main):
15391         * tools/gst-compprep.c: (main):
15392         * tools/gst-inspect.c: (print_element_properties_info):
15393         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
15394         * tools/gst-xmlinspect.c: (print_element_properties):
15395         GCC 4 fixen.
15396         
15397 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
15398
15399         * gst/gstplugin.c: (gst_plugin_check_module),
15400         (gst_plugin_check_file), (gst_plugin_load_file):
15401             apply patch from #172526 to make register work on MacOSX
15402
15403 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
15404
15405         * docs/gst/tmpl/gstconfig.sgml:
15406         * gst/gstconfig.h.in:
15407           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
15408         * testsuite/debug/printf_extension.c: (main):
15409           Do not use GST_PTR_FORMAT on pointers to types with
15410           sizeof < sizeof(gpointer).  Fixes test on 64-bit
15411         * testsuite/elements/property.h:
15412           use correct printf format
15413
15414 2005-05-02  Wim Taymans  <wim@fluendo.com>
15415
15416         * docs/design/draft-push-pull.txt:
15417         * docs/design/draft-query.txt:
15418         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
15419         (gst_basesrc_start):
15420         Added draft for new query API.
15421         Added draft for better selecting scheduling methods.
15422         Make basesrc ignore length if the subclass does not support
15423         it.
15424
15425 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
15426
15427         * gst/Makefile.am:
15428           possible fixes for automake-1.5 - _LIBADD is reserved
15429
15430 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
15431
15432         * docs/faq/Makefile.am:
15433         * docs/manual/Makefile.am:
15434         * docs/manuals.mak:
15435         * docs/pwg/Makefile.am:
15436         * gst/Makefile.am:
15437           possible fixes for automake-1.5
15438
15439 2005-04-28  Wim Taymans  <wim@fluendo.com>
15440
15441         * gst/base/gstbasesink.c: (gst_basesink_base_init),
15442         (gst_basesink_pad_getcaps), (gst_basesink_init),
15443         (gst_basesink_do_sync):
15444         * gst/gstclock.c: (gst_clock_entry_new):
15445         * gst/gstevent.c: (gst_event_discont_get_value):
15446         * gst/gstpipeline.c: (pipeline_bus_handler),
15447         (gst_pipeline_change_state):
15448         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
15449         Better debugging of clocking info.
15450         Allow NULL values when getting discont values.
15451
15452 2005-04-27  Wim Taymans  <wim@fluendo.com>
15453
15454         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
15455         * check/gst/gstpad.c: (gst_pad_suite):
15456         Increase timeout for checks.
15457
15458 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
15459
15460         * check/Makefile.am:
15461           fix the broken rule for cleanup.  Apparently this rule is
15462           only needed on FC2, so maybe this warrants further autotool
15463           inspection.
15464
15465 2005-04-26  Wim Taymans  <wim@fluendo.com>
15466
15467         * gst/gsttrashstack.h:
15468         Ooohh. a nasty one! After having a failed pop() from the stack,
15469         it's possible that the stack is empty. In that case, don't
15470         follow the NULL pointer.
15471
15472 2005-04-25  Wim Taymans  <wim@fluendo.com>
15473
15474         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
15475         (gst_pad_set_checkgetrange_function),
15476         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
15477         (gst_pad_check_pull_range), (gst_pad_pull_range),
15478         (gst_static_pad_template_get_caps), (gst_pad_start_task),
15479         (gst_pad_pause_task), (gst_pad_stop_task):
15480         * gst/gstplugin.c: (gst_plugin_load):
15481         * gst/gstplugin.h:
15482         Remove gst_library_load as it does more harm than good with
15483         the new g_module flags.
15484         Revert bogus caps template check in pad linking, pad caps
15485         are important when linking not the template, which is more
15486         general than the current caps.
15487
15488 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15489
15490         * gst/autoplug/.cvsignore:
15491         * gst/autoplug/Makefile.am:
15492         * gst/autoplug/gstsearchfuncs.c:
15493         * gst/autoplug/gstsearchfuncs.h:
15494         * gst/autoplug/gstspider.c:
15495         * gst/autoplug/gstspider.h:
15496         * gst/autoplug/gstspideridentity.c:
15497         * gst/autoplug/gstspideridentity.h:
15498         * gst/autoplug/spidertest.c:
15499           Die, spider, die.
15500
15501 2005-04-25  Wim Taymans  <wim@fluendo.com>
15502
15503         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
15504         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
15505         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
15506         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
15507         * gst/gstpad.h:
15508         Added stubs for unimplemented functions. 
15509
15510 2005-04-24  David Schleef  <ds@schleef.org>
15511
15512         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
15513         please fix.
15514
15515 2005-04-24  David Schleef  <ds@schleef.org>
15516
15517         Convert everything from GstAtomicInt to g_atomic_int_*, and
15518         remove gstatomic.
15519         * gst/Makefile.am:
15520         * gst/gstatomic.c:
15521         * gst/gstatomic.h:
15522         * gst/gstatomic_impl.h:
15523         * gst/gstbuffer.c:
15524         * gst/gstcaps.c:
15525         * gst/gstcaps.h:
15526         * gst/gstclock.c:
15527         * gst/gstclock.h:
15528         * gst/gstdata.c:
15529         * gst/gstdata.h:
15530         * gst/gstdata_private.h:
15531         * gst/gstevent.c:
15532         * gst/gstinfo.c:
15533         * gst/gstinfo.h:
15534         * gst/gstmessage.c:
15535         * gst/gstobject.c:
15536         * gst/gstobject.h:
15537         * gst/gststructure.c:
15538         * gst/gststructure.h:
15539         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
15540         * gst/gstutils.h:
15541
15542 2005-04-24  David Schleef  <ds@schleef.org>
15543
15544         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
15545         make the regressions tests work.  Remove some code that is no
15546         longer true.
15547         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
15548         Disable warning for pads without templates.
15549
15550 2005-04-24  David Schleef  <ds@schleef.org>
15551
15552         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
15553         functions that handle filtered links.
15554         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
15555         removed functions.
15556         * gst/gstutils.c: Fix/remove utility functions that handle
15557         filtered caps.
15558         * gst/gstutils.h:
15559         * gst/gstvalue.c: Add serialization/deserialization of caps
15560         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
15561         requires fixing so that the filter caps notation creates
15562         a capsfilter element and sets the filter_caps property.  I
15563         think everyone probably wants to keep the shorthand notation.
15564         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
15565         * docs/gst/tmpl/gstpad.sgml:
15566
15567         * gst/elements/gstelements.c: Register capsfilter element.
15568         * gst/Makefile.am: fix spacing
15569         * docs/random/ds/0.9-suggested-changes: random
15570
15571 2005-04-23  David Schleef  <ds@schleef.org>
15572
15573         * gst/elements/Makefile.am:
15574         * gst/elements/gstcapsfilter.c: New element that acts like an
15575         identity, but filters caps.  Will eventually replace filtered
15576         caps in pad linking.
15577         * gst/gstutils.c: (gst_element_create_all_pads): New function
15578         to create all the ALWAYS pads that are registered with an
15579         element class.  This functionality should eventually be
15580         merged in with GstElement initialization.
15581         * gst/gstutils.h:
15582         * testsuite/trigger/README: part of trigger test code that should
15583         have been checked in a long time ago.
15584
15585 2005-04-23  David Schleef  <ds@schleef.org>
15586
15587         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
15588         needed with new versions of libtool (nobody will confirm this),
15589         and hard to carry around.
15590         * gst/autoplug/Makefile.am:
15591         * gst/base/Makefile.am:
15592         * gst/elements/Makefile.am:
15593         * gst/indexers/Makefile.am:
15594         * gst/schedulers/Makefile.am:
15595         * libs/gst/bytestream/Makefile.am:
15596         * libs/gst/control/Makefile.am:
15597         * libs/gst/dataprotocol/Makefile.am:
15598         * libs/gst/getbits/Makefile.am:
15599
15600 2005-04-21  Wim Taymans  <wim@fluendo.com>
15601
15602         * docs/design/draft-push-pull.txt:
15603         * docs/design/part-MT-refcounting.txt:
15604         * docs/design/part-TODO.txt:
15605         * docs/design/part-caps.txt:
15606         * docs/design/part-events.txt:
15607         * docs/design/part-gstbus.txt:
15608         * docs/design/part-gstpipeline.txt:
15609         * docs/design/part-messages.txt:
15610         * docs/design/part-push-pull.txt:
15611         * docs/design/part-query.txt:
15612         Some more docs.
15613
15614 2005-04-21  Wim Taymans  <wim@fluendo.com>
15615
15616         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
15617         (gst_message_new), (gst_message_new_error),
15618         (gst_message_new_warning), (gst_message_new_tag),
15619         (gst_message_new_state_changed), (gst_message_new_application),
15620         (gst_message_get_structure):
15621         * gst/gstmessage.h:
15622         * gst/gststructure.c: (gst_structure_set_parent_refcount),
15623         (gst_structure_copy_conditional):
15624         Use parent refcount in GstMessage to ensure GstStructure
15625         consistency.
15626         Cleaned up headers a bit.
15627         
15628
15629 2005-04-20  Wim Taymans  <wim@fluendo.com>
15630
15631         * gst/base/gstbasesink.c: (gst_basesink_base_init),
15632         (gst_basesink_pad_getcaps), (gst_basesink_init),
15633         (gst_basesink_chain_unlocked):
15634         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
15635         (gst_type_find_helper):
15636         * gst/elements/gsttypefindelement.c:
15637         (gst_type_find_element_have_type), (gst_type_find_element_init),
15638         (stop_typefinding), (gst_type_find_element_handle_event),
15639         (find_suggest), (gst_type_find_element_chain),
15640         (gst_type_find_element_checkgetrange),
15641         (gst_type_find_element_getrange), (do_typefind),
15642         (gst_type_find_element_activate):
15643         * gst/gstbuffer.c: (_gst_buffer_sub_free),
15644         (gst_buffer_default_free), (gst_buffer_default_copy),
15645         (gst_buffer_set_caps):
15646         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
15647         (gst_caps_replace):
15648         * gst/gstmessage.c: (gst_message_new),
15649         (gst_message_new_state_changed):
15650         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
15651         (gst_pad_set_checkgetrange_function),
15652         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
15653         (gst_pad_set_caps), (gst_pad_check_pull_range),
15654         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
15655         * gst/gstpad.h:
15656         * gst/gsttypefind.c: (gst_type_find_register):
15657         Make gst_caps_replace() work like other _replace() functions.
15658         Use _caps_replace() where possible.
15659         Make sure _message_new() initialises its field.
15660         Add gst_static_pad_template_get_caps()
15661
15662
15663 2005-04-18  Andy Wingo  <wingo@pobox.com>
15664
15665         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
15666         on the peer, not the pad. I think that was a typo. Pass an extra
15667         arg to see if random access is possible. Activate the pads as
15668         PULL_RANGE if possible.
15669
15670         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
15671
15672         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
15673         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
15674         to PROP_....
15675
15676 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15677
15678         * docs/faq/using.xml:
15679           Add note on gstreamer-properties (#154996).
15680
15681 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15682
15683         * docs/random/bbb/optional-properties:
15684           Some analysis on optional properties.
15685
15686 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15687
15688         * docs/gst/tmpl/gstelementfactory.sgml:
15689         * gst/gstelement.h:
15690         * gst/gstelementfactory.c: (gst_element_factory_init),
15691         (gst_element_factory_cleanup), (gst_element_register),
15692         (__gst_element_factory_add_static_pad_template),
15693         (gst_element_factory_get_static_pad_templates),
15694         (gst_element_factory_can_src_caps),
15695         (gst_element_factory_can_sink_caps):
15696         * gst/registries/Makefile.am:
15697         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
15698         (gst_xml_registry_class_init), (gst_xml_registry_init),
15699         (gst_xml_registry_new), (gst_xml_registry_set_property),
15700         (gst_xml_registry_get_property), (get_time), (make_dir),
15701         (gst_xml_registry_get_perms_func),
15702         (plugin_times_older_than_recurse), (plugin_times_older_than),
15703         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
15704         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
15705         (add_to_char_array), (read_string), (read_uint), (read_enum),
15706         (load_pad_template), (load_feature), (load_plugin), (load_paths),
15707         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
15708         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
15709         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
15710         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
15711         (gst_xml_registry_rebuild):
15712         * gst/registries/gstlibxmlregistry.h:
15713         * tools/gst-compprep.c: (main):
15714         * tools/gst-inspect.c: (print_pad_templates_info):
15715         * tools/gst-xmlinspect.c: (print_element_info):
15716           Use libxml2 for registry parsing, use staticpadtemplates in
15717           elementfactories. Makes gst_init() +/- 10x faster.
15718
15719 2005-04-12  Wim Taymans  <wim@fluendo.com>
15720
15721         * gst/base/Makefile.am:
15722         * gst/base/gstbasesink.c: (gst_basesink_base_init),
15723         (gst_basesink_pad_getcaps), (gst_basesink_init),
15724         (gst_basesink_event), (gst_basesink_change_state):
15725         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
15726         (gst_basesrc_init), (gst_basesrc_query),
15727         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
15728         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
15729         (gst_basesrc_check_get_range), (gst_basesrc_loop),
15730         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
15731         (gst_basesrc_stop), (gst_basesrc_activate),
15732         (gst_basesrc_change_state):
15733         * gst/base/gsttypefindhelper.c: (helper_find_peek),
15734         (helper_find_suggest), (gst_type_find_helper):
15735         * gst/base/gsttypefindhelper.h:
15736         * gst/elements/Makefile.am:
15737         * gst/elements/gstelements.c:
15738         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
15739         (gst_fakesink_get_times), (gst_fakesink_event),
15740         (gst_fakesink_preroll), (gst_fakesink_render):
15741         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
15742         (gst_fakesrc_init), (gst_fakesrc_event_handler),
15743         (gst_fakesrc_get_property), (gst_fakesrc_create),
15744         (gst_fakesrc_start), (gst_fakesrc_stop):
15745         * gst/elements/gstfakesrc.h:
15746         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
15747         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
15748         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
15749         (gst_filesrc_create_read), (gst_filesrc_create),
15750         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
15751         (gst_filesrc_start):
15752         * gst/elements/gsttypefindelement.c:
15753         (gst_type_find_element_have_type), (gst_type_find_element_init),
15754         (start_typefinding), (stop_typefinding), (push_buffer_store),
15755         (gst_type_find_element_handle_event),
15756         (gst_type_find_element_chain),
15757         (gst_type_find_element_checkgetrange),
15758         (gst_type_find_element_getrange), (do_typefind),
15759         (gst_type_find_element_activate),
15760         (gst_type_find_element_change_state):
15761         * gst/elements/gsttypefindelement.h:
15762         * gst/gstpipeline.c: (pipeline_bus_handler):
15763         Added typefind helper.
15764         Small preroll fix in the base sink.
15765         Disable typefind code in basesrc.
15766         Crude port of typefindelement.
15767         Fakesrc cleanups.
15768
15769
15770 2005-04-11  Wim Taymans  <wim@fluendo.com>
15771
15772         * check/gst/gstbus.c: (gstbus_suite):
15773         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
15774         * check/gstcheck.h:
15775           Fix up the timeout so that the test does not fail.
15776
15777 2005-04-06  Wim Taymans  <wim@fluendo.com>
15778
15779         * gst/base/README:
15780         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
15781         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
15782         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
15783         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
15784         (gst_basesrc_check_get_range), (gst_basesrc_loop),
15785         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
15786         (gst_basesrc_stop), (gst_basesrc_activate),
15787         (gst_basesrc_change_state), (basesrc_find_peek),
15788         (basesrc_find_suggest), (gst_basesrc_type_find):
15789         * gst/base/gstbasesrc.h:
15790         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
15791         (gst_filesrc_class_init), (gst_filesrc_init),
15792         (gst_filesrc_finalize), (gst_filesrc_set_location),
15793         (gst_filesrc_set_property), (gst_filesrc_get_property),
15794         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
15795         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
15796         (gst_filesrc_create_read), (gst_filesrc_create),
15797         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
15798         * gst/elements/gstfilesrc.h:
15799         * gst/gstelement.c: (gst_element_get_state_func),
15800         (gst_element_lost_state), (gst_element_pads_activate):
15801         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
15802         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
15803         (gst_pad_pull_range):
15804         * gst/gstpad.h:
15805         More work on the generic source base class, implement seeking,
15806         query.
15807         Make filesrc extend the base source class.
15808         Added gst_pad_set_checkgetrange_function to GstPad.
15809
15810 2005-04-06  Andy Wingo  <wingo@pobox.com>
15811
15812         * pkgconfig/gstreamer-base.pc.in:
15813         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
15814
15815         * pkgconfig/Makefile.am:
15816         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
15817
15818 2005-04-04  Wim Taymans  <wim@fluendo.com>
15819
15820         * gst/base/Makefile.am:
15821         * gst/base/README:
15822         * gst/base/gstbasesink.c: (gst_basesink_base_init),
15823         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
15824         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
15825         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
15826         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
15827         (gst_basesrc_base_init), (gst_basesrc_class_init),
15828         (gst_basesrc_init), (gst_basesrc_get_formats),
15829         (gst_basesrc_get_query_types), (gst_basesrc_query),
15830         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
15831         (gst_basesrc_set_property), (gst_basesrc_get_property),
15832         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
15833         (gst_basesrc_loop), (gst_basesrc_activate),
15834         (gst_basesrc_change_state):
15835         * gst/base/gstbasesrc.h:
15836         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
15837         (gst_fakesrc_class_init), (gst_fakesrc_init),
15838         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
15839         (gst_fakesrc_get_property), (gst_fakesrc_create):
15840         * gst/elements/gstfakesrc.h:
15841         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
15842         (gst_filesrc_open_file), (gst_filesrc_loop),
15843         (gst_filesrc_activate), (filesrc_find_peek),
15844         (gst_filesrc_type_find):
15845         Made base source class, make fakesrc extend it.
15846         Add comments to basesink class.
15847         Some filesrc cleanup.
15848
15849 2005-03-31  David Schleef  <ds@schleef.org>
15850
15851         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
15852         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
15853         expected to link against libgstreamer.
15854         * gst/base/Makefile.am: link against libgstreamer
15855         * gst/elements/Makefile.am: same
15856
15857 2005-03-31  Andy Wingo  <wingo@pobox.com>
15858
15859         * tests/instantiate/Makefile.am:
15860         * tests/instantiate/caps.c: Add test to test speed of caps copy
15861         and free.
15862
15863         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
15864         GMemChunk to be fair.
15865
15866         * gst/gsttrashstack.h: Remove warning about using the fallback
15867         trash stack implementation, it's still faster than malloc.
15868
15869 2005-03-30  Andy Wingo  <wingo@pobox.com>
15870
15871         * tests/complexity.c: Add a copyright.
15872
15873 2005-03-31  Wim Taymans  <wim@fluendo.com>
15874
15875         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
15876         (gst_base_transform_class_init), (gst_base_transform_init),
15877         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
15878         (gst_base_transform_get_property),
15879         (gst_base_transform_sink_activate),
15880         (gst_base_transform_src_activate),
15881         (gst_base_transform_change_state):
15882         * gst/base/gstbasetransform.h:
15883         * gst/elements/gstidentity.c: (gst_identity_class_init),
15884         (gst_identity_event), (gst_identity_check_perfect),
15885         (gst_identity_transform), (gst_identity_start),
15886         (gst_identity_stop):
15887         Added start/stop methods to transform base class so subclasses 
15888         don't need to deal with state changes even.
15889
15890 2005-03-31  Wim Taymans  <wim@fluendo.com>
15891
15892         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
15893         (gst_event_new_discontinuous), (gst_event_discont_get_value):
15894         * gst/gstevent.h:
15895         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
15896         (gst_pad_pull_range):
15897         Added rate to the discont event to prepare for variable speed
15898         and reverse playback.
15899
15900 2005-03-29  David Schleef  <ds@schleef.org>
15901
15902         * configure.ac:
15903         * testsuite/trigger/Makefile.am:
15904         * testsuite/trigger/trigger.c: A little example program to show
15905         how trigger-based elements can work.
15906
15907 2005-03-29  Wim Taymans  <wim@fluendo.com>
15908
15909         * gst/base/Makefile.am:
15910         * gst/base/README:
15911         * gst/base/gstbasesink.c: (gst_basesink_get_type),
15912         (gst_basesink_base_init), (gst_basesink_class_init),
15913         (gst_basesink_pad_getcaps), (gst_basesink_init),
15914         (gst_basesink_activate), (gst_basesink_change_state):
15915         * gst/base/gstbasesink.h:
15916         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
15917         (gst_base_transform_base_init), (gst_base_transform_finalize),
15918         (gst_base_transform_class_init), (gst_base_transform_init),
15919         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
15920         (gst_base_transform_event), (gst_base_transform_getrange),
15921         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
15922         (gst_base_transform_set_property),
15923         (gst_base_transform_get_property),
15924         (gst_base_transform_sink_activate),
15925         (gst_base_transform_src_activate),
15926         (gst_base_transform_change_state):
15927         * gst/base/gstbasetransform.h:
15928         * gst/elements/gstidentity.c: (gst_identity_finalize),
15929         (gst_identity_class_init), (gst_identity_init),
15930         (gst_identity_event), (gst_identity_check_perfect),
15931         (gst_identity_transform), (gst_identity_set_property),
15932         (gst_identity_get_property), (gst_identity_change_state):
15933         * gst/elements/gstidentity.h:
15934         * gst/gstelement.c: (gst_element_get_state_func),
15935         (gst_element_lost_state), (gst_element_pads_activate):
15936         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
15937         (gst_pad_check_pull_range), (gst_pad_pull_range):
15938         * gst/gstpad.h:
15939         Simplify pad activation.
15940         Added function to check if pull_range can be performed.
15941         Error out when pulling inactive or flushing pads.
15942         Removed const from refcounted types as it does not make sense.
15943         Simplify pad templates in basesink
15944         Added base class for simple 1-to-1 transforms.
15945         Make identity subclass the base transform.
15946
15947 2005-03-29  Andy Wingo  <wingo@pobox.com>
15948
15949         * docs/libs/gstreamer-libs-overrides.txt: 
15950         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
15951         really don't understand what's going on, but like whatever. I want
15952         green buildbot!
15953
15954         * docs/gst/Makefile.am:
15955         * docs/libs/Makefile.am: Dist the overrides files.
15956
15957         * check/Makefile.am (clean-local): Remove .libs directories.
15958
15959         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
15960         elements to EXTRA_DIST, so po/ files are happy.
15961
15962         * po/POTFILES.in: Er, remove it here.
15963
15964         * po/POTFILES: Remove gstspider.c.
15965
15966         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
15967
15968         * docs/libs/gstreamer-libs-docs.sgml: 
15969         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
15970         bytestream.
15971
15972         * tests/complexity.c (main): Set the length of the preroll queue
15973         on the sinks to prevent a lockup.
15974
15975         * libs/gst/dataprotocol/Makefile.am: 
15976         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
15977         the same as the one in check/gst-libs/gdp.c.
15978
15979         * po/, docs/gst/: Commit automatic changes to docs and po files.
15980
15981         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
15982         the versioned libgstbase.
15983
15984         * check/Makefile.am: Depend on an unversioned gst-register, seems
15985         to make autoconf happier.
15986
15987         * gst/base/Makefile.am: Make libgstbase a versioned lib.
15988
15989 2005-03-28  Wim Taymans  <wim@fluendo.com>
15990
15991         * configure.ac:
15992         * docs/design/part-gstelement.txt:
15993         * docs/design/part-negotiation.txt:
15994         * docs/design/part-preroll.txt:
15995         * docs/design/part-scheduling.txt:
15996         * docs/design/part-states.txt:
15997         * gst/Makefile.am:
15998         * gst/base/Makefile.am:
15999         * gst/base/README:
16000         * gst/base/gstbasesink.c: (gst_basesink_get_template),
16001         (gst_basesink_base_init), (gst_basesink_class_init),
16002         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
16003         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
16004         (gst_basesink_set_pad_functions),
16005         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
16006         (gst_basesink_set_property), (gst_basesink_get_property),
16007         (gst_base_sink_get_template), (gst_base_sink_get_caps),
16008         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
16009         (gst_basesink_preroll_queue_push),
16010         (gst_basesink_preroll_queue_empty),
16011         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
16012         (gst_basesink_event), (gst_basesink_get_times),
16013         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
16014         (gst_basesink_chain_unlocked), (gst_basesink_chain),
16015         (gst_basesink_loop), (gst_basesink_activate),
16016         (gst_basesink_change_state):
16017         * gst/base/gstbasesink.h:
16018         * gst/elements/Makefile.am:
16019         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
16020         (gst_fakesink_class_init), (gst_fakesink_init),
16021         (gst_fakesink_set_property), (gst_fakesink_get_property),
16022         (gst_fakesink_get_times), (gst_fakesink_event),
16023         (gst_fakesink_preroll), (gst_fakesink_render),
16024         (gst_fakesink_change_state):
16025         * gst/elements/gstfakesink.h:
16026         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
16027         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
16028         * gst/gstelement.c: (gst_element_add_pad),
16029         (gst_element_get_state_func), (gst_element_abort_state),
16030         (gst_element_commit_state), (gst_element_lost_state),
16031         (gst_element_set_state), (gst_element_pads_activate):
16032         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
16033         * gst/gstpipeline.c: (gst_pipeline_send_event),
16034         (gst_pipeline_change_state):
16035         Added state change code.
16036         Added/updated docs.
16037         Added sink base class, make fakesink extend the base class.
16038         Small cleanups in GstPipeline.
16039
16040 2005-03-26  David Schleef  <ds@schleef.org>
16041
16042         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
16043         is broken and should be implemented in a different library.
16044         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
16045         * gst/gst.h: remove gstcpu.h
16046         * gst/gstcpu.c: remove
16047         * gst/gstcpu.h: remove
16048         * gst/Makefile.am.future: Remove this file.  It's ancient.
16049
16050 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16051
16052         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
16053         (gst_bin_send_event):
16054           Add default event/set_manager handlers. The set_manager handler
16055           takes care that the manager is distributed over kids that were
16056           already in the bin before the manager was set. The event handler
16057           is a utility virtual function that sends the event over all sinks,
16058           so that gst_element_send_event (bin, event); has the expected
16059           behaviour.
16060         * gst/gstpad.c: (gst_pad_event_default):
16061           Re-install default event handling for discontinuities, so that
16062           seeking works without requiring hacks in applications or extra
16063           code in sinks.
16064         * gst/gstpipeline.c: (gst_pipeline_class_init),
16065         (gst_pipeline_send_event):
16066           Half hack, half utility: set a pipeline to PAUSED for seek events,
16067           since that is the only way we can guarantee a/v sync. Means that
16068           you can do gst_element_seek (pipeline, method, pos); on a pipeline
16069           and it "just works".
16070
16071 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16072
16073         * gst/gstpipeline.c: (gst_pipeline_use_clock):
16074           Lock/unlock mismatch.
16075
16076 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
16077
16078         * docs/faq/gst-uninstalled:
16079           add gst-plugins-base
16080         * docs/gst/Makefile.am:
16081           don't error out until docs are fixed
16082         * docs/gst/gstreamer.types:
16083           remove thread
16084
16085 2005-03-22  Wim Taymans  <wim@fluendo.com>
16086
16087         * check/Makefile.am:
16088         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
16089         * gst/gststructure.c: (gst_structure_set_valist),
16090         (gst_structure_copy_conditional):
16091         Activated more tests.
16092         Added message test.
16093         Added G_TYPE_POINTER to GstStructure.
16094         
16095
16096 2005-03-22  Wim Taymans  <wim@fluendo.com>
16097
16098         * docs/design/part-TODO.txt:
16099         * docs/design/part-events.txt:
16100         * docs/design/part-gstbin.txt:
16101         * docs/design/part-gstbus.txt:
16102         * docs/design/part-gstpipeline.txt:
16103         * docs/design/part-messages.txt:
16104         * gst/gstbus.c:
16105         * gst/gstmessage.c:
16106         Docs updates
16107
16108 2005-03-21  Wim Taymans  <wim@fluendo.com>
16109
16110         * gst/gstbus.c: (gst_bus_post):
16111         Fix copy-and-paste error.
16112
16113 2005-03-21  Wim Taymans  <wim@fluendo.com>
16114
16115         * check/Makefile.am:
16116         * gst/Makefile.am:
16117         * gst/elements/Makefile.am:
16118         * gst/elements/gstelements.c:
16119         * gst/elements/gstfakesink.c: (gst_fakesink_init),
16120         (gst_fakesink_event), (gst_fakesink_chain):
16121         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
16122         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
16123         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
16124         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
16125         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
16126         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
16127         (gst_fakesrc_loop), (gst_fakesrc_activate),
16128         (gst_fakesrc_change_state):
16129         * gst/elements/gstfakesrc.h:
16130         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
16131         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
16132         (gst_filesrc_open_file), (gst_filesrc_loop),
16133         (gst_filesrc_activate), (gst_filesrc_change_state),
16134         (filesrc_find_peek), (filesrc_find_suggest),
16135         (gst_filesrc_type_find):
16136         * gst/elements/gstidentity.c: (gst_identity_finalize),
16137         (gst_identity_class_init), (gst_identity_init),
16138         (gst_identity_proxy_getcaps), (identity_queue_push),
16139         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
16140         (gst_identity_getrange), (gst_identity_chain),
16141         (gst_identity_sink_loop), (gst_identity_src_loop),
16142         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
16143         (gst_identity_set_property), (gst_identity_get_property),
16144         (gst_identity_change_state):
16145         * gst/elements/gstidentity.h:
16146         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
16147         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
16148         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
16149         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
16150         (gst_tee_sink_activate):
16151         * gst/elements/gsttee.h:
16152         * gst/gst.c: (gst_register_core_elements), (init_post):
16153         * gst/gst.h:
16154         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
16155         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
16156         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
16157         (gst_bin_change_state):
16158         * gst/gstbin.h:
16159         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
16160         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
16161         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
16162         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
16163         (gst_bus_set_sync_handler), (gst_bus_create_watch),
16164         (bus_watch_callback), (bus_watch_destroy),
16165         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
16166         (poll_timeout), (gst_bus_poll):
16167         * gst/gstbus.h:
16168         * gst/gstcaps.h:
16169         * gst/gstdata.h:
16170         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
16171         (gst_element_post_message), (gst_element_message_full),
16172         (gst_element_get_state_func), (gst_element_get_state),
16173         (gst_element_abort_state), (gst_element_commit_state),
16174         (gst_element_lost_state), (gst_element_set_state),
16175         (gst_element_pads_activate), (gst_element_change_state),
16176         (gst_element_dispose), (gst_element_set_manager_func),
16177         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
16178         (gst_element_set_manager), (gst_element_get_manager),
16179         (gst_element_set_bus), (gst_element_get_bus),
16180         (gst_element_set_scheduler), (gst_element_get_scheduler):
16181         * gst/gstelement.h:
16182         * gst/gstevent.c: (gst_event_new_segment_seek),
16183         (gst_event_new_flush):
16184         * gst/gstevent.h:
16185         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
16186         (_gst_message_free), (gst_message_get_type), (gst_message_new),
16187         (gst_message_new_eos), (gst_message_new_error),
16188         (gst_message_new_warning), (gst_message_new_tag),
16189         (gst_message_new_state_changed), (gst_message_new_application),
16190         (gst_message_get_structure), (gst_message_parse_tag),
16191         (gst_message_parse_state_changed), (gst_message_parse_error),
16192         (gst_message_parse_warning):
16193         * gst/gstmessage.h:
16194         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
16195         (gst_real_pad_set_property), (gst_pad_set_active),
16196         (gst_pad_is_active), (gst_pad_set_blocked_async),
16197         (gst_pad_set_blocked), (gst_pad_is_blocked),
16198         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
16199         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
16200         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
16201         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
16202         (gst_pad_link_filtered), (gst_pad_relink_filtered),
16203         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
16204         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
16205         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
16206         (gst_pad_set_caps), (gst_pad_configure_sink),
16207         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
16208         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
16209         (gst_real_pad_dispose), (gst_real_pad_finalize),
16210         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
16211         (gst_pad_event_default_dispatch), (gst_pad_event_default),
16212         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
16213         * gst/gstpad.h:
16214         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
16215         (pipeline_bus_handler), (gst_pipeline_change_state),
16216         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
16217         * gst/gstpipeline.h:
16218         * gst/gstprobe.h:
16219         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
16220         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
16221         (gst_queue_link_src), (gst_queue_bufferalloc),
16222         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
16223         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
16224         (gst_queue_loop), (gst_queue_handle_src_event),
16225         (gst_queue_handle_src_query), (gst_queue_src_activate),
16226         (gst_queue_change_state):
16227         * gst/gstqueue.h:
16228         * gst/gstscheduler.c: (gst_scheduler_init),
16229         (gst_scheduler_dispose), (gst_scheduler_create_task),
16230         (gst_scheduler_factory_create):
16231         * gst/gstscheduler.h:
16232         * gst/gststructure.c: (gst_structure_get_type),
16233         (gst_structure_copy_conditional):
16234         * gst/gststructure.h:
16235         * gst/gsttaginterface.h:
16236         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
16237         (gst_task_init), (gst_task_dispose), (gst_task_create),
16238         (gst_task_get_state), (gst_task_start), (gst_task_stop),
16239         (gst_task_pause):
16240         * gst/gsttask.h:
16241         * gst/gstthread.c:
16242         * gst/gstthread.h:
16243         * gst/gsttypes.h:
16244         * gst/schedulers/Makefile.am:
16245         * gst/schedulers/cothreads_compat.h:
16246         * gst/schedulers/entryscheduler.c:
16247         * gst/schedulers/faircothreads.c:
16248         * gst/schedulers/faircothreads.h:
16249         * gst/schedulers/fairscheduler.c:
16250         * gst/schedulers/gstbasicscheduler.c:
16251         * gst/schedulers/gstoptimalscheduler.c:
16252         * gst/schedulers/gthread-cothreads.h:
16253         * gst/schedulers/threadscheduler.c:
16254         (gst_thread_scheduler_task_get_type),
16255         (gst_thread_scheduler_task_class_init),
16256         (gst_thread_scheduler_task_init),
16257         (gst_thread_scheduler_task_start),
16258         (gst_thread_scheduler_task_stop),
16259         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
16260         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
16261         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
16262         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
16263         (plugin_init):
16264         * libs/gst/Makefile.am:
16265         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
16266         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
16267         (gst_file_pad_parent_set):
16268         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
16269         (gst_dp_event_from_packet):
16270         * tests/complexity.c: (main):
16271         * tests/mass_elements.c: (main):
16272         * testsuite/states/locked.c: (message_received), (main):
16273         * testsuite/states/parent.c: (main):
16274         * tools/gst-inspect.c: (print_element_flag_info),
16275         (print_implementation_info), (print_pad_info):
16276         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
16277         (main):
16278         * tools/gst-md5sum.c: (event_loop), (main):
16279         * tools/gst-typefind.c: (main):
16280         * tools/gst-xmlinspect.c: (print_element_info):
16281         Next big merge.
16282         Added GstBus for mainloop integration.
16283         Added GstMessage for sending notifications on the bus.
16284         Added GstTask as an abstraction for pipeline entry points.
16285         Removed GstThread.
16286         Removed Schedulers.
16287         Simplified GstQueue for multithreaded core.
16288         Made _link threadsafe, removed old capsnego.
16289         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
16290         Added pad blocking functions.
16291         Reworked scheduling functions in GstPad to prepare for
16292         scheduling updates soon.
16293         Moved events out of data stream.
16294         Simplified GstEvent types.
16295         Added return values to push/pull.
16296         Removed clocking from GstElement.
16297         Added prototypes for state change function for next merge.
16298         Removed iterate from bins and state change management.
16299         Fixed some elements, disabled others for now.
16300         Fixed -inspect and -launch.
16301         Added check for GstBus.
16302
16303 2005-03-10  Wim Taymans  <wim@fluendo.com>
16304
16305         * docs/design/part-MT-refcounting.txt:
16306         * docs/design/part-clocks.txt:
16307         * docs/design/part-gstelement.txt:
16308         * docs/design/part-gstobject.txt:
16309         * docs/design/part-standards.txt:
16310         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
16311         (gst_bin_remove_func), (gst_bin_remove):
16312         * gst/gstbin.h:
16313         * gst/gstbuffer.c:
16314         * gst/gstcaps.h:
16315         * testsuite/clock/clock1.c: (main):
16316         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
16317         (main):
16318         * testsuite/dlopen/loadgst.c: (do_test):
16319         * testsuite/refcounting/bin.c: (add_remove_test1),
16320         (add_remove_test2), (main):
16321         * testsuite/refcounting/element.c: (main):
16322         * testsuite/refcounting/element_pad.c: (main):
16323         * testsuite/refcounting/pad.c: (main):
16324         * tools/gst-launch.c: (sigint_handler_sighandler):
16325         * tools/gst-typefind.c: (main):
16326         Doc updates.
16327         Added doc about clock.
16328         removed gst_bin_iterate_recurse_up(), marked methods
16329         for removal.
16330         Fix more testsuites.
16331
16332 2005-03-09  Wim Taymans  <wim@fluendo.com>
16333
16334         * gst/gstpad.c: (gst_pad_get_direction),
16335         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
16336         (gst_pad_collect_valist):
16337         * testsuite/bins/interface.c: (main):
16338         * testsuite/caps/audioscale.c: (test_caps):
16339         * testsuite/caps/caps.c: (test1), (test2), (test3):
16340         * testsuite/caps/deserialize.c: (main):
16341         * testsuite/caps/enumcaps.c: (main):
16342         * testsuite/caps/filtercaps.c: (main):
16343         * testsuite/caps/intersect2.c: (main):
16344         * testsuite/caps/random.c: (main):
16345         * testsuite/caps/renegotiate.c: (my_fixate), (main):
16346         * testsuite/caps/sets.c: (check_caps):
16347         * testsuite/caps/simplify.c: (check_caps), (main):
16348         * testsuite/caps/subtract.c: (check_caps):
16349         Fix _pad_get_direction wrt ghostpads.
16350         Fix caps testsuite.
16351
16352 2005-03-09  Wim Taymans  <wim@fluendo.com>
16353
16354         * check/Makefile.am:
16355         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
16356         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
16357         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
16358         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
16359         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
16360         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
16361         (gst_bin_remove), (gst_bin_iterate_recurse_up),
16362         (bin_element_is_sink), (gst_bin_iterate_sinks),
16363         (gst_bin_iterate_all_by_interface):
16364         * gst/gstbin.h:
16365         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
16366         (gst_element_change_state), (gst_element_dispose),
16367         (gst_element_finalize), (gst_element_set_loop_function):
16368         * gst/gstelement.h:
16369         * gst/gstiterator.c: (find_custom_fold_func):
16370         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
16371         (gst_pad_collectv), (gst_pad_collect_valist),
16372         (gst_pad_template_new):
16373         * gst/gstpipeline.c: (gst_pipeline_class_init),
16374         (gst_pipeline_dispose), (gst_pipeline_set_property),
16375         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
16376         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
16377         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
16378         * gst/gstutils.h:
16379         * gst/schedulers/entryscheduler.c:
16380         * gst/schedulers/gstbasicscheduler.c:
16381         (gst_basic_scheduler_cothreaded_chain),
16382         (gst_basic_scheduler_chain_add_element):
16383         * testsuite/bins/interface.c: (main):
16384         Added GstBin test.
16385         Added GstSystemClock test.
16386         Implemented clock distribution code in GstBin.
16387         Implemented iterate sinks method for future use.
16388         Rearranged gstelement.h
16389         Fix GstIterator comparison bug.
16390         Moved some code to GstPipeline, mostly clocking related.
16391
16392 2005-03-09  Wim Taymans  <wim@fluendo.com>
16393
16394         * configure.ac:
16395         * gst/gst_private.h:
16396         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
16397         (gst_bin_remove_func), (gst_bin_remove),
16398         (gst_bin_get_by_name_recurse_up):
16399         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
16400         (gst_clock_id_compare_func), (gst_clock_id_wait),
16401         (gst_clock_id_wait_async), (gst_clock_init),
16402         (gst_clock_adjust_unlocked), (gst_clock_get_time):
16403         * gst/gstelement.h:
16404         * gst/gstinfo.c: (_gst_debug_init):
16405         * gst/gstobject.h:
16406         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
16407         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
16408         * gst/gstpad.h:
16409         Bump version number, we're now 0.9.0
16410         Add future debugging category.
16411         Fix NULL _unref() in _get_by_name_recurse_up
16412         Rearrange gstpad.h.
16413         Update some docs.
16414
16415 2005-03-08  Wim Taymans  <wim@fluendo.com>
16416
16417         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
16418         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
16419         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
16420         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
16421         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
16422         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
16423         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
16424         * gst/elements/gstidentity.c: (gst_identity_class_init):
16425         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
16426         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
16427         * gst/elements/gstshaper.c: (gst_shaper_class_init):
16428         * gst/elements/gststatistics.c: (gst_statistics_class_init):
16429         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
16430         (gst_tee_link):
16431         * gst/gstelement.c: (gst_element_class_init),
16432         (gst_element_base_class_init), (gst_element_init),
16433         (gst_element_get_random_pad), (gst_element_wait_state_change),
16434         (gst_element_change_state), (gst_element_dispose),
16435         (gst_element_finalize), (gst_element_set_loop_function):
16436         * gst/gstelement.h:
16437         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
16438         * gst/gstthread.c: (gst_thread_class_init),
16439         (gst_thread_release_children_locks), (gst_thread_change_state):
16440         * gst/schedulers/gstbasicscheduler.c:
16441         (gst_basic_scheduler_loopfunc_wrapper),
16442         (gst_basic_scheduler_chain_wrapper),
16443         (gst_basic_scheduler_src_wrapper),
16444         (gst_basic_scheduler_remove_element):
16445         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
16446         Remove threadsafe properties. Fix elements because GObject
16447         complains when installing a property before declaring a
16448         set/get_property handler.
16449         Rearrange gstelement.h file, use STATE macros for state locks.
16450         Free mutexes in the finalize method instead of dispose.
16451
16452 2005-03-08  Wim Taymans  <wim@fluendo.com>
16453
16454         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
16455         * gst/gstthread.c: (gst_thread_release_children_locks):
16456         Added parentage check.
16457         Fix build og GstThread again.
16458
16459 2005-03-08  Wim Taymans  <wim@fluendo.com>
16460
16461         * docs/design/part-MT-refcounting.txt:
16462         * docs/design/part-conventions.txt:
16463         * docs/design/part-gstobject.txt:
16464         * docs/design/part-relations.txt:
16465         * docs/design/part-standards.txt:
16466         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
16467         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
16468         (gst_bin_get_by_name), (gst_bin_get_by_interface),
16469         (gst_bin_iterate_all_by_interface):
16470         * gst/gstbuffer.h:
16471         * gst/gstclock.h:
16472         * gst/gstelement.c: (gst_element_class_init),
16473         (gst_element_change_state), (gst_element_set_loop_function):
16474         * gst/gstelement.h:
16475         * gst/gstiterator.c:
16476         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
16477         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
16478         (gst_object_dispatch_properties_changed), (gst_object_set_name),
16479         (gst_object_set_parent), (gst_object_unparent),
16480         (gst_object_check_uniqueness):
16481         * gst/gstobject.h:
16482         Docs updates, clean up some headers.
16483
16484 2005-03-07  Wim Taymans  <wim@fluendo.com>
16485
16486         * check/.cvsignore:
16487         * check/Makefile.am:
16488         * check/gst-libs/.cvsignore:
16489         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
16490         * check/gst/.cvsignore:
16491         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
16492         (START_TEST), (gstbus_suite), (main):
16493         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
16494         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
16495         (gst_data_suite), (main):
16496         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
16497         (add_fold_func), (gstiterator_suite), (main):
16498         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
16499         (thread_name_object), (thread_name_object_default),
16500         (gst_object_name_compare), (gst_object_suite), (main):
16501         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
16502         (gst_pad_suite), (main):
16503         * check/gstcheck.c: (gst_check_log_message_func),
16504         (gst_check_log_critical_func), (gst_check_init):
16505         * check/gstcheck.h:
16506         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
16507         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
16508         Added checks.
16509
16510 2005-03-07  Wim Taymans  <wim@fluendo.com>
16511
16512         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
16513         (gst_list_iterator_next), (gst_list_iterator_resync),
16514         (gst_list_iterator_free), (gst_iterator_new_list),
16515         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
16516         (gst_iterator_free), (gst_iterator_push), (filter_next),
16517         (filter_resync), (filter_uninit), (filter_free),
16518         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
16519         (gst_iterator_foreach), (find_custom_fold_func),
16520         (gst_iterator_find_custom):
16521         * gst/gstiterator.h:
16522         Added missing files.
16523
16524 2005-03-07  Wim Taymans  <wim@fluendo.com>
16525
16526         * Makefile.am:
16527         * configure.ac:
16528         * docs/design/part-MT-refcounting.txt:
16529         * docs/design/part-conventions.txt:
16530         * docs/design/part-gstobject.txt:
16531         * docs/design/part-relations.txt:
16532         * examples/mixer/mixer.c: (main):
16533         * examples/thread/thread.c: (eos), (main):
16534         * gst/Makefile.am:
16535         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
16536         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
16537         (gst_spider_plug_from_srcpad):
16538         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
16539         (gst_spider_identity_change_state),
16540         (gst_spider_identity_sink_loop_type_finding):
16541         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
16542         * gst/elements/gstidentity.c: (gst_identity_init):
16543         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
16544         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
16545         * gst/elements/gsttypefindelement.c: (free_entry):
16546         * gst/gst.c:
16547         * gst/gst.h:
16548         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
16549         (gst_bin_set_clock_func), (gst_bin_auto_clock),
16550         (gst_bin_set_index), (gst_bin_set_element_sched),
16551         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
16552         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
16553         (gst_bin_iterate_elements), (iterate_child_recurse),
16554         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
16555         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
16556         (compare_interface), (gst_bin_get_by_interface),
16557         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
16558         * gst/gstbin.h:
16559         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
16560         (gst_buffer_default_free), (gst_buffer_default_copy),
16561         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
16562         (gst_buffer_create_sub):
16563         * gst/gstbuffer.h:
16564         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
16565         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
16566         (gst_caps_unref), (gst_static_caps_get),
16567         (gst_caps_remove_and_get_structure), (gst_caps_append),
16568         (gst_caps_append_structure), (gst_caps_remove_structure),
16569         (gst_caps_copy_nth), (gst_caps_set_simple),
16570         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
16571         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
16572         (gst_caps_structure_intersect_field), (gst_caps_intersect),
16573         (gst_caps_structure_subtract_field), (gst_caps_subtract),
16574         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
16575         (gst_caps_structure_figure_out_union),
16576         (gst_caps_switch_structures), (gst_caps_do_simplify),
16577         (gst_caps_replace), (gst_caps_from_string),
16578         (gst_caps_copy_conditional):
16579         * gst/gstcaps.h:
16580         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
16581         (_gst_clock_id_free), (gst_clock_id_unref),
16582         (gst_clock_id_compare_func), (gst_clock_id_wait),
16583         (gst_clock_id_wait_async), (gst_clock_class_init),
16584         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
16585         (gst_clock_get_time), (gst_clock_set_time_adjust),
16586         (gst_clock_set_property), (gst_clock_get_property):
16587         * gst/gstclock.h:
16588         * gst/gstcompat.h:
16589         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
16590         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
16591         * gst/gstdata.h:
16592         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
16593         (gst_element_requires_clock), (gst_element_provides_clock),
16594         (gst_element_set_clock), (gst_element_clock_wait),
16595         (gst_element_wait), (gst_element_set_time_delay),
16596         (gst_element_is_indexable), (gst_element_add_pad),
16597         (gst_element_add_ghost_pad), (gst_element_remove_pad),
16598         (pad_compare_name), (gst_element_get_static_pad),
16599         (gst_element_request_pad), (gst_element_get_request_pad),
16600         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
16601         (gst_element_class_get_pad_template_list),
16602         (gst_element_class_get_pad_template), (gst_element_error_func),
16603         (gst_element_get_random_pad), (gst_element_get_event_masks),
16604         (gst_element_send_event), (gst_element_seek),
16605         (gst_element_get_query_types), (gst_element_query),
16606         (gst_element_get_formats), (gst_element_convert),
16607         (gst_element_is_locked_state), (gst_element_set_locked_state),
16608         (gst_element_sync_state_with_parent), (gst_element_change_state),
16609         (gst_element_finalize), (gst_element_yield),
16610         (gst_element_interrupt), (gst_element_set_scheduler),
16611         (gst_element_get_scheduler), (gst_element_set_loop_function):
16612         * gst/gstelement.h:
16613         * gst/gstevent.h:
16614         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
16615         (gst_format_get_by_nick), (gst_format_get_details),
16616         (gst_format_iterate_definitions):
16617         * gst/gstformat.h:
16618         * gst/gstindex.c: (gst_index_gtype_resolver):
16619         * gst/gstinfo.c:
16620         * gst/gstinfo.h:
16621         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
16622         (gst_mem_chunk_free):
16623         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
16624         (gst_object_ref), (gst_object_unref), (gst_object_sink),
16625         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
16626         (gst_object_dispatch_properties_changed),
16627         (gst_object_set_name_default), (gst_object_set_name),
16628         (gst_object_get_name), (gst_object_set_name_prefix),
16629         (gst_object_get_name_prefix), (gst_object_set_parent),
16630         (gst_object_get_parent), (gst_object_unparent),
16631         (gst_object_check_uniqueness), (gst_object_save_thyself),
16632         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
16633         (gst_object_set_property), (gst_object_get_property),
16634         (gst_object_get_path_string):
16635         * gst/gstobject.h:
16636         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
16637         (gst_real_pad_init), (gst_real_pad_get_property),
16638         (gst_pad_custom_new), (gst_pad_get_direction),
16639         (gst_pad_set_active), (gst_pad_is_active),
16640         (gst_pad_set_event_function), (gst_pad_is_linked),
16641         (gst_pad_link_free), (gst_pad_link_intersect),
16642         (gst_pad_link_fixate), (gst_pad_set_caps),
16643         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
16644         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
16645         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
16646         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
16647         (gst_pad_get_caps), (gst_pad_peer_get_caps),
16648         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
16649         (gst_pad_realize), (gst_pad_get_allowed_caps),
16650         (gst_real_pad_dispose), (gst_real_pad_finalize),
16651         (gst_pad_collectv), (gst_pad_collect_valist),
16652         (gst_pad_template_dispose), (gst_pad_template_new),
16653         (gst_pad_get_internal_links):
16654         * gst/gstpad.h:
16655         * gst/gstpipeline.c: (gst_pipeline_dispose),
16656         (gst_pipeline_change_state):
16657         * gst/gstpipeline.h:
16658         * gst/gstplugin.c:
16659         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
16660         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
16661         * gst/gstpluginfeature.h:
16662         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
16663         * gst/gstquery.c: (_gst_query_type_initialize),
16664         (gst_query_type_register), (gst_query_type_get_by_nick),
16665         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
16666         * gst/gstquery.h:
16667         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
16668         * gst/gstscheduler.c: (gst_scheduler_add_element),
16669         (gst_scheduler_factory_create):
16670         * gst/gststructure.c: (gst_structure_set_parent_refcount),
16671         (gst_structure_free), (gst_structure_set_name),
16672         (gst_structure_id_set_value), (gst_structure_set_value),
16673         (gst_structure_set_valist), (gst_structure_remove_field),
16674         (gst_structure_remove_fields),
16675         (gst_structure_remove_fields_valist),
16676         (gst_structure_remove_all_fields), (gst_structure_foreach),
16677         (gst_structure_map_in_place),
16678         (gst_caps_structure_fixate_field_nearest_int),
16679         (gst_caps_structure_fixate_field_nearest_double):
16680         * gst/gststructure.h:
16681         * gst/gstsystemclock.c: (gst_system_clock_class_init),
16682         (gst_system_clock_init), (gst_system_clock_dispose),
16683         (gst_system_clock_async_thread),
16684         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
16685         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
16686         * gst/gstsystemclock.h:
16687         * gst/gsttag.c: (gst_tag_list_add_value_internal),
16688         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
16689         * gst/gsttaginterface.c:
16690         * gst/gstthread.c: (gst_thread_dispose),
16691         (gst_thread_release_children_locks), (gst_thread_change_state),
16692         (gst_thread_main_loop):
16693         * gst/gsttrashstack.h:
16694         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
16695         * gst/gsttypes.h:
16696         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
16697         (gst_element_request_pad), (gst_element_get_pad_from_template),
16698         (gst_element_request_compatible_pad),
16699         (gst_element_get_compatible_pad_filtered),
16700         (gst_element_get_compatible_pad), (gst_element_state_get_name),
16701         (gst_element_link_pads_filtered), (gst_element_link_filtered),
16702         (gst_element_link_many), (gst_element_link),
16703         (gst_element_link_pads), (gst_element_unlink_pads),
16704         (gst_element_unlink_many), (gst_element_unlink),
16705         (gst_pad_can_link_filtered), (gst_pad_can_link),
16706         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
16707         (gst_object_default_error), (gst_bin_add_many),
16708         (gst_bin_remove_many), (gst_element_populate_std_props),
16709         (gst_element_class_install_std_props), (gst_buffer_merge),
16710         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
16711         (link_fold_func), (gst_pad_proxy_setcaps):
16712         * gst/gstutils.h:
16713         * gst/gstvalue.c: (gst_value_deserialize_string):
16714         * gst/parse/grammar.y:
16715         * gst/schedulers/gstbasicscheduler.c:
16716         (gst_basic_scheduler_cothreaded_chain),
16717         (gst_basic_scheduler_chain_recursive_add),
16718         (gst_basic_scheduler_pad_link):
16719         * gst/schedulers/gstoptimalscheduler.c:
16720         (get_group_schedule_function),
16721         (gst_opt_scheduler_state_transition),
16722         (gst_opt_scheduler_add_element), (element_get_reachables_func):
16723         * libs/gst/bytestream/bytestream.c:
16724         * libs/gst/dataprotocol/dataprotocol.c:
16725         (gst_dp_header_from_buffer):
16726         * po/nb.po:
16727         * po/ru.po:
16728         * tests/threadstate/threadstate2.c: (eos):
16729         * tools/gst-compprep.c: (main):
16730         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
16731         (print_pad_info), (print_children_info):
16732         * tools/gst-launch.c: (idle_func), (main):
16733         * tools/gst-md5sum.c: (idle_func), (main):
16734         * tools/gst-xmlinspect.c: (print_element_info):
16735         First THREADED backport attempt, focusing on adding locks and
16736         making sure the API is threadsafe. Needs more work. More docs
16737         follow this week.
16738
16739 2005-02-24  Andy Wingo  <wingo@pobox.com>
16740
16741         * tests/bench-complexity.scm:
16742         * tests/complexity.gnuplot: New files, good for running complexity
16743         benchmarks.
16744
16745         * tests/Makefile.am:
16746         * tests/complexity.c: New test, sets up N elements, at each level
16747         teeing into M streams per element. Eeeenteresting.
16748
16749         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
16750         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
16751         running bench-mass_elements.scm.
16752
16753         * tests/bench-mass_elements.scm: New script, runs mass_elements
16754         for various numbers of identities, outputting the results to a
16755         file. Requires guile 1.6. Just for testing.
16756
16757 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
16758
16759         * gst/schedulers/fairscheduler.c:
16760           compile with debug disabled
16761
16762 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
16763
16764         * configure.ac:
16765           hunting season on 0.9 is now OPEN